/* =========================================================
   TopiaryTree — Ideas Hub (listicle landing pages)
   Scoped to .tt-ideas. Full-bleed flatten lives in theme.css
   under body.tt-fullbleed.
   ========================================================= */
.tt-ideas{
  --bg:#faf8f3; --bg-alt:#f1ede4; --ink:#1d2420; --muted:#5d655c;
  --green-900:#23302a; --green-700:#3a4a3e; --green-600:#4f6451; --sage:#8a9a82;
  --brass:#a9854f; --brass-dk:#8c6c3c; --line:rgba(29,36,32,.14); --white:#fff;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --maxw:1180px; --gut:clamp(20px,5vw,64px);
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.tt-ideas *{box-sizing:border-box;}
.tt-ideas img{max-width:100%;height:auto;display:block;}
.tt-ideas a{color:inherit;text-decoration:none;}
.tt-ideas h1,.tt-ideas h2,.tt-ideas h3{
  font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0;color:var(--ink);}

/* Buttons — .tt-btn lives in home.css, which this template doesn't load. */
.tt-ideas .tt-btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);
  font-weight:600;font-size:.92rem;letter-spacing:.02em;padding:.95em 1.7em;border-radius:2px;
  border:1px solid transparent;cursor:pointer;transition:background .18s,color .18s,border-color .18s;}
.tt-ideas .tt-btn--primary{background:var(--green-700);color:#fff !important;border-color:var(--green-700);}
.tt-ideas .tt-btn--primary:hover{background:var(--green-900);border-color:var(--green-900);}
.tt-ideas .tt-btn--ghost{border-color:var(--line);color:var(--ink) !important;}
.tt-ideas .tt-btn--ghost:hover{border-color:var(--brass);color:var(--brass-dk) !important;}

/* ---------- breadcrumb ---------- */
.tt-ideas__crumbs{max-width:var(--maxw);margin:0 auto;padding:28px var(--gut) 0;
  font-size:.8rem;letter-spacing:.04em;color:var(--muted);display:flex;gap:.6em;align-items:center;}
.tt-ideas__crumbs a:hover{color:var(--brass-dk);}

/* ---------- hero ---------- */
.tt-ideas__hero{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,56px) var(--gut) clamp(40px,6vw,72px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.tt-ideas__eyebrow{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;margin:0 0 18px;}
.tt-ideas__hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin-bottom:22px;}
.tt-ideas__lede{font-size:clamp(1.02rem,1.5vw,1.16rem);color:var(--muted);margin:0 0 20px;max-width:56ch;}
.tt-ideas__by{font-size:.84rem;color:var(--muted);letter-spacing:.02em;margin:0;
  padding-top:16px;border-top:1px solid var(--line);}
.tt-ideas__hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;}

/* ---------- quick answer (AI Overview target) ---------- */
.tt-ideas__answer{background:var(--green-900);color:#fff;padding:clamp(34px,5vw,60px) 0;}
.tt-ideas__answer h2,.tt-ideas__answer p{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.tt-ideas__answer h2{color:#fff !important;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:16px;}
.tt-ideas__answer p{font-size:1.03rem;line-height:1.72;color:rgba(255,255,255,.86);max-width:min(var(--maxw),84ch);}
.tt-ideas__answer strong{color:var(--brass-lt,#cdb892);font-weight:600;}

/* ---------- the numbered ideas ---------- */
.tt-ideas__list{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,7vw,88px) var(--gut);
  display:flex;flex-direction:column;gap:clamp(48px,7vw,90px);}
.tt-idea{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(26px,4vw,56px);align-items:center;}
.tt-idea--flip .tt-idea__img{order:2;}
.tt-idea__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;}
/* Cut-out product shots are tall and sit on white — cropping them beheads the
   piece, so show them whole on a tinted ground instead. */
.tt-idea__img--contain img{object-fit:contain;background:#fff;padding:18px;
  border:1px solid var(--line);}
.tt-idea__n{display:block;font-family:var(--serif);font-size:2.6rem;line-height:1;
  color:var(--brass);opacity:.55;margin-bottom:10px;}
.tt-idea__copy h2{font-size:clamp(1.35rem,2.3vw,1.85rem);margin-bottom:14px;}
.tt-idea__copy p{color:var(--muted);margin:0;max-width:52ch;}
.tt-idea__shop{display:inline-flex;align-items:center;gap:.5em;margin-top:18px;
  font-size:.88rem;font-weight:600;letter-spacing:.02em;color:var(--brass-dk);
  border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .18s;}
.tt-idea__shop:hover{color:var(--green-900);}

/* ---------- care table ---------- */
.tt-ideas__care{background:var(--bg-alt);padding:clamp(48px,7vw,86px) 0;}
.tt-ideas__care-inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.tt-ideas__care h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px;}
.tt-ideas__care-lede{color:var(--muted);max-width:62ch;margin:0 0 34px;}
/* dt and dd both carry the rule so it reads as one line across the row. */
.tt-ideas__care-list{display:grid;grid-template-columns:minmax(120px,.4fr) 1fr;gap:0 clamp(28px,4vw,56px);margin:0;}
.tt-ideas__care-list dt,
.tt-ideas__care-list dd{padding:20px 0;border-top:1px solid var(--line);margin:0;}
.tt-ideas__care-list dt{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass-dk);}
.tt-ideas__care-list dd{color:var(--muted);font-size:.97rem;}

/* ---------- order-in-time band ---------- */
.tt-ideas__order{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,7vw,86px) var(--gut);text-align:center;}
.tt-ideas__order h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px;}
.tt-ideas__order > p{color:var(--muted);max-width:62ch;margin:0 auto 34px;}
.tt-ideas__order-points{list-style:none;margin:0 0 34px;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px);}
.tt-ideas__order-points li{border-top:1px solid var(--line);padding-top:18px;text-align:left;}
.tt-ideas__order-points strong{display:block;font-family:var(--serif);font-weight:400;
  font-size:1.15rem;margin-bottom:6px;}
