/* ==========================================================================
   ABO Tocantins – estilos do tema
   MOBILE FIRST: o CSS base é o do celular. Telas maiores recebem ajustes em
   @media (min-width: 720px)  → tablet
   @media (min-width: 1080px) → computador
   @media (min-width: 1200px) → telas largas
   ========================================================================== */

/* Fontes locais (sem depender do Google) ---------------------------------- */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/opensans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/opensans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Variáveis --------------------------------------------------------------- */
:root{
	--abo-navy:#2A4271;
	--abo-navy-d:#1A2B4C;
	--abo-navy-dd:#111D35;
	--abo-green:#00672F;
	--abo-green-d:#004F24;
	--abo-green-l:#E3F1E8;
	--abo-wine:#721E1B;
	--abo-sky:#E8EDF6;
	--abo-alt:#F4F6FA;
	--abo-line:#E1E6EF;
	--abo-text:#3A4256;
	--abo-muted:#5F6880;
	--abo-radius:14px;
	--abo-radius-lg:18px;
	--abo-shadow:0 1px 2px rgba(17,29,53,.06),0 8px 24px rgba(17,29,53,.08);
	--abo-shadow-lg:0 20px 50px rgba(17,29,53,.2);
	--abo-head:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
	--abo-body:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
	--abo-container:1240px;
	--abo-gutter:16px;
	--abo-header-h:64px;
	--abo-mbar-h:64px;
	--abo-tap:44px; /* alvo mínimo de toque */
	--abo-section:56px;
}

