/*
Theme Name: The Golden Thread
Description: Landing-page style WordPress theme for Nikol Burton's book "The Golden Thread" — replicates the finished Hostinger Horizons draft (fixed top nav, hero with book-cover background, Four Worlds cards, CTA + footer with newsletter).
Author: Built with Claude for Alejandro Palomar / Nikol Burton
Version: 1.0
Text Domain: golden-thread
*/

:root{
  --bg:#f7f4ec;
  --bg-soft:#eeece1;
  --ink:#241f16;
  --muted:#6b6558;
  --sage:#7fa88a;
  --sage-dark:#5c8069;
  --card-bg:#ffffff;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#f3f1ed;font-family:var(--sans);color:var(--ink);}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ---------- fixed top nav ---------- */
.gt-nav{position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  padding:18px 48px; background:rgba(251,249,244,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(36,31,22,.08);}
.gt-nav .brand{display:flex; align-items:center; gap:12px;}
.gt-nav .brand .mark{width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--sage), #c98a8a);
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:13px;}
.gt-nav .brand .names{display:flex; flex-direction:column; line-height:1.15;}
.gt-nav .brand .names .title{font-family:var(--serif); font-weight:700; font-size:17px;}
.gt-nav .brand .names .tagline{font-size:11.5px; color:var(--muted); font-style:italic;}
.gt-nav .links{display:flex; align-items:center; gap:34px;}
.gt-nav .links a{font-family:"Lora",var(--serif); font-weight:500; font-size:15px; text-decoration:none; color:var(--ink); padding:6px 4px;}
.gt-nav .links a.current{color:var(--sage-dark); border-bottom:2px solid var(--sage);}
.gt-nav .cart{display:flex; align-items:center; gap:6px; position:relative; text-decoration:none; color:var(--ink);}
.gt-nav .cart .count{position:absolute; top:-8px; right:-10px; background:var(--sage-dark); color:#fff;
  font-size:10px; border-radius:50%; width:16px; height:16px; display:flex; align-items:center; justify-content:center;}
@media (max-width:860px){ .gt-nav .links{display:none;} }

/* ---------- hero ---------- */
.gt-hero{position:relative; overflow:hidden; padding:120px 48px 100px; min-height:80vh;
  display:flex; align-items:center; justify-content:center; text-align:center;}
.gt-hero .bg-cover{position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:.14; filter:grayscale(15%);}
.gt-hero .bg-tint{position:absolute; inset:0; background:linear-gradient(180deg, rgba(247,244,236,.55), rgba(247,244,236,.85));}
.gt-hero-inner{position:relative; max-width:720px; transition:transform .05s linear;}
.gt-hero .badge{display:inline-flex; align-items:center; gap:8px; background:rgba(127,168,138,.15);
  color:var(--sage-dark); font-size:13px; padding:8px 16px; border-radius:20px; margin-bottom:26px;}
.gt-hero h1{font-family:var(--serif); font-weight:800; font-size:clamp(40px,6vw,68px); line-height:1.05; margin:0 0 26px;}
.gt-hero p.lead{font-size:19px; line-height:1.6; color:var(--muted); max-width:560px; margin:0 0 36px;}
.gt-hero .btn-row{display:flex; gap:16px; flex-wrap:wrap; justify-content:center;}
.btn-primary{display:inline-flex; align-items:center; gap:8px; background:var(--sage); color:#182018;
  font-weight:600; font-size:15px; text-decoration:none; padding:15px 28px; border-radius:10px; border:none; cursor:pointer;
  transition:background .2s ease;}
.btn-primary:hover{background:var(--sage-dark); color:#fff;}
.btn-secondary{display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--ink);
  font-weight:600; font-size:15px; text-decoration:none; padding:15px 28px; border-radius:10px;
  border:1px solid rgba(36,31,22,.15); cursor:pointer; transition:border-color .2s ease;}
.btn-secondary:hover{border-color:var(--sage-dark); color:var(--sage-dark);}

.gt-scroll-cue{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); opacity:.5;}
.gt-scroll-cue svg{animation:gt-bob 1s ease-in-out infinite;}
@keyframes gt-bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(10px);}}

