/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/

/* ============================================================
   HolidayGifts.ca — Warm Artisan Luxe Theme Styles
   Paste into: Appearance → Customize → Additional CSS
   Works with: Blocksy / Astra / Kadence (any modern WP theme)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ---------- Brand tokens ---------- */
:root{
  --hg-ivory:#F8F3EC;
  --hg-cream:#FBF7F0;
  --hg-paper:#FFFFFF;
  --hg-ink:#2B201A;
  --hg-ink-2:#5C4A3F;
  --hg-muted:#8A7A6E;
  --hg-chestnut:#5C3A2E;
  --hg-chestnut-deep:#3F2820;
  --hg-brass:#B08D57;
  --hg-brass-soft:#D9BE94;
  --hg-tan:#E8D9C4;
  --hg-tan-soft:#F1E5D2;
  --hg-sage:#7E8B73;
  --hg-terra:#9B3D2F;
  --hg-line:#E5DACB;
  --hg-line-2:#D4C4AE;
  --hg-shadow:0 12px 32px rgba(43,32,26,0.08);

  --hg-serif:'Cormorant Garamond',Georgia,serif;
  --hg-sans:'Inter',-apple-system,system-ui,sans-serif;
}

/* ---------- Global typography ---------- */
body, .entry-content p, .woocommerce, .woocommerce-page{
  font-family: var(--hg-sans);
  color: var(--hg-ink);
  background: var(--hg-ivory);
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6,
.wp-block-heading,
.entry-title,
.woocommerce-loop-product__title,
.product_title{
  font-family: var(--hg-serif) !important;
  font-weight:500 !important;
  letter-spacing:-.01em;
  color: var(--hg-ink);
}

h1, .entry-title { font-size: clamp(40px, 6vw, 72px); line-height:1.05; }
h2 { font-size: clamp(32px, 4.5vw, 52px); line-height:1.1; }
h3 { font-size: clamp(24px, 3vw, 36px); }

em { font-style: italic; color: var(--hg-chestnut); }

/* Eyebrow / labels */
.hg-eyebrow,
.eyebrow{
  font-family: var(--hg-sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color: var(--hg-brass);
  font-weight:600;
  display:inline-block;
  margin-bottom:0px;
}

/* ---------- Buttons ---------- */
.wp-block-button__link,
.button,
button.alt,
button[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button{
  background: var(--hg-chestnut) !important;
  color: var(--hg-cream) !important;
  border: 1px solid var(--hg-chestnut) !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-family: var(--hg-sans) !important;
  font-size: 13px !important;
  letter-spacing:.14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  transition: all .2s ease;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wp-block-button__link:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  background: var(--hg-chestnut-deep) !important;
  border-color: var(--hg-chestnut-deep) !important;
  color: var(--hg-cream) !important;
}

.hg-btn-brass,
.woocommerce .button.alt{
  background: var(--hg-brass) !important;
  border-color: var(--hg-brass) !important;
}
.woocommerce .button.alt:hover,
.hg-btn-brass:hover{
  background:#9a7a48 !important;
  border-color:#9a7a48 !important;
}

.hg-btn-ghost{
  background: transparent !important;
  color: var(--hg-ink) !important;
  border-color: var(--hg-ink) !important;
}

/* ---------- Header / nav ---------- */
.site-header,
header.site-header,
.ct-header{
  background: var(--hg-cream) !important;
  border-bottom: 1px solid var(--hg-line);
}
.site-title a,
.custom-logo-link{
  font-family: var(--hg-serif) !important;
  font-size: 30px !important;
  color: var(--hg-chestnut) !important;
  font-weight: 600;
  letter-spacing: .02em;
}
.main-navigation a,
nav.main-navigation li a{
  font-family: var(--hg-sans);
  font-size: 13px !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hg-ink-2) !important;
  font-weight: 500;
}
.main-navigation a:hover{ color: var(--hg-chestnut) !important; }

/* Announcement bar (Blocksy supports this; otherwise add via custom HTML widget) */
.hg-announce,
.ct-top-bar{
  background: var(--hg-chestnut-deep);
  color: var(--hg-cream);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  padding: 10px 16px;
}

/* ---------- WooCommerce: shop loop ---------- */
.woocommerce ul.products li.product{
  background: var(--hg-paper);
  padding: 0;
  border: none;
  margin-bottom: 48px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--hg-serif) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--hg-ink) !important;
  padding: 14px 4px 4px !important;
  letter-spacing:-.005em;
}
.woocommerce ul.products li.product .price{
  color: var(--hg-chestnut) !important;
  font-family: var(--hg-sans);
  font-size: 15px;
  font-weight: 600;
  padding: 0 4px 12px;
}
.woocommerce ul.products li.product .price del{
  color: var(--hg-muted);
  opacity: .8;
  margin-right: 6px;
}
.woocommerce ul.products li.product img{
  margin-bottom: 0;
  transition: transform .4s ease;
}
.woocommerce ul.products li.product:hover img{
  transform: scale(1.02);
}
.woocommerce span.onsale{
  background: var(--hg-terra) !important;
  color: var(--hg-cream) !important;
  border-radius: 0 !important;
  font-family: var(--hg-sans);
  font-size: 10px !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 6px 12px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1 !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
}

