
/* =========================================================
   DENTAL FIGHT — BLUE / SILVER PERFORMANCE THEME V14.8
   Visual layer only: no checkout/admin/business logic change.
   ========================================================= */

body.df-blue-silver{
  --df-blue:#078cff;
  --df-blue-2:#00b8ff;
  --df-blue-deep:#003c82;
  --df-silver:#dbe4ec;
  --df-silver-2:#8e9ba7;
  --df-line:rgba(103,184,255,.23);
  --df-panel:rgba(8,16,25,.82);
  --df-panel-strong:#07101a;
  --df-bg:#02070c;
  --df-text:#f4f8fb;
  --df-muted:#8d9aa7;
  background:
    radial-gradient(circle at 68% 10%,rgba(0,130,255,.11),transparent 30rem),
    linear-gradient(180deg,#02060a 0%,#03070c 50%,#020508 100%);
  color:var(--df-text);
  overflow-x:hidden;
}
body.df-blue-silver *{box-sizing:border-box}
body.df-blue-silver a{transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
body.df-blue-silver .container{width:min(1480px,calc(100% - 72px))}
body.df-blue-silver main{position:relative}
body.df-blue-silver main:before{
  content:"";
  pointer-events:none;
  position:fixed;
  inset:0;
  opacity:.2;
  z-index:-1;
  background-image:
    linear-gradient(rgba(40,145,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,145,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
}

/* HEADER */
body.df-blue-silver .site-header{
  background:rgba(2,6,10,.86);
  border-bottom:1px solid var(--df-line);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 10px 40px rgba(0,0,0,.34);
}
body.df-blue-silver .site-header:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--df-blue),transparent);
  opacity:.55;
}
body.df-blue-silver .nav{min-height:82px}
body.df-blue-silver .logo{
  filter:drop-shadow(0 0 14px rgba(0,137,255,.24));
}
body.df-blue-silver .desktop-nav a,
body.df-blue-silver .header-account{
  color:#b9c6d0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.105em;
  text-transform:uppercase;
}
body.df-blue-silver .desktop-nav a:hover,
body.df-blue-silver .header-account:hover{color:#fff}
body.df-blue-silver .desktop-nav a:after{
  background:linear-gradient(90deg,var(--df-blue-2),var(--df-blue));
  box-shadow:0 0 12px rgba(0,162,255,.7);
}
body.df-blue-silver .site-header .btn.red{
  border-radius:11px;
  color:#fff;
  border:1px solid rgba(45,164,255,.9);
  background:linear-gradient(180deg,#0d95ff,#006ad7);
  box-shadow:inset 0 0 16px rgba(255,255,255,.06),0 0 24px rgba(0,126,255,.19);
}

/* BUTTONS */
body.df-blue-silver .btn.red,
body.df-blue-silver .customer-auth-submit{
  color:#fff!important;
  background:linear-gradient(135deg,#039eff 0%,#0878ec 48%,#0058c8 100%)!important;
  border:1px solid rgba(85,189,255,.82)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 24px rgba(0,130,255,.18)!important;
}
body.df-blue-silver .btn.red:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 32px rgba(0,145,255,.36)!important;
}
body.df-blue-silver .btn.dark{
  background:rgba(5,13,21,.82);
  border:1px solid rgba(121,180,223,.37);
  color:#eef7ff;
}
body.df-blue-silver .btn.dark:hover{
  border-color:var(--df-blue);
  box-shadow:0 0 24px rgba(0,132,255,.14);
}

/* HERO */
body.df-blue-silver .hero{
  min-height:min(810px,88vh);
  border-bottom:1px solid var(--df-line);
  background:#02070d;
  isolation:isolate;
}
body.df-blue-silver .hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 58% 52%,rgba(0,128,255,.18),transparent 25%),
    linear-gradient(90deg,rgba(1,5,9,.99) 0%,rgba(1,5,9,.89) 31%,rgba(1,5,9,.18) 65%,rgba(1,5,9,.45) 100%),
    linear-gradient(180deg,rgba(1,4,8,.04),rgba(1,4,8,.25));
}
body.df-blue-silver .hero:after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  left:-7%;right:-4%;bottom:-70px;height:230px;
  opacity:.72;
  filter:blur(8px);
  background:
    radial-gradient(ellipse at 13% 85%,rgba(0,115,255,.55),transparent 18%),
    radial-gradient(ellipse at 32% 95%,rgba(0,190,255,.44),transparent 22%),
    radial-gradient(ellipse at 63% 95%,rgba(0,116,255,.62),transparent 26%),
    radial-gradient(ellipse at 88% 85%,rgba(0,176,255,.44),transparent 20%);
  transform:skewY(-3deg);
}
body.df-blue-silver .hero-background{filter:saturate(.42) contrast(1.2) brightness(.72)}
body.df-blue-silver .hero-sport:after{
  background:linear-gradient(180deg,transparent 36%,rgba(0,18,37,.25) 64%,rgba(0,5,10,.88));
}
body.df-blue-silver .hero-content{
  z-index:5;
  max-width:760px;
  padding-top:94px;
  padding-bottom:100px;
}
body.df-blue-silver .kicker,
body.df-blue-silver .eyebrow{
  color:#36b5ff;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:900;
}
body.df-blue-silver .hero h1{
  max-width:800px;
  font-style:italic;
  font-size:clamp(62px,7.5vw,128px);
  line-height:.82;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:transparent;
  background:linear-gradient(180deg,#fff 0%,#d4dde4 40%,#788795 74%,#eef4f8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.5));
}
body.df-blue-silver .hero h1 span{
  color:transparent;
  background:linear-gradient(180deg,#75d1ff 0%,#0a96ff 47%,#0060cf 100%);
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 0 16px rgba(0,133,255,.24));
}
body.df-blue-silver .hero-copy{
  max-width:590px;
  color:#c3ccd4;
  font-size:16px;
  line-height:1.72;
}
body.df-blue-silver .hero .actions{gap:13px}
body.df-blue-silver .sports-line{
  margin-top:54px;
  border-top:1px solid var(--df-line);
  border-bottom:1px solid rgba(73,147,210,.12);
  padding:20px 0;
  max-width:640px;
}
body.df-blue-silver .sports-line span{
  color:#dce8f1;
  font-weight:900;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.12em;
}
body.df-blue-silver .sports-line span:before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  margin-right:8px;
  display:inline-block;
  vertical-align:1px;
  background:var(--df-blue);
  box-shadow:0 0 10px var(--df-blue);
}