.tt-ideas__order-points span{font-size:.92rem;color:var(--muted);}
.tt-ideas__order-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- FAQ ---------- */
.tt-ideas__faq{max-width:min(var(--maxw),840px);margin:0 auto;padding:0 var(--gut) clamp(48px,7vw,86px);}
.tt-ideas__faq h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:26px;}
.tt-ideas__faq details{border-top:1px solid var(--line);padding:20px 0;}
.tt-ideas__faq details:last-of-type{border-bottom:1px solid var(--line);}
.tt-ideas__faq summary{cursor:pointer;list-style:none;font-weight:600;font-size:1.02rem;
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;}
.tt-ideas__faq summary::-webkit-details-marker{display:none;}
.tt-ideas__faq summary::after{content:"+";font-family:var(--serif);font-size:1.5rem;
  line-height:1;color:var(--brass);flex:none;transition:transform .2s;}
.tt-ideas__faq details[open] summary::after{transform:rotate(45deg);}
.tt-ideas__faq details p{margin:14px 0 0;color:var(--muted);max-width:70ch;}

/* ---------- related ---------- */
.tt-ideas__related{background:var(--green-900);color:#fff;padding:clamp(40px,6vw,70px) 0;}
.tt-ideas__related h2,.tt-ideas__related ul{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.tt-ideas__related h2{color:#fff !important;font-size:1.4rem;margin-bottom:22px;}
.tt-ideas__related ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding-block:0;}
.tt-ideas__related li a{display:inline-block;border:1px solid rgba(255,255,255,.28);
  border-radius:2px;padding:.7em 1.3em;font-size:.9rem;color:rgba(255,255,255,.9);transition:.18s;}
.tt-ideas__related li a:hover{background:#fff;color:var(--green-900);border-color:#fff;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .tt-ideas__hero{grid-template-columns:1fr;}
  .tt-ideas__hero-img{order:-1;}
  .tt-ideas__hero-img img{aspect-ratio:3/2;}
  .tt-idea{grid-template-columns:1fr;gap:20px;}
  .tt-idea--flip .tt-idea__img{order:0;}
  .tt-ideas__care-list{grid-template-columns:1fr;}
  .tt-ideas__order-points{grid-template-columns:1fr;}
}

/* =========================================================
   Interactive layer — finder, chips, chooser, ship, capture
   ========================================================= */

/* ---------- shared chip ---------- */
.tt-ideas .tt-chip{font-family:var(--sans);font-size:.86rem;font-weight:600;letter-spacing:.01em;
  padding:.62em 1.15em;border:1px solid var(--line);border-radius:999px;background:transparent;
  color:var(--ink);cursor:pointer;transition:background .16s,border-color .16s,color .16s;}
.tt-ideas .tt-chip:hover{border-color:var(--brass);color:var(--brass-dk);}
.tt-ideas .tt-chip.is-on{background:var(--green-700);border-color:var(--green-700);color:#fff;}
.tt-linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--brass-dk);
  text-decoration:underline;cursor:pointer;}

/* ---------- hero countdown strip ---------- */
.tt-ideas__hero-count{margin:0 0 18px;font-size:.92rem;color:var(--muted);
  padding:12px 16px;background:var(--bg-alt);border-left:3px solid var(--brass);border-radius:2px;}
.tt-ideas__count-n{font-family:var(--serif);font-size:1.35rem;color:var(--ink);}
.tt-ideas__hero-count a{color:var(--brass-dk);text-decoration:underline;}

/* ---------- size finder ---------- */
.tt-finder{background:var(--bg-alt);padding:clamp(44px,6vw,80px) 0;}
.tt-finder__inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.tt-finder h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:6px 0 10px;}
.tt-finder__sub{color:var(--muted);max-width:58ch;margin:0 0 26px;}
.tt-finder__opts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.tt-finder__opt{font-family:var(--sans);font-size:.92rem;font-weight:600;padding:.85em 1.4em;
  border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);cursor:pointer;
  transition:border-color .16s,background .16s,color .16s;}
