/* ==========================================================================
   56 · Corazón sorpresa
   Para regalos personalizados, desayunos sorpresa y detalles. Todo sale del logo
   de Eleles: el lila de la palabra (#A240D7), el cian del corazón de un solo trazo
   (#00A8D0), el rosa de la firma y el amarillo de las tres rayitas de emoción.
   Sour Gummy, redonda y gordita como las letras del logo, para títulos; Golos
   Text para leer; Yellowtail, la firma rosa, para los acentos escritos a mano.
   El lila aguanta texto blanco; para letras sobre fondos claros va un lila hondo.
   ========================================================================== */

:root{
  --lila:       #A240D7;
  --lila-hondo: #6C1E9C;
  --cian:       #00A8D0;
  --cian-hondo: #00708C;
  --rosa:       #FF5FBF;
  --rosa-hondo: #B5217F;
  --sol:        #F4E834;
  --uva:        #3E1260;
  --uva-2:      #2C0B45;
  --nube:       #FBF6FF;
  --rosa-nube:  #FFF3FA;
  --cian-nube:  #E6F8FC;
  --sol-nube:   #FFFBE3;
  --papel:      #FFFFFF;
  --tinta:      #2A1438;
  --tinta-2:    #5C4A6B;
  --linea:      rgba(42,20,56,.12);
  --linea-clara:rgba(255,255,255,.2);
  --lav:        var(--rosa);
  --guion:      "Yellowtail", "Brush Script MT", cursive;
  --ease:cubic-bezier(.2,.8,.25,1);
  --r:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
body{margin:0; background:var(--nube); color:var(--tinta); line-height:1.7; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3{margin:0; font-family:var(--f-titulo); font-weight:700; line-height:1.08; letter-spacing:-.005em}
h1 em, h2 em{font-style:normal}
p{margin:0 0 1rem}
.blob{display:none !important}

.wrap{width:min(1180px,92vw); margin:0 auto}
.sec{padding:100px 0; position:relative}
.centrado{text-align:center}
.sec-head{max-width:680px; margin:0 auto 54px; text-align:center}
.sec-head h2{font-size:clamp(2.2rem,4.4vw,3.3rem); margin-bottom:12px}
.sec-head p{margin:0; color:var(--tinta-2)}
.eyebrow{font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--lila-hondo); margin-bottom:12px}
.eyebrow::before{content:"♥"; margin-right:.55em; color:var(--rosa); letter-spacing:0}
.chip{display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:999px; background:var(--papel);
  box-shadow:inset 0 0 0 1px var(--linea); font-weight:600; font-size:.88rem; color:var(--tinta-2)}
.chip svg{width:17px; height:17px; color:var(--lila)}

/* ---------- Encabezado ---------- */
header{position:sticky; top:0; z-index:60; background:rgba(251,246,255,.94); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linea); transition:box-shadow .3s var(--ease)}
header.stuck{box-shadow:0 14px 30px -24px rgba(62,18,96,.55)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; min-width:0}
.brand > span{display:flex; flex-direction:column; min-width:0}
.brand b{font-family:var(--f-titulo); font-weight:700; font-size:1.35rem; line-height:1.1; color:var(--lila-hondo);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.brand i{font-family:var(--guion); font-style:normal; font-size:1.05rem; color:var(--rosa-hondo); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.nav-links{display:flex; gap:26px}
.nav-links a{position:relative; text-decoration:none; padding:7px 0; font-weight:600; color:var(--tinta)}
.nav-links a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:3px; background:var(--cian);
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}

/* ---------- Botones ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; font-weight:700;
  border-radius:999px; border:2px solid transparent; cursor:pointer; transition:all .3s var(--ease)}
.btn svg{width:1.15em; height:1.15em; flex:none}
.btn-primary{background:var(--lila); color:#fff; box-shadow:0 10px 22px -12px rgba(162,64,215,.8)}
.btn-primary:hover{background:var(--lila-hondo); transform:translateY(-2px)}
.btn-linea, .btn-ghost{background:transparent; color:var(--lila-hondo); border-color:var(--lila)}
.btn-linea:hover, .btn-ghost:hover{background:var(--lila); color:#fff}
.btn-ghost:not(.btn-sm), .btn-linea:not(.btn-sm){padding:1rem 2rem}
.btn-wa{background:#25D366; color:#06280F}

.progress{position:fixed; top:0; left:0; height:4px; width:0; z-index:100;
  background:linear-gradient(90deg,var(--lila),var(--rosa),var(--sol),var(--cian))}

/* El corazón del logo, dibujado de un trazo, y las tres rayitas amarillas. */
.ed-corazon{fill:none; overflow:visible}
.ed-corazon path{fill:none; stroke:var(--cian); stroke-width:7; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0}
.anim .ed-corazon path{stroke-dashoffset:1; animation:dibujarEd 2.2s var(--ease) .35s forwards}
@keyframes dibujarEd{to{stroke-dashoffset:0}}
.ed-rayos{overflow:visible}
.ed-rayos path{fill:none; stroke:var(--sol); stroke-width:8; stroke-linecap:round}
.anim .ed-rayos path{animation:rayoEd 2.6s ease-in-out infinite; transform-box:fill-box; transform-origin:center bottom}
.anim .ed-rayos path:nth-child(2){animation-delay:.2s}
.anim .ed-rayos path:nth-child(3){animation-delay:.4s}
@keyframes rayoEd{0%,100%{scale:1} 50%{scale:1.2}}

/* Cinta de papel que pega cada recuerdo; los bordes van picados. */
.ed-cinta{position:absolute; z-index:4; top:-14px; left:50%; width:118px; height:30px; translate:-50% 0; rotate:-4deg; opacity:.88; pointer-events:none;
  clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,88% 0,92% 10%,96% 0,100% 8%,100% 92%,96% 100%,92% 90%,88% 100%,12% 100%,8% 90%,4% 100%,0 92%)}
