/*
Theme Name: Clínica CEM
Theme URI: https://clinicacem.com.br
Author: Clínica CEM
Description: Tema oficial da Clínica CEM — design premium, custom post types para Especialidades e Blog, Cartão CEM, integração com Claude IA no painel admin.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: clinica-cem
Tags: healthcare, medical, clinic, custom-colors, featured-images
*/

:root{
  --ink-900:#051A35;--ink-800:#0A2A54;--ink-700:#0E3A72;--ink-600:#134A92;
  --brand-600:#0A4BA0;--brand-500:#1565D8;--brand-400:#00AEEF;
  --brand-50:#EEF6FE;--brand-100:#DCEBFB;
  --accent-600:#059669;--accent-500:#10B981;--accent-400:#34D399;--accent-50:#ECFDF5;
  --whatsapp:#25D366;
  --paper:#FBFAF7;--paper-2:#F4F1EA;--ivory:#FFFFFF;
  --line:#E7E2D6;--line-2:#EEEAE0;
  --text:#0F172A;--muted:#5A6478;--muted-2:#8A92A6;
  --r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:32px;--r-2xl:44px;
  --shadow-xs:0 1px 2px rgba(10,42,84,.05);
  --shadow-sm:0 2px 8px rgba(10,42,84,.06);
  --shadow-md:0 12px 32px -12px rgba(10,42,84,.15);
  --shadow-lg:0 30px 60px -25px rgba(10,42,84,.28);
  --font-sans:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
  --font-serif:'Fraunces','Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";line-height:1.55}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-600)}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--brand-400)}
.eyebrow.light{color:#9FD6F5}.eyebrow.light::before{background:#9FD6F5}
h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.02em;margin:0;color:var(--ink-900);font-weight:700}
.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-.02em}
.serif em{font-style:italic;font-weight:400;color:var(--brand-500)}
h1{font-size:clamp(38px,5.6vw,68px);line-height:1.02}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.08}
h3{font-size:clamp(20px,1.6vw,24px);line-height:1.2}
.lead{font-size:clamp(16px,1.2vw,18px);color:var(--muted);line-height:1.6;max-width:54ch}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:600;font-size:15px;transition:all .2s;white-space:nowrap;cursor:pointer}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--ink-900);color:#fff;box-shadow:0 10px 24px -12px rgba(5,26,53,.55)}
.btn-primary:hover{transform:translateY(-2px);background:var(--ink-800)}
.btn-accent{background:var(--whatsapp);color:#fff;box-shadow:0 10px 24px -12px rgba(37,211,102,.6)}
.btn-accent:hover{transform:translateY(-2px);background:#1EC15A}
.btn-ghost{background:transparent;color:var(--ink-800);border:1.5px solid rgba(15,23,42,.12)}
.btn-ghost:hover{background:rgba(15,23,42,.04)}
.btn-light{background:#fff;color:var(--ink-900);box-shadow:0 10px 24px -12px rgba(0,0,0,.2)}
.btn-light:hover{transform:translateY(-2px)}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.82);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(14,58,114,.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1240px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{width:68px;height:68px;display:flex;align-items:center;justify-content:center}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.nav-links{display:flex;gap:6px;align-items:center;list-style:none;padding:0;margin:0}
.nav-links a{font-size:14.5px;color:var(--ink-800);padding:10px 14px;border-radius:999px;font-weight:500;transition:background .15s}
.nav-links a:hover,.nav-links .current-menu-item>a{background:rgba(14,58,114,.06)}
.nav-links a[href*="cartao-cem"]{color:var(--accent-600);font-weight:600}
.nav-cta{display:flex;gap:10px;align-items:center}
.nav-phone{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-800);padding:10px 14px;border-radius:999px}
.nav-phone svg{width:16px!important;height:16px!important;color:var(--brand-500)}
.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;background:var(--ink-900);color:#fff;place-items:center}
@media (max-width:980px){
  .nav-links{display:none!important}
  .nav-links.is-open{display:flex!important;position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:rgba(5,26,53,.97);backdrop-filter:blur(12px);padding:40px 24px;z-index:200}
  .nav-links.is-open li a{color:#fff!important;font-size:22px!important;font-weight:600!important;padding:14px 32px!important;border-radius:12px!important;width:100%;text-align:center;display:block}
  .nav-links.is-open li a:hover{background:rgba(255,255,255,.1)!important}
  .nav-phone span{display:none}
  .nav-toggle{display:grid;z-index:300;position:relative}
}

/* HERO */
.hero{position:relative;overflow:hidden;padding:56px 0 80px}
.hero::before{content:"";position:absolute;top:-20%;right:-10%;width:55%;height:70%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,174,239,.14),transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;bottom:-30%;left:-10%;width:50%;height:60%;border-radius:50%;background:radial-gradient(closest-side,rgba(16,185,129,.08),transparent 70%);pointer-events:none}
.hero-grid{display:grid!important;grid-template-columns:1.05fr 1fr!important;gap:56px;align-items:center;position:relative;z-index:2}
.hero-copy h1{margin-top:22px}
.hero-copy h1 .accent{color:var(--brand-500);font-family:var(--font-serif);font-style:italic;font-weight:500}
.hero-copy .lead{margin-top:22px;font-size:18px}
.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero-meta{margin-top:44px;display:flex;gap:28px;flex-wrap:wrap}
.hero-meta-item{display:flex;align-items:center;gap:12px}
.avatar-stack{display:flex}
.avatar-stack .av{width:40px;height:40px;border-radius:50%;border:3px solid var(--paper);background-size:cover;background-position:center;margin-left:-12px}
.avatar-stack .av:first-child{margin-left:0}
.hero-meta-text small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.hero-meta-text b{font-size:14px;color:var(--ink-900);font-weight:600}
.stars{color:#F5B800;letter-spacing:2px;font-size:14px}
.hero-visual{position:relative!important;aspect-ratio:4/5!important}
.hero-img{position:absolute;inset:0;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(180deg,rgba(5,26,53,0) 40%,rgba(5,26,53,.35) 100%),url('https://images.unsplash.com/photo-1584982751601-97dcc096659c?auto=format&fit=crop&w=1400&q=80') center/cover;box-shadow:var(--shadow-lg)}
.float-card{position:absolute!important;background:#1565D8!important;border-radius:var(--r-lg);padding:14px 16px;display:flex!important;align-items:center;gap:12px;box-shadow:var(--shadow-md);border:none!important;color:#fff!important}
.fc-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand-500);flex-shrink:0}
.fc-icon.green{background:var(--accent-50);color:var(--accent-600)}
.fc-body b{display:block;font-size:13.5px;color:var(--ink-900);font-weight:700}
.fc-body small{font-size:11.5px;color:var(--muted);font-weight:500}
.float-1{top:6%;left:-6%;animation:float 8s ease-in-out infinite}
.float-2{bottom:18%;right:-8%;animation:float 9s ease-in-out infinite -2s}
.float-3{bottom:-4%;left:12%;background:linear-gradient(135deg,var(--ink-800),var(--brand-600));color:#fff;border:0;padding:18px 20px}
.float-3 .fc-icon{background:rgba(255,255,255,.16);color:#fff}
.float-3 .fc-body b{color:#fff;font-size:26px;font-family:var(--font-serif);font-weight:500}
.float-3 .fc-body small{color:rgba(255,255,255,.7);font-size:11px}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{max-width:480px;margin:0 auto;width:100%}.float-1{left:0}.float-2{right:0}}

/* AUTHORITY */
.authority{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ivory)}
.auth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.auth-item{display:flex;align-items:center;gap:18px}
.auth-item .num{font-family:var(--font-serif);font-weight:500;font-size:44px;line-height:1;color:var(--brand-600);letter-spacing:-.03em}
.auth-item .lbl{font-size:13.5px;color:var(--muted);line-height:1.4}
.auth-item .lbl b{color:var(--ink-900);display:block;font-weight:600;font-size:14.5px}
@media (max-width:900px){.auth-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}.auth-item .num{font-size:36px}}

/* SECTION */
.section-pad{padding:112px 0}
.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.section-head h2{margin-top:12px}
.section-head p{color:var(--muted);font-size:17px;max-width:52ch;margin:0}
@media (max-width:800px){.section-head{grid-template-columns:1fr;gap:16px}}

/* SPECS */
.specs{background:var(--paper)}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.spec-card{background:var(--ivory);border:1px solid var(--line-2);border-radius:var(--r-xl);overflow:hidden;transition:all .25s;display:flex;flex-direction:column}
.spec-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(14,58,114,.14)}
.spec-img{aspect-ratio:4/3;background:var(--paper-2) center/cover;position:relative}
.spec-body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1}
.spec-body h3{font-size:20px}
.spec-body p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.spec-foot{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--ink-800);font-weight:600}
.spec-foot .arrow{width:32px;height:32px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:all .2s}
.spec-card:hover .spec-foot .arrow{background:var(--brand-500);color:#fff;transform:rotate(-45deg)}
@media (max-width:900px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.spec-grid{grid-template-columns:1fr}}

/* ABOUT */
.about{background:var(--ivory)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.about-visual{position:relative;aspect-ratio:5/6}
.about-main{position:absolute;inset:0;border-radius:var(--r-2xl);overflow:hidden;background:url('https://images.unsplash.com/photo-1631815588090-d4bfec5b1ccb?auto=format&fit=crop&w=1200&q=80') center/cover;box-shadow:var(--shadow-lg)}
.about-badge{position:absolute;bottom:-20px;left:-20px;background:#fff;padding:20px 22px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:14px}
.about-badge .cr{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-500),var(--ink-700));color:#fff}
.about-badge b{font-family:var(--font-serif);font-weight:500;font-size:28px;color:var(--ink-900);display:block}
.about-badge small{color:var(--muted);font-size:12px}
.about-copy h2{margin-top:16px}
.about-copy .lead{margin-top:20px;font-size:16.5px}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:56px}.about-visual{max-width:460px;margin:0 auto;width:100%}}