/* Base -------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:calc(var(--abo-header-h) + 12px)}
body{margin:0;font-family:var(--abo-body);font-size:16px;line-height:1.65;color:var(--abo-text);background:#fff;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,103,47,.12)}
body.has-mbar{padding-bottom:calc(var(--abo-mbar-h) + env(safe-area-inset-bottom))}
img,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
a{color:var(--abo-green);text-decoration:none;transition:color .2s}
a:hover{color:var(--abo-green-d)}
h1,h2,h3,h4,h5,h6{font-family:var(--abo-head);color:var(--abo-navy-d);line-height:1.2;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em;overflow-wrap:break-word}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
a,button{touch-action:manipulation}
:focus-visible{outline:3px solid #7FB4FF;outline-offset:2px;border-radius:4px}
.abo-ico{flex:none;display:inline-block;vertical-align:middle}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.abo-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--abo-navy);color:#fff;padding:10px 16px;border-radius:8px}
.abo-skip:focus{left:8px;color:#fff}

.abo-container{width:100%;max-width:calc(var(--abo-container) + var(--abo-gutter)*2);margin:0 auto;padding:0 var(--abo-gutter)}
.abo-container--narrow{max-width:calc(840px + var(--abo-gutter)*2)}
.abo-section{padding:var(--abo-section) 0}
.abo-section--alt{background:var(--abo-alt)}
.abo-section--page{padding:40px 0 56px}

.abo-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--abo-head);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--abo-green);margin:0 0 10px}
.abo-kicker::before{content:"";width:24px;height:3px;border-radius:3px;background:currentColor;flex:none}
.abo-kicker--light{color:#9EE0B6}
.abo-h2{font-size:clamp(26px,6.4vw,40px);font-weight:800;margin-bottom:12px}
.abo-h3{font-size:21px}
.abo-section__head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:20px}
.abo-section__head .abo-h2{margin-bottom:6px}
.abo-section__lead{color:var(--abo-muted);max-width:560px;margin:0;font-size:16px}

/* Botões (altura mínima de 48px: fácil de tocar) ------------------------- */
.abo-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-family:var(--abo-head);font-weight:700;font-size:15px;line-height:1.2;padding:12px 22px;border-radius:999px;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;text-align:center}
.abo-btn--lg{min-height:54px;padding:14px 28px;font-size:16px}
.abo-btn--green{background:var(--abo-green);color:#fff;box-shadow:0 8px 20px rgba(0,103,47,.25)}
.abo-btn--green:hover{background:var(--abo-green-d);color:#fff}
.abo-btn--blue{background:var(--abo-navy);color:#fff}
.abo-btn--blue:hover{background:var(--abo-navy-d);color:#fff}
.abo-btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.abo-btn--ghost:hover{background:#fff;color:var(--abo-navy-d);border-color:#fff}
.abo-btn--outline{border-color:var(--abo-navy);color:var(--abo-navy)}
.abo-btn--outline:hover{background:var(--abo-navy);color:#fff}
.abo-btn--white{background:#fff;color:var(--abo-navy-d)}
.abo-btn--white:hover{background:var(--abo-green-l);color:var(--abo-green-d)}
.abo-btn:active{transform:scale(.98)}
.abo-link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:var(--abo-tap);font-family:var(--abo-head);font-weight:700;color:var(--abo-navy)}
.abo-link-arrow .abo-ico{transition:transform .2s}
.abo-link-arrow:hover{color:var(--abo-green)}

/* Barra superior (só a partir do tablet) ---------------------------------- */
.abo-topbar{display:none;background:var(--abo-navy-dd);color:#C9D3E6;font-size:13.5px}
.abo-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px}
.abo-topbar__info{display:flex;gap:26px;list-style:none;margin:0;padding:0;min-width:0}
.abo-topbar__info li{display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:0}
.abo-topbar__info a{color:#C9D3E6;display:inline-flex;align-items:center;gap:8px}
.abo-topbar__info a:hover{color:#fff}
.abo-topbar__info .abo-ico{color:#7FD09D}
.abo-topbar__addr{display:none!important;overflow:hidden;text-overflow:ellipsis}
.abo-socials{display:flex;gap:8px}
.abo-socials a{display:grid;place-items:center;width:var(--abo-tap);height:var(--abo-tap);border-radius:50%;color:#C9D3E6;transition:background .2s,color .2s}
.abo-socials--top a{width:32px;height:32px}
.abo-socials a:hover{background:rgba(255,255,255,.1);color:#fff}

/* Cabeçalho --------------------------------------------------------------- */
.abo-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--abo-line);transition:box-shadow .25s}
.abo-header.is-stuck{box-shadow:0 6px 24px rgba(17,29,53,.08)}
.abo-header__inner{display:flex;align-items:center;gap:16px;min-height:var(--abo-header-h)}
.abo-header__brand .abo-logo img,.abo-header__brand .custom-logo{height:44px;width:auto;transition:height .25s}
.abo-header__actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.abo-header__cta{display:none}
.abo-burger{display:grid;place-items:center;width:48px;height:48px;background:none;border:0;color:var(--abo-navy-d);margin-right:-10px;border-radius:12px}
.abo-burger:active{background:var(--abo-alt)}

/* Menu – celular: painel lateral */
.abo-nav{position:fixed;top:0;right:0;bottom:0;width:min(380px,88vw);background:#fff;z-index:300;padding:16px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--abo-shadow-lg);display:none;flex-direction:column}
.abo-nav.is-open{display:flex;animation:abo-slidein .28s ease}
body.abo-menu-open{overflow:hidden}
body.abo-menu-open .abo-header{z-index:400}
.abo-nav-overlay{position:fixed;inset:0;background:rgba(17,29,53,.5);z-index:350}
.abo-nav__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--abo-line)}
.abo-nav__head img{height:44px;width:auto}
.abo-nav__close{background:var(--abo-alt);border:0;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;color:var(--abo-navy-d)}
.abo-nav__cta-mobile{display:flex;margin-top:24px}
.abo-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.abo-menu li{position:relative}
.abo-menu>li{border-bottom:1px solid var(--abo-line);display:flex;flex-wrap:wrap;align-items:center}
.abo-menu>li>a{flex:1;display:flex;align-items:center;min-height:54px;padding:8px 4px;font-family:var(--abo-head);font-weight:600;font-size:16px;color:var(--abo-navy-d)}
.abo-menu>li.current-menu-item>a,.abo-menu>li.current-menu-ancestor>a,.abo-menu>li.current_page_item>a{color:var(--abo-green)}
.abo-sub-toggle{display:grid;place-items:center;width:48px;height:48px;border:0;background:var(--abo-alt);border-radius:12px;color:var(--abo-navy-d);transition:transform .2s}
.abo-sub-toggle[aria-expanded=true]{transform:rotate(180deg)}
.abo-menu .sub-menu{list-style:none;margin:0;padding:0 0 10px 10px;width:100%;display:none}
.abo-menu li.is-open>.sub-menu{display:block}
.abo-menu .sub-menu a{display:flex;align-items:center;min-height:var(--abo-tap);padding:8px 12px;border-radius:9px;color:var(--abo-text);font-size:15px;font-weight:500}
.abo-menu .sub-menu a:hover,.abo-menu .sub-menu .current-menu-item>a{background:var(--abo-alt);color:var(--abo-green)}

/* Destaque (hero) --------------------------------------------------------- */
.abo-hero{position:relative;color:#fff;background:var(--abo-navy-d);overflow:hidden;padding:28px 0 32px}
.abo-hero__bg{position:absolute;inset:0;background:
	radial-gradient(600px 400px at 90% 10%,rgba(66,104,178,.55),transparent 60%),
	radial-gradient(500px 300px at 0% 100%,rgba(0,103,47,.35),transparent 60%),
	linear-gradient(135deg,var(--abo-navy-dd) 0%,var(--abo-navy) 100%)}
.abo-hero__bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1.2px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000 0%,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 70%)}
.abo-hero__bg::after{content:"";position:absolute;width:700px;height:280px;right:-300px;top:30px;border:2px solid rgba(201,52,46,.45);border-radius:50%;transform:rotate(-18deg)}
.abo-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.abo-hero__title{color:#fff;font-size:clamp(28px,8vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:12px;text-wrap:balance}
.abo-hero__lead{font-size:16px;color:#D3DCEE;margin-bottom:20px}
.abo-hero__actions{display:grid;grid-template-columns:1fr;gap:10px}

/* Carrossel */
.abo-slider{position:relative;border-radius:var(--abo-radius);box-shadow:var(--abo-shadow-lg);overflow:hidden;background:var(--abo-navy);aspect-ratio:1220/638;outline:4px solid rgba(255,255,255,.08);touch-action:pan-y}
.abo-slider__track{position:absolute;inset:0}
.abo-slider__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.abo-slider__slide.is-active{opacity:1;visibility:visible}
.abo-slider__slide a,.abo-slider__slide img{display:block;width:100%;height:100%}
.abo-slider__slide img{object-fit:cover}
.abo-slider__arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--abo-navy-d);place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2);opacity:0;transition:opacity .2s,background .2s}
.abo-slider__arrow--prev{left:14px}
.abo-slider__arrow--next{right:14px}
.abo-slider__dots{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:center}
.abo-slider__dots button{position:relative;width:28px;height:28px;padding:0;border:0;background:none}
.abo-slider__dots button::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:8px;background:rgba(255,255,255,.6);transition:width .3s,margin .3s,background .3s}
.abo-slider__dots button.is-active::after{width:22px;margin-left:-11px;background:#fff}

/* Números ----------------------------------------------------------------- */
.abo-facts{position:relative;z-index:2;padding-top:4px;background:linear-gradient(var(--abo-navy) 0 50%,transparent 50%)}
.abo-facts__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);background:#fff;border-radius:var(--abo-radius);box-shadow:var(--abo-shadow-lg)}
.abo-facts__list li{padding:16px;display:flex;flex-direction:column;gap:4px;position:relative}
.abo-facts__list li:nth-child(even)::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--abo-line)}
.abo-facts__list li:nth-child(n+3){border-top:1px solid var(--abo-line)}
.abo-facts__list strong{font-family:var(--abo-head);font-size:24px;font-weight:800;color:var(--abo-navy);line-height:1}
.abo-facts__list strong::after{content:"";display:block;width:22px;height:3px;border-radius:3px;background:var(--abo-green);margin-top:8px}
.abo-facts__list span{color:var(--abo-muted);font-size:13.5px;line-height:1.4}

/* Cards ------------------------------------------------------------------- */
.abo-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.abo-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--abo-line);border-radius:var(--abo-radius);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.abo-card[hidden]{display:none}
.abo-card__media{position:relative;display:block;aspect-ratio:16/10;background:var(--abo-sky);overflow:hidden}
.abo-card--course .abo-card__media{aspect-ratio:1220/638}
.abo-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.abo-card__ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--abo-navy);opacity:.35;background:linear-gradient(135deg,var(--abo-sky),#fff)}
.abo-card__tag{position:absolute;left:10px;top:10px;background:var(--abo-navy);color:#fff;font-family:var(--abo-head);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:6px}
.abo-card__body{display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;flex:1}
.abo-card__title{font-size:17px;line-height:1.35;margin:0}
.abo-card__title a{color:var(--abo-navy-d)}
.abo-card__title a:hover{color:var(--abo-green)}
.abo-card__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--abo-muted);font-size:14px}
.abo-card__meta li{display:inline-flex;align-items:center;gap:6px}
.abo-card__price{margin:0;font-family:var(--abo-head);font-weight:700;color:var(--abo-navy)}
.abo-card__date{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;color:var(--abo-muted);font-size:13.5px}
.abo-card__cat{background:var(--abo-green-l);color:var(--abo-green-d);font-weight:600;font-size:12px;padding:3px 9px;border-radius:999px}
.abo-card__excerpt{margin:0;color:var(--abo-muted);font-size:15px}
.abo-card__more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;min-height:var(--abo-tap);font-family:var(--abo-head);font-weight:700;font-size:14.5px;color:var(--abo-green)}
.abo-card__more .abo-ico{transition:transform .2s}
.abo-card__actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:8px;padding-top:6px}
.abo-card__actions .abo-card__more{margin:0;justify-content:center;border:2px solid var(--abo-line);border-radius:999px;color:var(--abo-navy)}
.abo-card__actions .abo-card__more:hover{border-color:var(--abo-navy)}
.abo-card__wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--abo-tap);padding:8px 16px;border-radius:999px;background:var(--abo-green);color:#fff;font-family:var(--abo-head);font-weight:700;font-size:14.5px}
.abo-card__wa:hover{background:var(--abo-green-d);color:#fff}

/* Notícias no celular: lista compacta (foto à esquerda) */
.abo-news .abo-card--post{display:grid;grid-template-columns:112px minmax(0,1fr)}
.abo-news .abo-card--post .abo-card__media{aspect-ratio:auto;height:100%;min-height:112px}
.abo-news .abo-card--post .abo-card__body{padding:12px 14px;gap:4px}
.abo-news .abo-card--post .abo-card__title{font-size:15.5px}
.abo-news .abo-card--post .abo-card__excerpt{display:none}
.abo-news .abo-card--post .abo-card__more{min-height:36px}
.abo-news .abo-card--post .abo-card__cat{display:none}

/* Cursos: no celular, carrossel com arraste lateral ---------------------- */
.abo-courses{padding-top:calc(var(--abo-section) - 16px)}
.abo-chips{display:flex;gap:8px;margin:0 calc(var(--abo-gutter)*-1) 14px;padding:2px var(--abo-gutter) 6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.abo-chips::-webkit-scrollbar{display:none}
.abo-chips button{flex:none;min-height:var(--abo-tap);border:1px solid var(--abo-line);background:#fff;color:var(--abo-text);font-family:var(--abo-head);font-weight:600;font-size:14px;padding:8px 18px;border-radius:999px;transition:all .2s}
.abo-chips button:hover{border-color:var(--abo-navy);color:var(--abo-navy)}
.abo-chips button.is-active{background:var(--abo-navy);border-color:var(--abo-navy);color:#fff}
.abo-courses .abo-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--abo-gutter)*-1);padding:4px var(--abo-gutter) 12px;scroll-padding:0 var(--abo-gutter);gap:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.abo-courses .abo-grid::-webkit-scrollbar{display:none}
.abo-courses .abo-card{scroll-snap-align:start}
.abo-swipe-dots{display:flex;justify-content:center;gap:6px;margin-top:6px}
.abo-swipe-dots span{width:7px;height:7px;border-radius:7px;background:#CDD4E0;transition:width .3s,background .3s}
.abo-swipe-dots span.is-active{width:20px;background:var(--abo-navy)}

/* Sobre ------------------------------------------------------------------- */
.abo-about{background:var(--abo-alt)}
.abo-about__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.abo-about__media{position:relative;z-index:0}
.abo-about__media img{width:100%;border-radius:var(--abo-radius-lg);aspect-ratio:16/10;object-fit:cover;box-shadow:var(--abo-shadow)}
.abo-about__media::before{content:"";position:absolute;inset:auto auto -18px -18px;width:55%;height:60%;border-radius:var(--abo-radius-lg);background:var(--abo-green);z-index:-1;display:none}
.abo-about__badge{position:absolute;right:12px;bottom:12px;background:var(--abo-wine);color:#fff;padding:12px 16px;border-radius:var(--abo-radius);box-shadow:var(--abo-shadow-lg);display:flex;flex-direction:column}
.abo-about__badge strong{font-family:var(--abo-head);font-size:18px;font-weight:800;line-height:1.1}
.abo-about__badge span{font-size:13px;opacity:.85}
.abo-checks{list-style:none;margin:20px 0 24px;padding:0;display:grid;gap:12px}
.abo-checks li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--abo-navy-d)}
.abo-checks .abo-ico{color:#fff;background:var(--abo-green);border-radius:50%;padding:4px;width:26px;height:26px;margin-top:-1px}
.abo-about__actions{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap}

/* Clínica ----------------------------------------------------------------- */
.abo-clinic__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.abo-clinic__text>p{margin-bottom:22px}
.abo-clinic__actions{display:grid;grid-template-columns:1fr;gap:10px}
.abo-specs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.abo-spec{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border-radius:var(--abo-radius);background:#fff;border:1px solid var(--abo-line);transition:transform .25s,box-shadow .25s}
.abo-spec:nth-child(4n+1),.abo-spec:nth-child(4n+4){background:var(--abo-navy);border-color:var(--abo-navy)}
.abo-spec:nth-child(4n+1) strong,.abo-spec:nth-child(4n+4) strong{color:#fff}
.abo-spec:nth-child(4n+1) .abo-spec__ico,.abo-spec:nth-child(4n+4) .abo-spec__ico{background:rgba(255,255,255,.12);color:#fff}
.abo-spec__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--abo-green-l);color:var(--abo-green);flex:none}
.abo-spec strong{font-family:var(--abo-head);font-size:15px;color:var(--abo-navy-d);line-height:1.3}

/* Associe-se -------------------------------------------------------------- */
.abo-join{padding:0 0 8px}
.abo-join__box{display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:linear-gradient(140deg,var(--abo-wine) 0%,#8E2A25 45%,var(--abo-navy) 100%);color:#fff;border-radius:var(--abo-radius-lg);padding:28px 22px;position:relative;overflow:hidden}
.abo-join__box::after{content:"";position:absolute;width:320px;height:320px;right:-140px;top:-160px;border-radius:50%;border:2px solid rgba(255,255,255,.15)}
.abo-join__ico{display:none;place-items:center;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.12);flex:none}
.abo-join__text h2{color:#fff;font-size:clamp(22px,5.6vw,32px);font-weight:800;margin-bottom:8px}
.abo-join__text p{margin:0;color:#F1DADA;max-width:640px}
.abo-join .abo-btn{position:relative;z-index:1;width:100%}

/* Contato ----------------------------------------------------------------- */
.abo-contact{background:var(--abo-alt);margin-top:var(--abo-section)}
.abo-news+.abo-contact{margin-top:0}
.abo-contact__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.abo-contact__list{list-style:none;margin:8px 0 24px;padding:0;display:grid;gap:18px}
.abo-contact__list li{display:flex;gap:14px;align-items:flex-start;min-width:0}
.abo-contact__list li>div{min-width:0;overflow-wrap:anywhere}
.abo-contact__list strong{display:block;font-family:var(--abo-head);color:var(--abo-navy-d);font-size:15px}
.abo-contact__list a{color:var(--abo-text);display:inline-flex;align-items:center;min-height:var(--abo-tap)}
.abo-contact__list a:hover{color:var(--abo-green)}
.abo-contact__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--abo-green);box-shadow:var(--abo-shadow);flex:none}
.abo-contact__info .abo-btn{width:100%}
.abo-contact__map{border-radius:var(--abo-radius-lg);overflow:hidden;box-shadow:var(--abo-shadow);background:var(--abo-sky)}
.abo-contact__map iframe{display:block;width:100%;height:280px;border:0}

/* Páginas internas -------------------------------------------------------- */
.abo-pagehero{position:relative;background:linear-gradient(135deg,var(--abo-navy-dd),var(--abo-navy));color:#fff;padding:28px 0 32px;overflow:hidden}
.abo-pagehero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(270deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(270deg,#000,transparent 60%)}
.abo-pagehero::after{content:"";position:absolute;width:560px;height:200px;right:-260px;top:20px;border:2px solid rgba(201,52,46,.4);border-radius:50%;transform:rotate(-14deg)}
.abo-pagehero .abo-container{position:relative;z-index:1}
.abo-pagehero__title{color:#fff;font-size:clamp(26px,7vw,44px);font-weight:800;margin:0;text-wrap:balance}
.abo-pagehero__sub{color:#D3DCEE;margin:10px 0 0;max-width:680px}
.abo-pagehero__sub p{margin:0}
.abo-pagehero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 0;color:#C9D3E6;font-size:14px}
.abo-pagehero__meta a{color:#9EE0B6}
.abo-breadcrumb{display:flex;flex-wrap:wrap;gap:6px 8px;font-size:13.5px;color:#9FB0CF;margin-bottom:10px}
.abo-breadcrumb a{color:#C9D3E6}
.abo-breadcrumb a:hover{color:#fff}

.abo-featured{margin:0 0 24px}
.abo-featured img{width:100%;border-radius:var(--abo-radius)}
.abo-prose{font-size:17px;line-height:1.75;overflow-wrap:break-word}
.abo-prose>*:first-child{margin-top:0}
.abo-prose h2{font-size:24px;margin-top:1.6em}
.abo-prose h3{font-size:20px;margin-top:1.4em}
.abo-prose a{text-decoration:underline;text-underline-offset:3px}
.abo-prose img{border-radius:12px}
.abo-prose ul,.abo-prose ol{padding-left:1.3em}
.abo-prose li{margin-bottom:.4em}
.abo-prose blockquote{margin:1.6em 0;padding:16px 20px;border-left:4px solid var(--abo-green);background:var(--abo-alt);border-radius:0 12px 12px 0;font-style:italic}
.abo-prose figure{margin:1.6em 0}
.abo-prose figcaption{font-size:14px;color:var(--abo-muted);text-align:center;margin-top:8px}
.abo-prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}
.abo-prose th,.abo-prose td{border:1px solid var(--abo-line);padding:10px 12px;text-align:left}
.abo-prose th{background:var(--abo-alt)}
.abo-prose iframe{width:100%}
.alignwide{max-width:1100px}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.alignleft,.alignright{float:none;margin:0 0 16px}
.aligncenter{margin-left:auto;margin-right:auto}

/* Conteúdo vindo do Elementor */
.abo-el-content{min-height:30vh}
.abo-el-content .elementor-button{border-radius:999px;font-family:var(--abo-head);font-weight:700;min-height:48px;display:inline-flex;align-items:center}

.abo-post-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:32px 0 24px;padding-top:20px;border-top:1px solid var(--abo-line)}
.abo-tags a{display:inline-block;margin:0 6px 6px 0;padding:8px 14px;border-radius:999px;background:var(--abo-alt);color:var(--abo-text);font-size:13.5px}
.abo-share{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--abo-navy-d)}
.abo-share a{display:grid;place-items:center;width:var(--abo-tap);height:var(--abo-tap);border-radius:50%;background:var(--abo-alt);color:var(--abo-navy)}
.abo-share a:hover{background:var(--abo-green);color:#fff}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:12px}
.post-navigation a{display:block;padding:16px 18px;border:1px solid var(--abo-line);border-radius:var(--abo-radius);color:var(--abo-navy-d);height:100%}
.post-navigation a:hover{border-color:var(--abo-green)}
.post-navigation small{display:block;color:var(--abo-muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.post-navigation span{font-family:var(--abo-head);font-weight:700;font-size:15px}

.pagination{margin-top:36px}
.pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:grid;place-items:center;min-width:var(--abo-tap);height:var(--abo-tap);padding:0 10px;border-radius:12px;border:1px solid var(--abo-line);color:var(--abo-navy-d);font-family:var(--abo-head);font-weight:700}
.pagination .page-numbers.current,.pagination .page-numbers:hover{background:var(--abo-navy);border-color:var(--abo-navy);color:#fff}

.abo-search{display:flex;max-width:460px;margin:20px 0;border:1px solid var(--abo-line);border-radius:999px;overflow:hidden;background:#fff}
.abo-search input[type=search]{flex:1;border:0;border-radius:0;padding:12px 18px;min-height:48px;outline:0;min-width:0;box-shadow:none}
.abo-search button{border:0;background:var(--abo-navy);color:#fff;padding:0 20px;min-width:52px}
.abo-empty{text-align:center;padding:32px 0}
.abo-empty .abo-search{margin:20px auto}
.abo-404{text-align:center}
.abo-404__code{display:block;font-family:var(--abo-head);font-weight:800;font-size:96px;line-height:1;color:var(--abo-sky);-webkit-text-stroke:2px var(--abo-navy)}
.abo-404 .abo-search{margin:24px auto}

/* Formulários – fonte 16px evita o zoom automático do iPhone ------------- */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=date],input[type=search],select,textarea{font:inherit;font-size:16px;color:var(--abo-text);border:1px solid #CDD4E0;border-radius:10px;padding:12px 14px;min-height:48px;background:#fff;max-width:100%;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--abo-navy);box-shadow:0 0 0 3px rgba(42,66,113,.15)}
input[type=submit],.wp-block-button__link{font-family:var(--abo-head);font-weight:700;background:var(--abo-green);color:#fff;border:0;border-radius:999px;padding:13px 26px;min-height:48px;cursor:pointer}
input[type=submit]:hover{background:var(--abo-green-d)}
.abo-comments{margin-top:40px}
.abo-comments__list{list-style:none;padding:0}
.comment-form label{display:block;font-weight:600;margin-bottom:4px}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%}

/* WooCommerce (cursos) ---------------------------------------------------- */
.abo-woo .woocommerce-result-count{color:var(--abo-muted);font-size:14px}
.abo-woo .woocommerce-ordering select{width:100%}
.abo-woo ul.products{display:grid!important;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0}
.abo-woo ul.products::before,.abo-woo ul.products::after{display:none!important}
.abo-woo ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--abo-line);border-radius:var(--abo-radius);overflow:hidden;padding:0 0 18px!important}
.abo-woo ul.products li.product img{margin:0 0 14px!important;aspect-ratio:16/10;object-fit:cover}
.abo-woo ul.products li.product .woocommerce-loop-product__title{font-family:var(--abo-head);font-size:16px!important;color:var(--abo-navy-d);padding:0 18px!important}
.abo-woo ul.products li.product .price{padding:0 18px;color:var(--abo-navy)!important;font-weight:700}
.abo-woo ul.products li.product .button{margin:8px 18px 0!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{font-family:var(--abo-head);font-weight:700;background:var(--abo-green)!important;color:#fff!important;border-radius:999px!important;padding:14px 24px!important;min-height:48px}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--abo-green-d)!important}
.woocommerce div.product .product_title{display:none}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:100%!important}
.woocommerce div.product div.images{margin-bottom:24px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--abo-navy)!important;font-family:var(--abo-head);font-weight:800}
.woocommerce div.product div.images img{border-radius:var(--abo-radius)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce div.product form.cart .button{flex:1}
.woocommerce .quantity .qty{min-height:48px;width:72px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;overflow-x:auto;padding:0!important;white-space:nowrap}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:10px 10px 0 0!important}
.woocommerce span.onsale{background:var(--abo-wine)!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--abo-green)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--abo-green)!important}
.abo-course-cta{margin:20px 0;padding:18px;border-radius:var(--abo-radius);background:var(--abo-green-l);border:1px solid #C5E3D0}
.abo-course-cta p{margin:0 0 12px;color:var(--abo-navy-d)}
.abo-course-cta .abo-btn{width:100%}

/* Rodapé ------------------------------------------------------------------ */
.abo-footer{background:var(--abo-navy-dd);color:#AEBBD3;font-size:15px;position:relative}
.abo-footer::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--abo-green) 0 33%,var(--abo-navy) 33% 66%,var(--abo-wine) 66% 100%)}
.abo-footer__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-top:44px;padding-bottom:36px}
.abo-footer h3{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.abo-footer__brand .abo-logo img{height:72px;width:auto;margin-bottom:16px}
.abo-footer__brand p{max-width:360px}
.abo-footer .abo-socials{margin-top:14px}
.abo-footer .abo-socials a{background:rgba(255,255,255,.07);color:#fff}
.abo-footer .abo-socials a:hover{background:var(--abo-green)}
.abo-footer__links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.abo-footer__links a{display:flex;align-items:center;min-height:var(--abo-tap);color:#AEBBD3}
.abo-footer__contact a{color:#AEBBD3;display:inline-flex;align-items:center;min-height:var(--abo-tap);margin:-10px 0}
.abo-footer__links a:hover,.abo-footer__contact a:hover{color:#fff}
.abo-footer__contact ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.abo-footer__contact li{display:flex;gap:12px;align-items:flex-start;min-width:0;overflow-wrap:anywhere}
.abo-footer__contact .abo-ico{color:#7FD09D;margin-top:3px}
.abo-footer__bottom{border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
.abo-footer__bottom-inner{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px 16px;padding:18px 0;flex-wrap:wrap}
.abo-footer__bottom p{margin:0}
.abo-totop{display:none;place-items:center;width:var(--abo-tap);height:var(--abo-tap);border-radius:50%;background:rgba(255,255,255,.07);color:#fff}
.abo-totop .abo-ico{transform:rotate(180deg)}
.abo-totop:hover{background:var(--abo-green);color:#fff}

/* Barra de ações fixa (celular e tablet) --------------------------------- */
.abo-mbar{position:fixed;left:0;right:0;bottom:0;z-index:210;display:flex;background:#fff;border-top:1px solid var(--abo-line);box-shadow:0 -6px 20px rgba(17,29,53,.08);padding-bottom:env(safe-area-inset-bottom);transition:transform .3s ease}
.abo-mbar>a,.abo-mbar>button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--abo-mbar-h);padding:6px 2px;border:0;background:none;color:var(--abo-navy-d);font-family:var(--abo-head);font-size:11.5px;font-weight:600;line-height:1.1}
.abo-mbar>a:active,.abo-mbar>button:active{background:var(--abo-alt)}
.abo-mbar>.abo-mbar__wa{color:#fff;background:#0F7A3A;margin:8px 4px;border-radius:14px;min-height:calc(var(--abo-mbar-h) - 16px);flex:1.15}
.abo-mbar>.abo-mbar__wa:active{background:#0B652F}
.abo-mbar>.abo-mbar__main{flex-direction:row;gap:10px;margin:6px var(--abo-gutter);border-radius:999px;background:var(--abo-green);color:#fff;font-size:16px;font-weight:700;min-height:52px}

/* WhatsApp (painel compartilhado + botão flutuante no computador) -------- */
.abo-wa{position:fixed;right:16px;bottom:calc(var(--abo-mbar-h) + 12px + env(safe-area-inset-bottom));z-index:220;display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:none}
.abo-wa>*{pointer-events:auto}
.abo-wa__btn{display:none;width:60px;height:60px;border-radius:50%;border:0;background:#25D366;color:#fff;place-items:center;box-shadow:0 10px 28px rgba(37,211,102,.45);transition:transform .2s;position:relative}
.abo-wa__btn::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:abo-pulse 2.4s infinite}
.abo-wa__btn[aria-expanded=true]::before{animation:none;opacity:0}
.abo-wa__x{display:none}
.abo-wa__btn[aria-expanded=true] .abo-wa__x{display:block}
.abo-wa__btn[aria-expanded=true] .abo-wa__open{display:none}
.abo-wa__open,.abo-wa__x{line-height:0}
.abo-wa__panel{width:340px;max-width:calc(100vw - 32px);background:#fff;border-radius:18px;box-shadow:var(--abo-shadow-lg);overflow:hidden;transform-origin:bottom right;animation:abo-pop .2s ease}
.abo-wa__head{display:flex;gap:12px;align-items:center;background:#075E54;color:#fff;padding:16px 18px;font-family:var(--abo-head);font-size:15px}
.abo-wa__panel .abo-wa__head strong{color:#fff;font-size:15px}
.abo-wa__panel ul{list-style:none;margin:0;padding:8px}
.abo-wa__panel a{display:flex;gap:14px;align-items:center;min-height:60px;padding:10px 12px;border-radius:12px;color:var(--abo-text)}
.abo-wa__panel a:hover,.abo-wa__panel a:active{background:#F0FBF4}
.abo-wa__panel strong{display:block;font-family:var(--abo-head);font-size:14.5px;color:var(--abo-navy-d)}
.abo-wa__panel small{display:block;font-size:13px;color:var(--abo-muted);line-height:1.4}
.abo-wa__ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#E7F9EE;color:#1DA851;flex:none}

@keyframes abo-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.55);opacity:0}}
@keyframes abo-slidein{from{transform:translateX(100%)}to{transform:none}}
@keyframes abo-pop{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:none}}

/* Animação de entrada (só se o usuário não pediu menos movimento) -------- */
@media (prefers-reduced-motion:no-preference){
	.js .abo-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
	.js .abo-reveal.is-in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Efeitos de passar o mouse só em aparelhos com mouse (não "grudam" no toque) */
@media (hover:hover){
	.abo-btn:hover{transform:translateY(-2px)}
	.abo-link-arrow:hover .abo-ico{transform:translateX(4px)}
	.abo-card:hover{transform:translateY(-4px);box-shadow:var(--abo-shadow);border-color:transparent}
	.abo-card:hover .abo-card__media img{transform:scale(1.04)}
	.abo-card:hover .abo-card__more .abo-ico{transform:translateX(4px)}
	.abo-spec:hover{transform:translateY(-3px);box-shadow:var(--abo-shadow)}
	.abo-slider:hover .abo-slider__arrow,.abo-slider__arrow:focus-visible{opacity:1}
	.abo-wa__btn:hover{transform:scale(1.06)}
}

/* ==========================================================================
   TABLET (≥ 720px)
   ========================================================================== */
@media (min-width:720px){
	:root{--abo-gutter:24px;--abo-header-h:76px;--abo-section:72px}
	.abo-topbar{display:block}
	.abo-header__brand .abo-logo img,.abo-header__brand .custom-logo{height:56px}
	.abo-header__cta{display:inline-flex}
	.abo-section__head{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:32px}
	.abo-section--page{padding:56px 0 72px}
	.abo-kicker{font-size:13px}

	.abo-hero{padding:48px 0 110px}
	.abo-hero__lead{font-size:18px}
	.abo-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
	.abo-slider{border-radius:var(--abo-radius-lg);outline-width:6px}
	.abo-slider__arrow{display:grid}

	.abo-facts{margin-top:-70px;padding-top:0;background:none}
	.abo-facts__list{grid-template-columns:repeat(4,1fr);border-radius:var(--abo-radius-lg)}
	.abo-facts__list li{padding:26px 22px}
	.abo-facts__list li:nth-child(n+3){border-top:0}
	.abo-facts__list li+li::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:var(--abo-line)}
	.abo-facts__list strong{font-size:30px}

	.abo-grid{gap:24px}
	.abo-grid--3,.abo-grid--4,.abo-woo ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
	.abo-courses{padding-top:var(--abo-section)}
	.abo-courses .abo-grid{grid-auto-columns:46%}
	.abo-card__body{padding:20px 22px 22px}
	.abo-news .abo-card--post{display:flex}
	.abo-news .abo-card--post .abo-card__media{aspect-ratio:16/10;height:auto;min-height:0}
	.abo-news .abo-card--post .abo-card__body{padding:20px 22px 22px;gap:8px}
	.abo-news .abo-card--post .abo-card__title{font-size:17px}
	.abo-news .abo-card--post .abo-card__excerpt{display:block}
	.abo-news .abo-card--post .abo-card__cat{display:inline}

	.abo-about__media{max-width:640px}
	.abo-about__media::before{display:block}
	.abo-about__badge{right:-12px;bottom:24px;padding:16px 20px}
	.abo-about__badge strong{font-size:22px}
	.abo-about__text>p,.abo-clinic__text>p{font-size:17px}

	.abo-clinic__actions{display:flex;flex-wrap:wrap;gap:14px}
	.abo-specs{gap:16px}
	.abo-spec{flex-direction:row;align-items:center;gap:16px;padding:22px}
	.abo-spec__ico{width:54px;height:54px}
	.abo-spec strong{font-size:17px}

	.abo-join__box{flex-direction:row;flex-wrap:wrap;align-items:center;gap:24px;padding:36px}
	.abo-join__ico{display:grid}
	.abo-join__text{flex:1;min-width:300px}
	.abo-join .abo-btn{width:auto}

	.abo-contact__info .abo-btn{width:auto}
	.abo-contact__map iframe{height:380px}

	.abo-pagehero{padding:48px 0 52px}
	.abo-prose h2{font-size:28px}
	.alignleft{float:left;margin:0 24px 16px 0}
	.alignright{float:right;margin:0 0 16px 24px}
	.post-navigation .nav-links{grid-template-columns:1fr 1fr}
	.post-navigation .nav-next{text-align:right;grid-column:2}

	.abo-course-cta .abo-btn{width:auto}
	.woocommerce div.product div.images{float:left!important;width:48%!important}
	.woocommerce div.product div.summary{float:right!important;width:48%!important}

	.abo-footer__grid{grid-template-columns:1fr 1fr;gap:40px;padding-top:60px}
	.abo-footer__links{grid-template-columns:1fr}
	.abo-footer__links a{min-height:36px}
	.abo-footer__bottom-inner{justify-content:space-between;text-align:left;min-height:68px}
	.abo-totop{display:grid}
}

/* ==========================================================================
   TABLET DEITADO (≥ 900px)
   ========================================================================== */
@media (min-width:900px){
	.abo-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px}
	.abo-hero__title{font-size:clamp(30px,3.9vw,52px)}
	.abo-grid--3,.abo-woo ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
	.abo-courses .abo-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0;padding:0}
	.abo-swipe-dots{display:none}
	.abo-chips{flex-wrap:wrap;overflow:visible;margin:-8px 0 30px;padding:0}
}

/* ==========================================================================
   COMPUTADOR (≥ 1080px)
   ========================================================================== */
@media (min-width:1080px){
	:root{--abo-header-h:96px;--abo-section:88px}
	body.has-mbar{padding-bottom:0}
	.abo-header{background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom-color:transparent}
	.abo-header.is-stuck{border-bottom-color:var(--abo-line)}
	.admin-bar .abo-header{top:32px}
	.abo-header__inner{gap:28px;transition:min-height .25s}
	.abo-header.is-stuck .abo-header__inner{min-height:76px}
	.abo-header__brand .abo-logo img,.abo-header__brand .custom-logo{height:68px}
	.abo-header.is-stuck .abo-header__brand img{height:54px}
	.abo-burger{display:none}

	/* Menu horizontal */
	.abo-nav{position:static;display:block;width:auto;padding:0;overflow:visible;box-shadow:none;background:none;margin-left:auto;animation:none}
	.abo-nav__head,.abo-nav__cta-mobile,.abo-nav-overlay{display:none!important}
	.abo-menu{flex-direction:row;align-items:center;gap:2px}
	.abo-menu>li{border:0;display:block}
	.abo-menu>li>a{min-height:0;padding:12px 9px;font-size:14.5px;border-radius:10px;gap:6px;transition:color .2s,background .2s}
	.abo-menu>li>a:hover,.abo-menu>li:hover>a{color:var(--abo-green);background:var(--abo-alt)}
	.abo-menu>li.current-menu-item>a::after,.abo-menu>li.current_page_item>a::after{content:"";position:absolute;left:9px;right:9px;bottom:4px;height:2px;border-radius:2px;background:var(--abo-green)}
	.abo-menu>li.menu-item-has-children>a::after{content:"";position:static;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:2px;background:none;opacity:.6;border-radius:0}
	.abo-sub-toggle{display:none}
	.abo-menu .sub-menu{display:block;position:absolute;top:100%;left:0;min-width:250px;width:auto;padding:10px;background:#fff;border-radius:var(--abo-radius);box-shadow:var(--abo-shadow-lg);border:1px solid var(--abo-line);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:20}
	.abo-menu li:hover>.sub-menu,.abo-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
	.abo-menu .sub-menu .sub-menu{top:-10px;left:100%}
	.abo-menu .sub-menu a{min-height:40px;font-size:14.5px}

	.abo-hero{padding:72px 0 140px}
	.abo-hero__bg::after{width:1100px;height:420px;right:-260px;top:40px}
	.abo-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:56px}
	.abo-hero__title{margin-bottom:20px}
	.abo-hero__lead{max-width:520px;margin-bottom:34px}

	.abo-facts{margin-top:-76px}
	.abo-facts__list li{padding:30px 28px}
	.abo-facts__list strong{font-size:34px}

	.abo-grid{gap:28px}
	.abo-grid--3,.abo-woo ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
	.abo-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
	/* Cursos viram grade normal */
	.abo-courses .abo-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0;padding:0;gap:28px}
	.abo-swipe-dots{display:none}
	.abo-chips{flex-wrap:wrap;overflow:visible;margin:-8px 0 30px;padding:0}
	.abo-card__actions{grid-template-columns:auto 1fr}

	.abo-about__grid{grid-template-columns:1fr 1fr;gap:72px}
	.abo-clinic__grid{grid-template-columns:1fr 1.05fr;gap:72px}
	.abo-about__media img{aspect-ratio:5/4}
	.abo-about__badge{right:-18px;bottom:28px;padding:18px 22px}

	.abo-join__box{flex-wrap:nowrap;gap:32px;padding:44px 52px}
	.abo-join__box::after{width:420px;height:420px;right:-120px;top:-200px}

	.abo-contact__grid{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:stretch}
	.abo-contact__map iframe{height:100%;min-height:380px}

	.abo-pagehero{padding:56px 0 60px}
	.abo-pagehero::after{width:760px;height:260px;right:-200px;top:30px}

	.abo-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px;padding-top:68px;padding-bottom:52px}

	/* Sem barra de ações: volta o botão flutuante */
	.abo-mbar{display:none}
	.abo-wa{right:22px;bottom:22px}
	.abo-wa__btn{display:grid}
	.abo-wa--nobubble{display:none}
}

@media (min-width:1200px){
	.abo-menu>li>a{padding:12px 13px;font-size:15px}
	.abo-menu>li.current-menu-item>a::after,.abo-menu>li.current_page_item>a::after{left:13px;right:13px}
	.abo-topbar__addr{display:flex!important}
}

/* ==========================================================================
   PÁGINA CLÍNICA (mobile first)
   ========================================================================== */
.abo-cp-hero{position:relative;background:linear-gradient(160deg,var(--abo-navy-dd),var(--abo-navy));color:#fff;overflow:hidden;padding:0 0 32px}
.abo-cp-hero::after{content:"";position:absolute;width:640px;height:240px;right:-320px;bottom:40px;border:2px solid rgba(201,52,46,.4);border-radius:50%;transform:rotate(-16deg);pointer-events:none}
.abo-cp-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.abo-cp-hero__media{position:relative;margin:0 calc(var(--abo-gutter)*-1)}
.abo-cp-hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.abo-cp-hero__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,var(--abo-navy-dd));pointer-events:none}
.abo-cp-hero__badge{position:absolute;left:var(--abo-gutter);bottom:14px;z-index:1;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--abo-navy-d);font-family:var(--abo-head);font-weight:700;font-size:13px;padding:9px 14px;border-radius:999px;box-shadow:var(--abo-shadow-lg)}
.abo-cp-hero__badge .abo-ico{color:var(--abo-green)}
.abo-cp-hero .abo-breadcrumb{display:none}
.abo-cp-hero__title{color:#fff;font-size:clamp(28px,8vw,50px);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance}
.abo-cp-hero__lead{color:#D3DCEE;font-size:16px;margin-bottom:22px}
.abo-cp-hero__actions{display:grid;gap:10px}

.abo-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;counter-reset:step}
.abo-step{position:relative;background:#fff;border:1px solid var(--abo-line);border-radius:var(--abo-radius);padding:20px 18px 20px 76px;min-height:96px}
.abo-step__num{position:absolute;left:18px;top:20px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--abo-navy);color:#fff;font-family:var(--abo-head);font-weight:800;font-size:18px}
.abo-step__ico{display:none}
.abo-step__title{font-size:17px;margin:2px 0 4px}
.abo-step p{margin:0;color:var(--abo-muted);font-size:15px}
.abo-cp-steps__cta{width:100%;margin-top:22px}

.abo-tx{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.abo-tx__item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--abo-line);border-radius:var(--abo-radius);padding:16px}
.abo-tx__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--abo-green-l);color:var(--abo-green);flex:none}
.abo-tx__item h3{font-size:17px;margin:2px 0 4px}
.abo-tx__item p{margin:0;color:var(--abo-muted);font-size:15px}
.abo-note{display:flex;gap:12px;align-items:flex-start;margin:20px 0 0;padding:14px 16px;border-radius:12px;background:#FFF7E6;border:1px solid #F3DEB0;color:#5B4A1E;font-size:15px}
.abo-note .abo-ico{color:#B7791F;margin-top:2px}

.abo-cp-where .abo-contact__info .abo-btn{width:100%}

.abo-cta-band{padding:0 0 var(--abo-section)}
.abo-cp-where+.abo-cta-band{padding-top:0}
.abo-cta-band__box{display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:linear-gradient(140deg,var(--abo-green-d),var(--abo-green) 60%,#0E8A43);color:#fff;border-radius:var(--abo-radius-lg);padding:28px 22px;position:relative;overflow:hidden}
.abo-cta-band--blue .abo-cta-band__box{background:linear-gradient(140deg,var(--abo-navy-dd),var(--abo-navy))}
.abo-cta-band__box::after{content:"";position:absolute;width:300px;height:300px;right:-140px;top:-150px;border-radius:50%;border:2px solid rgba(255,255,255,.18)}
.abo-cta-band__box h2{color:#fff;font-size:clamp(22px,5.6vw,30px);font-weight:800;margin:0 0 6px}
.abo-cta-band__box p{margin:0;color:rgba(255,255,255,.85)}
.abo-cta-band__box .abo-btn{width:100%;position:relative;z-index:1}

/* ==========================================================================
   PÁGINA CURSOS (mobile first)
   ========================================================================== */
.abo-pagehero__count{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:14px;font-weight:600}
.abo-pagehero__count .abo-ico{color:#9EE0B6}
.abo-catalog{padding-top:20px}
.abo-catalog__bar{position:sticky;top:var(--abo-header-h);z-index:50;background:#fff;margin:0 calc(var(--abo-gutter)*-1);padding:10px var(--abo-gutter);border-bottom:1px solid var(--abo-line);display:grid;gap:10px}
.admin-bar .abo-catalog__bar{top:var(--abo-header-h)}
.abo-catalog__search{position:relative;display:block}
.abo-catalog__search .abo-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--abo-muted);pointer-events:none}
.abo-catalog__search input{width:100%;padding-left:46px;border-radius:999px;background:var(--abo-alt);border-color:transparent}
.abo-catalog__search input:focus{background:#fff}
.abo-catalog__tools{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end}
.abo-catalog__open{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid #CDD4E0;border-radius:999px;background:#fff;color:var(--abo-navy-d);font-family:var(--abo-head);font-weight:700;font-size:15px}
.abo-catalog__badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--abo-green);color:#fff;font-size:12px}
.abo-catalog__badge[hidden]{display:none}
.abo-field{display:grid;gap:4px;min-width:0}
.abo-field__label{font-family:var(--abo-head);font-size:12.5px;font-weight:700;color:var(--abo-navy-d);letter-spacing:.02em}
.abo-field select{width:100%;appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%232A4271' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.abo-field--sort .abo-field__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.abo-field--sort select{border-radius:999px}

/* Filtros: no celular, painel que sobe de baixo */
.abo-filters{position:fixed;left:0;right:0;bottom:0;z-index:500;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px rgba(17,29,53,.25);max-height:85vh;display:none;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.abo-filters.is-open{display:flex;animation:abo-sheet .25s ease}
@keyframes abo-sheet{from{transform:translateY(100%)}to{transform:none}}
.abo-filters__overlay{position:fixed;inset:0;background:rgba(17,29,53,.5);z-index:490}
body.abo-sheet-open{overflow:hidden}
.abo-filters__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px 20px;border-bottom:1px solid var(--abo-line);font-family:var(--abo-head);font-size:17px;color:var(--abo-navy-d)}
.abo-filters__head::before{content:"";position:absolute;left:50%;top:6px;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:#CDD4E0}
.abo-filters__close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--abo-alt);color:var(--abo-navy-d)}
.abo-filters__body{padding:18px 20px;display:grid;gap:16px;overflow-y:auto}
.abo-filters__foot{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;padding:12px 20px 16px;border-top:1px solid var(--abo-line)}

.abo-chips--catalog{margin-top:14px;margin-bottom:6px}
.abo-catalog__status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px;color:var(--abo-muted);font-size:15px}
.abo-catalog__status p{margin:0}
.abo-catalog__status strong{color:var(--abo-navy-d)}
.abo-catalog__clear{min-height:var(--abo-tap);border:0;background:none;color:var(--abo-green);font-family:var(--abo-head);font-weight:700;font-size:14px;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.abo-catalog__clear[hidden],.abo-catalog__grid[hidden]{display:none}
.abo-catalog__empty{text-align:center;padding:40px 16px;border:2px dashed var(--abo-line);border-radius:var(--abo-radius-lg);color:var(--abo-muted)}
.abo-catalog__empty[hidden]{display:none}
.abo-catalog__empty>.abo-ico{color:var(--abo-navy);opacity:.5;margin-bottom:8px}
.abo-catalog__empty-actions{display:grid;gap:10px;margin-top:16px}

@media (min-width:720px){
	.abo-cp-hero{padding:48px 0 56px}
	.abo-cp-hero__media{margin:0;border-radius:var(--abo-radius-lg);overflow:hidden;box-shadow:var(--abo-shadow-lg)}
	.abo-cp-hero__media::after{display:none}
	.abo-cp-hero__badge{left:16px;bottom:16px}
	.abo-cp-hero .abo-breadcrumb{display:flex}
	.abo-cp-hero__lead{font-size:18px}
	.abo-cp-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
	.abo-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
	.abo-step{padding:28px 24px 26px;min-height:0}
	.abo-step__num{left:auto;right:20px;top:20px;width:36px;height:36px;font-size:15px;background:var(--abo-alt);color:var(--abo-navy)}
	.abo-step__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--abo-green);color:#fff;margin-bottom:16px}
	.abo-cp-steps__cta{width:auto}
	.abo-tx{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
	.abo-tx__item{padding:22px}
	.abo-cp-where .abo-contact__info .abo-btn{width:auto}
	.abo-cta-band__box{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:36px}
	.abo-cta-band__box .abo-btn{width:auto}
	.abo-catalog{padding-top:32px}
	.abo-catalog__bar{grid-template-columns:minmax(0,1fr) auto;align-items:center}
	.abo-catalog__tools{grid-template-columns:auto 260px}
	.abo-catalog__empty-actions{display:flex;justify-content:center;flex-wrap:wrap}
}
@media (min-width:1080px){
	.abo-cp-hero{padding:64px 0 72px}
	.abo-cp-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
	.abo-cp-hero__media{order:2}
	.abo-cp-hero__media img{aspect-ratio:5/4}
	.abo-cp-hero__text{order:1}
	.abo-tx{grid-template-columns:repeat(4,minmax(0,1fr))}
	.abo-tx__item{flex-direction:column}
	.abo-cta-band__box{flex-wrap:nowrap;padding:44px 52px}

	/* Filtros em linha, como na ABO Goiás */
	.abo-catalog__bar{position:static;margin:0 0 8px;padding:20px;border:1px solid var(--abo-line);border-radius:var(--abo-radius-lg);box-shadow:var(--abo-shadow);grid-template-columns:minmax(0,1fr) 260px;gap:16px 20px}
	.abo-catalog__search{grid-column:1}
	.abo-catalog__tools{grid-column:2;grid-row:1;display:block}
	.abo-catalog__open{display:none}
	.abo-field--sort .abo-field__label{position:static!important;width:auto;height:auto;clip:auto}
	.abo-catalog__search{align-self:end}
	.abo-filters{position:static;display:flex;flex-direction:row;align-items:end;gap:16px;grid-column:1/-1;max-height:none;box-shadow:none;border-radius:0;padding:0;background:none;animation:none}
	.abo-filters__head,.abo-filters__foot .abo-filters__apply,.abo-filters__overlay{display:none!important}
	.abo-filters__body{display:flex;flex:1;gap:16px;padding:0;overflow:visible}
	.abo-filters__body .abo-field{flex:1}
	.abo-filters__foot{display:block;padding:0;border:0}
	.abo-filters__foot [data-clear]{min-height:48px}
	.abo-catalog__grid.abo-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
	.abo-chips--catalog{display:none}
}
body.abo-sheet-open .abo-catalog__bar{z-index:600}
body.abo-sheet-open .abo-mbar,body.abo-sheet-open .abo-wa{display:none}
