/* ===========================================================
   ETSY TELEMART — Design tokens
   Palette:  --teal (primary/trust) --honey (accent) --ivory (bg)
             --ink (text) --sage (support) --rose (female-care accent)
   Type:     'Fraunces' (display) + 'Inter' (body/UI)
   Signature: apothecary wax-seal badge on product cards +
              hand-drawn botanical divider (no stock photography)
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --teal: #1F4B43;
  --teal-dark: #143530;
  --honey: #D9A441;
  --honey-dark: #B5842E;
  --ivory: #FAF6EE;
  --ivory-2: #F1EADA;
  --ink: #1B2420;
  --ink-soft: #4B5750;
  --sage: #A9BFAF;
  --rose: #C6667A;
  --line: #E2D9C4;
  --white: #FFFFFF;
  --radius: 14px;
  --shadow: 0 6px 24px rgba(27,36,32,0.08);
  --maxw: 1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces',serif;
  color:var(--teal-dark);
  margin:0 0 .4em;
  line-height:1.15;
  font-weight:600;
}
p{line-height:1.6;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--honey);outline-offset:2px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:999px;border:none;
  font-weight:600;font-size:.95rem;letter-spacing:.01em;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{background:var(--teal);color:var(--ivory);}
.btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:var(--shadow);}
.btn-honey{background:var(--honey);color:var(--teal-dark);}
.btn-honey:hover{background:var(--honey-dark);transform:translateY(-1px);}
.btn-outline{background:transparent;border:1.5px solid var(--teal);color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:var(--ivory);}
.btn-block{width:100%;}
.btn-sm{padding:9px 18px;font-size:.85rem;}

/* ---------- Announcement bar ---------- */
.announce{
  background:var(--teal-dark);color:var(--ivory);
  font-size:.82rem;text-align:center;padding:8px 16px;
  letter-spacing:.02em;
}
.announce b{color:var(--honey);}

