/*
Theme Name: Termin8tr Affiliates
Theme URI: https://termin8tr.com
Author: Termin8tr
Description: A rugged, editorial theme for outdoor-gear affiliate review sites. Built around a custom "Gear" post type (price, rating, badge, Amazon link) with a homepage hero, a reviews archive, and single review pages. Modify freely.
Version: 1.0
Requires PHP: 7.4
Text Domain: termin8tr-affiliates
*/

:root{
  --canvas:#EDE8DA;
  --canvas-2:#E2DBC8;
  --ink:#22291F;
  --pine:#33472F;
  --pine-dark:#232F20;
  --rust:#B5502E;
  --stone:#7D7663;
  --line:#C7BFA9;
  --white:#FBF9F3;
}
*{box-sizing:border-box;}
body{
  background:var(--canvas);
  color:var(--ink);
  font-family:'Public Sans',system-ui,sans-serif;
  line-height:1.5;
  margin:0;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}

/* ---- Nav ---- */
header.site-header{
  position:sticky; top:0; z-index:20;
  background:var(--canvas);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1120px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:700; font-size:1.25rem; letter-spacing:-0.01em; text-decoration:none;}
.brand .mark{width:26px; height:26px; flex-shrink:0;}
.navlinks{display:flex; gap:32px; font-size:0.95rem; font-weight:500; list-style:none; margin:0; padding:0;}
.navlinks li{display:inline;}
.navlinks a{text-decoration:none;}
.navlinks a:hover{color:var(--pine);}
@media (max-width:640px){ .navlinks{display:none;} }

/* ---- Hero ---- */
.hero{position:relative; overflow:hidden; border-bottom:1px solid var(--line);}
.contours{position:absolute; inset:0; width:100%; height:100%; opacity:0.55; pointer-events:none;}
.hero-inner{position:relative; max-width:1120px; margin:0 auto; padding:96px 28px 88px; display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:end;}
@media (max-width:860px){ .hero-inner{grid-template-columns:1fr; padding:64px 24px 56px;} }
.kicker{font-family:'JetBrains Mono',monospace; font-size:0.78rem; color:var(--pine); display:flex; align-items:center; gap:10px; margin-bottom:22px;}
.kicker::before{content:''; width:22px; height:1px; background:var(--rust);}
h1, .hero-copy h1{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(2.4rem,5vw,3.6rem); line-height:1.05; letter-spacing:-0.015em; max-width:14ch; margin:0;}
.hero-copy p{max-width:46ch; color:var(--pine-dark); font-size:1.06rem; margin-top:20px;}
.cta-row{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.btn{font-weight:600; font-size:0.95rem; padding:13px 22px; text-decoration:none; display:inline-block; border-radius:3px;}
.btn-primary{background:var(--pine); color:var(--white);}
.btn-primary:hover{background:var(--pine-dark);}
.btn-ghost{border:1px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:var(--canvas);}
.hero-panel{border:1px solid var(--ink); background:var(--white); padding:22px; font-family:'JetBrains Mono',monospace; font-size:0.82rem;}
.hero-panel .row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line);}
.hero-panel .row:last-child{border-bottom:none;}
.hero-panel .label{color:var(--stone);}

/* ---- Sections ---- */
.section{padding:76px 0;}
.section-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:36px; gap:20px; flex-wrap:wrap;}
.section-head h2{font-family:'Fraunces',serif; font-weight:600; font-size:1.8rem; letter-spacing:-0.01em; margin:0;}
.section-link{font-size:0.92rem; font-weight:600; text-decoration:none; border-bottom:1px solid var(--rust); padding-bottom:2px; white-space:nowrap;}
.page-title{font-family:'Fraunces',serif; font-weight:600; font-size:2.2rem; margin:0 0 40px;}

/* ---- Gear / product cards ---- */
.picks{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.picks.archive-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width:860px){ .picks.archive-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:720px){ .picks, .picks.archive-grid{grid-template-columns:1fr;} }
.card{background:var(--white); border:1px solid var(--ink); text-decoration:none; color:var(--ink); display:flex; flex-direction:column;}
.card-media{position:relative; border-bottom:1px solid var(--ink); background:var(--canvas-2); aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.card-media img{width:100%; height:100%; object-fit:cover;}
.badge{position:absolute; top:12px; left:12px; background:var(--rust); color:var(--white); font-family:'JetBrains Mono',monospace; font-size:0.72rem; padding:5px 9px; font-weight:500;}
.card-body{padding:20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1;}
.card-body h3{font-family:'Fraunces',serif; font-weight:600; font-size:1.18rem; line-height:1.25; margin:0;}
.card-body p{font-size:0.94rem; color:var(--pine-dark); margin:0;}
.card-meta{display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); font-family:'JetBrains Mono',monospace; font-size:0.82rem;}
.stars{color:var(--rust); letter-spacing:1px;}
.price{font-weight:500;}
.empty{border:1px dashed var(--stone); padding:40px 28px; text-align:center; color:var(--stone); font-size:0.95rem;}

/* ---- Trust strip ---- */
.trust{background:var(--pine); color:var(--white);}
.trust-inner{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:52px 28px;}
@media (max-width:720px){ .trust-inner{grid-template-columns:1fr; gap:32px;} }
.trust h4{font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; margin:0 0 8px;}
.trust p{font-size:0.92rem; color:#D8E0D2; margin:0;}

/* ---- Single review ---- */
.review-head{display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:64px 0; border-bottom:1px solid var(--line);}
@media (max-width:800px){ .review-head{grid-template-columns:1fr;} }
.review-media{border:1px solid var(--ink); background:var(--canvas-2); aspect-ratio:1/1; overflow:hidden;}
.review-media img{width:100%; height:100%; object-fit:cover;}
.review-info h1{max-width:none;}
.review-meta-box{border:1px solid var(--ink); background:var(--white); padding:20px 22px; margin-top:24px; font-family:'JetBrains Mono',monospace; font-size:0.85rem;}
.review-meta-box .row{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line);}
.review-meta-box .row:last-child{border-bottom:none;}
.review-body{max-width:70ch; padding:56px 0; font-size:1.02rem;}
.review-body h2{font-family:'Fraunces',serif; margin-top:2em;}
.disclosure-inline{font-size:0.85rem; color:var(--stone); border-top:1px solid var(--line); padding-top:20px; margin-top:40px;}

/* ---- Footer ---- */
footer.site-footer{border-top:1px solid var(--line); padding:52px 0 40px;}
.foot-grid{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.foot-brand{max-width:34ch; font-size:0.92rem; color:var(--stone);}
.foot-links{display:flex; gap:60px; flex-wrap:wrap;}
.foot-col h5{font-family:'JetBrains Mono',monospace; font-size:0.75rem; color:var(--stone); margin:0 0 12px;}
.foot-col ul{list-style:none; margin:0; padding:0;}
.foot-col a{display:block; font-size:0.92rem; text-decoration:none; padding:4px 0;}
.foot-col a:hover{color:var(--pine);}
.disclosure{margin-top:44px; padding-top:24px; border-top:1px solid var(--line); font-size:0.82rem; color:var(--stone); max-width:70ch;}
