/* Patricia Batalla Estética · estilos de la web */
/* Solo paleta clara (sin modo oscuro). Paleta: #EAA0AB rosa · #A87379 malva · #F4CFCC rosa claro · #F8F8F8 blanco suave
   (el botón principal usa un malva apenas más oscuro, #94636A, para que el texto blanco se lea bien) */
:root{
  color-scheme:light;
  --bg:#F8F8F8; --surface:#FFFFFF; --mist:#F7E6E4; --ink:#3F2A2D; --ink-2:#7A5E62; --line:#EBD9D7;
  --rose:#EAA0AB; --mauve:#A87379; --blush:#F4CFCC;
  --brand:#94636A; --brand-hover:#7E5157; --on-brand:#FFFFFF; --brand-tint:#F4CFCC;
  --on-rose:#3F2A2D;
  --wa:#1B7A48; --wa-hover:#146138; --on-wa:#FFFFFF;
  --accent:#EAA0AB; --accent-soft:#F4CFCC; --accent-ink:#6E3F46;
  --focus:#A87379;
  --shadow:0 1px 2px rgba(63,42,45,.06),0 10px 30px rgba(63,42,45,.09);
  --font-display:'Bricolage Grotesque',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-body:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance;letter-spacing:-.02em;line-height:1.1}
p{margin:0}
a{color:inherit}
img,svg{max-width:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:max(20px,env(safe-area-inset-left),env(safe-area-inset-right))}
.icon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--brand)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:0 1.5rem;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s,border-color .15s;text-align:center}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--brand);color:var(--on-brand)}
.btn-primary:hover{background:var(--brand-hover)}
.btn-wa{background:var(--wa);color:var(--on-wa)}
.btn-wa:hover{background:var(--wa-hover)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-sm{min-height:40px;padding:0 1rem;font-size:.9rem}

/* Aviso promo */
.promo{background:var(--rose);color:var(--on-rose);text-align:center;font-weight:600;font-size:.9rem;padding:.55rem 20px}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-img{display:block;height:34px;width:auto}
.top nav{display:none;gap:clamp(14px,2.4vw,22px);font-weight:500;font-size:.92rem;margin-inline:auto;padding-inline:12px}
.top nav a{text-decoration:none;color:var(--ink-2);white-space:nowrap}
.top nav a:hover{color:var(--brand)}
.top .actions{display:none;gap:8px}
@media (min-width:820px){.top .actions,.top nav{display:flex}}
.top .actions .btn{white-space:nowrap}

/* Hero */
.hero{padding-block:36px 44px;background:linear-gradient(180deg,var(--mist),var(--bg) 92%)}
.hero .wrap{display:grid;gap:32px;align-items:center}
.hero h1{font-size:clamp(2.15rem,7.4vw,3.7rem);font-weight:700;margin-top:14px}
.hero h1 em{font-style:normal;color:var(--mauve)}
.hero .lead{margin-top:16px;font-size:1.1rem;color:var(--ink-2);max-width:46ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cta-row .btn{flex:1 1 auto;white-space:nowrap}
@media (max-width:359px){.cta-row .btn{white-space:normal;padding-block:10px}}
.chips{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;list-style:none;font-size:.92rem;color:var(--ink-2)}
.chips li{display:flex;align-items:center;gap:8px}
.chips .icon{color:var(--brand);width:1.1em;height:1.1em}
.hero-photo{position:relative;isolation:isolate;justify-self:center;width:min(300px,78%);margin-right:14px}
.hero-photo::before{content:"";position:absolute;z-index:-1;inset:16px -14px -14px 14px;border-radius:999px 999px 28px 28px;background:var(--blush)}
.hp-frame{aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;border:1.5px solid var(--rose);background:var(--blush);box-shadow:var(--shadow)}
.hp-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
@media (min-width:900px){
  .hero{padding-block:64px 72px}
  .hero .wrap{grid-template-columns:1.15fr .85fr;gap:56px}
  .hero-photo{width:min(400px,100%);justify-self:end;margin-right:14px}
}

/* Secciones */
section{padding-block:60px}
.sec-head{max-width:640px;margin-bottom:32px}
.sec-head h2{font-size:clamp(1.7rem,4.6vw,2.4rem);margin-top:10px}

/* Servicios */
.svc-groups{display:grid;gap:18px}
@media (min-width:760px){.svc-groups{grid-template-columns:1fr 1fr}}
.svc-group{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:8px 22px 10px}
.svc-group h3{font-size:1.15rem;padding-block:16px 6px}
.svc{display:grid;gap:4px;padding-block:16px;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0}
.svc h4{margin:0;font-size:1rem;font-weight:600}
.svc p{font-size:.92rem;color:var(--ink-2)}
.svc .meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem;color:var(--ink-2);margin-top:2px}
.svc .meta span{display:inline-flex;align-items:center;gap:6px}

/* Sobre Patricia */
.about{display:grid;gap:28px;align-items:center}
@media (min-width:860px){.about{grid-template-columns:.8fr 1.2fr;gap:56px}}
.portrait{justify-self:center;width:min(280px,72%);aspect-ratio:3/4;border-radius:999px 999px 24px 24px;background:linear-gradient(180deg,var(--brand-tint),var(--mist));border:1.5px solid var(--rose);display:grid;place-items:center;overflow:hidden;position:relative}
.portrait span{font-family:var(--font-display);font-size:4rem;font-weight:700;color:var(--brand);letter-spacing:.02em}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.about .lead2{margin-top:14px;color:var(--ink-2);max-width:56ch}
.about .story{margin-top:14px;max-width:60ch}
.facts{display:grid;gap:16px;margin-top:22px}
.facts:empty{display:none}
.fact-num{display:flex;align-items:baseline;gap:10px}
.fact-num b{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--brand)}
.fact-num span{color:var(--ink-2)}
.fact-list h3{font-size:1rem;margin-bottom:8px}
.fact-list ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.fact-list li{display:flex;gap:10px;align-items:flex-start}
.fact-list .icon{color:var(--mauve);margin-top:.25em;width:1.1em;height:1.1em}
.points{list-style:none;margin:24px 0 26px;padding:0;display:grid;gap:14px}
.points li{padding-left:18px;border-left:2px solid var(--rose)}
.points b{display:block}
.points span{color:var(--ink-2);font-size:.95rem}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-ink);padding:2px 10px;border-radius:999px;margin-left:8px;vertical-align:middle}