/* ---------- WooCommerce: single product ---------- */
.woocommerce div.product .product_title{
  font-family: var(--hg-serif) !important;
  font-size: 48px !important;
  line-height: 1.05;
  font-weight: 500 !important;
  margin-bottom: 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color: var(--hg-chestnut) !important;
  font-family: var(--hg-serif) !important;
  font-size: 32px !important;
  font-weight: 600 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  color: var(--hg-ink-2);
  font-size: 16px;
  line-height: 1.7;
  border-top: 1px solid var(--hg-line);
  border-bottom: 1px solid var(--hg-line);
  padding: 24px 0;
  margin: 24px 0;
}
.woocommerce div.product .quantity .qty{
  background: var(--hg-cream);
  border: 1px solid var(--hg-line-2);
  border-radius: 0;
  padding: 12px;
  font-family: var(--hg-sans);
  text-align: center;
}
.woocommerce div.product form.cart .single_add_to_cart_button{
  padding: 16px 32px !important;
  font-size: 13px !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  border-bottom: 1px solid var(--hg-line) !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family: var(--hg-sans);
  font-size: 12px !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--hg-muted) !important;
  padding: 16px 24px !important;
  font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: var(--hg-chestnut) !important;
  border-bottom: 2px solid var(--hg-brass);
}

