/* Vyloxe — Vintage Christmas Market
 * cmd44 第 12 站, 跟其他 11 站错开: 没人用过深松绿底+金箔+浆果红节日感
 * palette: 深松绿底 (整站翻深) + 奶油 + 浆果红 + 金箔 + 深褐
 * typo: Playfair Display (display) + Lora (body, 衬线复古感)
 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,600&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root{
  --pine: #16281d;         /* 深松绿底 */
  --pine-dark: #0e1b14;    /* 更深松绿 */
  --pine-mid: #1f3d2b;     /* 中松绿 (原模板 CTA) */
  --pine-light: #2d5540;   /* 浅松绿 */
  --cream: #f3e4c3;        /* 奶油 */
  --cream-pale: #faf1dc;   /* 米白奶油 */
  --cream-dark: #e2cfa4;
  --berry: #a52030;        /* 浆果红 */
  --berry-dark: #7a151e;
  --berry-bright: #c0392b; /* 原模板红 */
  --gold: #d4a855;         /* 金箔 */
  --gold-dark: #a68340;
  --gold-pale: #e8c67e;
  --ink: #1a0f06;          /* 深棕黑 */
  --ink-mute: #6a5844;     /* 褪色褐 */
  --paper: #faf1dc;        /* 奶油纸底 (轻区域) */
  --sage: #889a7b;         /* 冷鼠尾草 */
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--pine)}
body{
  font-family:'Lora','Georgia',serif;
  color:var(--cream);
  background:var(--pine);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.display,h1,h2,h3,.brand{font-family:'Playfair Display','Georgia',serif;letter-spacing:-0.015em;line-height:1.05;font-weight:700}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ========== decorative garland (全局 top line) ========== */
body::before{
  content:"✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦";
  display:block;background:var(--berry);color:var(--gold-pale);
  text-align:center;letter-spacing:0.4em;font-size:11px;
  padding:7px 0 6px;font-family:'Playfair Display',serif;font-weight:600;
  white-space:nowrap;overflow:hidden;
  box-shadow:inset 0 -2px 0 var(--gold);
}

/* ========== nav 复古框 ========== */
nav{
  background:var(--pine-dark);
  border-bottom:1px solid var(--gold-dark);
  padding:20px 36px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;
  box-shadow:0 2px 24px rgba(0,0,0,0.3);
}
nav .brand{
  font-family:'Playfair Display',serif;
  font-weight:800;font-size:30px;letter-spacing:-0.02em;
  color:var(--cream);
  display:inline-flex;align-items:baseline;gap:10px;
  font-style:italic;
}
nav .brand::before{
  content:"✦";color:var(--gold);font-size:20px;font-style:normal;
  margin-right:2px;
}
nav .brand::after{
  content:"est. 2026";font-family:'Lora',serif;font-style:italic;
  font-size:11px;color:var(--sage);letter-spacing:0.15em;font-weight:400;
  margin-left:4px;
}
nav .links{display:flex;gap:34px;font-family:'Lora',serif;font-size:14px;letter-spacing:0.08em;align-items:center;font-weight:500;font-style:italic}
nav .links a{color:var(--cream);transition:color .15s;position:relative;padding:4px 0}
nav .links a:hover{color:var(--gold)}
nav .links a:not(.cart-link)::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:var(--gold);transform:scaleX(0);transition:transform .25s;
  transform-origin:left;
}
nav .links a:not(.cart-link):hover::after{transform:scaleX(1)}
nav .cart-link{
  position:relative;padding:8px 18px;
  border:1px solid var(--gold);background:transparent;
  letter-spacing:0.18em;text-transform:uppercase;font-size:11px;font-style:normal;font-weight:600;
}
nav .cart-link:hover{background:var(--gold);color:var(--pine-dark)}
nav .cart-count{
  position:absolute;top:-9px;right:-10px;
  background:var(--berry);color:var(--cream);
  font-size:10px;padding:3px 7px;border-radius:50%;
  font-family:'Lora',serif;font-weight:700;
  border:1px solid var(--gold);min-width:20px;text-align:center;
}

