/* Christmas ribbon: quiet, button-free and in normal flow above the header. */
.xmas-banner{position:relative;isolation:isolate;background:#3c252b;color:#fff6e9;border-bottom:1px solid #bd9f79;font-family:Inter,Arial,sans-serif}
.xmas-banner:before,.xmas-banner:after{content:"";position:absolute;pointer-events:none;z-index:-1;top:10px;bottom:10px;width:40px;border-top:1px solid #94735b;border-bottom:1px solid #94735b;opacity:.7}
.xmas-banner:before{left:10px;border-left:1px solid #94735b}
.xmas-banner:after{right:10px;border-right:1px solid #94735b}
.xmas-banner-inner{max-width:1336px;margin:0 auto;padding:18px 26px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 14px}
.xmas-banner-message{min-width:0}
.xmas-kicker{display:block;font-size:9px;line-height:1.4;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#e3c29b;margin-bottom:5px}
.xmas-title{display:block;max-width:230px;font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:500;line-height:1.02;color:#fff6e9}





.xmas-banner-offer{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 12px;padding-top:10px;border-top:1px solid #866456;font-size:10px;line-height:1.4}
.xmas-code{color:#f0d2ab;white-space:nowrap}
.xmas-code b{margin-left:7px;font-size:13px;font-weight:600;letter-spacing:.18em;color:#fff6e9}
.xmas-until{color:#e3c29b;white-space:nowrap}
@media(min-width:600px){
 .xmas-banner-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:28px;padding:20px 36px}
 .xmas-title{max-width:300px;font-size:30px}
 .xmas-kicker{font-size:9px}
 
 
 
 
 .xmas-banner-offer{grid-column:auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;border-top:0;border-left:1px solid #866456;padding:8px 0 8px 24px;font-size:10px}
 .xmas-code b{display:block;margin:3px 0 0;font-size:18px}
}
@media(min-width:1000px){
 .xmas-banner-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:54px;padding:21px 58px}
 .xmas-title{max-width:none;font-size:36px;line-height:1.08}
 .xmas-kicker{font-size:10px;margin-bottom:5px}
 
 
 
 
 .xmas-banner-offer{padding-left:40px;font-size:11px}
 .xmas-code b{display:inline;margin-left:8px;font-size:18px}
}
.discount-field{min-width:0}
.discount-field label span{font-weight:400}
.discount-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.discount-controls input{flex:1 1 130px;min-width:0;width:100%;text-transform:uppercase}
.discount-controls .button{flex:0 0 auto;min-height:44px;border-radius:0;background:#f4eee6;color:#302923;border:1px solid #76624c;cursor:pointer}
.discount-controls .button:hover{background:#e7dccd;color:#302923}
.discount-controls :focus-visible{outline:2px solid #76624c;outline-offset:3px}
.discount-status{font-size:13px;line-height:1.5;color:#514638;margin:10px 0 0}
.discount-controls input[aria-invalid="true"]{border-color:#963c30}
.discount-breakdown{width:100%;border-bottom:1px solid #b6a895;padding-bottom:12px;margin-bottom:8px;font-size:14px;color:#514638}
.discount-breakdown[hidden]{display:none}
.discount-breakdown>div{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.discount-breakdown>div>span:last-child{white-space:nowrap}

.xmas-subtitle{display:block;margin-top:7px;color:#e3c29b;font-size:11px;line-height:1.4}


@media(min-width:600px){.xmas-subtitle{font-size:12px}}

.xmas-banner .xmas-shop-link{display:inline-flex;align-items:center;min-height:44px;color:#fff6e9;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;line-height:1.4}
.xmas-banner .xmas-shop-link:hover{color:#f0d2ab}
.xmas-banner .xmas-shop-link:focus-visible{outline:2px solid #f0d2ab;outline-offset:4px}

.xmas-title,.xmas-subtitle,.xmas-kicker{overflow-wrap:anywhere}

/* Festive typography: readable lining figures and a raised percent sign. */
.xmas-banner-saving{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#f4d8ae;min-width:78px}
.xmas-banner-saving strong{display:inline-flex;align-items:flex-start;font-family:Inter,Arial,sans-serif;font-size:50px;font-weight:600;font-variant-numeric:lining-nums;line-height:1;letter-spacing:0;white-space:nowrap}
.xmas-banner-saving strong>span{font-size:25px;font-weight:500;line-height:1;margin:5px 0 0 6px;letter-spacing:0}
.xmas-banner-saving>span{display:block;color:#fff6e9;line-height:1;text-align:center}
.xmas-banner-saving>span>b{display:block;border-top:1px solid #bd9f79;padding-top:8px;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.13em;text-transform:uppercase}
@media(min-width:600px){.xmas-banner-saving strong{font-size:58px}.xmas-banner-saving strong>span{font-size:25px;margin-top:4px}.xmas-banner-saving>span>b{font-size:10px}}
@media(min-width:1000px){.xmas-banner-saving{min-width:110px}.xmas-banner-saving strong{font-size:64px}.xmas-banner-saving strong>span{font-size:29px;margin-top:5px}.xmas-banner-saving>span>b{font-size:10px}}
/* A warm glow and quiet starlight, no animation. */
.xmas-banner{background-color:#3c202b;background-image:radial-gradient(ellipse at 5% 0%,rgba(197,143,77,.21),transparent 52%),radial-gradient(ellipse at 98% 100%,rgba(184,128,68,.22),transparent 48%),linear-gradient(115deg,#44242f 0%,#341c28 52%,#4c2632 100%)}
.xmas-banner:before{inset:9px;width:auto;border:1px solid rgba(221,184,132,.25);opacity:1}
.xmas-banner:after{content:"✧";top:0;bottom:auto;right:17px;width:70px;height:100%;border:0;color:#efd0a0;font-family:Georgia,serif;font-size:78px;line-height:1.2;opacity:.13;transform:none}
.xmas-banner-inner{position:relative}
@media(min-width:1000px){.xmas-banner:after{right:25px;width:110px;font-size:112px;opacity:.17}.xmas-banner:before{background-image:radial-gradient(circle at 2% 28%,rgba(241,210,167,.65) 0 1px,transparent 2px),radial-gradient(circle at 96% 76%,rgba(241,210,167,.55) 0 1px,transparent 2px),radial-gradient(circle at 99% 23%,rgba(241,210,167,.5) 0 1px,transparent 2px)}}

/* Narrow-screen refinement: generous figure spacing, readable details, clear ornament. */
.xmas-banner:after{top:12px;right:14px;bottom:auto;width:16px;height:16px;font-size:16px;line-height:1;opacity:.55}
.xmas-banner-inner{gap:12px 20px}
.xmas-subtitle{font-size:13px}
.xmas-banner-offer{font-size:12px;line-height:1.5}
.xmas-code b{font-size:15px}
.xmas-title{font-size:24px;line-height:1.1}
@media(min-width:600px){.xmas-title{font-size:30px}.xmas-subtitle{font-size:13px}.xmas-banner-offer{font-size:12px}.xmas-code b{font-size:18px}}
@media(min-width:1000px){.xmas-banner-inner{gap:44px}.xmas-title{font-size:36px}.xmas-banner:after{right:26px;top:14px;font-size:18px;width:18px;height:18px;opacity:.55}}