.tt-finder__opt:hover{border-color:var(--brass);}
.tt-finder__opt.is-on{background:var(--green-900);border-color:var(--green-900);color:#fff;}
.tt-finder__card{background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:clamp(22px,3vw,34px);animation:tt-fade .28s ease both;}
.tt-finder__verdict{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.35;
  margin:0 0 20px;color:var(--ink);}
.tt-finder__facts{display:flex;flex-wrap:wrap;gap:12px 44px;padding-bottom:22px;
  border-bottom:1px solid var(--line);margin-bottom:22px;}
.tt-finder__facts span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;margin-bottom:4px;}
.tt-finder__facts strong{font-family:var(--serif);font-weight:400;font-size:1.15rem;}
.tt-finder__ready{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;margin:0 0 14px;}
.tt-finder__prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}
.tt-finder__prod{display:block;border:1px solid var(--line);border-radius:2px;padding:12px;
  transition:border-color .16s;}
.tt-finder__prod:hover{border-color:var(--brass);}
.tt-finder__prod img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;margin-bottom:10px;}
.tt-finder__prod-name{display:block;font-size:.88rem;line-height:1.35;margin-bottom:4px;}
.tt-finder__prod-price{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--green-700);}
.tt-finder__ask{margin:22px 0 0;font-size:.92rem;color:var(--muted);}
.tt-finder__ask a{color:var(--brass-dk);text-decoration:underline;}
@keyframes tt-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- filter chips ---------- */
.tt-chips{max-width:var(--maxw);margin:0 auto;padding:clamp(38px,5vw,64px) var(--gut) 0;}
.tt-chips__row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:12px;}
.tt-chips__label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;min-width:44px;}
.tt-chips__empty{margin:14px 0 0;color:var(--muted);font-size:.94rem;}
.tt-idea[hidden]{display:none;}

/* ---------- idea extras ---------- */
.tt-idea__size{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;margin:0 0 10px;}
.tt-idea__body p{color:var(--muted);margin:0 0 12px;max-width:52ch;}
.tt-idea__actions{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:16px;}
.tt-idea__save .yith-wcwl-add-to-wishlist{margin:0;}
.tt-idea__save a{font-size:.86rem;color:var(--muted);text-decoration:underline;}
.tt-idea__save a:hover{color:var(--brass-dk);}

/* ---------- type chooser ---------- */
.tt-chooser{max-width:var(--maxw);margin:0 auto;padding:clamp(44px,6vw,80px) var(--gut);}
.tt-chooser__inner{background:var(--green-900);color:#fff;border-radius:3px;
  padding:clamp(28px,4vw,52px);}