/* ========== hero 节日橱窗 ========== */
.hero{
  position:relative;overflow:hidden;
  padding:0;max-width:none;margin:0 auto;background:
    radial-gradient(ellipse at 20% 10%, rgba(212,168,85,0.08), transparent 50%),
    radial-gradient(ellipse at 80% 70%, rgba(165,32,48,0.08), transparent 55%),
    var(--pine);
  text-align:left;
}
.hero-inner{
  max-width:1200px;margin:0 auto;
  padding:120px 36px 100px;
  position:relative;z-index:2;
  text-align:center;
}
.hero .ribbon{
  display:inline-block;background:var(--berry);color:var(--cream);
  padding:6px 20px 5px;margin-bottom:32px;
  font-family:'Lora',serif;font-size:11px;letter-spacing:0.3em;
  text-transform:uppercase;font-weight:600;
  position:relative;font-style:italic;
}
.hero .ribbon::before,.hero .ribbon::after{
  content:"";position:absolute;top:0;bottom:0;width:12px;
  background:var(--berry);
}
.hero .ribbon::before{left:-10px;clip-path:polygon(0 50%, 100% 0, 100% 100%)}
.hero .ribbon::after{right:-10px;clip-path:polygon(100% 50%, 0 0, 0 100%)}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:84px;line-height:1.02;letter-spacing:-0.025em;
  font-weight:800;color:var(--cream);
  margin-bottom:28px;max-width:900px;margin-left:auto;margin-right:auto;
}
.hero h1 em{font-style:italic;color:var(--gold-pale);font-weight:600}
.hero h1 .berry{color:var(--berry-bright);font-style:italic;font-weight:700}
.hero h1 .ornament{
  display:inline-block;color:var(--gold);font-weight:400;font-style:normal;
  margin:0 10px;transform:translateY(-4px);
}
.hero p.lead{
  font-family:'Lora',serif;font-size:19px;line-height:1.75;
  color:var(--cream-dark);max-width:620px;margin:0 auto 44px;
  font-weight:400;font-style:italic;
}
.hero .cta-row{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.hero a.cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--berry);color:var(--cream);
  padding:18px 36px;font-family:'Lora',serif;font-weight:600;font-size:13px;
  letter-spacing:0.25em;text-transform:uppercase;
  border:1px solid var(--gold);transition:all .25s;
}
.hero a.cta:hover{background:var(--gold);color:var(--pine-dark);border-color:var(--gold)}
.hero a.cta-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--cream);
  padding:18px 28px;border:1px solid var(--cream);
  font-family:'Lora',serif;font-weight:500;font-size:13px;letter-spacing:0.25em;text-transform:uppercase;
  transition:all .25s;
}
.hero a.cta-ghost:hover{background:var(--cream);color:var(--pine-dark)}

/* floating ornaments */
.hero .orn{position:absolute;z-index:1;opacity:0.6;pointer-events:none;font-family:'Playfair Display',serif}
.hero .orn-1{top:60px;left:8%;font-size:52px;color:var(--berry);transform:rotate(-18deg)}
.hero .orn-2{top:120px;right:10%;font-size:72px;color:var(--gold);transform:rotate(14deg)}
.hero .orn-3{bottom:80px;left:12%;font-size:44px;color:var(--sage);transform:rotate(28deg)}
.hero .orn-4{bottom:140px;right:14%;font-size:38px;color:var(--cream-dark);transform:rotate(-22deg)}

/* ========== section head ========== */
.section-head{
  max-width:1200px;margin:72px auto 0;padding:0 36px 44px;
  text-align:center;position:relative;
}
.section-head::before,.section-head::after{
  content:"";display:inline-block;width:60px;height:1px;background:var(--gold);
  vertical-align:middle;margin:0 24px;
}
.section-head .num{
  display:inline-block;font-family:'Playfair Display',serif;
  color:var(--gold);font-style:italic;font-weight:400;font-size:14px;
  letter-spacing:0.3em;text-transform:uppercase;vertical-align:middle;
}
.section-head h2{
  font-family:'Playfair Display',serif;font-size:52px;font-weight:800;
  color:var(--cream);margin-top:18px;letter-spacing:-0.02em;line-height:1.08;
}
.section-head h2 em{font-style:italic;color:var(--gold-pale);font-weight:600}
.section-head h2 .berry{color:var(--berry-bright);font-style:italic;font-weight:700}
.section-head .sub{
  display:block;font-family:'Lora',serif;font-style:italic;
  color:var(--cream-dark);font-size:16px;margin-top:14px;font-weight:400;
}