/* ---------- WooCommerce: cart, checkout ---------- */
.woocommerce table.shop_table{
  border-radius: 0 !important;
  border: 1px solid var(--hg-line);
}
.woocommerce table.shop_table th{
  background: var(--hg-cream);
  font-family: var(--hg-sans);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hg-ink-2);
  font-weight: 600;
  padding: 16px;
}
.woocommerce table.shop_table td{
  padding: 20px 16px;
  border-top: 1px solid var(--hg-line);
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading{
  font-family: var(--hg-serif);
  font-size: 32px;
  font-weight: 500;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{
  border: 1px solid var(--hg-line-2) !important;
  border-radius: 0 !important;
  background: var(--hg-cream) !important;
  padding: 14px 16px !important;
  font-family: var(--hg-sans);
  font-size: 15px;
  color: var(--hg-ink);
  height: auto !important;
}
.woocommerce form .form-row label{
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hg-ink-2);
  font-weight: 600;
  margin-bottom: 6px;
}
.woocommerce-message,
.woocommerce-info{
  background: var(--hg-tan-soft) !important;
  border-top-color: var(--hg-brass) !important;
  color: var(--hg-ink);
  border-radius: 0;
}
.woocommerce-error{
  background: #fbe8e3 !important;
  border-top-color: var(--hg-terra) !important;
  border-radius: 0;
}

/* ---------- Personal Shopper product page ---------- */
.hg-ps-hero{
  background: var(--hg-cream);
  padding: 64px 0;
  border-bottom: 1px solid var(--hg-line);
}
.hg-ps-tiers{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 48px 0;
}
.hg-ps-tier{
  background: var(--hg-paper);
  padding: 40px 32px;
  border: 1px solid var(--hg-line);
  transition: transform .2s, box-shadow .2s;
}
.hg-ps-tier:hover{ transform: translateY(-4px); box-shadow: var(--hg-shadow); }
.hg-ps-tier.featured{
  background: var(--hg-chestnut-deep);
  color: var(--hg-cream);
  transform: translateY(-12px);
}
.hg-ps-tier.featured h3,
.hg-ps-tier.featured .hg-ps-price strong{ color: var(--hg-brass-soft); }
.hg-ps-form{ background: var(--hg-paper); padding: 48px; border: 1px solid var(--hg-line); }
.hg-ps-form .hg-pill-group{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.hg-pill{
  padding: 12px 14px;
  border: 1px solid var(--hg-line-2);
  background: var(--hg-cream);
  font-size: 13px;
  text-align: center;
  cursor: pointer;
  font-weight: 500;
}
.hg-pill.active,
.hg-pill:hover{ background: var(--hg-chestnut); color: var(--hg-cream); border-color: var(--hg-chestnut); }

/* ---------- Gift guide articles ---------- */
.single-post .entry-content,
.gift-guide-content{
  font-size: 17px;
  line-height: 1.8;
  max-width: 720px;
  margin: 0 auto;
  color: var(--hg-ink-2);
}
.single-post .entry-content p{ margin-bottom: 24px; }
.single-post .entry-content h2{
  margin-top: 56px;
  margin-bottom: 20px;
  color: var(--hg-ink);
}
.single-post .entry-content blockquote{
  border-left: 3px solid var(--hg-brass);
  background: var(--hg-cream);
  padding: 24px 32px;
  margin: 32px 0;
  font-family: var(--hg-serif);
  font-size: 22px;
  font-style: italic;
  color: var(--hg-chestnut);
}

/* ---------- FAQ accordion ---------- */
.hg-faq{ max-width: 760px; margin: 0 auto; }
.hg-faq details{
  padding: 24px 0;
  border-bottom: 1px solid var(--hg-line);
}
.hg-faq summary{
  font-family: var(--hg-serif);
  font-size: 22px;
  color: var(--hg-ink);
  font-weight: 500;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
.hg-faq summary::-webkit-details-marker{ display: none; }
.hg-faq summary::after{
  content: "+";
  color: var(--hg-brass);
  font-size: 24px;
  flex-shrink: 0;
  line-height: 1;
}
.hg-faq details[open] summary::after{ content: "−"; }
.hg-faq details p{
  padding-top: 14px;
  color: var(--hg-ink-2);
  font-size: 15px;
  line-height: 1.7;
  max-width: 680px;
}
.hg-faq-category{
  font-family: var(--hg-sans);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--hg-brass);
  font-weight: 600;
  margin: 56px 0 20px;
}

/* ---------- Occasion chips ---------- */
.hg-occasion-rail{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 32px 0;
}
.hg-occ-chip{
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 18px 24px;
  background: var(--hg-paper);
  border: 1px solid var(--hg-line);
  transition: all .2s;
  min-width: 170px;
  text-decoration: none;
}
.hg-occ-chip:hover{ border-color: var(--hg-chestnut); background: var(--hg-cream); transform: translateY(-2px); }
.hg-occ-chip.now{ background: var(--hg-chestnut); color: var(--hg-cream); border-color: var(--hg-chestnut); }
.hg-occ-chip .name{ font-family: var(--hg-serif); font-size: 24px; font-weight: 600; }
.hg-occ-chip .when{ font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--hg-brass); margin-top: 4px; }
.hg-occ-chip.now .when{ color: var(--hg-brass-soft); }

/* ---------- Footer ---------- */
.site-footer,
footer.site-footer{
  background: var(--hg-ink) !important;
  color: var(--hg-cream);
}
.site-footer a{ color: rgba(251,247,240,.7); }
.site-footer a:hover{ color: var(--hg-brass-soft); }
.site-footer h5,
.site-footer .widget-title{
  font-family: var(--hg-sans) !important;
  font-size: 12px !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hg-brass) !important;
  font-weight: 600 !important;
}

/* ---------- Forms (Fluent Forms compatible) ---------- */
.ff-el-form-control,
.ff-el-input--content input,
.ff-el-input--content textarea,
.ff-el-input--content select{
  border: 1px solid var(--hg-line-2) !important;
  border-radius: 0 !important;
  background: var(--hg-cream) !important;
  font-family: var(--hg-sans);
  padding: 14px 16px !important;
}
.ff-el-input--label label{
  font-size: 11px !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hg-ink-2) !important;
  font-weight: 600 !important;
}
.ff-btn-submit{
  background: var(--hg-chestnut) !important;
  border-color: var(--hg-chestnut) !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600 !important;
  padding: 14px 28px !important;
}

/* ---------- Utility classes for content blocks ---------- */
.hg-section{ padding: 96px 0; }
.hg-section-cream{ background: var(--hg-cream); }
.hg-section-dark{ background: var(--hg-chestnut-deep); color: var(--hg-cream); }
.hg-section-dark h1, .hg-section-dark h2, .hg-section-dark h3{ color: var(--hg-cream); }
.hg-section-dark em{ color: var(--hg-brass-soft); }

.hg-container{ max-width: 1280px; margin: 0 auto; padding: 0 32px; }

