/* Hey Bella — un solo tema claro a propósito: el lila de las fotos de Mary es el fondo de la marca. */
:root{
  color-scheme: light;
  --fondo:#f4ecfa;      /* lila muy claro, el de las fotos */
  --tile:#e6d7f3;       /* lila de las fotos de producto */
  --blanco:#ffffff;
  --tinta:#2a1630;
  --suave:#6b5776;
  --linea:#e2d3ee;
  --morado:#7a2a9c;
  --morado-osc:#5b1c76;
  --rosa:#e0318a;
  --verde-wa:#1fa855;
  --h-blue:#1f5fd6; --h-purple:#a24be0; --h-green:#2fae3c; --h-sky:#3ec3ef; --h-red:#e3262c; --h-orange:#f39220;
  --f-logo:"Shrikhand","Cooper Black",Georgia,serif;
  --f:"Figtree","Avenir Next",system-ui,sans-serif;
  --r:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);font:400 17px/1.55 var(--f);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;line-height:1.12;text-wrap:balance}
p{margin:0}
a{color:var(--morado)}
button{font:inherit;color:inherit}
svg.c{width:1em;height:.9em;flex:none}
svg.i{width:1.2em;height:1.2em;fill:currentColor;flex:none}
:focus-visible{outline:3px solid var(--rosa);outline-offset:2px}

.logo{font-family:var(--f-logo);color:var(--morado);font-size:28px;line-height:1;letter-spacing:.005em}
.logo.chico{font-size:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;min-height:48px}
.btn.wa{background:var(--verde-wa);color:#fff}
.btn.claro{background:var(--blanco);color:var(--morado);border:1.5px solid var(--linea)}
.btn.morado{background:var(--morado);color:#fff}
.btn.chico{padding:9px 14px;min-height:40px;font-size:15px}

/* ---------- página pública ---------- */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:color-mix(in srgb,var(--fondo) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.marca{display:grid;gap:3px;text-decoration:none}
.corazones{display:flex;gap:3px;font-size:11px}
main,.pie{max-width:1080px;margin:0 auto;padding-inline:16px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding-block:18px 36px}
.giro{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa)}
.hero h1{font-size:clamp(34px,6.4vw,58px);font-weight:800;letter-spacing:-.02em;margin-top:10px}
.hero .sub{margin-top:14px;color:var(--suave);font-size:18px;max-width:46ch}
.acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-foto{margin:0;border-radius:28px;overflow:hidden;background:var(--tile);aspect-ratio:3/4;max-height:560px;justify-self:center;width:100%;max-width:440px}
.hero-foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.hero{grid-template-columns:1fr;gap:18px}.hero-foto{order:-1;aspect-ratio:4/3;max-height:340px;max-width:none}.hero-foto img{object-position:50% 30%}}

.catalogo{padding-block:24px 40px;display:grid;gap:16px}
.catalogo h2,.visita h2{font-size:clamp(26px,4vw,34px);font-weight:800}
.filtros{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.filtros::-webkit-scrollbar{display:none}
.filtros button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1.5px solid var(--linea);background:var(--blanco);border-radius:999px;padding:8px 14px;font-weight:600;font-size:15px;cursor:pointer}
.filtros button[aria-selected="true"]{background:var(--morado);border-color:var(--morado);color:#fff}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
@media (min-width:760px){.rejilla{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}}
.prod{display:grid;gap:4px;align-content:start;text-align:left;background:none;border:0;padding:0;cursor:pointer;min-width:0}
.prod .foto{display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--tile);margin-bottom:6px}
.prod .foto img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.prod:hover .foto img{transform:scale(1.03)}
.prod .foto:not(:has(img)){background:color-mix(in srgb,var(--tono) 12%,var(--blanco))}
svg.c.grande{font-size:64px;opacity:.9}
.p-nombre{font-weight:700;font-size:16px;line-height:1.25}
.p-precio{color:var(--rosa);font-weight:700;font-size:15px}
.cargando,.nota-cat{color:var(--suave);font-size:15px}

.visita{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;background:var(--blanco);border-radius:24px;padding:24px;margin-bottom:40px}
@media (max-width:760px){.visita{grid-template-columns:1fr}}
.visita > div:first-child{display:grid;gap:12px;align-content:start;justify-items:start}
.dir{font-size:18px}
.datos{display:grid;gap:16px}
.datos h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rosa);margin-bottom:4px}
.datos dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px 16px}
.datos dd{margin:0;font-weight:600}
.pie{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-block:24px calc(90px + env(safe-area-inset-bottom,0px));color:var(--suave);font-size:14px;border-top:1px solid var(--linea)}
.flotante{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:var(--verde-wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(20,90,40,.6);font-size:26px;z-index:6}

dialog#ficha{border:0;padding:0;border-radius:24px;width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);background:var(--blanco);color:var(--tinta)}
dialog#ficha::backdrop{background:rgba(42,22,48,.55)}
.cerrar{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:26px;line-height:1;cursor:pointer;z-index:1}
.f-foto{background:var(--tile)}
.f-foto img{width:100%;max-height:62vh;object-fit:contain}
.f-foto .vacia{display:grid;place-items:center;aspect-ratio:16/9;background:color-mix(in srgb,var(--tono) 12%,var(--blanco))}
.f-txt{padding:18px 20px 22px;display:grid;gap:8px;justify-items:start}
.f-cat{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--suave)}
.f-txt h3{font-size:24px;font-weight:800}
.f-precio{color:var(--rosa);font-weight:800;font-size:20px}
.f-det{color:var(--suave)}
.f-txt .btn{margin-top:8px;width:100%}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