/* ========== 7 件 editorial 节日橱窗布局 ========== */
.spec-grid{
  max-width:1200px;margin:0 auto;padding:0 36px 72px;
  display:grid;grid-template-columns:repeat(12,1fr);gap:28px;
}
.spec-grid .card{
  background:var(--pine-dark);border:1px solid var(--gold-dark);
  overflow:hidden;transition:all .3s;position:relative;
  display:flex;flex-direction:column;grid-column:span 4;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.spec-grid .card:hover{border-color:var(--gold);box-shadow:0 10px 30px rgba(0,0,0,0.4);transform:translateY(-4px)}
.spec-grid .card img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--pine-light);transition:transform .4s}
.spec-grid .card:hover img{transform:scale(1.03)}
.spec-grid .card .tag{
  position:absolute;top:16px;right:16px;z-index:3;
  background:var(--berry);color:var(--cream);
  padding:5px 10px 4px;font-family:'Lora',serif;font-size:10px;font-weight:600;
  letter-spacing:0.2em;text-transform:uppercase;font-style:italic;
  border:1px solid var(--gold);
}
.spec-grid .card .tag.gold{background:var(--gold);color:var(--pine-dark)}
.spec-grid .card .tag.cream{background:var(--cream);color:var(--pine-dark);border-color:var(--pine-dark)}
.spec-grid .card .info{padding:26px 24px 28px;flex:1;display:flex;flex-direction:column}
.spec-grid .card .code{
  font-family:'Lora',serif;font-size:10px;color:var(--gold);
  letter-spacing:0.3em;text-transform:uppercase;font-weight:600;margin-bottom:10px;font-style:italic;
}
.spec-grid .card .name{
  font-family:'Playfair Display',serif;font-size:24px;font-weight:700;
  color:var(--cream);line-height:1.15;margin-bottom:6px;letter-spacing:-0.015em;
}
.spec-grid .card .color{font-family:'Lora',serif;font-size:13px;color:var(--sage);letter-spacing:0.05em;margin-bottom:18px;font-style:italic;font-weight:400}
.spec-grid .card .price-row{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid var(--gold-dark);margin-top:auto}
.spec-grid .card .price{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--gold-pale);letter-spacing:-0.02em}
.spec-grid .card .add{font-family:'Lora',serif;font-size:11px;color:var(--cream);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;font-style:italic;align-self:center;transition:color .2s}
.spec-grid .card:hover .add{color:var(--gold)}

/* 第 1 件 full-width editorial banner */
.spec-grid .card:nth-child(1){
  grid-column:span 12;display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;
  background:linear-gradient(135deg, var(--pine-dark) 0%, var(--pine) 100%);
  border-color:var(--gold);
}
.spec-grid .card:nth-child(1) img{aspect-ratio:auto;height:100%;min-height:480px}
.spec-grid .card:nth-child(1) .info{padding:60px 56px;justify-content:center;position:relative}
.spec-grid .card:nth-child(1) .info::before{
  content:"❆";position:absolute;top:40px;right:50px;font-size:48px;color:var(--gold);opacity:0.4;font-family:'Playfair Display',serif;
}
.spec-grid .card:nth-child(1) .tag{top:40px;left:40px;right:auto;font-size:11px;padding:7px 14px}
.spec-grid .card:nth-child(1) .code{font-size:11px;margin-bottom:20px;margin-top:30px}
.spec-grid .card:nth-child(1) .name{font-size:48px;margin-bottom:14px;line-height:1.08}
.spec-grid .card:nth-child(1) .color{font-size:15px;margin-bottom:24px}
.spec-grid .card:nth-child(1) .pitch{
  font-family:'Lora',serif;font-style:italic;font-size:17px;color:var(--cream-dark);
  line-height:1.75;margin:0 0 28px;max-width:460px;font-weight:400;
}
.spec-grid .card:nth-child(1) .price{font-size:36px}
.spec-grid .card:nth-child(1) .add{font-size:12px}
.spec-grid .card:nth-child(1) .price-row{border-top-color:var(--gold)}