/* SHARED SECTIONS */
body.df-blue-silver section.dark,
body.df-blue-silver section.gray,
body.df-blue-silver .products,
body.df-blue-silver .checkout-section,
body.df-blue-silver .faq{
  background:
    linear-gradient(180deg,rgba(3,9,15,.98),rgba(2,7,12,.98));
  border-bottom:1px solid rgba(55,141,209,.14);
}
body.df-blue-silver .section-head h2,
body.df-blue-silver .about-copy .quote,
body.df-blue-silver .cta h2{
  color:transparent;
  background:linear-gradient(180deg,#fff,#b7c3cd 65%,#798a98);
  -webkit-background-clip:text;
  background-clip:text;
  text-transform:uppercase;
  font-style:italic;
  letter-spacing:-.035em;
}
body.df-blue-silver .section-head p,
body.df-blue-silver .about-copy p{color:#8f9ca7}

/* BENEFITS */
body.df-blue-silver .benefit,
body.df-blue-silver .benefit-card{
  background:linear-gradient(180deg,rgba(9,19,29,.92),rgba(4,10,16,.92));
  border:1px solid var(--df-line);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
body.df-blue-silver .benefit b,
body.df-blue-silver .benefit-card b{color:#dce9f2}

/* PROCESS — becomes HUD style */
body.df-blue-silver .process-grid{
  gap:10px;
}
body.df-blue-silver .process-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(8,19,31,.96),rgba(4,10,17,.96));
  border:1px solid rgba(79,165,233,.24);
  min-height:230px;
}
body.df-blue-silver .process-card:before{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:-30px;top:-30px;
  background:radial-gradient(circle,rgba(0,139,255,.17),transparent 66%);
}
body.df-blue-silver .process-card .num,
body.df-blue-silver .process-card > span{
  color:#38b4ff!important;
  text-shadow:0 0 18px rgba(0,145,255,.35);
}

/* MODALITY CARDS */
body.df-blue-silver .sport-card,
body.df-blue-silver .modality-card{
  border:1px solid rgba(73,156,221,.25);
  background:#06101a;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  overflow:hidden;
}
body.df-blue-silver .sport-card:after,
body.df-blue-silver .modality-card:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 35%,rgba(0,8,17,.18) 58%,rgba(0,7,14,.96) 100%);
}
body.df-blue-silver .sport-card:hover,
body.df-blue-silver .modality-card:hover{
  transform:translateY(-4px);
  border-color:#168dff;
  box-shadow:0 24px 50px rgba(0,56,115,.24);
}
body.df-blue-silver .sport-card h3,
body.df-blue-silver .modality-card h3{color:#fff;text-transform:uppercase;font-style:italic}
body.df-blue-silver .sport-card p,
body.df-blue-silver .modality-card p{color:#9aabb9}

/* CONFIGURATOR / PRODUCTS */
body.df-blue-silver .configurator-shell,
body.df-blue-silver .checkout-shell{
  gap:14px;
}
body.df-blue-silver .configurator-main,
body.df-blue-silver .summary-sticky,
body.df-blue-silver .checkout-form,
body.df-blue-silver .checkout-sticky,
body.df-blue-silver .checkout-card,
body.df-blue-silver .config-block{
  background:
    linear-gradient(145deg,rgba(8,17,27,.96),rgba(3,9,15,.98));
  border-color:rgba(67,154,222,.24)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.022),0 18px 50px rgba(0,0,0,.2);
}
body.df-blue-silver .model-card,
body.df-blue-silver .sport-pill,
body.df-blue-silver .checkout-choice{
  background:#07111b;
  border-color:rgba(91,158,209,.24);
  color:#becbd6;
}
body.df-blue-silver .model-card.active,
body.df-blue-silver .sport-pill.active,
body.df-blue-silver .checkout-choice.active{
  color:#fff;
  border-color:#1f9dff;
  background:linear-gradient(180deg,rgba(0,127,239,.18),rgba(4,17,28,.95));
  box-shadow:0 0 0 1px rgba(43,173,255,.13),0 0 22px rgba(0,113,255,.12);
}
body.df-blue-silver .config-step-title > span,
body.df-blue-silver .checkout-title > span{color:#29acff!important}
body.df-blue-silver .guard-stage{
  background:
    radial-gradient(circle at 50% 48%,rgba(0,152,255,.25),transparent 33%),
    linear-gradient(135deg,#06121e,#02070c);
  border:1px solid rgba(80,179,255,.19);
}
body.df-blue-silver .guard-glow{
  background:radial-gradient(circle,rgba(0,145,255,.42),transparent 65%);
}
body.df-blue-silver .guard-preview{
  box-shadow:inset 0 2px 7px rgba(255,255,255,.16),0 0 0 2px rgba(192,225,255,.28),0 18px 35px rgba(0,0,0,.55),0 0 34px rgba(0,134,255,.23);
}
body.df-blue-silver .summary-price strong,
body.df-blue-silver .final-total strong{color:#55bdff}

/* INPUTS */
body.df-blue-silver input,
body.df-blue-silver textarea,
body.df-blue-silver select{
  background:#040b12!important;
  color:#eef7ff!important;
  border-color:rgba(96,161,211,.28)!important;
}
body.df-blue-silver input:focus,
body.df-blue-silver textarea:focus,
body.df-blue-silver select:focus{
  border-color:#168fff!important;
  box-shadow:0 0 0 3px rgba(0,139,255,.11)!important;
}
body.df-blue-silver .upload-field{
  background:#050e17;
  border-color:rgba(88,170,231,.3);
}
body.df-blue-silver .upload-field b{color:#31afff}

/* ABOUT */
body.df-blue-silver .about{
  border:1px solid rgba(76,158,222,.17);
  background:linear-gradient(120deg,rgba(4,11,18,.99),rgba(8,17,27,.94));
}
body.df-blue-silver .about-photo{
  filter:saturate(.5) contrast(1.13);
}
body.df-blue-silver .about-copy .quote span{
  color:#42b6ff;
}

/* FAQ */
body.df-blue-silver .faq-list{
  border-top:1px solid var(--df-line);
}
body.df-blue-silver .faq-item{
  background:linear-gradient(180deg,rgba(7,16,25,.88),rgba(3,9,15,.92));
  border-color:rgba(70,150,211,.19)!important;
}
body.df-blue-silver .faq-item[open]{
  border-color:rgba(28,151,255,.5)!important;
}
body.df-blue-silver .faq-item summary b{color:#38b3ff}

/* CTA */
body.df-blue-silver .cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 95%,rgba(0,141,255,.38),transparent 27%),
    radial-gradient(circle at 87% 80%,rgba(0,127,255,.32),transparent 26%),
    linear-gradient(90deg,#03101e,#050b12 38%,#071321 72%,#020a12);
  border-top:1px solid rgba(50,155,230,.28);
  border-bottom:1px solid rgba(50,155,230,.28);
}
body.df-blue-silver .cta:after{
  content:"";
  position:absolute;
  inset:auto -10% -50px -10%;
  height:140px;
  background:
    radial-gradient(ellipse at 20% 90%,rgba(0,167,255,.55),transparent 25%),
    radial-gradient(ellipse at 60% 100%,rgba(0,108,255,.5),transparent 26%),
    radial-gradient(ellipse at 86% 90%,rgba(0,184,255,.42),transparent 24%);
  filter:blur(10px);
}
body.df-blue-silver .cta .container{position:relative;z-index:2}
body.df-blue-silver .cta .btn{
  background:linear-gradient(135deg,#079fff,#0068dd);
  color:#fff;
  border:1px solid #55c1ff;
  box-shadow:0 0 28px rgba(0,135,255,.25);
}

/* FOOTER */
body.df-blue-silver footer{
  background:#010509;
  border-top:1px solid rgba(60,138,198,.16);
}
body.df-blue-silver .footer,
body.df-blue-silver .partner-footer-links a{color:#738390}
body.df-blue-silver .partner-footer-links a:hover{color:#49b8ff}

/* MOBILE MENU */
body.df-blue-silver .mobile-menu{
  background:
    radial-gradient(circle at 0 0,rgba(0,132,255,.13),transparent 19rem),
    #040b12;
  border-right:1px solid rgba(80,172,240,.24);
}
body.df-blue-silver .mobile-menu-links a{
  border-bottom-color:rgba(85,145,190,.16);
  color:#dce6ee;
}
body.df-blue-silver .mobile-menu-links a:after{color:#1ba5ff}
body.df-blue-silver .mobile-menu-account{
  border-color:rgba(58,154,225,.22);
  background:#07111b;
}

/* MOBILE / TABLET */
@media (max-width:1100px){
  body.df-blue-silver .container{width:min(100% - 38px,1100px)}
  body.df-blue-silver .hero{min-height:760px}
  body.df-blue-silver .hero h1{font-size:clamp(58px,9vw,100px)}
}

@media (max-width:760px){
  body.df-blue-silver .container{width:calc(100% - 28px)}
  body.df-blue-silver .nav{min-height:70px}
  body.df-blue-silver .site-header .logo{max-height:45px}
  body.df-blue-silver .mobile-menu-toggle{
    border:1px solid rgba(68,164,232,.34);
    background:#06111b;
    border-radius:9px;
  }
  body.df-blue-silver .mobile-menu-toggle span{background:#e5f4ff}
  body.df-blue-silver .hero{
    min-height:720px;
    display:flex;
    align-items:flex-end;
  }
  body.df-blue-silver .hero-background{
    inset:0;
    height:56%;
    top:0;
  }
  body.df-blue-silver .hero:before{
    background:
      linear-gradient(180deg,rgba(1,5,9,.18) 0%,rgba(1,5,9,.2) 30%,rgba(1,5,9,.93) 58%,#02070c 82%),
      linear-gradient(90deg,rgba(0,7,14,.36),rgba(0,7,14,.08));
  }
  body.df-blue-silver .hero:after{height:125px;bottom:-36px}
  body.df-blue-silver .hero-content{
    padding-top:315px;
    padding-bottom:52px;
    width:100%;
  }
  body.df-blue-silver .kicker{font-size:9px}
  body.df-blue-silver .hero h1{
    font-size:clamp(49px,15vw,74px);
    line-height:.86;
    max-width:100%;
  }
  body.df-blue-silver .hero-copy{
    font-size:14px;
    line-height:1.6;
  }
  body.df-blue-silver .hero .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  body.df-blue-silver .hero .actions .btn{
    min-height:54px;
    width:100%;
  }
  body.df-blue-silver .sports-line{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 8px;
    margin-top:28px;
    padding:15px 0;
  }
  body.df-blue-silver .process-grid{
    display:grid;
    grid-template-columns:1fr;
  }
  body.df-blue-silver .process-card{min-height:auto}
  body.df-blue-silver .section-head h2{
    font-size:clamp(36px,11vw,58px);
    line-height:.92;
  }
  body.df-blue-silver .configurator-shell,
  body.df-blue-silver .checkout-shell{
    display:block;
  }
  body.df-blue-silver .summary-sticky,
  body.df-blue-silver .checkout-sticky{
    position:relative!important;
    top:auto!important;
    margin-top:14px;
  }
  body.df-blue-silver .about{
    grid-template-columns:1fr!important;
  }
  body.df-blue-silver .about-photo{
    min-height:390px;
  }
  body.df-blue-silver .cta{
    text-align:left;
  }
  body.df-blue-silver .cta .container{
    padding-left:4px;
    padding-right:4px;
  }
}

@media (max-width:430px){
  body.df-blue-silver .container{width:calc(100% - 22px)}
  body.df-blue-silver .hero{min-height:690px}
  body.df-blue-silver .hero-content{padding-top:294px}
  body.df-blue-silver .hero h1{font-size:46px}
  body.df-blue-silver .hero-copy{font-size:13px}
  body.df-blue-silver .sports-line span{font-size:9px}
  body.df-blue-silver .btn{padding-left:16px;padding-right:16px}
  body.df-blue-silver .checkout-grid,
  body.df-blue-silver .personalize-grid{grid-template-columns:1fr!important}
  body.df-blue-silver .model-grid,
  body.df-blue-silver .sport-options{grid-template-columns:1fr 1fr!important}
  body.df-blue-silver .faq-answer{padding-right:4px}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  body.df-blue-silver *,
  body.df-blue-silver *:before,
  body.df-blue-silver *:after{scroll-behavior:auto!important;transition:none!important}
}


/* =========================================================
   DENTAL FIGHT V14.8.1 — CORREÇÕES VISUAIS
   Logo azul/prata, hero proporcional, fogo azul mais forte,
   remoção total do vermelho público e FAQ com contraste.
   ========================================================= */

/* O tema azul deve dominar qualquer cor vermelha configurada anteriormente. */
body.df-blue-silver{
  --red:#078cff !important;
  --df-blue:#078cff;
  --df-blue-2:#34b9ff;
  --df-blue-hot:#00d4ff;
}

/* 1. LOGO: converte o vermelho da arte atual para azul sem alterar o arquivo original. */
body.df-blue-silver .site-header .logo,
body.df-blue-silver .mobile-menu .logo,
body.df-blue-silver .brand-home .logo{
  filter:
    hue-rotate(188deg)
    saturate(1.75)
    brightness(1.13)
    contrast(1.10)
    drop-shadow(0 0 12px rgba(0,145,255,.32)) !important;
}

/* 2. HERO: fonte mais próxima do conceito de performance, sem ocupar a tela inteira. */
body.df-blue-silver .hero-content{
  max-width:980px !important;
  padding-top:82px !important;
  padding-bottom:92px !important;
}
body.df-blue-silver .hero h1{
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Black",sans-serif !important;
  font-size:clamp(54px,5.4vw,84px) !important;
  line-height:.91 !important;
  letter-spacing:-.025em !important;
  font-style:italic !important;
  font-weight:900 !important;
  max-width:980px !important;
  transform:none !important;
  margin:13px 0 24px !important;
}
body.df-blue-silver .hero h1 .hero-title-line{
  display:block;
  width:max-content;
  max-width:100%;
  text-transform:uppercase;
}
body.df-blue-silver .hero h1 .hero-title-silver{
  color:transparent !important;
  white-space:nowrap;
  background:linear-gradient(180deg,#ffffff 0%,#dce4ea 42%,#8795a0 77%,#f4f8fb 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.72));
}
body.df-blue-silver .hero h1 .hero-title-blue{
  color:transparent !important;
  max-width:900px;
  background:linear-gradient(180deg,#6dd2ff 0%,#0aa4ff 42%,#006be3 77%,#1399ff 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:drop-shadow(0 0 18px rgba(0,132,255,.30));
}

/* FOGO AZUL — faixa agressiva no hero. */
body.df-blue-silver .hero:after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
  z-index:4 !important;
  left:-3% !important;
  right:-3% !important;
  bottom:-28px !important;
  height:205px !important;
  opacity:.92 !important;
  background:
    radial-gradient(ellipse at 8% 100%,rgba(0,184,255,.88) 0 5%,rgba(0,100,255,.56) 18%,transparent 45%),
    radial-gradient(ellipse at 28% 100%,rgba(0,102,255,.95) 0 7%,rgba(0,203,255,.43) 22%,transparent 48%),
    radial-gradient(ellipse at 53% 100%,rgba(0,205,255,.86) 0 5%,rgba(0,91,255,.63) 21%,transparent 47%),
    radial-gradient(ellipse at 76% 100%,rgba(0,108,255,.96) 0 7%,rgba(0,210,255,.48) 20%,transparent 47%),
    radial-gradient(ellipse at 94% 100%,rgba(0,191,255,.82) 0 5%,rgba(0,88,255,.55) 20%,transparent 44%),
    repeating-conic-gradient(
      from 220deg at 50% 100%,
      transparent 0deg 13deg,
      rgba(0,104,255,.06) 15deg,
      rgba(0,198,255,.70) 20deg,
      rgba(34,134,255,.90) 24deg,
      transparent 31deg 48deg
    ) !important;
  background-size:
    100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,
    180px 185px !important;
  background-position:bottom !important;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x !important;
  filter:blur(4px) saturate(1.75) contrast(1.12) !important;
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 48%,rgba(0,0,0,.76) 65%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 48%,rgba(0,0,0,.76) 65%,transparent 100%);
}

/* Chamas adicionais pela lateral direita para aproximar do conceito aprovado. */
body.df-blue-silver .hero-background:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:3;
  right:-4%;
  bottom:-3%;
  width:48%;
  height:88%;
  opacity:.72;
  background:
    radial-gradient(ellipse at 84% 92%,rgba(0,200,255,.60),transparent 23%),
    radial-gradient(ellipse at 64% 75%,rgba(0,86,255,.56),transparent 26%),
    radial-gradient(ellipse at 88% 57%,rgba(0,174,255,.44),transparent 21%),
    radial-gradient(ellipse at 54% 100%,rgba(0,114,255,.72),transparent 29%);
  filter:blur(12px) saturate(1.7);
  mix-blend-mode:screen;
  clip-path:polygon(26% 100%,34% 73%,45% 88%,51% 51%,60% 75%,70% 30%,76% 61%,88% 10%,91% 58%,100% 28%,100% 100%);
}

/* 3 e 4. Remove qualquer vermelho remanescente nos elementos públicos. */
body.df-blue-silver .step strong,
body.df-blue-silver .benefit b,
body.df-blue-silver .model-top span,
body.df-blue-silver .config-step-title > span,
body.df-blue-silver .checkout-title > span,
body.df-blue-silver .quote span,
body.df-blue-silver .faq-item b{
  color:#21a9ff !important;
  text-shadow:0 0 17px rgba(0,145,255,.28);
}
body.df-blue-silver .model-card:hover,
body.df-blue-silver .model-card.active{
  border-color:#159dff !important;
  box-shadow:inset 0 0 0 1px #159dff,0 0 24px rgba(0,131,255,.13) !important;
}
body.df-blue-silver .color-choice.active{
  box-shadow:0 0 0 3px #159dff,0 0 20px rgba(0,145,255,.26) !important;
}

/* Cards "Como funciona" refinados para combinar com o layout azul/prata. */
body.df-blue-silver .process{
  gap:12px !important;
}
body.df-blue-silver .process .step{
  background:linear-gradient(145deg,#08121d 0%,#050b12 100%) !important;
  border:1px solid rgba(62,159,229,.24) !important;
  min-height:215px;
  position:relative;
  overflow:hidden;
}
body.df-blue-silver .process .step:after{
  content:"";
  position:absolute;
  width:130px;height:130px;
  right:-52px;bottom:-60px;
  background:radial-gradient(circle,rgba(0,143,255,.20),transparent 67%);
}
body.df-blue-silver .process .step h3{
  color:#f4f8fb !important;
}
body.df-blue-silver .process .step p{
  color:#94a4b1 !important;
}

/* Produtos: títulos e preços legíveis, sem vermelho. */
body.df-blue-silver .model-card{
  color:#edf6fd !important;
}
body.df-blue-silver .model-top strong{
  color:#eef7ff !important;
}
body.df-blue-silver .model-top span{
  color:#28afff !important;
}
body.df-blue-silver .model-card p{
  color:#8fa0ad !important;
}
body.df-blue-silver .model-card small{
  color:#7f94a4 !important;
}

/* 5. FAQ: corrige o baixo contraste herdado do tema antigo claro. */
body.df-blue-silver section#faq.faq{
  background:
    radial-gradient(circle at 8% 8%,rgba(0,122,255,.08),transparent 25rem),
    linear-gradient(180deg,#040b12 0%,#02070c 100%) !important;
  color:#f4f8fb !important;
}
body.df-blue-silver #faq .section-head h2{
  color:transparent !important;
}
body.df-blue-silver #faq .faq-list{
  max-width:1100px !important;
  border-top:1px solid rgba(61,159,231,.30) !important;
}
body.df-blue-silver #faq .faq-item,
body.df-blue-silver #faq details.faq-item{
  color:#f2f7fb !important;
  background:linear-gradient(180deg,rgba(8,19,30,.96),rgba(4,11,18,.96)) !important;
  border-top:0 !important;
  border-left:1px solid rgba(70,157,224,.24) !important;
  border-right:1px solid rgba(70,157,224,.24) !important;
  border-bottom:1px solid rgba(70,157,224,.22) !important;
  margin:0 0 8px !important;
  padding:0 22px !important;
  text-transform:none !important;
}
body.df-blue-silver #faq .faq-item summary{
  color:#f2f7fb !important;
  min-height:76px;
  padding:22px 0 !important;
}
body.df-blue-silver #faq .faq-item summary span{
  color:#f2f7fb !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.df-blue-silver #faq .faq-item summary b{
  color:#2bb2ff !important;
  font-size:24px !important;
  text-shadow:0 0 15px rgba(0,162,255,.42);
}
body.df-blue-silver #faq .faq-answer{
  color:#a8b6c1 !important;
  font-size:13px !important;
  line-height:1.75 !important;
  padding:0 42px 22px 0 !important;
}

/* Responsividade do hero corrigido. */
@media(max-width:900px){
  body.df-blue-silver .hero-content{
    max-width:100% !important;
  }
  body.df-blue-silver .hero h1{
    font-size:clamp(48px,8.7vw,68px) !important;
    max-width:780px !important;
  }
  body.df-blue-silver .hero h1 .hero-title-silver{
    white-space:normal;
  }
  body.df-blue-silver .hero:after{
    height:150px !important;
    bottom:-20px !important;
    opacity:.82 !important;
  }
}
@media(max-width:760px){
  body.df-blue-silver .hero-content{
    padding-top:300px !important;
    padding-bottom:58px !important;
  }
  body.df-blue-silver .hero h1{
    font-size:clamp(43px,13.2vw,59px) !important;
    line-height:.90 !important;
  }
  body.df-blue-silver .hero h1 .hero-title-line{
    width:auto;
    max-width:100%;
  }
  body.df-blue-silver .hero h1 .hero-title-silver{
    white-space:normal;
  }
  body.df-blue-silver .hero-background:after{
    width:72%;
    height:54%;
    opacity:.58;
  }
  body.df-blue-silver #faq .faq-item{
    padding:0 15px !important;
  }
  body.df-blue-silver #faq .faq-item summary{
    min-height:68px;
  }
  body.df-blue-silver #faq .faq-item summary span{
    font-size:12px !important;
    line-height:1.45;
    padding-right:12px;
  }
}
@media(max-width:430px){
  body.df-blue-silver .hero-content{
    padding-top:278px !important;
  }
  body.df-blue-silver .hero h1{
    font-size:42px !important;
  }
  body.df-blue-silver .hero:after{
    height:125px !important;
  }
}


/* =========================================================
   DENTAL FIGHT V14.8.2 — HERO REAL + MODALIDADES REFINADAS
   Assets derivados do mockup azul/prata previamente aprovado.
   ========================================================= */

/* Remove completamente o fogo geométrico/triangular da V14.8.1. */
body.df-blue-silver .hero:after,
body.df-blue-silver .hero-background:after{
  content:none !important;
  display:none !important;
}

/* O mosaico antigo de fotos deixa de aparecer no hero desta identidade. */
body.df-blue-silver .hero-background{
  display:none !important;
}

/* Hero volta a ser uma composição limpa: texto à esquerda + atletas/fogo à direita. */
body.df-blue-silver .hero{
  min-height:700px !important;
  background:
    radial-gradient(circle at 72% 42%,rgba(0,119,255,.14),transparent 28rem),
    linear-gradient(105deg,#02070c 0%,#030910 42%,#04101c 100%) !important;
  overflow:hidden;
}
body.df-blue-silver .hero:before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,#02070c 0%,rgba(2,7,12,.98) 25%,rgba(2,7,12,.82) 42%,rgba(2,7,12,.22) 66%,rgba(2,7,12,.18) 100%) !important;
}

/* Arte de atletas do layout aprovado. */
body.df-blue-silver .hero-approved-art{
  position:absolute;
  z-index:1;
  top:66px;
  right:-2%;
  width:min(70vw,1240px);
  height:500px;
  background:url('/assets/theme/hero-athletes-blue.jpg') right top/contain no-repeat;
  filter:contrast(1.06) saturate(.88);
  opacity:.96;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 12%,#000 32%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 12%,#000 32%,#000 100%);
}

/* Protetor e chamas reais do mockup: integram imagem e fogo, sem formas artificiais. */
body.df-blue-silver .hero-mouthguard-fire{
  position:absolute;
  z-index:3;
  right:2.5%;
  bottom:-8px;
  width:min(55vw,1000px);
  height:300px;
  background:url('/assets/theme/hero-mouthguard-fire.jpg') center bottom/contain no-repeat;
  mix-blend-mode:screen;
  opacity:.92;
  pointer-events:none;
  filter:saturate(1.18) contrast(1.07) drop-shadow(0 0 28px rgba(0,120,255,.18));
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.26) 18%,#000 48%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.26) 18%,#000 48%,#000 100%);
}

/* Título proporcional ao exemplo: agressivo, condensado e sem dominar a página inteira. */
body.df-blue-silver .hero-content{
  z-index:5 !important;
  width:min(760px,58%) !important;
  max-width:760px !important;
  padding-top:92px !important;
  padding-bottom:92px !important;
}
body.df-blue-silver .hero h1{
  position:relative;
  z-index:6;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Black",sans-serif !important;
  font-size:clamp(48px,4.4vw,72px) !important;
  line-height:.91 !important;
  letter-spacing:-.025em !important;
  max-width:760px !important;
  margin:14px 0 22px !important;
  overflow:visible;
}
body.df-blue-silver .hero h1 .hero-title-line{
  position:relative;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
}
body.df-blue-silver .hero h1 .hero-title-silver{
  white-space:normal !important;
}
body.df-blue-silver .hero h1 .hero-title-blue{
  font-size:.82em;
  line-height:.94;
  margin-top:5px;
  isolation:isolate;
}

/* Fogo azul participa do próprio título, usando textura do mockup aprovado. */
body.df-blue-silver .hero h1 .hero-title-blue:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-58px;
  right:-90px;
  bottom:-58px;
  height:180px;
  background:url('/assets/theme/title-flames.png') center bottom/100% 100% no-repeat;
  opacity:.98;
  filter:saturate(1.18) contrast(1.12) drop-shadow(0 0 18px rgba(0,139,255,.30));
  pointer-events:none;
}
body.df-blue-silver .hero-copy{
  max-width:560px !important;
  color:#c9d3db !important;
}
body.df-blue-silver .sports-line{
  position:relative;
  z-index:7;
  max-width:630px !important;
}

