/* Campaña Día de la Madre · composición editorial cálida. */
.lp-madre { --cream:#f0e9dd; --paper:#faf7f0; --ink:#242424; --muted:#686868; --accent:#202020; --line:#dcd4c6; --lp-header-height:0px; --progress:0; width:100%; margin:0; isolation:isolate; color:var(--ink); background:var(--paper); font-family:'LP Lora',serif; -webkit-font-smoothing:antialiased; }
.lp-madre * { box-sizing:border-box; }
.lp-madre [hidden] { display:none!important; }
.lp-madre a { color:inherit; }
.lp-madre button { font:inherit; cursor:pointer; }
.lp-madre a,.lp-madre button { -webkit-tap-highlight-color:transparent; }
.lp-madre :is(button,a,summary):focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.lp-madre :is(section,nav)[id] { scroll-margin-top:calc(var(--lp-header-height) + 18px); }
.lp-madre :is(#lp-madre-quiz-title,#lp-madre-combo-title,#lp-madre-technical-title) { scroll-margin-top:calc(var(--lp-header-height) + 20px); }
.lp-madre .eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 20px; font-size:10px; font-weight:700; letter-spacing:1.9px; color:var(--accent); }
.lp-madre h2 { font:400 clamp(38px,3.8vw,60px)/1.06 'LP Cormorant Garamond','Times New Roman',serif; letter-spacing:-1.7px; margin:0; color:var(--ink); }
.lp-madre h2 em { font-weight:400; color:var(--accent); }
.lp-madre h3 { font:400 28px/1.2 'LP Lora',serif; letter-spacing:-.5px; margin:12px 0; }
.lp-madre .section-description { font-size:14px; line-height:1.7; color:var(--muted); margin:18px 0 28px; max-width:420px; }
.lp-madre .primary-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:52px; padding:17px 23px; border:1px solid var(--accent); background:var(--accent); color:#fffaf2; font-size:12px; font-weight:700; text-decoration:none; border-radius:0; transition:background .2s; }
.lp-madre .primary-button:hover { background:#454545; }
.lp-madre .primary-button:disabled { cursor:default; opacity:.48; }
.lp-madre .primary-button span { font-size:18px; }
/* El hero se desplaza normalmente: no captura la rueda ni fija la página. */
.lp-madre .scroll-section { position:relative; height:auto; background:var(--paper); }
.lp-madre .campaign-hero { background:radial-gradient(ellipse at 68% 54%,#d4d4cf66,transparent 53%),repeating-linear-gradient(0deg,#ffffff08 0px,#ffffff08 1px,transparent 1px,transparent 4px),#eee9df; }
.lp-madre .hero-editorial { position:relative; height:clamp(620px,calc(100svh - var(--lp-header-height)),820px); max-width:1600px; margin:0 auto; }
.lp-madre .hero-edition { position:absolute; top:29px; left:5%; margin:0; font-size:8px; letter-spacing:2px; color:var(--muted); }
.lp-madre h1 { position:absolute; inset:0; margin:0; pointer-events:none; }
.lp-madre .hero-greeting { position:absolute; top:23%; left:6%; transform:translateY(calc(-100% - 12px)); font:italic 400 clamp(52px,6.1vw,88px)/1.04 'LP Lora',serif; color:var(--accent); }
.lp-madre .hero-word { display:grid; grid-template-columns:repeat(4,1fr); position:absolute; top:31%; left:4%; width:92%; font:400 clamp(150px,24.5vw,390px)/.83 'LP Cormorant Garamond','Times New Roman',serif; letter-spacing:-.035em; color:#202020; }
.lp-madre .hero-word span { display:block; text-align:center; }
.lp-madre .hero-dedication { position:absolute; top:23%; left:6%; margin:0; font-size:10px; line-height:1.65; letter-spacing:1.9px; text-transform:uppercase; }
.lp-madre .campaign-hero .hero-visual { position:absolute; top:9%; left:38%; width:50%; height:87%; min-height:0; margin:0; z-index:2; }
.lp-madre .campaign-hero .scene { --lp-scene-top:0px; inset:var(--lp-scene-crop,0px) 0 38px; }
.lp-madre .campaign-hero .scene-halo { inset:8% 0 10%; background:radial-gradient(ellipse,#a5a5a51c,transparent 66%); }
.lp-madre .campaign-hero .visual-controls { left:auto; right:-12%; top:0; bottom:auto; }
.lp-madre .campaign-hero .scene-caption { display:none; }
.lp-madre .hero-invitation { position:absolute; bottom:9%; left:6%; z-index:3; max-width:48%; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.lp-madre .hero-invitation p { width:100%; font:italic 400 22px/1.3 'LP Lora',serif; margin:0 0 1px; }
.lp-madre .hero-invitation :is(.primary-button,.hero-secondary) { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:16px 22px; border-radius:8px; text-align:center; text-decoration:none; line-height:1.35; transition:background .2s,border-color .2s; }
.lp-madre .hero-invitation .primary-button { background:#202020; color:#faf7f0; border:1px solid #202020; }
.lp-madre .hero-invitation .primary-button:hover { background:#3b3b3b; border-color:#3b3b3b; }
.lp-madre .hero-secondary { color:#242424; background:#dedbd4; border:1px solid #c4c1ba; }
.lp-madre .hero-secondary:hover { background:#d1cec7; border-color:#aaa7a0; }
.lp-madre .hero-signature { position:absolute; right:6%; bottom:9%; margin:0; font-size:8px; line-height:1.8; letter-spacing:1.6px; }
/* Banda de accesos inspirada en la referencia. */
.lp-madre .campaign-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; padding:32px max(5vw,calc((100vw - 1400px)/2)); background:#202020; color:#fff9ed; }
.lp-madre .shortcut { min-width:0; display:flex; align-items:center; gap:22px; text-decoration:none; }
.lp-madre .shortcut-image { flex:none; width:136px; height:102px; background:#e3e0da; overflow:hidden; border-radius:12px; }
.lp-madre .shortcut:nth-child(2) .shortcut-image { background:#d7d7d2; }
.lp-madre .shortcut:nth-child(3) .shortcut-image { background:#d4d4d4; }
.lp-madre .shortcut-image img { display:block; width:100%; height:100%; object-fit:cover; padding:0; filter:brightness(.92); transition:transform .3s; }
.lp-madre .shortcut:hover .shortcut-image img { transform:scale(1.08); }
.lp-madre .shortcut-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.lp-madre .shortcut-copy strong { font-size:15px; letter-spacing:.7px; font-weight:600; }
.lp-madre .shortcut-copy > span { font-size:11px; color:#dddddd; line-height:1.5; }
.lp-madre .shortcut-copy .shortcut-action { color:#fff9ed; border-bottom:1px solid #929292; padding-bottom:3px; font-size:9px; }
.lp-madre .shortcut-action b { font-weight:400; margin-left:8px; }
/* Encuesta y visores: conservar el recorte estable y el flujo móvil. */
.lp-madre .guided-layout { display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); gap:40px; max-width:1450px; margin:0 auto; padding:0 5vw; }
.lp-madre .quiz-content { grid-column:1; grid-row:1; padding:82px 0 76px; min-width:0; }
.lp-madre .section-number { display:inline-grid; place-items:center; width:26px; height:26px; border:1px solid var(--line); border-radius:50%; font-size:8px; letter-spacing:0; color:var(--muted); }
.lp-madre .gift-quiz { max-width:500px; }
.lp-madre .gift-quiz fieldset { border:0; padding:0; margin:0 0 26px; min-width:0; }
.lp-madre .gift-quiz legend { margin-bottom:12px; padding:0; font-size:14px; font-weight:700; line-height:1.5; }
.lp-madre .quiz-option { display:flex; align-items:center; gap:12px; padding:14px 16px; min-height:50px; border:1px solid var(--line); margin-top:8px; cursor:pointer; font-size:12px; line-height:1.4; background:#fffdf8; }
.lp-madre .quiz-option:hover { border-color:#999999; background:#f0eeea; }
.lp-madre .quiz-option:has(input:checked) { border-color:var(--accent); background:#e8e7e3; }
.lp-madre .quiz-option:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:2px; }
.lp-madre .quiz-option input { accent-color:var(--accent); flex:none; width:15px; height:15px; margin:0; }
.lp-madre .option-mark { margin-left:auto; color:#858585; font-size:15px; }
.lp-madre .quiz-submit { width:100%; }
.lp-madre .hero-visual { grid-column:2; grid-row:1; position:sticky; top:calc(var(--lp-header-height) + 16px); align-self:start; width:100%; height:min(660px,calc(100svh - var(--lp-header-height) - 32px)); min-height:340px; margin:16px 0 0; }
.lp-madre .scene-halo { position:absolute; inset:8% -2% 12%; background:radial-gradient(ellipse,#e4e1d8,#f0ece4 48%,transparent 72%); pointer-events:none; }
.lp-madre .scene { --lp-scene-top:68px; position:absolute; inset:calc(var(--lp-scene-top) + var(--lp-scene-crop,0px)) 0 50px; z-index:1; overflow:hidden; }
.lp-madre .scene canvas { width:100%; height:100%; display:block; pointer-events:none; }
.lp-madre .scene-fallback { position:absolute; top:calc(0px - var(--lp-scene-crop,0px)); width:100%; height:var(--lp-scene-height,100%); object-fit:contain; }
.lp-madre .scene[data-state="ready"] .scene-fallback,.lp-madre .scene[data-state="ready"] .loading-note { opacity:0; visibility:hidden; }
.lp-madre .loading-note { position:absolute; left:50%; bottom:10%; transform:translateX(-50%); padding:10px; color:var(--muted); background:#fffdf8dd; font-size:10px; white-space:nowrap; }
.lp-madre .visual-label { position:absolute; top:16px; left:18px; z-index:2; display:flex; flex-direction:column; gap:9px; }
.lp-madre .visual-label span { font-size:8px; letter-spacing:1.7px; color:var(--muted); }
.lp-madre .visual-label strong { font-weight:400; font-family:'LP Lora',serif; font-size:23px; }
.lp-madre .visual-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; position:absolute; bottom:4px; left:18px; right:18px; z-index:2; }
.lp-madre .scene-caption { font-size:10px; color:var(--muted); }
.lp-madre .motion-toggle { border:0; background:none; color:var(--muted); font-size:10px; padding:12px 0 12px 10px; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
/* Beneficios y catálogo. */
.lp-madre .benefit-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:38px 6vw; gap:32px; background:var(--cream); border-block:1px solid var(--line); }
.lp-madre .benefit { display:flex; justify-content:center; align-items:center; gap:20px; }
.lp-madre .benefit svg { width:40px; height:40px; flex:none; }
.lp-madre .benefit strong { display:block; font-size:15px; margin-bottom:7px; }
.lp-madre .benefit span { font-size:11px; color:var(--muted); }
.lp-madre .combo-section,.lp-madre .technical-section { padding:80px 5vw; background:var(--paper); }
.lp-madre .technical-section { background:#ede6da; }
.lp-madre .section-heading { max-width:1300px; margin:0 auto 36px; }
.lp-madre .section-heading h2 { font-size:clamp(34px,3.2vw,50px); }
.lp-madre .section-heading .section-description { max-width:none; margin-bottom:0; }
.lp-madre .combo-result { max-width:1300px; margin:0 auto 30px; padding:17px 22px; border:1px solid #c6c6c6; background:#eeeeeb; color:#343434; font-size:14px; line-height:1.6; }
.lp-madre .combo-grid,.lp-madre .technical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; max-width:1300px; margin:0 auto; }
.lp-madre .combo-card { position:relative; display:flex; flex-direction:column; background:transparent; border:1px solid transparent; }
.lp-madre .combo-card[data-selected="true"] { border-color:var(--accent); }
.lp-madre .combo-art { height:auto; aspect-ratio:1; flex:none; position:relative; display:grid; place-items:center; background:#e6e1d7; overflow:hidden; }
.lp-madre .combo-art img { display:block; width:100%; height:100%; object-fit:contain; }
.lp-madre .combo-open { width:100%; border:0; padding:0; }
.lp-madre .combo-card:nth-child(2) .combo-art { background:#dedbd4; }
.lp-madre .combo-card:nth-child(3) .combo-art { background:#d4d4d0; }
.lp-madre .slot-number { font:italic 400 90px/1 'LP Lora',serif; color:#77777770; position:relative; z-index:1; }
.lp-madre .slot-shape { position:absolute; width:180px; height:180px; border:1px solid #fffaf0b0; border-radius:50%; transform:rotate(-22deg) scaleX(1.3); }
.lp-madre .shape-two { width:180px; height:130px; border-radius:28px; transform:rotate(15deg); }
.lp-madre .shape-three { width:170px; height:180px; border-radius:85px 85px 28px 28px; transform:rotate(-12deg); }
.lp-madre .slot-caption { position:absolute; bottom:25px; color:#656565; font-size:10px; }
.lp-madre .combo-body { padding:25px 10px 12px; display:flex; flex-direction:column; flex:1; }
.lp-madre .combo-kicker { font-size:8px; font-weight:700; letter-spacing:1.6px; color:var(--accent); }
.lp-madre .combo-body > p { font-size:13px; line-height:1.7; color:var(--muted); min-height:44px; margin:0 0 18px; }
.lp-madre .combo-body .combo-pending { min-height:0; font-size:10px; margin:0 0 24px; }
.lp-madre .combo-choice { border:0; border-top:1px solid var(--line); background:none; display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--ink); font-size:12px; padding:18px 0 0; margin-top:auto; width:100%; min-height:44px; text-align:left; }
.lp-madre .combo-choice span { color:var(--accent); font-size:19px; }
.lp-madre .recommendation-badge { position:absolute; right:14px; top:14px; background:var(--accent); color:#fff; padding:9px 13px; font-size:10px; }
.lp-madre .draft-note { max-width:1300px; margin:30px auto 0; font-size:11px; line-height:1.7; color:var(--muted); }
.lp-madre .technical-card { border:1px solid var(--line); background:#fffdf8; border-radius:16px; overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:border-color .2s,box-shadow .2s; }
.lp-madre .technical-card:hover { border-color:#a9a79f; box-shadow:0 8px 24px #2424240c; }
.lp-madre .technical-image { position:relative; height:240px; background:#f3eee4; padding:14px; flex:none; }
.lp-madre .technical-image img { display:block; width:100%; height:100%; object-fit:contain; }
.lp-madre .technical-body { padding:25px; display:flex; flex:1; flex-direction:column; }
.lp-madre .technical-body h3 { font-size:28px; min-height:66px; }
.lp-madre .technical-body p { font-size:12px; line-height:1.7; color:var(--muted); }
.lp-madre .technical-body summary { padding:13px 0; font-size:12px; font-weight:700; cursor:pointer; }
.lp-madre .technical-body dl { margin:0; }
.lp-madre .technical-body dl div { display:flex; justify-content:space-between; gap:15px; padding:13px 0; border-top:1px solid var(--line); font-size:13px; line-height:1.5; }
.lp-madre .technical-body dt { color:var(--muted); }
.lp-madre .technical-body dd { margin:0; max-width:62%; text-align:right; overflow-wrap:anywhere; }
.lp-madre .technical-image-hint { position:absolute; right:14px; bottom:14px; background:#fffdf8e8; border:1px solid #dcd4c6; border-radius:20px; padding:7px 12px; font-size:12px; }
.lp-madre .technical-body .technical-description { min-height:64px; margin:0 0 18px; font-size:14px; }
.lp-madre .technical-body .technical-use { margin:18px 0; font-size:13px; line-height:1.65; }
.lp-madre .technical-view-button { min-height:48px; width:100%; margin-top:auto; padding:12px 16px; background:#202020; border:1px solid #202020; border-radius:8px; color:#faf7f0; font-size:14px; }
.lp-madre .technical-view-button:hover { background:#414141; }
.lp-madre .product-link { display:inline-flex; gap:30px; padding:8px 0; border-bottom:1px solid var(--accent); font-size:12px; text-decoration:none; color:var(--accent); }
.lp-madre .technical-placeholder { height:240px; background:#f3eee4; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; color:var(--muted); font-size:11px; }
.lp-madre .campaign-closing { text-align:center; background:#e6e2d9; padding:65px 24px; }
.lp-madre .campaign-closing .eyebrow { justify-content:center; font-size:8px; }
.lp-madre .campaign-closing > p:not(.eyebrow) { font:400 clamp(30px,3vw,46px)/1.2 'LP Lora',serif; margin:0 0 25px; }
.lp-madre .campaign-closing em { color:var(--accent); }
.lp-madre .campaign-closing a { font-size:11px; text-decoration:none; border-bottom:1px solid var(--ink); padding:7px 0; }
.lp-madre .campaign-closing a span { margin-left:20px; }
@media (min-width:701px) and (max-width:1000px) {
  .lp-madre .hero-editorial { height:650px; }
  .lp-madre .hero-word { top:37%; }
  .lp-madre .hero-invitation { max-width:44%; bottom:7%; gap:12px; }
  .lp-madre .hero-signature { bottom:8%; }
  .lp-madre .campaign-shortcuts { gap:20px; padding:25px 4vw; }
  .lp-madre .shortcut { gap:12px; }
  .lp-madre .shortcut-image { width:92px; height:69px; }
  .lp-madre .shortcut-copy strong { font-size:12px; }
  .lp-madre .shortcut-copy > span { font-size:10px; }
  .lp-madre .guided-layout { gap:20px; padding:0 4vw; grid-template-columns:minmax(0,49fr) minmax(0,51fr); }
  .lp-madre .combo-grid,.lp-madre .technical-grid { gap:14px; }
  .lp-madre .technical-body { padding:22px 18px; }
  .lp-madre h3 { font-size:23px; }
  .lp-madre .quiz-option { padding:13px 12px; gap:9px; }
  .lp-madre .benefit-strip { padding:30px 4vw; gap:20px; }
  .lp-madre .benefit { gap:12px; }
  .lp-madre .benefit strong { font-size:12px; }
}
@media (max-width:700px) {
  .lp-madre .hero-editorial { height:590px; }
  .lp-madre .hero-edition { top:24px; left:6%; font-size:7px; letter-spacing:1.1px; }
  .lp-madre .hero-greeting { top:21%; left:7%; font-size:clamp(44px,12.2vw,60px); }
  .lp-madre .hero-word { top:38%; left:3%; width:94%; font-size:26vw; }
  .lp-madre .hero-dedication { top:21%; left:7%; font-size:8px; letter-spacing:1px; }
  .lp-madre .campaign-hero .hero-visual { left:31%; top:24%; width:60%; height:47%; margin:0; }
  .lp-madre .campaign-hero .scene { --lp-scene-top:0px; inset:var(--lp-scene-crop,0px) 0 28px; }
  .lp-madre .campaign-hero .visual-controls { right:4%; top:0; bottom:auto; }
  .lp-madre .hero-invitation { bottom:10%; left:7%; width:86%; max-width:86%; gap:10px; }
  .lp-madre .hero-invitation p { font-size:21px; margin-bottom:4px; }
  .lp-madre .hero-invitation :is(.primary-button,.hero-secondary) { min-height:50px; padding:12px 14px; flex:1 1 120px; font-size:14px; }
  .lp-madre .hero-secondary { font-size:9px; }
  .lp-madre .hero-signature { bottom:23px; left:7%; right:auto; font-size:6px; letter-spacing:1.2px; }
  .lp-madre .hero-signature br { display:none; }
  .lp-madre .campaign-shortcuts { grid-template-columns:1fr; padding:12px 6vw; gap:0; }
  .lp-madre .shortcut { gap:20px; padding:18px 0; }
  .lp-madre .shortcut + .shortcut { border-top:1px solid #ffffff25; }
  .lp-madre .shortcut-image { width:96px; height:72px; }
  .lp-madre .shortcut-copy { gap:7px; }
  .lp-madre .shortcut-copy strong { font-size:15px; }
  .lp-madre .eyebrow { font-size:8px; letter-spacing:1.4px; }
  .lp-madre .guided-layout { display:flex; flex-direction:column; gap:0; padding:0 6vw; }
  .lp-madre .hero-visual { position:relative; top:auto; height:clamp(410px,118vw,535px); min-height:0; margin:30px 0 12px; }
  .lp-madre .scene { --lp-scene-top:64px; inset:calc(var(--lp-scene-top) + var(--lp-scene-crop,0px)) -3vw 50px; }
  .lp-madre .visual-label { left:0; }
  .lp-madre .visual-controls { left:0; right:0; }
  .lp-madre .scene-caption,.lp-madre .motion-toggle { font-size:9px; }
  .lp-madre .quiz-content { padding:28px 0 36px; }
  .lp-madre h2 { font-size:clamp(36px,9vw,48px); letter-spacing:-1.2px; }
  .lp-madre .section-description { font-size:13px; margin:16px 0 24px; }
  .lp-madre .quiz-option { padding:15px 13px; font-size:12px; }
  .lp-madre .gift-quiz legend { font-size:13px; }
  .lp-madre .benefit-strip { grid-template-columns:1fr; gap:0; padding:12px 6vw; }
  .lp-madre .benefit { justify-content:flex-start; padding:22px 5%; }
  .lp-madre .benefit + .benefit { border-top:1px solid var(--line); }
  .lp-madre .combo-section,.lp-madre .technical-section { padding:55px 6vw; }
  .lp-madre .section-heading { margin-bottom:28px; }
  .lp-madre .combo-grid,.lp-madre .technical-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .lp-madre .combo-art { height:auto; }
  .lp-madre .combo-body > p { min-height:0; }
  .lp-madre .combo-result { font-size:12px; padding:15px; }
  .lp-madre .technical-image,.lp-madre .technical-placeholder { height:230px; }
  .lp-madre .draft-note { font-size:10px; }
  .lp-madre .campaign-closing { padding:50px 24px; }
}
@media (min-width:701px) and (max-height:560px) { .lp-madre .guided-layout .hero-visual { position:relative; top:auto; height:490px; margin-top:50px; } }
@media (prefers-reduced-motion:reduce) { .lp-madre *,.lp-madre *::before,.lp-madre *::after { transition:none!important; } }


/* Dos familias para toda la campaña: títulos Cormorant y lectura/acciones Lora. */
.lp-madre h3,.lp-madre .visual-label strong,.lp-madre .shortcut-copy strong { font-family:'LP Cormorant Garamond','Times New Roman',serif; font-weight:400; }
.lp-madre .shortcut-copy strong { font-size:24px; line-height:1.12; letter-spacing:0; text-wrap:balance; }
.lp-madre .shortcut-copy > span { font-size:13px; }
.lp-madre :is(.primary-button,.hero-secondary,.combo-choice,.product-link,.motion-toggle,.shortcut-action,.campaign-closing a,.technical-body summary) { font-family:'LP Lora',serif; font-weight:400; letter-spacing:0; }
.lp-madre :is(.hero-invitation,.gift-quiz) .primary-button { font-size:16px; font-weight:400; }
.lp-madre .hero-secondary,.lp-madre .combo-choice,.lp-madre .product-link,.lp-madre .technical-body summary { font-size:15px; }
.lp-madre .shortcut-copy .shortcut-action { font-size:13px; }
.lp-madre .quiz-option { font-size:16px; }
.lp-madre .section-description { font-size:16px; }
.lp-madre .gift-quiz legend { font-size:16px; font-weight:600; }
@media(min-width:701px) and (max-width:1000px) { .lp-madre .shortcut-copy strong { font-size:22px; } .lp-madre .shortcut-copy > span { font-size:12px; } }
@media(max-width:700px) { .lp-madre .hero-invitation :is(.primary-button,.hero-secondary) { font-size:14px; } .lp-madre .shortcut-copy strong { font-size:22px; } }

.lp-madre input { font-family:inherit; }

/* Encuesta de una pregunta por vez: reserva estable en computadora, contenido natural en celular. */
.lp-madre .quiz-progress { margin:0 0 24px; }
.lp-madre .quiz-step-status { font-size:14px; color:var(--muted); margin:0 0 10px; }
.lp-madre .quiz-progress-track { display:flex; gap:8px; }
.lp-madre .quiz-progress-track span { height:2px; flex:1; background:var(--line); }
.lp-madre .quiz-progress-track span[data-active="true"] { background:var(--ink); }
.lp-madre .gift-quiz[data-step] .quiz-steps { min-height:310px; }
.lp-madre .gift-quiz[data-step] fieldset { margin-bottom:0; }
.lp-madre .gift-quiz[data-step] legend { scroll-margin-top:calc(var(--lp-header-height) + 20px); }
.lp-madre .quiz-navigation { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; min-height:70px; }
.lp-madre .quiz-back,.lp-madre .quiz-next { color:var(--ink); background:transparent; border:1px solid var(--line); font-size:15px; padding:12px 16px; min-height:44px; }
.lp-madre .quiz-back:hover,.lp-madre .quiz-next:hover { border-color:var(--ink); }
.lp-madre .quiz-next { margin-left:auto; }
.lp-madre .quiz-navigation .quiz-submit { width:auto; flex:1; gap:16px; }
@media(max-width:700px) {
  .lp-madre .gift-quiz[data-step] .quiz-steps { min-height:0; }
  .lp-madre .quiz-navigation { min-height:0; align-content:flex-start; margin-top:18px; }
  .lp-madre .quiz-navigation:not(:has(> button:not([hidden]))) { display:none; }
  .lp-madre .quiz-navigation .quiz-submit { flex-basis:100%; }
}

/* Visor independiente: carga al abrir y libera el contexto al cerrar. */
.lp-madre .product-viewer-dialog { width:min(1080px,calc(100vw - 48px)); max-width:calc(100vw - 48px); max-height:92svh; padding:0; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink); font:inherit; box-shadow:0 24px 90px #0004; }
.lp-madre .product-viewer-dialog[open] { display:flex; flex-direction:column; }
.lp-madre .product-viewer-dialog::backdrop { background:#0009; backdrop-filter:blur(3px); }
body:has(#lp-madre-product-viewer[open]) { overflow:hidden; }
.lp-madre .product-viewer-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; border-bottom:1px solid var(--line); flex:none; }
.lp-madre .product-viewer-header h2 { margin:7px 0 0; font-size:36px; letter-spacing:-.7px; }
.lp-madre .product-viewer-close { width:44px; height:44px; flex:none; border:1px solid var(--line); background:transparent; color:var(--ink); border-radius:8px; font-size:28px; }
.lp-madre .product-viewer-content { display:grid; grid-template-columns:minmax(0,60fr) minmax(0,40fr); gap:28px; padding:24px; overflow:auto; overscroll-behavior:contain; min-height:0; }
.lp-madre .product-viewer-visual,.lp-madre .product-viewer-info { min-width:0; }
.lp-madre .product-viewer-stage { position:relative; height:clamp(280px,51svh,490px); border-radius:12px; overflow:hidden; background:#eeeae4; }
.lp-madre .product-viewer-stage canvas { position:absolute; inset:0; display:block; width:100%; height:100%; touch-action:none; }
.lp-madre .product-viewer-stage canvas:focus-visible { outline:3px solid var(--accent); outline-offset:-4px; }
.lp-madre .product-viewer-static { width:100%; height:100%; display:block; object-fit:contain; }
.lp-madre .product-viewer-stage[data-state="ready"] .product-viewer-static { display:none; }
.lp-madre .product-viewer-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.lp-madre .product-viewer-actions button,.lp-madre [data-viewer-retry] { min-height:44px; padding:10px 12px; border:1px solid #c4c1ba; background:#faf7f0; color:var(--ink); border-radius:8px; font-size:13px; }
.lp-madre .product-viewer-actions button[aria-pressed="true"] { background:#202020; color:#faf7f0; border-color:#202020; }
.lp-madre .product-viewer-actions button:disabled { opacity:.45; cursor:default; }
.lp-madre .product-viewer-zoom { display:flex; gap:6px; }
.lp-madre .product-viewer-zoom button { width:44px; padding:0; font-size:23px; }
.lp-madre .product-viewer-status { margin:12px 0 0; font-size:12px; line-height:1.6; color:var(--muted); }
.lp-madre .product-viewer-description { margin:0 0 22px; font-size:16px; line-height:1.7; }
.lp-madre .product-viewer-facts dl { margin:0; }
.lp-madre .product-viewer-facts dl div { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid var(--line); font-size:14px; line-height:1.5; }
.lp-madre .product-viewer-facts dt { color:var(--muted); }
.lp-madre .product-viewer-facts dd { margin:0; max-width:62%; text-align:right; overflow-wrap:anywhere; }
.lp-madre .product-viewer-use { margin:20px 0 0; font-size:13px; line-height:1.7; color:var(--muted); }
@media(max-width:700px) {
  .lp-madre .technical-body h3 { min-height:0; }
  .lp-madre .technical-body .technical-description { min-height:0; }
  .lp-madre .product-viewer-dialog { width:calc(100vw - 20px); max-width:calc(100vw - 20px); max-height:94svh; border-radius:12px; }
  .lp-madre .product-viewer-header { padding:14px 16px; gap:12px; }
  .lp-madre .product-viewer-header h2 { font-size:28px; line-height:1.05; }
  .lp-madre .product-viewer-content { display:block; padding:16px; }
  .lp-madre .product-viewer-stage { height:clamp(240px,76vw,330px); }
  .lp-madre .product-viewer-info { margin-top:26px; }
  .lp-madre .product-viewer-description { font-size:15px; }
  .lp-madre .product-viewer-actions { gap:8px; }
  .lp-madre .product-viewer-actions [data-viewer-reset] { flex-basis:100%; }
}

/* Fichas de regalo: beneficios primero y compra siempre a mano. */
.lp-madre .combo-dialog { width:min(1100px,calc(100vw - 48px)); max-width:calc(100vw - 48px); max-height:92svh; padding:0; border:1px solid var(--line); color:var(--ink); background:var(--paper); font:inherit; box-shadow:0 20px 80px #0004; }
.lp-madre .combo-dialog[open] { display:flex; flex-direction:column; }
.lp-madre .combo-dialog::backdrop { background:#0009; backdrop-filter:blur(3px); }
.lp-madre .combo-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; padding:14px 24px; border-bottom:1px solid var(--line); }
.lp-madre .combo-dialog-header .combo-kicker { font-size:10px; line-height:1.5; }
.lp-madre .combo-dialog-close { flex:none; width:44px; height:44px; border:1px solid var(--line); color:var(--ink); background:transparent; font-size:28px; }
.lp-madre .combo-dialog-content { display:grid; grid-template-columns:minmax(0,47fr) minmax(0,53fr); grid-template-rows:auto auto auto; column-gap:32px; row-gap:20px; padding:28px; overflow:auto; overscroll-behavior:contain; min-height:0; }
.lp-madre .combo-dialog-heading { grid-column:2; grid-row:1; min-width:0; }
.lp-madre .combo-dialog-heading h2 { font-size:39px; line-height:1.06; letter-spacing:-.8px; }
.lp-madre .combo-dialog-heading .combo-dialog-intro { margin:12px 0 0; max-width:430px; }
.lp-madre .combo-dialog-image { grid-column:1; grid-row:1 / 4; margin:0; align-self:start; }
.lp-madre .combo-dialog-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.lp-madre .combo-dialog-info { grid-column:2; grid-row:3; min-width:0; }
.lp-madre .combo-dialog-info h2 { font-size:36px; line-height:1.08; letter-spacing:-.8px; }
.lp-madre .combo-dialog-info h3 { font-size:25px; margin:24px 0 10px; }
.lp-madre .combo-dialog-intro,.lp-madre .combo-use { font-size:15px; line-height:1.65; color:var(--muted); }
.lp-madre .combo-includes { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; font-size:14px; line-height:1.45; margin:0 0 22px; }
.lp-madre .combo-includes li { margin:0; padding:8px 11px; border:1px solid var(--line); background:#fffdf8; }
.lp-madre .combo-specs { border-block:1px solid var(--line); }
.lp-madre .combo-specs summary { cursor:pointer; font-size:16px; padding:16px 0; }
.lp-madre .combo-specs dl { margin:0; }
.lp-madre .combo-specs dl div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:14px; border-top:1px solid var(--line); padding:12px 0; font-size:14px; line-height:1.5; }
.lp-madre .combo-specs dt { color:var(--muted); }
.lp-madre .combo-specs dd { margin:0; }
.lp-madre .combo-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; flex:none; padding:18px 28px; border-top:1px solid var(--line); background:var(--cream); }
.lp-madre .combo-dialog-footer p { font-size:13px; line-height:1.5; color:var(--muted); max-width:280px; margin:0; }
.lp-madre .combo-store-link { font-size:16px; font-weight:400; letter-spacing:0; flex:none; }
.lp-madre .combo-card[data-product-id] { cursor:pointer; }
.lp-madre .combo-card[data-product-id]:hover { border-color:var(--ink); }
.lp-madre .combo-card[data-product-id] .combo-choice::after { content:''; position:absolute; inset:0; z-index:1; }
.lp-madre .combo-card[data-product-id]:has(.combo-choice:focus-visible) { outline:3px solid var(--ink); outline-offset:4px; }
.lp-madre .combo-card[data-product-id] .combo-choice:focus-visible { outline:none; }
.lp-madre .combo-prices { margin:0 0 20px; }
.lp-madre .combo-regular-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.lp-madre .combo-regular-price s { color:var(--muted); font-size:14px; }
.lp-madre .combo-regular-price strong { font-size:18px; font-weight:400; color:var(--muted); }
.lp-madre .combo-regular-price > span { flex-basis:100%; font-size:12px; color:var(--muted); }
.lp-madre .combo-payment-price { margin:0 0 12px; font-size:32px; line-height:1.2; font-weight:500; letter-spacing:-.5px; }
.lp-madre .combo-payment-price span { display:block; margin-top:5px; font-size:13px; line-height:1.5; font-weight:400; letter-spacing:0; color:var(--muted); }
.lp-madre .combo-dialog-info .combo-prices { margin:20px 0; }
.lp-madre .combo-dialog-info .combo-regular-price strong { font-size:18px; }
.lp-madre .combo-dialog-image.combo-gallery { position:sticky; top:0; display:flex; flex-direction:column; }
.lp-madre .combo-image-stage { position:relative; background:var(--cream); }
.lp-madre .combo-image-stage img { max-height:46svh; object-fit:contain; }
.lp-madre .combo-image-badge { position:absolute; top:14px; left:14px; z-index:1; max-width:calc(100% - 28px); padding:9px 12px; font-size:13px; line-height:1.35; color:#fff; background:#242424; pointer-events:none; }
.lp-madre .combo-gallery-caption { font-size:12px; color:var(--muted); line-height:1.5; margin:8px 0 0; }
.lp-madre .combo-gallery-main { background:#fff; }
.lp-madre .combo-photo-enlarge { display:block; width:100%; padding:0; border:0; background:#fff; cursor:zoom-in; }
.lp-madre .combo-gallery-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0 0; }
.lp-madre .combo-gallery-controls button { width:44px; height:44px; flex:none; background:transparent; color:var(--ink); border:1px solid var(--line); font-size:20px; }
.lp-madre .combo-gallery-count { font-size:14px; }
.lp-madre .combo-gallery-thumbs { display:flex; gap:8px; overflow-x:auto; padding:4px 2px 8px; margin-top:12px; scrollbar-width:thin; }
.lp-madre .combo-gallery-thumbs button { flex:none; width:64px; height:64px; padding:2px; border:1px solid var(--line); background:#fff; }
.lp-madre .combo-gallery-thumbs button[aria-pressed="true"] { border:2px solid var(--ink); }
.lp-madre .combo-gallery-thumbs img { width:100%; height:100%; object-fit:contain; }
.lp-madre .combo-offer { grid-column:2; grid-row:2; padding:18px 20px; background:var(--cream); border:1px solid var(--line); }
.lp-madre .combo-offer-top { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; }
.lp-madre .combo-discount { padding:5px 8px; background:var(--ink); color:#fff; font-size:12px; white-space:nowrap; }
.lp-madre .combo-offer-price { display:block; margin:5px 0; font:400 42px/1.1 'LP Cormorant Garamond','Times New Roman',serif; letter-spacing:-.8px; }
.lp-madre .combo-other-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:12px 0 0; font-size:17px; line-height:1.5; color:var(--ink); }
.lp-madre .combo-other-price strong { font-size:24px; font-weight:500; white-space:nowrap; }
.lp-madre .combo-before-price { margin:4px 0 0; font-size:14px; line-height:1.5; color:var(--muted); }
.lp-madre .combo-image-badge.combo-image-badge--gift { padding:11px 15px; font-size:15px; font-weight:600; color:#242018; background:#edbd45; border:1px solid #d3a02b; border-radius:6px; box-shadow:0 3px 10px #0002; }
.lp-madre .combo-payment-benefits { display:flex; flex-wrap:wrap; gap:6px 18px; padding-top:12px; margin-top:12px; border-top:1px solid var(--line); font-size:13px; line-height:1.45; }
.lp-madre .combo-benefits { display:grid; gap:14px; list-style:none; margin:0 0 22px; padding:0; }
.lp-madre .combo-benefits li { display:flex; gap:12px; }
.lp-madre .combo-check { flex:none; width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:13px; }
.lp-madre .combo-benefits strong { display:block; font-size:16px; font-weight:400; margin-bottom:3px; }
.lp-madre .combo-benefits div > span { display:block; font-size:14px; line-height:1.5; color:var(--muted); }
.lp-madre .combo-included-section h3 { font-size:25px; margin:0 0 12px; }
.lp-madre .combo-care { border-bottom:1px solid var(--line); }
.lp-madre .combo-care summary { cursor:pointer; padding:16px 0; font-size:16px; }
.lp-madre .combo-care .combo-use { margin:0 0 16px; }
.lp-madre .combo-purchase-summary { min-width:0; }
.lp-madre .combo-purchase-summary > strong { font-size:17px; font-weight:400; display:block; margin-bottom:4px; }
.lp-madre .combo-purchase-summary .combo-cart-status { max-width:430px; }
.lp-madre .combo-cart-status[data-state="error"] { color:var(--ink); font-weight:700; }
.lp-madre .combo-cart-form { flex:none; margin:0; }
.lp-madre .combo-cart-submit { display:block; width:100%; min-width:260px; min-height:56px; padding:17px 24px; font:400 18px/1.3 'LP Lora',serif; cursor:pointer; }
.lp-madre .combo-cart-form[aria-busy="true"] .combo-cart-submit { cursor:wait; }
.lp-madre .combo-cart-view { border:0; border-bottom:1px solid currentColor; padding:3px 0; margin-top:5px; background:transparent; font-size:14px; color:var(--ink); }
@media(max-width:700px) {
  .lp-madre .combo-dialog { width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:94svh; }
  .lp-madre .combo-dialog-header { padding:10px 16px; }
  .lp-madre .combo-dialog-header .combo-kicker { font-size:8px; }
  .lp-madre .combo-dialog-content { grid-template-columns:minmax(0,1fr); gap:18px; padding:18px; }
  .lp-madre .combo-dialog-heading { grid-column:1; grid-row:1; }
  .lp-madre .combo-dialog-heading h2 { font-size:31px; }
  .lp-madre .combo-dialog-heading .combo-dialog-intro { font-size:14px; margin-top:9px; }
  .lp-madre .combo-offer { grid-column:1; grid-row:2; padding:14px; }
  .lp-madre .combo-offer-top { font-size:13px; }
  .lp-madre .combo-offer-price { font-size:36px; }
  .lp-madre .combo-other-price { font-size:16px; }
  .lp-madre .combo-payment-benefits { font-size:12px; }
  .lp-madre .combo-dialog-image.combo-gallery { grid-column:1; grid-row:3; position:static; }
  .lp-madre .combo-image-stage img { max-height:36svh; }
  .lp-madre .combo-dialog-info { grid-column:1; grid-row:4; }
  .lp-madre .combo-image-badge { font-size:11px; padding:7px 9px; top:10px; left:10px; }
  .lp-madre .combo-dialog-info h2 { font-size:32px; }
  .lp-madre .combo-dialog-footer { flex-direction:column; align-items:stretch; gap:10px; padding:12px 18px; }
  .lp-madre .combo-dialog-footer p { max-width:none; font-size:12px; }
  .lp-madre .combo-store-link { justify-content:space-between; gap:12px; padding:15px 16px; }
  .lp-madre .combo-purchase-summary > strong { display:none; }
  .lp-madre .combo-cart-submit { min-width:0; min-height:52px; font-size:17px; }
}

/* Imagen ampliada: un toque en cualquier punto vuelve a la ficha. */
.lp-madre .combo-photo-zoom { position:fixed; inset:0; margin:0; padding:0; width:100%; height:100%; max-width:none; max-height:none; border:0; background:#111f; color:#fff; font:inherit; overflow:hidden; }
.lp-madre .combo-photo-zoom[open] { display:block; }
.lp-madre .combo-photo-zoom::backdrop { background:#111f; }
.lp-madre .combo-photo-zoom-surface { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; width:100%; height:100%; padding:24px; border:0; background:transparent; color:inherit; cursor:zoom-out; }
.lp-madre .combo-photo-zoom-image { display:block; max-width:100%; max-height:calc(100svh - 88px); width:auto; height:auto; object-fit:contain; }
.lp-madre .combo-photo-zoom-hint { font-size:14px; line-height:1.5; color:#e3e3e3; text-align:center; }
.lp-madre .combo-photo-zoom-surface:focus-visible { outline:2px solid #fff; outline-offset:-8px; }
@media(max-width:700px) { .lp-madre .combo-photo-zoom-surface { padding:16px; } .lp-madre .combo-photo-zoom-hint { font-size:13px; } }
