/* V8: continuous line icons, unclipped editorial photography, official social assets. */
.zone{border-radius:8px;border:1px solid #d7c6b6;background:#f8f4ee70;padding:20px 9px 16px;gap:14px;max-width:none}
.zone img{width:90px;height:90px;border-radius:0;object-fit:contain;mix-blend-mode:normal}
.zone i{right:8px;top:8px;border-radius:4px;width:18px;height:18px;line-height:16px;background:transparent;border-color:#bba18c;font-size:12px}
.zone:hover{transform:translateY(-3px);border-color:#b49261;background:#fffaf3}
.zone[aria-pressed=true]{border-color:var(--wine);background:#fffaf3;box-shadow:inset 0 0 0 1px var(--wine)}
.zone[aria-pressed=true] i{background:var(--wine);color:#fff;border-color:var(--wine)}
.compact .zone{padding:14px 4px 10px;gap:6px}.compact .zone img{width:54px;height:54px}.compact .zone i{right:4px;top:4px;width:14px;height:14px;line-height:12px;font-size:9px}
.hero{background:var(--cream);color:var(--wine);width:calc(100% - 112px);max-width:1344px;margin:0 auto;grid-template-columns:1fr 1fr;gap:70px;min-height:0;padding:55px 0 65px;align-items:center}
.hero-copy{padding:0}.hero-copy .eyebrow{color:#99754f;margin-bottom:27px}.hero h1{color:var(--wine);font-size:clamp(68px,6.8vw,104px);line-height:1.01}.hero h1 em{color:#a37d4f}.hero-copy>p{color:#78626a;font-size:16px;line-height:1.8;margin:29px 0 31px}.hero-buttons .button.cream{background:var(--wine);border-color:var(--wine);color:var(--paper)}.hero-buttons .button.cream:hover{background:#692942}.hero-text-link{color:var(--wine);border-color:#bea18c}.hero-location{color:#8f7263;margin-top:37px;font-size:10px}.location-dot{background:#ad8957}
.hero-photo{margin:0;overflow:visible;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:transparent;height:auto}.hero-photo>img{position:static;width:100%;height:auto;max-height:680px;object-fit:contain;object-position:center;border-radius:4px}.hero-photo:after{display:none}.photo-caption{position:static;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding:12px 0 0;border-color:#d4bd9f;color:#8b6e5c}.photo-caption span:first-child{font-size:8px}.photo-caption span:last-child{font-size:17px;color:var(--wine)}.hero-seal,.scroll-down{display:none}
.booking{background:#eee5dc;color:var(--wine)}.booking-grid{align-items:start;gap:65px}.booking-story{min-height:0;overflow:visible}.booking-story .eyebrow{color:#94714f}.booking-story h2{color:var(--wine)}.booking-story h2 em{color:#9c784b}.booking-story>p{color:#7a656a}.booking-portrait{position:static;right:auto;bottom:auto;width:100%;height:auto;overflow:visible;border-radius:4px;margin-top:35px;background:transparent;display:block}.booking-portrait img{width:100%;height:auto;object-fit:contain;object-position:center;border-radius:4px}.booking-caption{position:static;left:auto;bottom:auto;max-width:none;margin-top:20px;padding-top:16px;border-top:1px solid #c9b494;background:transparent;color:#8a6a46;font-size:22px;line-height:1.4;display:block}.booking-panel{background:#fffcf7;box-shadow:0 15px 55px #5d36480a;border:1px solid #ddcbbb}
.social-brand{display:inline-flex!important;gap:9px;align-items:center!important;justify-content:flex-start;vertical-align:middle}.social-brand img{width:22px;height:22px;object-fit:contain;flex:none}.footer-columns .social-brand img{width:21px;height:21px}.social-links{gap:20px;flex-wrap:wrap}.social-links .social-brand{padding:9px 12px;border:1px solid #d0bcac;border-radius:4px;background:#fffaf4}.social-links .social-brand:hover{background:white;transform:translateY(-2px)}
.floating-wa{display:flex;justify-content:center;align-items:center;width:64px;height:64px;padding:11px;border:1px solid #e0e5dc;border-radius:50%;background:#fff;box-shadow:0 6px 24px #183a2626;right:24px;bottom:24px;gap:0}.floating-wa img{width:42px;height:42px;object-fit:contain}.floating-wa>span{position:absolute;right:76px;background:var(--wine);color:white;border-radius:4px;padding:8px 12px;white-space:nowrap;opacity:0;pointer-events:none;font-size:11px}.floating-wa:hover{background:white;border-color:#25d366;transform:translateY(-3px)}.floating-wa:hover>span,.floating-wa:focus-visible>span{opacity:1}
.floating-socials{position:fixed;z-index:44;right:33px;bottom:103px;display:flex;flex-direction:column;gap:11px}.floating-socials a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5dbd3;border-radius:50%;width:46px;height:46px;box-shadow:0 4px 20px #3b172517}.floating-socials a img{width:25px;height:25px;object-fit:contain}.floating-socials a:hover{transform:translateY(-3px);background:#fffaf6}
@media(max-width:1100px){.hero{width:calc(100% - 64px);gap:40px;padding:45px 0 55px}.hero h1{font-size:78px}.hero-copy>p{font-size:14px}.hero-photo>img{max-height:none}.booking-grid{gap:40px}.zone img{width:75px;height:75px}.zone{padding:20px 7px 14px}.compact .zone img{width:50px;height:50px}}
@media(max-width:820px){.hero{gap:30px}.hero h1{font-size:65px}.hero-copy>.eyebrow{font-size:8px}.hero-buttons{gap:18px}.hero-copy>p{font-size:13px;margin:22px 0}.hero-location{font-size:8px;margin-top:28px}.photo-caption{flex-direction:column;align-items:flex-start;gap:5px}.photo-caption span:last-child{font-size:14px}.booking-grid{grid-template-columns:1fr 1.12fr;gap:28px}.booking-story h2{font-size:39px}.booking-caption{font-size:19px}.zone img{width:86px;height:86px}.compact .zone img{width:45px;height:45px}.floating-socials{right:30px}.floating-wa{right:21px}}
@media(max-width:600px){.hero{width:calc(100% - 40px);display:flex;flex-direction:column;gap:35px;padding:40px 0 35px;margin:auto}.hero-copy{width:100%;padding:0}.hero-copy>.eyebrow{margin-bottom:20px;font-size:8px}.hero h1{font-size:clamp(65px,15vw,83px);line-height:1.02}.hero-copy>p{font-size:14px;margin:22px 0 24px}.hero-buttons{gap:22px}.hero-buttons .button{font-size:11px}.hero-location{font-size:9px;margin-top:25px}.hero-photo{width:100%;height:auto;margin:0;border-radius:0}.hero-photo>img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:3px}.photo-caption{flex-direction:row;align-items:center;margin-top:10px;padding-top:12px}.photo-caption span:first-child{font-size:7px}.photo-caption span:last-child{font-size:13px}.zone{padding:18px 4px 12px;gap:8px;border-radius:6px}.zone img{width:66px;height:66px}.zone i{width:15px;height:15px;line-height:13px;right:5px;top:5px;font-size:11px}.compact .zone{padding:16px 3px 9px}.compact .zone img{width:50px;height:50px}.booking-grid{grid-template-columns:1fr;gap:30px}.booking-story h2{font-size:46px}.booking-story>p{font-size:13px}.booking-portrait{display:block;position:static;width:100%;height:auto;margin-top:28px}.booking-portrait img{width:100%;height:auto;object-fit:contain}.booking-caption{display:block;position:static;max-width:none;background:none;font-size:19px;padding:15px 0 0;margin-top:17px}.booking-panel{padding:27px 23px}.floating-wa{display:flex;right:14px;bottom:84px;width:57px;height:57px;padding:10px}.floating-wa img{width:36px;height:36px}.floating-wa>span{display:none}.floating-socials{right:22px;bottom:153px;gap:9px}.floating-socials a{width:41px;height:41px}.floating-socials img{width:23px!important;height:23px!important}.mobile-bar .social-brand{justify-content:center;font-size:11px;gap:6px}.mobile-bar .social-brand img{width:21px;height:21px}.social-links .social-brand{font-size:11px}.footer-columns .social-brand{gap:6px}.footer-columns .social-brand img{width:18px;height:18px}}
/* User-selected full-cover hero and floating navigation. */
.header{position:fixed;top:18px;left:28px;right:28px;width:calc(100% - 56px);max-width:1420px;margin:0 auto;height:86px;padding:7px 30px;border:1px solid #ffffff80;border-radius:6px;background:rgba(248,244,238,.94);box-shadow:0 8px 35px #24151e13;backdrop-filter:blur(18px)}
.header .brand,.header .brand img{width:91px;height:71px}.header .nav{margin-right:20px}.header .nav-cta{min-height:43px}
body:not([data-page="home"]) main{padding-top:115px}
.hero.hero-full{width:100%;max-width:none;margin:0;padding:150px max(56px,calc((100vw - 1344px)/2)) 90px;display:flex;align-items:center;justify-content:flex-start;gap:0;position:relative;isolation:isolate;overflow:hidden;background:#35212a;color:var(--paper);height:min(960px,100svh);min-height:730px}
.hero-media{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(28,14,22,.73) 0%,rgba(34,18,26,.59) 32%,rgba(39,24,29,.27) 58%,rgba(28,18,23,.10) 100%),linear-gradient(0deg,rgba(25,12,20,.2),transparent 45%)}
.hero.hero-full .hero-copy{padding:0;width:58%;max-width:690px}.hero.hero-full .eyebrow{color:#e7d2ad;font-size:10px;margin-bottom:26px}.hero.hero-full h1{font-size:clamp(76px,7.5vw,110px);line-height:.99;color:var(--paper);text-shadow:0 2px 18px #12091212}.hero.hero-full h1 em{color:#e5c798}.hero.hero-full .hero-copy>p{color:#f0e7df;font-size:15px;line-height:1.8;margin:25px 0 30px}.hero.hero-full .hero-buttons .button.cream{background:var(--cream);border-color:var(--cream);color:var(--wine)}.hero.hero-full .hero-buttons .button.cream:hover{background:#e6cba1;border-color:#e6cba1}.hero.hero-full .hero-text-link{color:#fff7ee;border-color:#d6b994}.hero.hero-full .hero-location{color:#e4d3c5;margin-top:35px;font-size:10px}.hero.hero-full .location-dot{background:#e2bc7d}.hero-bottom-note{position:absolute;bottom:27px;right:40px;font-size:8px;letter-spacing:.19em;color:#fffcf5bf}
.hero.hero-full .hero-enter{animation:cover-reveal .95s cubic-bezier(.2,.7,.2,1) both}.hero.hero-full h1{animation-delay:.14s}.hero.hero-full .hero-copy>p{animation-delay:.3s}.hero.hero-full .hero-buttons{animation-delay:.44s}.hero.hero-full .hero-location{animation-delay:.58s}@keyframes cover-reveal{from{opacity:0;transform:translateY(26px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(min-width:1700px){.hero.hero-full{padding-left:max(70px,calc((100vw - 1344px)/2));min-height:820px}.hero-media img{object-position:center 33%}}
@media(max-width:1100px){.header{left:20px;right:20px;width:calc(100% - 40px);padding:7px 22px}.header .nav{gap:20px;margin-right:10px}.hero.hero-full{padding:145px 42px 80px;min-height:720px}.hero.hero-full h1{font-size:88px}.hero.hero-full .hero-copy{width:60%}.hero-media img{object-position:62% center}.hero.hero-full .hero-copy>p{font-size:14px}}
@media(max-width:820px){.header{height:78px;top:14px;padding:6px 20px}.header .brand,.header .brand img{width:82px;height:63px}.header .nav{top:86px;left:0;right:0;border:1px solid #dccabe;border-radius:6px;margin:0}.hero.hero-full{min-height:760px;padding:140px 32px 75px}.hero.hero-full .hero-copy{width:65%}.hero.hero-full h1{font-size:77px}.hero-media img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#21131dd4,#21131d8c 48%,#21131d12)}.hero.hero-full .hero-copy>p{font-size:13px}.hero.hero-full .eyebrow{font-size:9px}.hero.hero-full .hero-location{font-size:9px}.hero-bottom-note{right:25px;font-size:7px}}
@media(max-width:600px){.header{top:12px;left:12px;right:12px;width:calc(100% - 24px);height:70px;padding:5px 14px;border-radius:5px;gap:12px}.header .brand,.header .brand img{width:73px;height:57px}.header .nav-cta{font-size:10px;padding:10px 12px;min-height:38px;gap:9px}.header .nav{top:78px;padding:22px 24px}.header .menu-button{width:28px;flex:none}.hero.hero-full{height:100svh;min-height:830px;max-height:1100px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:130px 24px 70px;gap:0}.hero.hero-full .hero-copy{width:100%;max-width:none}.hero-media img{object-position:50% 0%;object-fit:cover}.hero-shade{background:linear-gradient(0deg,rgba(28,14,24,.93) 0%,rgba(28,14,24,.84) 24%,rgba(28,14,24,.51) 47%,rgba(28,14,24,.08) 75%,rgba(28,14,24,.12) 100%)}.hero.hero-full h1{font-size:clamp(60px,15vw,78px);line-height:.98}.hero.hero-full .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:20px}.hero.hero-full .hero-copy>p{font-size:13px;margin:20px 0 24px;line-height:1.75}.hero.hero-full .hero-buttons{gap:20px;flex-wrap:wrap}.hero.hero-full .hero-buttons .button{font-size:11px;gap:15px;padding:14px 16px}.hero.hero-full .hero-text-link{font-size:10px}.hero.hero-full .hero-location{margin-top:25px;font-size:9px}.hero-bottom-note{left:24px;right:auto;bottom:27px;font-size:7px}body:not([data-page="home"]) main{padding-top:95px}}
@media(prefers-reduced-motion:reduce){.hero.hero-full .hero-enter{animation:none!important}}
/* All six confirmed promotions, immediately below the cover. */
#promociones.promotions{padding:75px 0 85px;background:var(--cream)}
.promo-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;overflow:visible;scroll-snap-type:none}
.promo-home-grid .promo-card{scroll-snap-align:none}.promo-home-grid .promo-card:hover .promo-image img{transform:none}
.promo-home-grid .promo-image{height:250px}.promo-home-grid .promo-price{font-size:40px}
@media(max-width:820px){.promo-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.promo-home-grid .promo-image{height:240px}}
@media(max-width:600px){#promociones.promotions{padding:55px 0 65px}.promo-home-grid{grid-template-columns:1fr;gap:24px}.promo-home-grid .promo-image{height:285px}.promo-home-grid .promo-body{padding:24px}.promo-home-grid .promo-body h3{min-height:0}.promo-home-grid .promo-body>p{min-height:0}.promo-home-grid .promo-price{font-size:40px}}


/* ===== PALETA LILA APROBADA 2026-11-04 ===== */
/*
 * Amalik - paleta lila aprobada (opcion 1).
 * Capa exclusivamente visual para produccion.
 * No modifica estructura, contenido, enlaces ni comportamiento.
 */
:root {
  --lila-principal: #AD78C9;
  --lila-suave: #DCC3EA;
  --lila-fondo: #F5ECF9;
  --blanco: #FFFFFF;
  --texto-principal: #38313F;
  --lila-oscuro: #71458A;

  /* Compatibilidad con las variables originales del sitio. */
  --wine: var(--lila-oscuro);
  --wine-dark: var(--texto-principal);
  --gold: var(--lila-principal);
  --cream: var(--lila-fondo);
  --paper: var(--blanco);
  --rose: var(--lila-suave);
  --ink: var(--texto-principal);
  --muted: #5f5667;
  --line: var(--lila-suave);
}

body { background: var(--lila-fondo); color: var(--texto-principal); }
h1, h2, h3, .text-link, .promo-price { color: var(--lila-oscuro); }
p { color: #5f5667; }

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: var(--lila-principal);
}

.header {
  background: rgba(255, 255, 255, .96);
  border-color: rgba(220, 195, 234, .9);
  box-shadow: 0 8px 35px rgba(56, 49, 63, .12);
}
.nav a::after,
.menu-button span { background: var(--lila-oscuro); }
.header .nav { background: var(--blanco); }

/* Botones: lila oscuro + blanco supera 4.5:1 para texto normal. */
.button,
.nav-cta,
.cookie-actions .accept {
  background: var(--lila-oscuro);
  border-color: var(--lila-oscuro);
  color: var(--blanco);
}
.button:hover,
.nav-cta:hover,
.cookie-actions .accept:hover {
  background: var(--texto-principal);
  border-color: var(--texto-principal);
  color: var(--blanco);
}
.button.outline { background: transparent; color: var(--lila-oscuro); border-color: var(--lila-principal); }
.button.outline:hover { background: var(--lila-oscuro); color: var(--blanco); }

.hero.hero-full { background: var(--lila-oscuro); }
.hero-shade {
  background:
    linear-gradient(90deg, rgba(113,69,138,.76) 0%, rgba(173,120,201,.57) 46%, rgba(220,195,234,.20) 100%),
    linear-gradient(0deg, rgba(113,69,138,.24), rgba(173,120,201,.12) 55%, transparent 100%);
}
.hero.hero-full .eyebrow,
.hero.hero-full h1 em { color: var(--lila-suave); }
.hero.hero-full .hero-buttons .button.cream {
  background: var(--lila-oscuro);
  border-color: var(--blanco);
  color: var(--blanco);
}
.hero.hero-full .hero-buttons .button.cream:hover {
  background: var(--texto-principal);
  border-color: var(--blanco);
}
.hero.hero-full .hero-text-link { color: var(--blanco); border-color: var(--lila-suave); }
.hero.hero-full .location-dot { background: var(--lila-principal); }

#promociones.promotions,
.laser-section,
.faq { background: var(--lila-fondo); }
.promo-card,
.booking-panel,
.cookie-banner { background: var(--blanco); border-color: var(--lila-suave); }
.promo-image > span,
.chosen-promo,
.booking-summary { background: var(--lila-fondo); color: var(--lila-oscuro); }

.values-strip,
.experience,
.booking,
.contact { background: var(--lila-suave); color: var(--texto-principal); }
.values-strip { color: var(--lila-oscuro); }
.values-strip i,
.section-heading .eyebrow,
.experience-copy > .eyebrow,
.booking-story .eyebrow,
.contact .eyebrow { color: var(--lila-oscuro); }
.experience-points > div { border-color: var(--lila-principal); }
.experience-points > div > span { color: var(--lila-oscuro); }
.experience-points p,
.booking-story > p,
.zone-footer p { color: var(--texto-principal); }

.zone { background: rgba(255,255,255,.62); border-color: var(--lila-suave); }
.zone img {
  filter: brightness(0) saturate(100%) invert(34%) sepia(20%) saturate(1654%) hue-rotate(238deg) brightness(88%) contrast(86%);
}
.zone:hover,
.zone[aria-pressed=true] { background: var(--blanco); border-color: var(--lila-principal); }
.zone[aria-pressed=true] { box-shadow: inset 0 0 0 1px var(--lila-principal); }
.zone[aria-pressed=true] i,
.service-option input:checked + span,
.filters button.active {
  background: var(--lila-oscuro);
  border-color: var(--lila-oscuro);
  color: var(--blanco);
}

.booking-story h2,
.booking-story h2 em,
.booking-caption,
.form-step h3,
.field-label { color: var(--lila-oscuro); }
.booking-portrait { background: var(--lila-suave); }
.booking-panel { box-shadow: 0 15px 55px rgba(56,49,63,.09); }
.form-top { color: var(--lila-oscuro); }
.step-indicators { color: #5f5667; }
.service-option > span { border-color: var(--lila-suave); }
.service-option:hover > span { border-color: var(--lila-principal); }
.field input,
.field textarea,
.field select { background: var(--blanco); border-color: var(--lila-suave); color: var(--texto-principal); }
.step-indicators span { border-color: var(--lila-suave); }
.step-indicators .active { color: var(--lila-oscuro); border-color: var(--lila-oscuro); }
.zone-footer,
.booking-caption,
.form-contact,
.summary-row { border-color: var(--lila-suave); }
.form-contact { color: var(--texto-principal); }
.booking-summary { color: var(--texto-principal); }
.summary-row span { color: var(--lila-oscuro); }

.accordion,
.accordion details { border-color: var(--lila-suave); }
.accordion summary > span { color: var(--lila-oscuro); }

.address-card { background: var(--lila-fondo); border-color: var(--lila-principal); }
.address-card::before { border-color: var(--lila-suave); }
.address-line { background: var(--lila-principal); }

footer { background: var(--lila-oscuro); color: var(--blanco); }
.footer-top,
.footer-bottom { border-color: rgba(220,195,234,.35); }
.footer-top .eyebrow,
.footer-columns h3,
.footer-bottom a { color: var(--lila-suave); }
.footer-columns p,
.footer-columns a,
.footer-columns button,
.footer-bottom,
.image-note { color: rgba(255,255,255,.82); }

.floating-socials a,
.floating-wa { border-color: var(--lila-suave); }
.floating-wa > span,
.toast { background: var(--lila-oscuro); color: var(--blanco); }

@media (max-width: 820px) {
  .hero-shade {
    background: linear-gradient(90deg, rgba(113,69,138,.80), rgba(173,120,201,.60) 54%, rgba(220,195,234,.18));
  }
}

@media (max-width: 600px) {
  .hero-shade {
    background: linear-gradient(0deg, rgba(113,69,138,.90) 0%, rgba(113,69,138,.76) 31%, rgba(173,120,201,.58) 58%, rgba(220,195,234,.18) 100%);
  }
}


/* Logo oficial monocromo: tintado lila oscuro, sin alterar el archivo ni su transparencia. */
.header .brand img{filter:brightness(0) saturate(100%) invert(34%) sepia(20%) saturate(1654%) hue-rotate(238deg) brightness(88%) contrast(86%)}

/* Revisión local Amalik: modelo más natural y dos tarjetas por fila en móvil. */
.hero-shade {
  background:
    linear-gradient(90deg, rgba(56,49,63,.74) 0%, rgba(56,49,63,.54) 30%, rgba(113,69,138,.18) 49%, rgba(113,69,138,.04) 66%, transparent 82%),
    linear-gradient(0deg, rgba(56,49,63,.15) 0%, transparent 36%);
}

@media (max-width: 820px) and (min-width: 601px) {
  .hero-shade {
    background: linear-gradient(90deg, rgba(56,49,63,.70) 0%, rgba(56,49,63,.50) 36%, rgba(113,69,138,.16) 58%, transparent 82%);
  }
}

@media (max-width: 600px) {
  /* La barra inferior ya ofrece WhatsApp; las redes siguen disponibles en el footer. */
  .floating-socials,
  .floating-wa { display: none; }

  .hero-shade {
    background:
      linear-gradient(0deg, rgba(56,49,63,.88) 0%, rgba(56,49,63,.72) 36%, rgba(113,69,138,.38) 64%, rgba(113,69,138,.08) 78%, transparent 100%),
      linear-gradient(90deg, rgba(113,69,138,.13), transparent 70%);
  }

  #promociones .promo-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #promociones .promo-home-grid .promo-card { min-width: 0; }
  #promociones .promo-home-grid .promo-image { height: clamp(118px, 35vw, 170px); }
  #promociones .promo-home-grid .promo-image > span {
    top: 8px;
    left: 8px;
    padding: 5px 7px;
    font-size: 6px;
  }
  #promociones .promo-home-grid .promo-body { padding: 14px 12px; }
  #promociones .promo-home-grid .promo-body > .eyebrow { font-size: 6px; }
  #promociones .promo-home-grid .promo-body h3 {
    min-height: 0;
    margin: 7px 0;
    font-size: clamp(17px, 5vw, 22px);
  }
  #promociones .promo-home-grid .promo-body > p {
    min-height: 0;
    font-size: 10px;
    line-height: 1.5;
  }
  #promociones .promo-home-grid .promo-price {
    margin: 9px 0 13px;
    font-size: clamp(21px, 6.8vw, 29px);
    overflow-wrap: anywhere;
  }
  #promociones .promo-home-grid .promo-price small {
    display: block;
    margin-top: 2px;
    font-size: 7px;
  }
  #promociones .promo-home-grid .text-link {
    gap: 6px;
    padding-bottom: 5px;
    font-size: 8px;
  }

  #tratamientos .treatment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: 220px;
    gap: 12px;
  }
  #tratamientos .treatment-card,
  #tratamientos .treatment-laser {
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
  }
  #tratamientos .treatment-label,
  #tratamientos .treatment-laser .treatment-label {
    left: 12px;
    right: 12px;
    bottom: 14px;
  }
  #tratamientos .treatment-label h3,
  #tratamientos .treatment-laser h3 {
    max-width: none;
    font-size: clamp(18px, 5.4vw, 24px);
  }
  #tratamientos .treatment-label .eyebrow { font-size: 6px; }
  #tratamientos .card-discover {
    gap: 5px;
    padding-top: 8px;
    font-size: 7px;
  }
  #tratamientos .card-discover i { font-size: 16px; }
}

@media (max-width: 360px) {
  #promociones .promo-home-grid { gap: 10px; }
  #promociones .promo-home-grid .promo-image { height: 112px; }
  #promociones .promo-home-grid .promo-body { padding: 12px 10px; }
  #promociones .promo-home-grid .promo-body h3 { font-size: 16px; }
  #promociones .promo-home-grid .promo-price { font-size: 21px; }
  #tratamientos .treatment-grid { gap: 10px; grid-auto-rows: 195px; }
  #tratamientos .treatment-label h3,
  #tratamientos .treatment-laser h3 { font-size: 18px; }
}