/* 第 2-3 件 6 列 */
.spec-grid .card:nth-child(2),.spec-grid .card:nth-child(3){grid-column:span 6}
.spec-grid .card:nth-child(2) img,.spec-grid .card:nth-child(3) img{aspect-ratio:4/3}
.spec-grid .card:nth-child(2) .name,.spec-grid .card:nth-child(3) .name{font-size:30px}

/* 第 4-7 件 3 列 */
.spec-grid .card:nth-child(n+4){grid-column:span 3}

/* ========== bottom cards (season promise) ========== */
.season-row{
  max-width:1200px;margin:0 auto 80px;padding:0 36px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.season-row .cell{
  background:var(--pine-dark);padding:40px 32px;border:1px solid var(--gold-dark);
  text-align:center;position:relative;
}
.season-row .cell::before{
  content:"";position:absolute;top:-1px;left:30%;right:30%;height:3px;background:var(--berry);
}
.season-row .cell:nth-child(2)::before{background:var(--gold)}
.season-row .cell:nth-child(3)::before{background:var(--sage)}
.season-row .icon{font-size:36px;color:var(--gold);margin-bottom:14px;font-family:'Playfair Display',serif}
.season-row .cell h3{
  font-family:'Playfair Display',serif;font-size:22px;color:var(--cream);
  margin-bottom:10px;font-weight:700;letter-spacing:-0.01em;
}
.season-row .cell h3 em{font-style:italic;color:var(--gold-pale)}
.season-row .cell p{
  font-family:'Lora',serif;font-size:14px;line-height:1.7;
  color:var(--cream-dark);font-style:italic;font-weight:400;
}

/* ========== shop/grid 一般列表 ========== */
.grid{
  max-width:1200px;margin:0 auto;padding:48px 36px 80px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;
}
.grid > .card{
  background:var(--pine-dark);border:1px solid var(--gold-dark);
  overflow:hidden;transition:all .3s;
  display:flex;flex-direction:column;position:relative;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.grid > .card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,0.4)}
.grid > .card img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--pine-light);transition:transform .4s}
.grid > .card:hover img{transform:scale(1.03)}
.grid > .card .info{padding:20px 20px 22px}
.grid > .card .name{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;margin-bottom:4px;color:var(--cream);line-height:1.2}
.grid > .card .color{font-family:'Lora',serif;font-size:12px;color:var(--sage);margin-bottom:12px;font-style:italic;font-weight:400}
.grid > .card .price{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:var(--gold-pale);padding-top:12px;border-top:1px solid var(--gold-dark);letter-spacing:-0.01em}

/* "view all" CTA 下面 */
.view-all{text-align:center;padding:0 36px 80px;max-width:1200px;margin:0 auto}
.view-all a{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;color:var(--cream);
  padding:16px 36px;border:1px solid var(--gold);
  font-family:'Lora',serif;font-weight:500;font-size:12px;
  letter-spacing:0.3em;text-transform:uppercase;transition:all .25s;font-style:italic;
}
.view-all a:hover{background:var(--gold);color:var(--pine-dark)}

