/* ============================================
   Redacted Woodworking — WooCommerce Brand Skin
   Paste into Appearance > Customize > Additional CSS
   (or a CSS plugin like Simple Custom CSS and JS)
   ============================================ */

:root{
  --rw-paper:#FAF6EE;
  --rw-card:#FFFFFF;
  --rw-ink:#1C1410;
  --rw-ink-soft:#4A3D33;
  --rw-muted:#8a7a68;
  --rw-gold:#B8863C;
  --rw-gold-deep:#8C5E22;
  --rw-line: rgba(28,20,16,0.10);
}

/* Import the same fonts used across the site */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..900&family=Work+Sans:wght@400;500;600&family=JetBrains+Mono:wght@500;600&display=swap');

body.woocommerce, body.woocommerce-page{
  background: var(--rw-paper);
  color: var(--rw-ink);
  font-family:'Work Sans', sans-serif;
}

/* Shop / archive headings */
.woocommerce-products-header__title,
.woocommerce h1.page-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  color: var(--rw-ink);
}

/* Product grid */
.woocommerce ul.products li.product{
  background: var(--rw-card);
  border:1px solid var(--rw-line);
  border-radius:4px;
  padding:18px 18px 24px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover{
  transform: translateY(-4px);
  box-shadow:0 16px 30px rgba(28,20,16,0.12);
}
.woocommerce ul.products li.product img{
  border-radius:3px;
  margin-bottom:14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.05rem;
  color: var(--rw-ink);
  margin-bottom:6px;
}
.woocommerce ul.products li.product .price{
  font-family:'JetBrains Mono', monospace;
  color: var(--rw-gold-deep);
  font-size:0.92rem;
}
.woocommerce ul.products li.product .price del{
  color: var(--rw-muted);
}
.woocommerce ul.products li.product .price ins{
  color: var(--rw-gold-deep);
  text-decoration:none;
}

/* Buttons — Add to Cart, View Cart, Checkout, etc. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-Button{
  font-family:'JetBrains Mono', monospace;
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  background: var(--rw-gold) !important;
  color:#fff !important;
  border:1px solid var(--rw-gold) !important;
  border-radius:0;
  padding:13px 22px;
  transition: background .25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background: var(--rw-gold-deep) !important;
  border-color: var(--rw-gold-deep) !important;
}

/* Secondary / outline-style buttons (e.g. "View Cart" after Add to Cart) */
.woocommerce a.added_to_cart{
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color: var(--rw-ink) !important;
  border-bottom:1px solid var(--rw-ink);
}

/* Single product page */
.woocommerce div.product .product_title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:2rem;
  color: var(--rw-ink);
}
.woocommerce div.product p.price, .woocommerce div.product span.price{
  font-family:'JetBrains Mono', monospace;
  color: var(--rw-gold-deep);
  font-size:1.15rem;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  color: var(--rw-ink-soft);
  font-family:'Work Sans', sans-serif;
}

/* Variation dropdowns (wood species, size) */
.woocommerce div.product form.cart .variations select{
  font-family:'Work Sans', sans-serif;
  border:1px solid var(--rw-line);
  background: var(--rw-paper);
  padding:10px 12px;
  border-radius:3px;
}
.woocommerce div.product form.cart .variations label{
  font-family:'JetBrains Mono', monospace;
  font-size:0.7rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color: var(--rw-muted);
}

/* Quantity input */
.woocommerce .quantity input.qty{
  border:1px solid var(--rw-line);
  font-family:'Work Sans', sans-serif;
  border-radius:3px;
  padding:10px;
}

/* Tabs (Description / Additional Information / Reviews) */
.woocommerce-tabs ul.tabs li{
  font-family:'JetBrains Mono', monospace;
  font-size:0.78rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.woocommerce-tabs ul.tabs li.active{
  border-color: var(--rw-gold);
}
.woocommerce-tabs ul.tabs li.active a{
  color: var(--rw-gold-deep);
}

/* Cart page */
.woocommerce table.shop_table{
  border:1px solid var(--rw-line);
  border-radius:4px;
}
.woocommerce table.shop_table th{
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color: var(--rw-muted);
  background: var(--rw-card);
}
.woocommerce-cart .cart-collaterals .cart_totals{
  background: var(--rw-card);
  border:1px solid var(--rw-line);
  border-radius:4px;
  padding:24px;
}
.woocommerce-cart .cart_totals h2{
  font-family:'Fraunces', serif;
  font-weight:600;
}

/* Checkout page */
.woocommerce-checkout #order_review{
  background: var(--rw-card);
  border:1px solid var(--rw-line);
  border-radius:4px;
  padding:24px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  font-family:'Work Sans', sans-serif;
  border:1px solid var(--rw-line);
  background: var(--rw-paper);
  border-radius:3px;
  padding:11px 13px;
}
.woocommerce-checkout-review-order-table{
  border:1px solid var(--rw-line);
}