.ed-cinta.lila{background:#C98BEA}
.ed-cinta.cian{background:#7FD6EA}
.ed-cinta.rosa{background:#FFA6DA}

/* Pegatina redonda del precio. */
.ed-precio{position:absolute; z-index:5; display:grid; place-items:center; min-width:86px; padding:10px 14px; border-radius:999px;
  font-family:var(--f-titulo); font-weight:800; font-size:1.05rem; line-height:1; color:var(--tinta);
  box-shadow:0 0 0 3px #fff, 0 12px 22px -12px rgba(42,20,56,.5)}
.ed-precio.lila{background:#E7C9F7}
.ed-precio.cian{background:#BDEBF5}
.ed-precio.rosa{background:#FFD1EC}

/* ---------- 1 · Portada ---------- */
.ed-hero{position:relative; overflow:hidden;
  background:radial-gradient(46% 56% at 84% 44%, #F0E0FB 0, rgba(240,224,251,0) 70%), radial-gradient(30% 40% at 6% 90%, #DDF5FB 0, rgba(221,245,251,0) 70%), var(--nube)}
.ed-hero-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(30px,5vw,70px); align-items:center;
  padding-block:clamp(44px,6vw,86px) clamp(90px,9vw,124px)}
.ed-hero h1{font-size:clamp(3rem,6.2vw,5.4rem); line-height:.98; color:var(--lila-hondo)}
.ed-hero h1 span, .ed-hero h1 em{display:block}
.ed-hero h1 em{font-family:var(--guion); font-weight:400; font-size:1.08em; line-height:1.1; color:var(--rosa-hondo); padding-left:.2em}
.ed-lead{font-size:1.1rem; color:var(--tinta-2); max-width:46ch; margin:22px 0 0}
.ed-cta{display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 24px}
.ed-firmas{display:flex; flex-wrap:wrap; gap:10px}
.ed-hero-fig{position:relative; margin:0; width:min(100%,470px); justify-self:center; padding:8% 7% 10%}
/* El corazón va detrás de la foto y más ancho que ella, para que el trazo la abrace sin
   pasar por encima de las caras de la foto. */
.ed-hero-fig .ed-corazon{position:absolute; left:-24%; top:-10%; width:148%; height:122%; z-index:0; rotate:-8deg; pointer-events:none}
.ed-hero-fig .ed-corazon path{stroke-width:6}
.ed-arco{position:relative; z-index:1; overflow:hidden; aspect-ratio:3/4; border-radius:999px 999px 38px 38px; background:var(--rosa-nube);
  box-shadow:0 0 0 8px #fff, 0 40px 70px -40px rgba(62,18,96,.6); --lav:var(--rosa)}
.ed-arco img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%}
.ed-hero-fig .ed-rayos{position:absolute; z-index:2; right:-2%; top:0; width:22%; height:auto}
.ed-desde{position:absolute; z-index:3; left:-2%; bottom:14%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:118px; height:118px; border-radius:50%; background:var(--sol); color:var(--tinta); text-align:center;
  box-shadow:0 0 0 4px #fff, 0 16px 28px -14px rgba(42,20,56,.55)}
.ed-desde small{font-family:var(--guion); font-size:1.2rem; line-height:1}
.ed-desde b{font-family:var(--f-titulo); font-weight:800; font-size:1.15rem; line-height:1.1}

/* ---------- 2 · Cinta de ocasiones ---------- */
.ed-ocasiones{background:var(--lila); color:#fff; text-align:center}
.ed-ocasiones.franja{padding-top:26px !important; padding-bottom:40px}
.ed-oc-tit{font-family:var(--guion); font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.2; margin-bottom:16px}
.ed-ocasiones ul{list-style:none; margin:0; padding-left:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 12px}
.ed-ocasiones li{padding:8px 18px; border-radius:999px; background:rgba(255,255,255,.14); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);
  font-weight:600; font-size:.95rem}
.ed-ocasiones li:nth-child(3n+1){background:rgba(0,168,208,.45)}
.ed-ocasiones li:nth-child(3n+2){background:rgba(255,95,191,.38)}

/* ---------- 3 · El álbum ---------- */
.ed-album{background:var(--rosa-nube)}
.ed-mesa{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:48px 30px}
.ed-recuerdo{position:relative; grid-column:span 2; display:flex; flex-direction:column; padding:14px 14px 22px; border-radius:var(--r); background:var(--papel);
  box-shadow:0 26px 46px -34px rgba(62,18,96,.55); transition:transform .45s var(--ease), box-shadow .45s var(--ease)}
.ed-mesa.cinco .ed-recuerdo:nth-child(-n+2){grid-column:span 3}
.ed-recuerdo:nth-child(odd){rotate:-.8deg}
.ed-recuerdo:nth-child(even){rotate:.9deg}
.ed-recuerdo:hover{transform:translateY(-6px); box-shadow:0 36px 56px -34px rgba(62,18,96,.6)}
.ed-foto{position:relative; display:block; overflow:hidden; aspect-ratio:1; border-radius:calc(var(--r) - 10px); background:var(--nube)}
.ed-foto img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; transition:transform .8s var(--ease)}
.ed-recuerdo:hover .ed-foto img{transform:scale(1.05)}
.ed-recuerdo > .ed-precio{top:22px; right:22px}
.ed-recuerdo-tx{display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:16px 8px 0; flex:1}
.ed-firma{font-family:var(--guion); font-size:1.2rem; line-height:1; color:var(--cian-hondo)}
.ed-recuerdo-tx h3{font-size:1.5rem; color:var(--tinta)}
.ed-recuerdo-tx h3 a{text-decoration:none}
.ed-recuerdo-tx > p{margin:0 0 8px; color:var(--tinta-2); font-size:.94rem}
.ed-recuerdo-tx .btn{margin-top:auto}
.variants small{color:var(--tinta-2)}
.cat-note{text-align:center; color:var(--tinta-2); margin:52px auto 0}
.cat-note a{color:var(--lila-hondo); font-weight:700}

/* ---------- 4 · Tú eliges ---------- */
.ed-eliges{background:var(--cian-nube); overflow:hidden}
.ed-flota{position:absolute; left:-60px; bottom:-40px; width:260px; opacity:.25; pointer-events:none}
.ed-flota .ed-corazon{width:100%; height:auto}
.ed-eliges-grid{position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(30px,5vw,76px); align-items:center}
.ed-guion{font-size:clamp(2.2rem,4.2vw,3.3rem); color:var(--cian-hondo); margin-bottom:14px}
.ed-eliges-tx{color:var(--tinta-2); max-width:44ch; margin-bottom:26px}
.ed-nota{position:relative; padding:38px 34px 30px; border-radius:6px 6px 26px 6px; background:var(--papel); rotate:1.5deg;
  background-image:repeating-linear-gradient(180deg, rgba(0,0,0,0) 0 43px, rgba(0,168,208,.22) 43px 44px);
  box-shadow:0 30px 50px -34px rgba(0,80,100,.55)}
.ed-nota::before{content:""; position:absolute; top:0; bottom:0; left:24px; width:2px; background:rgba(255,95,191,.45)}
.ed-nota-tit{font-family:var(--guion); font-size:1.9rem; line-height:1; color:var(--rosa-hondo); margin:0 0 12px 18px}
.ed-nota ul{list-style:none; margin:0; padding-left:18px}
.ed-nota li{display:flex; align-items:center; gap:12px; min-height:44px; font-family:var(--f-titulo); font-weight:600; font-size:1.3rem; color:var(--tinta)}
.ed-check{flex:none; width:26px; height:26px; overflow:visible}
.ed-check path{fill:none; stroke:var(--lila); stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0}
.anim .ed-check path{stroke-dashoffset:1; transition:stroke-dashoffset .8s var(--ease) .35s}
.anim .visto .ed-check path, .anim .ed-nota li.visto .ed-check path{stroke-dashoffset:0}

/* ---------- 5 · Nosotros ---------- */
.ed-nosotros{background:var(--nube)}
.ed-nos-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(30px,5vw,76px); align-items:center}
.ed-tarjeta-logo{position:relative; padding:34px 30px; border-radius:var(--r); background:var(--papel); rotate:-2deg;
  box-shadow:0 30px 50px -36px rgba(62,18,96,.55)}
.ed-tarjeta-logo img{width:min(100%,340px); height:auto; margin:0 auto}
.ed-tarjeta-logo .ed-rayos{position:absolute; top:-18px; right:-10px; width:70px; height:auto}
.ed-porta-tit{font-family:var(--guion); font-size:1.6rem; color:var(--rosa-hondo); text-align:center; margin:30px 0 12px}
.ed-porta{list-style:none; margin:0; padding-left:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px}
.ed-porta li{padding:6px 14px; border-radius:999px; background:var(--papel); box-shadow:inset 0 0 0 1.5px rgba(162,64,215,.3); font-size:.9rem; font-weight:600; color:var(--lila-hondo)}
.ed-nosotros h2{font-size:clamp(2.1rem,4vw,3.1rem); color:var(--lila-hondo); margin-bottom:16px}
.ed-nosotros .hist > summary{color:var(--lila-hondo)}
.ed-mv{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px}
.ed-mv > div{padding:22px 20px 18px; border-radius:20px; background:var(--papel); box-shadow:inset 0 0 0 1px var(--linea)}
.ed-mv > div:first-child{box-shadow:inset 4px 0 0 var(--lila), inset 0 0 0 1px var(--linea)}
.ed-mv > div:last-child{box-shadow:inset 4px 0 0 var(--cian), inset 0 0 0 1px var(--linea)}
.ed-mv h3{font-size:1.2rem; color:var(--tinta); margin-bottom:6px}
.ed-mv p{margin:0; color:var(--tinta-2); font-size:.93rem}

/* ---------- 6 · Los globos ---------- */
.ed-pedir{background:var(--sol-nube)}
.ed-globos{list-style:none; margin:0; padding-left:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px}
.ed-globos li{text-align:center; padding-inline:8px}
.ed-globo{position:relative; display:grid; place-items:center; width:104px; height:122px; margin:0 auto; border-radius:50% 50% 48% 48% / 56% 56% 44% 44%;
  color:#fff; box-shadow:inset -12px -14px 0 rgba(0,0,0,.08), 0 18px 26px -18px rgba(42,20,56,.6)}
.ed-globo::before{content:""; position:absolute; top:18%; left:24%; width:16px; height:26px; border-radius:50%; background:rgba(255,255,255,.45); rotate:24deg}
.ed-globo::after{content:""; position:absolute; bottom:-9px; left:50%; translate:-50% 0; border:8px solid transparent; border-bottom-color:inherit; border-bottom-width:11px;
  border-top:0; width:0; height:0}
.ed-globo.lila{background:var(--lila); border-bottom-color:var(--lila)}
.ed-globo.cian{background:var(--cian); border-bottom-color:var(--cian)}
.ed-globo.rosa{background:var(--rosa); border-bottom-color:var(--rosa)}
.ed-globo b{font-family:var(--f-titulo); font-weight:800; font-size:2.6rem; line-height:1}
.anim .ed-globo{animation:flotarEd 4.2s ease-in-out infinite}
.anim .ed-globos li:nth-child(2) .ed-globo{animation-delay:-1.4s}
.anim .ed-globos li:nth-child(3) .ed-globo{animation-delay:-2.8s}
@keyframes flotarEd{0%,100%{translate:0 0; rotate:-3deg} 50%{translate:0 -10px; rotate:3deg}}
.ed-hilo{display:block; width:20px; height:62px; margin:4px auto 12px; overflow:visible}
.ed-hilo path{fill:none; stroke:rgba(42,20,56,.35); stroke-width:1.6}
.ed-globos h3{font-size:1.45rem; margin-bottom:6px}
.ed-globos p{margin:0 auto; max-width:30ch; color:var(--tinta-2)}
.ed-pedir-cta{text-align:center; margin-top:44px}

/* ---------- 7 · Contacto: la tarjeta ---------- */
.ed-contacto{background:var(--uva); color:#fff}
.ed-contacto .eyebrow{color:#E9C8FA}
.ed-contacto .eyebrow::before{color:var(--sol)}
.ed-con-grid{display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(30px,5vw,70px); align-items:center}
.ed-contacto h2{font-size:clamp(2.3rem,4.4vw,3.4rem); margin-bottom:14px}
.ed-con-txt{color:rgba(255,255,255,.84); max-width:40ch}
.ed-cierre{font-family:var(--guion); font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.25; color:#FFB8E2; max-width:22ch; margin:26px 0 0}
.ed-tarjeta{position:relative; padding:30px 30px 24px; border-radius:22px; background:var(--papel); color:var(--tinta); rotate:-1.5deg;
  box-shadow:inset 0 0 0 10px var(--rosa-nube), inset 0 0 0 12px rgba(255,95,191,.35), 0 40px 70px -40px rgba(0,0,0,.6)}
.ed-tarjeta-para, .ed-tarjeta-de{font-family:var(--guion); font-size:1.5rem; line-height:1.2; color:var(--rosa-hondo); margin:0 0 8px 8px}
.ed-tarjeta-para b, .ed-tarjeta-de b{font-weight:400; color:var(--lila-hondo)}
.ed-tarjeta-de{text-align:right; margin:10px 8px 0 0}
.ed-tarjeta ul{list-style:none; margin:0; padding-left:0}
.ed-tarjeta li a{display:flex; align-items:center; gap:14px; padding:11px 8px; border-bottom:1.5px dashed var(--linea); text-decoration:none}
.ed-tarjeta li:last-child a{border-bottom:0}
.ed-red-ic{flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--cian-nube); color:var(--cian-hondo)}
.ed-tarjeta li:nth-child(even) .ed-red-ic{background:var(--rosa-nube); color:var(--rosa-hondo)}
.ed-red-ic svg{width:21px; height:21px}
.ed-red-tx{display:flex; flex-direction:column; min-width:0; line-height:1.25}
.ed-red-tx small{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tinta-2)}
.ed-red-tx b{font-weight:700; font-size:.98rem; overflow-wrap:anywhere}

/* ---------- Pie ---------- */
footer{background:var(--uva-2); color:rgba(255,255,255,.76); padding:56px 0 40px}
footer .brand b{color:#fff}
footer .brand i{color:#FFB8E2}
.foot-top{display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--linea-clara)}
.foot-social{display:flex; gap:12px}
.foot-social a{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--linea-clara); color:#fff; transition:all .3s var(--ease)}
.foot-social a:hover{background:var(--cian); border-color:var(--cian); color:var(--tinta)}
.foot-social svg{width:20px; height:20px}
.foot-bot{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:20px}

/* ---------- Flotantes y piezas compartidas ---------- */
.wa-float{position:fixed; right:24px; bottom:24px; z-index:90; display:inline-flex; align-items:center; gap:10px;
  background:#25D366; color:#06280F; text-decoration:none; border-radius:999px;
  box-shadow:0 18px 38px -16px rgba(37,211,102,.9)}
.anim .wa-float{animation:latirEd 3.4s ease-out infinite}
@keyframes latirEd{0%{box-shadow:0 18px 38px -16px rgba(37,211,102,.9), 0 0 0 0 rgba(37,211,102,.55)}
  70%,100%{box-shadow:0 18px 38px -16px rgba(37,211,102,.9), 0 0 0 16px rgba(37,211,102,0)}}
.arriba{background:var(--lila); color:#fff}
.insignia, .insignia-linea{border-radius:999px}
.insignia-linea{background:var(--sol); color:var(--tinta); font-weight:700}
.hist > summary{color:var(--lila-hondo)}
.barra-compra{background:var(--papel); border-top:1px solid var(--linea)}

/* ---------- Ficha de producto ---------- */
.ep-cab{position:relative; overflow:hidden; background:var(--lila); color:#fff}
.ep-cab-corazon{position:absolute; right:3%; top:50%; width:clamp(120px,15vw,200px); height:auto; translate:0 -50%; rotate:-10deg; opacity:.55; pointer-events:none}
.ep-cab-corazon path{stroke:#fff}
.ep-cab-in{position:relative; z-index:1; padding-block:32px 40px}
.p-migas{margin:0 0 14px; font-size:.82rem; font-weight:600; color:rgba(255,255,255,.86)}
.p-migas a{text-decoration:none}
.p-migas span{margin:0 8px; color:#FFB8E2}
.ep-cab h1{max-width:22ch; font-size:clamp(2.1rem,4.2vw,3.2rem)}
.ep-cuerpo{padding:56px 0 80px; background:var(--nube)}
.ep-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; width:min(1180px,92vw); margin:0 auto}
.ep-fotos{position:relative}
.ep-foto{position:relative; padding:14px; border-radius:var(--r); background:var(--papel); rotate:-1deg; box-shadow:0 30px 56px -40px rgba(62,18,96,.55); --lav:var(--rosa)}
.ep-foto img{width:100%; height:auto; border-radius:calc(var(--r) - 10px)}
.ed-precio.grande{top:30px; right:-8px; min-width:118px; padding:14px 18px; font-size:1.35rem}
.ep-mini{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px}
.ep-mini button{width:70px; height:70px; padding:0; border-radius:14px; overflow:hidden; cursor:pointer; background:none; border:3px solid transparent}
.ep-mini button[aria-current="true"], .ep-mini button[aria-pressed="true"]{border-color:var(--lila)}
.ep-mini img{width:100%; height:100%; object-fit:cover}
.ep-nombre{font-size:clamp(1.8rem,3vw,2.4rem); color:var(--lila-hondo); margin-bottom:10px}
.p-desc{color:var(--tinta-2)}
.p-precio{display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; margin:20px 0 6px}
.p-precio b{font-family:var(--f-titulo); font-weight:800; font-size:2.6rem; line-height:1; color:var(--tinta)}
.p-precio small{color:var(--tinta-2)}
.p-opciones{margin:22px 0}
.p-opciones h3{font-family:var(--guion); font-weight:400; font-size:1.5rem; color:var(--rosa-hondo); margin-bottom:8px}
.p-chips{display:flex; flex-wrap:wrap; gap:9px}
.p-chips button{min-height:44px; padding-inline:18px; border-radius:999px; border:2px solid rgba(162,64,215,.3); background:var(--papel); cursor:pointer; font:inherit; font-weight:700; font-size:.92rem; color:var(--tinta)}
.p-chips button[aria-pressed="true"]{background:var(--lila); border-color:var(--lila); color:#fff}
.p-puntos{list-style:none; margin:22px 0 0; padding-left:0; display:grid; gap:11px}
.p-puntos li{display:flex; gap:11px; align-items:flex-start; color:var(--tinta-2)}
.p-puntos svg{width:18px; height:18px; flex:none; margin-top:4px; color:var(--rosa)}
.p-cta{margin-top:26px}
.btn-block{width:100%}
.p-nota{display:flex; align-items:flex-start; gap:9px; margin-top:16px; color:var(--tinta-2); font-size:.9rem}
.p-nota svg{width:18px; height:18px; color:var(--cian-hondo); flex:none; margin-top:3px}
.p-agotado{padding:5px 12px; border-radius:999px; background:var(--rosa-nube); color:var(--rosa-hondo); font-weight:700; font-size:.8rem}
.ep-det{padding:0 0 90px; background:var(--nube)}
.ep-ficha{max-width:760px; margin:0 auto; rotate:.8deg; padding:34px 36px 26px}
.ep-ficha .rico{padding:6px 10px 0; color:var(--tinta-2)}
.ep-otros{padding:80px 0; background:var(--rosa-nube)}
.ep-otros-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:40px 26px}
.ep-otro{position:relative; display:flex; flex-direction:column; gap:4px; padding:12px 12px 18px; border-radius:22px; background:var(--papel); text-decoration:none;
  box-shadow:0 22px 40px -30px rgba(62,18,96,.55); transition:transform .4s var(--ease)}
.ep-otro:hover{transform:translateY(-5px)}
.ep-otro-foto{position:relative; display:block; overflow:hidden; aspect-ratio:1; border-radius:14px; margin-bottom:10px}
.ep-otro-foto img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.ep-otro b{font-family:var(--f-titulo); font-weight:700; font-size:1.2rem; line-height:1.15; color:var(--tinta)}
.ep-otro small{font-weight:700; color:var(--lila-hondo)}

/* ---------- Pantallas ---------- */
@media (max-width:1000px){
  .nav-links{display:none}
  .ed-hero-grid, .ed-eliges-grid, .ed-nos-grid, .ed-con-grid, .ep-grid{grid-template-columns:minmax(0,1fr)}
  .ed-hero-fig{width:min(88%,430px)}
  .ed-mesa, .ed-mesa.cinco{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed-recuerdo, .ed-mesa.cinco .ed-recuerdo:nth-child(-n+2){grid-column:span 1}
  .ed-mesa.cinco .ed-recuerdo:last-child{grid-column:1 / -1; width:min(100%,520px); justify-self:center}
  .ed-nota{rotate:0deg}
}
@media (max-width:820px){
  .sec{padding:78px 0}
  .ed-globos{grid-template-columns:minmax(0,1fr); gap:36px}
  .ed-mv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:620px){
  .brand i{display:none}
  .ed-hero h1{font-size:clamp(2.6rem,12vw,3.4rem)}
  .ed-desde{width:96px; height:96px; left:0}
  .ed-desde b{font-size:1rem}
  .ed-mesa, .ed-mesa.cinco{grid-template-columns:minmax(0,1fr); gap:44px}
  .ed-mesa.cinco .ed-recuerdo:last-child{width:auto}
  .ed-recuerdo:nth-child(odd), .ed-recuerdo:nth-child(even), .ed-tarjeta, .ed-tarjeta-logo, .ep-foto, .ep-ficha{rotate:0deg}
  .ed-nota{padding:32px 20px 24px}
  .ed-nota li{font-size:1.15rem}
  .ed-tarjeta{padding:26px 18px 20px}
  .ed-precio.grande{right:10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn, .ed-recuerdo, .ed-foto img, .ep-otro{transition:none}
  .anim .ed-corazon path, .anim .ed-rayos path, .anim .ed-globo, .anim .wa-float{animation:none}
  .anim .ed-corazon path, .anim .ed-check path{stroke-dashoffset:0; transition:none}
}