/* Modalidades: novas imagens no mesmo clima visual do layout anterior aprovado. */
body.df-blue-silver #modalidades .sport-grid{
  gap:14px !important;
}
body.df-blue-silver #modalidades .sport-card{
  min-height:335px !important;
  background-position:center top !important;
  background-size:cover !important;
  border:1px solid rgba(62,156,225,.30) !important;
  filter:none !important;
}
body.df-blue-silver #modalidades .sport-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(1,5,9,.02) 0%,rgba(1,7,13,.10) 42%,rgba(1,7,13,.76) 72%,rgba(1,7,13,.98) 100%);
}
body.df-blue-silver #modalidades .sport-card:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  z-index:3;
  background:linear-gradient(90deg,#02a8ff,#006cff,transparent 72%);
  opacity:.78;
}
body.df-blue-silver #modalidades .sport-card > div{
  position:absolute !important;
  z-index:4 !important;
  left:22px !important;
  right:22px !important;
  bottom:20px !important;
}
body.df-blue-silver #modalidades .sport-card h3{
  margin:0 0 7px !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  text-transform:uppercase;
  font-style:italic;
  text-shadow:0 2px 16px rgba(0,0,0,.65);
}
body.df-blue-silver #modalidades .sport-card p{
  margin:0 !important;
  color:#aab8c3 !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