/* DIFFS */
.diff{background:radial-gradient(60% 60% at 80% 10%,rgba(0,174,239,.12),transparent 60%),linear-gradient(180deg,#061B37 0%,#0A2A54 100%);color:#fff;overflow:hidden}
.diff h2{color:#fff}
.diff .lead{color:rgba(255,255,255,.68)}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.diff-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:28px;border-radius:var(--r-lg);transition:all .2s}
.diff-card:hover{background:rgba(255,255,255,.07);transform:translateY(-3px);border-color:rgba(0,174,239,.35)}
.diff-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,174,239,.22),rgba(0,174,239,.08));color:#58C9F5;margin-bottom:18px;border:1px solid rgba(0,174,239,.22)}
.diff-card h3{color:#fff;font-size:19px;margin-bottom:8px}
.diff-card p{color:rgba(255,255,255,.65);font-size:14.5px;line-height:1.55;margin:0}
@media (max-width:900px){.diff-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr}}

/* CARD CALLOUT */
.card-callout{padding:96px 0;background:var(--paper)}
.card-callout-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;background:linear-gradient(135deg,#EAF5FD 0%,#DCEBFB 55%,#CFE3F5 100%);border-radius:var(--r-2xl);padding:64px;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}
.card-callout-inner::before{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:120%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,174,239,.22),transparent 70%);pointer-events:none}
.card-visual{position:relative;z-index:2;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.card-visual .card-mock{width:86%;aspect-ratio:1.6/1;border-radius:20px;background:linear-gradient(135deg,#FFFFFF,#F7FBFF);box-shadow:0 30px 60px -20px rgba(10,42,84,.35),0 0 0 1px rgba(14,58,114,.06);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-5deg);animation:cardFloatH 7s ease-in-out infinite;position:relative}
@keyframes cardFloatH{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-10px)}}
@media (max-width:900px){.card-callout-inner{grid-template-columns:1fr;padding:40px;gap:40px}}

/* GALLERY */
.gal{background:var(--paper)}
.gal-grid{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;grid-template-rows:260px 260px;gap:14px}
.gal-cell{border-radius:var(--r-lg);overflow:hidden;background-size:cover;background-position:center;position:relative}
.gal-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,26,53,.55));opacity:0;transition:opacity .25s}
.gal-cell:hover::after{opacity:1}
.gal-caption{position:absolute;bottom:16px;left:20px;color:#fff;font-size:14px;font-weight:600;opacity:0;transform:translateY(6px);transition:all .25s;z-index:2}
.gal-cell:hover .gal-caption{opacity:1;transform:translateY(0)}
.gc-1{grid-row:1/3}
@media (max-width:900px){.gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,200px)}.gc-1{grid-row:1/2;grid-column:1/3}}
@media (max-width:560px){.gal-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,220px)}.gc-1{grid-column:1/2}}