/* ---------- Header ---------- */
header.site{
  background:var(--ivory);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.header-inner{display:flex;align-items:center;gap:28px;padding:16px 24px;}
.logo{
  font-family:'Fraunces',serif;font-weight:700;font-size:1.5rem;color:var(--teal-dark);
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--honey);display:inline-block;}
nav.main-nav{display:flex;gap:26px;flex:1;}
nav.main-nav a{
  font-size:.92rem;font-weight:600;color:var(--ink);position:relative;padding:6px 0;
}
nav.main-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--honey);
  transition:width .2s ease;
}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:16px;}
.icon-btn{
  position:relative;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--ivory-2);
  border:1px solid var(--line);
}
.icon-btn:hover{background:var(--sage);}
.cart-count{
  position:absolute;top:-4px;right:-4px;background:var(--rose);color:#fff;
  font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.menu-toggle{display:none;background:none;border:none;}

/* ---------- Mobile nav ---------- */
@media (max-width:900px){
  nav.main-nav{
    position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;height:100vh;
    background:var(--ivory);flex-direction:column;gap:0;padding:90px 28px 28px;
    transform:translateX(100%);transition:transform .25s ease;box-shadow:var(--shadow);
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav a{padding:14px 0;border-bottom:1px solid var(--line);width:100%;}
  .menu-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%);
  color:var(--ivory);position:relative;overflow:hidden;
}
.hero-inner{
  max-width:var(--maxw);margin:0 auto;padding:88px 24px 96px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--honey);margin-bottom:18px;
}
.hero h1{color:var(--ivory);font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:.35em;}
.hero p{color:#DCE6E1;font-size:1.05rem;max-width:46ch;margin-bottom:28px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-badges{display:flex;gap:26px;margin-top:44px;flex-wrap:wrap;}
.hero-badge{font-size:.82rem;color:#CBD8D1;display:flex;align-items:center;gap:8px;}
.hero-art{
  aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#3A6B60 0%,var(--teal-dark) 70%);
  position:relative;display:flex;align-items:center;justify-content:center;
}
.hero-art svg{width:64%;height:64%;}

/* ---------- Botanical divider (signature) ---------- */
.divider{
  height:34px;width:100%;
  background-repeat:repeat-x;background-size:64px 34px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='34' viewBox='0 0 64 34'><path d='M0 17 C 10 4, 20 4, 32 17 C 44 30, 54 30, 64 17' fill='none' stroke='%23D9A441' stroke-width='1.6'/><circle cx='32' cy='17' r='2.4' fill='%231F4B43'/></svg>");
  opacity:.6;
}

/* ---------- Section titles ---------- */
.section{padding:76px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:20px;flex-wrap:wrap;}
.section-head .eyebrow{
  font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--rose);
  display:block;margin-bottom:8px;
}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.section-head p{max-width:52ch;}

/* ---------- Category grid ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cat-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 20px;text-align:center;transition:transform .18s ease,box-shadow .18s ease;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.cat-icon{
  width:56px;height:56px;border-radius:50%;background:var(--ivory-2);margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
}
.cat-icon svg{width:26px;height:26px;stroke:var(--teal);}
.cat-card h4{font-size:1rem;margin-bottom:2px;}
.cat-card span{font-size:.8rem;color:var(--ink-soft);}

@media (max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Product grid & card (signature wax-seal badge) ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.product-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:box-shadow .18s ease, transform .18s ease;
}
.product-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.product-media{
  aspect-ratio:1/1;position:relative;display:flex;align-items:center;justify-content:center;
  background:var(--pc-bg,var(--ivory-2));
}
.product-media svg{width:42%;height:42%;stroke:var(--teal-dark);opacity:.85;}
.seal{
  position:absolute;top:12px;left:12px;width:52px;height:52px;border-radius:50%;
  background:var(--honey);color:var(--teal-dark);font-family:'Fraunces',serif;font-weight:700;
  font-size:.68rem;line-height:1.05;display:flex;align-items:center;justify-content:center;
  text-align:center;box-shadow:0 3px 8px rgba(0,0,0,.18);border:2px dashed rgba(27,36,32,.35);
  transform:rotate(-8deg);
}
.wish-btn{
  position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.product-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.product-cat{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rose);}
.product-body h3{font-size:.98rem;font-weight:600;color:var(--ink);font-family:'Inter',sans-serif;}
.product-price{display:flex;align-items:baseline;gap:8px;margin-top:2px;}
.product-price .now{font-weight:700;color:var(--teal-dark);font-size:1.05rem;}
.product-price .old{font-size:.85rem;color:#9AA69F;text-decoration:line-through;}
.product-actions{margin-top:auto;padding-top:10px;}

@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:720px){.product-grid,.cat-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Deal strip ---------- */
.deal-strip{
  background:var(--honey);border-radius:var(--radius);padding:32px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  color:var(--teal-dark);
}
.deal-strip h3{color:var(--teal-dark);margin-bottom:4px;}
.timer{display:flex;gap:10px;}
.timer div{
  background:var(--teal-dark);color:var(--honey);border-radius:8px;padding:8px 12px;text-align:center;min-width:56px;
}
.timer span{display:block;font-weight:700;font-size:1.1rem;font-family:'Fraunces',serif;}
.timer small{font-size:.65rem;color:#CBD8D1;}

/* ---------- Trust strip ---------- */
.trust-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.trust-item{display:flex;gap:14px;align-items:flex-start;}
.trust-item svg{width:30px;height:30px;stroke:var(--teal);flex-shrink:0;}
.trust-item h4{font-size:.95rem;margin-bottom:2px;font-family:'Inter',sans-serif;font-weight:700;}
.trust-item p{font-size:.83rem;margin:0;}
@media (max-width:900px){.trust-strip{grid-template-columns:repeat(2,1fr);}}

/* ---------- Newsletter ---------- */
.newsletter{
  background:var(--teal);color:var(--ivory);border-radius:var(--radius);
  padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.newsletter h3{color:var(--ivory);}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter input{
  padding:13px 16px;border-radius:999px;border:none;min-width:240px;font-family:inherit;
}

/* ---------- Footer ---------- */
footer.site{background:var(--teal-dark);color:#CBD8D1;padding:64px 0 24px;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:40px;}
.footer-grid h4{color:var(--ivory);font-size:.95rem;margin-bottom:16px;font-family:'Inter',sans-serif;letter-spacing:.03em;text-transform:uppercase;}
.footer-grid p, .footer-grid a{font-size:.87rem;color:#B9C8C1;}
.footer-grid ul li{margin-bottom:10px;}
.footer-grid a:hover{color:var(--honey);}
.footer-logo{font-family:'Fraunces',serif;color:var(--ivory);font-size:1.3rem;font-weight:700;margin-bottom:12px;display:block;}
.social-row{display:flex;gap:10px;margin-top:16px;}
.social-row a{
  width:34px;height:34px;border-radius:50%;border:1px solid #3A5A52;
  display:flex;align-items:center;justify-content:center;
}
.footer-bottom{
  border-top:1px solid #2C4941;padding-top:22px;display:flex;justify-content:space-between;
  font-size:.8rem;color:#94A69D;flex-wrap:wrap;gap:10px;
}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.83rem;color:var(--ink-soft);padding:20px 0;}
.breadcrumb a:hover{color:var(--teal);}

/* ---------- Shop page: filters + grid ---------- */
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;}
.filters{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;
  position:sticky;top:96px;
}
.filters h4{font-size:.9rem;margin-bottom:14px;}
.filter-group{margin-bottom:22px;}
.filter-group label{display:flex;align-items:center;gap:8px;font-size:.87rem;margin-bottom:9px;color:var(--ink-soft);}
.price-range{width:100%;}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
.shop-toolbar select{padding:9px 12px;border-radius:8px;border:1px solid var(--line);background:var(--white);}
@media (max-width:900px){.shop-layout{grid-template-columns:1fr;} .filters{position:static;}}

/* ---------- Product detail ---------- */
.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.pd-media-main{
  aspect-ratio:1/1;border-radius:var(--radius);background:var(--ivory-2);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.pd-media-main svg{width:38%;height:38%;stroke:var(--teal-dark);}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;}
.pd-thumbs div{
  width:64px;height:64px;border-radius:8px;background:var(--ivory-2);border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.pd-thumbs svg{width:26px;height:26px;stroke:var(--teal);}
.pd-info h1{font-size:1.7rem;}
.pd-rating{display:flex;align-items:center;gap:8px;margin:8px 0 16px;font-size:.85rem;color:var(--ink-soft);}
.pd-price{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;}
.pd-price .now{font-size:1.7rem;font-weight:700;color:var(--teal-dark);font-family:'Fraunces',serif;}
.pd-price .old{font-size:1.05rem;color:#9AA69F;text-decoration:line-through;}
.save-badge{background:#EFE3C4;color:var(--honey-dark);padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;}
.pd-desc{margin:18px 0;}
.qty-row{display:flex;align-items:center;gap:16px;margin:22px 0;}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;}
.qty-stepper button{background:var(--ivory-2);border:none;width:38px;height:38px;font-size:1.1rem;}
.qty-stepper span{width:40px;text-align:center;font-weight:600;}
.pd-actions{display:flex;gap:14px;flex-wrap:wrap;}
.pd-meta{margin-top:24px;font-size:.85rem;color:var(--ink-soft);}
.pd-meta div{margin-bottom:6px;}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:52px 0 24px;}
.tab-btn{background:none;border:none;padding:10px 0;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;}
.tab-btn.active{color:var(--teal-dark);border-color:var(--honey);}
.tab-panel{display:none;} .tab-panel.active{display:block;}
@media (max-width:900px){.pd-layout{grid-template-columns:1fr;}}

/* ---------- Cart page ---------- */
.cart-table{width:100%;border-collapse:collapse;}
.cart-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding-bottom:14px;border-bottom:1px solid var(--line);}
.cart-table td{padding:18px 0;border-bottom:1px solid var(--line);vertical-align:middle;}
.cart-line{display:flex;gap:14px;align-items:center;}
.cart-thumb{width:64px;height:64px;border-radius:10px;background:var(--ivory-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cart-thumb svg{width:28px;height:28px;stroke:var(--teal);}
.remove-link{color:var(--rose);font-size:.8rem;font-weight:600;}
.cart-summary{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.summary-row{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:12px;color:var(--ink-soft);}
.summary-row.total{font-weight:700;color:var(--ink);font-size:1.1rem;border-top:1px solid var(--line);padding-top:14px;margin-top:6px;}
.cart-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start;}
.empty-state{text-align:center;padding:80px 20px;}
.empty-state svg{width:64px;height:64px;stroke:var(--sage);margin:0 auto 18px;}
@media (max-width:900px){.cart-grid{grid-template-columns:1fr;} .cart-table thead{display:none;} .cart-table td{display:block;border:none;padding:6px 0;} .cart-table tr{display:block;border-bottom:1px solid var(--line);padding:16px 0;}}

/* ---------- Checkout ---------- */
.checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-family:inherit;background:var(--white);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pay-option{
  border:1.5px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;gap:12px;align-items:center;margin-bottom:10px;
}
.pay-option input{width:auto;}
@media (max-width:900px){.checkout-grid,.form-row{grid-template-columns:1fr;}}

/* ---------- Generic content pages ---------- */
.content-page h2{margin-top:34px;}
.content-page p, .content-page li{color:var(--ink-soft);}
.content-page ul{list-style:disc;padding-left:22px;margin-bottom:16px;}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--teal-dark);color:var(--ivory);padding:13px 22px;border-radius:999px;
  font-size:.88rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:all .25s ease;z-index:200;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none;}}