body.df-blue-silver #modalidades .sport-card:hover{
  transform:translateY(-5px) scale(1.008);
  border-color:#18a4ff !important;
  box-shadow:0 22px 55px rgba(0,66,130,.26),0 0 0 1px rgba(0,159,255,.10) !important;
}

/* Logo pública agora usa arquivo realmente azul/prata, sem depender de filtro CSS. */
body.df-blue-silver .site-header .logo,
body.df-blue-silver .mobile-menu .logo,
body.df-blue-silver .brand-home .logo{
  filter:drop-shadow(0 0 14px rgba(0,137,255,.26)) !important;
}

/* Desktop largo: arte fica mais próxima da referência sem encobrir o texto. */
@media(min-width:1450px){
  body.df-blue-silver .hero-approved-art{
    width:min(67vw,1320px);
    right:0;
    height:530px;
  }
  body.df-blue-silver .hero-mouthguard-fire{
    width:min(54vw,1040px);
    right:4%;
    bottom:-12px;
  }
  body.df-blue-silver .hero-content{
    width:54% !important;
    max-width:780px !important;
  }
}

/* Tablet */
@media(max-width:1050px){
  body.df-blue-silver .hero{
    min-height:720px !important;
  }
  body.df-blue-silver .hero-content{
    width:64% !important;
    max-width:640px !important;
  }
  body.df-blue-silver .hero h1{
    font-size:clamp(46px,6.4vw,66px) !important;
  }
  body.df-blue-silver .hero-approved-art{
    width:70vw;
    right:-16%;
    top:74px;
    opacity:.82;
  }
  body.df-blue-silver .hero-mouthguard-fire{
    width:67vw;
    right:-7%;
    opacity:.82;
  }
}