/* CTA BAND */
.cta-band{background:linear-gradient(120deg,var(--brand-600) 0%,var(--ink-700) 60%,var(--ink-800) 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at 90% 20%,rgba(0,174,239,.35),transparent 60%),radial-gradient(30% 50% at 0% 100%,rgba(16,185,129,.22),transparent 60%);pointer-events:none}
.cta-inner{display:grid;grid-template-columns:1.2fr auto;gap:32px;align-items:center;position:relative}
.cta-inner h2{color:#fff;font-size:clamp(28px,3.2vw,40px)}
.cta-inner p{color:rgba(255,255,255,.75);margin:14px 0 0;font-size:17px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:800px){.cta-inner{grid-template-columns:1fr}}

/* TESTIMONIALS */
.tests{background:var(--ivory)}
.tests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.test-card{background:var(--paper);border:1px solid var(--line-2);padding:32px 28px;border-radius:var(--r-xl);display:flex;flex-direction:column;gap:16px;transition:all .2s}
.test-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.quote-mark{font-family:var(--font-serif);font-size:60px;line-height:.6;color:var(--brand-400);height:18px;opacity:.6}
.test-card p{font-size:15.5px;line-height:1.6;margin:0;flex:1}
.test-foot{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--line-2)}
.test-photo{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0}
.test-meta b{display:block;font-size:14.5px;color:var(--ink-900);font-weight:700}
.test-meta small{color:var(--muted);font-size:12.5px}
.test-stars{margin-left:auto;color:#F5B800;font-size:13px;letter-spacing:1px}
@media (max-width:900px){.tests-grid{grid-template-columns:1fr}}

/* CONTACT */
.contact{background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.info-list{margin-top:32px;display:flex;flex-direction:column;gap:14px}
.info-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--ivory);border:1px solid var(--line-2);border-radius:var(--r-md);transition:all .2s}
.info-row:hover{border-color:var(--brand-400);transform:translateX(4px)}
.info-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);flex-shrink:0}
.info-row.wa .info-icon{background:#E7F9EF;color:var(--accent-600)}
.info-row b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin-bottom:2px}
.info-row span{display:block;color:var(--ink-900);font-weight:600;font-size:15px}
.form-card{background:var(--ivory);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:40px;box-shadow:var(--shadow-sm)}
.form-card h3{font-size:22px;margin-bottom:6px}
.form-card .hint{color:var(--muted);font-size:14px;margin-bottom:26px}
.field{margin-bottom:16px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-800);margin-bottom:6px;letter-spacing:.02em}
.field input,.field textarea,.field select{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-family:inherit;font-size:15px;color:var(--ink-900)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px rgba(21,101,216,.1)}
.field textarea{resize:vertical;min-height:110px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:4px 0 20px}
.form-submit{width:100%;padding:16px}
.form-alt{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--muted);text-align:center}
.form-alt a{color:var(--accent-600);font-weight:600}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}.form-card{padding:28px}.field-row{grid-template-columns:1fr}}