/* FAQ */
.faq{max-width:760px}
.faq details{border-top:1px solid var(--line);padding-block:4px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;font-weight:400;color:var(--brand);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:18px;color:var(--ink-2);max-width:62ch}

/* CTA final + footer */
.final{background:var(--brand);color:var(--on-brand);border-radius:32px;padding:44px 24px;text-align:center}
.final h2{font-size:clamp(1.7rem,5vw,2.5rem);max-width:20ch;margin-inline:auto}
.final p{margin:14px auto 0;max-width:46ch;opacity:.92}
.final .cta-row{justify-content:center}
.final .btn{flex:0 1 auto}
.final .btn-primary{background:var(--surface);color:var(--brand)}
.final .btn-primary:hover{background:var(--mist)}
footer{padding-block:44px 30px;color:var(--ink-2);font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:space-between}
footer b{color:var(--ink);font-family:var(--font-display);font-size:1.05rem}
footer a{text-decoration:none;display:inline-flex;align-items:center;gap:8px}
footer a:hover{color:var(--brand)}
footer .links{display:grid;gap:8px}
footer .credit{flex:0 0 100%;margin-top:6px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem;text-align:center}
footer .credit a{display:inline;text-decoration:underline;text-underline-offset:3px;font-weight:600;color:var(--ink)}
footer .credit a:hover{color:var(--brand)}

/* Botón flotante de WhatsApp */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;width:60px;height:60px;border-radius:50%;background:var(--wa);color:var(--on-wa);display:grid;place-items:center;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .15s,background .15s}
.fab:hover{background:var(--wa-hover);transform:scale(1.06)}
.fab:active{transform:scale(.96)}
.fab .icon{width:32px;height:32px;stroke-width:1.7}
.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:fab-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes fab-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.55);opacity:0}}

/* ---------- Carruseles (fotos por categoría y videos) ---------- */
.carousel{position:relative}
.gal-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;margin-bottom:38px}
.gal-title{font-size:1.2rem;margin-bottom:12px}
#videos{padding-top:0}
.car-track{position:relative;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 20px 10px;margin-inline:-20px;scroll-padding-inline:20px;border-radius:24px}
.car-track::-webkit-scrollbar{display:none}
.car-track:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.car-ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}
.car-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--brand);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,background .15s}
.car-btn:hover:not(:disabled){border-color:var(--brand);background:var(--blush)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.car-dots{display:flex;gap:8px;align-items:center}
.car-dots i{width:8px;height:8px;border-radius:99px;background:var(--line);transition:width .2s,background .2s}
.car-dots i.on{width:22px;background:var(--brand)}

.slide{flex:0 0 min(76%,290px);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.slide-img{position:relative;aspect-ratio:4/5;background:var(--mist);overflow:hidden}
.slide-img img,.slide-img video{position:absolute;inset:0;width:100%;height:100%;display:block}
.slide-img img,.slide-img video{object-fit:cover}
.slide-img video{cursor:pointer}
.vid-ic{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);pointer-events:none;opacity:0;transition:opacity .2s}
.vid-ic::before{content:"";position:absolute;left:15px;top:11px;border-left:14px solid var(--brand);border-block:9px solid transparent}
.is-video.paused .vid-ic{opacity:1}
.slide-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.slide-body h3{font-size:1.2rem}
.slide-body p{color:var(--ink-2);font-size:.95rem;line-height:1.5;flex:1}
.svc-group{scroll-margin-top:84px}

@media (min-width:900px){.slide{flex-basis:clamp(240px,23%,290px)}}
.slide.vid{flex-basis:min(64%,250px)}
.slide.vid .slide-img{aspect-ratio:9/16}
@media (min-width:900px){.slide.vid{flex-basis:250px}}
/* Categorías de fotos (Rostro, Depilación, Manos y pies): una al lado de la otra en pantallas grandes */
@media (min-width:820px){
  .gal-groups{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:40px;align-items:start}
  .gal-groups .slide{flex-basis:100%}
  .gal-groups .car-track{padding-inline:0;margin-inline:0;scroll-padding-inline:0}
}