/* Mobile: uma composição própria, sem esmagar o texto. */
@media(max-width:760px){
  body.df-blue-silver .hero{
    min-height:760px !important;
    align-items:flex-end !important;
  }
  body.df-blue-silver .hero-approved-art{
    top:20px !important;
    right:-31% !important;
    width:126% !important;
    height:355px !important;
    opacity:.82 !important;
    background-size:contain !important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);
  }
  body.df-blue-silver .hero-mouthguard-fire{
    top:225px !important;
    bottom:auto !important;
    right:-10% !important;
    width:108% !important;
    height:225px !important;
    opacity:.77 !important;
  }
  body.df-blue-silver .hero:before{
    background:
      linear-gradient(180deg,rgba(2,7,12,.03) 0%,rgba(2,7,12,.10) 30%,rgba(2,7,12,.75) 48%,#02070c 63%,#02070c 100%) !important;
  }
  body.df-blue-silver .hero-content{
    width:100% !important;
    max-width:none !important;
    padding-top:390px !important;
    padding-bottom:48px !important;
  }
  body.df-blue-silver .hero h1{
    font-size:clamp(40px,11.8vw,56px) !important;
    max-width:100% !important;
  }
  body.df-blue-silver .hero h1 .hero-title-blue{
    font-size:.82em;
  }
  body.df-blue-silver .hero h1 .hero-title-blue:before{
    left:-24px;
    right:-26px;
    bottom:-42px;
    height:125px;
  }
  body.df-blue-silver #modalidades .sport-card{
    min-height:320px !important;
  }
}

