/* ABA Med extends the approved V1 shell. */
.med-nav-group{position:relative;align-self:stretch;display:flex;align-items:center}
.med-nav-top{display:flex;align-items:center;gap:2px}
.med-nav-top>button{display:grid;place-items:center;background:none;border:0;color:#2e2e2e;padding:0;width:30px;height:44px;cursor:pointer}
.med-nav-top a{white-space:nowrap}
.med-nav-submenu{position:absolute;top:100%;left:-22px;width:284px;padding:12px;background:#fff;border:1px solid #e8e8e8;box-shadow:0 16px 32px #2e2e2e14;z-index:105}
.v1-main-nav .med-nav-submenu a{display:flex;align-items:center;min-height:46px;padding:10px 14px;font-size:15px;white-space:normal;border:0;border-radius:4px}
.med-nav-submenu a:hover,.med-nav-submenu a:focus-visible{background:#f7e0be}
.med-nav-submenu a[aria-current]{background:#f0fbfd;color:#2e2e2e}
.med-nav-group button[aria-expanded=true] svg{transform:rotate(180deg)}
.med-nav-group :focus-visible,.med-v1 :focus-visible{outline:2px solid #007e9b;outline-offset:4px}
.med-v1{color:#2e2e2e;--med-space:80px}
.med-v1 ::selection{background:#f7e0be;color:#2e2e2e}
.med-v1 a{text-underline-offset:5px}
.med-v1 h1,.med-v1 h2{font-weight:300;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
.med-v1 h1{font-size:clamp(44px,4.7vw,68px);margin:0 0 24px}
.med-v1 h2{font-size:clamp(32px,3.2vw,48px);margin:0 0 24px}
.med-v1 h3{font-size:20px;font-weight:500;line-height:1.25}
.med-v1 p{line-height:1.6;max-width:68ch}
.med-v1 .button-primary{background:#00d6fa;color:#2e2e2e;border-color:#00d6fa;border-radius:6px;min-height:48px;font-size:16px}
.med-v1 .button-primary:hover{background:#2e2e2e;border-color:#2e2e2e;color:#fff}
.med-v1 .button-outline{color:#2e2e2e;border-color:#007e9b;background:transparent;border-radius:6px;min-height:48px;font-size:16px}




.med-intro{display:flex;align-items:center;justify-content:space-between;padding-top:40px;padding-bottom:34px;gap:24px}
.med-intro h1{margin:0;font-size:clamp(60px,6vw,88px)}
.med-intro p{font-size:20px;line-height:1.45;margin:0;width:40%}
.med-chapters{display:grid;gap:32px}
.med-chapter{display:grid;grid-template-columns:1.1fr 1fr;min-height:430px;overflow:hidden}
.med-chapter-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px 60px;background:#f7e0be}
.med-chapter-copy p{font-size:19px;margin:0 0 28px;max-width:37ch}
.med-chapter-image{display:block;min-width:0}
.med-chapter-image img{width:100%;height:100%;max-height:480px;object-fit:cover;display:block}
.med-chapter-derma{grid-template-columns:1.2fr 1fr;min-height:390px;background:#f5fafb}
.med-chapter-derma .med-chapter-copy{background:transparent}
.med-chapter-portrait{width:100%;height:420px;object-fit:contain;object-position:bottom;align-self:end}
.med-chapter-weight{background:#f7e0be}
.med-chapter-weight .med-chapter-copy{background:transparent}
.med-close{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:64px;padding-bottom:64px}
.med-close h2{font-size:34px;margin:0 0 12px}
.med-close p{margin:0}
.med-close .button{flex-shrink:0}
.med-service-hero{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;margin-top:38px;margin-bottom:64px}
.med-service-hero>img{display:block;width:100%;height:370px;object-fit:cover}
.med-service-hero>div>p:first-of-type{font-size:24px;margin:0 0 16px}
.med-hero-detail{font-size:17px;max-width:42ch!important;margin-bottom:24px}
.med-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.med-section-title h2{margin:0}
.med-section-title p{font-size:15px;white-space:nowrap}
.med-filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}
.med-filters button{border:1px solid #d4d4d4;background:#fff;padding:12px 20px;min-height:46px;border-radius:24px;font:inherit;font-size:15px;color:#2e2e2e;cursor:pointer}
.med-filters button[aria-pressed=true]{background:#00d6fa;border-color:#00d6fa}
.med-service{border-top:1px solid #dedede}
.med-service:last-child{border-bottom:1px solid #dedede}
.med-service summary{display:flex;align-items:center;gap:24px;padding:25px 12px 25px 0;cursor:pointer;list-style:none}
.med-service summary::-webkit-details-marker,.med-weight-options summary::-webkit-details-marker{display:none}
.med-service-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.med-service-name strong{font-size:23px;font-weight:500;line-height:1.2}
.med-service-name>span{font-size:14px;color:#555}
.med-service-price{font-size:23px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.med-service-price del{font-size:16px;font-weight:400;color:#555}
.med-service-price ins{text-decoration:none;color:#2e2e2e;background:#f7e0be;padding:3px 8px}
.med-detail-label{font-size:14px;margin-left:24px}
.med-chevron{flex-shrink:0}
.med-service[open] .med-chevron{transform:rotate(180deg)}
.med-service-detail{display:grid;grid-template-columns:250px 1fr;gap:40px;padding:4px 0 36px}
.med-service-detail>img{width:250px;height:240px;object-fit:cover}
.med-service-detail h3{margin:18px 0 12px}
.med-service-detail p{margin:0;font-size:17px}
.med-service-detail ul{columns:2;padding-left:20px;line-height:1.6;margin-bottom:24px}
.med-service-detail li{break-inside:avoid;padding-bottom:4px;font-size:16px}
.med-derma-hero{display:grid;grid-template-columns:1.2fr 1fr;background:#f5fafb;margin-top:38px;padding:40px 54px;gap:40px;align-items:center}
.med-derma-hero p{font-size:23px;margin:0 0 30px}
.med-derma-hero figure{margin:0;max-width:400px;justify-self:center}
.med-derma-hero img{display:block;width:100%;height:330px;object-fit:contain}
.med-derma-hero figcaption{text-align:center;margin-top:16px;font-size:15px}
.med-treatment-nav{display:flex;gap:34px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid #ddd;flex-wrap:wrap}
.med-treatment-nav a{font-size:16px;min-height:28px}
.med-clinical-row{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding:54px 0;border-bottom:1px solid #ddd;scroll-margin-top:210px}
.med-clinical-row h2 span{font-size:27px}
.med-clinical-row p{font-size:20px;margin:0 0 24px}
.med-provider{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:center;margin-top:70px;scroll-margin-top:210px}
.med-provider img{width:300px;height:300px;object-fit:contain}
.med-provider p{font-size:19px}
.med-weight-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-top:38px;padding-bottom:50px}
.med-weight-hero p{font-size:20px;max-width:43ch;margin-bottom:24px}
.med-weight-hero img{height:420px;width:100%;object-fit:contain;object-position:center bottom}
.med-evaluation{display:block;font-size:14px;margin-top:20px;max-width:36ch;line-height:1.5}
.med-program{display:grid;grid-template-columns:1.2fr .8fr;background:#f7e0be;padding:48px;gap:40px;align-items:center;scroll-margin-top:190px}
.med-program-copy>p{font-size:20px}
.med-program-copy .med-validity{font-weight:600;font-size:16px}
.med-program>img{width:100%;max-height:440px;object-fit:contain}
.med-terms{grid-column:1/-1;border-top:1px solid #2e2e2e30;padding-top:24px}
.med-terms h3{margin:0 0 12px}
.med-terms p{font-size:16px;margin:0;max-width:none;line-height:1.7}
.med-weight-options{padding-top:70px;padding-bottom:70px;max-width:1000px}
.med-weight-options>p{font-size:19px;margin-bottom:36px}
.med-weight-options details{border-top:1px solid #ddd;padding:0}
.med-weight-options summary{font-size:24px;font-weight:500;cursor:pointer;padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.med-weight-options summary:after{content:'+';font-weight:300}
.med-weight-options details[open] summary:after{content:'−'}
.med-weight-options details p{font-size:18px;margin:0 0 30px}
.med-medical-note{background:#f5fafb;padding:30px;margin-top:36px}
.med-medical-note h3{margin:0 0 12px}
.med-medical-note p{margin:0;font-size:17px}
.med-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid #ddd;padding-top:60px;padding-bottom:80px;scroll-margin-top:190px}
.med-contact>div p{font-size:18px}
.med-phone{font-size:26px;font-weight:500}
.med-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:26px}
.med-form-fields>div:last-child{grid-column:1/-1}
.med-form-fields label{display:block;font-size:15px;line-height:1.4;margin-bottom:9px}
.med-form-fields input{width:100%;min-height:48px;border:1px solid #a8a8a8;border-radius:4px;background:#fff;font:inherit;padding:10px 12px;color:#2e2e2e;caret-color:#007e9b}
.med-consent{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:16px;line-height:1.5;min-height:32px;cursor:pointer}
.med-consent input{width:21px;height:21px;flex:0 0 21px;accent-color:#007e9b;margin-top:2px}
.med-stage-note{font-size:14px;background:#f7e0be;padding:12px 16px}
.med-form-status{font-size:16px;margin-bottom:0}
.med-v1 [hidden],.med-nav-group [hidden]{display:none!important}
@media(max-width:1100px){
 .med-nav-group[data-mobile=true]{display:block;width:100%;border-bottom:1px solid #e8e8e8}.med-nav-group[data-mobile=true] .med-nav-top{justify-content:space-between}.v1-menu-groups .med-nav-top a{border:0;flex:1}.med-nav-group[data-mobile=true] .med-nav-top>button{width:48px;height:48px}.med-nav-group[data-mobile=true] .med-nav-submenu{position:static;width:100%;border:0;box-shadow:none;padding:0 0 12px 16px}.v1-menu-groups .med-nav-submenu a{font-size:16px;min-height:48px;padding:12px 8px;border:0}
 .med-chapter-copy{padding:36px}.med-service-hero{gap:32px}.med-derma-hero{padding:36px}.med-chapter-copy h2{font-size:40px}.med-contact{gap:36px}.med-service-detail{grid-template-columns:220px 1fr}.med-service-detail>img{width:220px}.med-clinical-row{gap:36px}.med-weight-hero{gap:30px}.med-program{padding:32px}
}
@media(max-width:700px){
 
 
 .med-v1 .med-treatment-nav a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:700px){
 .med-nav-group{display:block;width:100%;border-bottom:1px solid #e8e8e8}.med-nav-top{justify-content:space-between}.v1-menu-groups .med-nav-top a{border:0;flex:1}.med-nav-top>button{width:48px;height:48px}.med-nav-submenu{position:static;width:100%;border:0;box-shadow:none;padding:0 0 12px 16px}.v1-menu-groups .med-nav-submenu a{font-size:16px;min-height:48px;padding:12px 8px;border:0}
 .med-intro{display:block;padding-top:28px;padding-bottom:28px}.med-intro h1{font-size:60px;margin-bottom:12px}.med-intro p{width:auto;font-size:18px}.med-chapters{gap:24px}.med-chapter{display:flex;flex-direction:column;min-height:0}.med-chapter-image img{height:270px;max-height:none}.med-chapter-copy{padding:28px}.med-chapter-copy h2{font-size:40px;margin-bottom:16px}.med-chapter-copy p{font-size:17px;margin-bottom:24px}.med-chapter-portrait{height:290px;order:-1}.med-chapter-derma .med-chapter-portrait{padding-top:16px}.med-close{display:block;padding-top:40px;padding-bottom:40px}.med-close h2{font-size:30px}.med-close .button,.med-close .text-link{margin-top:22px;display:inline-flex}.med-v1 h1{font-size:46px;line-height:1.02;overflow-wrap:normal}.med-service-hero{display:flex;flex-direction:column;align-items:stretch;margin-top:28px;margin-bottom:40px;gap:28px}.med-service-hero>img{height:260px}.med-service-hero>div>p:first-of-type{font-size:22px}.med-hero-detail{font-size:16px}.med-section-title h2{font-size:32px}.med-section-title p{font-size:13px}.med-filters{gap:8px;margin:22px 0}.med-filters button{font-size:14px;padding:10px 16px}.med-service summary{gap:12px;padding:22px 0}.med-service-name strong{font-size:19px}.med-service-name>span{font-size:13px}.med-service-price{font-size:20px;max-width:120px;gap:4px}.med-service-price del{font-size:14px}.med-service-price ins{padding:2px 4px}.med-detail-label{display:none}.med-service-detail{grid-template-columns:1fr;gap:20px;padding-bottom:28px}.med-service-detail>img{width:100%;height:220px}.med-service-detail ul{columns:1}.med-derma-hero{display:flex;flex-direction:column;align-items:stretch;padding:28px;margin-top:28px;gap:30px}.med-derma-hero h1{font-size:40px}.med-derma-hero p{font-size:20px}.med-derma-hero img{height:260px}.med-derma-hero figure{align-self:center}.med-treatment-nav{gap:12px 24px;padding-top:22px;padding-bottom:22px}.med-treatment-nav a{font-size:15px;min-height:32px}.med-clinical-row{grid-template-columns:1fr;gap:0;padding:36px 0;scroll-margin-top:150px}.med-clinical-row h2{font-size:36px;margin-bottom:18px}.med-clinical-row p{font-size:18px}.med-provider{grid-template-columns:1fr;gap:24px;margin-top:36px}.med-provider img{width:100%;height:260px}.med-provider h2{font-size:34px}.med-provider p{font-size:17px}.med-weight-hero{display:flex;flex-direction:column;gap:20px;padding-top:28px;padding-bottom:32px}.med-weight-hero p{font-size:18px}.med-weight-hero h1{font-size:44px}.med-weight-hero img{height:300px}.med-evaluation{max-width:none}.med-program{grid-template-columns:1fr;padding:28px;gap:28px}.med-program>img{max-height:430px}.med-program h2{font-size:38px}.med-program-copy>p{font-size:18px}.med-terms{grid-column:auto}.med-terms p{font-size:16px}.med-weight-options{padding-top:40px;padding-bottom:40px}.med-weight-options h2{font-size:34px}.med-weight-options summary{font-size:22px}.med-weight-options details p{font-size:17px}.med-medical-note{padding:24px}.med-contact{grid-template-columns:1fr;gap:24px;padding-top:36px;padding-bottom:48px;scroll-margin-top:140px}.med-form-fields{grid-template-columns:1fr;gap:18px}.med-form-fields>div:last-child{grid-column:auto}
}

/* Estética composes the shared catalog card and treatment drawer primitives. */
.med-catalog-intro{padding-top:32px;padding-bottom:24px}
.med-catalog-intro h1{font-size:clamp(36px,4.4vw,60px);margin:0 0 12px}
.med-catalog-intro p{margin:6px 0;max-width:70ch;line-height:1.5}
.med-catalog-intro p:last-child{font-size:15px;color:#595959}
.med-catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.med-catalog-tools .med-filters{margin:0}
.med-catalog-tools>p{font-size:13px;white-space:nowrap;color:#595959}
.med-service-grid .med-service-card[hidden]{display:none}
.med-service-card{cursor:pointer;min-width:0}
.aba-v1 .med-service-card .product-image img{object-fit:cover}
.med-service-card h2{font-size:23px;font-weight:500;line-height:1.25;letter-spacing:0;min-height:2.5em;margin:0 0 8px;text-wrap:initial}
.med-service-card h2 button{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer}
.med-service-duration{font-size:14px;margin:0 0 14px;color:#595959}
.med-service-card .aba-card-bottom{margin-top:auto;align-items:center;flex-wrap:wrap;gap:6px}
.med-service-card .aba-card-choose{font-size:13px;white-space:nowrap}
.aba-treatment-sheet[data-product-kind=service] .aba-sheet-visual img{object-fit:contain}
.med-drawer-price{font-size:28px;font-weight:700;margin:16px 0}
.med-drawer-description{line-height:1.6}
.med-includes{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.med-includes h3{font-size:21px;font-weight:500;margin:0 0 16px}
.med-includes ul{padding-left:20px;line-height:1.6;margin:0 0 24px}
.med-includes li+li{margin-top:7px}
.med-service-buy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 20px}
.med-service-buy-row .med-drawer-price{margin:0;flex-shrink:0}
.med-service-buy-row .med-service-add{width:auto;min-width:0}
@media(max-width:700px){.med-service-buy-row{gap:12px}.med-service-buy-row .med-service-add{padding:12px;font-size:14px}}
@media(max-width:700px){
 .med-catalog-intro{padding-top:24px;padding-bottom:20px}
 .med-catalog-tools{display:block;margin-bottom:20px}
 .med-catalog-tools>p{margin:14px 0 0}
 .med-service-grid{gap:28px 14px}
 .med-service-card h2{font-size:19px;min-height:0}
 .med-service-card .aba-card-bottom{gap:4px}
 .med-service-card .aba-card-choose{font-size:13px}
}

/* Keep Estética media at its unscaled frame in both cards and detail panels. */
.aba-v1 .med-service-card .product-image{position:relative}
.aba-v1 .aba-treatment-sheet[data-product-kind=service] .aba-sheet-visual img{transform:none;transition:none}
/* Keep every Estética card image still, including inherited hover/focus states. */
.aba-v1 .med-service-grid .med-service-card.aba-area-card .product-image img{transform:none;transition:none}
.aba-treatment-sheet[data-product-kind=service] .aba-sheet-visual{overflow:hidden}
.med-catalog-intro h1{font-size:clamp(32px,3.8vw,52px)}
.med-catalog-intro p:last-child{font-size:16px;color:#2e2e2e}

/* Estética: one responsive reading grid for the intro, catalog and closing CTA. */
.med-v1[data-med-family=estetica]{--med-page-gutter:clamp(24px,calc(5vw - 28px),48px)}
.med-v1[data-med-family=estetica]>:is(.med-catalog-intro,.med-catalog,.med-close).shell{width:100%;padding-inline:var(--med-page-gutter)}
@media(max-width:700px){
 .med-v1[data-med-family=estetica]{--med-page-gutter:16px}
}

/* Separate the final catalog row from the warm closing section. */
.med-v1[data-med-family=estetica]>.med-catalog{padding-bottom:40px}
@media(max-width:700px){
 .med-v1[data-med-family=estetica]>.med-catalog{padding-bottom:28px}
}

/* Estética desktop: align cards to the filter rail and keep the Combo lane clear. */
@media(min-width:1001px){
 .aba-v1 .med-v1[data-med-family=estetica] .med-service-grid.retail-treatments{
  --med-card-min:224px;
  --med-launcher-lane:268px;
  max-width:none;
  margin-inline:0;
  width:calc(100% - var(--med-launcher-lane) + var(--med-page-gutter));
  grid-template-columns:repeat(auto-fill,minmax(var(--med-card-min),1fr));
 }
}
@media(min-width:1400px){
 .aba-v1 .med-v1[data-med-family=estetica] .med-service-grid.retail-treatments{--med-card-min:240px}
}
