@font-face {
  font-family: "Autography";
  src: url("fonts/Autography.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/*
 * SelloMágico · Experiencia visual v6.0
 * Dirección: ecommerce navideño editorial, cálido y contemporáneo.
 */

@font-face{font-family:"AnkaCoder";src:url("fonts/AnkaCoder-r.ttf") format("truetype");font-display:swap}
@font-face{font-family:"BendunganSignature";src:url("fonts/Bendungan Signature.ttf") format("truetype");font-display:swap}

/* ---------- Barra de anuncio y navegación ---------- */
.announcement-bar{position:relative;z-index:80;background:#082f26;color:#f7e8bd;border-bottom:1px solid rgba(255,255,255,.08)}
.announcement-inner{display:flex;align-items:center;justify-content:center;gap:42px;min-height:34px;padding:6px 24px;font-size:.72rem;font-weight:750;letter-spacing:.025em}
.announcement-inner span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.announcement-inner svg{width:14px;height:14px;fill:currentColor;stroke:none}
.site-header{position:sticky;z-index:75;top:0;background:rgba(255,253,248,.94);border-bottom:1px solid rgba(20,58,48,.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1480px,calc(100% - 48px));min-height:82px;margin:0 auto;gap:28px}
.site-header .brand,.site-footer .brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:linear-gradient(145deg,#d4a34b,#bb7f20);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.45),0 8px 18px rgba(159,105,27,.18)}
.brand-mark svg{width:27px;height:27px;fill:currentColor;stroke:none}
.brand-copy{display:flex;flex-direction:column;gap:1px}
.brand-copy strong{color:#8f5e1d;font:700 1.48rem/1.1 var(--serif);letter-spacing:-.025em}
.brand-copy small{color:#6f7d77;font-size:.61rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.public-nav{display:flex;align-items:center;gap:28px}
.public-nav>a{color:#284a40;font-size:.82rem;font-weight:730;text-decoration:none;white-space:nowrap}
.public-nav>a:not(.nav-cta):not(.cart-nav):hover{color:var(--red)}
.cart-nav{display:inline-flex!important;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#f3eee3}
.cart-nav svg{width:18px;height:18px}
.cart-nav b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--gold);color:#fff;font-size:.72rem}
.nav-cta{display:inline-flex!important;align-items:center;gap:13px;padding:14px 20px;border-radius:999px;background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff!important;box-shadow:0 11px 25px rgba(189,57,66,.22)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(189,57,66,.3)}
.nav-cta svg{width:17px;height:17px}

/* ---------- Portada ---------- */
.home-hero{position:relative;overflow:hidden;min-height:730px;background:
    radial-gradient(circle at 79% 33%,rgba(224,190,112,.24),transparent 26%),
    radial-gradient(circle at 8% 90%,rgba(75,130,109,.22),transparent 31%),
    linear-gradient(135deg,#073329 0%,#0b4235 48%,#082e27 100%);color:#fff}
.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.92fr);align-items:center;gap:5vw;width:min(1440px,calc(100% - 72px));min-height:730px;margin:0 auto;padding:70px 0 88px}
.hero-copy{max-width:680px;padding-left:8px}
.rating-pill{display:inline-flex;align-items:center;gap:9px;margin-bottom:26px;padding:8px 13px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.rating-pill span{color:#f4c963;font-size:.75rem;letter-spacing:.08em}
.rating-pill strong{font-size:.77rem}
.rating-pill small{color:#c2d2cc;font-size:.7rem}
.eyebrow-light{color:#f1c86e}
.hero-copy h1{max-width:720px;margin:0 0 24px;color:#fffaf0;font-size:clamp(4rem,6.4vw,7rem);line-height:.91;letter-spacing:-.055em}
.hero-copy h1 em{display:block;color:#efbf64;font-weight:500}
.hero-lead{max-width:610px;color:#d7e3df;font-size:1.12rem;line-height:1.7}
.hero-actions{display:flex;align-items:center;gap:24px;margin:34px 0}
.text-link-light{color:#fff;text-decoration:none}
.text-link-light:hover{color:#f5d386}
.play-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:.55rem}
.hero-proof{display:flex;align-items:center;gap:14px;padding-top:8px}
.proof-avatars{display:flex}
.proof-avatars span{display:grid;place-items:center;width:34px;height:34px;margin-left:-7px;border:2px solid #0a3a30;border-radius:50%;background:#f2dbc0;color:#774b31;font-size:.67rem;font-weight:800}
.proof-avatars span:first-child{margin-left:0;background:#d9e6df;color:#184f3f}
.proof-avatars span:nth-child(2){background:#e8d2d5;color:#8b2f3a}
.proof-avatars span:nth-child(3){background:#e5d9b7;color:#745919}
.proof-avatars span:last-child{width:38px;background:#d2a746;color:#fff}
.hero-proof p{margin:0;color:#b9cbc5;font-size:.73rem;line-height:1.45}
.hero-proof strong{color:#fff;font-size:.78rem}
.hero-product{position:relative;min-height:570px;isolation:isolate}
.product-glow{position:absolute;z-index:-3;right:2%;top:3%;width:510px;height:510px;border:1px solid rgba(239,195,102,.18);border-radius:50%;box-shadow:inset 0 0 80px rgba(243,211,139,.09),0 0 100px rgba(198,160,77,.1)}
.product-glow:before,.product-glow:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.product-glow:before{inset:42px}.product-glow:after{inset:98px}
.envelope-back{position:absolute;z-index:-1;right:13%;top:94px;width:420px;height:300px;transform:rotate(-7deg);border:1px solid rgba(225,190,119,.6);background:#e7d7b9;box-shadow:0 38px 70px rgba(1,21,16,.38)}
.envelope-back:before,.envelope-back:after{content:"";position:absolute;inset:0;border-style:solid;border-color:transparent}
.envelope-back:before{border-width:150px 210px 0;border-top-color:#f0e5cf}
.envelope-back:after{border-width:0 210px 150px;border-bottom-color:#d5c19c}
.hero-letter{position:absolute;right:6%;top:35px;width:430px;min-height:540px;padding:62px 54px 52px;transform:rotate(3deg);border:1px solid #d5c19a;background:
    linear-gradient(rgba(255,252,245,.96),rgba(255,252,245,.96)),
    repeating-linear-gradient(0deg,transparent,transparent 25px,rgba(170,130,60,.08) 26px);color:#18362e;box-shadow:0 42px 85px rgba(1,24,18,.46)}
.hero-letter:before{content:"";position:absolute;inset:14px;border:1px solid #dbc184;pointer-events:none}
.hero-letter:after{content:"✦";position:absolute;top:30px;left:0;right:0;color:#b73942;text-align:center;font-size:1.1rem}
.letter-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:60px;color:#a16d20;font-size:.64rem;font-weight:850;letter-spacing:.19em;text-transform:uppercase}
.letter-topline b{color:#b73942}
.letter-recipient{font:700 3.15rem/.92 var(--serif);letter-spacing:-.045em}
.hero-letter p{margin-top:24px;color:#3b5149;font:1.18rem/1.65 var(--serif)}
.letter-signature{margin-top:36px;color:#b42e3a;text-align:right;font:italic 1.7rem var(--serif)}
.letter-seal{position:absolute;right:31px;bottom:-25px;display:grid;place-items:center;width:72px;height:72px;border:4px double #e6bc63;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d74e55,#9d222d 65%);color:#f5d586;font:700 1rem var(--serif);box-shadow:0 10px 20px rgba(65,12,17,.36)}
.floating-card{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.45);border-radius:16px;background:rgba(255,253,247,.95);color:#18362e;box-shadow:0 20px 45px rgba(2,24,18,.28);backdrop-filter:blur(12px)}
.floating-review{right:-1%;top:95px;display:grid;grid-template-columns:auto 1fr;gap:2px 9px;width:230px;padding:15px 17px}
.floating-review>span{grid-row:1/3;color:#d39c2b;font-size:1.2rem}
.floating-review strong{font-size:.75rem}.floating-review small{color:#76817d;font-size:.64rem}
.floating-delivery{left:2%;bottom:48px;display:flex;align-items:center;gap:11px;padding:14px 17px}
.floating-delivery svg{width:24px;height:24px;color:#b68628}
.floating-delivery span{display:flex;flex-direction:column}.floating-delivery strong{font-size:.75rem}.floating-delivery small{color:#76817d;font-size:.64rem}

/* ---------- Catálogo de personajes ---------- */
.shop-section{padding:105px 48px 120px;background:#fbf9f4}
.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.section-heading h2{margin:0 0 16px;color:#143a30}
.section-heading p{max-width:620px;margin:0 auto;font-size:1.02rem}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:min(1240px,100%);margin:0 auto}
.product-card{overflow:hidden;border:1px solid #ded9ce;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(18,55,45,.08);transition:transform .3s ease,box-shadow .3s ease}
.product-card:hover{transform:translateY(-7px);box-shadow:0 30px 65px rgba(18,55,45,.14)}
.product-image{position:relative;display:block;overflow:hidden;height:520px;background:#173d33}
.product-image:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(4,25,20,.6));pointer-events:none}
.product-card-kings .product-image{background:#263b68}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-badge{position:absolute;z-index:2;top:20px;left:20px;padding:9px 12px;border-radius:999px;background:rgba(255,253,248,.94);color:#28483f;font-size:.67rem;font-weight:800;box-shadow:var(--shadow-sm)}
.product-quick{position:absolute;z-index:2;right:20px;bottom:20px;display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:999px;background:#fff;color:#17362e;font-size:.72rem;font-weight:800;opacity:0;transform:translateY(8px);transition:.25s}
.product-quick svg{width:15px;height:15px}.product-card:hover .product-quick{opacity:1;transform:none}
.product-info{position:relative;display:grid;grid-template-columns:1fr auto;gap:7px 22px;padding:30px 32px 34px}
.product-kicker{color:#9b762f;font-size:.65rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.product-info h3{margin:4px 0 0;color:#153b31;font-size:2.15rem}
.product-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}
.product-price small{color:#7b857f;font-size:.62rem;text-transform:uppercase}.product-price strong{color:#16392f;font:700 1.42rem var(--serif)}
.product-info>p,.product-info>ul,.product-info>.btn{grid-column:1/-1}
.product-info>p{margin:12px 0 5px;line-height:1.65}
.product-info ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:5px 0 22px;padding:0;list-style:none;color:#4d625a;font-size:.76rem}
.product-info li:before{content:"✓";margin-right:6px;color:#ab7c27;font-weight:900}

.benefit-bar{display:grid;grid-template-columns:repeat(4,1fr);width:min(1400px,calc(100% - 48px));margin:-1px auto 0;padding:28px 0;border-top:1px solid #e2ded4;border-bottom:1px solid #e2ded4;background:#fff}
.benefit-bar article{display:flex;align-items:center;gap:14px;padding:0 27px;border-right:1px solid #e2ded4}
.benefit-bar article:last-child{border-right:0}
.benefit-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:#edf3ef;color:#174b3d;font:700 1.1rem var(--serif)}
.benefit-bar div{display:flex;flex-direction:column}.benefit-bar strong{font-size:.78rem}.benefit-bar small{color:#7b8781;font-size:.67rem}

/* ---------- Cómo funciona ---------- */
.experience-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7vw;align-items:center;width:min(1320px,calc(100% - 64px));margin:0 auto;padding:130px 0}
.experience-visual{position:relative;min-height:620px}
.experience-visual:before{content:"";position:absolute;inset:42px 8% 48px 14%;border-radius:48% 52% 46% 54%;background:#e8eee8}
.experience-photo{position:absolute;overflow:hidden;border:10px solid #fff;background:#ddd;box-shadow:0 28px 60px rgba(16,53,43,.18)}
.experience-photo img{width:100%;height:100%;object-fit:cover}
.photo-one{left:3%;top:0;width:57%;height:450px;transform:rotate(-4deg)}
.photo-two{right:1%;bottom:0;width:48%;height:370px;transform:rotate(5deg)}
.experience-note{position:absolute;z-index:3;left:34%;bottom:67px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;width:250px;padding:17px 19px;border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(16,53,43,.18)}
.experience-note>span{grid-row:1/3;color:#c08d2d;font-size:1.35rem}.experience-note strong{font-size:.78rem}.experience-note small{color:#7e8984;font-size:.66rem}
.experience-copy{max-width:600px}
.experience-copy h2{margin:0 0 20px;color:#143b31;font-size:clamp(2.7rem,4.5vw,4.7rem)}
.experience-copy>p{font-size:1.02rem;line-height:1.75}
.steps-list{display:grid;gap:0;margin:30px 0 34px;padding:0;list-style:none}
.steps-list li{position:relative;display:grid;grid-template-columns:54px 1fr;gap:14px;padding:15px 0}
.steps-list li:not(:last-child):after{content:"";position:absolute;left:26px;top:55px;bottom:-6px;width:1px;background:#d5d8d2}
.steps-list li>span{display:grid;place-items:center;width:54px;height:54px;border:1px solid #d9d5ca;border-radius:50%;background:#fff;color:#9a6e26;font:700 .78rem var(--serif);box-shadow:var(--shadow-xs)}
.steps-list div{display:flex;flex-direction:column;justify-content:center}.steps-list strong{font-size:.88rem}.steps-list small{color:#7d8882;font-size:.76rem}

.memory-section{padding:0 48px 110px;background:#fbf9f4}
.memory-card{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;width:min(1320px,100%);min-height:380px;margin:0 auto;padding:68px;border-radius:30px;background:
    radial-gradient(circle at 90% 15%,rgba(226,188,102,.22),transparent 28%),
    linear-gradient(135deg,#123f34,#082f27);box-shadow:0 28px 70px rgba(10,43,34,.18)}
.memory-card h2{margin:0 0 20px;color:#fffaf0;font-size:clamp(2.8rem,5vw,5rem)}
.memory-card p{max-width:570px;color:#c9d8d2;font-size:1rem}
.memory-card>.btn{flex:0 0 auto}

/* ---------- Configurador ---------- */
.wizard-page{min-height:calc(100vh - 116px);padding:42px 0 100px;background:var(--cream)}
.wizard-shell{width:min(1380px,calc(100% - 48px));margin:0 auto}
.wizard-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.wizard-home-link{display:inline-flex;align-items:center;gap:8px;color:#64736d;font-size:.76rem;font-weight:750;text-decoration:none}
.wizard-home-link:hover{color:var(--ink)}.wizard-home-link svg{width:17px;height:17px}
.wizard-help{display:flex;align-items:center;gap:7px;font-size:.7rem}.wizard-help span{color:#85908b}.wizard-help strong{color:#38534a}
.stepper{position:relative;display:grid;grid-template-columns:repeat(var(--wizard-steps,3),1fr);width:min(860px,100%);margin:0 auto 42px}
.stepper:before{content:"";position:absolute;left:var(--step-edge,16.6%);right:var(--step-edge,16.6%);top:20px;height:2px;background:#dcdad3}
.stepper div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8a948f;text-align:center}
.stepper span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d4d1c9;border-radius:50%;background:var(--cream);color:#86918c;font:700 .78rem var(--serif)}
.stepper small{font-size:.72rem;font-weight:750}
.stepper .active span{border-color:#174a3d;background:#174a3d;color:#fff;box-shadow:0 0 0 6px rgba(23,74,61,.09)}
.stepper .active small{color:#173c32}.stepper .complete span{border-color:#c99a43;background:#c99a43;color:#fff}.stepper .complete small{color:#7e642f}
.wizard-form{margin:0}
.wizard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);gap:24px;align-items:stretch}
.wizard-card{position:relative;padding:clamp(34px,5vw,70px);border:1px solid #e0ddd5;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(26,56,47,.09)}
.wizard-card-header{max-width:790px;margin-bottom:34px}.wizard-card-header.compact{margin-bottom:30px}
.wizard-card-header h1{margin:0 0 17px;color:#123a30;font-size:clamp(3rem,5vw,5.2rem)}
.wizard-card-header.compact h1{font-size:clamp(2.8rem,4vw,4.3rem)}
.wizard-card-header p{max-width:680px;font-size:1rem;line-height:1.7}
.form-section{padding-top:3px}
.form-grid-polished{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.field{display:block}.field>span{display:flex;align-items:center;gap:6px;font-size:.78rem}.field>span b{color:var(--red)}.field>span em{color:#96a09b;font-size:.68rem;font-style:normal;font-weight:600}
.field input{min-height:56px;padding:15px 16px;background:#fcfbf8}.field small{display:block;margin-top:7px;color:#929b97;font-size:.67rem;font-weight:500}
.choice-fieldset{margin-top:27px}.choice-fieldset legend{margin-bottom:11px;font-size:.78rem}
.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;border:1px solid #dedbd3;border-radius:15px;background:#f6f4ee}
.segmented-control label{cursor:pointer}.segmented-control input{position:absolute;width:1px;height:1px;opacity:0}.segmented-control span{display:block;padding:12px 11px;border-radius:10px;color:#65726d;text-align:center;font-size:.75rem}
.segmented-control input:checked+span{background:#fff;color:#153d32;box-shadow:0 3px 12px rgba(24,57,48,.1)}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:38px;padding-top:25px;border-top:1px solid #eceae4}
.wizard-product-card{overflow:hidden;border-radius:28px;background:#123d32;color:#fff;box-shadow:0 20px 55px rgba(26,56,47,.14)}
.theme-kings .wizard-product-card{background:#273b66}
.wizard-product-image{position:relative;height:410px;overflow:hidden}.wizard-product-image:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(5,25,20,.58))}
.wizard-product-image img{width:100%;height:100%;object-fit:cover}
.selected-badge{position:absolute;z-index:2;top:18px;left:18px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#164539;font-size:.65rem;font-weight:800;box-shadow:var(--shadow-sm)}
.wizard-product-copy{padding:30px}.wizard-product-copy>span{color:#e3c77e;font-size:.62rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.wizard-product-copy h2{margin:7px 0 14px;color:#fff;font-size:2.25rem}.wizard-product-copy p{color:#d1ded9;font-size:.84rem}.wizard-product-copy ul{display:grid;gap:8px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.14);list-style:none;color:#e9f0ed;font-size:.73rem}.wizard-product-copy li:before{content:"✓";margin-right:8px;color:#edca74}

.wizard-grid-story{grid-template-columns:minmax(0,1.7fr) minmax(300px,.55fr)}
.story-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.story-field{position:relative;display:grid;grid-template-columns:45px 1fr;gap:0 12px;padding:21px;border:1px solid #e1ded5;border-radius:17px;background:#fcfbf8}
.story-field.full{grid-column:1/-1}.story-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf2ee;color:#1d5747;font:700 .72rem var(--serif)}
.story-label{display:flex;flex-direction:column;justify-content:center}.story-label strong{font-size:.82rem}.story-label small{margin-top:2px;color:#8a948f;font-size:.67rem;font-weight:500}
.story-field textarea{grid-column:1/-1;min-height:120px;margin-top:16px;background:#fff}
.story-fields-single{grid-template-columns:1fr}
.story-step-guide{display:flex;align-items:flex-start;gap:13px;margin:0 0 18px;padding:15px 17px;border:1px solid #e6e0d4;border-radius:16px;background:#f8f5ee}
.story-step-guide>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#10294b;color:#fff;font:700 .72rem var(--serif)}
.story-step-guide>div{display:flex;flex-direction:column;gap:4px}.story-step-guide strong{color:#10294b;font-size:.83rem}.story-step-guide small{color:#6e7480;font-size:.7rem;line-height:1.5}

.wizard-story-aside{position:relative;overflow:hidden;padding:43px 34px;border-radius:28px;background:
    radial-gradient(circle at 90% 5%,rgba(242,204,117,.2),transparent 24%),
    linear-gradient(145deg,#153f34,#0b2f28);color:#fff;box-shadow:0 20px 55px rgba(26,56,47,.14)}
.wizard-story-aside .aside-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:35px;border:1px solid rgba(255,255,255,.18);border-radius:16px;color:#efcd7c;font-size:1.4rem}
.wizard-story-aside h2{margin:0 0 20px;color:#fff;font-size:2.4rem}.wizard-story-aside>p{color:#cbdad4;font-size:.86rem;line-height:1.75}
.aside-example{margin:28px 0;padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.07)}
.aside-example small{color:#e8c66e;font-size:.61rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.aside-example p{margin:8px 0 0;color:#eef3f1;font:italic .91rem/1.65 var(--serif)}
.privacy-chip{display:flex;align-items:center;gap:11px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13)}.privacy-chip svg{width:24px;height:24px;color:#e7c36c}.privacy-chip span{display:flex;flex-direction:column}.privacy-chip strong{font-size:.72rem}.privacy-chip small{color:#b9ccc5;font-size:.63rem}

.letter-builder{display:grid;grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);gap:26px;align-items:start}
.letter-controls{padding:clamp(30px,4vw,52px);border:1px solid #e0ddd5;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(26,56,47,.09)}
.builder-section{margin-top:27px;padding-top:27px;border-top:1px solid #ebe8e1}
.builder-section-title{display:flex;align-items:center;gap:12px;margin-bottom:17px}.builder-section-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#163f34;color:#fff;font:700 .7rem var(--serif)}.builder-section-title div{display:flex;flex-direction:column}.builder-section-title strong{font-size:.83rem}.builder-section-title small{color:#89938e;font-size:.67rem}
.template-live-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.template-chip{cursor:pointer}.template-chip input{position:absolute;width:1px;height:1px;opacity:0}
.template-card{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;min-height:82px;padding:11px;border:1px solid #ddd9d0;border-radius:15px;background:#fcfbf7}
.template-card:hover{border-color:#bca77e;background:#fff}
.template-miniature{position:relative;display:flex;flex-direction:column;justify-content:center;width:58px;height:60px;padding:14px 10px 8px;border:3px solid #dfc99d;background:#fffaf0;box-shadow:0 6px 12px rgba(52,42,24,.1)}
.template-miniature b{position:absolute;top:4px;left:0;right:0;color:#b63842;text-align:center;font-size:.58rem}.mini-kings{border-color:#cdd4e2}.mini-kings b{color:#b6882e}
.template-miniature i{height:2px;margin:2px 0;background:#c8c9c2}
.template-meta{display:flex;flex-direction:column}.template-meta b{font-size:.75rem}.template-meta small{color:#89938e;font-size:.62rem}
.template-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid #cfcac0;border-radius:50%;color:transparent;font-size:.7rem}
.template-chip input:checked+.template-card{border-color:#bd8d34;background:#fffaf0;box-shadow:0 0 0 3px rgba(189,141,52,.11)}
.template-chip input:checked+.template-card .template-check{border-color:#bd8d34;background:#bd8d34;color:#fff}
.editor-label{font-size:.72rem}.editor-panel textarea{min-height:340px;padding:17px;background:#fcfbf8;font-size:.85rem;line-height:1.75}
.editor-meta{display:flex;align-items:center;justify-content:space-between;margin-top:7px;color:#929b97;font-size:.63rem}
.review-check{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:14px;border:1px solid #dce4df;border-radius:13px;background:#f1f6f3;cursor:pointer}
.review-check input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:#174a3d}.review-check span{display:flex;flex-direction:column}.review-check b{font-size:.72rem}.review-check small{color:#718078;font-size:.63rem;font-weight:500}
.builder-actions{margin-top:28px}
.preview-column{position:sticky;top:138px;overflow:hidden;border-radius:28px;background:#113a30;box-shadow:0 25px 70px rgba(7,39,31,.2)}
.theme-kings .preview-column{background:#253a62}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 21px;color:#fff}.preview-toolbar>span{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800}.preview-toolbar i{width:8px;height:8px;border-radius:50%;background:#7ed6a9;box-shadow:0 0 0 4px rgba(126,214,169,.13)}.preview-toolbar small{color:#b9cbc5;font-size:.62rem}

.preview-scale-shell{position:relative;display:flex;justify-content:center;align-items:flex-start;width:100%}
.preview-scale-shell>.live-preview[data-preview-fixed]{position:absolute;top:0;left:0;transform-origin:top left;max-width:none!important}
.letter-stage-live{display:grid;place-items:center;min-height:720px;padding:38px;background:
    radial-gradient(circle at 50% 30%,rgba(236,204,127,.2),transparent 28%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 12px)}
.live-preview{position:relative;overflow:hidden;width:min(520px,100%);min-height:650px;padding:72px 58px 75px;border:1px solid #d5c096;background:
    linear-gradient(rgba(255,253,247,.97),rgba(255,253,247,.97)),
    repeating-linear-gradient(0deg,transparent,transparent 25px,rgba(170,130,60,.08) 26px);color:#263e36;font:1.02rem/1.72 var(--serif);box-shadow:0 32px 65px rgba(1,22,17,.36);white-space:normal}
.live-preview:before{content:"";position:absolute;inset:16px;border:1px solid #dec78d;pointer-events:none}.live-preview.kings:before{border-color:#c5cce0}
.paper-ornament{position:absolute;left:0;right:0;color:#b13741;text-align:center}.paper-ornament.top{top:30px}.paper-ornament.bottom{bottom:31px}.live-preview.kings .paper-ornament{color:#b1842a}
.preview-heading{position:relative;z-index:1;margin-bottom:30px;color:#9f6d22;text-align:center;font-family:var(--sans);font-size:.62rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
#preview-text{position:relative;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere}
.paper-signature{position:relative;z-index:1;margin-top:30px;color:#ad303a;text-align:right;font:italic 1.3rem var(--serif)}.live-preview.kings .paper-signature{color:#9a772a}
.watermark{position:absolute;z-index:0;inset:46% 0 auto;transform:rotate(-29deg);color:rgba(178,51,60,.08);font:800 2rem var(--sans);letter-spacing:.13em;text-align:center}
.preview-order{position:absolute;right:26px;bottom:16px;color:#9aa19d;font:600 .49rem var(--sans);letter-spacing:.08em}
.preview-assurances{display:flex;justify-content:center;gap:20px;padding:15px 20px;border-top:1px solid rgba(255,255,255,.1);color:#d4dfdb;font-size:.62rem}

/* ---------- Carrito y checkout ---------- */
.commerce-shell{width:min(1260px,calc(100% - 48px));margin:0 auto;padding:72px 0 110px}
.commerce-heading{max-width:760px;margin:0 auto 38px;text-align:center}.commerce-heading h1{margin:0 0 13px;color:#143a30}.commerce-heading p{font-size:1rem}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.62fr);gap:26px;align-items:start}
.cart-items{display:grid;gap:16px}.cart-item{display:grid;grid-template-columns:76px 1fr auto;gap:20px;align-items:start;padding:24px;border:1px solid #dfdcd4;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(20,58,48,.07)}
.cart-seal{display:grid;place-items:center;width:70px;height:70px;border:1px solid #e5c989;border-radius:20px;background:#f8f0df;color:#a97823;font:700 1.5rem var(--serif)}
.cart-main>small{color:#9b762f;font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.cart-main h2{margin:4px 0 8px;font-size:2rem}.cart-main>p{font-size:.78rem;line-height:1.55}
.edit-letter-link{display:inline-flex;align-items:center;margin:4px 0 13px;color:#174b3d;font-size:.73rem;font-weight:800;text-underline-offset:4px}
.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px}.cart-item-actions>strong{font:700 1.25rem var(--serif)}.link-danger{padding:0;border:0;background:none;color:#a3313a;font-size:.68rem;text-decoration:underline;cursor:pointer}
.extras-picker{grid-column:1/-1;margin-top:9px;padding-top:18px;border-top:1px solid #ece9e1}.extras-picker h3{margin:0 0 13px;font:700 1rem var(--sans);letter-spacing:0}.extras-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.extra-option{display:grid;grid-template-columns:auto 58px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #dfdcd4;border-radius:14px;background:#fbfaf6;cursor:pointer}.extra-option:has(input:checked){border-color:#bf9038;background:#fffaf0;box-shadow:0 0 0 3px rgba(191,144,56,.1)}.extra-option>input{width:17px;height:17px;min-height:0;margin:0;accent-color:#174a3d}.extra-option img,.extra-placeholder{display:grid;place-items:center;width:58px;height:58px;border-radius:11px;background:#f0e8d7;object-fit:cover}.extra-option>span{min-width:0}.extra-option strong,.extra-option small,.extra-option b{display:block}.extra-option strong{font-size:.72rem}.extra-option small{overflow:hidden;color:#7c8882;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.extra-option b{margin-top:3px;color:#a12f39;font-size:.68rem}.extra-info{margin-top:4px}.extra-info summary{color:#7d6027;font-size:.6rem;font-weight:750;cursor:pointer}.extra-info p{margin:5px 0 0;padding:8px;border-radius:7px;background:#fff;font-size:.62rem}.saving-extra{display:block;min-height:1.2em;margin-top:8px;color:#1d684a;font-size:.68rem;font-weight:800}
.cart-summary,.checkout-summary{position:sticky;top:138px;padding:26px;border-radius:24px;background:#103b30;color:#fff;box-shadow:0 24px 60px rgba(9,44,35,.2)}.cart-summary h2,.checkout-summary h2{margin:0 0 20px;color:#fff;font-size:1.8rem}.cart-summary p,.checkout-summary>p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#d0ddd8;font-size:.75rem}.cart-summary p strong,.checkout-summary>p strong{color:#fff}.cart-summary .btn{margin-top:15px}.cart-summary .secondary{margin-top:9px;border-color:rgba(255,255,255,.35);color:#fff}.cart-summary .secondary:hover{background:rgba(255,255,255,.08)}
.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:52px 32px;border:1px solid #ded9cf;border-radius:25px;background:#fff;text-align:center;box-shadow:var(--shadow-sm)}.empty-cart-art{display:block;width:min(100%,620px);max-width:620px;height:auto;margin:0 auto 6px;filter:drop-shadow(0 18px 36px rgba(1,15,38,.12))}.empty-cart h2{margin:0;color:#123458;font-size:clamp(2rem,4vw,2.7rem)}.empty-cart p{max-width:700px;margin:0 auto;color:#475a73;font-size:1rem;line-height:1.65}.empty-cart .btn{margin-top:8px}
.checkout-form{padding:40px;border:1px solid #dfdcd4;border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(20,58,48,.08)}.checkout-form h2{margin:30px 0 16px;font:700 1.45rem var(--serif)}.checkout-form h2:first-of-type{margin-top:0}.checkout-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.shipping-list{display:grid;gap:10px}.shipping-list label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:16px;border:1px solid #ddd9d0;border-radius:14px;background:#fbfaf6;cursor:pointer}.shipping-list label:has(input:checked){border-color:#bd8d34;background:#fffaf0;box-shadow:0 0 0 3px rgba(189,141,52,.1)}.shipping-list input{width:18px;height:18px;min-height:0;margin:0;accent-color:#174a3d}.shipping-list span{display:flex;flex-direction:column}.shipping-list strong{font-size:.76rem}.shipping-list small{color:#7d8882;font-size:.65rem}.shipping-list b{font-size:.78rem}
.consents{display:grid;gap:9px;margin:24px 0;padding:16px;border-radius:14px;background:#f4f6f3}.consents label{font-size:.68rem;font-weight:600}.consents input{display:inline;width:auto;min-height:0;margin:0 7px 0 0;accent-color:#174a3d}.consents--single{padding:0;background:transparent}.consents--single label{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border-radius:14px;background:#f4f6f3}.consents--single input{display:block;flex:0 0 auto;margin:0}.consents--single span{display:block;line-height:1.35}.checkout-form .btn.primary{display:flex;align-items:center;justify-content:center;text-align:center}
.checkout-summary>a{display:inline-block;margin-top:18px;color:#d3dfda;font-size:.7rem}.coupon-form{padding:18px 0 5px}.coupon-form label{color:#fff;font-size:.68rem}.coupon-form div{display:flex;margin-top:7px}.coupon-form input{min-width:0;min-height:46px;margin:0;border:0;border-radius:10px 0 0 10px}.coupon-form button{padding:0 15px;border:0;border-radius:0 10px 10px 0;background:#d6a644;color:#153a30;font-size:.72rem;font-weight:850;cursor:pointer}.discount-line{color:#f2d27e!important}.checkout-summary .total{margin-top:7px;padding-top:17px;font-size:.9rem}.checkout-summary .total strong{font-size:1.2rem}

/* ---------- Galería y estados ---------- */
.gallery-hero{position:relative;overflow:hidden;padding:105px 30px;background:linear-gradient(135deg,#103d32,#082f27);color:#fff;text-align:center}.gallery-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:110px 130px;opacity:.3}.gallery-hero>*{position:relative;z-index:1}.gallery-hero h1{margin:0;color:#fff;font-size:clamp(4rem,9vw,7rem)}.gallery-hero h1 em{color:#efc66c;font-weight:500}.gallery-hero p{max-width:650px;margin:22px auto 0;color:#d0ddd8}.magic-orbit{position:absolute;top:48px;right:15%;color:#edc86f;font-size:2rem}
.gallery-section{padding:70px 48px 105px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:min(1250px,100%);margin:0 auto}.photo-card{overflow:hidden;margin:0;border:8px solid #fff;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(19,55,45,.13)}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card figcaption{display:flex;flex-direction:column;gap:4px;padding:15px 12px 10px}.photo-card figcaption strong{font:700 1.08rem var(--serif)}.photo-card figcaption span{color:#79857f;font-size:.74rem}.gallery-empty{max-width:720px;margin:0 auto;padding:65px 35px;border:1px dashed #c9ad74;border-radius:22px;background:#fffaf2;text-align:center}.gallery-cta{max-width:850px;margin:85px auto 0;text-align:center}.gallery-cta h2{margin:8px 0 25px}
.site-footer{background:#082f27;color:#fff}.footer-main{display:grid;grid-template-columns:1.5fr .65fr .65fr .8fr;gap:45px;width:min(1400px,calc(100% - 64px));margin:0 auto;padding:65px 0 54px}.brand-inverse .brand-copy strong{color:#f7e8c0}.brand-inverse .brand-copy small{color:#9fb7ae}.footer-brand>p{max-width:420px;margin:22px 0 0;color:#aebfba;font-size:.82rem}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column>strong{margin-bottom:5px;color:#f3d58d;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}.footer-column a{color:#c5d2cd;font-size:.75rem;text-decoration:none}.footer-column a:hover{color:#fff}.footer-promise{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.05)}.footer-promise>span{color:#efc86c;font-size:1.3rem}.footer-promise strong{display:block;margin-top:10px;font-size:.8rem}.footer-promise p{margin:5px 0 0;color:#aebfba;font-size:.7rem}.footer-bottom{display:flex;justify-content:space-between;width:min(1400px,calc(100% - 64px));margin:0 auto;padding:18px 0 25px;border-top:1px solid rgba(255,255,255,.09);color:#839c92;font-size:.65rem}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
    .hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.8fr);width:min(100% - 48px,1200px)}
    .hero-letter{right:0;width:390px}.floating-review{right:-2%}.floating-delivery{left:-2%}
    .letter-builder{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr)}
    .preview-column{top:126px}
    .benefit-bar{grid-template-columns:1fr 1fr}.benefit-bar article:nth-child(2){border-right:0}.benefit-bar article{padding:16px 25px}.benefit-bar article:nth-child(-n+2){border-bottom:1px solid #e2ded4}
}
@media(max-width:980px){
    .announcement-inner{gap:22px}.announcement-inner span:nth-child(2){display:none}
    .header-inner{width:calc(100% - 32px)}.public-nav>a:not(.cart-nav):not(.nav-cta){display:none}.brand-copy small{display:none}
    .hero-grid{grid-template-columns:1fr;padding:72px 0 85px}.hero-copy{max-width:760px;text-align:center;margin:0 auto}.hero-copy h1{margin-left:auto;margin-right:auto}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.hero-proof{justify-content:center}.hero-product{width:min(620px,100%);margin:10px auto 0;min-height:610px}
    .product-grid{grid-template-columns:1fr;max-width:720px}.product-image{height:600px}
    .experience-section{grid-template-columns:1fr;max-width:760px}.experience-visual{min-height:590px}.experience-copy{max-width:none}
    .footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-promise{grid-column:1/-1}
    .wizard-grid,.wizard-grid-story{grid-template-columns:1fr}.wizard-product-card{display:grid;grid-template-columns:280px 1fr}.wizard-product-image{height:100%;min-height:330px}
    .wizard-story-aside{display:grid;grid-template-columns:auto 1fr;gap:0 22px}.wizard-story-aside .aside-icon{grid-row:1/5}.wizard-story-aside .eyebrow,.wizard-story-aside h2,.wizard-story-aside>p,.wizard-story-aside .aside-example,.wizard-story-aside .privacy-chip{grid-column:2}.wizard-story-aside h2{font-size:2rem}
    .letter-builder{grid-template-columns:1fr}.preview-column{position:relative;top:auto}.letter-stage-live{min-height:700px}
    .cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary,.checkout-summary{position:static}
}
@media(max-width:720px){
    .announcement-inner{justify-content:center;min-height:31px;font-size:.65rem}.announcement-inner span:nth-child(3){display:none}
    .header-inner{min-height:70px}.brand-mark{width:38px;height:38px;flex-basis:38px;border-radius:12px}.brand-copy strong{font-size:1.2rem}.cart-label{display:none}.cart-nav{padding:8px}.nav-cta{padding:12px 15px}.nav-cta span{font-size:.73rem}
    .home-hero{min-height:auto}.hero-grid{width:calc(100% - 32px);padding:56px 0 70px}.hero-copy h1{font-size:clamp(3.5rem,16vw,5rem)}.hero-lead{font-size:.98rem}.hero-actions{flex-direction:column;gap:17px}.hero-product{min-height:480px}.product-glow{right:0;width:390px;height:390px}.envelope-back{right:8%;top:82px;width:310px;height:220px}.envelope-back:before{border-width:110px 155px 0}.envelope-back:after{border-width:0 155px 110px}.hero-letter{right:6%;top:20px;width:310px;min-height:410px;padding:48px 37px}.letter-topline{margin-bottom:39px;font-size:.48rem}.letter-recipient{font-size:2.35rem}.hero-letter p{font-size:.9rem}.letter-signature{font-size:1.25rem}.floating-review{display:none}.floating-delivery{left:0;bottom:8px}.letter-seal{width:58px;height:58px;right:20px}
    .shop-section{padding:78px 16px 86px}.section-heading{margin-bottom:34px}.product-image{height:450px}.product-info{padding:24px;grid-template-columns:1fr auto}.product-info h3{font-size:1.8rem}
    .benefit-bar{width:100%;grid-template-columns:1fr}.benefit-bar article,.benefit-bar article:nth-child(2){border-right:0;border-bottom:1px solid #e2ded4}.benefit-bar article:last-child{border-bottom:0}
    .experience-section{width:calc(100% - 32px);padding:85px 0}.experience-visual{min-height:470px}.photo-one{width:65%;height:350px}.photo-two{width:54%;height:280px}.experience-note{left:22%;bottom:28px}.experience-copy h2{font-size:clamp(2.6rem,12vw,3.8rem)}
    .memory-section{padding:0 16px 75px}.memory-card{align-items:flex-start;flex-direction:column;padding:42px 28px;border-radius:22px}.memory-card h2{font-size:2.8rem}
    .wizard-page{padding-top:25px}.wizard-shell{width:calc(100% - 24px)}.wizard-help{display:none}.stepper{margin-bottom:28px}.stepper small{font-size:.64rem}.wizard-card{padding:30px 22px;border-radius:21px}.wizard-card-header h1{font-size:clamp(2.65rem,13vw,4rem)}.form-grid-polished{grid-template-columns:1fr}.segmented-control{grid-template-columns:1fr}.wizard-actions{align-items:stretch;flex-direction:column-reverse}.wizard-actions .btn{width:100%}.wizard-product-card{grid-template-columns:1fr}.wizard-product-image{height:330px}.wizard-product-copy{padding:25px}
    .story-fields{grid-template-columns:1fr}.story-field.full{grid-column:auto}.wizard-story-aside{display:block}.wizard-story-aside .aside-icon{margin-bottom:25px}
    .letter-controls{padding:28px 20px;border-radius:21px}.template-live-picker{grid-template-columns:1fr}.letter-stage-live{min-height:560px;padding:18px}.live-preview{min-height:535px;padding:62px 34px 70px;font-size:.87rem}.preview-assurances{flex-wrap:wrap;gap:8px 15px}.preview-toolbar{align-items:flex-start;flex-direction:column;gap:5px}
    .commerce-shell{width:calc(100% - 24px);padding:50px 0 80px}.cart-item{grid-template-columns:58px 1fr;padding:18px}.cart-seal{width:55px;height:55px;border-radius:15px}.cart-item-actions{grid-column:2;align-items:flex-start;flex-direction:row}.extras-picker{grid-column:1/-1}.extras-grid{grid-template-columns:1fr}.checkout-form{padding:25px 19px}.checkout-form .form-grid{grid-template-columns:1fr}
    .gallery-section{padding:55px 16px 80px}.photo-grid{grid-template-columns:1fr}
    .footer-main{grid-template-columns:1fr 1fr;width:calc(100% - 32px);padding:50px 0 38px}.footer-brand,.footer-promise{grid-column:1/-1}.footer-bottom{width:calc(100% - 32px)}
}
@media(max-width:430px){
    .nav-cta span{display:none}.nav-cta{width:43px;height:43px;padding:0}.site-header .brand{gap:8px}.brand-copy strong{font-size:1.05rem}
    .hero-product{min-height:430px}.hero-letter{right:1%;width:285px}.envelope-back{right:3%}.floating-delivery{font-size:.65rem}
    .product-image{height:400px}.product-info{display:block}.product-price{align-items:flex-start;margin-top:8px}.product-info>p{margin-top:16px}
    .experience-note{left:8%;width:225px}.steps-list li{grid-template-columns:45px 1fr}.steps-list li>span{width:45px;height:45px}.steps-list li:not(:last-child):after{left:22px;top:46px}
    .footer-main{grid-template-columns:1fr}.footer-column{grid-column:1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.product-image img,.product-card,.btn,.nav-cta{transition:none}}



/* v6.15.14: el botón manual queda como respaldo cuando JavaScript no está disponible. */
.extras-picker--enhanced .extras-save-fallback { display: none; }
.extras-save-fallback { margin-top: 10px; }


.template-fixed-note{margin:0 0 14px;padding:13px 15px;border:1px solid #eadfca;border-radius:14px;background:#faf6ef;color:#5f645f;font-size:.72rem;line-height:1.6}
.template-fixed-note strong{color:#24453a}
.preview-fit-warning{margin:12px 0 0;padding:12px 14px;border:1px solid #ebc8cd;border-radius:12px;background:#fff4f5;color:#a33646;font-size:.72rem;font-weight:700}
#preview-fit-note.is-error{color:#a33646;font-weight:800}
.builder-section-single{margin-top:12px}
.preview-column,[data-protected-preview]{-webkit-user-select:none;user-select:none}

.live-preview.santa-template-preview,.live-preview.kings-template-preview,.live-preview.elfo-template-preview,.live-preview.ratoncito-template-preview{position:relative;overflow:hidden;width:640px;height:905.14px;min-height:0;padding:0;border:1px solid rgba(166,98,66,.34);background:#fff;box-shadow:0 32px 65px rgba(1,22,17,.36)}
.santa-template-surface{position:absolute;inset:0;background:url('letter-preview/santa-letter-paper.png') center/cover no-repeat}
.kings-template-surface{position:absolute;inset:0;background:url('letter-preview/reyes-letter-paper.png') center/cover no-repeat}
.elfo-template-surface{position:absolute;inset:0;background:url('letter-preview/elfo-letter-paper-v745.png') center/cover no-repeat}
.ratoncito-template-surface{position:absolute;inset:0;background:url('letter-preview/ratoncito-letter-paper-v2.png') center/cover no-repeat}
.template-preview-body{white-space:pre-wrap;overflow-wrap:anywhere;background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}.template-preview-body .preview-paragraph{margin:0 0:.42em}.template-preview-body .preview-paragraph:last-child{margin-bottom:0}
.santa-preview-greeting,.kings-preview-greeting,.elfo-preview-greeting,.ratoncito-preview-greeting,.kings-preview-signoff,.elfo-preview-signoff,.ratoncito-preview-signoff,.elfo-preview-signature,.ratoncito-preview-signature{position:absolute;z-index:3;left:163px;width:314px;top:698px;color:#3a5b99;text-align:center;white-space:nowrap;font:normal 18px/1.0 "BendunganSignature",cursive}
.santa-preview-greeting{position:absolute;z-index:3;left:144.5px;width:354.8px;top:248.1px;color:#4b392d;text-align:center;font:normal 17px/1.1 "AnkaCoder",ui-monospace,monospace;letter-spacing:.01em}
.santa-preview-body{position:absolute;z-index:3;left:59px;width:514px;top:314.8px;height:369px;overflow:hidden;color:#232220;font:normal 15px/1.35 "AnkaCoder",ui-monospace,monospace}
.kings-preview-greeting{position:absolute;z-index:3;left:163.18px;width:325.09px;top:228.44px;color:#232220;text-align:center;white-space:nowrap;font:normal 12px/1 "AnkaCoder",ui-monospace,monospace;letter-spacing:0}
.kings-preview-body{position:absolute;z-index:3;left:70.22px;width:503.14px;top:292.96px;height:355.78px;overflow:hidden;color:#232220;font:normal 13px/1.2 "AnkaCoder",ui-monospace,monospace}
.kings-preview-signoff{position:absolute;z-index:3;left:495.14px;width:85.15px;top:655.60px;color:#232220;text-align:left;white-space:nowrap;font:normal 13px/1 "AnkaCoder",ui-monospace,monospace}
.kings-preview-signature{position:absolute;z-index:3;height:auto;max-width:none;max-height:none;pointer-events:none;user-select:none}
.kings-preview-signature--melchor{left:370.29px;top:672.91px;width:182.86px}
.kings-preview-signature--gaspar{left:370.29px;top:672.91px;width:182.86px}
.kings-preview-signature--baltasar{left:374.86px;top:672.91px;width:176.76px}
.kings-preview-signature--kings{left:350.48px;top:664.99px;width:231.62px}
.elfo-preview-greeting{position:absolute;z-index:3;left:198.34px;width:255.43px;top:230px;color:#232220;text-align:center;white-space:nowrap;font:normal 13px/1 "AnkaCoder",ui-monospace,monospace;letter-spacing:0}
.elfo-preview-body{position:absolute;z-index:3;left:79.36px;width:495.39px;top:304px;height:322px;overflow:hidden;color:#232220;font:normal 13px/1.15 "AnkaCoder",ui-monospace,monospace;background:transparent!important;border:0!important;box-shadow:none!important}
.elfo-preview-signature-default{position:absolute;z-index:3;left:211.57px;top:691.37px;width:188.48px;height:auto;max-width:none;pointer-events:none;user-select:none}
.elfo-preview-signoff{position:absolute;z-index:3;left:211.33px;width:115px;top:689.65px;color:#232220;text-align:left;white-space:nowrap;font:normal 12.5px/1 "AnkaCoder",ui-monospace,monospace}
.elfo-preview-signature{position:absolute;z-index:3;left:221px;top:713px;width:179px;padding:0;margin:0;border:0;background:transparent!important;color:#c62d3d;text-align:center;white-space:nowrap;font:normal 16px/.95 "BendunganSignature",cursive;box-shadow:none!important;transform:none}
.elfo-preview-signature.is-long{font-size:14px}
.ratoncito-preview-greeting{position:absolute;z-index:3;left:203.88px;width:232.21px;top:221.99px;color:#232220;text-align:center;white-space:nowrap;font:normal 12.5px/1 "AnkaCoder",ui-monospace,monospace;letter-spacing:0}
.ratoncito-preview-body{position:absolute;z-index:3;left:79.36px;width:503.14px;top:281.25px;height:359.5px;overflow:hidden;color:#232220;font:normal 13px/1.18 "AnkaCoder",ui-monospace,monospace}
.ratoncito-preview-signoff{position:absolute;z-index:3;left:227px;width:186px;top:675px;color:#232220;text-align:center;white-space:nowrap;font:normal 13px/1 "AnkaCoder",ui-monospace,monospace}
.ratoncito-preview-signature{position:absolute;z-index:3;left:171px;width:264px;top:634px;color:#3a5b99;text-align:center;white-space:nowrap;font:normal 19px/1.0 "BendunganSignature",cursive}
.preview-watermark-grid{position:absolute;z-index:5;inset:12% 5% 11%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10% 6%;align-content:space-between;pointer-events:none}
.preview-watermark-grid span{display:block;align-self:center;justify-self:center;color:rgba(0,0,0,.26);font:900 28px/1 var(--sans);letter-spacing:.22em;text-align:center;transform:rotate(-28deg);text-transform:uppercase}
.preview-watermark-grid span:nth-child(2n){transform:rotate(-20deg)}
.preview-watermark-grid span:nth-child(3n){transform:rotate(-34deg)}
.live-preview.santa-template-preview .preview-order,.live-preview.kings-template-preview .preview-order,.live-preview.elfo-template-preview .preview-order,.live-preview.ratoncito-template-preview .preview-order{right:18px;bottom:12px;color:rgba(84,62,53,.82)}

@media print{.wizard-page .preview-column,.wizard-page [data-protected-preview]{display:none!important}}

@media(max-width:760px){
    .preview-column{max-width:100%;overflow:hidden}
    .letter-stage-live{display:block;min-height:430px;padding:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
    .preview-scale-shell{justify-content:flex-start;margin-inline:auto}
}
@media(max-width:600px){
    .letter-stage-live{padding:14px 12px 18px}
    .preview-scale-shell{margin-inline:0}
    .stepper{width:100%;gap:2px}
    .stepper span{width:34px;height:34px;font-size:.68rem}
    .stepper:before{top:16px}
    .stepper small{max-width:64px;font-size:.56rem;line-height:1.15}
}


.letter-stage-live::-webkit-scrollbar{height:10px}
.letter-stage-live::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(255,255,255,.34);background-clip:padding-box}
.letter-stage-live::-webkit-scrollbar-track{background:rgba(255,255,255,.06)}


.preview-protection-modal{width:min(92vw,480px);padding:0;border:0;border-radius:24px;background:#fff;color:#10294b;box-shadow:0 30px 90px rgba(4,19,43,.3)}
.preview-protection-modal::backdrop{background:rgba(3,18,41,.68);backdrop-filter:blur(5px)}
.preview-protection-modal-card{position:relative;padding:34px 30px 30px;text-align:center}
.preview-protection-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid #e6dfd1;border-radius:50%;background:#fff;color:#10294b;font-size:1.35rem;cursor:pointer}
.preview-protection-modal-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:#d99a27;color:#fff;font-size:1.2rem}
.preview-protection-modal h2{margin:0 0 10px;font-family:var(--serif);font-size:1.8rem}.preview-protection-modal p{margin:0 auto 22px;max-width:390px;color:#687185;line-height:1.65;font-size:.9rem}


/* ---------- Contacto y soporte ---------- */
.contact-page{min-height:65vh;padding:72px 0 100px;background:var(--cream);color:#19304c}
.contact-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.contact-head{max-width:790px;margin:0 0 34px}
.contact-head h1{margin:0 0 16px;color:#132f50;font-size:clamp(3rem,6vw,5.3rem)}
.contact-head p{max-width:720px;color:#667286;font-size:1rem;line-height:1.75}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:start}
.contact-form,.contact-aside-card{border:1px solid #e2d9ca;border-radius:26px;background:#fff;box-shadow:0 22px 58px rgba(48,36,18,.08)}
.contact-form{position:relative;padding:clamp(26px,4vw,48px)}
.contact-form-head{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #eee6da}
.contact-form-head h2{margin:0 0 8px;color:#132f50;font-size:2rem}
.contact-form-head p{margin:0;font-size:.86rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-grid label{color:#183450;font-size:.79rem;font-weight:800}
.contact-grid label>b{color:#a96d18}.contact-grid label>span{margin-left:5px;color:#9a9f9a;font-size:.68rem;font-weight:600}
.contact-grid input,.contact-grid select,.contact-grid textarea{background:#fcfbf8;border-color:#d9d1c4}
.contact-grid small{display:block;margin-top:7px;color:#92988f;font-size:.68rem}
.contact-privacy{display:flex;align-items:flex-start;gap:11px;margin:22px 0 0;padding:15px 16px;border:1px solid #eadfcf;border-radius:14px;background:#faf7f0;color:#47576b;font-size:.76rem;line-height:1.5}
.contact-privacy input{width:18px;height:18px;min-height:0;margin:1px 0 0;flex:0 0 18px}
.contact-privacy a{color:#a96d18;font-weight:800;text-underline-offset:3px}
.contact-submit{width:100%;margin-top:22px;min-height:54px;border:0;border-radius:12px;color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.04em;cursor:pointer}
.contact-security-note{margin:12px 0 0;color:#8b918b;font-size:.68rem;text-align:center}
.contact-errors{margin:0 0 24px;padding:18px 20px;border:1px solid #e7c4c9;border-radius:16px;background:#fff2f3;color:#8e2b38}
.contact-errors strong{display:block;margin-bottom:7px}.contact-errors ul{margin:0;padding-left:20px}
.contact-aside{position:sticky;top:120px}
.contact-aside-card{padding:32px}
.contact-aside-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border-radius:14px;background:#d99a27;color:#fff;font-size:1.1rem}
.contact-aside-card h2{margin:0 0 12px;color:#132f50;font-size:2rem}
.contact-aside-card>p{line-height:1.7}
.contact-aside-card dl{display:grid;gap:0;margin:24px 0 0}
.contact-aside-card dl div{padding:16px 0;border-top:1px solid #eee6da}
.contact-aside-card dt{color:#17324f;font-size:.75rem;font-weight:900}.contact-aside-card dd{margin:5px 0 0;color:#77808b;font-size:.74rem;line-height:1.55}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-aside{position:static}.contact-aside-card{padding:26px}}
@media(max-width:620px){.contact-page{padding:48px 0 72px}.contact-shell{width:calc(100% - 24px)}.contact-grid{grid-template-columns:1fr}.contact-form{padding:24px 18px;border-radius:20px}.contact-head h1{font-size:3rem}}

/* v6.22 · preguntas mágicas y refuerzo positivo */
.story-magic-section{grid-column:1/-1;margin-top:18px;padding:24px;border:1px solid #e2d6bd;border-radius:20px;background:#fffaf0;box-shadow:0 14px 34px rgba(79,56,22,.06)}
.story-magic-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}
.story-magic-icon{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:#d99a27;color:#fff;font-size:.85rem}
.story-magic-heading div{display:flex;flex-direction:column;gap:4px}.story-magic-heading strong{color:#10294b;font-size:.88rem}.story-magic-heading small{max-width:650px;color:#6e7480;font-size:.7rem;line-height:1.5}
.magic-choice-group{margin:0 0 16px;padding:17px;border:1px solid #e7dfd1;border-radius:15px;background:#fff}
.magic-choice-group:last-child{margin-bottom:0}.magic-choice-group legend{padding:0 7px;color:#10294b;font-size:.78rem;font-weight:850}.magic-choice-group>p{margin:0 0 12px;color:#77808d;font-size:.68rem}
.magic-choice-row{display:flex;flex-wrap:wrap;gap:10px}.magic-choice-row label{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 13px;border:1px solid #ddd5c7;border-radius:12px;background:#fbfaf7;cursor:pointer;font-size:.72rem;font-weight:750;color:#18304e}.magic-choice-row input{width:17px;height:17px;min-height:0;margin:0;accent-color:#d99a27}
.magic-choice-row label:has(input:checked){border-color:#d99a27;background:#fff6df;box-shadow:0 0 0 2px rgba(217,154,39,.1)}
.elf-detail-fields{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:14px;margin-top:4px;padding-top:3px}.elf-detail-fields[hidden]{display:none!important}
.magic-mini-field{display:flex;flex-direction:column;gap:9px;padding:16px;border:1px solid #e7dfd1;border-radius:15px;background:#fff}.magic-mini-field.full{grid-column:1/-1}.magic-mini-field>span{display:flex;flex-direction:column;gap:3px}.magic-mini-field strong{color:#10294b;font-size:.75rem}.magic-mini-field small{color:#7a818c;font-size:.65rem;line-height:1.45}.magic-mini-field input,.magic-mini-field textarea{margin:0;background:#fcfbf8}.magic-mini-field textarea{min-height:96px;resize:vertical}
@media(max-width:760px){.story-magic-section{padding:18px}.elf-detail-fields{grid-template-columns:1fr}.magic-mini-field.full{grid-column:auto}.magic-choice-row{flex-direction:column}.magic-choice-row label{width:100%}}

/* Preguntas opcionales y modo de lectura */
.story-include-toggle{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin-top:14px;color:#5f6d68;font-size:.66rem;font-weight:750;cursor:pointer}
.story-include-toggle input[type="checkbox"]{width:17px;height:17px;min-height:0;margin:0;accent-color:#d99a27}
.story-field.is-disabled,.optional-magic-field.is-disabled{opacity:.66;background:#f4f2ed}
.story-field.is-disabled textarea,.optional-magic-field.is-disabled textarea{background:#eceae5;color:#8d938f;cursor:not-allowed}
.optional-magic-field .story-include-toggle{margin:10px 0 2px}
.letter-uppercase .santa-preview-greeting,.letter-uppercase .kings-preview-greeting,.letter-uppercase .elfo-preview-greeting,.letter-uppercase .ratoncito-preview-greeting,.letter-uppercase .template-preview-body,.letter-uppercase .kings-preview-signoff,.letter-uppercase .elfo-preview-signoff,.letter-uppercase .ratoncito-preview-signoff{text-transform:uppercase}
.cart-reading-mode{display:inline-flex;align-items:center;width:max-content;margin:7px 0 2px;padding:4px 8px;border-radius:999px;background:#fff3d3;color:#8a5d13;font-size:.6rem;font-weight:850;letter-spacing:.04em}
.preview-reading-option{display:flex;align-items:flex-start;gap:10px;margin:0 18px 12px;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.preview-reading-option input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:#e1a52d}
.preview-reading-option span{display:flex;flex-direction:column;gap:2px}.preview-reading-option b{font-size:.68rem}.preview-reading-option small{color:#c7d2cf;font-size:.6rem;line-height:1.35}
.theme-kings .preview-reading-option small{color:#ccd4e3}

@media(max-width:760px){.story-include-toggle{font-size:.68rem}}

/* v6.23.1 · Revisión final móvil: vista previa obligatoria y zoom accesible */
.review-check-home,.builder-actions-home{display:block}
.mobile-final-actions-slot{display:none}
.preview-zoom-controls{display:none;align-items:center;gap:8px}
.preview-zoom-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.preview-zoom-button:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.55)}
.preview-zoom-button:active{transform:scale(.96)}
.preview-zoom-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.preview-zoom-value{min-width:44px;color:#fff;text-align:center;font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums}

@media(max-width:760px){
    .preview-toolbar{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;padding:14px 16px}
    .preview-toolbar>span{min-width:0}
    .preview-toolbar>small{grid-column:1;color:#b9cbc5}
    .preview-zoom-controls{display:flex;grid-column:2;grid-row:1 / span 2;justify-self:end}
    .letter-stage-live{min-height:0;padding:14px 12px 18px;overflow-x:auto;overflow-y:hidden}
    .preview-scale-shell{justify-content:flex-start;margin-inline:auto}
    .mobile-final-actions-slot{display:block;padding:18px 16px 20px;border-top:1px solid rgba(255,255,255,.12);background:#fff}
    .mobile-final-actions-slot .review-check{margin:0;padding:15px;border-color:#e4dccb;background:#fbf7ee}
    .mobile-final-actions-slot .review-check b{font-size:.78rem}
    .mobile-final-actions-slot .review-check small{font-size:.68rem;line-height:1.45}
    .mobile-final-actions-slot .builder-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 0}
    .mobile-final-actions-slot .builder-actions .btn{width:100%;justify-content:center}
    .mobile-final-actions-slot .builder-actions .btn-red{order:1}
    .mobile-final-actions-slot .builder-actions .btn-ghost{order:2}
}

/* v6.24.0 · Lectura y confirmación ordenadas + páginas legales */
.reading-option-home,.review-check-home{display:block;margin-top:18px;padding-top:18px;border-top:1px solid #eee7dc}
.builder-section-title-sub{margin-bottom:11px}
.preview-reading-option-controls{margin:0;padding:14px 15px;border:1px solid #e4dccb;border-radius:14px;background:#fbf7ee;color:#183553}
.preview-reading-option-controls input{accent-color:#d79a24}
.preview-reading-option-controls b{color:#17334f;font-size:.76rem}
.preview-reading-option-controls small{color:#6d7881;font-size:.66rem;line-height:1.45}
.review-confirmation-block .review-check{margin:0}

.legal-page{width:min(980px,calc(100% - 36px));padding-top:64px;padding-bottom:110px;color:#19304c}
.legal-hero{padding:0 0 30px;border-bottom:1px solid #e3dccf}
.legal-hero .eyebrow{display:block;margin-bottom:12px;color:#ad7318;font-size:.7rem;font-weight:900;letter-spacing:.13em}
.legal-hero h1{max-width:760px;margin:0 0 16px;color:#17334f;font:700 clamp(2.5rem,6vw,4.5rem)/.98 var(--serif)}
.legal-hero p{max-width:820px;margin:0;color:#536276;font-size:1rem;line-height:1.75}
.legal-hero small{display:block;margin-top:18px;color:#8a918f;font-size:.72rem}
.legal-summary{margin:30px 0 42px;padding:22px 24px;border:1px solid #e1d5c1;border-radius:18px;background:#fffaf0;box-shadow:0 12px 30px rgba(31,45,60,.05)}
.legal-summary strong{display:block;margin-bottom:6px;color:#9d6715;font-size:.92rem}
.legal-summary p{margin:0;color:#4f5c6c;line-height:1.7}
.legal-section{padding:28px 0;border-top:1px solid #e8e1d6}
.legal-section:first-of-type{border-top:0}
.legal-section h2{margin:0 0 15px;color:#17334f;font:700 1.65rem/1.15 var(--serif)}
.legal-section p,.legal-section li{color:#4d5c6f;font-size:.92rem;line-height:1.78}
.legal-section p{margin:0 0 13px}
.legal-section ul,.legal-section ol{display:grid;gap:7px;margin:12px 0 18px;padding-left:22px}
.legal-section a{color:#a96d18;font-weight:750;text-underline-offset:3px}
.legal-data-card{display:grid;gap:5px;padding:20px 22px;border:1px solid #e5ddcf;border-radius:16px;background:#fff}
.legal-data-card p{margin:0}
.legal-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 18px}
.legal-purpose-grid>div{padding:18px;border:1px solid #e4ddcf;border-radius:15px;background:#fff}
.legal-purpose-grid strong{display:block;margin-bottom:5px;color:#17334f;font-size:.84rem}
.legal-purpose-grid p{margin:0;font-size:.82rem;line-height:1.62}
.legal-callout{margin:18px 0;padding:17px 19px;border-left:4px solid #d79a24;border-radius:0 14px 14px 0;background:#fff8e9}
.legal-callout strong{display:block;margin-bottom:4px;color:#8c5d15}
.legal-callout p{margin:0}
.legal-section-highlight{margin:14px -22px;padding:28px 22px;border:1px solid #dec89f;border-radius:18px;background:#fffaf0}

@media(max-width:760px){
  .mobile-final-actions-slot .reading-option-block,.mobile-final-actions-slot .review-confirmation-block{display:block}
  .mobile-final-actions-slot .reading-option-block{padding-bottom:16px;border-bottom:1px solid #e7dfd2}
  .mobile-final-actions-slot .review-confirmation-block{margin-top:16px}
  .mobile-final-actions-slot .builder-section-title{margin-bottom:10px}
  .mobile-final-actions-slot .builder-section-title>span{width:32px;height:32px}
  .mobile-final-actions-slot .builder-section-title strong{font-size:.76rem}
  .mobile-final-actions-slot .builder-section-title small{font-size:.64rem;line-height:1.4}
  .mobile-final-actions-slot .preview-reading-option-controls{margin:0;background:#fbf7ee;color:#17334f}
  .mobile-final-actions-slot .preview-reading-option-controls small{color:#6d7881}
  .mobile-final-actions-slot .review-check{margin:0;padding:15px;border-color:#e4dccb;background:#fbf7ee}
  .legal-page{width:min(100% - 28px,980px);padding-top:42px;padding-bottom:80px}
  .legal-hero h1{font-size:2.65rem}
  .legal-hero p{font-size:.9rem}
  .legal-summary{padding:18px}
  .legal-purpose-grid{grid-template-columns:1fr}
  .legal-section{padding:24px 0}
  .legal-section h2{font-size:1.45rem}
  .legal-section p,.legal-section li{font-size:.86rem}
  .legal-section-highlight{margin:12px -8px;padding:22px 16px}
}

/* ========================================================================== */
/* v7 · Configurador premium: interfaz limpia inspirada en commerce moderno   */
/* ========================================================================== */
.wizard-page{
    --wizard-accent:#0f3d2e;
    --wizard-accent-hover:#0a3225;
    --wizard-ink:#202223;
    --wizard-muted:#6d7175;
    --wizard-border:#dfe3e8;
    --wizard-soft:#f6f6f7;
    --wizard-soft-green:#f1f8f5;
    --wizard-focus:rgba(15,61,46,.14);
    padding:34px 0 96px;
    background:#f6f6f7;
    color:var(--wizard-ink);
}
.wizard-page.theme-kings{--wizard-accent:#173b67;--wizard-accent-hover:#102d50;--wizard-focus:rgba(23,59,103,.14);--wizard-soft-green:#f2f6fb}
.wizard-page .wizard-shell{width:min(1240px,calc(100% - 48px))}
.wizard-page .wizard-heading-row{margin:0 0 16px}
.wizard-page .wizard-home-link{color:#616a73;font-size:.78rem;font-weight:650}
.wizard-page .wizard-home-link:hover{color:var(--wizard-accent)}
.wizard-page .wizard-help{gap:9px;font-size:.7rem}
.wizard-page .wizard-help span{color:#8c9196}
.wizard-page .wizard-help strong{color:#4f585f;font-weight:650}

.wizard-progress-panel{
    width:100%;
    margin:0 0 24px;
    padding:18px 22px 14px;
    border:1px solid var(--wizard-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 1px 0 rgba(0,0,0,.02),0 4px 14px rgba(31,33,36,.04);
}
.wizard-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.wizard-progress-summary>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.wizard-progress-summary>div>span{color:var(--wizard-muted);font-size:.73rem;font-weight:600}
.wizard-progress-summary strong{color:var(--wizard-ink);font-size:.82rem;font-weight:750}
.wizard-progress-count{flex:0 0 auto;color:var(--wizard-muted);font-size:.7rem;font-weight:650}
.wizard-progress-track{height:4px;margin-bottom:14px;overflow:hidden;border-radius:99px;background:#ebedef}
.wizard-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--wizard-accent);transition:width .25s ease}

.wizard-page .stepper{width:100%;margin:0;gap:4px}
.wizard-page .stepper:before{display:none}
.wizard-page .stepper div{display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;justify-items:start;min-width:0;color:#8a9095;text-align:left}
.wizard-page .stepper span{width:24px;height:24px;border:1px solid #cfd4d9;border-radius:7px;background:#fff;color:#6d747a;font:750 .62rem var(--sans)}
.wizard-page .stepper small{max-width:none;overflow:hidden;color:#747a80;font-size:.66rem;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.wizard-page .stepper .active span{border-color:var(--wizard-accent);background:var(--wizard-accent);box-shadow:0 0 0 3px var(--wizard-focus)}
.wizard-page .stepper .active small{color:var(--wizard-ink);font-weight:750}
.wizard-page .stepper .complete span{border-color:#aeb7b2;background:#edf3f0;color:var(--wizard-accent)}
.wizard-page .stepper .complete small{color:#59635e}

.wizard-page .alert.error{margin:0 0 16px;border:1px solid #f1b9bd;border-radius:12px;background:#fff4f4;color:#8f1d25;box-shadow:none}
.wizard-page .wizard-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px;align-items:start}
.wizard-page .wizard-grid-story{grid-template-columns:minmax(0,1.65fr) minmax(285px,.62fr)}
.wizard-page .wizard-card,
.wizard-page .letter-controls{
    padding:clamp(30px,4vw,50px);
    border:1px solid var(--wizard-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 1px 0 rgba(0,0,0,.02),0 6px 20px rgba(31,33,36,.045);
}
.wizard-page .wizard-card-header{max-width:760px;margin-bottom:28px}
.wizard-page .wizard-card-header .eyebrow{display:inline-flex;margin-bottom:10px;padding:5px 8px;border-radius:6px;background:var(--wizard-soft-green);color:var(--wizard-accent);font-size:.63rem;font-weight:800;letter-spacing:.07em}
.wizard-page .wizard-card-header h1,
.wizard-page .wizard-card-header.compact h1{margin:0 0 12px;color:var(--wizard-ink);font-family:var(--sans);font-size:clamp(1.75rem,3vw,2.55rem);font-weight:750;line-height:1.12;letter-spacing:-.035em}
.wizard-page .wizard-card-header p{max-width:690px;margin:0;color:var(--wizard-muted);font-size:.88rem;line-height:1.65}
.wizard-page .wizard-card-header p strong{color:#4c5357;font-weight:700}

.wizard-page .form-grid-polished{gap:19px 18px}
.wizard-page .field>span{margin-bottom:7px;color:#303337;font-size:.75rem;font-weight:700}
.wizard-page .field>span b{color:#b42318}
.wizard-page .field>span em{margin-left:auto;color:#8c9196;font-size:.64rem;font-weight:550}
.wizard-page .field input,
.wizard-page .field select,
.wizard-page .story-field textarea,
.wizard-page .magic-mini-field input,
.wizard-page .magic-mini-field textarea,
.wizard-page .editor-panel textarea{
    margin-top:0;
    border:1px solid #c9ced3;
    border-radius:9px;
    background:#fff;
    color:var(--wizard-ink);
    box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.wizard-page .field input,.wizard-page .field select{min-height:50px;padding:12px 13px}
.wizard-page .field input:hover,.wizard-page .field select:hover,.wizard-page textarea:hover{border-color:#9fa6ad}
.wizard-page .field input:focus,.wizard-page .field select:focus,.wizard-page textarea:focus,.wizard-page .magic-mini-field input:focus{
    border-color:var(--wizard-accent);
    box-shadow:0 0 0 3px var(--wizard-focus);
}
.wizard-page .field small{margin-top:6px;color:#8a9095;font-size:.62rem;line-height:1.45}
.wizard-page .printed-letter-note{padding:13px 14px;border:1px solid #dbe6e1;border-radius:10px;background:var(--wizard-soft-green)}
.wizard-page .printed-letter-note strong{color:#34423c;font-size:.72rem}
.wizard-page .printed-letter-note small{color:#6f7874;font-size:.63rem}
.wizard-page .choice-fieldset{margin-top:24px}
.wizard-page .choice-fieldset legend{margin-bottom:10px;color:#303337;font-size:.75rem;font-weight:700}
.wizard-page .segmented-control{gap:4px;padding:4px;border:1px solid #d8dce0;border-radius:10px;background:#f7f8f8}
.wizard-page .segmented-control span{padding:10px 11px;border-radius:7px;color:#5f656a;font-size:.72rem;font-weight:650}
.wizard-page .segmented-control input:checked+span{background:#fff;color:var(--wizard-ink);box-shadow:0 1px 4px rgba(0,0,0,.12),inset 0 0 0 1px #cfd4d9}

.wizard-page .wizard-actions{margin-top:30px;padding-top:22px;border-color:#ebecef}
.wizard-page .btn{min-height:46px;border-radius:9px;font-size:.76rem;font-weight:750;letter-spacing:0;text-transform:none;box-shadow:none}
.wizard-page .btn-lg{min-height:50px;padding:14px 19px;font-size:.78rem}
.wizard-page .btn:hover{transform:none}
.wizard-page .btn-red,.wizard-page .primary{border-color:var(--wizard-accent);background:var(--wizard-accent);color:#fff;box-shadow:none}
.wizard-page .btn-red:hover,.wizard-page .primary:hover{border-color:var(--wizard-accent-hover);background:var(--wizard-accent-hover);box-shadow:none}
.wizard-page .btn-ghost{border-color:#c9ced3;background:#fff;color:#34383b}
.wizard-page .btn-ghost:hover{border-color:#9da4aa;background:#f8f9f9}
.wizard-page .btn svg{width:16px;height:16px}

.wizard-page .wizard-product-card{
    position:sticky;top:116px;
    overflow:hidden;
    border:1px solid var(--wizard-border);
    border-radius:16px;
    background:#fff;
    color:var(--wizard-ink);
    box-shadow:0 1px 0 rgba(0,0,0,.02),0 6px 20px rgba(31,33,36,.045);
}
.wizard-page .theme-kings .wizard-product-card{background:#fff}
.wizard-page .wizard-product-image{height:330px;background:#eef1f2}
.wizard-page .wizard-product-image:after{height:20%;background:linear-gradient(transparent,rgba(17,24,28,.16))}
.wizard-page .selected-badge{top:14px;left:14px;padding:7px 10px;border:1px solid #dce2de;background:rgba(255,255,255,.96);color:var(--wizard-accent);font-size:.61rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.wizard-page .wizard-product-copy{padding:23px}
.wizard-page .wizard-product-copy>span{color:#747b80;font-size:.6rem;font-weight:800;letter-spacing:.08em}
.wizard-page .wizard-product-copy h2{margin:6px 0 9px;color:var(--wizard-ink);font-family:var(--sans);font-size:1.35rem;font-weight:750;letter-spacing:-.02em}
.wizard-page .wizard-product-copy p{margin:0;color:var(--wizard-muted);font-size:.75rem;line-height:1.6}
.wizard-product-meta{display:grid;gap:9px;margin-top:18px;padding-top:17px;border-top:1px solid #ebecef;color:#50575c;font-size:.68rem;font-weight:650}
.wizard-product-meta span{display:flex;align-items:center;gap:8px}.wizard-product-meta b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--wizard-soft-green);color:var(--wizard-accent);font-size:.58rem}

.wizard-page .story-step-guide{margin-bottom:16px;padding:13px 15px;border:1px solid #dfe3e6;border-radius:10px;background:#f8f9f9}
.wizard-page .story-step-guide>span{width:30px;height:30px;flex-basis:30px;border-radius:8px;background:var(--wizard-accent);font-family:var(--sans);font-size:.64rem}
.wizard-page .story-step-guide strong{color:#303437;font-size:.75rem}
.wizard-page .story-step-guide small{color:#737a80;font-size:.64rem;line-height:1.45}
.wizard-page .story-fields{gap:14px}
.wizard-page .story-field{grid-template-columns:36px 1fr;padding:18px;border:1px solid #dfe3e6;border-radius:12px;background:#fff}
.wizard-page .story-field:hover{border-color:#c9ced3}
.wizard-page .story-number{width:32px;height:32px;border-radius:8px;background:var(--wizard-soft-green);color:var(--wizard-accent);font-family:var(--sans);font-size:.63rem;font-weight:800}
.wizard-page .story-label strong{color:#303337;font-size:.77rem}
.wizard-page .story-label small{margin-top:3px;color:#7a8085;font-size:.63rem;line-height:1.45}
.wizard-page .story-field textarea{min-height:112px;margin-top:14px;padding:13px;font-size:.78rem;line-height:1.55}
.wizard-page .story-include-toggle{margin-top:12px;color:#666d72;font-size:.63rem;font-weight:650}
.wizard-page .story-include-toggle input[type="checkbox"]{width:16px;height:16px;accent-color:var(--wizard-accent)}
.wizard-page .story-field.is-disabled,.wizard-page .optional-magic-field.is-disabled{opacity:.62;background:#f5f6f7}

.wizard-page .wizard-story-aside{
    position:sticky;top:116px;
    padding:26px;
    border:1px solid var(--wizard-border);
    border-radius:16px;
    background:#fff;
    color:var(--wizard-ink);
    box-shadow:0 1px 0 rgba(0,0,0,.02),0 6px 20px rgba(31,33,36,.045);
}
.wizard-page .wizard-story-aside:before{content:"";display:block;width:36px;height:4px;margin-bottom:22px;border-radius:9px;background:var(--wizard-accent)}
.wizard-page .wizard-story-aside .aside-icon{display:none}
.wizard-page .wizard-story-aside .eyebrow{color:var(--wizard-accent);font-size:.6rem;font-weight:800;letter-spacing:.08em}
.wizard-page .wizard-story-aside h2{margin:8px 0 12px;color:var(--wizard-ink);font-family:var(--sans);font-size:1.28rem;font-weight:750;line-height:1.25;letter-spacing:-.02em}
.wizard-page .wizard-story-aside>p{color:var(--wizard-muted);font-size:.73rem;line-height:1.65}
.wizard-page .aside-example{margin:18px 0;padding:14px;border:1px solid #e1e4e7;border-radius:10px;background:#f8f9f9}
.wizard-page .aside-example small{color:#70777c;font-size:.57rem;letter-spacing:.08em}
.wizard-page .aside-example p{margin-top:6px;color:#42484c;font-family:var(--sans);font-size:.72rem;font-style:normal;line-height:1.55}
.wizard-page .privacy-chip{gap:9px;padding-top:16px;border-color:#e7e9eb;color:#41474b}
.wizard-page .privacy-chip svg{width:20px;height:20px;color:var(--wizard-accent)}
.wizard-page .privacy-chip strong{font-size:.67rem}.wizard-page .privacy-chip small{color:#7c8286;font-size:.59rem}

.wizard-page .story-magic-section{margin-top:14px;padding:18px;border:1px solid #dfe3e6;border-radius:12px;background:#f8f9f9;box-shadow:none}
.wizard-page .story-magic-heading{margin-bottom:15px}
.wizard-page .story-magic-icon{width:34px;height:34px;flex-basis:34px;border-radius:8px;background:var(--wizard-accent)}
.wizard-page .story-magic-heading strong{color:#303337;font-size:.78rem}.wizard-page .story-magic-heading small{color:#777e83;font-size:.63rem}
.wizard-page .magic-choice-group{margin-bottom:12px;padding:15px;border:1px solid #dfe3e6;border-radius:10px;background:#fff}
.wizard-page .magic-choice-group legend{color:#303337;font-size:.73rem;font-weight:750}.wizard-page .magic-choice-group>p{color:#7c8287;font-size:.62rem}
.wizard-page .magic-choice-row{gap:8px}
.wizard-page .magic-choice-row label{min-height:42px;padding:9px 11px;border:1px solid #d5dade;border-radius:9px;background:#fff;color:#454b4f;font-size:.67rem;font-weight:650}
.wizard-page .magic-choice-row input{accent-color:var(--wizard-accent)}
.wizard-page .magic-choice-row label:has(input:checked){border-color:var(--wizard-accent);background:var(--wizard-soft-green);box-shadow:0 0 0 2px var(--wizard-focus)}
.wizard-page .magic-mini-field{padding:14px;border:1px solid #dfe3e6;border-radius:10px;background:#fff}.wizard-page .magic-mini-field strong{color:#303337;font-size:.72rem}.wizard-page .magic-mini-field small{font-size:.61rem}

.wizard-page .letter-builder{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:20px}
.wizard-page .letter-controls{padding:32px}
.wizard-page .builder-section{margin-top:22px;padding-top:22px;border-color:#ebecef}
.wizard-page .builder-section-title{margin-bottom:13px}.wizard-page .builder-section-title>span{width:30px;height:30px;border-radius:8px;background:var(--wizard-accent);font-family:var(--sans);font-size:.63rem}.wizard-page .builder-section-title strong{color:#303337;font-size:.75rem}.wizard-page .builder-section-title small{color:#7b8186;font-size:.61rem}
.wizard-page .editor-label{display:block;margin-bottom:7px;color:#303337;font-size:.7rem;font-weight:700}
.wizard-page .editor-panel textarea{min-height:330px;padding:14px;font-size:.78rem;line-height:1.65}
.wizard-page .editor-meta{gap:10px;color:#7d8388;font-size:.59rem}
.wizard-page .reading-option-home,.wizard-page .review-check-home{margin-top:15px;padding-top:15px;border-color:#ebecef}
.wizard-page .preview-reading-option-controls,.wizard-page .review-check{padding:13px;border:1px solid #dfe3e6;border-radius:10px;background:#f8f9f9;color:#3f4549}
.wizard-page .preview-reading-option-controls input,.wizard-page .review-check input{accent-color:var(--wizard-accent)}
.wizard-page .preview-reading-option-controls b,.wizard-page .review-check b{color:#34393d;font-size:.7rem}.wizard-page .preview-reading-option-controls small,.wizard-page .review-check small{color:#747b80;font-size:.61rem}
.wizard-page .preview-column{top:116px;border:1px solid #d9dee2;border-radius:16px;background:#273a34;box-shadow:0 7px 22px rgba(26,31,28,.11)}
.wizard-page.theme-kings .preview-column{background:#2c3d58}
.wizard-page .preview-toolbar{padding:13px 16px}.wizard-page .preview-toolbar>span{font-size:.67rem}.wizard-page .preview-toolbar small{font-size:.57rem}
.wizard-page .letter-stage-live{min-height:680px;padding:28px;background:rgba(255,255,255,.045)}

@media(max-width:980px){
    .wizard-page .wizard-grid,.wizard-page .wizard-grid-story,.wizard-page .letter-builder{grid-template-columns:1fr}
    .wizard-page .wizard-product-card,.wizard-page .wizard-story-aside,.wizard-page .preview-column{position:relative;top:auto}
    .wizard-page .wizard-product-card{display:grid;grid-template-columns:220px 1fr}
    .wizard-page .wizard-product-image{height:100%;min-height:280px}
    .wizard-page .wizard-story-aside{padding:22px}
}
@media(max-width:760px){
    .wizard-page{padding:20px 0 68px}
    .wizard-page .wizard-shell{width:calc(100% - 24px)}
    .wizard-page .wizard-heading-row{margin-bottom:12px}.wizard-page .wizard-help{display:none}
    .wizard-progress-panel{padding:15px 14px 12px;border-radius:12px}
    .wizard-progress-summary>div{display:block}.wizard-progress-summary>div>span{display:block;margin-bottom:2px}
    .wizard-page .stepper{grid-template-columns:repeat(5,1fr);gap:5px}
    .wizard-page .stepper div{display:flex;justify-content:center}.wizard-page .stepper small{display:none}
    .wizard-page .stepper span{width:28px;height:28px;border-radius:8px}
    .wizard-page .wizard-card,.wizard-page .letter-controls{padding:25px 19px;border-radius:14px}
    .wizard-page .wizard-card-header h1,.wizard-page .wizard-card-header.compact h1{font-size:1.75rem}
    .wizard-page .wizard-card-header p{font-size:.8rem}
    .wizard-page .form-grid-polished{grid-template-columns:1fr}
    .wizard-page .segmented-control{grid-template-columns:repeat(3,1fr)}
    .wizard-page .wizard-actions{flex-direction:column-reverse;align-items:stretch;gap:9px}.wizard-page .wizard-actions .btn{width:100%}
    .wizard-page .wizard-product-card{display:block}.wizard-page .wizard-product-image{height:300px;min-height:0}
    .wizard-page .wizard-story-aside{display:block}
    .wizard-page .story-field{grid-template-columns:34px 1fr;padding:15px}
    .wizard-page .story-field textarea{min-height:108px}
    .wizard-page .story-magic-section{padding:15px}
    .wizard-page .magic-choice-row{flex-direction:column}.wizard-page .magic-choice-row label{width:100%}
    .wizard-page .letter-controls{padding:24px 18px}
    .wizard-page .editor-panel textarea{min-height:300px}
    .wizard-page .preview-column{border-radius:14px}
    .wizard-page .letter-stage-live{padding:14px 12px 18px}
}
@media(max-width:430px){
    .wizard-progress-count{font-size:.64rem}
    .wizard-page .wizard-card-header .eyebrow{font-size:.57rem}
    .wizard-page .segmented-control{grid-template-columns:1fr}.wizard-page .segmented-control span{padding:9px}
    .wizard-page .wizard-product-image{height:260px}
}
.contact-human-check{padding:16px 18px;border:1px solid #e4dac9;border-radius:14px;background:#faf7f0}
.contact-human-check>span{display:block!important;margin:5px 0 10px!important;color:#4e5e70!important;font-size:.78rem!important;font-weight:700!important}
.contact-human-check input{max-width:150px;background:#fff!important}

/* Adjuntos seguros en contacto */
.support-upload-field{display:grid;gap:7px}
.support-upload-field input[type="file"]{width:100%;padding:11px 12px;border:1px dashed #c6d1dc;border-radius:12px;background:#f8fafc;color:#27435f;font:600 .76rem var(--sans)}
.support-upload-field input[type="file"]::file-selector-button{margin-right:10px;padding:8px 12px;border:0;border-radius:9px;background:#102f58;color:#fff;font:800 .68rem var(--sans);cursor:pointer}

@media (min-width: 769px){.empty-cart-art{width:min(100%,310px);max-width:310px}}