/* Celulares pequenos */
@media(max-width:430px){
  body.df-blue-silver .hero{
    min-height:735px !important;
  }
  body.df-blue-silver .hero-content{
    padding-top:370px !important;
  }
  body.df-blue-silver .hero h1{
    font-size:39px !important;
  }
  body.df-blue-silver .hero-approved-art{
    right:-40% !important;
    width:138% !important;
  }
  body.df-blue-silver .hero-mouthguard-fire{
    width:120% !important;
    right:-16% !important;
  }
  body.df-blue-silver #modalidades .sport-grid{
    grid-template-columns:1fr !important;
  }
  body.df-blue-silver #modalidades .sport-card{
    min-height:355px !important;
  }
}


/* =========================================================
   DENTAL FIGHT V14.8.3 — HERO LIMPO / SEM PROTETOR
   ========================================================= */

body.df-blue-silver .df-clean-hero{
  position:relative !important;
  min-height:660px !important;
  overflow:hidden !important;
  isolation:isolate;
  display:block !important;
  background:
    radial-gradient(circle at 72% 47%,rgba(0,115,255,.10),transparent 30rem),
    #02070c !important;
  border-bottom:1px solid rgba(55,157,230,.22) !important;
}

body.df-blue-silver .df-clean-hero:after,
body.df-blue-silver .df-clean-hero .hero-background:after{
  display:none !important;
  content:none !important;
}

body.df-blue-silver .df-clean-hero:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #02070c 0%,
      #02070c 30%,
      rgba(2,7,12,.96) 38%,
      rgba(2,7,12,.60) 51%,
      rgba(2,7,12,.15) 68%,
      rgba(2,7,12,.04) 100%
    ),
    linear-gradient(180deg,rgba(2,7,12,.05),rgba(2,7,12,.12) 67%,#02070c 100%) !important;
}

body.df-blue-silver .df-hero-stage{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}

body.df-blue-silver .df-hero-athletes{
  position:absolute;
  top:0;
  right:0;
  width:67%;
  height:100%;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(.58) contrast(1.15) brightness(.82);
}

body.df-blue-silver .df-hero-athletes:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#02070c 0%,rgba(2,7,12,.74) 15%,transparent 43%),
    linear-gradient(180deg,transparent 56%,rgba(2,7,12,.30) 80%,#02070c 100%);
}

/* chama azul real, sem caixas e sem triângulos */
body.df-blue-silver .df-hero-flames{
  position:absolute;
  z-index:2;
  pointer-events:none;
  left:31%;
  right:-3%;
  bottom:-8px;
  height:225px;
  background:url('/assets/theme/flames-clean.png') center bottom/100% 100% no-repeat;
  opacity:.88;
  filter:saturate(1.35) contrast(1.08) drop-shadow(0 0 22px rgba(0,125,255,.26));
  mix-blend-mode:screen;
}

/* texto separado dos atletas */
body.df-blue-silver .df-clean-hero .hero-content{
  position:relative !important;
  z-index:4 !important;
  width:48% !important;
  max-width:700px !important;
  margin-left:0 !important;
  padding-top:86px !important;
  padding-bottom:76px !important;
}

body.df-blue-silver .df-clean-hero .kicker{
  margin-bottom:13px !important;
  font-size:10px !important;
  line-height:1.3 !important;
}

body.df-blue-silver .df-clean-hero h1{
  position:relative;
  z-index:3;
  width:100% !important;
  max-width:690px !important;
  margin:0 0 22px !important;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Black",sans-serif !important;
  font-size:clamp(48px,4.15vw,70px) !important;
  line-height:.91 !important;
  letter-spacing:-.025em !important;
  font-style:italic !important;
  font-weight:900 !important;
  overflow:visible !important;
}

body.df-blue-silver .df-clean-hero h1 .hero-title-line{
  position:relative;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
}

body.df-blue-silver .df-clean-hero h1 .hero-title-silver{
  white-space:normal !important;
  color:transparent !important;
  background:linear-gradient(180deg,#fff 0%,#dce5eb 43%,#8997a3 78%,#f7fafc 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.70));
}

body.df-blue-silver .df-clean-hero h1 .hero-title-blue{
  margin-top:4px;
  color:transparent !important;
  background:linear-gradient(180deg,#73d3ff 0%,#14a9ff 40%,#0071e8 78%,#128fff 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  filter:drop-shadow(0 0 15px rgba(0,130,255,.28));
  isolation:isolate;
}

/* fogo integrado ao texto, sem cobrir a leitura */
body.df-blue-silver .df-clean-hero h1 .hero-title-blue:before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:-1 !important;
  left:-20px !important;
  right:-34px !important;
  bottom:-42px !important;
  height:112px !important;
  background:url('/assets/theme/flames-clean.png') center bottom/100% 100% no-repeat !important;
  opacity:.54 !important;
  filter:saturate(1.28) drop-shadow(0 0 12px rgba(0,133,255,.18)) !important;
  pointer-events:none;
}

body.df-blue-silver .df-clean-hero .hero-copy{
  position:relative;
  z-index:4;
  max-width:570px !important;
  color:#c7d1d9 !important;
  font-size:15px !important;
  line-height:1.65 !important;
  margin-bottom:26px !important;
}

body.df-blue-silver .df-clean-hero .actions{
  position:relative;
  z-index:5;
  display:flex !important;
  flex-wrap:wrap;
  gap:12px !important;
}

body.df-blue-silver .df-clean-hero .sports-line{
  position:relative;
  z-index:5;
  max-width:610px !important;
  margin-top:38px !important;
}

/* modalidades premium */
body.df-blue-silver #modalidades .sport-cards{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}

body.df-blue-silver #modalidades .sport-card{
  position:relative !important;
  min-height:330px !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center 20% !important;
  border:1px solid rgba(64,157,224,.30) !important;
  filter:none !important;
}

body.df-blue-silver #modalidades .sport-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(2,7,12,.03) 0%,rgba(2,7,12,.08) 42%,rgba(2,7,12,.73) 73%,#02070c 100%);
}

body.df-blue-silver #modalidades .sport-card > div{
  position:absolute !important;
  z-index:3 !important;
  left:22px !important;
  right:22px !important;
  bottom:21px !important;
}

body.df-blue-silver #modalidades .sport-card h3{
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  margin:0 0 8px !important;
}

body.df-blue-silver #modalidades .sport-card p{
  color:#aab9c4 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  margin:0 !important;
}

