/* INDIVIDUAL CHARACTER THEMES AND STYLING */

/* CHARACTER CARD SPECIFIC STYLING WITH :has() SELECTOR */

/* MONK CHARACTER STYLING */
.character-card:has(h3:contains("Monk")) {
  border-color: rgba(255, 140, 0, 0.6);
  box-shadow: 0 0 20px rgba(255, 140, 0, 0.4);
  background: rgba(0, 0, 0, 0.3);
}

.character-card:has(h3:contains("Monk")) h3 {
  color: #FF8C00 !important;
  text-shadow: 0 0 15px rgba(255, 140, 0, 0.6) !important;
}

.character-card:has(h3:contains("Monk")) .character-svg {
  filter: drop-shadow(0 0 12px #FF8C00);
}

/* ARCHER CHARACTER STYLING */
.character-card:has(h3:contains("Archer")) {
  border-color: rgba(255, 0, 170, 0.6);
  box-shadow: 0 0 20px rgba(255, 0, 170, 0.4);
  background: rgba(0, 0, 0, 0.3);
}

.character-card:has(h3:contains("Archer")) h3 {
  color: #ff00aa !important;
  text-shadow: 0 0 15px rgba(255, 0, 170, 0.6) !important;
}

.character-card:has(h3:contains("Archer")) .character-svg {
  filter: drop-shadow(0 0 12px #ff00aa);
}

/* BANDIT CHARACTER STYLING */
.character-card:has(h3:contains("Bandit")) {
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 20px rgba(33, 150, 243, 0.4);
  background: rgba(0, 0, 0, 0.4);
}

.character-card:has(h3:contains("Bandit")) h3 {
  color: #4CAF50 !important;
  text-shadow: 0 0 15px rgba(76, 175, 80, 0.8) !important;
}

.character-card:has(h3:contains("Bandit")) .character-svg {
  filter: drop-shadow(0 0 12px #1B5E20);
}

/* WIZARD CHARACTER STYLING */
.character-card:has(h3:contains("Wizard")) {
  border-color: rgba(76, 175, 80, 0.6);
  box-shadow: 0 0 20px rgba(76, 175, 80, 0.4);
  background: rgba(0, 0, 0, 0.35);
}

.character-card:has(h3:contains("Wizard")) h3 {
  color: #00CED1 !important;
  text-shadow: 0 0 15px rgba(0, 206, 209, 0.8) !important;
}

.character-card:has(h3:contains("Wizard")) .character-svg {
  filter: drop-shadow(0 0 12px #00CED1);
}

/* NERD CHARACTER STYLING */
.character-card:has(h3:contains("Nerd")) {
  border-color: rgba(76, 175, 80, 0.6);
  box-shadow: 0 0 20px rgba(76, 175, 80, 0.4);
  background: rgba(0, 0, 0, 0.35);
}

.character-card:has(h3:contains("Nerd")) h3 {
  color: #FFD700 !important;
  text-shadow: 0 0 15px rgba(255, 215, 0, 0.8) !important;
}

.character-card:has(h3:contains("Nerd")) .character-svg {
  filter: drop-shadow(0 0 12px #FFD700);
}

/* MAGE CHARACTER STYLING */
.character-card:has(h3:contains("Mage")) {
  border-color: rgba(156, 39, 176, 0.6);
  box-shadow: 0 0 20px rgba(156, 39, 176, 0.4);
  background: rgba(0, 0, 0, 0.45);
}

.character-card:has(h3:contains("Mage")) h3 {
  color: #9F7AEA !important;
  text-shadow: 0 0 15px rgba(124, 58, 237, 0.8) !important;
}

.character-card:has(h3:contains("Mage")) .character-svg {
  filter: drop-shadow(0 0 12px #7C3AED);
}

/* BARBARIAN CHARACTER STYLING */
.character-card:has(h3:contains("Barbarian")) {
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 22px rgba(220, 20, 60, 0.5), 0 0 35px rgba(220, 20, 60, 0.3);
  background: rgba(0, 0, 0, 0.48);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-card:has(h3:contains("Barbarian")) h3 {
  color: #FF6B6B !important;
  text-shadow: 0 0 15px rgba(220, 20, 60, 0.8) !important;
}

.character-card:has(h3:contains("Barbarian")) .character-svg {
  filter: drop-shadow(0 0 12px #ff6b6b);
}

/* GUARDIAN CHARACTER STYLING */
.character-card:has(h3:contains("Guardian")) {
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 20px rgba(33, 150, 243, 0.4);
  background: rgba(0, 0, 0, 0.4);
}

.character-card:has(h3:contains("Guardian")) h3 {
  color: #3498DB !important;
  text-shadow: 0 0 15px rgba(52, 152, 219, 0.8) !important;
}

.character-card:has(h3:contains("Guardian")) .character-svg {
  filter: drop-shadow(0 0 12px #3498db);
}

/* PRIEST CHARACTER STYLING */
.character-card:has(h3:contains("Priest")) {
  border-color: rgba(255, 152, 0, 0.8);
  box-shadow: 0 0 25px rgba(255, 152, 0, 0.5), 0 0 40px rgba(255, 193, 7, 0.3);
  background: rgba(0, 0, 0, 0.5);
  animation: legendaryPulse 3s ease-in-out infinite;
}

.character-card:has(h3:contains("Priest")) h3 {
  color: #FFD700 !important;
  text-shadow: 0 0 15px rgba(255, 152, 0, 0.8) !important;
}

.character-card:has(h3:contains("Priest")) .character-svg {
  filter: drop-shadow(0 0 12px #FFD700);
}

/* Additional specific selector to ensure Priest text color is always gold */
.character-card.legendary h3:contains("Priest"),
.character-card h3:contains("Priest"),
h3:contains("Priest") {
  color: #FFD700 !important;
  text-shadow: 0 0 15px rgba(255, 152, 0, 0.8) !important;
}

/* Ensure Priest character name is gold in all contexts */
.character-card:nth-child(14) h3,
.character-card.legendary:last-child h3 {
  color: #FFD700 !important;
  text-shadow: 0 0 15px rgba(255, 152, 0, 0.8) !important;
}

/* Override any potential nth-child conflicts for Priest */
.character-card:nth-child(14).legendary h3,
.character-card:nth-child(14) h3:contains("Priest") {
  color: #FFD700 !important;
  text-shadow: 0 0 15px rgba(255, 152, 0, 0.8) !important;
}

/* SINREAPER CHARACTER STYLING */
.character-card:has(h3:contains("Sinreaper")) {
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 20px rgba(33, 150, 243, 0.4);
  background: rgba(0, 0, 0, 0.4);
}

.character-card:has(h3:contains("Sinreaper")) h3 {
  color: #A0A0A0 !important;
  text-shadow: 0 0 15px rgba(128, 128, 128, 0.8) !important;
}

.character-card:has(h3:contains("Sinreaper")) .character-svg {
  filter: drop-shadow(0 0 12px #808080);
}

/* JOKER CHARACTER STYLING */
.character-card:has(h3:contains("Joker")) {
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 22px rgba(220, 20, 60, 0.5), 0 0 35px rgba(220, 20, 60, 0.3);
  background: rgba(0, 0, 0, 0.48);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-card:has(h3:contains("Joker")) h3 {
  color: #32CD32 !important;
  text-shadow: 0 0 15px rgba(50, 205, 50, 0.8) !important;
}

.character-card:has(h3:contains("Joker")) .character-svg {
  filter: drop-shadow(0 0 12px #32CD32);
}

/* SAMURAI CHARACTER STYLING */
.character-card:has(h3:contains("Samurai")) {
  border-color: rgba(156, 39, 176, 0.6);
  box-shadow: 0 0 20px rgba(156, 39, 176, 0.4);
  background: rgba(0, 0, 0, 0.45);
}

.character-card:has(h3:contains("Samurai")) h3 {
  color: #DC143C !important;
  text-shadow: 0 0 15px rgba(220, 20, 60, 0.8) !important;
}

.character-card:has(h3:contains("Samurai")) .character-svg {
  filter: drop-shadow(0 0 12px #dc143c);
}

/* DRUID CHARACTER STYLING */
.character-card:has(h3:contains("Druid")) {
  border-color: rgba(156, 39, 176, 0.6);
  box-shadow: 0 0 20px rgba(156, 39, 176, 0.4);
  background: rgba(0, 0, 0, 0.45);
}

.character-card:has(h3:contains("Druid")) h3 {
  color: #32CD32 !important;
  text-shadow: 0 0 15px rgba(50, 205, 50, 0.8) !important;
}

.character-card:has(h3:contains("Druid")) .character-svg {
  filter: drop-shadow(0 0 12px #228B22);
}

/* GAMBLER CHARACTER STYLING */
.character-card:has(h3:contains("Gambler")),
.character-card.epic:nth-child(10),
#gambler-card.character-card.epic {
  border-color: rgba(156, 39, 176, 0.6) !important;
  box-shadow: 0 0 20px rgba(156, 39, 176, 0.4) !important;
  background: rgba(0, 0, 0, 0.45);
}

.character-card:has(h3:contains("Gambler")) h3,
.character-card.epic:nth-child(10) h3,
#gambler-card.character-card.epic h3 {
  color: #DC143C !important;
  text-shadow: 0 0 15px rgba(220, 20, 60, 0.8) !important;
}

.character-card:has(h3:contains("Gambler")) .character-svg,
.character-card.epic:nth-child(10) .character-svg,
#gambler-card.character-card.epic .character-svg {
  filter: drop-shadow(0 0 12px #DC143C);
}

/* CHARACTER SELECT BUTTON SPECIFIC STYLING WITH DATA ATTRIBUTES */

/* MONK SELECT BUTTON */
.character-select-btn[data-character="monk"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(255, 140, 0, 0.15) 30%, 
    rgba(255, 140, 0, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(200, 200, 200, 0.6);
  box-shadow: 0 0 15px rgba(200, 200, 200, 0.2);
}

.character-select-btn[data-character="monk"] .character-select-name {
  color: #FF8C00;
  text-shadow: 0 0 8px rgba(255, 140, 0, 0.6);
}

.character-select-btn[data-character="monk"] .character-svg-small {
  filter: drop-shadow(0 0 8px #FF8C00);
}

/* ARCHER SELECT BUTTON */
.character-select-btn[data-character="archer"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(255, 0, 170, 0.15) 30%, 
    rgba(255, 0, 170, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(200, 200, 200, 0.6);
  box-shadow: 0 0 15px rgba(200, 200, 200, 0.2);
}

.character-select-btn[data-character="archer"] .character-select-name {
  color: #ff00aa;
  text-shadow: 0 0 8px rgba(255, 0, 170, 0.6);
}

.character-select-btn[data-character="archer"] .character-svg-small {
  filter: drop-shadow(0 0 8px #ff00aa);
}

/* BANDIT SELECT BUTTON */
.character-select-btn[data-character="bandit"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(27, 94, 32, 0.15) 30%, 
    rgba(27, 94, 32, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 15px rgba(33, 150, 243, 0.4);
}

.character-select-btn[data-character="bandit"] .character-select-name {
  color: #4caf50;
  text-shadow: 0 0 8px rgba(76, 175, 80, 0.6);
}

.character-select-btn[data-character="bandit"] .character-svg-small {
  filter: drop-shadow(0 0 8px #1B5E20);
}

/* WIZARD SELECT BUTTON */
.character-select-btn[data-character="wizard"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(0, 206, 209, 0.15) 30%, 
    rgba(0, 206, 209, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(76, 175, 80, 0.6);
  box-shadow: 0 0 15px rgba(76, 175, 80, 0.3);
}

.character-select-btn[data-character="wizard"] .character-select-name {
  color: #00CED1;
  text-shadow: 0 0 8px rgba(0, 206, 209, 0.6);
}

.character-select-btn[data-character="wizard"] .character-svg-small {
  filter: drop-shadow(0 0 8px #00CED1);
}

/* NERD SELECT BUTTON */
.character-select-btn[data-character="nerd"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(255, 215, 0, 0.15) 30%, 
    rgba(255, 215, 0, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(76, 175, 80, 0.6);
  box-shadow: 0 0 15px rgba(76, 175, 80, 0.3);
}

.character-select-btn[data-character="nerd"] .character-select-name {
  color: #FFD700;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}

.character-select-btn[data-character="nerd"] .character-svg-small {
  filter: drop-shadow(0 0 8px #FFD700);
}

/* MAGE SELECT BUTTON */
.character-select-btn[data-character="mage"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(124, 58, 237, 0.15) 30%, 
    rgba(124, 58, 237, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 15px rgba(33, 150, 243, 0.3);
}

.character-select-btn[data-character="mage"] .character-select-name {
  color: #7C3AED;
  text-shadow: 0 0 8px rgba(124, 58, 237, 0.6);
}

.character-select-btn[data-character="mage"] .character-svg-small {
  filter: drop-shadow(0 0 8px #7C3AED);
}

/* BARBARIAN SELECT BUTTON */
.character-select-btn[data-character="barbarian"] {
  background: linear-gradient(135deg, #1A0606 0%, #4D0F1A 50%, #330A14 100%);
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 22px rgba(220, 20, 60, 0.5), 0 0 35px rgba(220, 20, 60, 0.3);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-select-btn[data-character="barbarian"] .character-select-name {
  color: #ff6b6b;
  text-shadow: 0 0 8px rgba(255, 107, 107, 0.8), 0 0 15px rgba(139, 0, 0, 0.6);
}

.character-select-btn[data-character="barbarian"] .character-svg-small {
  filter: drop-shadow(0 0 8px #FF6B6B) drop-shadow(0 0 12px #8B0000);
}

/* GUARDIAN SELECT BUTTON */
.character-select-btn[data-character="guardian"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(30, 87, 153, 0.15) 30%, 
    rgba(30, 87, 153, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 15px rgba(33, 150, 243, 0.4);
}

.character-select-btn[data-character="guardian"] .character-select-name {
  color: #3498db;
  text-shadow: 0 0 8px rgba(30, 87, 153, 0.6);
}

.character-select-btn[data-character="guardian"] .character-svg-small {
  filter: drop-shadow(0 0 8px #1E5799);
}

/* PRIEST SELECT BUTTON */
.character-select-btn[data-character="priest"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(255, 215, 0, 0.15) 30%, 
    rgba(255, 215, 0, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(255, 152, 0, 0.8);
  box-shadow: 0 0 20px rgba(255, 152, 0, 0.4), 0 0 35px rgba(255, 193, 7, 0.2);
  animation: legendaryPulse 3s ease-in-out infinite;
}

.character-select-btn[data-character="priest"] .character-select-name {
  color: #FFD700;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}

.character-select-btn[data-character="priest"] .character-svg-small {
  filter: drop-shadow(0 0 8px #FFD700);
}

/* SINREAPER SELECT BUTTON */
.character-select-btn[data-character="sinreaper"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(128, 128, 128, 0.15) 30%, 
    rgba(128, 128, 128, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(33, 150, 243, 0.6);
  box-shadow: 0 0 15px rgba(33, 150, 243, 0.3);
}

.character-select-btn[data-character="sinreaper"] .character-select-name {
  color: #808080;
  text-shadow: 0 0 8px rgba(128, 128, 128, 0.8);
}

.character-select-btn[data-character="sinreaper"] .character-svg-small {
  filter: drop-shadow(0 0 8px #808080);
}

/* JOKER SELECT BUTTON */
.character-select-btn[data-character="joker"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(50, 205, 50, 0.15) 30%, 
    rgba(50, 205, 50, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 18px rgba(220, 20, 60, 0.4), 0 0 30px rgba(220, 20, 60, 0.2);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-select-btn[data-character="joker"] .character-select-name {
  color: #32CD32;
  text-shadow: 0 0 8px rgba(50, 205, 50, 0.6);
}

.character-select-btn[data-character="joker"] .character-svg-small {
  filter: drop-shadow(0 0 8px #32CD32);
}

/* SAMURAI SELECT BUTTON */
.character-select-btn[data-character="samurai"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(220, 20, 60, 0.15) 30%, 
    rgba(220, 20, 60, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(156, 39, 176, 0.6);
  box-shadow: 0 0 15px rgba(156, 39, 176, 0.4);
}

.character-select-btn[data-character="samurai"] .character-select-name {
  color: #dc143c;
  text-shadow: 0 0 8px rgba(220, 20, 60, 0.6);
}

.character-select-btn[data-character="samurai"] .character-svg-small {
  filter: drop-shadow(0 0 8px #dc143c);
}

/* DRUID SELECT BUTTON */
.character-select-btn[data-character="druid"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.7) 0%, 
    rgba(34, 139, 34, 0.15) 30%, 
    rgba(34, 139, 34, 0.25) 70%, 
    rgba(0, 0, 0, 0.7) 100%);
  border-color: rgba(156, 39, 176, 0.6);
  box-shadow: 0 0 15px rgba(156, 39, 176, 0.4);
}

.character-select-btn[data-character="druid"] .character-select-name {
  color: #228B22;
  text-shadow: 0 0 8px rgba(34, 139, 34, 0.6);
}

.character-select-btn[data-character="druid"] .character-svg-small {
  filter: drop-shadow(0 0 8px #228B22);
}

/* MUSICIAN SELECT BUTTON */
.character-select-btn[data-character="musician"] {
  background: linear-gradient(135deg, #1A0A1A 0%, #4D1A4D 50%, #330A33 100%);
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 22px rgba(220, 20, 60, 0.5), 0 0 35px rgba(220, 20, 60, 0.3);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-select-btn[data-character="musician"] .character-select-name {
  color: #9C27B0;
  text-shadow: 0 0 8px rgba(156, 39, 176, 0.8), 0 0 15px rgba(156, 39, 176, 0.6);
}

.character-select-btn[data-character="musician"] .character-svg-small {
  filter: drop-shadow(0 0 8px #9C27B0) drop-shadow(0 0 12px #7B1FA2);
}

/* MUSICIAN CHARACTER STYLING */
.character-card:has(h3:contains("Musician")) {
  border-color: rgba(220, 20, 60, 0.7);
  box-shadow: 0 0 22px rgba(220, 20, 60, 0.5), 0 0 35px rgba(220, 20, 60, 0.3);
  background: rgba(0, 0, 0, 0.48);
  animation: mythicPulse 2.8s ease-in-out infinite;
}

.character-card:has(h3:contains("Musician")) h3 {
  color: #E8BFFF !important;
  text-shadow: 0 0 15px rgba(156, 39, 176, 0.8) !important;
}

.character-card:has(h3:contains("Musician")) .character-svg {
  filter: drop-shadow(0 0 12px #8B008B);
}

/* PRIEST SVG FILTER SPECIAL CASE */
.deployable-character.Priest .character-svg-small {
  filter: drop-shadow(0 0 8px #FFD700);
} 