/* ═══════════════════════════════════════════════════════════════
   TOOTGREEN — SHARED STYLESHEET
   Brand kit applied: Nunito display, DM Sans body, forest greens
═══════════════════════════════════════════════════════════════ */

:root {
  --g:       #2e7d32;   /* Brand Green */
  --g-dk:    #1b5e20;   /* Deep Forest */
  --g-mid:   #388e3c;   /* Mid Green */
  --g-leaf:  #66bb6a;   /* Leaf */
  --g-lt:    #e8f5e9;   /* Pale Mint */
  --ink:     #0d2010;   /* Deep ink */
  --body:    #546e57;   /* Grey-green body text */
  --muted:   #7a9b7d;
  --rule:    #ddeedd;
  --bg:      #f4f8f4;
  --white:   #ffffff;
  --etsy:    #f1641e;
  --amz:     #ff9900;
  --amz-dk:  #e47911;
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:20px; }
body { background:var(--white); color:var(--body); font-family:'DM Sans',sans-serif; font-weight:400; line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-thumb { background:var(--g); }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:inherit; border:none; background:none; }

/* ── Nav ── */
#nav {
  position:sticky; top:0; z-index:200;
  background:var(--white);
  border-bottom:3px solid var(--g);
  box-shadow:0 2px 12px rgba(46,125,50,.10);
  height:68px; display:flex; align-items:center;
}
.nav-inner { max-width:1200px; margin:0 auto; width:100%; padding:0 2.5rem; display:flex; align-items:center; justify-content:space-between; }