@media(max-width:1050px){
  body.df-blue-silver .df-clean-hero{
    min-height:650px !important;
  }
  body.df-blue-silver .df-clean-hero .hero-content{
    width:52% !important;
    max-width:610px !important;
  }
  body.df-blue-silver .df-hero-athletes{
    width:68% !important;
    right:-7% !important;
  }
  body.df-blue-silver .df-clean-hero h1{
    font-size:clamp(45px,5.8vw,62px) !important;
  }
  body.df-blue-silver #modalidades .sport-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body.df-blue-silver .df-clean-hero{
    min-height:760px !important;
  }
  body.df-blue-silver .df-clean-hero:before{
    background:
      linear-gradient(180deg,rgba(2,7,12,.03) 0%,rgba(2,7,12,.13) 31%,rgba(2,7,12,.84) 46%,#02070c 56%,#02070c 100%) !important;
  }
  body.df-blue-silver .df-hero-athletes{
    top:0 !important;
    right:-12% !important;
    width:124% !important;
    height:365px !important;
    background-position:center top !important;
    background-size:cover !important;
    filter:saturate(.60) contrast(1.15) brightness(.80);
  }
  body.df-blue-silver .df-hero-flames{
    left:-10% !important;
    right:-10% !important;
    top:270px !important;
    bottom:auto !important;
    height:155px !important;
    opacity:.77 !important;
  }
  body.df-blue-silver .df-clean-hero .hero-content{
    width:100% !important;
    max-width:none !important;
    padding-top:374px !important;
    padding-bottom:46px !important;
  }
  body.df-blue-silver .df-clean-hero h1{
    max-width:100% !important;
    font-size:clamp(39px,11vw,54px) !important;
    line-height:.92 !important;
  }
  body.df-blue-silver .df-clean-hero h1 .hero-title-blue:before{
    height:83px !important;
    left:-8px !important;
    right:-12px !important;
    bottom:-31px !important;
    opacity:.40 !important;
  }
  body.df-blue-silver .df-clean-hero .hero-copy{
    font-size:14px !important;
  }
  body.df-blue-silver .df-clean-hero .actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  body.df-blue-silver .df-clean-hero .actions .btn{
    width:100% !important;
    min-height:54px !important;
  }
  body.df-blue-silver #modalidades .sport-cards{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  body.df-blue-silver #modalidades .sport-card{
    min-height:335px !important;
  }
}

@media(max-width:430px){
  body.df-blue-silver .df-clean-hero{
    min-height:735px !important;
  }
  body.df-blue-silver .df-hero-athletes{
    height:335px !important;
  }
  body.df-blue-silver .df-hero-flames{
    top:250px !important;
    height:135px !important;
  }
  body.df-blue-silver .df-clean-hero .hero-content{
    padding-top:348px !important;
  }
  body.df-blue-silver .df-clean-hero h1{
    font-size:39px !important;
  }
}


/* =========================================================
   DENTAL FIGHT V14.9 — HERO EDITÁVEL POR IMAGEM
   ========================================================= */

/* Desativa qualquer composição antiga do hero */
body.df-blue-silver .hero-editor-banner,
body.df-blue-silver .hero-editor-banner:before,
body.df-blue-silver .hero-editor-banner:after{
  box-sizing:border-box;
}

body.df-blue-silver .hero-editor-banner{
  position:relative !important;
  display:block !important;
  min-height:var(--hero-desktop-height) !important;
  height:var(--hero-desktop-height) !important;
  overflow:hidden !important;
  isolation:isolate;
  background-image:var(--hero-desktop) !important;
  background-size:cover !important;
  background-position:var(--hero-desktop-position) !important;
  background-repeat:no-repeat !important;
  border-bottom:1px solid rgba(51,158,233,.25) !important;
}

body.df-blue-silver .hero-editor-banner:before,
body.df-blue-silver .hero-editor-banner:after{
  display:none !important;
  content:none !important;
}

/* A única camada por cima da imagem é a área dos botões */
body.df-blue-silver .hero-editor-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  padding:clamp(18px,3.5vw,56px);
  display:flex;
}

body.df-blue-silver .hero-editor-actions{
  pointer-events:auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

body.df-blue-silver .hero-editor-actions .btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-left:24px;
  padding-right:24px;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}

/* 9 posições possíveis dos botões */
body.df-blue-silver .hero-buttons-left-top .hero-editor-overlay{justify-content:flex-start;align-items:flex-start}
body.df-blue-silver .hero-buttons-center-top .hero-editor-overlay{justify-content:center;align-items:flex-start}
body.df-blue-silver .hero-buttons-right-top .hero-editor-overlay{justify-content:flex-end;align-items:flex-start}
body.df-blue-silver .hero-buttons-left-center .hero-editor-overlay{justify-content:flex-start;align-items:center}
body.df-blue-silver .hero-buttons-center-center .hero-editor-overlay{justify-content:center;align-items:center}
body.df-blue-silver .hero-buttons-right-center .hero-editor-overlay{justify-content:flex-end;align-items:center}
body.df-blue-silver .hero-buttons-left-bottom .hero-editor-overlay{justify-content:flex-start;align-items:flex-end}
body.df-blue-silver .hero-buttons-center-bottom .hero-editor-overlay{justify-content:center;align-items:flex-end}
body.df-blue-silver .hero-buttons-right-bottom .hero-editor-overlay{justify-content:flex-end;align-items:flex-end}

/* Mobile usa outra imagem completamente independente */
@media(max-width:760px){
  body.df-blue-silver .hero-editor-banner{
    min-height:var(--hero-mobile-height) !important;
    height:var(--hero-mobile-height) !important;
    background-image:var(--hero-mobile) !important;
    background-position:var(--hero-mobile-position) !important;
  }

  body.df-blue-silver .hero-editor-overlay{
    padding:16px;
  }

  body.df-blue-silver .hero-editor-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  body.df-blue-silver .hero-editor-actions .btn{
    width:100%;
    min-height:54px;
  }

  /* No mobile, posições centrais continuam seguras; laterais viram largura total */
  body.df-blue-silver .hero-buttons-left-top .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-center-top .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-right-top .hero-editor-overlay{justify-content:center;align-items:flex-start}

  body.df-blue-silver .hero-buttons-left-center .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-center-center .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-right-center .hero-editor-overlay{justify-content:center;align-items:center}

  body.df-blue-silver .hero-buttons-left-bottom .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-center-bottom .hero-editor-overlay,
  body.df-blue-silver .hero-buttons-right-bottom .hero-editor-overlay{justify-content:center;align-items:flex-end}
}


/* V15.0 — cards de modalidades clicáveis */
body.df-blue-silver .sport-card-link{
  display:block;
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
}
body.df-blue-silver .sport-card-link .sport-card-cta{
  display:inline-block;
  margin-top:13px;
  color:#35b8ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  opacity:.9;
  transform:translateX(0);
  transition:transform .2s ease,color .2s ease;
}
body.df-blue-silver .sport-card-link:hover .sport-card-cta{
  transform:translateX(5px);
  color:#89ddff;
}
body.df-blue-silver .sport-card-link:focus-visible{
  outline:2px solid #25aeff;
  outline-offset:3px;
}


/* =========================================================
   DENTAL FIGHT V15.4 — REFINAMENTO EXCLUSIVO PARA SMARTPHONE
   Desktop/tablet grande permanecem inalterados.
   ========================================================= */

.mobile-sport-swipe-hint{display:none}