/* ========== product detail ========== */
.pd{max-width:1200px;margin:0 auto;padding:72px 36px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.pd .pd-img{background:var(--pine-light);border:1px solid var(--gold-dark);padding:20px}
.pd img{width:100%;height:100%;object-fit:cover;background:var(--pine-light);min-height:460px}
.pd .pd-info{padding:30px 0;display:flex;flex-direction:column;justify-content:center;position:relative}
.pd .pd-info::before{
  content:"✦";position:absolute;top:-10px;left:-30px;font-size:28px;color:var(--gold);font-family:'Playfair Display',serif;
}
.pd .pd-sku{font-family:'Lora',serif;font-size:11px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;font-style:italic;font-weight:600}
.pd .name{font-family:'Playfair Display',serif;font-size:52px;font-weight:800;line-height:1.08;margin-bottom:18px;color:var(--cream);letter-spacing:-0.02em}
.pd .price{font-family:'Playfair Display',serif;font-size:36px;font-weight:700;color:var(--gold-pale);margin-bottom:28px;letter-spacing:-0.02em}
.pd .desc{color:var(--cream-dark);margin-bottom:32px;line-height:1.8;font-size:16px;font-family:'Lora',serif;font-style:italic;max-width:460px}
.pd label{display:block;font-family:'Lora',serif;font-size:11px;color:var(--gold);margin-bottom:7px;text-transform:uppercase;letter-spacing:0.3em;font-weight:600;font-style:italic}
.pd select,.pd input[type=number]{width:100%;padding:14px 14px;border:1px solid var(--gold-dark);border-radius:0;font-size:14px;background:var(--pine-dark);color:var(--cream);font-family:'Lora',serif}
.pd select:focus,.pd input:focus{outline:none;border-color:var(--gold)}
.pd .row{display:flex;gap:14px;margin-bottom:22px}
.pd .row > *{flex:1}
.pd button{width:100%;background:var(--berry);color:var(--cream);padding:18px;font-family:'Lora',serif;font-size:12px;letter-spacing:0.3em;text-transform:uppercase;border:1px solid var(--gold);border-radius:0;cursor:pointer;margin-top:14px;font-weight:600;transition:all .25s;font-style:italic}
.pd button:hover{background:var(--gold);color:var(--pine-dark);border-color:var(--gold)}

/* ========== cart / checkout / thankyou ========== */
.page{max-width:900px;margin:0 auto;padding:60px 36px}
.page h2{font-family:'Playfair Display',serif;font-size:48px;margin-bottom:28px;font-weight:800;color:var(--cream);letter-spacing:-0.02em}
.cart-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--gold-dark);align-items:center}
.cart-item img{width:92px;height:92px;object-fit:cover;border:1px solid var(--gold-dark);background:var(--pine-light)}
.cart-item .info{flex:1}
.cart-item .name{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;margin-bottom:4px;color:var(--cream)}
.cart-item .model{font-family:'Lora',serif;font-size:12px;color:var(--sage);letter-spacing:0.1em;font-style:italic}
.cart-item .qty{font-family:'Lora',serif;font-size:14px;color:var(--cream-dark)}
.cart-item .price{font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-pale);font-size:18px}
.cart-item .rm{font-family:'Lora',serif;color:var(--berry-bright);font-size:11px;cursor:pointer;margin-left:12px;letter-spacing:0.15em;text-transform:uppercase;font-style:italic;font-weight:500}
.cart-summary{margin-top:36px;padding:28px;background:var(--pine-dark);border:1px solid var(--gold-dark)}
.cart-summary .line{display:flex;justify-content:space-between;padding:7px 0;color:var(--cream-dark);font-family:'Lora',serif;font-size:14px}
.cart-summary .total{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;padding-top:14px;border-top:1px solid var(--gold-dark);margin-top:10px;color:var(--gold-pale);letter-spacing:-0.01em}
.cart-summary button{width:100%;background:var(--berry);color:var(--cream);padding:16px;margin-top:20px;font-family:'Lora',serif;font-size:12px;text-transform:uppercase;letter-spacing:0.3em;border:1px solid var(--gold);border-radius:0;cursor:pointer;font-style:italic;font-weight:600;transition:all .25s}
.cart-summary button:hover{background:var(--gold);color:var(--pine-dark);border-color:var(--gold)}