.hg-grid-2{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px; }
.hg-grid-3{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.hg-grid-4{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

@media (max-width: 900px){
  .hg-grid-2, .hg-grid-3, .hg-grid-4,
  .hg-ps-tiers{ grid-template-columns: 1fr; gap: 20px; }
  .hg-section{ padding: 56px 0; }
  .hg-ps-form{ padding: 28px; }
}

/* ---------- Mockup banner removal in production ---------- */
.mock-banner{ display: none !important; }


 :root{
    --ivory:#F8F3EC;
    --cream:#FBF7F0;
    --paper:#FFFFFF;
    --ink:#2B201A;
    --ink-2:#5C4A3F;
    --muted:#8A7A6E;
    --chestnut:#5C3A2E;
    --chestnut-deep:#3F2820;
    --brass:#B08D57;
    --brass-soft:#D9BE94;
    --tan:#E8D9C4;
    --sage:#7E8B73;
    --terra:#9B3D2F;
    --line:#E5DACB;
    --shadow: 0 12px 32px rgba(43,32,26,0.08);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--ivory);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
  a{color:inherit;text-decoration:none}
  .container{max-width:1280px;margin:0 auto;padding:0 32px}
  .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:600}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border:1px solid var(--chestnut);background:var(--chestnut);color:var(--cream);transition:all .2s;cursor:pointer}
  .btn:hover{background:var(--chestnut-deep);border-color:var(--chestnut-deep)}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--cream)}
  .btn.brass{background:var(--brass);border-color:var(--brass);color:var(--paper)}
  .btn.brass:hover{background:#9a7a48;border-color:#9a7a48}
  .btn.link{background:transparent;border:none;color:var(--chestnut);padding:0;text-decoration:underline;text-underline-offset:4px;text-transform:none;letter-spacing:.02em;font-size:14px}

  /* Announcement bar */
  .announce{background:var(--chestnut-deep);color:var(--cream);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:10px 16px}
  .announce span{margin:0 22px;opacity:.85}
  .announce span::before{content:"·";margin-right:22px;color:var(--brass)}
  .announce span:first-child::before{content:""}

  /* Header */
  header.site{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
  .nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 32px;max-width:1280px;margin:0 auto}
  .nav-left,.nav-right{display:flex;gap:28px;align-items:center;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
  .nav-right{justify-content:flex-end}
  .nav-left a:hover,.nav-right a:hover{color:var(--chestnut)}
  .logo{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;letter-spacing:.02em;color:var(--chestnut);text-align:center}
  .logo .dot{color:var(--brass)}

  /* Hero */
  .hero{position:relative;overflow:hidden;background:var(--cream);padding:80px 0 100px}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
  .hero h1{font-size:88px;line-height:.95;letter-spacing:-.02em;margin:18px 0 22px}
  .hero h1 em{font-style:italic;color:var(--chestnut)}
  .hero p.lede{font-size:18px;color:var(--ink-2);max-width:480px;margin-bottom:36px;line-height:1.55}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:42px}
  .hero-stats{display:flex;gap:42px;padding-top:28px;border-top:1px solid var(--line)}
  .hero-stats div{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
  .hero-stats strong{display:block;font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--ink);text-transform:none;letter-spacing:-.01em;margin-bottom:2px;font-weight:600}
  .hero-art{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden}
  .hero-art .img{position:absolute;inset:0;background:linear-gradient(135deg,#7a5642 0%,#3f2820 60%,#2a1812 100%)}
  .hero-art .img::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 25%,rgba(255,235,200,.22) 0%,transparent 55%)}
  .hero-art .ribbon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:140%;background:linear-gradient(90deg,transparent 40%,rgba(176,141,87,.85) 45%,rgba(217,190,148,.95) 50%,rgba(176,141,87,.85) 55%,transparent 60%);transform:translate(-50%,-50%) rotate(-12deg);mix-blend-mode:screen;opacity:.7}
  .hero-art .tag{position:absolute;bottom:28px;left:28px;background:var(--cream);padding:14px 18px;font-family:'Cormorant Garamond',serif}
  .hero-art .tag .price{font-size:22px;color:var(--chestnut);font-weight:600}
  .hero-art .tag .name{font-size:13px;letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase;font-family:'Inter',sans-serif}

  /* Trust strip */
  .trust{background:var(--ivory);padding:28px 0;border-bottom:1px solid var(--line)}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
  .trust-item{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
  .trust-item .ic{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--brass);display:block;margin-bottom:6px}

  /* Section */
  section{padding:96px 0;    background: #f8f3ec;}
  .sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;gap:32px}
  .sec-head h2{font-size:52px;line-height:1;letter-spacing:-.015em}
  .sec-head h2 em{font-style:italic;color:var(--chestnut)}
  .sec-head .sub{color:var(--muted);font-size:15px;max-width:380px}

  /* Occasion chips */
  .occasion-rail{display:flex;gap:14px;flex-wrap:wrap}
  .chip{display:inline-flex;flex-direction:column;align-items:flex-start;padding:18px 24px;background:var(--paper);border:1px solid var(--line);border-radius:2px;transition:all .2s;cursor:pointer;min-width:170px}
  .chip:hover{border-color:var(--chestnut);background:var(--cream);transform:translateY(-2px)}
  .chip .occ{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--ink)}
  .chip .when{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-top:4px}
  .chip.now{background:var(--chestnut);color:var(--cream);border-color:var(--chestnut)}
  .chip.now .occ{color:var(--cream)}
  .chip.now .when{color:var(--brass-soft)}

  /* Price tiles */
  .price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .price-tile{position:relative;aspect-ratio:3/4;background:linear-gradient(180deg,#a07d5e 0%,#5c3a2e 100%);overflow:hidden;cursor:pointer;transition:transform .3s}
  .price-tile:nth-child(2){background:linear-gradient(180deg,#c4a984 0%,#7e6249 100%)}
  .price-tile:nth-child(3){background:linear-gradient(180deg,#8b6f55 0%,#3f2820 100%)}
  .price-tile:nth-child(4){background:linear-gradient(180deg,#6b4f3c 0%,#241710 100%)}
  .price-tile:hover{transform:translateY(-4px)}
  .price-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(43,32,26,.55) 100%)}
  .price-tile .lab{position:absolute;left:24px;bottom:24px;color:var(--cream);z-index:2}
  .price-tile .lab .pre{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;display:block;margin-bottom:8px}
  .price-tile .lab .amt{font-family:'Cormorant Garamond',serif;font-size:42px;line-height:1;display:block;font-weight:500}
  .price-tile .lab .cnt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-top:8px;display:block}

  /* Personal Shopper banner */
  .shopper{background:var(--chestnut-deep);color:var(--cream);position:relative;overflow:hidden;padding:0}
  .shopper-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:520px}
  .shopper-text{padding:80px 64px 80px 0}
  .shopper-text .eyebrow{color:var(--brass-soft)}
  .shopper-text h2{color:var(--cream);font-size:64px;line-height:1;margin:16px 0 24px;letter-spacing:-.02em}
  .shopper-text h2 em{font-style:italic;color:var(--brass-soft)}
  .shopper-text p{color:rgba(251,247,240,.78);font-size:17px;line-height:1.6;max-width:480px;margin-bottom:36px}
  .shopper-bullets{list-style:none;margin-bottom:36px}
  .shopper-bullets li{padding:12px 0;border-bottom:1px solid rgba(217,190,148,.18);display:flex;align-items:center;gap:14px;font-size:14px}
  .shopper-bullets li::before{content:"";width:6px;height:6px;background:var(--brass);border-radius:50%}
  .shopper-art{position:relative;height:100%;min-height:520px;background:linear-gradient(135deg,#7a5642 0%,#3f2820 80%)}
  .shopper-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(217,190,148,.18) 0%,transparent 60%)}
  .tier-cards{position:absolute;bottom:48px;right:48px;left:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .tier-card{background:rgba(251,247,240,.95);color:var(--ink);padding:20px 18px;backdrop-filter:blur(8px)}
  .tier-card h4{font-size:22px;color:var(--chestnut);margin-bottom:6px}
  .tier-card .fee{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .tier-card .desc{font-size:12px;color:var(--ink-2);line-height:1.5}

  /* Products */
  .products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
  .prod{cursor:pointer}
  .prod .ph{aspect-ratio:1/1;background:linear-gradient(160deg,#d9c8b1 0%,#a8896a 100%);position:relative;overflow:hidden;margin-bottom:16px}
  .prod:nth-child(2) .ph{background:linear-gradient(160deg,#c4a07b 0%,#5c3a2e 100%)}
  .prod:nth-child(3) .ph{background:linear-gradient(160deg,#e0d3bd 0%,#8b6f55 100%)}
  .prod:nth-child(4) .ph{background:linear-gradient(160deg,#b89a78 0%,#3f2820 100%)}
  .prod .ph .badge{position:absolute;top:14px;left:14px;background:var(--cream);padding:6px 10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--chestnut);font-weight:600}
  .prod .ph .badge.terra{background:var(--terra);color:var(--cream)}
  .prod .ph .heart{position:absolute;top:14px;right:14px;width:34px;height:34px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-2)}
  .prod .meta{padding:0 4px}
  .prod .cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .prod .name{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ink);margin-bottom:6px;font-weight:500;line-height:1.2}
  .prod .price{font-size:15px;color:var(--chestnut);font-weight:600}
  .prod .price del{color:var(--muted);font-weight:400;margin-right:8px}

  /* Recipient row */
  .recipient-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
  .rec{aspect-ratio:3/4;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
  .rec::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--tan) 0%,transparent 60%);opacity:.5}
  .rec:hover{border-color:var(--chestnut);transform:translateY(-3px)}
  .rec .label{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ink);position:relative;line-height:1.1}
  .rec .label small{display:block;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-weight:500}

  /* Mood pills */
  .mood-wrap{background:var(--cream);padding:80px 0}
  .mood-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .mood{padding:32px 24px;border:1px solid var(--line);background:var(--paper);text-align:center;cursor:pointer;transition:all .2s}
  .mood:hover{background:var(--chestnut);color:var(--cream);border-color:var(--chestnut)}
  .mood:hover .mname{color:var(--cream)}
  .mood:hover .mdesc{color:var(--brass-soft)}
  .mname{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ink);margin-bottom:8px;display:block;font-weight:500}
  .mdesc{font-size:12px;color:var(--muted);letter-spacing:.04em;line-height:1.5;display:block}

  /* Editorial */
  .editorial{background:var(--chestnut-deep);color:var(--cream)}
  .ed-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
  .ed-art{aspect-ratio:4/5;background:linear-gradient(135deg,#a07d5e 0%,#3f2820 100%);position:relative}
  .ed-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 40% 30%,rgba(217,190,148,.2) 0%,transparent 60%)}
  .editorial h2{color:var(--cream);font-size:56px;line-height:1.05;margin:18px 0 24px}
  .editorial h2 em{font-style:italic;color:var(--brass-soft)}
  .editorial p{color:rgba(251,247,240,.78);font-size:16px;line-height:1.7;margin-bottom:18px;max-width:520px}

  /* Newsletter */
  .news{background:var(--tan);padding:96px 0;text-align:center}
  .news h2{font-size:56px;margin-bottom:14px}
  .news p{color:var(--ink-2);font-size:16px;margin-bottom:36px;max-width:520px;margin-left:auto;margin-right:auto}
  .news form{display:flex;max-width:520px;margin:0 auto;gap:0}
  .news input{flex:1;padding:16px 20px;border:1px solid var(--ink);border-right:none;background:var(--cream);font-family:'Inter',sans-serif;font-size:14px;color:var(--ink)}
  .news input:focus{outline:none;border-color:var(--chestnut)}
  .news button{padding:16px 28px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer}

  /* Footer */
  footer{background:var(--ink);color:var(--cream);padding:72px 0 32px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
  .foot-col h5{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;font-weight:600}
  .foot-col ul{list-style:none}
  .foot-col li{padding:6px 0;color:rgba(251,247,240,.7);font-size:14px;cursor:pointer}
  .foot-col li:hover{color:var(--brass-soft)}
  .foot-brand{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--cream);margin-bottom:14px}
  .foot-brand .dot{color:var(--brass)}
  .foot-tag{color:rgba(251,247,240,.6);font-size:14px;line-height:1.6;max-width:280px;margin-bottom:24px}
  .foot-bottom{border-top:1px solid rgba(217,190,148,.15);padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:rgba(251,247,240,.5);letter-spacing:.06em}

  /* Mockup banner */
  .mock-banner{position:fixed;bottom:24px;right:24px;background:var(--paper);border:1px solid var(--line);padding:14px 20px;box-shadow:var(--shadow);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);z-index:100;border-left:3px solid var(--brass)}
  .mock-banner strong{color:var(--chestnut);display:block;font-family:'Cormorant Garamond',serif;font-size:18px;text-transform:none;letter-spacing:0;margin-bottom:2px}

  @media (max-width:900px){
    .hero-grid,.shopper-inner,.ed-grid{grid-template-columns:1fr;gap:40px}
    .shopper-text{padding:64px 32px}
    .hero h1{font-size:56px}
    .price-grid,.products{grid-template-columns:repeat(2,1fr)}
    .recipient-grid{grid-template-columns:repeat(3,1fr)}
    .mood-grid{grid-template-columns:repeat(2,1fr)}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
    .tier-cards{position:static;padding:32px}
    .nav{grid-template-columns:auto auto auto;gap:16px}
    .nav-left,.nav-right{display:none}
  }
  /* Hero */
  .hero{padding:48px 0 80px;background:var(--cream);border-bottom:1px solid var(--line)}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
  .hero h1{font-size:80px;line-height:.95;letter-spacing:-.02em;margin:18px 0 20px}
  .hero h1 em{font-style:italic;color:var(--chestnut)}
  .hero p.lede{font-size:18px;color:var(--ink-2);line-height:1.55;max-width:500px;margin-bottom:32px}
  .hero-art{position:relative;aspect-ratio:1/1;background:linear-gradient(135deg,#a07d5e 0%,#3f2820 100%);overflow:hidden}
  .hero-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 35% 30%,rgba(217,190,148,.22) 0%,transparent 60%)}
  .hero-art .float-card{position:absolute;background:var(--cream);padding:18px 22px;font-family:'Cormorant Garamond',serif;box-shadow:var(--shadow)}
  .hero-art .fc1{top:32px;left:32px}
  .hero-art .fc2{bottom:32px;right:32px}
  .hero-art .float-card .label{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:6px}
  .hero-art .float-card .val{font-size:22px;color:var(--ink);font-weight:600}
  .review-strip{display:flex;gap:32px;align-items:center;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
  .stars{color:var(--brass);font-size:18px;letter-spacing:2px}
  .review-strip small{font-size:13px;color:var(--ink-2)}

  /* How it works */
  .how{padding:96px 0;background:var(--ivory)}
  .sec-head{text-align:left;margin-bottom:64px}
  .sec-head h2{font-size:52px;line-height:1;margin:0px auto 16px;max-width:100%}
  .sec-head h2 em{font-style:italic;color:var(--chestnut)}
  .sec-head p{color:var(--muted);max-width:520px;margin:0 auto;font-size:16px}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
  .step{text-align:center;position:relative}
  .step .num{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid var(--brass);color:var(--brass);font-family:'Cormorant Garamond',serif;font-size:30px;border-radius:50%;margin-bottom:24px;background:var(--cream)}
  .step h4{font-size:24px;margin-bottom:10px}
  .step p{color:var(--muted);font-size:14px;line-height:1.6;max-width:240px;margin:0 auto}

  /* Tiers */
  .tiers{padding:96px 0;background:var(--cream)}
  .tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .tier{background:var(--paper);padding:48px 36px;position:relative;transition:transform .2s,box-shadow .2s;border:1px solid var(--line)}
  .tier:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .tier.featured{background:var(--chestnut-deep);color:var(--cream);border-color:var(--chestnut-deep);transform:translateY(-12px);box-shadow:var(--shadow)}
  .tier.featured h3,.tier.featured .price,.tier.featured .feat-title{color:var(--cream)}
  .tier.featured li{color:rgba(251,247,240,.85);border-color:rgba(217,190,148,.18)}
  .tier .pop{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--brass);color:var(--paper);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;font-weight:600}
  .tier .tname{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:14px}
  .tier h3{font-size:42px;line-height:1;margin-bottom:14px}
  .tier .price{font-size:18px;color:var(--ink);margin-bottom:6px;font-weight:500;font-family:'Inter',sans-serif}
  .tier .price strong{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--chestnut);font-weight:600;display:inline-block;margin-right:4px}
  .tier.featured .price strong{color:var(--brass-soft)}
  .tier .price-sub{font-size:13px;color:var(--muted);margin-bottom:28px}
  .tier.featured .price-sub{color:rgba(251,247,240,.6)}
  .tier .feat-title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:24px 0 12px;font-weight:600;font-family:'Inter',sans-serif}
  .tier ul{list-style:none;margin-bottom:32px}
  .tier li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);display:flex;gap:12px;align-items:flex-start;line-height:1.5}
  .tier li::before{content:"✓";color:var(--brass);font-weight:600;flex-shrink:0;margin-top:1px}
  .tier .btn{width:100%;justify-content:center}

  /* Intake form */
  .intake{padding:96px 0}
  .intake-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:flex-start}
  .form-card{background:var(--paper);padding:48px;border:1px solid var(--line)}
  .form-card h3{font-size:32px;margin-bottom:10px}
  .form-card .form-sub{color:var(--muted);font-size:14px;margin-bottom:36px}
  .field{margin-bottom:22px}
  .field label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-weight:600;margin-bottom:8px}
  .field label .req{color:var(--terra);margin-left:4px}
  .field input,.field textarea,.field select{width:100%;padding:14px 16px;border:1px solid var(--line-2);background:var(--cream);font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);transition:border .2s}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--chestnut)}
  .field textarea{min-height:90px;resize:vertical}
  .field .hint{font-size:12px;color:var(--muted);margin-top:6px}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .pill{padding:10px 14px;border:1px solid var(--line-2);background:var(--cream);font-size:13px;text-align:center;cursor:pointer;transition:all .15s;font-weight:500;color:var(--ink-2)}
  .pill:hover{border-color:var(--chestnut)}
  .pill.sel{background:var(--chestnut);color:var(--cream);border-color:var(--chestnut)}
  .budget-row{display:flex;gap:8px;flex-wrap:wrap}
  .budget-row .pill{flex:1;min-width:80px}
  .occ-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .toggle{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--cream);border:1px solid var(--line-2);cursor:pointer;margin-bottom:14px}
  .toggle .check{width:22px;height:22px;border:1.5px solid var(--brass);border-radius:50%;flex-shrink:0;background:var(--paper);position:relative}
  .toggle.sel .check{background:var(--brass)}
  .toggle.sel .check::after{content:"✓";position:absolute;color:var(--paper);font-size:12px;left:5px;top:1px;font-weight:700}
  .toggle .toggle-text{flex:1}
  .toggle .toggle-text strong{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--ink);margin-bottom:2px;font-weight:600}
  .toggle .toggle-text small{font-size:13px;color:var(--muted);line-height:1.4}
  .toggle .toggle-price{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--chestnut);font-weight:600}

  /* Summary panel */
  .summary{position:sticky;top:24px}
  .sum-card{background:var(--chestnut-deep);color:var(--cream);padding:36px}
  .sum-card .eyebrow{color:var(--brass-soft)}
  .sum-card h3{color:var(--cream);font-size:32px;margin:10px 0 24px}
  .sum-card h3 em{color:var(--brass-soft);font-style:italic}
  .sum-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(217,190,148,.18);font-size:14px}
  .sum-row .lab{color:rgba(251,247,240,.7)}
  .sum-row .val{color:var(--cream);font-weight:500}
  .sum-row.total{border-bottom:none;padding-top:24px;margin-top:8px;border-top:1px solid var(--brass-soft)}
  .sum-row.total .lab{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--cream)}
  .sum-row.total .val{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--brass-soft);font-weight:600}
  .sum-note{font-size:12px;color:rgba(251,247,240,.6);line-height:1.6;margin-top:20px;padding-top:20px;border-top:1px solid rgba(217,190,148,.18)}
  .sum-trust{padding:24px;background:var(--cream);border:1px solid var(--line);margin-top:14px;font-size:13px;color:var(--ink-2);line-height:1.6}
  .sum-trust strong{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--ink);font-weight:600;margin-bottom:4px}

  /* Reviews */
  .reviews{background:var(--cream);padding:96px 0}
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .review{background:var(--paper);padding:36px;border:1px solid var(--line)}
  .review .stars{font-size:16px;margin-bottom:14px}
  .review .quote{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.35;color:var(--ink);margin-bottom:22px;font-weight:500}
  .review .who{font-size:13px;color:var(--ink-2)}
  .review .who strong{display:block;font-weight:600;margin-bottom:2px}

  /* FAQ */
  .faq{padding:96px 0}
  .faq-grid{max-width:760px;margin:0 auto}
  .faq-item{padding:24px 0;border-bottom:1px solid var(--line)}
  .faq-q{display:flex;justify-content:space-between;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ink);font-weight:500;align-items:flex-start;gap:24px}
  .faq-q .plus{color:var(--brass);font-size:24px;flex-shrink:0;line-height:1}
  .faq-a{padding-top:14px;color:var(--ink-2);font-size:15px;line-height:1.7;max-width:680px}

  /* Footer */
  footer{background:var(--ink);color:var(--cream);padding:48px 0;text-align:center}
  footer .logo{color:var(--cream);font-size:24px;margin-bottom:8px}
  footer p{font-size:13px;color:rgba(251,247,240,.5);letter-spacing:.06em}

  .mock-banner{position:fixed;bottom:24px;right:24px;background:var(--paper);border:1px solid var(--line);padding:14px 20px;box-shadow:var(--shadow);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);z-index:100;border-left:3px solid var(--brass)}
  .mock-banner strong{color:var(--chestnut);display:block;font-family:'Cormorant Garamond',serif;font-size:18px;text-transform:none;letter-spacing:0;margin-bottom:2px}

  @media (max-width:900px){
    .hero-grid,.intake-grid{grid-template-columns:1fr;gap:48px}
    .hero h1{font-size:52px}
    .steps,.tier-grid,.review-grid{grid-template-columns:1fr;gap:20px}
    .tier.featured{transform:none}
    .form-card{padding:28px}
    .occ-row{grid-template-columns:repeat(2,1fr)}
    .nav-left,.nav-right{display:none}
    .summary{position:static}
  }