:root,[data-palette="rosa"]{--page:#fff;--surface:#fff7fa;--tint:#fce4ec;--accent:#b63350;--accent-text:#fff;--text:#211c1e;--muted:#67525c;--edge:#edc4d2;--decor:#f4bdce;--dark:#171717;--dark-text:#fff;--wine:var(--accent);--line:var(--edge)}
[data-palette="coral"]{--page:#fffaf5;--surface:#fff4ec;--tint:#ffe5d9;--accent:#ac3b31;--text:#29201e;--muted:#71564d;--edge:#ecc8b8;--decor:#f5c2aa;--dark:#2b211f}
[data-palette="cereza"]{--page:#fff;--surface:#fff6f8;--tint:#ffe9ef;--accent:#c12246;--text:#18181b;--muted:#66515a;--edge:#edb8c7;--decor:#ffbbcd;--dark:#18181b}
[data-palette="arena"]{--page:#fffdf8;--surface:#f7f1e8;--tint:#eee3d6;--accent:#9e362f;--text:#292522;--muted:#696057;--edge:#d9cbb9;--decor:#d9bca5;--dark:#292522}
[data-palette="grafito"]{--page:#18181b;--surface:#222226;--tint:#29292d;--accent:#f58c9f;--accent-text:#24151a;--text:#fff7f9;--muted:#d3c8ce;--edge:#494047;--decor:#613645;--dark:#101012}
body{background:var(--page);color:var(--text)}
header,.header{background:var(--page);border-color:var(--edge)}
.announcement,.notice{background:var(--tint);color:var(--text)}
.home-cover,.intro{background:repeating-linear-gradient(135deg,transparent 0 28px,color-mix(in srgb,var(--page) 40%,transparent) 29px 30px),var(--tint);border-color:var(--edge)}
.home-cover-visual{background:var(--tint)}
.home-cover h1,.cover-copy h1,.section-title h2,.jewel-title,.volume-title,.gallery-copy h2,.film h2,.cta h2,.contact h2{color:var(--text)}
.home-cover h1 em,.cover-copy h1 em,.section-title h2 i,.volume-title strong,.film h2 em,.kicker,.eyebrow,.cover-copy .eyebrow,.film-label,.gallery-copy small{color:var(--accent)}
.home-cover p,.sub,.ideal,.film-copy p,.contact p,.cta p,.section-title p{color:var(--muted)}
.red-button,.home-cover .red-button,.action,.extras-return{background:var(--accent);color:var(--accent-text)}
.cover-tag,.section-title .kicker{background:var(--page);color:var(--accent);border-color:var(--edge)}
.section-title{background:radial-gradient(circle at 8% 22%,var(--decor) 0 12px,transparent 13px),repeating-linear-gradient(135deg,transparent 0 28px,color-mix(in srgb,var(--page) 40%,transparent) 29px 30px),var(--tint)}
.section-title:before,.section-title:after,.icon{color:var(--accent)}
.products{background:radial-gradient(var(--edge) 1px,transparent 1px) 0 0/15px 15px,var(--surface)}
.product{color:var(--text)}.product img{border-color:var(--page);box-shadow:0 0 0 1px var(--edge),4px 5px 0 var(--decor)}
.info{background:linear-gradient(120deg,var(--page),var(--surface));border-color:var(--edge)}
.checks{border-color:var(--edge)}.checks li:nth-child(odd){background:var(--tint)}.checks li:nth-child(even){background:var(--surface)}.check{color:var(--accent);background:var(--tint)}
.price-card{background:var(--page);border-color:var(--edge)}.price-card h3{background:var(--tint);color:var(--accent);border-color:var(--edge)}.price-card td{color:var(--text);border-color:var(--edge)}
.gallery{background:radial-gradient(circle at 0 0,var(--decor) 0 75px,transparent 76px),var(--surface)}.gallery-copy .sub{color:var(--muted)}
.film{background:radial-gradient(var(--edge) 1px,transparent 1px) 0 0/14px 14px,var(--tint)}.film-poster{box-shadow:8px 8px 0 var(--decor)}
.contact,.cta{background:radial-gradient(circle at 98% 0,var(--decor) 0 62px,transparent 63px),repeating-linear-gradient(130deg,transparent 0 40px,color-mix(in srgb,var(--page) 30%,transparent) 41px 43px),var(--tint);border-color:var(--edge);box-shadow:0 7px 0 var(--edge)}
.shipping-banner{background:linear-gradient(110deg,var(--surface),var(--tint));color:var(--text);border-color:var(--edge)}.shipping-copy small{color:var(--muted)}.shipping-icon,.shipping-banner button{background:var(--page);color:var(--accent);border-color:var(--edge);box-shadow:0 3px 0 var(--edge)}.shipping-banner button:hover{background:var(--surface)}
footer,.footer,.social-dock{background:var(--dark);color:var(--dark-text)}
dialog,.extras-dialog{background:var(--page);color:var(--text);border-color:var(--edge)}dialog p,.extras-dialog p{color:var(--muted)}
.palette-panel{max-width:1124px;margin:20px auto;padding:16px 20px;border:1px solid var(--edge);border-radius:18px;background:var(--surface);color:var(--text)}
.palette-panel summary{cursor:pointer;font:700 13px/1.5 Unbounded,Arial,sans-serif;list-style:none;display:flex;justify-content:space-between;gap:12px}
.palette-panel p{font-size:14px;color:var(--muted)}.palette-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.palette-options button{padding:12px;text-align:left;background:var(--page);color:var(--text);border:2px solid var(--edge);border-radius:14px;cursor:pointer;min-width:0}
.palette-options button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--page) inset}
.palette-swatches{display:flex;margin-bottom:10px}.palette-swatches i{width:24px;height:24px;border-radius:50%;border:1px solid #8885;margin-right:-4px}
.palette-options b{display:block;font-size:14px}.palette-options small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:var(--muted)}.palette-status{display:block;font-size:13px;margin-top:10px;color:var(--accent)}
@media(max-width:640px){.palette-panel{margin:16px}.palette-options{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-options button:last-child{grid-column:1/-1}.palette-panel summary{font-size:11px}}

[data-palette="grafito-blanco"]{--page:#fff;--surface:#f7f7f8;--tint:#e9eaed;--accent:#b72f49;--text:#242429;--muted:#5e5d65;--edge:#d6d6dc;--decor:#cbcbd2;--dark:#242429}
[data-palette="perla"]{--page:#f7f8fa;--surface:#fff;--tint:#eef0f3;--accent:#ba304c;--text:#25262b;--muted:#5c6069;--edge:#dce0e6;--decor:#e9bbc7;--dark:#25262b}
[data-palette="hielo"]{--page:#fff;--surface:#fffbfc;--tint:#fbeef2;--accent:#ae304f;--text:#26242a;--muted:#665860;--edge:#e6d6dd;--decor:#e4bac8;--dark:#26242a}
[data-palette="contraste"]{--page:#fff;--surface:#f7f7f8;--tint:#eeeef1;--accent:#ba2f49;--text:#202024;--muted:#626169;--edge:#dddde2;--decor:#f0c6d0;--dark:#202024}
[data-palette="crema-rojo"]{--page:#fffcf6;--surface:#fffefb;--tint:#f1ece4;--accent:#a93941;--text:#292724;--muted:#68615b;--edge:#e1d7cb;--decor:#dbbeb5;--dark:#292724}
[data-palette="acero"]{--page:#fbfdff;--surface:#fff;--tint:#e6edf1;--accent:#b82e49;--text:#24313a;--muted:#596773;--edge:#ccd8df;--decor:#b5c7d1;--dark:#24313a}
[data-palette="contraste"] .contact,[data-palette="contraste"] .cta{background:radial-gradient(circle at 98% 0,#753242 0 62px,transparent 63px),#28282c;border-color:#444;box-shadow:0 7px 0 #ddd}
[data-palette="contraste"] .contact h2,[data-palette="contraste"] .cta h2{color:#fff}
[data-palette="contraste"] .contact p,[data-palette="contraste"] .cta p{color:#e4dce0}
.palette-options{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
@media(min-width:641px){.palette-options{grid-template-columns:repeat(4,minmax(0,1fr))}}
.palette-options button:last-child{grid-column:auto}

[data-palette="rosa-negro"] .price-card h3{background:#171717;color:#fff;border-bottom-color:#171717}
[data-palette="rosa-negro"] .price-card h3 small{color:#fff}

[data-palette="rosa-negro"] .contact,[data-palette="rosa-negro"] .cta{background:radial-gradient(circle at 98% 0,#373035 0 62px,transparent 63px),repeating-linear-gradient(130deg,transparent 0 40px,#ffffff06 41px 43px),#171717;border-color:#292929;box-shadow:0 7px 0 #e6cad3}
[data-palette="rosa-negro"] .contact h2,[data-palette="rosa-negro"] .cta h2,[data-palette="rosa-negro"] .contact p,[data-palette="rosa-negro"] .cta p{color:#fff}
.benefits article{align-items:center}
.benefits .icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;background:var(--tint);border:1px solid var(--edge);border-radius:15px;color:var(--accent);line-height:1}
.benefits .icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.benefits article>div{min-width:0}
.benefits h2{line-height:1.5;margin-bottom:5px}
@media(max-width:640px){.benefits article{padding:18px 4px;gap:15px}.benefits .icon{flex-basis:46px;width:46px;height:46px}.benefits h2{font-size:12px}}

.christmas-control{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--edge);margin-top:20px;padding:20px 0 5px}
.christmas-control>div{display:flex;align-items:center;gap:13px}
.christmas-control b{display:block;font-size:14px}
.christmas-control small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.christmas-symbol{display:grid;place-items:center;color:#a33c4a;background:#fae2e6;border-radius:12px;width:40px;height:40px;font-size:28px}
.christmas-control button{width:50px;height:29px;flex:0 0 50px;border:1px solid var(--edge);border-radius:30px;background:var(--edge);padding:3px}
.christmas-control button span{display:block;width:21px;height:21px;background:white;border-radius:50%;box-shadow:0 1px 4px #0002;transition:transform .2s}
.christmas-control button[aria-checked="true"]{background:#236047;border-color:#236047}
.christmas-control button[aria-checked="true"] span{transform:translateX(20px)}
header,.header{position:relative}
.christmas-lights{display:none}
.christmas-on header,.christmas-on .header{padding-top:32px}
.christmas-on .christmas-lights{display:flex;justify-content:space-around;position:absolute;top:0;left:0;right:0;height:22px;border-top:2px solid #315b47;pointer-events:none}
.christmas-lights i{width:9px;height:13px;border-radius:3px 3px 8px 8px;background:#c74551;position:relative;margin-top:4px;box-shadow:0 2px 8px #c7455144;transform:rotate(12deg)}
.christmas-lights i:before{content:"";position:absolute;top:-5px;left:2px;width:5px;height:5px;background:#315b47}
.christmas-lights i:nth-child(3n){background:#d5a34f;box-shadow:0 2px 8px #d5a34f44;transform:rotate(-12deg)}
.christmas-lights i:nth-child(3n+2){background:#467e62;box-shadow:0 2px 8px #467e6244}
.christmas-on .home-cover,.christmas-on .intro{position:relative}
.christmas-on .home-cover:after,.christmas-on .intro:after{content:"✧  ✦  ✧";position:absolute;right:18px;top:15px;letter-spacing:10px;color:#af7730;font:25px/1 Georgia,serif;pointer-events:none;text-shadow:0 1px 3px white}
.christmas-on .product img{box-shadow:0 0 0 2px #ac4154,4px 5px 0 #cbdccc}
.christmas-on .contact,.christmas-on .cta{border-top:3px solid #467e62}
@media(prefers-reduced-motion:reduce){.christmas-control button span{transition:none}}

/* Seasonal effects use a bounded number of nodes and transform/opacity motion. */
.christmas-on .christmas-lights{position:fixed;top:0;left:0;right:0;z-index:75;height:26px;background:linear-gradient(#14271fd9,transparent);border-top:2px solid #355c46}
.christmas-on .christmas-lights i{--bulb:#ff4d68;background:var(--bulb);color:var(--bulb);width:10px;height:15px;box-shadow:0 0 8px currentColor,0 0 16px currentColor}
.christmas-on .christmas-lights i:nth-child(3n){--bulb:#ffda75}
.christmas-on .christmas-lights i:nth-child(3n+2){--bulb:#65d797}
.christmas-lights i:after{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(currentColor,transparent 68%);opacity:.15;animation:fv21-glow 3s ease-in-out infinite alternate}
.christmas-lights i:nth-child(even):after{animation-delay:-1.5s}
.christmas-on .shipping-banner{top:24px}
.christmas-on body{padding-top:24px}
.christmas-on header,.christmas-on .header{padding-top:22px}
.christmas-snow{display:none;position:fixed;inset:0;z-index:70;overflow:hidden;pointer-events:none}
.christmas-on .christmas-snow{display:block}
.christmas-snow i{position:absolute;top:-15px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff;box-shadow:0 0 2px #8495a9aa;opacity:.8;animation:fv21-snow var(--duration) var(--delay) linear infinite}
.elf-host{position:relative}
.christmas-elf{display:none;position:absolute;right:20px;top:-79px;width:80px;height:86px;z-index:5;pointer-events:none;overflow:hidden}
.christmas-elf svg{width:100%;height:100%;transform:translateY(105%);animation:fv21-elf 28s var(--elf-delay) ease-in-out infinite;transform-origin:bottom center}
.christmas-on .christmas-elf{display:block}
@keyframes fv21-glow{from{opacity:.08;transform:scale(.8)}to{opacity:.4;transform:scale(1.2)}}
@keyframes fv21-snow{from{transform:translate3d(0,-15px,0);opacity:0}8%{opacity:.8}90%{opacity:.8}to{transform:translate3d(var(--drift),calc(100vh + 20px),0);opacity:0}}
@keyframes fv21-elf{0%,12%,36%,100%{transform:translateY(105%)}17%,27%{transform:translateY(0) rotate(-4deg)}22%,31%{transform:translateY(0) rotate(4deg)}}
@media(max-width:640px){.christmas-elf{width:62px;height:68px;top:-61px;right:18px}.christmas-snow i:nth-child(n+15){display:none}.christmas-on .christmas-lights i{width:8px;height:12px}.christmas-on header{padding-top:17px}}
@media(prefers-reduced-motion:reduce){.christmas-snow{display:none!important}.christmas-lights i:after,.christmas-elf svg{animation:none}.christmas-elf svg{transform:translateY(0)}}

.shipping-banner{padding:14px 22px 18px;background:linear-gradient(110deg,#fff0f6,#ffd9e9);border-bottom:2px solid #ed8cb8}
.shipping-copy{display:none}
.shipping-banner button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,570px);background:#fff;color:#c20a62;border:1px solid #f2a3c6;padding:10px 13px 10px 22px;border-radius:60px;box-shadow:0 4px 0 #e98ab747,0 5px 16px #bc0d571c;font-size:16px}
.shipping-banner button .shipping-icon{margin:0;padding:0;flex:0 0 36px;width:36px;height:36px;background:transparent;box-shadow:none;transform:none;color:inherit;border-radius:0}
.shipping-icon svg{width:34px;height:34px;stroke-width:1.8}
.shipping-banner button .shipping-button-text{margin:0}
.shipping-banner button .shipping-arrow{margin:0;display:grid;place-items:center;background:#d10b6d;color:white;border-radius:50%;width:36px;height:36px;flex:0 0 36px;font:34px/1 Arial,sans-serif;padding-bottom:4px}
.shipping-banner button:hover{background:#fff9fc}
@media(max-width:640px){.shipping-banner{padding:12px 24px 16px}.shipping-banner button{font-size:13px;gap:12px;padding:9px 10px 9px 17px}.shipping-banner button .shipping-icon{flex-basis:30px;width:30px;height:30px}.shipping-icon svg{width:30px;height:30px}.shipping-banner button .shipping-arrow{width:30px;height:30px;flex-basis:30px;font-size:30px}}
