:root{
  --cream:#FAF6EE;
  --cream-deep:#F1E9D8;
  --ivory:#FFFDF9;
  --forest:#2B3831;
  --forest-soft:#3E4C43;
  --terracotta:#B87C4C;
  --terracotta-deep:#9C6438;
  --gold:#D9A566;
  --line:rgba(43,56,49,.14);
  --shadow:0 16px 40px -20px rgba(43,56,49,.35);
  --danger:#b5581f;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--cream); color:var(--forest);
  font-family:'Plus Jakarta Sans',Arial,sans-serif; padding-bottom:70px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.font-display{font-family:'Playfair Display',Georgia,serif;}
.font-brand{font-family:'Cinzel',Georgia,serif; letter-spacing:.12em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit;}

.container{max-width:1080px; margin:0 auto; padding:0 16px;}

/* ---------- announcement ticker (site-wide, replaces old static top-strip) ---------- */
.ticker-wrap{
  background:var(--forest); color:var(--cream); overflow:hidden; white-space:nowrap;
  border-bottom:1px solid rgba(250,246,238,.08);
}
.ticker-track{
  display:inline-flex; gap:3.5rem; padding:.55rem 0; animation:ticker 26s linear infinite;
  font-size:.78rem; letter-spacing:.03em; font-weight:500;
}
.ticker-track span{display:inline-flex; align-items:center; gap:.6rem; color:var(--cream);}
.ticker-track .dot{color:var(--gold);}
@keyframes ticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- header ---------- */
.store-header{
  display:flex; align-items:center; justify-content:space-between; padding:.9rem 1rem;
  background:var(--cream); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40;
}
.store-header .brand-wrap{display:flex; align-items:center; gap:.55rem; flex-direction:row;}
.store-header .brand-text{display:flex; flex-direction:column; line-height:1.15;}
.store-header .brand-logo-img{width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.store-header .brand-title{font-family:'Cinzel',Georgia,serif; font-size:1.15rem; letter-spacing:.14em; color:var(--forest);}
.store-header .brand-sub{font-size:.6rem; letter-spacing:.16em; color:var(--terracotta-deep); font-weight:700;}
.header-actions{display:flex; align-items:center; gap:.7rem;}
.header-actions .header-amazon-btn{display:none;}
.icon-btn{
  width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); background:var(--ivory); position:relative; color:var(--forest); flex-shrink:0; cursor:pointer;
}
.profile-row{display:flex; justify-content:space-between; align-items:center; padding:.55rem 0; border-bottom:1px solid #f0ece3; font-size:.85rem;}
.profile-row:last-of-type{border-bottom:none;}
.profile-row span{color:#8a8a8a;}
.order-items-list{margin-bottom:.6rem;}
.order-item-row{display:flex; align-items:center; gap:.6rem; padding:.4rem 0; text-decoration:none; color:var(--forest);}
.order-item-row img{width:38px; height:38px; border-radius:8px; object-fit:cover; flex-shrink:0; border:1px solid var(--line);}
.order-item-row span{font-size:.8rem;}
.order-item-row:hover span{text-decoration:underline;}
.cart-badge{
  position:absolute; top:-6px; right:-6px; background:var(--terracotta); color:#fff; font-size:.62rem; font-weight:800;
  min-width:18px; height:18px; border-radius:999px; display:flex; align-items:center; justify-content:center; padding:0 4px;
}

/* ---------- hero banner ---------- */
.store-hero{
  background:linear-gradient(160deg, var(--cream-deep), var(--cream)); padding:1.8rem 1rem 1.6rem;
}
.store-hero h1{font-size:1.85rem; line-height:1.15; margin:0 0 .5rem;}
.store-hero p{color:var(--forest-soft); font-size:.9rem; margin:0 0 1rem;}
.btn-primary{
  display:inline-flex; align-items:center; gap:.4rem; background:var(--terracotta); color:#fff; font-weight:700;
  padding:.7rem 1.4rem; border-radius:999px; font-size:.85rem; border:none; cursor:pointer;
}
.btn-outline{
  display:inline-flex; align-items:center; gap:.4rem; background:transparent; color:var(--forest); font-weight:700;
  padding:.65rem 1.3rem; border-radius:999px; font-size:.85rem; border:1.5px solid var(--forest); cursor:pointer;
}

/* ---------- hero CTA hover animation (Shop Now / Buy on Amazon) ---------- */
.hero-cta{ transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease; }
.hero-cta svg{ transition:transform .25s ease; }
a.btn-primary.hero-cta:hover{ transform:translateY(-3px) scale(1.03); background:var(--terracotta-deep); box-shadow:0 12px 26px rgba(198,122,78,.4); }
a.btn-primary.hero-cta:hover svg{ transform:translateX(4px); }
a.btn-outline.hero-cta:hover{ transform:translateY(-3px) scale(1.03); background:var(--forest); border-color:var(--forest); color:#fff; box-shadow:0 12px 22px rgba(43,56,49,.25); }

/* ---------- perks strip ---------- */
.perks{display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; padding:1.3rem 1rem; text-align:center;}
.perks .perk-icon{
  width:44px; height:44px; border-radius:50%; background:var(--cream-deep); display:flex; align-items:center; justify-content:center;
  margin:0 auto .4rem; color:var(--terracotta-deep); font-size:1.1rem;
}
.perks span{font-size:.68rem; font-weight:600; color:var(--forest-soft); display:block; line-height:1.25;}

/* ---------- section heading ---------- */
.section-head{display:flex; align-items:baseline; justify-content:space-between; padding:0 1rem; margin:1.6rem 0 .8rem;}
.section-head h2{font-size:1.25rem; margin:0;}
.section-head a{font-size:.78rem; font-weight:700; color:var(--terracotta-deep);}

/* ---------- category chips ---------- */
.search-bar-wrap{position:relative; max-width:640px; margin:2rem auto 1.5rem; padding:0 1rem;}
.search-bar{display:flex; align-items:center; gap:.5rem; background:var(--ivory); border:1.5px solid var(--line); border-radius:999px; padding:.65rem 1.1rem;}
.search-bar .search-icon{font-size:.9rem; opacity:.6; flex-shrink:0;}
.search-bar input{flex:1; border:none; background:none; outline:none; font-size:.9rem; color:var(--forest); min-width:0;}
.search-bar input::placeholder{color:#a8a196;}
.search-bar #searchClearBtn{border:none; background:none; cursor:pointer; font-size:.8rem; color:#a8a196; display:none; flex-shrink:0; padding:.2rem;}
.search-bar-wrap.has-query #searchClearBtn{display:block;}
.search-suggestions{
  display:none; position:absolute; left:1rem; right:1rem; top:calc(100% + .4rem); background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.1); max-height:360px; overflow-y:auto; z-index:50;
}
.search-suggestions.open{display:block;}
.search-suggestion-item{display:flex; align-items:center; gap:.7rem; padding:.6rem .9rem; cursor:pointer; text-align:left;}
.search-suggestion-item:hover{background:var(--cream-deep);}
.search-suggestion-item img{width:38px; height:38px; border-radius:8px; object-fit:cover; flex-shrink:0;}
.search-suggestion-item .ss-name{font-size:.84rem; font-weight:600; color:var(--forest); line-height:1.25;}
.search-suggestion-item .ss-meta{font-size:.72rem; color:#8a8a8a;}
.search-suggestion-empty{padding:.9rem; font-size:.82rem; color:#8a8a8a; text-align:center;}
.cat-row{display:flex; gap:1rem; overflow-x:auto; padding:0 1rem .3rem; scrollbar-width:none;}
.cat-row::-webkit-scrollbar{display:none;}
.cat-chip{flex:0 0 auto; text-align:center; width:76px; cursor:pointer; background:none; border:none;}
.cat-chip img{width:66px; height:66px; border-radius:50%; object-fit:cover; border:2px solid var(--ivory); box-shadow:var(--shadow); margin:0 auto .4rem;}
.cat-chip span{font-size:.7rem; font-weight:600; color:var(--forest-soft);}
.cat-chip.active span{color:var(--terracotta-deep);}
.cat-chip.active img{border-color:var(--terracotta);}

/* ---------- product grid ---------- */
.product-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; padding:0 1rem;}
@media(min-width:640px){.product-grid{grid-template-columns:repeat(3,1fr);}}
.product-card{background:var(--ivory); border:1px solid var(--line); border-radius:16px; overflow:hidden; position:relative;}
.product-card .p-img{aspect-ratio:1/1; background:var(--cream-deep); overflow:hidden; position:relative;}
.product-card .p-img img{width:100%; height:100%; object-fit:cover;}
.product-card .p-badge-remark{
  position:absolute; top:.5rem; left:.5rem; background:var(--forest); color:#fff; font-size:.65rem; font-weight:700;
  padding:.2rem .55rem; border-radius:999px; letter-spacing:.02em; z-index:2;
}
.product-card .p-badge-discount{
  position:absolute; top:.5rem; right:.5rem; background:#c0392b; color:#fff; font-size:.65rem; font-weight:800;
  padding:.2rem .5rem; border-radius:8px; z-index:2;
}
.product-card .wishlist-btn{
  position:absolute; bottom:.5rem; right:.5rem; width:32px; height:32px; border-radius:50%; border:none;
  background:rgba(255,255,255,.92); color:var(--forest); display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:2; box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.product-card .wishlist-btn.active{color:#c0392b;}
.product-card .wishlist-btn.active svg{fill:#c0392b;}
.product-card .p-price-mrp{font-size:.78rem; color:#9a9a9a; text-decoration:line-through; font-weight:400; margin-left:.4rem;}
.product-card .p-body{padding:.7rem .8rem .9rem;}
.product-card h3{font-family:'Plus Jakarta Sans',sans-serif; font-size:.82rem; font-weight:700; margin:0 0 .3rem; line-height:1.3; min-height:2.1em;}
.product-card .p-price{font-family:'Playfair Display',serif; font-size:1.05rem; margin-bottom:.5rem;}
.add-cart-btn{
  width:100%; background:var(--terracotta); color:#fff; border:none; border-radius:999px; padding:.5rem; font-size:.75rem;
  font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.3rem;
}
.add-cart-btn:disabled{background:#c9c2b3; cursor:default;}
.add-cart-btn.added{background:var(--forest);}
.p-actions{display:flex; gap:.4rem; align-items:center;}
.p-actions .add-cart-btn{flex:1;}
.p-wa-btn{
  flex-shrink:0; width:34px; height:34px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
}

/* ---------------- add-to-cart toast ---------------- */
.cart-toast{
  position:fixed; left:50%; bottom:-80px; transform:translateX(-50%);
  background:var(--forest); color:var(--cream); border-radius:999px; padding:.7rem 1rem .7rem 1.2rem;
  display:flex; align-items:center; gap:.8rem; font-size:.85rem; font-weight:600; box-shadow:var(--shadow);
  z-index:80; transition:bottom .35s ease;
}
.cart-toast.show{bottom:78px;}
@media(min-width:900px){ .cart-toast.show{bottom:22px;} }
.qty-stepper{display:flex; align-items:center; justify-content:space-between; background:var(--cream-deep); border-radius:999px; padding:.15rem;}
.qty-stepper button{width:28px; height:28px; border-radius:50%; border:none; background:var(--ivory); font-weight:800; cursor:pointer; color:var(--forest);}
.qty-stepper span{font-weight:700; font-size:.85rem;}

/* ---------- trust strip ---------- */
.trust-strip{display:flex; justify-content:space-around; text-align:center; padding:1.5rem 1rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:1.5rem; margin-bottom:1.5rem;}
.trust-strip .num{font-family:'Playfair Display',serif; font-size:1.25rem;}
.trust-strip .label{font-size:.68rem; color:var(--forest-soft);}

/* ---------- newsletter ---------- */
.newsletter-block{background:var(--cream-deep); padding:1.6rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;}
.newsletter-block h3{margin:0 0 .3rem; font-size:1.05rem;}
.newsletter-block p{margin:0; font-size:.8rem; color:var(--forest-soft);}
.newsletter-form{display:flex; gap:.5rem; flex:1 1 260px;}
.newsletter-form input{flex:1; padding:.6rem .8rem; border-radius:999px; border:1px solid var(--line); font-size:.82rem;}
.newsletter-form button{background:var(--terracotta); color:#fff; border:none; border-radius:999px; padding:.6rem 1.1rem; font-size:.78rem; font-weight:700;}

/* ---------- bottom nav ---------- */
.bottom-nav{
  position:fixed; bottom:0; left:0; right:0; background:var(--ivory); border-top:1px solid var(--line);
  display:flex; justify-content:space-around; padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom)); z-index:50;
}
.bottom-nav a{display:flex; flex-direction:column; align-items:center; gap:.15rem; font-size:.62rem; font-weight:600; color:var(--forest-soft);}
.bottom-nav a.active{color:var(--terracotta);}
.bottom-nav svg{width:20px; height:20px;}

/* ---------- forms (login/signup/checkout) ---------- */
.form-card{background:var(--ivory); border:1px solid var(--line); border-radius:20px; padding:1.5rem; max-width:420px; margin:1.5rem auto;}
.form-card.wide-card{max-width:1080px; width:100%; box-sizing:border-box; border-radius:16px; margin:1rem auto;}
.form-card h2{margin:0 0 .3rem;}
.form-card .sub{color:var(--forest-soft); font-size:.85rem; margin-bottom:1.2rem;}
.field{margin-bottom:1rem;}
.field label{display:block; font-size:.78rem; font-weight:700; margin-bottom:.35rem;}
.field input, .field select, .field textarea{width:100%; padding:.65rem .85rem; border-radius:10px; border:1px solid var(--line); font-size:.9rem; background:#fff; font-family:inherit; color:inherit;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--terracotta);}
.field select{appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232B3831' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .85rem center; padding-right:2.2rem;}
.form-alert{padding:.6rem .8rem; border-radius:10px; font-size:.82rem; margin-bottom:1rem;}
.form-alert.error{background:#fbe3e3; color:#a33;}
.form-alert.ok{background:#e4f0e5; color:#356b3d;}
.payment-note{background:var(--cream-deep); border-radius:12px; padding:.7rem .9rem; font-size:.78rem; color:var(--forest-soft); line-height:1.5;}
.form-switch{text-align:center; font-size:.82rem; color:var(--forest-soft); margin-top:1rem;}
.form-switch a{color:var(--terracotta-deep); font-weight:700;}

/* ---------- cart page ---------- */
.cart-item{display:flex; gap:.9rem; padding:1rem; border-bottom:1px solid var(--line); align-items:center;}
.cart-item img{width:64px; height:64px; border-radius:12px; object-fit:cover; flex-shrink:0;}
.cart-item .ci-body{flex:1; min-width:0;}
.cart-item h4{margin:0 0 .2rem; font-size:.88rem;}
.cart-item .ci-price{font-weight:700; font-size:.88rem;}
.remove-btn{color:var(--danger); font-size:.72rem; font-weight:700; background:none; border:none; cursor:pointer; padding:0; margin-top:.3rem;}
.cart-summary{background:var(--ivory); border:1px solid var(--line); border-radius:16px; padding:1.1rem 1.2rem; margin:1rem;}
.summary-row{display:flex; justify-content:space-between; font-size:.85rem; margin-bottom:.5rem;}
.summary-row.total{font-weight:800; font-size:1.05rem; border-top:1px solid var(--line); padding-top:.6rem; margin-top:.6rem;}
.empty-state{text-align:center; padding:3rem 1.5rem; color:var(--forest-soft);}

/* ---------- order tracker ---------- */
.order-card{background:var(--ivory); border:1px solid var(--line); border-radius:16px; padding:1.1rem 1.2rem; margin:0 1rem 1rem;}
.order-card .oc-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:.7rem;}
.tracker{display:flex; justify-content:space-between; position:relative; margin-top:1rem;}
.tracker::before{content:''; position:absolute; top:11px; left:5%; right:5%; height:2px; background:var(--line); z-index:0;}
.tracker-step{flex:1; text-align:center; position:relative; z-index:1;}
.tracker-dot{width:22px; height:22px; border-radius:50%; background:var(--ivory); border:2px solid var(--line); margin:0 auto .4rem; display:flex; align-items:center; justify-content:center; font-size:.65rem; color:#fff;}
.tracker-step.done .tracker-dot{background:var(--terracotta); border-color:var(--terracotta);}
.tracker-step.current .tracker-dot{background:var(--forest); border-color:var(--forest);}
.tracker-step span{font-size:.6rem; font-weight:700; color:var(--forest-soft); display:block;}
.tracker-step.done span, .tracker-step.current span{color:var(--forest);}

/* ---------- desktop nav (hidden on mobile, shown in header on larger screens) ---------- */
.desktop-nav{display:none;}

/* =====================================================
   DESKTOP / LARGER SCREENS
   Constrain width, add breathing room, use the extra
   space instead of stretching mobile-sized blocks edge
   to edge.
   ===================================================== */
@media(min-width:900px){
  body{padding-bottom:0;} /* bottom tab bar is hidden on desktop, no need to reserve space */

  /* header */
  .store-header{padding:1rem 2.5rem;}
  .desktop-nav{display:flex; align-items:center; gap:2rem;}
  .desktop-nav a{font-size:.9rem; font-weight:600; color:var(--forest-soft);}
  .desktop-nav a:hover{color:var(--terracotta);}
  .desktop-nav a.nav-logout{color:var(--terracotta-deep); border:1.5px solid var(--terracotta-deep); border-radius:999px; padding:.35rem .9rem; font-size:.8rem;}
  .desktop-nav a.nav-logout:hover{background:var(--terracotta-deep); color:#fff;}
  /* animated underline on hover for text nav links (not the logout pill) */
  .desktop-nav a:not(.nav-logout){position:relative; padding-bottom:.2rem;}
  .desktop-nav a:not(.nav-logout)::after{
    content:''; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--terracotta);
    transform:scaleX(0); transform-origin:right; transition:transform .28s ease;
  }
  .desktop-nav a:not(.nav-logout):hover::after{transform:scaleX(1); transform-origin:left;}
  .header-actions .header-amazon-btn{display:inline-flex; padding:.5rem 1.1rem; font-size:.82rem;}
  .icon-btn{width:42px; height:42px;}

  /* generic width constraint for full-bleed sections */
  .store-hero, .perks, .cat-row, .product-grid, .trust-strip,
  .newsletter-block, .form-card, .cart-summary, .order-card,
  #cartItems, .section-head{
    max-width:1080px; margin-left:auto; margin-right:auto;
  }

  .ticker-track{padding:.65rem 0;}

  /* hero */
  .store-hero{padding:3.5rem 2rem 3rem; border-radius:24px; text-align:left;}
  .store-hero h1{font-size:3rem; max-width:640px;}
  .store-hero p{font-size:1.05rem; max-width:520px;}

  /* perks */
  .perks{padding:2.5rem 2rem; gap:1.5rem;}
  .perks .perk-icon{width:56px; height:56px; font-size:1.4rem;}
  .perks span{font-size:.8rem;}

  /* section headings */
  .section-head{padding:0 2rem; margin:2.5rem auto 1.2rem;}
  .section-head h2{font-size:1.6rem;}

  /* category row: centered, no drag-scroll needed */
  .cat-row{justify-content:center; flex-wrap:wrap; overflow-x:visible; padding:0 2rem .5rem;}
  .cat-chip{width:96px;}
  .cat-chip img{width:82px; height:82px;}
  .cat-chip span{font-size:.8rem;}

  /* product grid: use the extra width, more columns, bigger cards */
  .product-grid{grid-template-columns:repeat(4,1fr); gap:1.5rem; padding:0 2rem;}
  .product-card h3{font-size:.92rem; min-height:2.4em;}
  .product-card .p-price{font-size:1.2rem;}
  .product-card .p-body{padding:1rem 1.1rem 1.2rem;}
  .add-cart-btn{padding:.65rem; font-size:.82rem;}

  /* trust strip / newsletter */
  .trust-strip{padding:2rem; margin-top:2rem; margin-bottom:2rem; border-radius:16px;}
  .trust-strip .num{font-size:1.6rem;}
  .newsletter-block{padding:2.2rem 2.5rem; border-radius:20px; margin:0 auto;}

  /* forms */
  .form-card{padding:2.2rem; max-width:460px;}

  /* cart / order pages */
  #cartItems{padding:0 2rem;}
  .cart-item{padding:1.1rem 0;}
  .cart-summary{padding:1.4rem 1.6rem;}
  .order-card{margin:0 auto 1.2rem;}

  /* the mobile tab bar is replaced by the header nav on desktop */
  .bottom-nav{display:none;}
  .mobile-only-logout{display:none;}

  /* checkout: order review + form side-by-side, uses the full page width instead of a tiny centered box */
  .checkout-layout{display:grid; grid-template-columns:380px 1fr; gap:2rem; align-items:start; max-width:1080px; margin:0 auto; padding:0 2rem;}
  .checkout-layout .cart-summary#orderReview{position:sticky; top:90px; margin:0;}
  .checkout-layout .form-card{margin:0; max-width:none; width:100%;}
}

@media(min-width:1200px){
  .product-grid{grid-template-columns:repeat(5,1fr);}
}

/* =====================================================
   SITE FOOTER (shared across every page — see render_site_footer())
   ===================================================== */
.site-footer{background:var(--forest); color:rgba(250,246,238,.85); padding:2.5rem 1.2rem 1.4rem; margin-top:2rem;}
.site-footer-grid{display:grid; grid-template-columns:1fr; gap:2rem; max-width:1080px; margin:0 auto;}
.site-footer-brand{display:flex; align-items:center; gap:.6rem;}
.site-footer-brand img{width:40px; height:40px; border-radius:50%; object-fit:cover;}
.site-footer-brand span{font-family:'Cinzel',Georgia,serif; letter-spacing:.1em; font-size:1.05rem; color:#fff;}
.site-footer-desc{font-size:.85rem; line-height:1.6; color:rgba(250,246,238,.7); margin:.9rem 0 0;}
.site-footer-social{display:flex; gap:.6rem; margin-top:1.1rem; flex-wrap:wrap;}
.site-footer-social a{width:36px; height:36px; border-radius:50%; border:1px solid rgba(250,246,238,.25); display:flex; align-items:center; justify-content:center; color:rgba(250,246,238,.85); transition:background .2s;}
.site-footer-social a:hover{background:rgba(250,246,238,.12);}
.site-footer h4{font-family:'Playfair Display',Georgia,serif; font-size:1.05rem; color:#fff; margin:0 0 .9rem; font-weight:600;}
.site-footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem;}
.site-footer-col ul li a{font-size:.85rem; color:rgba(250,246,238,.75); display:inline-flex; align-items:center; gap:.45rem; transition:color .15s;}
.site-footer-col ul li a:hover{color:var(--gold);}
.site-footer-newsletter p{font-size:.85rem; color:rgba(250,246,238,.75); margin:0 0 .8rem;}
.site-footer-newsletter form{display:flex; gap:.5rem;}
.site-footer-newsletter input{flex:1; min-width:0; padding:.65rem .9rem; border-radius:999px; border:none; font-size:.85rem; color:var(--forest); outline:none;}
.site-footer-newsletter button{width:38px; height:38px; border-radius:50%; border:none; background:var(--terracotta); color:#fff; font-size:1rem; flex-shrink:0; cursor:pointer;}
.site-footer-bottom{max-width:1080px; margin:2.2rem auto 0; padding-top:1.2rem; border-top:1px solid rgba(250,246,238,.12); font-size:.72rem; color:rgba(250,246,238,.55); display:flex; flex-wrap:wrap; gap:.6rem 1rem; justify-content:space-between; align-items:center;}
.site-footer-bottom a{color:var(--gold); font-weight:700;}
.site-footer-bottom a.admin-link{color:rgba(250,246,238,.4); font-weight:400;}
@media(min-width:900px){
  .site-footer{padding:3.5rem 2.5rem 2rem;}
  .site-footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr; gap:2.2rem;}
}