@media (max-width:760px){

  /* -------------------------------------------------------
     BENEFÍCIOS — 4 QUADRADOS EM UMA ÚNICA TELA
     ------------------------------------------------------- */
  body.df-blue-silver #benefitsSection{
    padding:28px 0 30px !important;
    min-height:auto !important;
  }

  body.df-blue-silver #benefitsSection .container{
    width:calc(100% - 22px) !important;
  }

  body.df-blue-silver #benefitsSection .section-head{
    margin-bottom:14px !important;
    gap:8px !important;
  }

  body.df-blue-silver #benefitsSection .section-head .eyebrow{
    font-size:8px !important;
    margin-bottom:5px !important;
  }

  body.df-blue-silver #benefitsSection .section-head h2{
    font-size:27px !important;
    line-height:.94 !important;
    margin:0 !important;
  }

  body.df-blue-silver #benefitsSection .section-head > p{
    display:none !important;
  }

  body.df-blue-silver #benefitsSection .benefits{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
  }

  body.df-blue-silver #benefitsSection .benefit{
    min-height:172px !important;
    height:172px !important;
    padding:15px 13px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    border:1px solid rgba(55,152,220,.30) !important;
    background:
      radial-gradient(circle at 100% 100%,rgba(0,138,255,.10),transparent 48%),
      linear-gradient(145deg,#07111b,#040a11) !important;
    overflow:hidden !important;
  }

  body.df-blue-silver #benefitsSection .benefit b{
    font-size:18px !important;
    line-height:1 !important;
    margin:0 0 18px !important;
    color:#25afff !important;
  }

  body.df-blue-silver #benefitsSection .benefit h3{
    font-size:15px !important;
    line-height:1.06 !important;
    margin:0 0 8px !important;
    letter-spacing:-.015em !important;
  }

  body.df-blue-silver #benefitsSection .benefit p{
    font-size:11px !important;
    line-height:1.35 !important;
    margin:0 !important;
    color:#97a6b1 !important;
  }


  /* -------------------------------------------------------
     COMO FUNCIONA — 4 QUADRADOS EM 2 × 2
     ------------------------------------------------------- */
  body.df-blue-silver #como{
    padding:28px 0 30px !important;
    min-height:auto !important;
  }

  body.df-blue-silver #como .container{
    width:calc(100% - 22px) !important;
  }

  body.df-blue-silver #como .section-head{
    margin-bottom:14px !important;
  }

  body.df-blue-silver #como .section-head .eyebrow{
    font-size:8px !important;
    margin-bottom:5px !important;
  }

  body.df-blue-silver #como .section-head h2{
    font-size:27px !important;
    line-height:.94 !important;
    margin:0 !important;
  }

  body.df-blue-silver #como .process{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    background:transparent !important;
    border:0 !important;
  }

  body.df-blue-silver #como .process .step{
    min-height:182px !important;
    height:182px !important;
    padding:15px 13px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    border:1px solid rgba(55,152,220,.30) !important;
    background:
      radial-gradient(circle at 100% 100%,rgba(0,138,255,.12),transparent 50%),
      linear-gradient(145deg,#07111b,#040a11) !important;
    overflow:hidden !important;
  }

  body.df-blue-silver #como .process .step strong{
    font-size:27px !important;
    line-height:1 !important;
    margin:0 0 22px !important;
    color:#21a9ff !important;
  }

  body.df-blue-silver #como .process .step h3{
    font-size:14px !important;
    line-height:1.08 !important;
    margin:0 0 8px !important;
  }

  body.df-blue-silver #como .process .step p{
    font-size:10.8px !important;
    line-height:1.35 !important;
    margin:0 !important;
    color:#97a6b1 !important;
  }


  /* -------------------------------------------------------
     MODALIDADES — CARROSSEL HORIZONTAL COM SNAP
     ------------------------------------------------------- */
  body.df-blue-silver #modalidades{
    padding:34px 0 40px !important;
    overflow:hidden !important;
  }

  body.df-blue-silver #modalidades > .container{
    width:100% !important;
    max-width:none !important;
  }

  body.df-blue-silver #modalidades .modalities-head{
    width:calc(100% - 28px) !important;
    margin:0 14px 18px !important;
    padding:18px 16px !important;
    display:block !important;
    border:1px solid rgba(37,165,255,.38) !important;
    border-left:3px solid #1eaaff !important;
    background:
      radial-gradient(circle at 100% 0,rgba(0,145,255,.17),transparent 55%),
      linear-gradient(145deg,rgba(7,19,31,.98),rgba(3,9,15,.98)) !important;
    box-shadow:0 16px 35px rgba(0,0,0,.20) !important;
  }

  body.df-blue-silver #modalidades .modalities-head .eyebrow{
    font-size:9px !important;
    letter-spacing:.16em !important;
    margin-bottom:7px !important;
  }

  body.df-blue-silver #modalidades .modalities-head h2{
    font-size:34px !important;
    line-height:.91 !important;
    margin:0 0 11px !important;
    max-width:100% !important;
  }

  body.df-blue-silver #modalidades .modalities-head > p{
    display:block !important;
    color:#b5c2cb !important;
    font-size:12px !important;
    line-height:1.48 !important;
    margin:0 !important;
    max-width:none !important;
  }

  body.df-blue-silver #modalidades .mobile-sport-swipe-hint{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-top:14px !important;
    padding-top:12px !important;
    border-top:1px solid rgba(62,165,234,.22) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  body.df-blue-silver #modalidades .mobile-sport-swipe-hint span{
    color:#2ab5ff !important;
    white-space:nowrap !important;
  }

  body.df-blue-silver #modalidades .sport-cards{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px !important;
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-left:14px !important;
    padding:0 14px 14px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  body.df-blue-silver #modalidades .sport-cards::-webkit-scrollbar{
    display:none !important;
  }

  body.df-blue-silver #modalidades .sport-card{
    flex:0 0 min(82vw,335px) !important;
    width:min(82vw,335px) !important;
    min-width:min(82vw,335px) !important;
    height:430px !important;
    min-height:430px !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
    background-position:center 22% !important;
    background-size:cover !important;
    border:1px solid rgba(64,164,235,.42) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.32) !important;
  }

  body.df-blue-silver #modalidades .sport-card:before{
    background:
      linear-gradient(180deg,rgba(2,7,12,.00) 0%,rgba(2,7,12,.04) 38%,rgba(2,7,12,.62) 68%,#02070c 100%) !important;
  }

  body.df-blue-silver #modalidades .sport-card > div{
    left:18px !important;
    right:18px !important;
    bottom:20px !important;
  }

  body.df-blue-silver #modalidades .sport-card h3{
    font-size:31px !important;
    line-height:.96 !important;
    margin-bottom:9px !important;
    text-shadow:0 4px 18px rgba(0,0,0,.55) !important;
  }

  body.df-blue-silver #modalidades .sport-card p{
    font-size:12px !important;
    line-height:1.45 !important;
    color:#c0ccd5 !important;
    margin-bottom:10px !important;
  }

  body.df-blue-silver #modalidades .sport-card-cta{
    font-size:10px !important;
    color:#38b9ff !important;
  }
}

/* Telas realmente pequenas: preserva 2 × 2 sem estourar largura */
@media (max-width:390px){
  body.df-blue-silver #benefitsSection .benefit{
    height:165px !important;
    min-height:165px !important;
    padding:13px 11px !important;
  }
  body.df-blue-silver #benefitsSection .benefit h3{font-size:14px !important}
  body.df-blue-silver #benefitsSection .benefit p{font-size:10.4px !important}

  body.df-blue-silver #como .process .step{
    height:176px !important;
    min-height:176px !important;
    padding:13px 11px !important;
  }
  body.df-blue-silver #como .process .step strong{
    font-size:24px !important;
    margin-bottom:18px !important;
  }
  body.df-blue-silver #como .process .step h3{font-size:13px !important}
  body.df-blue-silver #como .process .step p{font-size:10.2px !important}

  body.df-blue-silver #modalidades .sport-card{
    flex-basis:84vw !important;
    width:84vw !important;
    min-width:84vw !important;
    height:405px !important;
    min-height:405px !important;
  }
}
