@font-face{font-family:"Fraunces";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fuentes/fraunces.woff) format("woff") format("woff")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fuentes/jakarta.woff) format("woff") format("woff")}
/* =========================================================
   FLORES Y PLANTAS ADELA · hoja de estilos única
   Paleta floral: verde bosque, peonía, girasol, lavanda y menta
   Escala de espacio fija (4 px) · escala tipográfica 1.25
   ========================================================= */
:root{
  --verde:#0F3D2E; --verde-2:#17543F; --verde-3:#0A2A20;
  --cta:#D6336C; --cta-h:#BC2660; --cta-p:#A31F52;
  --peonia:#F06292; --peonia-1:#FFE0EA; --peonia-2:#FFC2D6; --peonia-t:#9E1650;
  --girasol:#FFB400; --girasol-1:#FFF0BD; --girasol-2:#FFE08A; --girasol-t:#6B4000;
  --lavanda:#8F6BE8; --lavanda-1:#EEE6FF; --lavanda-2:#D9C9FA; --lavanda-t:#3E2790;
  --menta:#2F9E6E; --menta-1:#DDF3E7; --menta-2:#B7E4CB; --menta-t:#0F5A3D;
  --coral:#FF6B57; --ok:#1F7A53; --alerta:#B3341A;
  --ink:#14241C; --ink-2:#34463C; --ink-3:#51625A;
  --bg:#FFF8F3; --surface:#FFFFFF;
  --line:rgba(15,61,46,.10); --line-2:rgba(15,61,46,.22);

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --t-2:.8rem; --t-1:.889rem; --t0:1rem; --t1:1.25rem; --t2:1.563rem; --t3:1.953rem;
  --t4:clamp(1.95rem,1.5rem + 2vw,2.5rem);
  --t5:clamp(2.4rem,1.6rem + 3.4vw,3.9rem);
  --t6:clamp(2.9rem,1.3rem + 6.2vw,6.1rem);
  --r-s:8px; --r-m:14px; --r-l:22px; --r-xl:34px;
  --sh1:0 1px 2px rgba(15,61,46,.06),0 8px 18px -10px rgba(15,61,46,.2);
  --sh2:0 16px 36px -12px rgba(15,61,46,.2),0 1px 2px rgba(15,61,46,.05);
  --sh3:0 30px 70px -18px rgba(15,61,46,.38),0 2px 6px rgba(15,61,46,.06);
  --ease:cubic-bezier(.16,1,.3,1); --muelle:cubic-bezier(.34,1.56,.64,1);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cab:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--cab) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t0);line-height:1.6;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-x:clip}
body.menu-abierto{overflow:hidden}
@media (min-width:1000px){body{padding-bottom:0}}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:-.02em;color:var(--verde)}
p{margin:0}
[hidden]{display:none!important}
.oculto{display:none!important}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:6px}
.bg-verde :focus-visible,.menu-pantalla :focus-visible,.pie :focus-visible{outline-color:var(--girasol)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:fixed;left:var(--s4);top:-90px;z-index:300;background:var(--verde);color:#fff;padding:var(--s3) var(--s5);border-radius:0 0 14px 14px;font-weight:700;text-decoration:none;transition:top 160ms ease}
.saltar:focus{top:0}
.env{width:min(1240px,100% - 48px);margin-inline:auto}
@media (max-width:600px){.env{width:calc(100% - 32px)}}
::selection{background:var(--peonia-2);color:var(--verde)}
::placeholder{color:#66726A;opacity:1}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}

/* ---------- Dibujos decorativos ---------- */
.deco{position:absolute;pointer-events:none;will-change:translate,rotate;animation:flotar 8s ease-in-out infinite}
@keyframes flotar{0%,100%{translate:0 var(--t0,0px);rotate:var(--r0,0deg)}50%{translate:0 calc(var(--t0,0px) - 14px);rotate:calc(var(--r0,0deg) + 2deg)}}
.disco{position:absolute;border-radius:50%;pointer-events:none}

/* ---------- Botones ---------- */
.btn{--h:48px;position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:var(--h);padding:0 var(--s5);border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:var(--t0);letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 380ms var(--muelle),box-shadow 200ms ease,background 150ms ease,color 150ms ease,border-color 150ms ease}
.btn svg{width:19px;height:19px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97);transition-duration:80ms}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-s{--h:40px;padding:0 var(--s4);font-size:var(--t-1)}
.btn-lg{--h:56px;padding:0 var(--s6);font-size:1.0625rem}
.btn-ico{width:var(--h);padding:0}
.btn-cta{background:var(--cta);color:#fff;box-shadow:0 10px 22px -10px rgba(214,51,108,.7)}
.btn-cta:hover{background:var(--cta-h);box-shadow:0 16px 30px -10px rgba(214,51,108,.75)}
.btn-cta:active{background:var(--cta-p)}
.btn-verde{background:var(--verde);color:#fff;box-shadow:0 10px 22px -12px rgba(15,61,46,.8)}
.btn-verde:hover{background:var(--verde-2)}
.btn-girasol{background:var(--girasol);color:var(--verde);box-shadow:0 10px 22px -10px rgba(255,180,0,.8)}
.btn-girasol:hover{background:#FFC533}
.btn-claro{background:#fff;color:var(--verde);border-color:var(--line-2)}
.btn-claro:hover{border-color:var(--verde);box-shadow:var(--sh1)}
.btn-ter{background:transparent;color:var(--ink-2);padding:0 var(--s3)}
.btn-ter:hover{background:rgba(15,61,46,.07);color:var(--verde)}
.btn.cargando{color:transparent!important;pointer-events:none}
.btn.cargando::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:girar .6s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
.onda{position:absolute;border-radius:50%;background:currentColor;opacity:.3;transform:scale(0);animation:onda 650ms var(--ease) forwards;pointer-events:none;z-index:-1}
@keyframes onda{to{transform:scale(1);opacity:0}}
kbd{font-family:inherit;font-size:var(--t-2);font-weight:700;color:var(--ink-3);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:0 6px;line-height:1.5;background:#fff}

/* Botón de añadir: píldora con flor */
.btn-add{--h:40px;position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-width:128px;height:var(--h);padding:0 var(--s4) 0 6px;border:0;border-radius:999px;background:var(--verde);color:#fff;font:700 var(--t-1)/1 var(--sans);letter-spacing:.01em;cursor:pointer;box-shadow:0 1px 2px rgba(15,61,46,.2),0 8px 16px -8px rgba(15,61,46,.55);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease),background 200ms ease;-webkit-tap-highlight-color:transparent}
.btn-add .ic{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none;transition:transform 480ms var(--ease),background 200ms ease}
.btn-add .ic svg{width:17px;height:17px;grid-area:1/1}
.btn-add .chk{display:none}
.btn-add::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);transform:translateX(-130%);transition:transform 750ms var(--ease);pointer-events:none}
.btn-add:hover{transform:translateY(-2px);background:var(--verde-2);box-shadow:0 2px 4px rgba(15,61,46,.2),0 14px 24px -8px rgba(15,61,46,.6)}
.btn-add:hover::after{transform:translateX(130%)}
.btn-add:hover .ic{transform:rotate(180deg);background:rgba(255,255,255,.26)}
.btn-add:active{transform:scale(.96);transition-duration:90ms}
.btn-add.ok{background:var(--ok)}
.btn-add.ok::after{display:none}
.btn-add.ok .ic{transform:none;background:rgba(255,255,255,.24)}
.btn-add.ok .mas{display:none}
.btn-add.ok .chk{display:block;animation:marca 380ms var(--muelle)}
@keyframes marca{from{transform:scale(.3) rotate(-30deg);opacity:0}to{transform:none;opacity:1}}
.btn-add.lg{--h:52px;font-size:var(--t0);padding:0 var(--s5) 0 8px;min-width:200px}
.btn-add.lg .ic{width:36px;height:36px}
.btn-add.lg .ic svg{width:20px;height:20px}
.panel-pie .btn-add{width:100%}
.tabla .btn-add{--h:36px;min-width:118px}

/* ---------- Formularios ---------- */
.campo{display:flex;flex-direction:column;gap:var(--s1)}
.campo>span{font-weight:700;font-size:var(--t-1)}
.campo small{color:var(--ink-3);font-size:var(--t-2);font-weight:500}
.input,.select,.textarea{height:48px;border:1.5px solid var(--line-2);border-radius:var(--r-m);background:#fff;padding:0 var(--s4);transition:border-color 150ms,box-shadow 150ms}
.select{padding-right:var(--s6)}
.textarea{height:auto;min-height:92px;padding:var(--s3) var(--s4);resize:vertical;line-height:1.5}
.input:hover,.select:hover,.textarea:hover{border-color:rgba(15,61,46,.45)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px var(--menta-1)}
.input[aria-invalid="true"],.select[aria-invalid="true"]{border-color:var(--alerta);box-shadow:0 0 0 4px #FDE3DC}
.error{color:var(--alerta);font-size:var(--t-2);font-weight:700}
.req{color:var(--cta-h);font-style:normal;font-weight:800}
.honey{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.fila{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.etq{font-weight:700;font-size:var(--t-1)}
.aviso{font-size:var(--t-2);color:var(--ink-3)}
.segmento{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--menta-1);border-radius:999px;padding:4px;gap:4px}
.segmento label{cursor:pointer}
.segmento input{position:absolute;opacity:0;pointer-events:none}
.segmento span{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 var(--s4);border-radius:999px;font-weight:700;font-size:var(--t-1);color:var(--ink-2);transition:background 150ms,color 150ms}
.segmento input:checked+span{background:var(--verde);color:#fff}
.segmento input:focus-visible+span{outline:3px solid var(--verde);outline-offset:2px}
.segmento svg{width:17px;height:17px}

/* =========================================================
   CABECERA Y NAVEGACIÓN
   ========================================================= */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,248,243,.82);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line)}
.cab-fila{display:flex;align-items:center;gap:var(--s4);height:var(--cab);width:min(1360px,100% - 48px);margin-inline:auto}
.marca{display:flex;align-items:center;gap:var(--s3);text-decoration:none;white-space:nowrap;flex:none}
.marca-ico{width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:var(--sh1);display:grid;place-items:center;flex:none}
.marca-ico svg{width:34px;height:34px;transition:transform 700ms var(--ease)}
.marca:hover .marca-ico svg{transform:rotate(90deg)}
.marca-txt{font-family:var(--serif);font-size:1.28rem;font-weight:500;color:var(--verde);letter-spacing:-.01em}
.marca-txt b{font-weight:700;color:var(--cta-h)}
.nav{display:flex;gap:var(--s1);margin-left:var(--s4)}
.nav a{position:relative;padding:var(--s2) var(--s4);border-radius:999px;font-size:var(--t-1);font-weight:700;text-decoration:none;color:var(--ink-2);white-space:nowrap;transition:background 150ms,color 150ms}
.nav a:hover{background:rgba(15,61,46,.07);color:var(--verde)}
.nav a[aria-current="page"]{background:var(--peonia-1);color:var(--peonia-t)}
.cab-acc{margin-left:auto;display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.estado{display:inline-flex;align-items:center;gap:var(--s2);font-weight:700}
.estado i{position:relative;width:9px;height:9px;border-radius:50%;background:#8A968F;flex:none}
.estado.abierto i{background:var(--ok);box-shadow:0 0 0 3px rgba(31,122,83,.18),0 0 10px rgba(31,122,83,.7)}
.estado.abierto i::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--ok);animation:halo 2s ease-out infinite}
@keyframes halo{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.4);opacity:0}}
.estado.cerrado i{background:var(--alerta)}
.estado-cab{font-size:var(--t-1);padding:7px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.estado-cab .corto{display:none}
.buscar-btn{display:flex;align-items:center;justify-content:center;gap:var(--s3);height:44px;min-width:44px;padding:0;border:1.5px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink-3);cursor:pointer;font-size:var(--t-1);transition:border-color 150ms}
.buscar-btn:hover{border-color:var(--verde);color:var(--verde)}
.buscar-btn svg{width:18px;height:18px}
.buscar-btn span,.buscar-btn kbd{display:none}
.contador{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--cta-h);font-size:var(--t-2);font-weight:800;display:inline-grid;place-items:center;line-height:1}
.contador[data-n="0"]{display:none}
.contador.pop{animation:popContador 520ms var(--muelle)}
@keyframes popContador{0%{transform:scale(1)}35%{transform:scale(1.7)}65%{transform:scale(.88)}100%{transform:scale(1)}}
.bump{animation:bump 480ms var(--muelle)}
@keyframes bump{0%,100%{transform:scale(1)}40%{transform:scale(1.09)}}
.cart-mov,.burger{display:none;position:relative;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;cursor:pointer;align-items:center;justify-content:center;transition:transform 200ms var(--muelle),background 150ms}
.cart-mov:active,.burger:active{transform:scale(.92)}
.cart-mov svg{width:22px;height:22px;color:var(--verde)}
.cart-mov .contador{position:absolute;top:-6px;right:-6px;background:var(--cta);color:#fff}
.burger{flex-direction:column;gap:5px}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--verde);transition:transform 320ms var(--ease),opacity 150ms}
.burger[aria-expanded="true"]{background:var(--girasol);border-color:var(--girasol)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.estado-mov{display:none}
@media (min-width:1500px){
  .buscar-btn{min-width:200px;padding:0 var(--s2) 0 var(--s4);justify-content:flex-start}
  .buscar-btn span{display:inline}.buscar-btn kbd{display:inline-block;margin-left:auto}
}
@media (max-width:1499px){.estado-cab .largo{display:none}.estado-cab .corto{display:inline}}
@media (max-width:1179px){
  :root{--cab:66px}
  .nav,.buscar-btn,.estado-cab,.btn-pedido{display:none}
  .cart-mov,.burger{display:flex}
  .estado-mov{display:flex;justify-content:center;padding:6px var(--s4);border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
  .estado-mov .estado{font-size:var(--t-2);color:var(--ink-2)}
  html{scroll-padding-top:calc(var(--cab) + 48px)}
  .cab-fila{width:calc(100% - 32px)}
}
@media (max-width:420px){.marca-txt{font-size:1.1rem}.cab-fila{gap:var(--s2)}}

/* Menú a pantalla completa (móvil y tablet) */
.menu-pantalla{position:fixed;inset:0;z-index:45;display:none;flex-direction:column;justify-content:space-between;padding:calc(var(--cab) + 56px) var(--s5) var(--s6);background:var(--verde);color:#fff;overflow:hidden;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 650ms var(--ease),visibility 0s linear 650ms}
@media (max-width:1179px){.menu-pantalla{display:flex}}
.menu-pantalla.abierto{clip-path:inset(0);visibility:visible;transition:clip-path 650ms var(--ease)}
.menu-nav{display:flex;flex-direction:column;gap:var(--s1);position:relative;z-index:1}
.menu-nav a{font-family:var(--serif);font-size:clamp(2rem,9vw,3.2rem);font-weight:600;letter-spacing:-.02em;color:#fff;text-decoration:none;padding:var(--s2) 0;opacity:0;transform:translateY(24px);transition:opacity 500ms ease,transform 600ms var(--ease),color 150ms}
.menu-pantalla.abierto .menu-nav a{opacity:1;transform:none}
.menu-nav a:nth-child(1){transition-delay:.12s}.menu-nav a:nth-child(2){transition-delay:.18s}.menu-nav a:nth-child(3){transition-delay:.24s}.menu-nav a:nth-child(4){transition-delay:.3s}.menu-nav a:nth-child(5){transition-delay:.36s}
.menu-nav a[aria-current="page"]{color:var(--girasol)}
.menu-nav a:hover{color:var(--peonia-2)}
.menu-pie{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);position:relative;z-index:1}
.menu-deco{width:340px;height:340px;right:-90px;bottom:90px;opacity:.5;animation:none}
.menu-deco use{animation:none}

/* =========================================================
   VISTAS Y COMPONENTES COMUNES
   ========================================================= */
.vista{display:block}
.sec{padding:var(--s9) 0}
.sec-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s7)}
.sec-cab h2{font-size:var(--t5);letter-spacing:-.03em}
.sec-cab h2::after{content:"";display:block;width:64px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--cta),var(--girasol));margin-top:var(--s4)}
.sec-cab p{color:var(--ink-2);max-width:54ch;margin-top:var(--s3);font-size:1.0625rem}
.h2-s{font-size:var(--t3);letter-spacing:-.02em}
.enlace-flecha{display:inline-flex;align-items:center;gap:var(--s2);font-weight:800;color:var(--cta-h);text-decoration:none;padding:var(--s2) 0}
.enlace-flecha::after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-top:2.5px solid currentColor;transform:rotate(45deg);transition:transform 250ms var(--ease)}
.enlace-flecha:hover::after{transform:translateX(5px) rotate(45deg)}