.tt-chooser h2{color:#fff !important;font-size:clamp(1.5rem,2.8vw,2.1rem);margin:6px 0 24px;}
.tt-chooser .tt-ideas__eyebrow{color:var(--brass-lt,#cdb892);}
.tt-chooser__ask{font-size:1.02rem;margin:0 0 12px;color:rgba(255,255,255,.85);}
.tt-chooser__q{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.tt-chooser__q .tt-chooser__ask{flex:1 0 100%;}
.tt-ideas .tt-chooser .tt-chip{border-color:rgba(255,255,255,.35);color:#fff;}
.tt-ideas .tt-chooser .tt-chip:hover{border-color:#fff;color:#fff;}
.tt-ideas .tt-chooser .tt-chip.is-on{background:#fff;color:var(--green-900);border-color:#fff;}
.tt-chooser__result{border-top:1px solid rgba(255,255,255,.2);padding-top:24px;
  animation:tt-fade .28s ease both;}
.tt-chooser__verdict{font-family:var(--serif);font-size:1.5rem;margin:0 0 8px;color:#fff;}
.tt-chooser__why{color:rgba(255,255,255,.78);max-width:56ch;margin:0 0 20px;}
.tt-chooser__result .tt-btn--primary{background:var(--brass);border-color:var(--brass);}
.tt-chooser__result .tt-btn--primary:hover{background:#8f6f3f;border-color:#8f6f3f;}
.tt-chooser__result .tt-linkbtn{color:rgba(255,255,255,.7);margin-left:18px;}

/* ---------- ship-by + capture ---------- */
.tt-ship{background:var(--bg-alt);padding:clamp(44px,6vw,80px) 0;}
.tt-ship__inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.tt-ship h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 12px;}
.tt-ship__sub{color:var(--muted);max-width:64ch;margin:0 0 30px;}
.tt-ship__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-bottom:36px;}
.tt-ship__item{background:#fff;border:1px solid var(--line);border-top:3px solid var(--sage);
  border-radius:2px;padding:20px;}
.tt-ship__item.is-soon{border-top-color:var(--brass);}
.tt-ship__item.is-past{opacity:.5;border-top-color:var(--line);}
.tt-ship__label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass-dk);font-weight:600;margin-bottom:8px;}
.tt-ship__date{display:block;font-family:var(--serif);font-weight:400;font-size:1.2rem;margin-bottom:6px;}
.tt-ship__days{font-size:.88rem;color:var(--muted);}
.tt-ship__item.is-soon .tt-ship__days{color:var(--brass-dk);font-weight:600;}

.tt-capture{background:var(--green-900);border-radius:3px;padding:clamp(26px,4vw,44px);color:#fff;}
.tt-capture h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.7rem);
  color:#fff;margin:0 0 8px;}
.tt-capture__sub{color:rgba(255,255,255,.75);font-size:.95rem;margin:0 0 22px;max-width:56ch;}
.tt-capture__row{display:flex;gap:12px;flex-wrap:wrap;max-width:560px;}
.tt-capture input[type=email]{flex:1 1 260px;padding:.9em 1.1em;border:1px solid rgba(255,255,255,.3);
  border-radius:2px;background:rgba(255,255,255,.08);color:#fff;font-family:var(--sans);font-size:.95rem;}
.tt-capture input[type=email]::placeholder{color:rgba(255,255,255,.45);}
.tt-capture input[type=email]:focus{outline:none;border-color:var(--brass-lt,#cdb892);background:rgba(255,255,255,.14);}
.tt-ideas .tt-capture .tt-btn--primary{background:var(--brass);border-color:var(--brass);}
.tt-ideas .tt-capture .tt-btn--primary:hover{background:#8f6f3f;border-color:#8f6f3f;}
.tt-ideas .tt-capture .tt-btn--primary:disabled{opacity:.55;cursor:default;}
.tt-capture__note{margin:14px 0 0;font-size:.9rem;color:var(--brass-lt,#cdb892);min-height:1.2em;}
.tt-capture.is-done .tt-capture__row{display:none;}

@media (max-width:900px){
  .tt-finder__facts{gap:12px 26px;}
  .tt-chips__label{min-width:0;flex:1 0 100%;}
}

/* ---------- "in place" second state (scale toggle) ----------
   Resting state is the clean piece; hover/focus/tap crossfades to the same
   piece installed somewhere real. Answers "how big is it?" without copy.
   Only applies to cards that actually have a context photo. */
.tt-idea__img--has-ctx{position:relative;cursor:pointer;outline:none;}
.tt-idea__img--has-ctx .tt-idea__ctx{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity .45s ease;border-radius:3px;}
.tt-idea__img--has-ctx:hover .tt-idea__ctx,
.tt-idea__img--has-ctx:focus-visible .tt-idea__ctx,
.tt-idea__img--has-ctx.is-open .tt-idea__ctx{opacity:1;}
.tt-idea__img--has-ctx:focus-visible{box-shadow:0 0 0 2px var(--brass);}
.tt-idea__ctx-tag{position:absolute;left:14px;bottom:14px;z-index:2;
  font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;background:rgba(0,0,0,.5);padding:.45em .8em;pointer-events:none;
  transition:opacity .3s;}
.tt-idea__img--has-ctx:hover .tt-idea__ctx-tag,
.tt-idea__img--has-ctx.is-open .tt-idea__ctx-tag{opacity:0;}
/* Contained cut-outs still fill the frame in their context state. */
.tt-idea__img--contain.tt-idea__img--has-ctx .tt-idea__ctx{padding:0;border:0;background:none;}
@media (prefers-reduced-motion:reduce){
  .tt-idea__img--has-ctx .tt-idea__ctx{transition:none;}
}