/* checkout */
.co-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px;margin-top:28px}
.co-form{background:var(--pine-dark);padding:32px;border:1px solid var(--gold-dark)}
.co-form h3{font-family:'Playfair Display',serif;font-size:22px;margin-bottom:12px;font-weight:700;color:var(--cream);letter-spacing:-0.01em}
.co-form label{display:block;font-family:'Lora',serif;font-size:11px;color:var(--gold);margin-bottom:6px;margin-top:14px;text-transform:uppercase;letter-spacing:0.25em;font-weight:600;font-style:italic}
.co-form input,.co-form select{width:100%;padding:12px 14px;border:1px solid var(--gold-dark);border-radius:0;font-size:14px;background:var(--pine);color:var(--cream);font-family:'Lora',serif}
.co-form input:focus,.co-form select:focus{outline:none;border-color:var(--gold)}
.co-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-tabs{display:flex;gap:0;margin:20px 0 14px;border-bottom:1px solid var(--gold-dark)}
.co-tab{padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent;font-family:'Lora',serif;font-size:12px;color:var(--sage);letter-spacing:0.25em;text-transform:uppercase;font-style:italic;margin-bottom:-1px;font-weight:500}
.co-tab.active{border-color:var(--gold);color:var(--cream)}
.co-side{background:var(--pine-dark);padding:28px;border:1px solid var(--gold-dark);position:sticky;top:120px;align-self:start;height:fit-content}
.co-side .line{display:flex;justify-content:space-between;padding:7px 0;font-family:'Lora',serif;font-size:14px;color:var(--cream-dark)}
.co-side .total{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;padding-top:14px;border-top:1px solid var(--gold-dark);margin-top:10px;color:var(--gold-pale);letter-spacing:-0.01em}
.co-side .li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--gold-dark)}
.co-side .li img{width:52px;height:52px;object-fit:cover;border:1px solid var(--gold-dark)}
.co-side .li .n{font-size:14px;color:var(--cream);font-family:'Playfair Display',serif;font-weight:600}
button.pay-btn{width:100%;background:var(--berry);color:var(--cream);padding:16px;margin-top:20px;font-family:'Lora',serif;font-size:12px;text-transform:uppercase;letter-spacing:0.3em;border:1px solid var(--gold);border-radius:0;cursor:pointer;font-style:italic;font-weight:600;transition:all .25s}
button.pay-btn:hover{background:var(--gold);color:var(--pine-dark);border-color:var(--gold)}

/* thankyou */
.ty{max-width:720px;margin:72px auto;padding:60px;background:var(--pine-dark);border:1px solid var(--gold);text-align:center;position:relative}
.ty::before{content:"✦";position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:var(--pine);color:var(--gold);font-size:36px;padding:0 20px;font-family:'Playfair Display',serif}
.ty h1{font-family:'Playfair Display',serif;font-size:52px;font-weight:800;margin-bottom:12px;letter-spacing:-0.025em;color:var(--cream);line-height:1.05}
.ty h1 em{font-style:italic;color:var(--gold-pale)}
.ty .oid{font-family:'Lora',serif;font-size:12px;color:var(--sage);margin-bottom:24px;letter-spacing:0.3em;text-transform:uppercase;font-style:italic;font-weight:500}
.ty .box{text-align:left;background:var(--pine);padding:24px;border:1px solid var(--gold-dark);margin-top:28px}
.ty .box h3{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;margin-bottom:14px;color:var(--gold-pale);letter-spacing:0.05em}

/* policy */
.policy{max-width:860px;margin:0 auto;padding:60px 36px;line-height:1.85}
.policy h1{font-family:'Playfair Display',serif;font-size:56px;margin-bottom:28px;font-weight:800;color:var(--cream);letter-spacing:-0.025em;line-height:1.08}
.policy h2{font-family:'Playfair Display',serif;font-size:22px;margin-top:40px;margin-bottom:14px;font-weight:700;color:var(--gold-pale);letter-spacing:-0.015em;font-style:italic}
.policy p{margin-bottom:16px;color:var(--cream-dark);font-size:16px;font-family:'Lora',serif}

/* footer */
footer{border-top:1px solid var(--gold-dark);background:var(--pine-dark);color:var(--cream);margin-top:0;padding:64px 36px 30px;position:relative}
footer::before{
  content:"✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦ ❄ ✧ ❅ ✦";
  position:absolute;top:0;left:0;right:0;background:var(--berry);color:var(--gold-pale);
  text-align:center;letter-spacing:0.4em;font-size:11px;
  padding:7px 0 6px;font-family:'Playfair Display',serif;font-weight:600;
  white-space:nowrap;overflow:hidden;box-shadow:inset 0 -2px 0 var(--gold);
}
footer .cols{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;padding-top:12px}
footer .col h4{font-family:'Playfair Display',serif;font-size:17px;margin-bottom:18px;font-weight:700;color:var(--gold-pale);letter-spacing:-0.01em;font-style:italic}
footer .col a{display:block;font-family:'Lora',serif;font-size:13px;color:var(--cream-dark);padding:5px 0;transition:color .15s}
footer .col a:hover{color:var(--gold)}
footer .copy{max-width:1200px;margin:0 auto;padding-top:28px;border-top:1px solid var(--gold-dark);font-family:'Lora',serif;font-size:12px;color:var(--sage);text-align:center;letter-spacing:0.05em;line-height:1.8;font-style:italic}