/* ---------- Four Worlds ---------- */
.gt-worlds{padding:90px 48px; max-width:1180px; margin:0 auto; text-align:center;}
.gt-worlds h2{font-family:var(--serif); font-weight:800; font-size:clamp(30px,4vw,42px); margin:0 0 16px;}
.gt-worlds .sub{color:var(--muted); font-size:16px; margin:0 0 56px;}
.gt-worlds-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; text-align:left;}
@media (max-width:900px){ .gt-worlds-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .gt-worlds-grid{grid-template-columns:1fr;} }
.gt-world-card{background:var(--card-bg); border-radius:16px; padding:30px 26px;
  border:1px solid rgba(36,31,22,.06); box-shadow:0 1px 3px rgba(36,31,22,.04);}
.gt-world-card .icon{width:44px; height:44px; border-radius:10px; background:rgba(127,168,138,.15);
  color:var(--sage-dark); display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:20px;}
.gt-world-card h3{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 10px;}
.gt-world-card p{font-size:14.5px; line-height:1.6; color:var(--muted); margin:0;}

/* ---------- "This is for you if" split ---------- */
.gt-foryou{padding:40px 48px 100px; max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
@media (max-width:860px){ .gt-foryou{grid-template-columns:1fr; gap:44px;} }
.gt-foryou h2{font-family:var(--serif); font-weight:800; font-size:clamp(28px,4vw,38px); margin:0 0 26px;}
.gt-foryou ul{list-style:none; margin:0 0 34px; padding:0;}
.gt-foryou li{display:flex; align-items:flex-start; gap:12px; font-size:16px; color:var(--ink); margin-bottom:16px;}
.gt-foryou li .dot{width:8px; height:8px; border-radius:50%; background:var(--sage); margin-top:8px; flex:none;}
.gt-foryou .book-shot{border-radius:6px; box-shadow:0 30px 60px -20px rgba(36,31,22,.35); transform:rotate(1deg);}

/* ---------- CTA band ---------- */
.gt-cta{background:var(--sage); text-align:center; padding:80px 26px;}
.gt-cta h2{font-family:var(--serif); font-weight:800; font-size:clamp(28px,4vw,38px); color:#16281d; margin:0 0 16px;}
.gt-cta p{font-size:16.5px; color:#1e3326; margin:0 0 34px;}
.gt-cta .btn-primary{background:#fff; color:var(--ink);}
.gt-cta .btn-primary:hover{background:var(--ink); color:#fff;}

/* ---------- footer ---------- */
.gt-footer{background:var(--bg-soft); padding:60px 48px 30px;}
.gt-footer-grid{max-width:1180px; margin:0 auto 40px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:40px;}
@media (max-width:860px){ .gt-footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
.gt-footer .brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.gt-footer .brand .mark{width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--sage),#c98a8a);
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:12px;}
.gt-footer .brand .title{font-family:var(--serif); font-weight:700; font-size:16px;}
.gt-footer .col p{font-size:13.5px; line-height:1.7; color:var(--muted); margin:0 0 16px; max-width:260px;}
.gt-footer .socials{display:flex; gap:10px;}
.gt-footer .socials a{width:32px; height:32px; border-radius:8px; background:#fff; display:flex; align-items:center;
  justify-content:center; text-decoration:none; color:var(--ink); border:1px solid rgba(36,31,22,.08);}
.gt-footer h4{font-family:var(--serif); font-weight:700; font-size:14.5px; margin:0 0 16px;}
.gt-footer ul{list-style:none; margin:0; padding:0;}
.gt-footer li{margin-bottom:10px;}
.gt-footer a{font-size:13.5px; color:var(--muted); text-decoration:none;}
.gt-footer a:hover{color:var(--sage-dark);}
.gt-footer .newsletter-form{display:flex; gap:8px; margin-top:6px;}
.gt-footer .newsletter-form input{flex:1; border:1px solid rgba(36,31,22,.15); border-radius:8px; padding:10px 12px;
  font-size:13.5px; background:#fff;}
.gt-footer .newsletter-form button{background:var(--sage); border:none; border-radius:8px; width:38px; height:38px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:#16281d;}
.gt-footer .bottom-bar{max-width:1180px; margin:0 auto; border-top:1px solid rgba(36,31,22,.08); padding-top:22px;
  font-size:12px; color:var(--muted); text-align:center;}

/* ---------- Book page ---------- */
.gt-book-hero{max-width:1180px; margin:0 auto; padding:90px 48px 70px;
  display:grid; grid-template-columns:.85fr 1fr; gap:70px; align-items:center;}
@media (max-width:860px){ .gt-book-hero{grid-template-columns:1fr; gap:40px; padding:60px 26px;} }
.gt-book-hero .cover-wrap{opacity:0; transform:translateX(-46px); animation:gt-in-left 1.6s ease forwards;}
.gt-book-hero .cover-wrap img{border-radius:6px; box-shadow:0 30px 60px -20px rgba(36,31,22,.35);}
.gt-book-hero .text-wrap{opacity:0; transform:translateX(46px); animation:gt-in-right 1.6s ease .3s forwards;}
@keyframes gt-in-left{ to{opacity:1; transform:translateX(0);} }
@keyframes gt-in-right{ to{opacity:1; transform:translateX(0);} }
.gt-book-hero .badge{display:inline-block; background:rgba(127,168,138,.15); color:var(--sage-dark);
  font-size:13px; padding:8px 16px; border-radius:20px; margin-bottom:22px;}
.gt-book-hero h1{font-family:var(--serif); font-weight:800; font-size:clamp(36px,5vw,52px); margin:0 0 14px;}
.gt-book-hero .tagline{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--muted); margin:0 0 26px;}
.gt-book-hero p.lead{font-size:16px; line-height:1.75; color:var(--ink); max-width:480px; margin:0 0 30px;}

.gt-section{max-width:820px; margin:0 auto; padding:70px 26px; text-align:center;}
.gt-section.wide{max-width:1180px;}
.gt-section h2{font-family:var(--serif); font-weight:800; font-size:clamp(28px,4vw,38px); margin:0 0 14px;}
.gt-section .sub{color:var(--muted); font-size:16px; margin:0 0 50px;}

.gt-discover-list{display:flex; flex-direction:column; gap:20px; text-align:left;}
.gt-discover-card{background:#fff; border:1px solid rgba(36,31,22,.08); border-radius:14px; padding:30px 34px;}
.gt-discover-card h3{font-family:var(--serif); font-weight:700; font-size:20px; margin:0 0 10px;}
.gt-discover-card p{font-size:15px; line-height:1.7; color:var(--muted); margin:0;}

.gt-fourworlds-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; text-align:left;}
@media (max-width:760px){ .gt-fourworlds-grid{grid-template-columns:1fr;} }
.gt-fw-card{border-radius:16px; padding:32px; color:#20241c;
  opacity:0; transform:translateY(28px); transition:opacity .5s ease, transform .5s ease;}
.gt-fourworlds-grid.gt-in .gt-fw-card{opacity:1; transform:translateY(0);}
.gt-fourworlds-grid.gt-in .gt-fw-card:nth-child(1){transition-delay:0s;}
.gt-fourworlds-grid.gt-in .gt-fw-card:nth-child(2){transition-delay:.2s;}
.gt-fourworlds-grid.gt-in .gt-fw-card:nth-child(3){transition-delay:.4s;}
.gt-fourworlds-grid.gt-in .gt-fw-card:nth-child(4){transition-delay:.6s;}
.gt-fw-card .icon{width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.gt-fw-card h3{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 4px;}
.gt-fw-card .subtitle{font-style:italic; font-size:13.5px; opacity:.7; margin:0 0 14px;}
.gt-fw-card p{font-size:14.5px; line-height:1.65; margin:0;}

.gt-testimonials-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left;}
@media (max-width:900px){ .gt-testimonials-grid{grid-template-columns:1fr;} }
.gt-testimonial{background:#fdfcf8; border:1px solid rgba(36,31,22,.08); border-radius:14px; padding:30px;}
.gt-testimonial .q{color:rgba(127,168,138,.55); margin-bottom:14px;}
.gt-testimonial p.quote{font-family:var(--serif); font-style:italic; font-size:15px; line-height:1.7; color:var(--ink);
  margin:0 0 22px; padding-bottom:20px; border-bottom:1px solid rgba(36,31,22,.08);}
.gt-testimonial .name{font-weight:700; font-size:14px;}
.gt-testimonial .role{font-size:12.5px; color:var(--muted);}

.gt-cta-inner{transition:transform .05s linear;}

/* ---------- scroll-reveal ---------- */
.gt-reveal{opacity:0; transform:translateY(28px); transition:opacity .6s ease, transform .6s ease;}
.gt-reveal.gt-in{opacity:1; transform:translateY(0);}

/* ---------- WooCommerce shop grid ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  max-width:1180px; margin:0 auto; padding:0 48px 100px;
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px; list-style:none;
}
@media (max-width:900px){ .woocommerce ul.products, .woocommerce-page ul.products{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .woocommerce ul.products, .woocommerce-page ul.products{grid-template-columns:1fr;} }
.woocommerce ul.products li.product{
  background:#fff; border:1px solid rgba(36,31,22,.08); border-radius:14px; overflow:hidden;
  padding:0 !important; margin:0 !important; text-align:left;
  width:100% !important; float:none !important; clear:none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  position:relative; display:block; text-decoration:none; color:inherit;
}
.woocommerce ul.products li.product img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block; margin:0 !important;
}
.woocommerce ul.products li.product .gt-price-badge{
  position:absolute; top:12px; right:12px; background:var(--sage); color:#16281d;
  font-family:var(--serif); font-weight:700; font-size:13px; padding:6px 12px; border-radius:20px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--serif); font-weight:700; font-size:17px; margin:18px 20px 4px; padding:0;
}
.woocommerce ul.products li.product .gt-product-excerpt{
  font-size:13.5px; color:var(--muted); margin:0 20px 18px; line-height:1.5;
}
.woocommerce ul.products li.product a.button.btn-primary,
.woocommerce ul.products li.product a.add_to_cart_button{
  display:flex; align-items:center; justify-content:center; margin:0 20px 20px;
  background:var(--sage); color:#16281d; font-family:var(--sans); font-weight:600; font-size:14px;
  text-decoration:none; padding:12px 18px; border-radius:9px; transition:background .2s ease;
}
.woocommerce ul.products li.product a.button.btn-primary:hover{background:var(--sage-dark); color:#fff;}
.woocommerce ul.products li.product .price del{color:var(--muted); opacity:.6; margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}

.woocommerce-page h1.page-title, .woocommerce h1.entry-title{
  font-family:var(--serif); font-weight:800; font-size:clamp(38px,5vw,58px); text-align:center;
  margin:80px auto 10px; max-width:900px;
}
.gt-shop-sub{text-align:center; color:var(--muted); font-size:16px; margin:0 auto 56px;}

/* ---------- Blog page ---------- */
.gt-blog-header{max-width:820px; margin:0 auto; padding:80px 26px 50px; text-align:center;}
.gt-blog-header h1{font-family:var(--serif); font-weight:800; font-size:clamp(38px,5vw,58px); margin:0 0 14px;}
.gt-blog-header p{color:var(--muted); font-size:16px; margin:0;}

.gt-blog-grid{max-width:1180px; margin:0 auto; padding:0 48px 110px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
@media (max-width:900px){ .gt-blog-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .gt-blog-grid{grid-template-columns:1fr;} }

.gt-post-card{background:#fff; border:1px solid rgba(36,31,22,.08); border-radius:14px; overflow:hidden;
  opacity:0; transform:translateY(24px); transition:opacity .55s ease, transform .55s ease;}
.gt-blog-grid.gt-in .gt-post-card{opacity:1; transform:translateY(0);}
.gt-blog-grid.gt-in .gt-post-card:nth-child(-n+3){transition-delay:0s;}
.gt-blog-grid.gt-in .gt-post-card:nth-child(n+4):nth-child(-n+6){transition-delay:.15s;}
.gt-blog-grid.gt-in .gt-post-card:nth-child(n+7){transition-delay:.3s;}
.gt-post-card .thumb-wrap{position:relative; overflow:hidden; display:block;}
.gt-post-card .thumb-wrap img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .45s ease;}
.gt-post-card .thumb-wrap:hover img{transform:scale(1.07);}
.gt-post-card .cat-badge{position:absolute; top:14px; left:14px; background:rgba(127,168,138,.9); color:#16281d;
  font-size:12.5px; font-weight:600; padding:6px 14px; border-radius:20px;}
.gt-post-card .meta{display:flex; align-items:center; gap:18px; font-size:12.5px; color:var(--muted);
  margin:20px 20px 10px;}
.gt-post-card .meta span{display:inline-flex; align-items:center; gap:6px;}
.gt-post-card h3{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 20px 12px; line-height:1.3;}
.gt-post-card h3 a{text-decoration:none; color:var(--ink);}
.gt-post-card p.excerpt{font-size:14.5px; line-height:1.7; color:var(--muted); margin:0 20px 18px;}
.gt-post-card .read-more{display:inline-flex; align-items:center; gap:6px; margin:0 20px 22px;
  font-size:13.5px; font-weight:600; color:var(--muted); text-decoration:none;
  padding:8px 14px; border-radius:20px; transition:background .2s ease, color .2s ease;}
.gt-post-card .read-more:hover{background:#e8c7cb; color:var(--ink);}

/* ---------- About page ---------- */
.gt-about-hero{max-width:1180px; margin:0 auto; padding:90px 48px 80px;
  display:grid; grid-template-columns:.7fr 1fr; gap:70px; align-items:center;}
@media (max-width:860px){ .gt-about-hero{grid-template-columns:1fr; gap:40px; padding:60px 26px;} }
.gt-about-photo{aspect-ratio:1/1; border-radius:18px; background:linear-gradient(135deg, #d7e3da, #ecd6d6);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
  box-shadow:0 30px 60px -25px rgba(36,31,22,.3);
  opacity:0; transform:translateX(-46px); animation:gt-in-left 1.6s ease forwards;}
.gt-about-photo .icon-circle{width:88px; height:88px; border-radius:50%; background:rgba(255,255,255,.55);
  display:flex; align-items:center; justify-content:center; color:var(--sage-dark);}
.gt-about-photo .icon-circle svg{width:38px; height:38px;}
.gt-about-photo .caption{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--ink);}
.gt-about-hero .text-wrap{opacity:0; transform:translateX(46px); animation:gt-in-right 1.6s ease .3s forwards;}
.gt-about-hero h1{font-family:Georgia,var(--serif); font-weight:700; font-size:clamp(40px,5.6vw,58px); margin:0 0 16px;}
.gt-about-hero .tagline{font-family:var(--serif); font-style:italic; font-size:18px; color:var(--muted); margin:0 0 26px;}
.gt-about-hero p{font-size:15.5px; line-height:1.8; color:var(--ink); max-width:520px; margin:0 0 20px;}

.gt-offer-section{background:#fbf9f4; padding:90px 48px; text-align:center;}
.gt-offer-section h2{font-family:var(--serif); font-weight:800; font-size:clamp(34px,4.8vw,46px); margin:0 0 50px;}
.gt-offer-grid{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; text-align:left;}
@media (max-width:760px){ .gt-offer-grid{grid-template-columns:1fr;} }
.gt-offer-grid .gt-world-card{opacity:0; transform:translateY(24px); transition:opacity .5s ease, transform .5s ease;}
.gt-offer-grid.gt-in .gt-world-card{opacity:1; transform:translateY(0);}
.gt-offer-grid.gt-in .gt-world-card:nth-child(1){transition-delay:0s;}
.gt-offer-grid.gt-in .gt-world-card:nth-child(2){transition-delay:.2s;}
.gt-offer-grid.gt-in .gt-world-card:nth-child(3){transition-delay:.4s;}

.gt-journey-section{background:#f3f1ed; padding:90px 48px;}
.gt-journey-section h2{font-family:var(--serif); font-weight:800; font-size:clamp(34px,4.8vw,46px);
  text-align:center; margin:0 0 40px;}
.gt-journey-section .body{max-width:760px; margin:0 auto;}
.gt-journey-section .body p{font-size:16px; line-height:1.85; color:var(--muted); margin:0 0 22px;}

/* ---------- Contact page ---------- */
.gt-contact-header{max-width:760px; margin:0 auto; padding:80px 26px 50px; text-align:center;}
.gt-contact-header h1{font-family:var(--serif); font-weight:800; font-size:clamp(38px,5vw,54px); margin:0 0 16px;}
.gt-contact-header p{color:var(--muted); font-size:16px; line-height:1.7; margin:0;}

.gt-contact-grid{max-width:1100px; margin:0 auto; padding:0 40px 110px;
  display:grid; grid-template-columns:1.2fr 1fr; gap:30px; align-items:start;}
@media (max-width:860px){ .gt-contact-grid{grid-template-columns:1fr;} }

.gt-contact-card{background:#fff; border:1px solid rgba(36,31,22,.08); border-radius:16px; padding:36px;}
.gt-contact-card h2{font-family:var(--serif); font-weight:700; font-size:22px; margin:0 0 24px;}

.gt-contact-card .wpcf7-form p{margin:0 0 20px;}
.gt-contact-card .wpcf7-form label{display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:8px;}
.gt-contact-card .wpcf7-form input[type="text"],
.gt-contact-card .wpcf7-form input[type="email"],
.gt-contact-card .wpcf7-form select,
.gt-contact-card .wpcf7-form textarea{
  width:100%; border:1px solid rgba(36,31,22,.18); border-radius:9px; background:var(--bg);
  font-family:var(--sans); font-size:14.5px; color:var(--ink); padding:12px 14px; outline:none; resize:vertical;
}
.gt-contact-card .wpcf7-form input:focus,
.gt-contact-card .wpcf7-form select:focus,
.gt-contact-card .wpcf7-form textarea:focus{border-color:var(--sage-dark);}
.gt-contact-card .wpcf7-form textarea{min-height:120px;}
.gt-contact-card .wpcf7-form .wpcf7-submit{
  width:100%; background:var(--sage); color:#16281d; border:none; border-radius:10px;
  font-family:var(--sans); font-weight:700; font-size:15px; padding:15px; cursor:pointer;
  transition:background .2s ease;
}
.gt-contact-card .wpcf7-form .wpcf7-submit:hover{background:var(--sage-dark); color:#fff;}

.gt-info-row{display:flex; gap:16px; align-items:flex-start; margin-bottom:26px;}
.gt-info-row:last-child{margin-bottom:0;}
.gt-info-row .icon{width:40px; height:40px; border-radius:10px; background:rgba(127,168,138,.15);
  color:var(--sage-dark); display:flex; align-items:center; justify-content:center; flex:none;}
.gt-info-row .label{font-weight:700; font-size:15px; margin-bottom:4px;}
.gt-info-row .value{font-size:14px; color:var(--muted); line-height:1.6;}

.gt-hours-card{background:var(--bg-soft); border-radius:16px; padding:32px; margin-top:22px;}
.gt-hours-card h3{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 18px;}
.gt-hours-card .row{display:flex; justify-content:space-between; font-size:14px; color:var(--muted); margin-bottom:10px;}
.gt-hours-card .note{font-size:12.5px; color:var(--muted); opacity:.8; margin-top:16px;}

/* ---------- Page-specific base backgrounds (exact hex per review) ---------- */
body.page-template-page-blog-php,
body.page-template-page-contact-php,
body.woocommerce-page{ background:#faf8f3; }

/* ---------- Library page ---------- */
.gt-lib-header{max-width:700px; margin:0 auto; padding:80px 26px 50px; text-align:center;}
.gt-lib-header h1{font-family:var(--serif); font-weight:800; font-size:clamp(38px,5vw,54px); margin:0 0 14px;}
.gt-lib-header p{color:var(--muted); font-size:16px; margin:0;}

.gt-lib-wrap{max-width:900px; margin:0 auto; padding:0 26px 110px; display:flex; flex-direction:column; gap:22px;}
.gt-lib-band{border-radius:16px; padding:32px 34px; color:#20241c;}
.gt-lib-band .icon{width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.gt-lib-band h2{font-family:var(--serif); font-weight:700; font-size:22px; margin:0 0 4px;}
.gt-lib-band .subtitle{font-style:italic; font-size:13.5px; opacity:.75; margin:0 0 20px;}
.gt-lib-list{display:flex; flex-direction:column; gap:10px;}
.gt-lib-row{background:rgba(255,255,255,.6); border-radius:10px; padding:14px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;}
.gt-lib-row .thumb{flex:none; width:56px; height:56px; border-radius:8px; object-fit:cover; display:block;}
.gt-lib-row .thumb.placeholder{background:rgba(255,255,255,.55); display:flex; align-items:center; justify-content:center;}
.gt-lib-row .info{display:flex; align-items:flex-start; gap:10px; flex:1; min-width:0;}
.gt-lib-row .t{font-weight:600; font-size:14.5px;}
.gt-lib-row .d{font-size:12.5px; opacity:.75; margin-top:2px;}
.gt-lib-row .dl{flex:none; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600;
  color:inherit; text-decoration:none; border:1px solid rgba(0,0,0,.25); padding:8px 14px; border-radius:8px;
  background:rgba(255,255,255,.5); transition:background .2s ease;}
.gt-lib-row .dl:hover{background:rgba(255,255,255,.9);}
.gt-lib-list .empty{font-size:13px; opacity:.6; margin:0;}

/* ---------- Single Library Resource page ---------- */
.gt-page-top{height:70px; display:flex; align-items:center; padding:0 48px;
  border-bottom:1px solid rgba(36,31,22,.08); font-family:var(--serif); font-style:italic; font-size:14px; color:var(--muted);}
.gt-page-body{max-width:680px; margin:0 auto; padding:60px 26px 110px;}
.gt-eyebrow{display:inline-block; font-size:12px; font-weight:600; padding:6px 14px; border-radius:20px; margin-bottom:16px; color:#20241c;}
.gt-page-body h1{font-family:var(--serif); font-weight:800; font-size:clamp(30px,4.5vw,44px); margin:0 0 16px;}
.gt-lead{font-size:16.5px; line-height:1.7; color:var(--muted); margin:0 0 26px;}
.gt-resource-image{width:100%; border-radius:12px; margin:0 0 30px;}
.gt-content{font-size:15.5px; line-height:1.85; color:var(--ink);}
.gt-content p{margin:0 0 22px;}
#gt-back{display:inline-block; margin-top:36px; font-family:var(--serif); font-style:italic; font-size:14px;
  color:var(--muted); text-decoration:none; border-bottom:1px solid transparent;}
#gt-back:hover{color:var(--ink); border-color:var(--ink);}

/* ---------- Library row as a clickable link (was a plain div) ---------- */
.gt-lib-row{text-decoration:none; color:inherit;}
.gt-lib-row .dl{flex:none; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600;
  color:inherit;}

/* ---------- Library topic accordions ---------- */
.gt-lib-topic{border-top:1px solid rgba(0,0,0,.1);}
.gt-lib-topic:first-of-type{border-top:none;}
.gt-lib-topic summary{cursor:pointer; font-family:var(--serif); font-weight:700; font-size:14.5px;
  padding:12px 2px; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:8px;}
.gt-lib-topic summary::-webkit-details-marker{display:none;}
.gt-lib-topic summary::after{content:'+'; font-size:17px; opacity:.7;}
.gt-lib-topic[open] summary::after{content:'\2212';}
.gt-lib-topic summary .count{font-weight:400; opacity:.65; font-size:12px; margin-right:auto; margin-left:6px;}
.gt-lib-topic-items{display:flex; flex-direction:column; gap:10px; padding:2px 0 14px;}