/* Notices (added to cart, errors, etc.) */
.woocommerce-message, .woocommerce-info{
  border-top-color: var(--rw-gold) !important;
  font-family:'Work Sans', sans-serif;
}
.woocommerce-message::before, .woocommerce-info::before{
  color: var(--rw-gold-deep) !important;
}

/* Sale badge */
.woocommerce span.onsale{
  background: var(--rw-ink);
  font-family:'JetBrains Mono', monospace;
  font-size:0.68rem;
  letter-spacing:0.04em;
  border-radius:0;
}

/* ============================================
   Redacted Woodworking — Custom Build / Contact
   Page Builder Styles (Custom Build & Contact pages)
   ============================================ */

:root{
  --paper:#FAF6EE;
  --card:#FFFFFF;
  --ink:#1C1410;
  --ink-soft:#4A3D33;
  --muted:#8a7a68;
  --gold:#B8863C;
  --gold-deep:#8C5E22;
  --line: rgba(28,20,16,0.10);
  --max: 1180px;
}
.rw-page, .rw-page *{box-sizing:border-box; margin:0; padding:0;}
.rw-page{ overflow-x:hidden; max-width:100%; font-family:'Work Sans', sans-serif; color: var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased; }
.rw-page img{display:block; max-width:100%;}
.rw-page img, .rw-page svg, .rw-page video, .rw-page iframe, .rw-page table { max-width:100%; }
.rw-page a{color:inherit; text-decoration:none;}
.rw-page ul{list-style:none;}
.rw-page h1, .rw-page h2, .rw-page h3, .rw-page h4{ font-family:'Fraunces', serif !important; font-weight:600 !important; line-height:1.1; letter-spacing:-0.01em; }
.eyebrow{ font-family:'JetBrains Mono', monospace; font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color: var(--gold-deep); display:block !important; margin:0 0 4px !important; line-height:1.4 !important; }
.eyebrow.on-dark{ color: var(--gold) !important; }