/* popup */
.popup-overlay{position:fixed;inset:0;background:rgba(14,27,20,0.75);display:none;align-items:center;justify-content:center;z-index:999;padding:16px}
.popup-box{background:var(--pine-dark);color:var(--cream);padding:36px 40px;border:1px solid var(--gold);text-align:left;max-width:420px;width:100%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.popup-box::before{content:"✦";position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:var(--pine);color:var(--gold);font-size:28px;padding:0 16px;font-family:'Playfair Display',serif}
.popup-box .popup-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;margin-bottom:10px;color:var(--cream);letter-spacing:-0.015em;line-height:1.1}
.popup-box .popup-sub{font-family:'Lora',serif;font-size:14px;color:var(--cream-dark);margin-bottom:22px;line-height:1.7;font-style:italic}
.popup-actions{display:flex;gap:10px;justify-content:flex-start}
.popup-btn{padding:12px 22px;font-family:'Lora',serif;font-size:11px;border:1px solid var(--gold);cursor:pointer;letter-spacing:0.25em;text-transform:uppercase;font-weight:600;font-style:italic;transition:all .25s}
.popup-btn.primary{background:var(--berry);color:var(--cream)}
.popup-btn.primary:hover{background:var(--gold);color:var(--pine-dark);border-color:var(--gold)}
.popup-btn.ghost{background:transparent;color:var(--cream);border-color:var(--gold-dark)}
.popup-btn.ghost:hover{border-color:var(--gold)}
.pv-modal .popup-overlay{animation:pvFade .2s ease}
.pv-modal .popup-box{animation:pvPop .25s ease}
.pv-toast_top .popup-overlay{align-items:flex-start;background:transparent}
.pv-toast_top .popup-box{animation:pvDown .25s ease}
.pv-toast_bottom .popup-overlay{align-items:flex-end;background:transparent}
.pv-toast_bottom .popup-box{animation:pvUp .25s ease}
.pv-slide_right .popup-overlay{align-items:flex-end;justify-content:flex-end;background:transparent}
.pv-slide_right .popup-box{animation:pvRight .25s ease;max-width:380px}
.pv-slide_right .popup-actions{justify-content:flex-start}
@keyframes pvFade{from{opacity:0}to{opacity:1}}
@keyframes pvPop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes pvDown{from{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes pvUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes pvRight{from{transform:translateX(80px);opacity:0}to{transform:translateX(0);opacity:1}}

@media (max-width:900px){
  nav{padding:16px 20px}
  nav .brand{font-size:24px}
  nav .brand::after{display:none}
  nav .links{gap:18px;font-size:12px}
  nav .cart-link{padding:6px 12px;font-size:10px}
  .hero-inner{padding:80px 20px 70px}
  .hero h1{font-size:52px}
  .hero p.lead{font-size:16px}
  .hero .orn{display:none}
  .section-head{margin-top:48px;padding:0 20px 32px}
  .section-head::before,.section-head::after{width:30px;margin:0 14px}
  .section-head h2{font-size:36px}
  .spec-grid{padding:0 20px 48px;gap:20px}
  .spec-grid .card:nth-child(1){grid-template-columns:1fr;grid-column:span 12}
  .spec-grid .card:nth-child(1) img{min-height:280px}
  .spec-grid .card:nth-child(1) .info{padding:36px 28px}
  .spec-grid .card:nth-child(1) .name{font-size:32px}
  .spec-grid .card:nth-child(2),
  .spec-grid .card:nth-child(3){grid-column:span 12}
  .spec-grid .card:nth-child(n+4){grid-column:span 6}
  .season-row{grid-template-columns:1fr;padding:0 20px;margin-bottom:48px}
  .pd{grid-template-columns:1fr;padding:40px 20px;gap:36px}
  .pd img{min-height:320px}
  .pd .name{font-size:38px}
  .co-grid{grid-template-columns:1fr;gap:20px}
  footer .cols{grid-template-columns:1fr 1fr;gap:28px}
  .policy h1{font-size:40px}
  .ty h1{font-size:38px}
  .ty{padding:40px 24px;margin:40px 20px}
}