.banda{position:relative;overflow:hidden;margin:var(--s5) clamp(10px,2vw,28px);padding:var(--s9) 0;border-radius:var(--r-xl)}
.banda .env{position:relative;z-index:1}
.bg-peonia{background:linear-gradient(135deg,#FFE9F0 0%,#FFC9DA 55%,#FFE3C4 100%)}
.bg-girasol{background:linear-gradient(135deg,#FFF6CF 0%,#FFE48F 60%,#FFD36B 100%)}
.bg-lavanda{background:linear-gradient(135deg,#F3EDFF 0%,#DCCDFB 60%,#FFD7E6 100%)}
.bg-menta{background:linear-gradient(135deg,#E8F8EF 0%,#BFE8D2 60%,#FFF0BD 100%)}
.bg-verde{background:radial-gradient(900px 480px at 100% 0%,#1B6A4F 0%,transparent 60%),var(--verde);color:#D9ECE1}
.bg-verde h2,.bg-verde h3{color:#fff}
.bg-verde .sec-cab h2::after{background:linear-gradient(90deg,var(--girasol),var(--peonia))}

.banner{position:relative;overflow:hidden;margin-top:var(--s4);padding:var(--s8) var(--s8);border-radius:var(--r-xl);min-height:260px;display:flex;align-items:center}
.banner-txt{position:relative;z-index:1;max-width:620px}
.banner h1{font-size:var(--t5);letter-spacing:-.035em;margin-bottom:var(--s3)}
.banner p{font-size:1.125rem;color:var(--ink-2);max-width:52ch}
.bn-1{width:170px;height:170px;right:6%;top:-24px;--r0:8deg}
.bn-2{width:120px;height:200px;right:22%;bottom:-40px;--r0:-6deg;animation-delay:-3s}
.bn-3{width:130px;height:130px;right:3%;bottom:-30px;animation-delay:-5s}
@media (max-width:900px){.banner{padding:var(--s7) var(--s5);min-height:220px}.bn-1{width:110px;height:110px;right:-10px}.bn-2{display:none}.bn-3{width:90px;height:90px}}

/* Aparición al bajar (GSAP lo activa) */
.js .rv{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* =========================================================
   INICIO
   ========================================================= */
.hero{position:relative;overflow:hidden;padding:var(--s7) 0 calc(var(--s9) + 56px);background:#FFF4EE}
.malla{position:absolute;inset:0;z-index:0;overflow:hidden}
.mancha{position:absolute;border-radius:50%;will-change:transform}
.m1{width:760px;height:760px;left:-14%;top:-30%;background:radial-gradient(circle,#FFB8CF 0%,rgba(255,184,207,0) 68%);animation:deriva1 24s ease-in-out infinite alternate}
.m2{width:640px;height:640px;right:-10%;top:-12%;background:radial-gradient(circle,#FFDE7E 0%,rgba(255,222,126,0) 68%);animation:deriva2 28s ease-in-out infinite alternate}
.m3{width:700px;height:700px;left:22%;bottom:-46%;background:radial-gradient(circle,#A9E2C3 0%,rgba(169,226,195,0) 68%);animation:deriva3 26s ease-in-out infinite alternate}
.m4{width:560px;height:560px;right:16%;bottom:-24%;background:radial-gradient(circle,#CDB9FA 0%,rgba(205,185,250,0) 68%);animation:deriva1 30s ease-in-out -8s infinite alternate}
@keyframes deriva1{to{transform:translate3d(90px,60px,0) scale(1.1)}}
@keyframes deriva2{to{transform:translate3d(-110px,70px,0) scale(.92)}}
@keyframes deriva3{to{transform:translate3d(80px,-60px,0) scale(1.12)}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr 1fr;gap:var(--s7);align-items:center}
.hero-texto{position:relative;z-index:2}
.sobre{display:flex;align-items:center;gap:var(--s3);font-weight:800;color:var(--cta-h);margin-bottom:var(--s4);font-size:var(--t-1)}
.sobre::before{content:"";width:34px;height:3px;border-radius:3px;background:var(--cta)}
.hero h1{font-size:var(--t6);line-height:.96;letter-spacing:-.035em;margin-bottom:var(--s5);text-wrap:balance}
.hero .lead{font-size:var(--t1);line-height:1.55;color:var(--ink-2);max-width:44ch;margin-bottom:var(--s6)}
.acciones{display:flex;flex-wrap:wrap;gap:var(--s3)}
.hero .acciones{margin-bottom:var(--s6)}
.insignias{list-style:none;margin:0;padding:var(--s5) 0 0;border-top:1.5px dashed var(--line-2);display:grid;gap:var(--s3)}
.insignias li{display:flex;align-items:center;gap:var(--s3);font-weight:700;font-size:var(--t-1);color:var(--ink-2)}
.chk{width:26px;height:26px;border-radius:50%;background:var(--c);color:var(--t);display:grid;place-items:center;flex:none}
.chk svg{width:14px;height:14px}
.hero-media{position:relative;height:min(660px,76vh);min-height:480px}
.dk1{width:80%;aspect-ratio:1;left:6%;top:4%;background:radial-gradient(circle at 35% 30%,#FFC9DA,#FFA8C4)}
.dk2{width:46%;aspect-ratio:1;right:-4%;bottom:2%;background:radial-gradient(circle at 35% 30%,#FFE48F,#FFC933)}
.dk3{width:78%;aspect-ratio:1;left:10%;top:6%;background:radial-gradient(circle at 35% 30%,#2B8E68,#17543F)}
.arco{position:absolute;margin:0;overflow:hidden;border:6px solid #fff;background:var(--peonia-1);box-shadow:var(--sh3);will-change:translate,rotate;animation:flotar 9s ease-in-out infinite}
.arco img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
.arco:hover img{transform:scale(1.05)}
.ar1{width:50%;height:84%;left:14%;top:0;border-radius:999px 999px 26px 26px}
.ar2{width:36%;height:46%;right:0;top:8%;border-radius:26px 26px 26px 120px;--t0:-6px;--r0:2deg;animation-duration:7s;animation-delay:-2s}
.ar3{width:42%;height:32%;right:2%;bottom:4%;border-radius:26px 120px 26px 26px;--t0:8px;--r0:-2deg;animation-duration:10s;animation-delay:-5s}
.glass-nota{position:absolute;left:-2%;bottom:16%;z-index:4;display:flex;flex-direction:column;gap:2px;padding:var(--s4) var(--s5);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #fff;border-radius:var(--r-l);box-shadow:var(--sh3);animation:flotar 6s ease-in-out infinite}
.glass-nota b{font-family:var(--serif);font-size:2.4rem;font-weight:600;line-height:1;color:var(--verde)}
.est{display:flex;gap:2px;color:var(--girasol)}
.est svg{width:20px;height:20px}
.est .media{opacity:.35}
.glass-nota small{font-size:var(--t-2);color:var(--ink-3);font-weight:700}
.sello{position:absolute;left:-1%;top:6%;width:128px;height:128px;z-index:5;filter:drop-shadow(0 10px 16px rgba(107,64,0,.3));animation:flotar 7s ease-in-out -1s infinite}
.sello-giro{transform-origin:60px 60px;animation:girar 22s linear infinite}
.dh-1{width:130px;height:130px;right:-3%;top:-5%;z-index:4;--r0:10deg}
.dh-2{width:92px;height:92px;left:40%;bottom:-4%;z-index:4;animation-delay:-3s}
.dh-3{width:112px;height:112px;left:-5%;bottom:34%;z-index:3;animation-delay:-5s}
@media (max-width:1000px){
  .hero{padding:var(--s6) 0 calc(var(--s8) + 56px)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s7)}
  .hero-media{height:520px;max-width:560px;margin-inline:auto;width:100%}
  .hero .acciones .btn{flex:1 1 100%}
  .sello{width:104px;height:104px}.dh-1{width:100px;height:100px}.dh-3{width:90px;height:90px}
}

.strip-env{position:relative;z-index:3;margin-top:calc(-1 * var(--s8))}
.strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh3);overflow:hidden}
.strip-i{display:flex;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);text-decoration:none;transition:background 150ms}
.strip-i+.strip-i{border-left:1px solid var(--line)}
.strip-i:hover{background:#FFF8F3}
.strip-i .ic{width:50px;height:50px;border-radius:16px;background:var(--c);color:var(--t);display:grid;place-items:center;flex:none;transition:transform 400ms var(--muelle)}
.strip-i:hover .ic{transform:rotate(-8deg) scale(1.08)}
.strip-i .ic svg{width:24px;height:24px}
.strip-i small{display:block;font-size:var(--t-2);font-weight:800;color:var(--ink-3)}
.strip-i b{display:block;font-size:var(--t0);color:var(--ink);line-height:1.25}
.strip-i em{display:block;font-style:normal;font-size:var(--t-2);color:var(--ink-3);margin-top:1px}
@media (max-width:900px){.strip{grid-template-columns:1fr}.strip-i{padding:var(--s4) var(--s5)}.strip-i+.strip-i{border-left:0;border-top:1px solid var(--line)}.strip-env{margin-top:calc(-1 * var(--s7))}}

/* Ocasiones */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.tile{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/3.5;border-radius:30px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:var(--c2);box-shadow:var(--sh1);transition:transform 450ms var(--ease),box-shadow 300ms ease}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--c2) 0%,color-mix(in srgb,var(--c2) 70%,transparent) 32%,transparent 68%)}
.tile:hover{transform:translateY(-6px);box-shadow:var(--sh3)}
.tile:hover img{transform:scale(1.07)}
.tile-txt{display:flex;flex-direction:column;gap:2px;padding:var(--s5)}
.tile-txt b{font-family:var(--serif);font-size:var(--t2);font-weight:600;letter-spacing:-.01em;line-height:1.1}
.tile-txt small{font-size:var(--t-1);font-weight:700;opacity:.92}
.tile-pun{position:absolute;top:var(--s4);left:var(--s4);width:14px;height:14px;border-radius:50%;background:var(--c1);box-shadow:0 0 0 4px rgba(255,255,255,.85)}
.tile-flecha{position:absolute;right:var(--s4);bottom:var(--s4);width:44px;height:44px;border-radius:50%;background:#fff;color:var(--verde);display:grid;place-items:center;transition:transform 400ms var(--muelle),background 150ms}
.tile-flecha svg{width:18px;height:18px}
.tile:hover .tile-flecha{transform:rotate(-45deg) scale(1.1);background:var(--c1);color:#fff}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}.tile{aspect-ratio:1/1.12}.tile-txt{padding:var(--s4)}.tile-txt b{font-size:var(--t1)}.tile-flecha{width:38px;height:38px}}

/* Carrusel */
.bd-1{width:210px;height:210px;right:-40px;top:-50px;--r0:12deg}
.bd-2{width:200px;height:320px;left:-30px;bottom:-60px;color:#3F9A72;opacity:.45;--r0:-14deg}
.bd-3{width:130px;height:210px;right:-8%;bottom:-6%;z-index:4}
.bd-4{width:170px;height:170px;right:-34px;top:-40px;--r0:8deg}
.bd-5{width:250px;height:250px;right:-60px;bottom:-80px;opacity:.9}
@media (max-width:700px){.splide__arrows{position:static;margin-bottom:var(--s3)}}

/* Cómo funciona */
.como{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);align-items:center}
.como h2{font-size:var(--t5);margin-bottom:var(--s6)}
.pasos-grandes{list-style:none;margin:0 0 var(--s6);padding:0;display:grid;gap:var(--s5)}
.pasos-grandes li{display:grid;grid-template-columns:64px 1fr;gap:var(--s4);align-items:start}
.pasos-grandes b{font-family:var(--serif);font-size:3rem;font-weight:600;line-height:1;color:var(--girasol)}
.pasos-grandes h3{font-size:var(--t2);margin-bottom:var(--s1)}
.pasos-grandes p{color:#CFE5D9;max-width:44ch}
.como-media{position:relative;height:min(520px,70vh);min-height:380px}
.ar4{width:78%;height:78%;left:12%;top:11%;border-radius:999px 999px 30px 30px}
@media (max-width:900px){.como{grid-template-columns:1fr;gap:var(--s7)}.como-media{max-width:440px;margin-inline:auto;width:100%}}

/* Opiniones */
.opi{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:center}
.nota{background:#fff;border-radius:var(--r-xl);padding:var(--s7);box-shadow:var(--sh2);display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start;animation:flotar 9s ease-in-out -3s infinite}
.nota b{font-family:var(--serif);font-size:clamp(4rem,3rem + 5vw,6.5rem);font-weight:600;line-height:.9;color:var(--verde);letter-spacing:-.04em}
.nota .est svg{width:26px;height:26px}
.nota p{color:var(--ink-2)}
.opi-txt h2{font-size:var(--t5);margin-bottom:var(--s4)}
.opi-txt>p{font-size:1.0625rem;color:var(--ink-2);max-width:52ch}
.citas{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-top:var(--s5)}
.cita{margin:0;background:#fff;border-radius:var(--r-l);padding:var(--s5);box-shadow:var(--sh1);display:flex;flex-direction:column;gap:var(--s3)}
.cita blockquote{margin:0;font-family:var(--serif);font-size:var(--t1);line-height:1.3;color:var(--verde)}
.cita cite{font-style:normal;font-weight:700;color:var(--ink-3);font-size:var(--t-1)}
.citas:empty{display:none}
@media (max-width:900px){.opi{grid-template-columns:1fr;gap:var(--s6)}.citas{grid-template-columns:1fr}.nota{padding:var(--s6)}}

/* Llamada a la visita */
.cta-visita{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);flex-wrap:wrap}
.cta-visita h2{font-size:var(--t5);margin-bottom:var(--s3)}
.cta-visita p{font-size:var(--t1);color:var(--ink-2);max-width:46ch}
.cta-visita p b{color:var(--verde)}

/* =========================================================
   CATÁLOGO
   ========================================================= */
.sec-catalogo{padding-top:var(--s7)}
.catalogo{display:grid;grid-template-columns:272px minmax(0,1fr);gap:var(--s6);align-items:start}
.filtros{position:sticky;top:calc(var(--cab) + var(--s5));display:flex;flex-direction:column;gap:var(--s5);padding:var(--s5);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh1)}
.filtros fieldset{border:0;padding:0;margin:0}
.filtros legend{font-family:var(--serif);font-size:var(--t1);font-weight:600;color:var(--verde);margin-bottom:var(--s2);padding:0}
.lista-op{display:flex;flex-direction:column;gap:2px}
.lista-op label{display:flex;align-items:center;gap:var(--s3);padding:8px var(--s3);border-radius:var(--r-m);cursor:pointer;font-size:var(--t-1);font-weight:600;color:var(--ink-2);transition:background 150ms}
.lista-op label:hover{background:var(--peonia-1)}
.lista-op input{accent-color:var(--cta);width:17px;height:17px;margin:0}
.lista-op .n{margin-left:auto;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:var(--t-2)}
.lista-op label:has(input:checked){background:var(--peonia-1);color:var(--peonia-t)}
.rango{display:flex;flex-direction:column;gap:var(--s2)}
.rango output{font-weight:800;font-variant-numeric:tabular-nums}
.rango input{accent-color:var(--cta);width:100%}
.filtros-mov{display:none}
@media (max-width:960px){.catalogo{grid-template-columns:1fr}.filtros{position:static;display:none}.filtros.abierto{display:flex}.filtros-mov{display:inline-flex}}
.pills{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s4)}
.pills button{height:42px;padding:0 var(--s5);border-radius:999px;border:1.5px solid var(--line-2);background:#fff;font-weight:700;font-size:var(--t-1);color:var(--ink-2);cursor:pointer;transition:background 150ms,border-color 150ms,color 150ms,transform 300ms var(--muelle)}
.pills button:hover{border-color:var(--cta);color:var(--cta-h);transform:translateY(-2px)}
.pills button:active{transform:scale(.96)}
.pills button[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.barra-res{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.buscador{position:relative;flex:1 1 260px}
.buscador svg{position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
.buscador .input{width:100%;padding-left:44px;padding-right:48px;border-radius:999px}
.buscador kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.barra-res .select{border-radius:999px;padding-left:var(--s5)}
@media (max-width:960px){.buscador{flex-basis:100%}.barra-res .select{flex:1 1 150px;min-width:150px}}
.activos{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;min-height:34px;margin-bottom:var(--s4);font-size:var(--t-1);color:var(--ink-3);font-weight:600}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 var(--s3);border-radius:999px;background:var(--peonia-1);color:var(--peonia-t);font-weight:700;font-size:var(--t-2);border:0;cursor:pointer;transition:background 150ms,transform 300ms var(--muelle)}
.chip:hover{background:var(--peonia-2);transform:scale(1.05)}
.chip svg{width:14px;height:14px}
.resultados{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:var(--s5)}
.prod{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--sh1);transition:translate 400ms var(--ease),box-shadow 300ms ease,border-color 150ms}
.prod:hover{translate:0 -6px;box-shadow:var(--sh3);border-color:rgba(15,61,46,.18)}
.prod .media{position:relative;aspect-ratio:4/5;background:var(--peonia-1);overflow:hidden}
.prod .media img{width:100%;height:100%;object-fit:cover;transition:transform 800ms var(--ease)}
.prod:hover .media img{transform:scale(1.05)}
.prod .tag{position:absolute;left:var(--s3);top:var(--s3);background:var(--cta);color:#fff;font-size:var(--t-2);font-weight:800;padding:4px 12px;border-radius:999px;box-shadow:var(--sh1)}
.prod .cuerpo{padding:var(--s4) var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s1);flex:1}
.ocs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s1)}
.ocs span{font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--menta-t);background:var(--menta-1);padding:3px 11px;border-radius:999px}
.ocs span:nth-child(2){background:var(--lavanda-1);color:var(--lavanda-t)}
.ocs span:nth-child(3){background:var(--girasol-1);color:var(--girasol-t)}
.prod h3{font-size:1.3rem;font-weight:600;letter-spacing:-.01em}
.prod h3 button{all:unset;cursor:pointer}
.prod h3 button::after{content:"";position:absolute;inset:0;z-index:1}
.prod h3 button:focus-visible{outline:none}
.prod:has(h3 button:focus-visible){outline:3px solid var(--verde);outline-offset:3px}
.prod p{color:var(--ink-3);font-size:var(--t-1);line-height:1.45}
.tams{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s2)}
.tams button{position:relative;z-index:2;height:32px;padding:0 var(--s3);border-radius:999px;border:1.5px solid var(--line-2);background:#fff;font-size:var(--t-2);font-weight:700;color:var(--ink-2);cursor:pointer;transition:background 150ms,border-color 150ms,color 150ms,transform 300ms var(--muelle)}
.tams button:hover{border-color:var(--verde)}
.tams button:active{transform:scale(.95)}
.tams button[aria-checked="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.tams-fijo{margin-top:var(--s2);font-size:var(--t-2);font-weight:700;color:var(--ink-3)}
.prod-pie{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-top:auto;padding-top:var(--s4)}
.prod-pie .btn-add{position:relative;z-index:3}
.precio{font-weight:800;font-size:1.125rem;font-variant-numeric:tabular-nums;color:var(--verde)}
.resultados.lista{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh1)}
.tabla{width:100%;border-collapse:collapse;font-size:var(--t-1)}
.tabla th{text-align:left;font-weight:700;color:var(--ink-3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:#FFF8F3;white-space:nowrap}
.tabla th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.tabla th button:hover{color:var(--verde)}
.tabla th button:focus-visible{outline:3px solid var(--verde);border-radius:4px}
.tabla td{padding:var(--s2) var(--s4);border-bottom:1px solid var(--line);vertical-align:middle}
.tabla tr:last-child td{border-bottom:0}
.tabla tbody tr{transition:background 150ms}
.tabla tbody tr:hover{background:#FFF8F3}
.tabla .mini{display:flex;align-items:center;gap:var(--s3)}
.tabla .mini img{width:52px;height:60px;border-radius:var(--r-s);object-fit:cover}
.tabla .mini button{all:unset;cursor:pointer;font-weight:800;color:var(--verde)}
.tabla .mini button:hover{color:var(--cta-h)}
.tabla .mini button:focus-visible{outline:3px solid var(--verde);border-radius:4px}
.tabla .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:720px){.tabla .oc,.tabla th.oc{display:none}}
.vacio{text-align:center;padding:var(--s8) var(--s5);border:2px dashed var(--line-2);border-radius:var(--r-l);background:#fff}
.vacio svg{width:72px;height:72px;margin:0 auto var(--s4)}
.vacio h3{font-size:var(--t2);margin-bottom:var(--s2)}
.vacio p{color:var(--ink-3);margin:0 auto var(--s5);max-width:42ch}
.vacio .acciones{justify-content:center}

/* =========================================================
   CONFIGURADOR
   ========================================================= */
.conf{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:stretch}
#form-config{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s7);display:flex;flex-direction:column;gap:var(--s5);box-shadow:var(--sh2)}
.stp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.stp li{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-1);font-weight:700;color:var(--ink-3);padding-bottom:var(--s3);border-bottom:4px solid var(--line);border-radius:2px}
.stp li b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--menta-1);font-size:var(--t-2);color:var(--ink-2)}
.stp li[aria-current]{color:var(--peonia-t);border-color:var(--cta)}
.stp li[aria-current] b{background:var(--cta);color:#fff}
.stp li.hecho{color:var(--menta-t);border-color:var(--menta)}
.stp li.hecho b{background:var(--menta-t);color:#fff}
.paso{min-height:250px}
.paso fieldset{border:0;margin:0;padding:0}
.paso legend{font-family:var(--serif);font-size:var(--t2);font-weight:600;margin-bottom:var(--s4);padding:0;color:var(--verde)}
.gamas{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.gama input,.pres input{position:absolute;opacity:0;pointer-events:none}
.gama{cursor:pointer}
.gama>span{display:flex;flex-direction:column;gap:3px;padding:var(--s4);border:2px solid var(--line);border-radius:var(--r-l);height:100%;transition:border-color 150ms,background 150ms,box-shadow 150ms,transform 300ms var(--muelle)}
.gama:hover>span{border-color:var(--verde);transform:translateY(-3px)}
.gama:active>span{transform:scale(.98)}
.gama input:checked+span{border-color:var(--cta);background:var(--peonia-1);box-shadow:0 0 0 1px var(--cta)}
.gama input:focus-visible+span,.pres input:focus-visible+span{outline:3px solid var(--verde);outline-offset:3px}
.gama .pun{display:flex;margin-bottom:var(--s2)}
.gama .pun i{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 3px #fff,inset 0 0 0 1px rgba(0,0,0,.12);margin-right:-9px}
.gama b{font-size:var(--t0)}
.gama small{font-size:var(--t-2);color:var(--ink-3);line-height:1.4}
.pres{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s4)}
.pres label{cursor:pointer}
.pres span{display:flex;align-items:center;height:52px;padding:0 var(--s5);border:2px solid var(--line);border-radius:999px;font-weight:800;transition:border-color 150ms,background 150ms,transform 300ms var(--muelle)}
.pres label:hover span{border-color:var(--verde);transform:translateY(-2px)}
.pres label:active span{transform:scale(.97)}
.pres input:checked+span{background:var(--verde);border-color:var(--verde);color:#fff}
.resumen-cfg{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s5);margin:var(--s5) 0 0;padding:var(--s4) var(--s5);background:var(--girasol-1);border-radius:var(--r-m);font-size:var(--t-1)}
.resumen-cfg dt{color:var(--girasol-t)}
.resumen-cfg dd{margin:0;font-weight:800}
.conf-nav{display:flex;gap:var(--s3);margin-top:auto;justify-content:flex-end;flex-wrap:wrap}
.conf-vista{margin:0;position:relative;border-radius:999px 999px var(--r-xl) var(--r-xl);overflow:hidden;min-height:480px;background:var(--lavanda-1);box-shadow:var(--sh3);border:6px solid #fff}
.conf-vista img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.conf-vista figcaption{position:absolute;left:50%;bottom:var(--s4);transform:translateX(-50%);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:7px 16px;border-radius:999px;font-size:var(--t-2);font-weight:800;color:var(--verde);white-space:nowrap}
@media (max-width:960px){.conf{grid-template-columns:1fr}.conf-vista{min-height:320px;order:-1;border-radius:var(--r-xl)}.gamas{grid-template-columns:1fr}#form-config{padding:var(--s5)}}
@media (max-width:560px){.stp li{font-size:var(--t-2);gap:6px}.stp li b{width:22px;height:22px}.conf-nav .btn,.conf-nav .btn-add{flex:1 1 auto}}

/* =========================================================
   FECHAS
   ========================================================= */
.proxima{display:grid;grid-template-columns:auto 1fr;gap:var(--s7);align-items:center;padding:var(--s7);border-radius:var(--r-xl);background:linear-gradient(135deg,#FFF0BD 0%,#FFD8B0 55%,#FFC2D6 100%);box-shadow:var(--sh2);margin-bottom:var(--s8);position:relative;overflow:hidden}
.prox-num{display:flex;flex-direction:column;align-items:center;justify-content:center;width:200px;height:200px;border-radius:50%;background:#fff;box-shadow:var(--sh2);text-align:center;flex:none}
.prox-num b{font-family:var(--serif);font-size:5.5rem;font-weight:600;line-height:.9;color:var(--cta-h);letter-spacing:-.04em}
.prox-num span{font-weight:800;color:var(--verde)}
.proxima h2{font-size:var(--t4);margin-bottom:var(--s2)}
.proxima p{color:var(--ink-2);font-size:1.0625rem;max-width:46ch;margin-bottom:var(--s5)}
.proxima .eti{display:inline-block;margin-bottom:var(--s3);padding:5px 14px;border-radius:999px;background:#fff;font-size:var(--t-2);font-weight:800;color:var(--peonia-t)}
.proxima .deco{width:150px;height:150px;right:-30px;top:-30px;--r0:10deg}
@media (max-width:760px){.proxima{grid-template-columns:1fr;padding:var(--s6);text-align:center;justify-items:center}.prox-num{width:160px;height:160px}.prox-num b{font-size:4.2rem}}
.fechas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4);margin-top:var(--s5)}
.fecha{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border-radius:var(--r-l);background:var(--c);box-shadow:var(--sh1);transition:translate 400ms var(--ease),box-shadow 300ms}
.fecha:hover{translate:0 -6px;box-shadow:var(--sh3)}
.fecha .dia{font-family:var(--serif);font-size:var(--t3);font-weight:600;line-height:1.05;color:var(--t)}
.fecha h3{font-size:1.1rem;font-family:var(--sans);font-weight:800;letter-spacing:0;color:var(--ink)}
.fecha p{color:var(--ink-2);font-size:var(--t-1)}
.fecha .faltan{margin-top:auto;padding-top:var(--s3);font-weight:800;color:var(--t);font-variant-numeric:tabular-nums}
.fecha .btn{margin-top:var(--s3);align-self:flex-start}

/* =========================================================
   VISÍTANOS
   ========================================================= */
.ubi{display:grid;grid-template-columns:5fr 7fr;gap:var(--s6);align-items:stretch}
.ficha{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s7);box-shadow:var(--sh2);display:flex;flex-direction:column;gap:var(--s3)}
.ficha .h2-s{margin-top:var(--s2)}
.dir-sub{color:var(--ink-2);line-height:1.5}
.tel-link{display:inline-flex;align-items:center;gap:var(--s3);align-self:flex-start;font-weight:800;font-size:var(--t1);text-decoration:none;color:var(--verde);padding:var(--s2) 0;transition:color 150ms}
.tel-link:hover{color:var(--cta-h)}
.tel-link svg{width:21px;height:21px}
.horario{width:100%;border-collapse:collapse;font-size:var(--t-1);margin:var(--s2) 0 var(--s4);font-variant-numeric:tabular-nums}
.horario td{padding:8px var(--s3);border-bottom:1px solid var(--line)}
.horario td:last-child{text-align:right}
.horario tr.hoy td{background:var(--menta-1);color:var(--menta-t);font-weight:800;border-bottom-color:transparent}
.horario tr.hoy td:first-child{border-radius:999px 0 0 999px}
.horario tr.hoy td:last-child{border-radius:0 999px 999px 0}
.horario tr.hoy td:first-child::after{content:"Hoy";margin-left:var(--s2);font-size:var(--t-2);color:#fff;background:var(--menta-t);padding:1px 9px;border-radius:999px}
.ficha .acciones{margin-top:auto}
.mapa-card{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh2);border:6px solid #fff;min-height:480px;background:var(--menta-1)}
.mapa-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (max-width:960px){.ubi{grid-template-columns:1fr}.mapa-card{min-height:360px}.ficha{padding:var(--s6)}}
.llegar{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s5)}
.llegar-i{padding:var(--s5);border-radius:var(--r-l);background:var(--c);color:var(--t)}
.llegar-i b{display:block;font-family:var(--serif);font-size:var(--t2);font-weight:600;margin-bottom:var(--s2)}
.llegar-i p{color:var(--ink-2)}
.foto-quiosco{margin:var(--s7) 0 0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh2);border:6px solid #fff;aspect-ratio:16/7}
.foto-quiosco img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.llegar{grid-template-columns:1fr}.foto-quiosco{aspect-ratio:16/10}}

/* =========================================================
   PIE Y BARRA MÓVIL
   ========================================================= */
.pie{position:relative;overflow:hidden;margin-top:var(--s7);background:var(--verde-3);color:#C9DDD0;padding:var(--s8) 0 var(--s7)}
.pie-deco{width:220px;height:350px;right:4%;top:-40px;color:#2F8F67;opacity:.35;--r0:8deg}
.pie-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s7)}
.pie .marca-txt{color:#fff}
.pie .marca-txt b{color:var(--peonia-2)}
.pie-marca p{margin-top:var(--s4);max-width:34ch;color:#B7D0C0}
.pie h2{font-family:var(--sans);font-size:var(--t-1);font-weight:800;letter-spacing:.02em;color:var(--girasol);margin-bottom:var(--s3)}
.pie nav,.pie-grid>div:nth-child(3){display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}
.pie a:not(.marca),.pie button{all:unset;cursor:pointer;color:#E3F0E8;font-weight:600;font-size:var(--t-1);padding:3px 0;transition:color 150ms,translate 250ms var(--ease)}
.pie a:not(.marca):hover,.pie button:hover{color:#fff;translate:4px 0}
.pie a:not(.marca):focus-visible,.pie button:focus-visible{outline:3px solid var(--girasol);outline-offset:3px;border-radius:4px}
@media (max-width:900px){.pie-grid{grid-template-columns:1fr 1fr;gap:var(--s6)}.pie-marca{grid-column:1/-1}}
.barra-mov{position:fixed;left:0;right:0;bottom:0;z-index:48;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:var(--s2);padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom));background:rgba(255,248,243,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -10px 28px -14px rgba(15,61,46,.25)}
.barra-mov a,.barra-mov button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:54px;border-radius:var(--r-m);text-decoration:none;font-weight:700;font-size:var(--t-2);color:var(--ink-2);border:0;background:none;cursor:pointer;transition:background 150ms,transform 200ms var(--muelle)}
.barra-mov a:active,.barra-mov button:active{background:var(--peonia-1);transform:scale(.96)}
.barra-mov .principal{background:var(--cta);color:#fff;flex-direction:row;gap:var(--s2);font-size:var(--t-1);border-radius:999px;margin:3px 0}
.barra-mov .principal:active{background:var(--cta-p)}
.barra-mov .contador{background:#fff;color:var(--cta-h)}
.barra-mov svg{width:21px;height:21px}
@media (min-width:1000px){.barra-mov{display:none}}
.toasts{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:400;display:flex;flex-direction:column;gap:var(--s2);align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}
@media (min-width:1000px){.toasts{bottom:var(--s6)}}
dialog .toasts{bottom:auto;top:var(--s5)}
.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--s4);background:var(--verde);color:#fff;padding:var(--s3) var(--s3) var(--s3) var(--s5);border-radius:999px;box-shadow:var(--sh3);font-size:var(--t-1);font-weight:700;animation:entraToast 260ms var(--muelle)}
.toast button{all:unset;cursor:pointer;color:var(--girasol);font-weight:800;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);transition:background 150ms}
.toast button:hover{background:rgba(255,255,255,.2)}
.toast button:focus-visible{outline:3px solid var(--girasol)}
.toast.sale{opacity:0;transform:translateY(8px);transition:opacity 160ms,transform 160ms}
@keyframes entraToast{from{transform:translateY(14px) scale(.96);opacity:0}}
.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--verde);color:#fff;font-size:var(--t-2);font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap;pointer-events:none;animation:entraToast 160ms var(--ease)}
#copiar-dir{overflow:visible}

dialog{border:0;padding:0;color:inherit;background:transparent;max-width:none;max-height:none}
dialog:not([open]){display:none!important}
dialog::backdrop{background:rgba(10,42,32,.45);backdrop-filter:blur(5px)}
.panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(500px,100vw);height:100dvh;background:rgba(255,252,249,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--sh3);display:flex;flex-direction:column;border-radius:var(--r-xl) 0 0 var(--r-xl)}
.panel[open]{animation:entraPanel 380ms var(--ease)}
@keyframes entraPanel{from{transform:translateX(40px);opacity:.4}}
.panel-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}
.panel-cab h2{font-size:var(--t2)}
.panel-cuerpo{flex:1;overflow:auto;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s5)}
.panel-pie{padding:var(--s4) var(--s5) calc(var(--s4) + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s3);background:rgba(255,255,255,.7)}
.det-foto{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:var(--peonia-1)}
.det-foto img{width:100%;height:100%;object-fit:cover}
.det h3{font-size:var(--t3);margin-bottom:var(--s2)}
.det p{color:var(--ink-2)}
.tamanos{display:grid;gap:var(--s2)}
.tamanos label{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:2px solid var(--line);border-radius:var(--r-m);cursor:pointer;font-weight:700;transition:border-color 150ms,background 150ms}
.tamanos label:hover{border-color:var(--verde)}
.tamanos input{accent-color:var(--cta);margin:0}
.tamanos label:has(input:checked){border-color:var(--cta);background:var(--peonia-1)}
.tamanos .precio{margin-left:auto}
.paso-cant{display:inline-flex;align-items:center;border:1.5px solid var(--line-2);border-radius:999px;height:42px;overflow:hidden;background:#fff}
.paso-cant button{width:40px;height:100%;border:0;background:none;cursor:pointer;font-size:1.15rem;color:var(--ink-2);transition:background 150ms}
.paso-cant button:hover{background:var(--peonia-1)}
.paso-cant output{min-width:28px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.items{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#fff}
.item{display:grid;grid-template-columns:56px 1fr auto;gap:var(--s3);align-items:center;padding:var(--s3)}
.item+.item{border-top:1px solid var(--line)}
.item img,.item .sin-foto{width:56px;height:64px;border-radius:var(--r-s);object-fit:cover;background:linear-gradient(135deg,var(--peonia-2),var(--girasol-2))}
.item h4{font-family:var(--sans);font-size:var(--t-1);font-weight:800;letter-spacing:0;color:var(--ink)}
.item p{font-size:var(--t-2);color:var(--ink-3)}
.item .der{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s1)}
.item .paso-cant{height:34px}
.item .paso-cant button{width:32px}
.quitar{all:unset;cursor:pointer;font-size:var(--t-2);color:var(--ink-3);font-weight:700}
.quitar:hover{color:var(--alerta)}
.quitar:focus-visible{outline:3px solid var(--verde);border-radius:3px}
.total{display:flex;justify-content:space-between;align-items:baseline;font-weight:800}
.total strong{font-size:var(--t2);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--verde)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
@media (max-width:420px){.dos{grid-template-columns:1fr}}

.paleta{margin:12vh auto auto;width:min(640px,calc(100vw - 32px));background:rgba(255,252,249,.96);backdrop-filter:blur(14px);border-radius:var(--r-xl);box-shadow:var(--sh3);overflow:hidden;border:1px solid var(--line)}
.paleta[open]{animation:entraPaleta 220ms var(--ease)}
@keyframes entraPaleta{from{transform:translateY(-10px) scale(.98);opacity:.4}}
.paleta-in{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s5);border-bottom:1px solid var(--line)}
.paleta-in svg{width:20px;height:20px;color:var(--ink-3);flex:none}
.paleta-in input{flex:1;height:60px;border:0;outline:0;font-size:var(--t1);background:none}
.paleta ul{list-style:none;margin:0;padding:var(--s2);max-height:min(52vh,420px);overflow:auto}
.paleta .grupo{font-size:var(--t-2);font-weight:800;color:var(--ink-3);padding:var(--s3) var(--s3) var(--s1)}
.paleta li[role="option"]{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-m);cursor:pointer;font-size:var(--t-1);font-weight:600}
.paleta li[role="option"] img,.paleta li[role="option"] .ic{width:38px;height:38px;border-radius:var(--r-s);object-fit:cover;flex:none;background:var(--peonia-1);display:grid;place-items:center}
.paleta li[role="option"] .ic svg{width:18px;height:18px;color:var(--verde)}
.paleta li[role="option"] .sub{margin-left:auto;color:var(--ink-3);font-size:var(--t-2)}
.paleta li[aria-selected="true"]{background:var(--peonia-1)}
.paleta .nada{padding:var(--s6);text-align:center;color:var(--ink-3)}
.paleta-pie{display:flex;gap:var(--s4);padding:var(--s2) var(--s5);border-top:1px solid var(--line);font-size:var(--t-2);color:var(--ink-3);background:rgba(255,255,255,.6)}
.modal{margin:auto;width:min(660px,calc(100vw - 32px));max-height:min(82vh,740px);background:rgba(255,252,249,.97);backdrop-filter:blur(14px);border-radius:var(--r-xl);box-shadow:var(--sh3);display:flex;flex-direction:column}
.modal[open]{animation:entraPaleta 240ms var(--ease)}
.modal .panel-cuerpo{gap:var(--s3);font-size:var(--t-1);color:var(--ink-2)}
.modal h3{font-family:var(--sans);font-size:var(--t0);font-weight:800;letter-spacing:0;color:var(--verde);margin-top:var(--s3)}
.hueco{background:var(--girasol-1);padding:0 5px;border-radius:4px;color:var(--girasol-t);font-weight:700}
.cookies{position:fixed;left:var(--s5);bottom:var(--s5);z-index:70;width:min(450px,calc(100vw - 48px));background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh3);padding:var(--s5);animation:subirCk 600ms var(--ease)}
@keyframes subirCk{from{transform:translateY(26px);opacity:0}}
.cookies h2{font-size:var(--t1);margin-bottom:var(--s2)}
.cookies p{font-size:var(--t-1);color:var(--ink-2);line-height:1.5}
.enlace{all:unset;cursor:pointer;color:var(--verde);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.enlace:focus-visible{outline:3px solid var(--verde);outline-offset:2px;border-radius:3px}
.ck-acc{display:flex;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;justify-content:flex-end}
@media (max-width:999px){.cookies{left:var(--s3);right:var(--s3);width:auto;bottom:calc(88px + env(safe-area-inset-bottom))}}
.sw{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start;position:relative;padding:var(--s3) 0;border-top:1px solid var(--line)}
.sw input{position:absolute;opacity:0;width:48px;height:28px;margin:0;cursor:pointer;z-index:1}
.sw-track{width:48px;height:28px;border-radius:999px;background:#8A968F;position:relative;transition:background 160ms;flex:none}
.sw-track::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform 240ms var(--ease)}
.sw input:checked+.sw-track{background:var(--ok)}
.sw input:checked+.sw-track::after{transform:translateX(20px)}
.sw input:focus-visible+.sw-track{outline:3px solid var(--verde);outline-offset:3px}
.sw.fijo{opacity:.85}
.sw.fijo input{cursor:not-allowed}
.sw-txt{display:flex;flex-direction:column;gap:2px;cursor:pointer}
.sw-txt b{color:var(--ink)}
.sw-txt small{color:var(--ink-3);font-size:var(--t-2);line-height:1.45}
.modal .ck-acc{justify-content:stretch}
.modal .ck-acc .btn{width:100%}

/* Cabecera con sombra al bajar */
.cab.scroll{box-shadow:0 10px 30px -16px rgba(15,61,46,.35)}

/* =========================================================
   AJUSTES 28/10: rosa, carrusel nativo, aparición y microinteracciones
   ========================================================= */
:root{--muelle:cubic-bezier(.16,1,.3,1);--sh3:0 24px 48px -22px rgba(15,61,46,.3),0 2px 6px rgba(15,61,46,.06)}
/* Aparición al bajar */
.js .rv{opacity:0;transform:translateY(16px)}
.js .rv.visto{opacity:1;transform:none}
.js .rv.entrando{transition:opacity 500ms var(--ease),transform 600ms var(--ease)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
/* Rosa roja de la portada */
.hero-texto{position:relative}
.hero-texto>*:not(.dh-rosa){position:relative;z-index:1}
.dh-rosa{position:absolute;right:2%;top:112px;width:124px;height:211px;z-index:0;rotate:14deg;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(120,10,30,.22));overflow:visible}
@media (max-width:1000px){.dh-rosa{width:130px;height:221px;right:4%;top:40px}}
@media (max-width:560px){.dh-rosa{width:92px;height:156px;right:-14px;top:-6px;z-index:0}}
/* Carrusel "Los más pedidos" */
.car-ctrl{display:flex;gap:var(--s2);flex:none}
.car-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(15,61,46,.1);background:#fff;color:var(--verde);display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh1);transition:background 180ms ease-out,color 180ms ease-out,transform 180ms var(--ease),opacity 180ms ease-out}
.car-btn svg{width:20px;height:20px}
.car-btn:hover:not(:disabled){background:var(--verde);color:#fff}
.car-btn:active:not(:disabled){transform:scale(.96)}
.car-btn:disabled{opacity:.35;cursor:default}
.carrusel.sin-scroll .car-barra{display:none}
.car-pista{--g:1.25rem;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--g)) / 4);gap:var(--g);margin:0 -8px;padding:var(--s4) 8px var(--s5);list-style:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:8px;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.car-pista::-webkit-scrollbar{display:none}
.car-pista>li{display:flex;scroll-snap-align:start;min-width:0}
.car-pista .prod{width:100%}
.car-pista:focus-visible{outline:3px solid var(--verde);outline-offset:4px;border-radius:28px}
.car-barra{position:relative;width:min(220px,50%);height:4px;margin:var(--s2) auto 0;border-radius:4px;background:rgba(15,61,46,.14);overflow:hidden}
.car-barra i{position:absolute;left:0;top:0;height:100%;border-radius:4px;background:var(--verde);transition:transform 150ms ease-out}
@media (max-width:1180px){.car-pista{grid-auto-columns:calc((100% - 2 * var(--g)) / 3)}}
@media (max-width:860px){.car-pista{grid-auto-columns:calc((100% - var(--g)) / 2)}}
@media (max-width:560px){.car-pista{--g:.9rem;grid-auto-columns:82%}.car-ctrl{display:none}}
/* Microinteracciones: rápidas (150-250ms), ease-out y respuesta al toque */
.btn{transition:transform 180ms var(--ease),background-color 180ms ease-out,border-color 180ms ease-out,color 180ms ease-out,box-shadow 200ms ease-out}
.btn:active,.btn-add:active,.pills button:active,.tams button:active,.chip:active,.buscar-btn:active,.cart-mov:active,.burger:active,.barra-mov a:active,.barra-mov button:active,.strip-i:active,.tile:active,.segmento span:active{transform:scale(.98);transition-duration:100ms}
.btn-add{transition:transform 180ms var(--ease),background-color 180ms ease-out,box-shadow 200ms ease-out}
.btn-add::after{display:none}
.btn-add .ic{transition:transform 220ms var(--ease),background 180ms ease-out}
.btn-add:hover .ic{transform:rotate(90deg)}
.tile{transition:transform 220ms var(--ease),box-shadow 220ms ease-out}
.tile img,.prod .media img,.arco img{transition:transform 250ms ease-out}
.tile-flecha,.strip-i .ic{transition:transform 200ms var(--ease),background 150ms ease-out}
.prod{transition:translate 220ms var(--ease),box-shadow 220ms ease-out,border-color 150ms ease-out;border-color:rgba(0,0,0,.06)}
.fecha{transition:translate 220ms var(--ease),box-shadow 220ms ease-out}
.pills button,.tams button,.chip{transition:background 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out,transform 180ms var(--ease)}
.gama>span,.pres span{transition:border-color 150ms ease-out,background 150ms ease-out,box-shadow 150ms ease-out,transform 180ms var(--ease)}
.marca-ico svg{transition:transform 250ms var(--ease)}
.burger span{transition:transform 220ms var(--ease),opacity 150ms ease-out}
.menu-pantalla.abierto{transition:clip-path 320ms var(--ease)}
.menu-nav a{transition:opacity 220ms ease-out,transform 250ms var(--ease),color 150ms ease-out}
.menu-nav a:nth-child(1){transition-delay:.06s}.menu-nav a:nth-child(2){transition-delay:.09s}.menu-nav a:nth-child(3){transition-delay:.12s}.menu-nav a:nth-child(4){transition-delay:.15s}.menu-nav a:nth-child(5){transition-delay:.18s}
.panel[open]{animation-duration:250ms}
.cookies{animation-duration:250ms}
.onda{transform:scale(.2)}
@keyframes popContador{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes bump{0%,100%{transform:scale(1)}40%{transform:scale(1.04)}}
@keyframes marca{from{transform:scale(.6) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}

/* ---------- Ajustes 28/10 (2): título, mapa y contraste ---------- */
.pm{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .14em;margin-bottom:-.14em}
.pw{display:inline-block;will-change:transform}
.mapa-acc{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s1)}
.mapa-acc .btn{--h:44px;padding:0 var(--s4);font-size:var(--t-1)}
.mapa-acc [hidden]{display:none}
/* Contraste: textos secundarios más oscuros sobre fondos de color suave */
.fecha,.proxima,.resumen-cfg,#personalizar,.banda,.banner,.llegar-i,.resumen-cfg dt{color:#563400}

/* =========================================================
   ITERACIÓN DE DISEÑO 28/10 (3)
   ========================================================= */
/* --- Mapa real --- */
.mapa-card iframe{z-index:0}
.mapa-abrir{position:absolute;left:var(--s4);bottom:var(--s4);z-index:2;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 var(--s4) 0 var(--s3);border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6);border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 2px rgba(15,61,46,.08),0 8px 20px -8px rgba(15,61,46,.35);color:var(--verde);font-weight:800;font-size:var(--t-1);text-decoration:none;transition:transform 180ms var(--ease),background 180ms ease-out}
.mapa-abrir svg{width:18px;height:18px}
.mapa-abrir:hover{background:#fff;transform:translateY(-2px)}
.mapa-abrir:active{transform:scale(.98)}
.mapa-bloqueado{position:absolute;inset:0;display:grid;place-items:center;padding:var(--s6) var(--s6) 90px;text-align:center;background:var(--menta-1);color:var(--ink-2);font-size:var(--t-1)}
.mapa-bloqueado[hidden]{display:none}
@media (max-width:960px){.mapa-card{min-height:380px}}
/* --- Titular: máscara con algo de aire para las letras con giro --- */
.pm{padding:.04em .06em .16em;margin:-.04em -.06em -.16em}
.pw{transform-origin:0 100%}
/* --- Tarjetas premium --- */
.prod{border:1px solid rgba(15,61,46,.06);box-shadow:0 1px 1px rgba(15,61,46,.03),0 2px 4px rgba(15,61,46,.03),0 8px 16px -6px rgba(15,61,46,.06),0 22px 36px -18px rgba(15,61,46,.12);transition:translate 260ms var(--ease),box-shadow 260ms ease-out,border-color 180ms ease-out}
.prod:hover{translate:0 -4px;border-color:rgba(15,61,46,.1);box-shadow:0 1px 2px rgba(15,61,46,.04),0 4px 8px rgba(15,61,46,.04),0 16px 28px -10px rgba(15,61,46,.12),0 36px 56px -24px rgba(15,61,46,.22)}
.prod .media img{transition:transform 600ms cubic-bezier(.16,1,.3,1),filter 300ms ease-out}
.prod:hover .media img{transform:scale(1.045);filter:saturate(1.08)}
.precio-img{position:absolute;left:var(--s3);bottom:var(--s3);z-index:2;padding:6px 14px;border-radius:999px;font-size:1.05rem;color:var(--verde);background:rgba(255,255,255,.62);backdrop-filter:blur(14px) saturate(1.7);-webkit-backdrop-filter:blur(14px) saturate(1.7);border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 16px -8px rgba(10,42,32,.45)}
.precio.cambia{animation:precioPop 360ms var(--ease)}
@keyframes precioPop{0%{transform:scale(.92);opacity:.5}100%{transform:none;opacity:1}}
.prod-pie{justify-content:flex-end}
.prod-pie .btn-add{flex:1 1 auto}
/* Botón añadir: check que se dibuja, onda y vuelta a su estado */
.btn-add{transition:transform 180ms var(--ease),background-color 220ms ease-out,box-shadow 220ms ease-out}
.btn-add .lbl{display:inline-block}
.btn-add.ok{background:var(--ok);box-shadow:0 0 0 0 rgba(47,158,110,.45);animation:okPulso 620ms ease-out}
.btn-add.ok .ic{background:#fff;color:var(--ok);animation:okIc 520ms cubic-bezier(.34,1.56,.64,1)}
.btn-add.ok .chk{display:block;animation:none}
.btn-add.ok .chk path{stroke-dasharray:1;stroke-dashoffset:1;animation:trazo 340ms 120ms cubic-bezier(.65,0,.35,1) forwards}
.btn-add.ok .lbl{animation:okTxt 300ms var(--ease)}
@keyframes trazo{to{stroke-dashoffset:0}}
@keyframes okIc{0%{transform:scale(.6) rotate(-45deg)}60%{transform:scale(1.15) rotate(0)}100%{transform:scale(1)}}
@keyframes okTxt{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@keyframes okPulso{0%{box-shadow:0 0 0 0 rgba(47,158,110,.5)}100%{box-shadow:0 0 0 14px rgba(47,158,110,0)}}
/* --- Paneles: entrada con inercia, salida rápida y fondo con desenfoque progresivo --- */
dialog::backdrop{background:rgba(10,42,32,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
dialog[open]::backdrop{animation:fondoIn 360ms ease-out}
dialog.saliendo::backdrop{animation:fondoOut 200ms ease-in forwards}
@keyframes fondoIn{from{background:rgba(10,42,32,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
@keyframes fondoOut{to{background:rgba(10,42,32,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
.panel[open]{animation:entraPanel 460ms cubic-bezier(.2,1.12,.32,1)}
@keyframes entraPanel{from{transform:translateX(104%)}to{transform:none}}
.panel.saliendo{animation:salePanel 200ms cubic-bezier(.4,0,1,1) forwards}
@keyframes salePanel{to{transform:translateX(104%)}}
.panel[open] .panel-cuerpo>*{animation:entraItem 420ms var(--ease) both}
.panel[open] .panel-cuerpo>*:nth-child(2){animation-delay:40ms}.panel[open] .panel-cuerpo>*:nth-child(3){animation-delay:80ms}.panel[open] .panel-cuerpo>*:nth-child(4){animation-delay:120ms}
@keyframes entraItem{from{opacity:0;transform:translateX(18px)}}
.modal.saliendo,.paleta.saliendo{animation:saleModal 180ms ease-in forwards}
@keyframes saleModal{to{opacity:0;transform:translateY(8px) scale(.98)}}
/* --- Contador del encargo: rebote elástico --- */
.contador.pop{animation:popContador 640ms linear}
@keyframes popContador{0%{transform:scale(1)}22%{transform:scale(1.45)}42%{transform:scale(.86)}60%{transform:scale(1.12)}78%{transform:scale(.97)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.panel[open],.panel[open] .panel-cuerpo>*,dialog[open]::backdrop,.contador.pop,.btn-add.ok,.btn-add.ok .ic{animation:none}.btn-add.ok .chk path{stroke-dashoffset:0;animation:none}}

/* =========================================================
   SALTO EDITORIAL 29/10 — hero, titulares, galería, botones
   ========================================================= */
:root{
  --spring:linear(0,.009,.035 2.1%,.141,.281 6.7%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1.004 83.8%,1);
  --spring-suave:linear(0,.012,.049 2.7%,.193 5.8%,.42 9.4%,.65 13.4%,.84 17.9%,.97 22.9%,1.04 28.4%,1.062 33.6%,1.054 39.7%,1.022 49.8%,1.003 60.3%,.997 74%,1);
}
@supports not (transition-timing-function:linear(0,1)){:root{--spring:cubic-bezier(.34,1.56,.64,1);--spring-suave:cubic-bezier(.22,1.2,.36,1)}}

/* --- Hero editorial --- */
.hero{background:#FFF6F1;padding-top:var(--s8)}
.hero-grid{grid-template-columns:1.22fr .9fr;gap:clamp(24px,4vw,64px);align-items:end}
.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:var(--s5);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.hero-meta::before{display:none}
.hero-meta span{display:inline-flex;align-items:center;gap:14px}
.hero-meta span+span::before{content:"";width:22px;height:1px;background:currentColor;opacity:.35}
.hero-meta .hm-n{color:var(--cta-h)}
.h1-ed{font-size:clamp(3.3rem,1rem + 6.2vw,7.2rem)!important;font-weight:400;line-height:.88;letter-spacing:-.045em;color:#10291F;margin-bottom:var(--s6);text-wrap:initial}
.h1-ed .l{display:block}
.h1-ed .l2{padding-left:.9em}
.h1-ed .l4{padding-left:.45em}
.h1-ed em{position:relative;font-style:normal;font-weight:650;color:var(--cta-h);--subraya:1}
.h1-ed em::after{content:"";position:absolute;left:.04em;right:.06em;bottom:.02em;height:.07em;border-radius:1em;background:linear-gradient(90deg,var(--girasol),var(--cta));transform:scaleX(var(--subraya));transform-origin:0 50%;opacity:.85}
.hero .lead{font-size:clamp(1.05rem,.95rem + .4vw,1.3rem);max-width:40ch;color:#2E4037}
.hero-media{margin-bottom:var(--s5)}
.hero-vertical{position:absolute;right:clamp(8px,1.4vw,22px);top:50%;z-index:2;margin:0;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);opacity:.75}
/* Orbes de color: más difusos, a la deriva, y uno que sigue al cursor */
.mancha{filter:blur(28px);opacity:.9;mix-blend-mode:multiply}
.m1{animation-duration:18s}.m2{animation-duration:22s}.m3{animation-duration:20s}.m4{animation-duration:26s}
.orbe-cursor{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,214,.75) 0%,rgba(255,222,140,.35) 38%,rgba(255,222,140,0) 68%);filter:blur(10px);mix-blend-mode:multiply;pointer-events:none;transform:translate(60vw,30vh)}
.grano{position:absolute;inset:0;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.dh-rosa{top:auto;bottom:calc(100% - 3.6em);right:-2%;font-size:clamp(3.3rem,1rem + 6.2vw,7.2rem)}
.hero-grid{align-items:center}
.estado{gap:10px}
@keyframes halo{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;align-items:start}
  .hero-vertical{display:none}
  .h1-ed{font-size:clamp(3rem,1rem + 9vw,5.6rem)!important}
  .dh-rosa{font-size:clamp(3rem,1rem + 9vw,5.6rem);right:2%}
}
@media (max-width:560px){.h1-ed .l2{padding-left:.6em}.h1-ed .l4{padding-left:.3em}.hero-meta .hm-l{display:none}.dh-rosa{right:-10px}}
@media (prefers-reduced-motion:reduce){.mancha{animation:none}.orbe-cursor{display:none}}

/* --- Titulares de sección con máscara --- */
.cine .pw{transform:translateY(112%) rotate(5deg);transform-origin:0 100%;transition:transform 1000ms cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 55ms)}
.cine.cine-in .pw{transform:none}

/* --- Tarjetas de galería: cristal, passe-partout y elevación fluida --- */
.resultados{gap:clamp(18px,2.2vw,30px)}
.prod{padding:9px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.6));-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(15,61,46,.05),0 1px 2px rgba(15,61,46,.04),0 6px 12px -6px rgba(15,61,46,.08),0 24px 40px -22px rgba(15,61,46,.18);
  transition:translate 620ms var(--spring-suave),box-shadow 320ms ease-out,border-color 200ms ease-out}
.prod:hover{translate:0 -8px;border-color:#fff;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(15,61,46,.06),0 2px 4px rgba(15,61,46,.04),0 14px 24px -10px rgba(15,61,46,.12),0 44px 64px -28px rgba(15,61,46,.3)}
.prod .media{border-radius:22px;aspect-ratio:4/4.9;isolation:isolate}
.prod .media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);pointer-events:none}
.prod .media img{transition:transform 900ms cubic-bezier(.16,1,.3,1),filter 300ms ease-out}
.prod:hover .media img{transform:scale(1.06)}
.prod .cuerpo{padding:var(--s4) var(--s3) var(--s3)}
.prod h3{font-size:1.4rem;font-weight:500;letter-spacing:-.02em}
.prod .tag{background:rgba(214,51,108,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);box-shadow:0 6px 16px -6px rgba(214,51,108,.6);letter-spacing:.02em}
.precio-img{left:var(--s3);bottom:var(--s3)}
.car-pista{padding-top:var(--s5);padding-bottom:var(--s6)}

/* --- Botones: respuesta física (muelle) --- */
.btn,.btn-add,.car-btn,.mapa-abrir,.pills button,.tams button,.chip,.buscar-btn,.cart-mov,.burger,.barra-mov a,.barra-mov button,.strip-i,.tile,.splide__arrow,.paso-cant button,.segmento span,.enlace-flecha{
  transition-property:transform,translate,background-color,border-color,color,box-shadow,opacity;
  transition-duration:560ms,560ms,180ms,180ms,180ms,240ms,180ms;
  transition-timing-function:var(--spring),var(--spring),ease-out,ease-out,ease-out,ease-out,ease-out}
.btn:hover,.btn-add:hover,.mapa-abrir:hover{transform:translateY(-2px)}
.car-btn:hover:not(:disabled),.buscar-btn:hover,.cart-mov:hover{transform:scale(1.06)}
.btn:active,.btn-add:active,.car-btn:active:not(:disabled),.mapa-abrir:active,.pills button:active,.tams button:active,.chip:active,.buscar-btn:active,.cart-mov:active,.burger:active,.barra-mov a:active,.barra-mov button:active,.strip-i:active,.tile:active,.paso-cant button:active,.segmento span:active{
  transform:scale(.95);transition-duration:110ms;transition-timing-function:cubic-bezier(.2,0,.2,1)}
.btn-cta{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1px 2px rgba(163,31,82,.25),0 10px 22px -10px rgba(214,51,108,.7)}
.btn-verde,.btn-add{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(10,42,32,.2),0 10px 22px -12px rgba(15,61,46,.75)}
.btn-claro{box-shadow:inset 0 -1px 0 rgba(15,61,46,.06),0 1px 2px rgba(15,61,46,.05)}
.pills button[aria-pressed="true"],.tams button[aria-checked="true"]{transition-duration:420ms,420ms,160ms,160ms,160ms,200ms,160ms}
@media (prefers-reduced-motion:reduce){.cine .pw{transform:none;transition:none}.btn:active,.btn-add:active{transform:none}}

/* Filtros del catálogo: caben siempre en la pantalla y se desplazan por dentro */
.filtros{max-height:calc(100dvh - var(--cab) - 2 * var(--s5));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.resultados,.cat-main{overflow-anchor:none}
@media (max-width:960px){.filtros{max-height:none;overflow:visible}}

/* Mientras dura la entrada de la portada, nada de transiciones CSS (si no, se quedan los botones invisibles) */
.hero.intro *{transition:none!important}

/* =========================================================
   VERSIÓN MÓVIL (29/10) — la que más se va a usar
   ========================================================= */
/* El título recibe el foco al cambiar de página (para lectores de pantalla), pero sin recuadro */
h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible{outline:none}

@media (max-width:760px){
  /* Menos aire entre secciones: antes había huecos muy grandes */
  .sec{padding:var(--s7) 0}
  .banda{margin:var(--s3) 10px;padding:var(--s7) 0}
  .sec-cab{margin-bottom:var(--s5);gap:var(--s3)}
  .sec-cab h2{font-size:clamp(2.1rem,1.4rem + 3.6vw,2.7rem)}
  .sec-cab p{font-size:1rem}
  .hero{padding:var(--s6) 0 calc(var(--s7) + 40px)}
  .hero-grid{gap:var(--s5)}
  .hero .acciones{margin-bottom:var(--s4)}
  .hero-media{height:400px;margin-top:var(--s3)}
  .strip-env{margin-top:calc(-1 * var(--s6))}
  /* Dibujos decorativos: más pequeños y apartados para que no tapen títulos */
  .banda>.deco{opacity:.55;z-index:0}
  .bd-1{width:120px;height:120px;right:-44px;top:-34px}
  .bd-4{width:110px;height:110px;right:-40px;top:-30px}
  .bd-5{width:150px;height:150px;right:-50px;bottom:-50px}
  .bd-2{opacity:.25}
  .banda .env{position:relative;z-index:1}
  .banner{padding:var(--s6) var(--s5);min-height:0}
  .banner h1{font-size:clamp(2.2rem,1.5rem + 4vw,2.8rem)}
  .banner .deco{opacity:.5}
  .bn-1{width:84px;height:84px;right:-30px;top:-30px}
  .buscador kbd{display:none}
  .bn-3{width:70px;height:70px;right:-12px;bottom:-22px}
  /* Botones de llamada a la acción: a todo el ancho, fáciles de pulsar con el pulgar */
  .cta-visita .acciones,.como .acciones,.opi .nota .btn{width:100%}
  .cta-visita .acciones .btn,.como .acciones .btn{flex:1 1 100%}
  .opi .nota .btn{justify-content:center}
  .cta-visita h2{font-size:clamp(2rem,1.4rem + 3.4vw,2.6rem)}
  .como-media{height:340px;min-height:0}
  .nota{padding:var(--s6)}
  /* Configurador: la foto de ejemplo ocupa menos y los pasos se ven antes */
  .conf-vista{min-height:0;aspect-ratio:16/11;border-radius:var(--r-xl)}
  /* Visítanos */
  .mapa-card{min-height:320px}
}

/* Catálogo en móvil: rejilla de 2 columnas tipo tienda (antes una tarjeta enorme por pantalla) */
@media (max-width:620px){
  #resultados:not(.lista){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #resultados:not(.lista) .prod{padding:6px;border-radius:22px}
  #resultados:not(.lista) .prod .media{border-radius:17px;aspect-ratio:4/5}
  #resultados:not(.lista) .prod .cuerpo{padding:var(--s2) var(--s1) var(--s1);gap:2px}
  #resultados:not(.lista) .prod h3{font-size:1.02rem;line-height:1.15;letter-spacing:-.01em}
  #resultados:not(.lista) .prod p,#resultados:not(.lista) .prod .tams,#resultados:not(.lista) .prod .tams-fijo{display:none}
  #resultados:not(.lista) .prod .ocs{margin-bottom:2px}
  #resultados:not(.lista) .prod .ocs span{font-size:.62rem;padding:2px 8px}
  #resultados:not(.lista) .prod .ocs span:nth-child(n+2){display:none}
  #resultados:not(.lista) .prod-pie{padding-top:var(--s2)}
  #resultados:not(.lista) .btn-add{--h:38px;min-width:0;width:100%;font-size:.85rem;padding:0 10px 0 4px;gap:6px}
  #resultados:not(.lista) .btn-add .ic{width:26px;height:26px}
  #resultados:not(.lista) .precio-img{left:8px;bottom:8px;padding:4px 10px;font-size:.9rem}
  #resultados:not(.lista) .prod .tag{left:8px;top:8px;font-size:.62rem;padding:3px 9px}
  #resultados:not(.lista) .prod:hover{translate:none}
}
/* Móviles pequeños (iPhone SE y similares): los botones largos pueden partirse en dos líneas
   en vez de ensanchar la página (antes la web se salía por la derecha) */
@media (max-width:380px){
  .btn{white-space:normal;height:auto;min-height:var(--h);padding-top:10px;padding-bottom:10px;text-align:center;line-height:1.2}
  .btn-lg{font-size:.98rem;padding-left:var(--s4);padding-right:var(--s4)}
  .marca-txt{font-size:1rem}
  .marca{gap:8px}
  .marca-ico{width:38px;height:38px}.marca-ico svg{width:28px;height:28px}
  .cab-acc{gap:6px}
  .cart-mov,.burger{width:44px;height:44px}
  .hero-meta{letter-spacing:.12em}
}
/* Detalle de producto: la foto ya no se aplasta cuando el panel tiene mucho contenido */
.det-foto{flex:none}
/* Carrusel de "Los más pedidos" en móvil: un poco más compacto */
@media (max-width:560px){
  .car-pista{grid-auto-columns:78%}
  .car-pista .prod p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* =========================================================
   8 NOV 2026 · Sin catálogo: galería, servicios, preguntas y mapa con permiso
   ========================================================= */
/* Qué encontrarás en el quiosco */
.sec-servicios{padding-top:0}
.servicios{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.serv{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border-radius:var(--r-l);background:var(--c);color:var(--t);overflow:hidden;isolation:isolate;transition:translate 260ms var(--ease),box-shadow 260ms ease-out}
.serv:hover{translate:0 -4px;box-shadow:var(--sh2)}
.serv h3{font-size:var(--t1);color:var(--t)}
.serv p{color:var(--ink-2);font-size:var(--t-1);line-height:1.5}
.serv-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.75);margin-bottom:var(--s2);box-shadow:0 6px 14px -8px rgba(15,61,46,.35)}
.serv-ic svg{width:38px;height:38px}
.serv::after{content:"";position:absolute;right:-40px;bottom:-40px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.35);z-index:-1}
.serv-ancho{grid-column:1/-1;flex-direction:row;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6)}
.serv-ancho > div{flex:1}
.serv-ancho h3{font-size:var(--t2);color:#fff}
.serv-ancho p{color:rgba(255,255,255,.82);font-size:var(--t0);max-width:60ch}
.serv-ancho .serv-ic{background:rgba(255,255,255,.12);color:var(--girasol);margin:0;box-shadow:none}
.serv-ancho .serv-ic svg{width:32px;height:32px}
.serv-ancho::after{background:rgba(255,180,0,.12);width:220px;height:220px;right:-60px;bottom:-110px}
.serv-ancho .btn{flex:none}
@media (max-width:1000px){.servicios{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.servicios{grid-template-columns:1fr}.serv-ancho{flex-direction:column;align-items:flex-start;padding:var(--s5)}}

/* Galería (ramos reales, sin precio) */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(18px,2.2vw,30px);margin-top:var(--s7)}
.prod-gal .cuerpo{gap:var(--s2)}
.prod-gal .prod-pie{margin-top:auto;padding-top:var(--s3)}
.prod-gal .prod-pie .btn{width:100%;justify-content:center}
.pronto{display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);border-radius:var(--r-xl);background:#fff;border:2px dashed var(--peonia-2);box-shadow:var(--sh1)}
.pronto > div{flex:1}
.pronto h2{font-size:var(--t2);margin-bottom:var(--s2)}
.pronto p{color:var(--ink-2);max-width:64ch}
@keyframes girar{to{transform:rotate(360deg)}}
@media (max-width:760px){.pronto{flex-direction:column;align-items:flex-start;padding:var(--s5)}}

/* Preguntas frecuentes */
.faq-env{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:start}
.faq-cab{position:sticky;top:calc(var(--cab) + var(--s6))}
.faq-cab h2{font-size:var(--t5);letter-spacing:-.03em;margin-bottom:var(--s3)}
.faq-cab p{color:var(--ink-2);margin-bottom:var(--s5);max-width:40ch}
.faq{display:flex;flex-direction:column;gap:var(--s3)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh1);transition:box-shadow 220ms ease-out,border-color 220ms}
.faq details[open]{border-color:var(--peonia-2);box-shadow:var(--sh2)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s5);font-family:var(--serif);font-size:var(--t1);font-weight:600;color:var(--verde)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--peonia-1);color:var(--peonia-t);font-family:var(--sans);font-size:1.3rem;font-weight:700;transition:transform 260ms var(--ease),background 200ms}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--cta);color:#fff}
.faq summary:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:var(--r-l)}
.faq details p{padding:0 var(--s5) var(--s5);color:var(--ink-2);line-height:1.6}
.faq details p a{color:var(--cta);font-weight:700}
@media (max-width:900px){.faq-env{grid-template-columns:1fr;gap:var(--s6)}.faq-cab{position:static}}

/* Mapa: solo con permiso */
.mapa-permiso{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s6) var(--s6) 96px;text-align:center;background:radial-gradient(circle at 30% 20%,#fff 0,transparent 55%),linear-gradient(135deg,var(--menta-1),var(--girasol-1))}
.mapa-permiso[hidden]{display:none}
.mapa-permiso h3{font-size:var(--t2);max-width:22ch}
.mapa-permiso p{color:var(--ink-2);max-width:40ch;font-size:var(--t-1)}
.mapa-permiso .acciones{justify-content:center;align-items:center;margin-top:var(--s2)}
.mapa-pin{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cta);color:#fff;box-shadow:0 14px 28px -10px rgba(214,51,108,.7);animation:flotar 6s ease-in-out infinite}
.mapa-pin svg{width:30px;height:30px}
.mapa-rec{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-1);color:var(--ink-2);cursor:pointer}
.mapa-rec input{width:18px;height:18px;accent-color:var(--verde)}
@media (max-width:960px){.mapa-card:has(.mapa-permiso:not([hidden])){min-height:500px}.mapa-permiso{padding:var(--s5) var(--s5) 104px}}
@media (max-width:560px){.galeria{grid-template-columns:1fr 1fr;gap:12px}.prod-gal{padding:6px;border-radius:22px}.prod-gal .media{border-radius:17px}.prod-gal .cuerpo{padding:var(--s3) var(--s2) var(--s2)}.prod-gal h3{font-size:1.05rem}.prod-gal p{font-size:var(--t-2)}.prod-gal .prod-pie .btn{padding-inline:8px;font-size:var(--t-2)}}

/* =========================================================
   ANIMACIONES NUEVAS (noviembre 2026)
   ========================================================= */
/* Escena de la rosa: se fija al bajar, la rosa gira y crece y las frases se relevan */

/* Pétalos que caen en la portada */
.hero .petalos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* Tarjetas de ocasiones: la foto entra con una cortina y se mueve suave al bajar */
.tile img{object-position:50% 42%}
.tile.cortina{clip-path:inset(18% 6% 0 6% round 30px)}
.tile.cortina.abierta{clip-path:inset(0 0 0 0 round 30px);transition:clip-path 1.1s var(--ease),transform 450ms var(--ease),box-shadow 300ms}

/* Pasos de "Encargar es así de fácil": una línea que crece y cada número se enciende */
.pasos-grandes{position:relative}
.pasos-grandes::before{content:"";position:absolute;left:31px;top:8px;bottom:8px;width:2px;background:rgba(255,255,255,.14);border-radius:2px}
.pasos-grandes::after{content:"";position:absolute;left:31px;top:8px;bottom:8px;width:2px;background:var(--girasol);border-radius:2px;transform:scaleY(var(--linea,0));transform-origin:top}
.pasos-grandes b{position:relative;z-index:1;transition:transform .6s var(--ease),opacity .4s;opacity:.35;transform:scale(.8)}
.pasos-grandes li.encendido b{opacity:1;transform:none}

/* Servicios: el icono se balancea al pasar el ratón */
@media (hover:hover){.serv:hover .serv-ic svg{animation:balanceo .9s var(--ease)}}
@keyframes balanceo{0%{transform:rotate(0)}30%{transform:rotate(-12deg) scale(1.08)}60%{transform:rotate(8deg)}100%{transform:rotate(0)}}

@media (prefers-reduced-motion:reduce){.hero .petalos{display:none}.tile.cortina{clip-path:none}.pasos-grandes b{opacity:1;transform:none}}

/* Etiqueta «Próximamente» del aviso de la tienda */
.pronto-eti{display:block;width:max-content;margin-bottom:6px;padding:4px 12px;border-radius:999px;background:#FFE0EA;color:var(--cta-h);font-family:var(--sans,inherit);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;animation:latido-eti 2.4s var(--ease) infinite}
@keyframes latido-eti{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){.pronto-eti{animation:none}}

/* Rosita sencilla junto al titular (foto sin fondo) */
img.dh-rosa{width:150px;height:auto;rotate:-6deg;filter:drop-shadow(0 14px 18px rgba(158,22,80,.18))}
.hero.listo img.dh-rosa{animation:flota-rosa 5s ease-in-out infinite}
@keyframes flota-rosa{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(4deg)}}
@media (max-width:1000px){img.dh-rosa{width:120px;height:auto}}
@media (max-width:560px){img.dh-rosa{width:84px;height:auto;top:4px}}
@media (prefers-reduced-motion:reduce){.hero.listo img.dh-rosa{animation:none}}

/* Miniatura del ramo a medida en «Tu encargo» */
.item img.prev-ramo{object-fit:cover;border-radius:12px;background:#F6EFE6}@media (max-width:960px){.gamas{grid-template-columns:repeat(2,1fr)}.gama small{font-size:.8rem}}
.item img.prev-ramo{width:72px;height:88px}
img.dh-rosa{width:190px}@media (max-width:1000px){img.dh-rosa{width:150px}}@media (max-width:560px){img.dh-rosa{width:104px}}
@media (max-width:560px){.tile-txt{padding:var(--s3) 50px var(--s3) var(--s3)}.tile-txt b{font-size:1.05rem;overflow-wrap:anywhere}.tile-txt small{font-size:.75rem}.tile-flecha{width:34px;height:34px;right:10px;bottom:10px}}
@media (max-width:560px){.tile-txt b{font-size:.95rem;overflow-wrap:normal;letter-spacing:-.015em}}

/* =========================================================
   12/11/2026 · Portada con ilustración, ramos de 25 € y horario sencillo
   ========================================================= */

/* Ramos de 25 €: sin nombre, con número y precio sobre la foto */
.gal-n{position:absolute;top:var(--s3);left:var(--s3);z-index:2;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--verde);font-size:var(--t-2);font-weight:800;letter-spacing:.04em}
.prod-gal .cuerpo{padding-top:var(--s3)}
.prod-gal .prod-pie{padding-top:0}
.prod-pronto{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--s3);padding:var(--s6) var(--s5);border:2px dashed var(--peonia-2);border-radius:var(--r-xl);background:rgba(255,255,255,.7);min-height:100%}
.prod-pronto h3{font-size:var(--t1)}
.prod-pronto p{color:var(--ink-2);font-size:var(--t-1)}
.prod-pronto .pronto-eti{margin-bottom:0}
.car-pista > li > .prod-pronto{height:100%}
@media (max-width:560px){
  .gal-n{top:8px;left:8px;padding:2px 8px}
  .prod-gal .cuerpo{padding-top:var(--s2)}
  .galeria .prod-pronto{grid-column:1 / -1;padding:var(--s5)}
}

/* Horario: hoy en negrita y verde, sin cápsula alrededor */
.horario tr.hoy td{background:none;color:var(--verde);font-weight:800;border-radius:0;border-bottom-color:var(--line)}
.horario tr.hoy td:first-child::after{content:"· hoy";margin-left:6px;padding:0;background:none;border-radius:0;color:var(--cta-h);font-size:var(--t-2);font-weight:800}
.galeria .prod-pronto{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);min-height:0}
.galeria .prod-pronto > div{flex:1 1 320px}
.galeria .prod-pronto > div{display:grid;gap:6px;justify-items:start}
/* A tu gusto en el móvil: cada gama enseña su foto, porque la foto grande queda fuera de la pantalla */
.gama-mini{display:none}
@media (max-width:760px){
  .gama-mini{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:12px;margin-bottom:8px;background:var(--peonia-1)}
  .gama .pun{display:none}
}

/* =========================================================
   12/11/2026 · Arreglos de la revisión en móvil
   ========================================================= */
/* 1. Menú móvil: los botones Llamar/WhatsApp ya no quedan debajo de la barra de abajo */
@media (max-width:999px){.menu-pantalla{padding-bottom:calc(var(--s5) + 84px + env(safe-area-inset-bottom))}}
/* 3. Aviso de privacidad: una barra fina en el móvil, no media pantalla */
@media (max-width:999px){
  .cookies{display:flex;align-items:center;gap:var(--s3);padding:12px 12px 12px 16px;border-radius:20px}
  .cookies h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cookies p{font-size:.8125rem;line-height:1.4;flex:1}
  .cookies .ck-acc{margin:0;flex:none}
}
/* 4. Enlaces del pie: 44 px de alto para el dedo */
.pie a:not(.marca),.pie button{padding:12px 0;min-height:20px}
.pie nav,.pie-grid>div:nth-child(3){gap:0}
body.menu-abierto .cookies{display:none}
/* Letra grande del móvil (personas mayores): la cabecera y el titular se adaptan en vez de salirse */
@media (max-width:560px){
  .hero h1{font-size:min(var(--t6),16.5vw)}
  .hero-meta{flex-wrap:wrap}
}
.galeria:empty{min-height:min(140vw,1100px)}
@media (max-width:560px){
  .marca-txt{font-size:min(1.28rem,5.6vw)}
  .banner h1{font-size:min(clamp(2.2rem,1.5rem + 4vw,2.8rem),12.5vw)}
  .stp{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stp li{min-width:0;overflow-wrap:anywhere;flex-wrap:wrap}
  .stp li b{flex:none}
}
fieldset{min-width:0}
@media (max-width:560px){
  legend{max-width:100%;white-space:normal}
  #op-gama{grid-template-columns:repeat(2,minmax(0,1fr))}
  #op-gama .gama span{min-width:0;overflow-wrap:anywhere}
}
@media (max-width:360px){.tile-txt b{font-size:1rem}.tile-txt small{font-size:.75rem}}
@media (max-width:999px){.estado-mov{min-height:33px;align-items:center}}
@media (max-width:360px){.marca{flex:0 1 auto;min-width:0;white-space:normal}.marca-txt{line-height:1.05}}
.servicios{grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.servicios{grid-template-columns:1fr}.serv-ancho{flex-direction:column;align-items:flex-start;padding:var(--s5)}}
.servicios{grid-template-columns:repeat(2,1fr)}@media (max-width:620px){.servicios{grid-template-columns:1fr}}