/* FOOTER */
footer{background:var(--ink-900);color:#fff;padding:72px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand .brand-text b{color:#fff}
.foot-brand .brand-text span{color:rgba(255,255,255,.5)}
.foot-brand p{color:rgba(255,255,255,.6);font-size:14px;line-height:1.6;margin:18px 0 0;max-width:34ch}
.foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5);font-weight:600;margin-bottom:16px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.foot-col li a{color:rgba(255,255,255,.78);font-size:14.5px}
.foot-col li a:hover{color:#fff}
.foot-addr{color:rgba(255,255,255,.78);font-size:14px;line-height:1.7;margin:0 0 16px}
.foot-map{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff;font-size:13.5px;font-weight:600}
.foot-bottom{padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:12px}
.foot-bottom a{color:rgba(255,255,255,.7)}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--whatsapp);color:#fff;display:grid;place-items:center;box-shadow:0 18px 30px -10px rgba(37,211,102,.55)}
.wa-float::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:var(--whatsapp);opacity:.3;animation:pulse 2.2s ease-out infinite;z-index:-1}
@keyframes pulse{0%{transform:scale(.9);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.wa-float svg{width:30px;height:30px}

/* WP required */
.alignleft{float:left;margin:0 20px 20px 0}
.alignright{float:right;margin:0 0 20px 20px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.screen-reader-text{position:absolute;left:-9999px}
.wp-block-image img{max-width:100%;height:auto}
.wp-block-quote{border-left:4px solid var(--brand-400);padding-left:20px;margin:28px 0;font-family:var(--font-serif);font-size:20px;font-style:italic;color:var(--ink-800)}
article ul{padding-left:20px}article ul li{margin:8px 0}
article h2{font-family:var(--font-serif);font-weight:500;margin:32px 0 16px;font-size:28px}
article h3{margin:24px 0 12px}

.float-card .fc-icon{color:#fff!important;background:rgba(255,255,255,.2)!important}

.float-card *{color:#fff!important}
.float-card .fc-icon{background:rgba(255,255,255,.2)!important;color:#fff!important}

/* =============================================
   MOBILE OPTIMIZATIONS (max-width: 768px)
   ============================================= */

/* NAV MOBILE */
@media (max-width: 980px) {
  .nav-inner { padding: 12px 16px; }
  .brand-logo { width: 52px; height: 52px; }
  .nav-links.is-open a { padding: 14px 16px; font-size: 16px; border-bottom: 1px solid var(--line-2); border-radius: 0; }
  .nav-links.is-open { border-radius: 0 0 var(--r-md) var(--r-md); box-shadow: var(--shadow-md); z-index: 100; }
}

/* HERO MOBILE */
@media (max-width: 768px) {
  .hero { padding: 32px 0 56px; }
  .hero-grid { gap: 28px !important; }
  .hero-copy .lead { font-size: 16px; margin-top: 16px; }
  .hero-actions { flex-direction: column; gap: 10px; margin-top: 24px; }
  .hero-actions .btn { width: 100%; justify-content: center; padding: 16px 24px; }
  .hero-meta { flex-direction: column; gap: 16px; margin-top: 28px; }
  .hero-visual { aspect-ratio: 4/3 !important; max-width: 100%; }
  .float-card { padding: 10px 12px; gap: 8px; }
  .fc-icon { width: 34px; height: 34px; }
  .fc-body b { font-size: 12px; }
  .fc-body small { font-size: 10.5px; }
  .float-1 { top: 4%; left: 0; }
  .float-2 { bottom: 14%; right: 0; }
  .float-3 { bottom: -2%; left: 8%; padding: 12px 14px; }
  .float-3 .fc-body b { font-size: 20px; }
}

/* AUTHORITY MOBILE */
@media (max-width: 560px) {
  .authority { padding: 40px 0; }
  .auth-grid { grid-template-columns: repeat(2,1fr); gap: 20px 12px; }
  .auth-item { flex-direction: column; align-items: flex-start; gap: 6px; }
  .auth-item .num { font-size: 32px; }
  .auth-item .lbl { font-size: 12.5px; }
}

/* SECTION PAD MOBILE */
@media (max-width: 768px) {
  .section-pad { padding: 64px 0; }
  .section-head { margin-bottom: 36px; }
  .section-head p { font-size: 15px; }
  .container { padding: 0 16px; }
}

/* SPECS MOBILE */
@media (max-width: 560px) {
  .spec-grid { grid-template-columns: 1fr; gap: 16px; }
  .spec-img { aspect-ratio: 16/9; }
  .spec-body { padding: 18px; }
}

/* ABOUT MOBILE */
@media (max-width: 768px) {
  .about-grid { gap: 36px; }
  .about-badge { bottom: -14px; left: -10px; padding: 14px 16px; gap: 10px; }
  .about-badge .cr { width: 44px; height: 44px; }
  .about-badge b { font-size: 22px; }
}

/* DIFFS MOBILE */
@media (max-width: 560px) {
  .diff-grid { grid-template-columns: 1fr; gap: 12px; }
  .diff-card { padding: 20px; }
  .diff-icon { width: 44px; height: 44px; margin-bottom: 12px; }
}

/* CARD CALLOUT MOBILE */
@media (max-width: 768px) {
  .card-callout { padding: 56px 0; }
  .card-callout-inner { padding: 28px 24px; gap: 28px; }
  .card-callout-inner > div:first-child .btn { width: 100%; justify-content: center; }
  .card-callout-inner > div:first-child > div[style*="flex"] { flex-direction: column; gap: 10px; }
}

/* GALLERY MOBILE */
@media (max-width: 560px) {
  .gal-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5,200px); gap: 10px; }
  .gc-1 { grid-row: 1/2; grid-column: 1/2; }
}

/* CTA BAND MOBILE */
@media (max-width: 768px) {
  .cta-band { padding: 56px 0; }
  .cta-actions { flex-direction: column; width: 100%; }
  .cta-actions .btn { width: 100%; justify-content: center; }
}

/* TESTIMONIALS MOBILE */
@media (max-width: 768px) {
  .tests-grid { grid-template-columns: 1fr; gap: 16px; }
  .test-card { padding: 22px 18px; }
}

/* CONTACT MOBILE */
@media (max-width: 768px) {
  .contact-grid { gap: 32px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-card { padding: 22px 18px; border-radius: var(--r-lg); }
  .info-row { padding: 12px 14px; }
}

/* FOOTER MOBILE */
@media (max-width: 768px) {
  footer { padding: 48px 0 0; }
  .foot-grid { grid-template-columns: 1fr; gap: 28px; padding-bottom: 32px; }
  .foot-bottom { font-size: 12px; flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* TYPOGRAPHY MOBILE */
@media (max-width: 560px) {
  h1 { font-size: clamp(32px, 9vw, 48px); }
  h2 { font-size: clamp(26px, 7vw, 36px); }
  .lead { font-size: 15px; }
  .eyebrow { font-size: 11px; }
}

/* WA FLOAT MOBILE */
@media (max-width: 768px) {
  .wa-float { bottom: 16px; right: 16px; width: 52px; height: 52px; }
  .wa-float svg { width: 26px; height: 26px; }
}


/* =============================================
   HERO MOBILE FIX — sobreposição dos float cards
   ============================================= */

@media (max-width: 900px) {

  /* Grid do hero: coluna única, sem sobreposição */
  .hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* Esconde completamente a coluna visual (imagem + float cards) no mobile */
  .hero-visual {
    display: none !important;
  }

  /* Texto do hero ocupa a largura toda */
  .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Botões empilhados e largura total */
  .hero-actions {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 24px !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
  }

  /* Hero meta (equipe + avaliações): coluna única */
  .hero-meta {
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 28px !important;
  }
  .hero-meta-item {
    align-items: center !important;
  }

  /* Padding do hero */
  .hero {
    padding: 28px 0 40px !important;
  }

  /* Texto lead menor */
  .hero-copy .lead {
    font-size: 16px !important;
    margin-top: 14px !important;
    max-width: 100% !important;
  }

  /* Eyebrow */
  .hero-copy .eyebrow {
    font-size: 11px !important;
  }

  /* h1 */
  .hero-copy h1 {
    font-size: clamp(34px, 9vw, 52px) !important;
    margin-top: 14px !important;
  }
}

/* NAV TOGGLE — animação hambúrguer ativo */
.nav-toggle.is-active { background: var(--brand-600); }
.nav-toggle svg line:nth-child(1) { transition: transform .25s, opacity .25s; transform-origin: center; }
.nav-toggle svg line:nth-child(2) { transition: opacity .25s; }
.nav-toggle svg line:nth-child(3) { transition: transform .25s; transform-origin: center; }
.nav-toggle.is-active svg line:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.nav-toggle.is-active svg line:nth-child(2) { opacity: 0; }
.nav-toggle.is-active svg line:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }

/* MOBILE MENU OVERLAY */
#mobile-menu { display: none; }
#mobile-menu.is-open { display: flex !important; }
#mobile-menu .mobile-nav-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
}
#mobile-menu .mobile-nav-links li a {
    display: block;
    width: 100%;
    text-align: center;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: 14px;
    font-family: var(--font-sans);
    letter-spacing: -.01em;
    transition: background .15s;
}
#mobile-menu .mobile-nav-links li a:hover,
#mobile-menu .mobile-nav-links li a:active {
    background: rgba(255,255,255,.1);
}
#mobile-menu .mobile-nav-links li a[href*="cartao-cem"] {
    color: #34D399 !important;
}

/* TOPBAR RESULTADOS */
.topbar-resultados {
    background: var(--brand-500);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 9px 16px;
}
.topbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff !important;
    font-size: 13.5px;
    font-weight: 600;
    font-family: var(--font-sans);
    letter-spacing: .01em;
    padding: 6px 20px;
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3);
    transition: background .18s;
}
.topbar-btn:hover {
    background: rgba(255,255,255,.25);
}
.topbar-btn svg {
    flex-shrink: 0;
    opacity: .9;
}

/* DESENVOLVIDO POR */
.foot-dev {
    text-align: center;
    padding: 14px 0;
    font-size: 12px;
    color: rgba(255,255,255,.3);
    border-top: 1px solid rgba(255,255,255,.06);
}
.foot-dev a {
    color: rgba(255,255,255,.5);
    font-weight: 600;
    letter-spacing: .04em;
    transition: color .2s;
}
.foot-dev a:hover { color: #fff; }
