
:root{--bg:#F1F4EF;--ink:#133A2C;--muted:#5A6B63;--tag:#FFFFFF;--red:#D93B2B;--red-ink:#B32A1C;--gold:#F0B23C;--line:#D5DDD6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 "Figtree",system-ui,sans-serif}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
header.top{background:var(--ink);color:var(--bg)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.brand{font:700 21px/1 "Bricolage Grotesque",sans-serif;text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--gold)}
.countries{display:flex;gap:6px}
.countries a{font-size:14px;text-decoration:none;padding:6px 10px;border-radius:999px;border:1px solid rgba(241,244,239,.35)}
.countries a[aria-current]{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.banner{background:#FFF4DB;border-bottom:1px solid #F3D99A;font-size:14px}
.banner .wrap{padding-top:9px;padding-bottom:9px}
.hero{padding:34px 0 18px}
.hero h1{font:800 clamp(34px,8vw,64px)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.03em;margin:0 0 12px;max-width:16ch}
.hero p{margin:0;color:var(--muted);max-width:60ch}
.hint{margin-top:14px;font-size:14px}
.hint a{font-weight:600}
nav.niches{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px}
nav.niches a{text-decoration:none;font-weight:600;font-size:15px;padding:8px 14px;border-radius:999px;background:#E2E9E3}
nav.niches a[aria-current]{background:var(--ink);color:var(--bg)}
h2.section{font:800 28px/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;margin:34px 0 4px}
.more{display:inline-block;margin:2px 0 4px;font-weight:600}
.grid{display:grid;gap:26px 18px;grid-template-columns:1fr;padding:22px 0 10px}
@media(min-width:560px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1140px){.grid{grid-template-columns:repeat(4,1fr)}}
/* the gift tag */
.deal-wrap{filter:drop-shadow(0 6px 12px rgba(19,58,44,.13));scroll-margin-top:24px;display:flex}
.deal{position:relative;flex:1;background:var(--tag);padding:30px 16px 16px;display:flex;flex-direction:column;
  clip-path:polygon(28px 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%,0 28px)}
.deal::before{content:"";position:absolute;top:12px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;
  background:var(--bg);box-shadow:inset 0 0 0 2px var(--line)}
.deal-wrap:target{filter:drop-shadow(0 0 2px var(--gold)) drop-shadow(0 0 2px var(--gold)) drop-shadow(0 10px 24px rgba(240,178,60,.5))}
.deal-wrap:target .deal{background:#FFF9EA}
.deal .pic{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#F3F3F1;margin:6px 0 14px}
.deal .pic img{width:100%;height:100%;object-fit:cover;display:block}
.off{position:absolute;top:44px;right:6px;background:var(--red);color:#fff;font:800 17px/1 "Bricolage Grotesque",sans-serif;
  padding:9px 10px;border-radius:999px;transform:rotate(8deg)}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price b{font:800 34px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.price s{color:var(--muted);font-size:16px}
.deal h3{font-size:16px;font-weight:600;line-height:1.35;margin:8px 0 6px}
.facts{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:0 0 14px;padding:0;list-style:none}
.facts .star{color:#B77A00}
.buy{margin-top:auto;display:block;text-align:center;background:var(--red);color:#fff;text-decoration:none;font-weight:700;
  padding:13px 14px;border-radius:12px}
.buy:hover{background:var(--red-ink)}
.updated{font-size:14px;color:var(--muted);margin-top:10px}
footer{margin-top:48px;padding:28px 0 40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
footer p{max-width:70ch;margin:0 0 10px}
.empty{padding:40px 0;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.deal-wrap:target{animation:pop .9s ease-out 1}
  @keyframes pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}100%{transform:scale(1)}}}

/* ---- Christmas theme (site.theme in settings.yaml) ---- */
:root{--bg:#F7F1E3;--paper:#FFFCF5;--ink:#123B2B;--pine:#0F3A2A;--muted:#5E6B5F;--red:#9E2A2B;--red-ink:#7F1F21;
  --gold:#C9A04A;--gold-soft:#E8D3A0;--line:#E3D7BC;--tag:#FFFCF5}
body{background-color:var(--bg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cg fill='%23C9A04A' fill-opacity='.35'%3E%3Cpath d='M30 20l2 5 5 2-5 2-2 5-2-5-5-2 5-2z'/%3E%3Cpath d='M140 60l1.5 4 4 1.5-4 1.5-1.5 4-1.5-4-4-1.5 4-1.5z'/%3E%3Cpath d='M90 140l1.5 4 4 1.5-4 1.5-1.5 4-1.5-4-4-1.5 4-1.5z'/%3E%3Ccircle cx='160' cy='150' r='1.6'/%3E%3Ccircle cx='60' cy='95' r='1.3'/%3E%3C/g%3E%3C/svg%3E")}
.hero h1,h2.section,.brand,.price b{font-family:"Playfair Display",Georgia,serif}
header.top{background:var(--pine);border-bottom:3px solid var(--gold)}
header.top .wrap{min-height:66px}
.brand{font-weight:800;font-size:24px;letter-spacing:.01em}
.brand span{font-family:"Parisienne",cursive;font-weight:400;font-size:30px;color:var(--gold-soft);margin-left:2px}
.countries a{border-color:rgba(232,211,160,.45);color:var(--gold-soft)}
.countries a[aria-current]{background:var(--gold-soft);color:var(--pine);border-color:var(--gold-soft)}
.garland{height:46px;margin-top:-3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='46' viewBox='0 0 240 46'%3E%3Cpath d='M0 6Q120 38 240 6' fill='none' stroke='%230B2E21' stroke-width='13' stroke-linecap='round'/%3E%3Cpath d='M0 6Q120 38 240 6' fill='none' stroke='%232F6B4C' stroke-width='15' stroke-dasharray='1 3' stroke-linecap='round'/%3E%3Cpath d='M0 6Q120 38 240 6' fill='none' stroke='%23477F5E' stroke-width='9' stroke-dasharray='1 5'/%3E%3Cg fill='%23B3262A'%3E%3Ccircle cx='28' cy='14' r='3.4'/%3E%3Ccircle cx='34' cy='11' r='3'/%3E%3Ccircle cx='31' cy='18' r='2.6'/%3E%3Ccircle cx='208' cy='14' r='3.4'/%3E%3Ccircle cx='214' cy='11' r='3'/%3E%3Ccircle cx='211' cy='18' r='2.6'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M60 18v6M120 22v8M180 18v6' stroke='%23856A2E' stroke-width='1.2'/%3E%3Cellipse cx='60' cy='28' rx='3.6' ry='5' fill='%23E9B949'/%3E%3Cellipse cx='120' cy='34' rx='3.8' ry='5.4' fill='%23C0392B'/%3E%3Cellipse cx='180' cy='28' rx='3.6' ry='5' fill='%23E9B949'/%3E%3Cellipse cx='90' cy='26' rx='2.8' ry='3.8' fill='%232E7D5B'/%3E%3Cellipse cx='150' cy='26' rx='2.8' ry='3.8' fill='%232E7D5B'/%3E%3C/g%3E%3C/svg%3E") repeat-x top center;
  pointer-events:none}
.banner{background:var(--red);color:#FBEFD9;border:0;text-align:center;font-weight:600;letter-spacing:.01em}
.banner .wrap{padding-top:10px;padding-bottom:10px}
.hero{padding:26px 0 14px;text-align:center}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 "Figtree",sans-serif;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold)}
.hero .eyebrow::before,.hero .eyebrow::after{content:"";width:46px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='12'%3E%3Cpath d='M2 6h30' stroke='%23C9A04A' stroke-width='1.2'/%3E%3Cpath d='M10 6q3-5 7-4M18 6q3-5 7-4M26 6q3-5 7-4M10 6q3 5 7 4M18 6q3 5 7 4M26 6q3 5 7 4' stroke='%23C9A04A' fill='none' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='6' r='2' fill='%23C9A04A'/%3E%3C/svg%3E") no-repeat center}
.hero .eyebrow::after{transform:scaleX(-1)}
.hero h1{font-weight:800;color:var(--pine);letter-spacing:-.01em;margin:14px auto 0;max-width:18ch;font-size:clamp(36px,7.5vw,68px);line-height:1.02}
.hero .script{display:block;font:400 clamp(34px,6.5vw,58px)/1.15 "Parisienne",cursive;color:var(--red);margin:2px 0 6px}
.hero p{margin-left:auto;margin-right:auto}
.hero .divider{width:min(420px,80%);margin:14px auto 12px;border-top:2px dotted var(--gold)}
.hint{text-align:center}
nav.niches{justify-content:center;margin-top:22px}
nav.niches a{background:var(--paper);border:1.5px solid var(--line);color:var(--pine)}
nav.niches a:hover{border-color:var(--gold)}
nav.niches a[aria-current]{background:var(--red);border-color:var(--red);color:#FBEFD9}
h2.section{font-weight:800;color:var(--pine);font-size:clamp(26px,4vw,34px);display:flex;align-items:center;gap:12px;margin-top:44px}
h2.section::before{content:"";flex:none;width:34px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 30'%3E%3Cpath d='M17 15C12 8 4 9 2 4c6 1 9-2 15 4C15 2 21 1 22 0c0 5 5 7 10 6-3 5-11 4-15 9z' fill='%232F6B4C'/%3E%3Ccircle cx='15' cy='18' r='3.6' fill='%23B3262A'/%3E%3Ccircle cx='21' cy='19' r='3.2' fill='%23B3262A'/%3E%3Ccircle cx='18' cy='23.5' r='3' fill='%23B3262A'/%3E%3C/svg%3E") no-repeat center/contain}
.more{color:var(--red);text-decoration-color:var(--gold);text-underline-offset:4px}
.deal-wrap{filter:drop-shadow(0 8px 16px rgba(60,40,10,.13))}
.deal{background:var(--paper);padding-top:34px;border-top:0}
.deal::before{background:var(--bg);box-shadow:inset 0 0 0 2px var(--gold-soft)}
.deal::after{content:"";position:absolute;top:0;left:50%;width:2px;height:13px;margin-left:-1px;background:#B08A55}
.deal .pic{border-radius:8px;background:#F3EDE0;box-shadow:inset 0 0 0 1px var(--line)}
.off{background:var(--red);color:#FBEFD9;border:2px solid var(--gold-soft);font-family:"Playfair Display",serif;font-weight:800;
  box-shadow:0 0 0 3px var(--red)}
.price b{color:var(--pine);font-weight:800}
.deal h3{font-family:"Figtree",sans-serif;color:var(--ink)}
.facts .star{color:var(--gold)}
.buy{position:relative;background:var(--red);color:#FBEFD9;border-radius:0;font-family:"Playfair Display",serif;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px;padding:13px 22px;
  clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%,12px 50%)}
.buy:hover{background:var(--red-ink)}
.deal-wrap:target .deal{background:#FFF6DF}
footer{background:var(--pine);color:#D9D2BC;border-top:3px solid var(--gold);margin-top:64px}
footer strong{color:var(--gold-soft)}
.snow{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.55;
  background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 120px 80px,#fff,transparent),
  radial-gradient(1.5px 1.5px at 200px 160px,#fff,transparent),radial-gradient(2.5px 2.5px at 60px 200px,#fff,transparent),
  radial-gradient(1.5px 1.5px at 260px 240px,#fff,transparent);background-size:300px 300px}
main,footer,header,.banner{position:relative;z-index:1}
@media(prefers-reduced-motion:no-preference){.snow{animation:snow 22s linear infinite}
  @keyframes snow{from{background-position:0 0}to{background-position:60px 300px}}}
@media(max-width:560px){.brand{font-size:21px}.brand span{font-size:26px}.hero .eyebrow{letter-spacing:.14em;font-size:12px}.hero .eyebrow::before,.hero .eyebrow::after{width:26px}.garland{height:36px;background-size:190px 36px}}