/* Logo */
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo-icon {
  width:38px; height:38px; background:var(--g); border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.nav-logo-icon span {
  font-family:'Nunito',sans-serif; font-weight:900; font-size:14px;
  color:white; letter-spacing:-1px; line-height:1;
}
.nav-logo-word {
  font-family:'Nunito',sans-serif; font-weight:900; font-size:1.5rem;
  letter-spacing:-0.5px; line-height:1;
}
.nav-logo-word .logo-toot { color:var(--g); }
.nav-logo-word .logo-green { color:var(--ink); }

/* Footer logo — on dark background Green becomes white */
.footer-logo .logo-toot { color:var(--g-leaf); }
.footer-logo .logo-green { color:#fff; }

.nav-links { display:flex; gap:0; list-style:none; align-items:center; height:68px; flex-wrap:nowrap; overflow:hidden; }
.nav-links li { display:flex; align-items:center; flex-shrink:0; }
.nav-links a {
  font-family:'DM Sans',sans-serif; font-size:0.75rem; font-weight:600;
  letter-spacing:0.02em; color:var(--body); padding:0 0.7rem; height:100%;
  border-bottom:3px solid transparent; transition:color 0.2s,border-color 0.2s;
  display:flex; align-items:center; white-space:nowrap;
}
.nav-links a:hover { color:var(--g); }
.nav-links a.active { color:var(--g-dk); border-bottom-color:var(--g); }
.nav-sep { color:var(--rule); font-size:0.9rem; padding:0; pointer-events:none; flex-shrink:0; }
.nav-shop-btns { display:flex; align-items:center; gap:0.4rem; flex-shrink:0; }
.nav-shop-sep { width:1px; height:18px; background:var(--rule); }
.nav-etsy-btn {
  background:var(--etsy); color:#fff !important; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  width:36px; height:34px; transition:background 0.2s,transform 0.2s;
  border-bottom:none !important; flex-shrink:0; padding:0;
}
.nav-etsy-btn:hover { background:#d9581a; transform:translateY(-1px); }
.nav-amz-btn {
  background:#232f3e; color:#ff9900 !important; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  width:36px; height:34px; transition:background 0.2s,transform 0.2s;
  border-bottom:none !important; flex-shrink:0; padding:0;
}
.nav-amz-btn:hover { background:#131921; transform:translateY(-1px); }
.mob-menu { display:none; font-size:1.3rem; color:var(--ink); cursor:pointer; background:none; border:none; }
.mob-nav {
  display:none; position:fixed; inset:0; top:68px; background:var(--white);
  z-index:199; flex-direction:column; padding:2rem;
  border-top:3px solid var(--g); gap:0;
}
.mob-nav.open { display:flex; }
.mob-nav a {
  font-family:'DM Sans',sans-serif; font-size:1.1rem; font-weight:600;
  color:var(--ink); padding:1.1rem 0; border-bottom:1px solid var(--rule); display:block;
}
.mob-nav a.mob-etsy {
  background:var(--etsy); color:#fff; border-radius:6px;
  padding:0.8rem 1.2rem; margin-top:1rem; text-align:center; border:none;
}

/* ── Layout ── */
.wrap { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.section { padding:5rem 0; }
.eyebrow {
  font-size:0.72rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--g-mid); margin-bottom:0.6rem;
}
.display { font-family:'Nunito',sans-serif; font-weight:900; letter-spacing:-0.03em; color:var(--ink); line-height:1.05; }
.display-xl { font-size:clamp(2.6rem,5vw,4.2rem); }
.display-lg { font-size:clamp(2rem,3.5vw,3rem); }
.lead { font-size:1.05rem; color:var(--body); line-height:1.75; max-width:560px; }
.muted-text { color:var(--muted); font-size:0.88rem; }
.rule { height:1px; background:var(--rule); border:none; }

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; gap:0.4rem;
  font-family:'DM Sans',sans-serif; font-size:0.84rem; font-weight:700;
  letter-spacing:0.02em; padding:0.8rem 1.8rem; transition:all 0.2s;
  border-radius:6px; cursor:pointer; border:none; text-decoration:none;
}
.btn-solid { background:var(--ink); color:#fff; }
.btn-solid:hover { background:#1a2e1a; transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,0.15); }
.btn-green { background:var(--g); color:#fff; }
.btn-green:hover { background:var(--g-dk); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--ink); border:2px solid var(--rule); }
.btn-outline:hover { border-color:var(--g); color:var(--g); }
.btn-etsy { background:var(--etsy); color:#fff; }
.btn-etsy:hover { background:#d9581a; transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--g-dk); font-size:0.82rem; padding:0; font-weight:700; }
.btn-ghost:hover { color:var(--g); }
.btn-ghost::after { content:' →'; }

/* ── Tags ── */
.tag { display:inline-block; font-size:0.62rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.22rem 0.6rem; border-radius:100px; }
.tag-green { background:var(--g-lt); color:var(--g-dk); }
.tag-dark  { background:var(--ink); color:#fff; }

/* ── Reveal ── */
.reveal { opacity:1; transform:translateY(0); transition:opacity 0.55s ease,transform 0.55s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:0.08s; }
.reveal-d2 { transition-delay:0.16s; }
.reveal-d3 { transition-delay:0.24s; }
.reveal-d4 { transition-delay:0.32s; }

/* ── Trust bar ── */
.trust-bar { background:var(--g-lt); border-top:1px solid rgba(46,125,50,0.2); border-bottom:1px solid rgba(46,125,50,0.2); padding:1rem 0; }
.trust-list { display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:0.5rem; font-size:0.82rem; font-weight:600; color:var(--g-dk); }

/* ── Product cards ── */
.feat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.product-card { background:var(--white); border:1.5px solid var(--rule); border-radius:10px; overflow:hidden; cursor:pointer; transition:all 0.22s; display:flex; flex-direction:column; }
.product-card:hover { border-color:var(--g); box-shadow:0 8px 28px rgba(46,125,50,0.12); transform:translateY(-3px); }
.product-img { aspect-ratio:1; overflow:hidden; background:var(--bg); position:relative; }
.product-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.product-card:hover .product-img img { transform:scale(1.04); }
.product-body { padding:1rem; flex:1; display:flex; flex-direction:column; }
.product-name { font-family:'Nunito',sans-serif; font-weight:800; font-size:0.95rem; color:var(--ink); line-height:1.3; margin-bottom:0.3rem; }
.product-type { font-size:0.75rem; color:var(--muted); margin-bottom:0.6rem; }
.product-foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; }
.product-price { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.05rem; color:var(--g-dk); }
.product-buy-row { display:grid; gap:0.5rem; margin-top:0.9rem; padding-top:0.9rem; border-top:1px solid var(--rule); }
.buy-btn { display:flex; align-items:center; gap:0.35rem; padding:0.5rem 0.6rem; border-radius:6px; text-decoration:none; transition:all 0.18s; min-width:0; }
.buy-btn .buy-icon { font-size:0.85rem; flex-shrink:0; }
.buy-btn .buy-label { font-family:'DM Sans',sans-serif; font-size:0.62rem; line-height:1.25; display:flex; flex-direction:column; min-width:0; }
.buy-btn .buy-label strong { font-size:0.72rem; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.buy-etsy { background:#fff4ef; border:1.5px solid #f1641e; color:#c04a10; }
.buy-etsy:hover { background:#f1641e; color:#fff; transform:translateY(-1px); }
.buy-amz { background:#fffbf0; border:1.5px solid #ff9900; color:#8a5200; }
.buy-amz:hover { background:#ff9900; color:var(--ink); transform:translateY(-1px); }

/* Amazon "Coming Soon" wrapper */
.amz-wrap { position:relative; display:inline-flex; }
.amz-wrap .buy-amz.coming-soon { opacity:0.6; pointer-events:none; cursor:default; filter:grayscale(0.3); }
.amz-coming-banner {
  position:absolute; top:-6px; right:-6px;
  background:#ff9900; color:#fff;
  font-family:'DM Sans',sans-serif; font-size:0.48rem; font-weight:700;
  letter-spacing:0.04em; text-transform:uppercase;
  padding:1px 5px; border-radius:3px;
  pointer-events:none; white-space:nowrap;
  box-shadow:0 1px 3px rgba(0,0,0,0.25);
  z-index:2;
}

/* ── CTA strip ── */
.cta-strip { background:var(--g-dk); color:#fff; padding:4rem 0; }
.cta-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.cta-strip .display { color:#fff; }
.cta-strip em { font-style:italic; color:var(--g-leaf); }


/* ── Shop ── */
.shop-header { padding:3rem 0 2rem; border-bottom:1px solid var(--rule); }
.shop-controls { display:flex; align-items:center; gap:1rem; margin-top:1.5rem; flex-wrap:wrap; }
.search-box { display:flex; align-items:center; gap:0.5rem; border:1.5px solid var(--rule); border-radius:6px; padding:0.55rem 1rem; background:var(--white); transition:border-color 0.2s; flex:1; max-width:480px; }
.search-box:focus-within { border-color:var(--g); }
.search-box input { border:none; outline:none; font-family:inherit; font-size:0.78rem; color:var(--ink); background:transparent; width:100%; }
.search-box input::placeholder { color:var(--muted); }
.filter-chips { display:flex; gap:0.5rem; flex-wrap:wrap; }
.chip { font-family:'DM Sans',sans-serif; font-size:0.72rem; font-weight:600; padding:0.4rem 0.9rem; border-radius:100px; border:1.5px solid var(--rule); background:var(--white); cursor:pointer; transition:all 0.18s; color:var(--body); }
.chip:hover { border-color:var(--g); color:var(--g-dk); }
.chip.on { border-color:var(--g); background:var(--g-lt); color:var(--g-dk); font-weight:700; }
.sort-sel { margin-left:auto; font-family:'DM Sans',sans-serif; font-size:0.78rem; border:1.5px solid var(--rule); border-radius:6px; padding:0.45rem 0.8rem; color:var(--body); background:var(--white); outline:none; cursor:pointer; }
.sort-sel:focus { border-color:var(--g); }
.shop-grid-wrap { padding:3rem 0; }
.results-meta { font-size:0.78rem; color:var(--muted); margin-bottom:1.5rem; }
.shop-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.no-results { text-align:center; padding:5rem 2rem; color:var(--muted); grid-column:1/-1; }
.sync-banner { display:none; align-items:center; gap:0.5rem; padding:0.6rem 1rem; border-radius:6px; font-size:0.78rem; font-weight:600; margin-bottom:1rem; }
.sync-banner.loading { display:flex; background:#fff4e0; color:#92600a; border:1px solid #f5c842; }
.sync-banner.success { display:flex; background:var(--g-lt); color:var(--g-dk); border:1px solid rgba(46,125,50,0.3); }
.sync-banner.error   { display:flex; background:#fff0f0; color:#a00; border:1px solid #f5c8c8; }

/* ── Occasion filter ── */
.occ-filter-wrap { display:flex; align-items:center; gap:0.8rem; margin-top:1.2rem; flex-wrap:wrap; padding:0.9rem 1.1rem; background:var(--g-lt); border-radius:8px; border:1px solid rgba(46,125,50,0.2); }
.occ-label { font-size:0.7rem; font-weight:700; color:var(--g-dk); letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; }
.occ-chips { display:flex; gap:0.4rem; flex-wrap:wrap; }
.occ-chip { font-family:'DM Sans',sans-serif; font-size:0.72rem; font-weight:600; padding:0.35rem 0.85rem; border-radius:100px; border:1.5px solid rgba(46,125,50,0.35); background:var(--white); cursor:pointer; transition:all 0.18s; color:var(--g-dk); }
.occ-chip:hover { border-color:var(--g-dk); background:rgba(46,125,50,0.08); }
.occ-chip.on { border-color:var(--g-dk); background:var(--g); color:#fff; font-weight:700; }

/* ── Collections grid ── */
.collections-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:2.5rem; }
.col-card { position:relative; border-radius:14px; overflow:hidden; cursor:pointer; transition:transform 0.28s ease,box-shadow 0.28s ease; aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:flex-end; border:none; background:none; text-align:left; text-decoration:none; }
.col-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,0.15); }
.col-card-bg { position:absolute; inset:0; transition:transform 0.5s ease; }
.col-card:hover .col-card-bg { transform:scale(1.04); }
.col-mugs .col-card-bg     { background:linear-gradient(145deg,#1a1a2e,#16213e 50%,#0f3460); }
.col-badges .col-card-bg   { background:linear-gradient(145deg,#2d1b69,#11998e); }
.col-clothing .col-card-bg { background:linear-gradient(145deg,#134e5e,#71b280); }
.col-teddies .col-card-bg  { background:linear-gradient(145deg,#c94b4b,#4b134f); }
.col-posters .col-card-bg  { background:linear-gradient(145deg,#1a1a1a,#3d3d3d 60%,#1a1a1a); }
.col-cards .col-card-bg    { background:linear-gradient(145deg,#b06ab3,#4568dc); }
.col-walldeco .col-card-bg { background:linear-gradient(145deg,#4e342e,#be9a6e); }
.col-slate .col-card-bg    { background:linear-gradient(145deg,#373b44,#4286f4); }
.col-cushions .col-card-bg { background:linear-gradient(145deg,#2b5329,#1a3a1a); }
.col-other .col-card-bg    { background:linear-gradient(145deg,#654ea3,#eaafc8); }
.col-card-shape { position:absolute; border-radius:50%; opacity:0.12; pointer-events:none; }
.shape-1 { width:180px; height:180px; background:#fff; top:-40px; right:-40px; }
.shape-2 { width:100px; height:100px; background:#fff; bottom:60px; left:-30px; }
.col-card-icon { position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); font-size:4rem; filter:drop-shadow(0 4px 12px rgba(0,0,0,0.3)); transition:transform 0.3s ease; pointer-events:none; }
.col-card:hover .col-card-icon { transform:translate(-50%,-65%) scale(1.12); }
.col-new-badge { position:absolute; top:1rem; right:1rem; background:var(--g); color:#fff; font-family:'DM Sans',sans-serif; font-size:0.6rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.25rem 0.6rem; border-radius:100px; }
.col-card-foot { position:relative; z-index:2; padding:1.2rem; background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,transparent 100%); }
.col-card-name { font-family:'Nunito',sans-serif; font-weight:800; font-size:1rem; color:#fff; line-height:1.2; margin-bottom:0.25rem; }
.col-card-meta { font-family:'DM Sans',sans-serif; font-size:0.68rem; color:rgba(255,255,255,0.65); display:flex; align-items:center; justify-content:space-between; }
.col-card-arrow { width:24px; height:24px; background:rgba(255,255,255,0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.75rem; color:#fff; transition:background 0.2s,transform 0.2s; flex-shrink:0; }
.col-card:hover .col-card-arrow { background:var(--g); color:#fff; transform:translateX(3px); }

/* ── Hero ── */
.hero { padding:6rem 0 5rem; border-bottom:1px solid var(--rule); }
.hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.hero-badge { display:flex; align-items:center; gap:0.6rem; margin-bottom:1.4rem; }
.hero-title { margin-bottom:1.2rem; }
.hero-title em { font-style:italic; color:var(--g); }
.hero-body { margin-bottom:2rem; }
.hero-actions { display:flex; gap:0.8rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.hero-stats { display:flex; gap:0; border-top:1px solid var(--rule); padding-top:1.8rem; margin-top:0.5rem; }
.hero-stat { flex:1; padding-right:1.5rem; border-right:1px solid var(--rule); margin-right:1.5rem; }
.hero-stat:last-child { border:none; margin:0; padding:0; }
.hero-stat-num { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.8rem; color:var(--g-dk); line-height:1; }
.hero-stat-label { font-size:0.72rem; color:var(--muted); margin-top:0.2rem; font-weight:600; }
.hero-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:240px 180px; gap:0.75rem; }
.mosaic-item { border-radius:10px; overflow:hidden; background:var(--g-lt); position:relative; }
.mosaic-item.tall { grid-row:span 2; }
.mosaic-item img { width:100%; height:100%; object-fit:cover; }
.mosaic-badge { position:absolute; bottom:0.7rem; left:0.7rem; }

/* ── Forms ── */
.custom-hero { padding:5rem 0 4rem; border-bottom:1px solid var(--rule); background:var(--g-lt); }
.custom-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.process-list { display:flex; flex-direction:column; gap:0; margin-top:2.5rem; }
.process-step { display:flex; gap:1.2rem; padding:1.4rem 0; border-bottom:1px solid rgba(46,125,50,0.2); align-items:flex-start; }
.process-step:last-child { border:none; }
.step-num { width:36px; height:36px; border-radius:50%; background:var(--g); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Nunito',sans-serif; font-weight:900; font-size:0.95rem; flex-shrink:0; }
.step-title { font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.9rem; color:var(--ink); margin-bottom:0.2rem; }
.step-desc { font-size:0.83rem; color:var(--body); line-height:1.6; }
.custom-form-card { background:var(--white); border:1.5px solid rgba(46,125,50,0.25); border-radius:14px; padding:2.5rem; box-shadow:0 8px 40px rgba(46,125,50,0.1); }
.form-title { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.5rem; color:var(--ink); margin-bottom:0.4rem; }
.form-sub { font-size:0.85rem; color:var(--muted); margin-bottom:1.8rem; }
.form-group { margin-bottom:1.2rem; }
.form-label { font-size:0.75rem; font-weight:700; color:var(--ink); margin-bottom:0.4rem; display:block; letter-spacing:0.04em; text-transform:uppercase; }
.form-input,.form-textarea,.form-select { width:100%; border:1.5px solid var(--rule); border-radius:6px; padding:0.7rem 0.9rem; font-family:inherit; font-size:0.88rem; color:var(--ink); background:var(--white); outline:none; transition:border-color 0.2s; }
.form-input:focus,.form-textarea:focus,.form-select:focus { border-color:var(--g); }
.form-textarea { min-height:110px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-note { font-size:0.75rem; color:var(--muted); margin-top:0.4rem; }
.form-success { display:none; background:var(--g-lt); border:1.5px solid var(--g); border-radius:8px; padding:1.5rem; text-align:center; margin-top:1rem; }
.form-success.show { display:block; }
.custom-types-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.custom-type-card { padding:1.5rem; border:1.5px solid var(--rule); border-radius:10px; background:var(--white); transition:all 0.2s; text-align:center; }
/*.custom-type-card:hover { border-color:var(--g); background:var(--g-lt); }*/
.ctc-icon { font-size:2rem; margin-bottom:0.7rem; display:block; }
.ctc-name { font-family:'Nunito',sans-serif; font-weight:800; font-size:0.9rem; color:var(--ink); }
.ctc-desc { font-size:0.73rem; color:var(--muted); margin-top:0.2rem; }

/* ── About ── */
.about-hero { padding:5rem 0 4rem; border-bottom:1px solid var(--rule); }
.about-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-img-stack { position:relative; }
.about-img-main { border-radius:12px; overflow:hidden; aspect-ratio:4/5; background:var(--g-lt); display:flex; align-items:center; justify-content:center; }
.about-img-main img { width:100%; height:100%; object-fit:cover; }
.about-stat-card { position:absolute; bottom:-1.5rem; left:-1.5rem; background:var(--g); border-radius:12px; padding:1.2rem 1.5rem; box-shadow:0 8px 30px rgba(46,125,50,0.3); }
.asc-num { font-family:'Nunito',sans-serif; font-weight:900; font-size:2rem; color:#fff; line-height:1; }
.asc-label { font-size:0.7rem; font-weight:700; color:rgba(255,255,255,0.75); margin-top:0.2rem; letter-spacing:0.05em; text-transform:uppercase; }
.values-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:2rem; }
.value-card { padding:1.4rem; border:1.5px solid var(--rule); border-radius:10px; background:var(--white); transition:border-color 0.2s; }
/*.value-card:hover { border-color:var(--g); }*/
.value-icon { font-size:1.4rem; margin-bottom:0.6rem; display:block; }
.value-title { font-family:'Nunito',sans-serif; font-weight:800; font-size:0.9rem; color:var(--ink); margin-bottom:0.25rem; }
.value-desc { font-size:0.78rem; color:var(--muted); line-height:1.6; }
.timeline { display:flex; flex-direction:column; gap:0; }
.tl-item { display:grid; grid-template-columns:80px 1fr; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--rule); }
.tl-item:last-child { border:none; }
.tl-year { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.1rem; color:var(--g); }
.tl-text { font-size:0.9rem; color:var(--body); line-height:1.7; }
.tl-text strong { color:var(--ink); font-weight:700; }
.about-stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule); }
.about-stat-item { background:var(--white); padding:2rem; text-align:center; }
.asi-num { font-family:'Nunito',sans-serif; font-weight:900; font-size:2.2rem; color:var(--g-dk); line-height:1; }
.asi-label { font-size:0.75rem; color:var(--muted); margin-top:0.4rem; letter-spacing:0.05em; font-weight:600; }

/* ── Contact ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.contact-info-list { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.ci-item { display:flex; gap:1rem; align-items:flex-start; }
.ci-icon { width:42px; height:42px; border-radius:10px; background:var(--g-lt); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.ci-label { font-size:0.72rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.2rem; }
.ci-value { font-size:0.9rem; color:var(--ink); }
.ci-value a { color:var(--g-dk); font-weight:600; }

/* ── Policy page ── */
.policy-block { display:grid; grid-template-columns:48px 1fr; gap:1.5rem; padding:2rem 0; border-bottom:1px solid var(--rule); align-items:flex-start; }
.policy-block:last-child { border:none; }
.policy-icon { font-size:1.8rem; margin-top:0.2rem; }
.policy-title { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.25rem; color:var(--ink); margin-bottom:1rem; }
.policy-body p { font-size:0.92rem; color:var(--body); line-height:1.8; margin-bottom:0.8rem; }
.policy-body p:last-child { margin-bottom:0; }
.policy-note { font-size:0.78rem !important; color:var(--muted) !important; }
.policy-table { border:1.5px solid var(--rule); border-radius:8px; overflow:hidden; margin:1rem 0; font-size:0.82rem; }
.pt-row { display:grid; grid-template-columns:2fr 1fr 1.5fr; padding:0.65rem 1rem; border-bottom:1px solid var(--rule); }
.pt-row:last-child { border:none; }
.pt-head { background:var(--bg); font-weight:700; font-size:0.72rem; letter-spacing:0.05em; color:var(--muted); text-transform:uppercase; }

/* ── Image placeholders ── */
.img-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f0f4f0; border:2px dashed #c8ddc8; gap:0.5rem; padding:1rem; text-align:center; }
.img-placeholder .ph-icon { font-size:2rem; opacity:0.35; }
.img-placeholder .ph-label { font-family:'DM Sans',sans-serif; font-size:0.62rem; font-weight:700; color:#9ab09a; letter-spacing:0.08em; text-transform:uppercase; line-height:1.4; word-break:break-all; }
.img-placeholder .ph-hint { font-size:0.58rem; color:#b8cdb8; font-family:'DM Sans',sans-serif; margin-top:0.2rem; }

/* ── Footer ── */
#footer { background:var(--g-dk); color:rgba(255,255,255,0.6); padding:4rem 0 2rem; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:1.2rem;}
.footer-logo { font-family:'Nunito',sans-serif; font-weight:900; font-size:1.6rem; color:#fff; letter-spacing:-0.5px; margin-bottom:0.8rem; display:flex; align-items:center; gap:10px; }
.footer-logo-icon { width:34px; height:34px; background:rgba(255,255,255,0.15); border-radius:7px; display:flex; align-items:center; justify-content:center; }
.footer-logo-icon span { font-family:'Nunito',sans-serif; font-weight:900; font-size:13px; color:white; letter-spacing:-1px; }
.footer-desc { font-size:0.83rem; line-height:1.7; max-width:280px; margin-bottom:1.5rem; }
.footer-col-head { font-size:0.68rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:#fff; margin-bottom:1rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:0.5rem; }
.footer-links a { font-size:0.83rem; cursor:pointer; transition:color 0.2s; }
.footer-links a:hover { color:var(--g-leaf); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:1rem; }
.footer-copy,.footer-love { font-size:0.65rem; }
.footer-love span { color:var(--g-leaf); }

/* ── Hero search panel ── */
.hero-right-panel { display:flex; flex-direction:column; gap:1.2rem; }
.hero-search-card { background:var(--white); border:2px solid var(--rule); border-radius:14px; padding:1.8rem; box-shadow:0 4px 24px rgba(46,125,50,0.08); }
.hero-search-box { display:flex; gap:0; border:2px solid var(--g); border-radius:8px; overflow:hidden; }
.hero-search-box input { flex:1; border:none; outline:none; padding:0.8rem 1rem; font-family:inherit; font-size:0.95rem; color:var(--ink); }
.hero-search-btn { background:var(--g); color:#fff; border:none; padding:0.8rem 1.4rem; font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.9rem; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.hero-search-btn:hover { background:var(--g-dk); }
.hero-search-results { margin-top:0.8rem; display:flex; flex-direction:column; gap:0.4rem; }
.hero-search-result { display:flex; align-items:center; justify-content:space-between; padding:0.6rem 0.8rem; border-radius:8px; background:var(--g-lt); cursor:pointer; transition:background 0.18s; text-decoration:none; }
.hero-search-result:hover { background:rgba(46,125,50,0.15); }
.hero-search-result-name { font-size:0.85rem; font-weight:600; color:var(--ink); }
.hero-search-result-price { font-size:0.82rem; font-weight:700; color:var(--g-dk); }
.hero-trust-row { display:flex; gap:0.8rem; flex-wrap:wrap; }
.hero-trust-badge { display:flex; align-items:center; gap:0.6rem; background:var(--white); border:1.5px solid var(--rule); border-radius:10px; padding:0.7rem 0.9rem; flex:1; min-width:120px; }

/* ── Custom order gallery ── */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.gallery-item { border-radius:10px; overflow:hidden; background:var(--white); border:1.5px solid var(--rule); }
.gallery-img { aspect-ratio:1; overflow:hidden; background:var(--g-lt); display:flex; align-items:center; justify-content:center; }
.gallery-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.gallery-item:hover .gallery-img img { transform:scale(1.04); }
.gallery-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:0.82rem; font-weight:600; color:var(--muted); text-align:center; padding:1rem; }
.gallery-placeholder-lg { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.gallery-label { padding:0.6rem 0.8rem 0.2rem; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.9rem; color:var(--ink); }
.gallery-cat { padding:0 0.8rem 0.7rem; font-size:0.72rem; color:var(--muted); }
.gallery-fallback { opacity:0.75; }
@media(max-width:580px) { .gallery-grid { grid-template-columns:repeat(2,1fr); } }

/* ── Bulk info tiles ── */
.bulk-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.bulk-info-tile { padding:1.4rem; border:1.5px solid var(--rule); border-radius:10px; background:var(--white); }
.bulk-tile-icon { font-size:1.8rem; margin-bottom:0.6rem; }
.bulk-tile-name { font-family:'Nunito',sans-serif; font-weight:900; font-size:1rem; color:var(--ink); margin-bottom:0.3rem; }
.bulk-tile-desc { font-size:0.8rem; color:var(--muted); line-height:1.5; margin-bottom:0.5rem; }
.bulk-tile-price { font-size:0.82rem; font-weight:700; color:var(--g-dk); }
@media(max-width:580px) { .bulk-info-grid { grid-template-columns:repeat(2,1fr); } }

/* ── Mobile font size increase ── */
@media (max-width:580px) {
  html { font-size:17px; }
  .lead { font-size:1.1rem; }
  .product-name { font-size:1rem; }
  .product-price { font-size:1.05rem; }
  .blog-title { font-size:1.05rem; }
  .faq-q-text { font-size:1.05rem; }
}


.footer-etsy-btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  background:var(--etsy); color:#fff; font-size:0.82rem; font-weight:700;
  padding:0.6rem 1.2rem; border-radius:8px; text-decoration:none;
  transition:background 0.2s; margin-top:0.8rem;
}
.footer-etsy-btn:hover { background:#d9581a; }
.footer-amz-btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  background:#ff9900; color:#111; font-size:0.82rem; font-weight:700;
  padding:0.6rem 1.2rem; border-radius:8px; text-decoration:none;
  transition:background 0.2s; margin-top:0.5rem; margin-left:0.5rem;
}
.footer-amz-btn:hover { background:#e68900; }
/* ── PWA install prompt ── */
.pwa-banner {
  display:none;
  position:fixed;
  bottom:5rem;
  right:1.5rem;
  background:var(--ink);
  color:#fff;
  padding:1rem 1.2rem;
  border-radius:12px;
  box-shadow:0 8px 30px rgba(0,0,0,0.2);
  z-index:2147483647;
  max-width:280px;
}
.pwa-banner.show { display:block; animation:pageIn 0.3s ease both; }
.pwa-banner p { font-size:0.82rem; line-height:1.5; margin-bottom:0.8rem; }
.pwa-banner-btns { display:flex; gap:0.5rem; }
.pwa-btn-install { background:var(--g); color:#fff; border:none; border-radius:6px; padding:0.4rem 0.9rem; font-size:0.78rem; font-weight:700; cursor:pointer; font-family:inherit; }
.pwa-btn-dismiss { background:transparent; color:rgba(255,255,255,0.5); border:none; padding:0.4rem; font-size:0.78rem; cursor:pointer; font-family:inherit; }

/* ── WhatsApp floating button ── */
.floating-whatsapp {
  position: fixed !important;
  right: 20px !important;
  left: auto !important;
  bottom: 20px !important;
  top: auto !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #25D366 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2) !important;
  z-index: 2147483647 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-whatsapp:hover {
  transform: scale(1.06);
  box-shadow: 0 8px 24px rgba(0,0,0,0.24);
}

.floating-whatsapp svg {
  display: block;
}
/* ── Social icons in footer ── */
.social-links { display:flex; gap:0.6rem; margin-top:1rem; }
.social-link {
  width:34px; height:34px; border-radius:8px;
  background:rgba(255,255,255,0.1); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:0.9rem; transition:background 0.2s;
  text-decoration:none;
}
.social-link:hover { background:var(--g); }

/* ── Price filter ── */
.price-filter-wrap { display:flex; align-items:center; gap:0.8rem; margin-top:0.6rem; flex-wrap:wrap; }

/* ── Share button on product card ── */
.share-trigger {
  position:absolute; top:0.6rem; right:0.6rem;
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,0.9); border:none; cursor:pointer;
  font-size:0.8rem; display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity 0.2s; color:var(--g-dk); font-weight:700;
  backdrop-filter:blur(4px);
}
.product-card:hover .share-trigger { opacity:1; }

/* ── Delivery estimate ── */
.delivery-est { font-size:0.72rem; color:var(--g-dk); font-weight:600; margin-bottom:0.5rem; background:var(--g-lt); padding:0.25rem 0.5rem; border-radius:4px; display:inline-block; }

/* ── Share modal buttons ── */
.share-btn { display:block; padding:0.7rem 1rem; border-radius:8px; font-size:0.85rem; font-weight:600; text-align:center; cursor:pointer; font-family:inherit; border:none; text-decoration:none; transition:opacity 0.18s; }
.share-wa { background:#25D366; color:#fff; }
.share-fb { background:#1877F2; color:#fff; }
.share-tw { background:#000; color:#fff; }
.share-copy { background:var(--g-lt); color:var(--g-dk); border:1.5px solid var(--rule); }
.share-btn:hover { opacity:0.88; }

/* ── Email Signup ── */
.signup-section { background:var(--g-dk); padding:5rem 0; }
.signup-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.signup-card { background:var(--white); border-radius:14px; padding:2rem; box-shadow:0 8px 40px rgba(0,0,0,0.2); }
@media (max-width:960px) {
  .signup-inner { grid-template-columns:1fr; gap:2.5rem; }
}

/* ── Responsive ── */
@media (max-width:960px) {
  .hero-inner,.custom-hero-inner,.about-hero-inner,.contact-grid { grid-template-columns:1fr; gap:2.5rem; }
  .hero-mosaic,.about-img-stack,.hero-right-panel { display:none; }
  .feat-grid,.shop-grid { grid-template-columns:repeat(2,1fr); }
  .review-row { grid-template-columns:1fr; }
  .cta-strip-inner { flex-direction:column; gap:1.5rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2rem; }
  .about-stats-row { grid-template-columns:repeat(2,1fr); }
  .custom-types-grid { grid-template-columns:repeat(2,1fr); }
  .collections-grid { grid-template-columns:repeat(3,1fr); }
  .nav-links { display:none; }
  .mob-menu { display:block; }
}
@media (max-width:580px) {
  .wrap { padding:0 1.2rem; }
  .hero { padding:4rem 0 3rem; }
  .section { padding:3.5rem 0; }
  .feat-grid,.shop-grid { grid-template-columns:1fr 1fr; gap:0.8rem; }
  .footer-top { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr; }
  .custom-types-grid { grid-template-columns:1fr; }
  .collections-grid { grid-template-columns:repeat(2,1fr); }
  .trust-list { gap:1.2rem; justify-content:flex-start; padding:0 1.2rem; }
  .policy-block { grid-template-columns:1fr; }
  .pt-row { grid-template-columns:1fr 1fr; }
  .pt-row span:last-child { display:none; }
}
/*---------see through --------------*/
/* Mouse reveal background */
#mouse-reveal {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;

  /* faint image */
  background-image: url('/images/about_hero.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.18;

  /* start hidden */
  -webkit-mask-image: radial-gradient(circle 0px at 50% 50%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(circle 0px at 50% 50%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* Make sure your actual page content sits above it */
body > *:not(#mouse-reveal):not(.cookie-popup):not(.pwa-banner) {
  position: relative;
  z-index: 1;
}
.cookie-popup {
  position: fixed;
  left: 20px;
  right: auto;
  bottom: 20px;
  max-width: 320px;
  background: #ffffff;
  border: 1px solid #ddeedd;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border-radius: 14px;
  padding: 16px;
  z-index: 9999;
}

.cookie-popup-inner p {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.4;
  color: #0d2010;
}

.cookie-accept {
  background: #2e7d32;
  color: #ffffff;
  border: 0;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
}

@media (max-width: 640px) {
  .floating-whatsapp {
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
}