/* Full-bleed photo hero */
.photo-hero{ position:relative; width:100%; height:78vh; min-height:480px; max-height:760px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.photo-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.photo-hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,20,16,0.55), rgba(28,20,16,0.72)); }
.photo-hero-content{ position:relative; z-index:2; text-align:center; max-width:760px; width:100%; padding:0 28px; box-sizing:border-box; }
.photo-hero-content h1{ font-size:clamp(2rem,4vw,3.1rem) !important; margin:10px 0 16px !important; color:#fff !important; }
.photo-hero-content .lede{ font-family:'Fraunces',serif; font-style:italic; color: var(--gold); font-size:1.1rem; margin-bottom:26px; }
@media (max-width:600px){ .photo-hero{ height:68vh; min-height:420px; } }
.wrap{ max-width: var(--max); margin:0 auto; padding:0 28px; }
.rw-page section{ padding:96px 0; }
.corner-glow{ position:relative; overflow:hidden; }
.corner-glow::before{
  content:""; position:absolute; top:-80px; left:-80px; width:320px; height:320px;
  background: radial-gradient(circle, rgba(184,134,60,0.16), transparent 70%);
  pointer-events:none; z-index:0;
}
.corner-glow::after{
  content:""; position:absolute; bottom:-80px; right:-80px; width:320px; height:320px;
  background: radial-gradient(circle, rgba(184,134,60,0.13), transparent 70%);
  pointer-events:none; z-index:0;
}
.corner-glow > .wrap{ position:relative; z-index:1; }
@media (max-width:768px){ .rw-page section{ padding:60px 0; } }

.btn{ display:inline-flex; align-items:center; gap:10px; font-family:'JetBrains Mono', monospace; font-size:0.78rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:15px 22px; border:1px solid currentColor; transition: background .25s ease, color .25s ease, transform .15s ease; white-space:normal; overflow-wrap:break-word; max-width:100%; box-sizing:border-box; }
.btn:hover{ transform: translateY(-2px); }
.btn-solid{ background: var(--gold); color:#fff; border-color: var(--gold); }
.btn-solid:hover{ background: var(--gold-deep); border-color: var(--gold-deep); }
.btn-line{ background:transparent; color: var(--ink); border-color: var(--ink); }
.btn-line:hover{ background: var(--ink); color: var(--paper); }
.btn-line.on-dark{ color:#fff; border-color: rgba(255,255,255,0.5); }
.btn-line.on-dark:hover{ background:#fff; color: var(--ink); border-color:#fff; }

/* Header */
.rw-page header{ position:sticky; top:0; z-index:50; background: rgba(250,246,238,0.92); backdrop-filter: blur(8px); border-bottom:1px solid var(--line); }
.nav{ max-width: var(--max); margin:0 auto; padding:16px 28px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:nowrap; }
@media (max-width:480px){
  .nav{ padding:14px 16px; }
  .nav .btn{ padding:10px 14px !important; font-size:0.68rem !important; }
  .logo-img, .brand img{ height:36px !important; }
}
.brand{ display:flex; align-items:center; gap:12px; }
.badge{ width:42px; height:42px; border-radius:50%; background: var(--ink); color: var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-weight:700; font-size:1rem; letter-spacing:0.02em; flex-shrink:0; }
.logo-img{ height:48px; width:auto; object-fit:contain; flex-shrink:0; }
.wordmark{ font-family:'Fraunces', serif; font-size:1.02rem; font-weight:600; letter-spacing:0.04em; line-height:1.15; text-transform:uppercase; }
.wordmark small{ display:block; font-family:'JetBrains Mono', monospace; font-size:0.6rem; font-weight:500; letter-spacing:0.18em; color: var(--muted); text-transform:uppercase; }
.nav-links{ display:flex; gap:28px; font-size:0.88rem; font-weight:500; }
.nav-links a{ position:relative; padding:4px 0; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--gold); transition: width .25s ease; }
.nav-links a:hover::after{ width:100%; }
.nav-links a.active::after{ width:100%; }
.nav-cta{ display:flex; align-items:center; gap:20px; }
.cart{ display:flex; align-items:center; gap:6px; font-family:'JetBrains Mono', monospace; font-size:0.85rem; }
@media (max-width:920px){ .nav-links{ display:none; } }

/* Hero */
.hero-grid{ display:grid; grid-template-columns: 0.95fr 1.15fr; gap:56px; align-items:center; padding:60px 0 70px; }
@media (max-width:940px){ .hero-grid{ grid-template-columns:1fr; padding:40px 0; } }
.hero h1{ font-size:clamp(2.3rem,4.4vw,3.5rem); margin:14px 0 22px; }
.hero h1 .accent{ color: var(--gold); }
.hero-rule{ width:64px; height:2px; background: var(--gold); margin-bottom:22px; }
.hero p.body{ max-width:440px; color: var(--ink-soft); font-size:1.02rem; margin-bottom:30px; }
.hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
@media (max-width:600px){
  .hero-ctas{ flex-direction:column; }
  .hero-ctas .btn, .final-ctas .btn{
    width:100% !important; max-width:100% !important; box-sizing:border-box !important;
    text-align:center; justify-content:center;
    white-space:normal !important; word-break:break-word;
    font-size:0.7rem !important; padding:14px 12px !important;
  }
  .btn{ overflow-wrap:break-word; }
}
.hero-photo{ aspect-ratio:6/5; border-radius:4px; overflow:hidden; background:linear-gradient(155deg,#cdbb9c,#a98e63); box-shadow:0 30px 60px rgba(28,20,16,0.16); }
.hero-photo img{ width:100%; height:100%; object-fit:cover; }

/* Mixed photo/text feature strip */
.mix-strip{ display:grid; grid-template-columns: repeat(8, 1fr); background: var(--ink); }
@media (max-width:920px){ .mix-strip{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:600px){ .mix-strip{ grid-template-columns:repeat(2,1fr); } }
.mix-photo{ aspect-ratio:1/1; overflow:hidden; background:linear-gradient(160deg,#b89a6c,#7c5c36); }
.mix-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.mix-text{ padding:22px 18px; color:#fff; }
.mix-text .ico{ color: var(--gold); font-size:1.3rem; margin-bottom:14px; }
.mix-text h4{ font-family:'Work Sans',sans-serif; font-weight:600; font-size:0.85rem; margin-bottom:8px; letter-spacing:0.01em; }
.mix-text p{ font-size:0.78rem; color: rgba(255,255,255,0.6); line-height:1.45; }

/* Section heading pattern */
.sec-head{ max-width:640px; margin-bottom:48px; }

/* Why Custom - dark difference band */
.diff{ background: var(--ink); color: var(--paper); padding-bottom:88px; }
.diff .eyebrow{ color: var(--gold); }
.diff .sec-head h2{ color:#fff; }
.diff .sec-head p{ color: rgba(255,255,255,0.65); }
.diff-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.12); }
@media (max-width:920px){ .diff-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .diff-grid{ grid-template-columns:1fr; } }
.diff-card{ background: var(--ink); padding:28px 22px; }

/* Banner CTA card */
.banner{
  background: linear-gradient(160deg,#3a2718,#1c1410); color:#fff; border-radius:6px;
  padding:48px 44px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px;
}
.banner h2{ color:#fff; font-size:clamp(1.5rem,2.4vw,2rem); }
.banner p{ color: rgba(255,255,255,0.65); margin-top:8px; max-width:440px; }
@media (max-width:640px){ .banner{ padding:36px 28px; } }

/* Final CTA */
.final-cta{ text-align:center; }
.final-cta h2{ font-size:clamp(1.8rem,3.2vw,2.6rem); margin:12px 0 16px; }
.final-cta p{ max-width:520px; margin:0 auto 28px; color:var(--ink-soft); }

/* Footer bottom row */
.foot-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.diff-card h3{ font-size:1.05rem; color:#fff; margin-bottom:8px; }
.diff-card p{ font-size:0.88rem; color: rgba(255,255,255,0.6); }
.sec-head h2{ font-size:clamp(1.8rem,3vw,2.5rem); margin-top:12px; }
.sec-head p{ margin-top:14px; color: var(--ink-soft); }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Craftsmanship */
.craft-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media (max-width:820px){ .craft-grid{ grid-template-columns:1fr; } }
.craft-grid-4{ grid-template-columns:repeat(4,1fr) !important; gap:24px !important; }
@media (max-width:920px){ .craft-grid-4{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .craft-grid-4{ grid-template-columns:1fr !important; } }
.craft-card .photo{ aspect-ratio:4/3; border-radius:4px; overflow:hidden; margin-bottom:18px; background:linear-gradient(160deg,#bda77f,#8c6f47); }
.craft-card .photo img{ width:100%; height:100%; object-fit:cover; }
.craft-card h3{ font-size:1.1rem; margin:6px 0 8px; }
.craft-card p{ color: var(--ink-soft); font-size:0.92rem; }

/* Process */
.process-wrap{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap:56px; align-items:start; }
@media (max-width:900px){ .process-wrap{ grid-template-columns:1fr; } }
.process-steps{ display:flex; gap:0; align-items:flex-start; }
@media (max-width:600px){ .process-steps{ flex-direction:column; gap:28px; } }
.step{ flex:1; padding-right:18px; position:relative; }
.step .num{ font-family:'JetBrains Mono', monospace; color: var(--gold-deep); font-weight:600; font-size:0.85rem; }
.step h4{ font-family:'Work Sans',sans-serif; font-weight:600; font-size:0.95rem; margin:10px 0 6px; }
.step p{ font-size:0.85rem; color: var(--ink-soft); }
.arrow{ color: var(--gold); font-size:1.2rem; padding-top:2px; }
@media (max-width:600px){ .arrow{ display:none; } }

/* Collections */
.coll-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:920px){ .coll-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .coll-grid{ grid-template-columns:1fr; } }
.coll-card{ position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3; background:linear-gradient(160deg,#b89a6c,#7c5c36); }
.coll-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.coll-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,14,10,0.82) 0%, rgba(20,14,10,0.15) 55%, transparent 75%); }
.coll-num{ position:absolute; top:18px; left:20px; z-index:2; font-family:'JetBrains Mono',monospace; color: var(--gold); font-size:0.8rem; font-weight:600; }
.coll-text{ position:absolute; left:20px; right:20px; bottom:18px; z-index:2; color:#fff; }
.coll-text h3{ font-size:1.15rem; color:#fff; margin-bottom:4px; }
.coll-text p{ font-size:0.82rem; color: rgba(255,255,255,0.78); margin-bottom:8px; }
.coll-link{ font-family:'JetBrains Mono', monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color: var(--gold); }
.coll-link::after{ content:" →"; }
.coll-cta{ text-align:center; margin-top:44px; }

/* Materials */
.materials{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
@media (max-width:900px){ .materials{ grid-template-columns:1fr; } }
.materials h2{ font-size:clamp(1.8rem,3vw,2.4rem); margin:12px 0 16px; }
.materials h2 .accent{ color: var(--gold); display:block; }
.materials p{ color: var(--ink-soft); max-width:440px; margin-bottom:26px; }
.mat-photo{ aspect-ratio:5/4; border-radius:4px; overflow:hidden; background:linear-gradient(160deg,#c8b48c,#8a6b41); }
.mat-photo img{ width:100%; height:100%; object-fit:cover; }
.swatches{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:48px; }
@media (max-width:760px){ .swatches{ grid-template-columns:repeat(2,1fr); } }
.swatches-3col{ grid-template-columns:repeat(3,1fr); margin-top:0; }
@media (max-width:700px){ .swatches-3col{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .swatches-3col{ grid-template-columns:1fr; } }
.swatch .chip{ aspect-ratio:1/1; border-radius:3px; margin-bottom:10px; background:linear-gradient(160deg,#cbb38b,#8c6c41); }
.swatch h4{ font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:4px; }
.swatch p{ font-size:0.78rem; color: var(--muted); }

/* Testimonials + trust */
.testi-wrap{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:56px; }
@media (max-width:900px){ .testi-wrap{ grid-template-columns:1fr; } }
.testi-card{ background: var(--card); border:1px solid var(--line); border-radius:4px; padding:24px; margin-bottom:18px; }
.testi-card .quote{ color: var(--gold); font-family:'Fraunces',serif; font-size:1.8rem; line-height:1; margin-bottom:10px; }
.testi-card p{ font-family:'Fraunces', serif; font-style:italic; font-size:0.98rem; margin-bottom:14px; }
.testi-card .who{ font-family:'JetBrains Mono', monospace; font-size:0.72rem; color: var(--muted); }
.testi-card .who b{ color: var(--ink); display:block; font-family:'Work Sans',sans-serif; font-size:0.85rem; }
.trust-badges{ display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:28px; opacity:0.6; font-family:'JetBrains Mono', monospace; font-size:0.78rem; letter-spacing:0.04em; }

/* Final CTA */
.final-bar{ background: var(--ink); color:#fff; border-radius:6px; padding:48px 44px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; }
.final-bar .left{ display:flex; align-items:center; gap:20px; }
.final-bar h2{ color:#fff; font-size:clamp(1.4rem,2.4vw,1.9rem); }
.final-bar p{ color: rgba(255,255,255,0.65); font-size:0.92rem; margin-top:6px; }
.final-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
@media (max-width:700px){ .final-bar{ padding:36px 26px; } }

/* SEO + footer */
.seo{ font-size:0.88rem; color: var(--muted); padding:56px 0 0; }
.seo h3{ font-size:1.05rem; margin-bottom:12px; color: var(--ink); }
.seo p{ max-width:760px; }
.rw-page footer{ padding:40px 0 28px; font-size:0.85rem; color: var(--muted); }
.foot-grid{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:18px; }
.foot-links{ display:flex; gap:22px; flex-wrap:wrap; }
.foot-links a:hover{ color: var(--ink); }
/* Shop page: collection rows */
.collection-row{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:56px 0; border-bottom:1px solid var(--line); }
.collection-row:last-child{ border-bottom:none; }
.collection-row.reverse .col-photo{ order:2; }
@media (max-width:860px){ .collection-row, .collection-row.reverse .col-photo{ grid-template-columns:1fr; order:initial; } .collection-row{ grid-template-columns:1fr; gap:24px; } }
.col-photo{ aspect-ratio:5/4; border-radius:4px; overflow:hidden; background:linear-gradient(160deg,#c0a273,#7c5c36); }
.col-photo img{ width:100%; height:100%; object-fit:cover; }
.col-text h3{ font-size:1.5rem; margin-bottom:10px; }
.col-text > p{ color: var(--ink-soft); margin-bottom:18px; }
.popular-label{ font-family:'JetBrains Mono', monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--muted); margin-bottom:10px; display:block; }
.popular-list{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.popular-list li{ font-size:0.82rem; border:1px solid var(--line); padding:7px 14px; border-radius:20px; color: var(--ink-soft); background: var(--card); }

/* Species pills */
.species-pills{ display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 28px; }
.species-pill{ font-family:'JetBrains Mono', monospace; font-size:0.78rem; letter-spacing:0.04em; padding:10px 18px; border:1px solid var(--gold); color: var(--gold-deep); border-radius:3px; }

/* Checklist */
.checklist{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0 32px; }
@media (max-width:700px){ .checklist{ grid-template-columns:repeat(2,1fr); } }
.checklist-2col{ grid-template-columns:repeat(2,1fr) !important; }
@media (max-width:480px){ .checklist-2col{ grid-template-columns:1fr !important; } }
.checklist li{ display:flex; align-items:center; gap:10px; font-size:0.9rem; color: var(--ink-soft); }
.checklist li .ck{ color: var(--gold); font-weight:700; }

/* Why choose bullets */
.why-list{ display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }
.why-list li{ font-size:0.88rem; padding:10px 16px; background: var(--card); border:1px solid var(--line); border-radius:4px; color: var(--ink-soft); }

/* FAQ */
.faq-item{ padding:24px 0; border-bottom:1px solid var(--line); }
.faq-item:first-child{ padding-top:0; }
.faq-item h4{ font-family:'Work Sans', sans-serif; font-weight:600; font-size:1.02rem; margin-bottom:8px; }
.faq-item p{ color: var(--ink-soft); font-size:0.92rem; }
/* Forms */
.form-card{ background: var(--card); border:1px solid var(--line); border-radius:6px; padding:40px; }
.form-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media (max-width:700px){ .form-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:7px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-family:'JetBrains Mono', monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color: var(--muted); }
.field input, .field select, .field textarea{
  font-family:'Work Sans', sans-serif; font-size:0.95rem; color: var(--ink);
  border:1px solid var(--line); background: var(--paper); padding:12px 14px; border-radius:3px;
}
.field textarea{ resize:vertical; min-height:100px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; }
.form-note{ font-size:0.8rem; color: var(--muted); margin-top:18px; }

/* Contact info grid */
.info-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:36px; }
@media (max-width:820px){ .info-grid{ grid-template-columns:repeat(2,1fr); } }
.info-card{ background: var(--card); border:1px solid var(--line); border-radius:4px; padding:24px; }
.info-card h4{ font-family:'JetBrains Mono', monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--gold-deep); margin-bottom:10px; }
.info-card p{ font-size:0.92rem; color: var(--ink-soft); }

/* Gallery tags */
.tag-row{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.tag-row .tag{ font-size:0.85rem; padding:9px 18px; border:1px solid var(--line); border-radius:20px; color: var(--ink-soft); background: var(--card); }

/* ============ ANIMATION SYSTEM ============ */
@keyframes rwFadeUp{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);} }
@keyframes rwGrow{ from{width:0;} to{width:64px;} }

/* Hero entrance (plays once on load) */
section:first-of-type .eyebrow{ animation: rwFadeUp .7s ease both; }
section:first-of-type h1{ animation: rwFadeUp .8s ease .12s both; }
section:first-of-type .hero-rule{ animation: rwGrow .6s ease .32s both; }
section:first-of-type > .wrap > div > p, section:first-of-type p.body{ animation: rwFadeUp .8s ease .4s both; }
section:first-of-type .hero-ctas, section:first-of-type .btn{ animation: rwFadeUp .8s ease .56s both; }
section:first-of-type .hero-photo{ animation: rwFadeUp .9s ease .25s both; }

/* Scroll reveal (added via JS) */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in-view{ opacity:1; transform:none; }

/* Staggered grid children inside a revealed section */
.reveal .craft-grid > *, .reveal .coll-grid > *, .reveal .diff-grid > *, .reveal .testi-grid > *,
.reveal .checklist > *, .reveal .why-list > *, .reveal .swatches > *, .reveal .info-grid > *{
  opacity:0; transform:translateY(16px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.in-view .craft-grid > *, .reveal.in-view .coll-grid > *, .reveal.in-view .diff-grid > *, .reveal.in-view .testi-grid > *,
.reveal.in-view .checklist > *, .reveal.in-view .why-list > *, .reveal.in-view .swatches > *, .reveal.in-view .info-grid > *{
  opacity:1; transform:none;
}
.reveal.in-view .craft-grid > *:nth-child(1), .reveal.in-view .coll-grid > *:nth-child(1), .reveal.in-view .diff-grid > *:nth-child(1), .reveal.in-view .testi-grid > *:nth-child(1), .reveal.in-view .checklist > *:nth-child(1), .reveal.in-view .why-list > *:nth-child(1), .reveal.in-view .swatches > *:nth-child(1), .reveal.in-view .info-grid > *:nth-child(1){ transition-delay:.02s; }
.reveal.in-view .craft-grid > *:nth-child(2), .reveal.in-view .coll-grid > *:nth-child(2), .reveal.in-view .diff-grid > *:nth-child(2), .reveal.in-view .testi-grid > *:nth-child(2), .reveal.in-view .checklist > *:nth-child(2), .reveal.in-view .why-list > *:nth-child(2), .reveal.in-view .swatches > *:nth-child(2), .reveal.in-view .info-grid > *:nth-child(2){ transition-delay:.09s; }
.reveal.in-view .craft-grid > *:nth-child(3), .reveal.in-view .coll-grid > *:nth-child(3), .reveal.in-view .diff-grid > *:nth-child(3), .reveal.in-view .testi-grid > *:nth-child(3), .reveal.in-view .checklist > *:nth-child(3), .reveal.in-view .why-list > *:nth-child(3), .reveal.in-view .swatches > *:nth-child(3), .reveal.in-view .info-grid > *:nth-child(3){ transition-delay:.16s; }
.reveal.in-view .craft-grid > *:nth-child(4), .reveal.in-view .coll-grid > *:nth-child(4), .reveal.in-view .diff-grid > *:nth-child(4), .reveal.in-view .testi-grid > *:nth-child(4), .reveal.in-view .checklist > *:nth-child(4), .reveal.in-view .why-list > *:nth-child(4), .reveal.in-view .swatches > *:nth-child(4), .reveal.in-view .info-grid > *:nth-child(4){ transition-delay:.23s; }
.reveal.in-view .craft-grid > *:nth-child(5), .reveal.in-view .coll-grid > *:nth-child(5), .reveal.in-view .diff-grid > *:nth-child(5), .reveal.in-view .testi-grid > *:nth-child(5), .reveal.in-view .checklist > *:nth-child(5), .reveal.in-view .why-list > *:nth-child(5), .reveal.in-view .swatches > *:nth-child(5), .reveal.in-view .info-grid > *:nth-child(5){ transition-delay:.3s; }
.reveal.in-view .craft-grid > *:nth-child(6), .reveal.in-view .coll-grid > *:nth-child(6), .reveal.in-view .diff-grid > *:nth-child(6), .reveal.in-view .testi-grid > *:nth-child(6), .reveal.in-view .checklist > *:nth-child(6), .reveal.in-view .why-list > *:nth-child(6), .reveal.in-view .swatches > *:nth-child(6), .reveal.in-view .info-grid > *:nth-child(6){ transition-delay:.37s; }

@media (prefers-reduced-motion: reduce){
  section:first-of-type .eyebrow, section:first-of-type h1, section:first-of-type .hero-rule,
  section:first-of-type > .wrap > div > p, section:first-of-type p.body,
  section:first-of-type .hero-ctas, section:first-of-type .btn, section:first-of-type .hero-photo{
    animation:none !important;
  }
  .reveal, .reveal .craft-grid > *, .reveal .coll-grid > *, .reveal .diff-grid > *, .reveal .testi-grid > *,
  .reveal .checklist > *, .reveal .why-list > *, .reveal .swatches > *, .reveal .info-grid > *{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* Lead gen popup */
.leadgen-overlay{ position:fixed; inset:0; background:rgba(20,14,10,0.7); display:flex; align-items:center; justify-content:center; z-index:1000; opacity:0; visibility:hidden; transition:opacity .4s ease; padding:20px; }
.leadgen-overlay.show{ opacity:1; visibility:visible; }
.leadgen-modal{ background:var(--paper); max-width:440px; width:100%; padding:40px 36px; border-radius:6px; position:relative; box-shadow:0 30px 60px rgba(0,0,0,0.35); transform:translateY(20px); transition:transform .4s ease; }
.leadgen-overlay.show .leadgen-modal{ transform:translateY(0); }
.leadgen-close{ position:absolute; top:14px; right:16px; background:none; border:none; font-size:1.7rem; color:var(--muted); cursor:pointer; line-height:1; padding:4px; }
.leadgen-close:hover{ color:var(--ink); }
.leadgen-modal h3{ font-size:1.4rem; margin:8px 0 10px; }
.leadgen-modal p{ color:var(--ink-soft); font-size:0.9rem; margin-bottom:18px; }
.leadgen-form{ display:flex; flex-direction:column; gap:11px; }
.leadgen-form input{ padding:12px 14px; border:1px solid var(--line); border-radius:3px; font-family:'Work Sans',sans-serif; font-size:0.9rem; background:var(--card); width:100%; box-sizing:border-box; }
.leadgen-form input:focus{ outline:2px solid var(--gold); outline-offset:1px; }
.leadgen-note{ font-size:0.74rem; color:var(--muted); text-align:center; margin-top:14px; margin-bottom:0; }
@media (max-width:480px){ .leadgen-modal{ padding:30px 24px; } }

/* ============================================
   WooCommerce Cart & Checkout — Mobile Responsive Tables
   (Scoped to cart/checkout only — does not affect rw-page)
   ============================================ */
@media (max-width: 768px) {
  .woocommerce-cart table.shop_table,
  .woocommerce-checkout table.shop_table,
  .woocommerce-cart table.shop_table thead,
  .woocommerce-checkout table.shop_table thead,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-checkout table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-checkout table.shop_table tr,
  .woocommerce-cart table.shop_table td,
  .woocommerce-checkout table.shop_table td{
    display: block;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table thead,
  .woocommerce-checkout table.shop_table thead{
    display: none;
  }

  .woocommerce-cart table.shop_table tr,
  .woocommerce-checkout table.shop_table tr{
    margin-bottom: 16px;
    border: 1px solid var(--rw-line);
    border-radius: 4px;
    padding: 8px 0;
  }

  .woocommerce-cart table.shop_table td,
  .woocommerce-checkout table.shop_table td{
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: right;
    padding: 10px 14px !important;
    border: none !important;
    word-break: break-word;
  }

  .woocommerce-cart table.shop_table td::before,
  .woocommerce-checkout table.shop_table td::before{
    content: attr(data-title);
    font-family:'JetBrains Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--rw-muted);
    text-align: left;
    margin-right: 12px;
    flex-shrink: 0;
  }

  .woocommerce-cart table.shop_table td.product-thumbnail::before,
  .woocommerce-checkout table.shop_table td.product-thumbnail::before{
    content: "";
  }

  .woocommerce-cart table.shop_table td.product-thumbnail img{
    max-width: 60px;
    height: auto;
  }

  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart-collaterals .cart_totals{
    width: 100% !important;
    float: none !important;
  }

  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details{
    display: block;
    width: 100% !important;
    float: none !important;
  }

  .woocommerce-checkout .col-1,
  .woocommerce-checkout .col-2{
    width: 100% !important;
    float: none !important;
    margin-bottom: 24px;
  }
}
.woocommerce ul.products li.product {
    min-width: 280px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
/* Fix WooCommerce checkout text/layout */
.woocommerce-checkout .woocommerce form .form-row,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

.woocommerce-checkout label,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

.woocommerce-checkout .woocommerce-checkout {
  display: block !important;
}

@media (max-width: 768px) {
  .woocommerce-checkout {
    padding: 24px 16px !important;
  }

  .woocommerce-checkout h3,
  .woocommerce-checkout label,
  .woocommerce-checkout p,
  .woocommerce-checkout span,
  .woocommerce-checkout td,
  .woocommerce-checkout th {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}
/* Shop grid spacing */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 32px !important;
}

ul.products li.product {
  margin: 0 !important;
  width: auto !important;
  float: none !important;
}

/* optional: soften the card edges a touch so the added spacing reads intentional */
ul.products li.product {
  border-radius: 4px;
  overflow: hidden;
}
/* Ensure Select options button shows and is visible */
ul.products li.product .button.add_to_cart_button,
ul.products li.product .button.product_type_variable,
ul.products li.product a.add_to_cart_button {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 12px;
  padding: 10px 20px;
  background: #B8863C;
  color: #FAF6EF;
  border: none;
  border-radius: 2px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

ul.products li.product .button.add_to_cart_button:hover,
ul.products li.product .button.product_type_variable:hover {
  background: #9C7233;
}
/* Force any hover-reveal wrapper around the button to stay open */
ul.products li.product .kb-woo-btn,
ul.products li.product .product-loop-header,
ul.products li.product .kadence-product-actions,
ul.products li.product .loop-product-actions,
ul.products li.product [class*="add-to-cart-wrap"] {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  position: static !important;
}