/*
Theme Name: Wander Trail
Theme URI: https://wandertrail.co
Author: Wander Trail Team
Description: Custom editorial theme for Wander Trail - trail guides and gear reviews from hikers who log the miles.
Version: 1.1
Text Domain: wandertrail
*/

:root{
  --parchment:#F2ECDC;
  --parchment-deep:#E9E0C8;
  --pine:#1D2E22;
  --pine-soft:#28402F;
  --moss:#4B6B4F;
  --gold:#D9A441;
  --gold-deep:#B9832F;
  --teal:#3C6E6B;
  --ink:#23281F;
  --paper-line: rgba(29,46,34,0.14);
  --radius: 3px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--parchment);
  color:var(--ink);
  font-family:'Karla', sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:600; color:var(--pine); line-height:1.08; letter-spacing:-0.01em;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--moss);
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:16px; height:1px; background:var(--gold-deep);}
:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

/* ---------- header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(242,236,220,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--paper-line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:20px 32px;}
.logo{font-family:'Fraunces', serif; font-weight:700; font-size:21px; color:var(--pine); letter-spacing:-0.01em; display:flex; align-items:center; gap:8px; text-decoration:none;}
.logo svg{flex-shrink:0;}
.navlinks{display:flex; gap:34px; font-size:14px; font-weight:600; list-style:none;}
.navlinks a{text-decoration:none; color:var(--ink); position:relative; padding-bottom:3px;}
.navlinks a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-deep); transition:width .25s ease;}
.navlinks a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:18px;}
.pin-btn{
  display:flex; align-items:center; gap:7px;
  font-size:13px; font-weight:700; font-family:'Karla',sans-serif;
  background:var(--pine); color:var(--parchment); padding:9px 16px; border-radius:99px;
  text-decoration:none; white-space:nowrap;
  transition:background .2s ease, transform .2s ease;
}
.pin-btn:hover{background:var(--pine-soft); transform:translateY(-1px);}

/* ---------- mobile nav ---------- */
.menu-btn{
  display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:none; border:1px solid var(--paper-line); border-radius:8px; cursor:pointer; padding:0;
}
.menu-btn span, .menu-btn span::before, .menu-btn span::after{
  content:""; display:block; width:18px; height:2px; background:var(--pine); position:relative; transition:transform .2s ease, opacity .2s ease;
}
.menu-btn span::before{position:absolute; top:-6px;}
.menu-btn span::after{position:absolute; top:6px;}
.menu-btn[aria-expanded="true"] span{background:transparent;}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{
  display:none; position:fixed; inset:0; z-index:60; background:var(--pine);
  padding:24px 28px; flex-direction:column;
}
.mobile-menu.open{display:flex;}
.mobile-menu .mm-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:44px;}
.mobile-menu .logo{color:var(--parchment);}
.mobile-menu .logo svg path{stroke:var(--parchment);}
.mobile-menu ul{list-style:none; display:flex; flex-direction:column; gap:6px;}
.mobile-menu a{
  text-decoration:none; color:var(--parchment); font-family:'Fraunces',serif; font-size:26px; font-weight:600;
  padding:16px 4px; border-bottom:1px solid rgba(242,236,220,0.14); min-height:44px; display:flex; align-items:center;
}
.mobile-menu .pin-btn{margin-top:32px; justify-content:center; padding:16px; font-size:15px;}
.mobile-menu .menu-btn{border-color:rgba(242,236,220,0.3); color:var(--parchment); font-size:22px; line-height:1;}
@media (max-width:900px){
  .navlinks{display:none;}
  .menu-btn{display:flex;}
}

/* ---------- sticky mobile CTA bar ---------- */
.mobile-cta-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:55;
  background:var(--pine); padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 20px rgba(0,0,0,0.18); transform:translateY(100%); transition:transform .3s ease;
}
.mobile-cta-bar.visible{transform:translateY(0);}
.mobile-cta-bar a{
  display:flex; align-items:center; justify-content:center; background:var(--gold); color:var(--pine);
  font-weight:700; font-size:15px; padding:14px; border-radius:99px; text-decoration:none; min-height:48px;
}
@media (max-width:640px){ .mobile-cta-bar{display:block;} }

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden; min-height:92vh; min-height:92svh; display:flex; align-items:flex-end;
  padding:0 0 76px;
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center 30%;
}
.hero-bg::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,30,22,0.15) 0%, rgba(18,26,19,0.35) 55%, rgba(14,20,15,0.86) 100%);
}
.hero .wrap{position:relative; z-index:1; width:100%;}
.hero-inner{max-width:640px;}
.hero .eyebrow{color:var(--gold); font-weight:600;}
.hero .eyebrow::before{background:var(--gold);}
.hero h1{font-size:clamp(34px,4.6vw,52px); margin:16px 0 16px; color:var(--parchment);}
.hero h1 em{font-style:italic; color:var(--gold); font-weight:500;}
.hero p.lede{font-size:17px; max-width:44ch; color:#E4E0CE; margin-bottom:30px;}
.hero-ctas{display:flex; margin-bottom:34px;}
.btn-primary{
  background:var(--gold); color:var(--pine); font-weight:700; font-size:15px;
  padding:16px 30px; border-radius:99px; text-decoration:none; border:1px solid var(--gold);
  transition:transform .2s ease, box-shadow .2s ease; display:inline-block;
  box-shadow:0 1px 0 rgba(29,46,34,0.1);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 26px rgba(217,164,65,0.4);}
.btn-ghost{
  color:var(--pine); font-weight:700; font-size:15px; padding:15px 8px;
  text-decoration:none; border-bottom:1px solid var(--pine); border-radius:0;
}
.trust-card{
  display:inline-flex; align-items:center; gap:14px; background:rgba(242,236,220,0.1);
  border:1px solid rgba(242,236,220,0.22); backdrop-filter:blur(8px);
  padding:12px 22px; border-radius:99px;
}
.trust-card .tc-icon{width:36px; height:36px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.trust-card .tc-name{font-family:'Fraunces',serif; font-size:14px; font-weight:600; color:var(--parchment);}
.trust-card .tc-line{font-family:'JetBrains Mono',monospace; font-size:11px; color:#C9CEBE; letter-spacing:.02em;}

.scroll-cue{
  position:absolute; left:32px; bottom:28px; z-index:1; display:flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#C9CEBE;
}
.scroll-cue .arrow{width:1px; height:26px; background:linear-gradient(180deg, var(--gold), transparent); position:relative; animation:cue 1.8s ease-in-out infinite;}
@keyframes cue{ 0%,100%{opacity:.4; transform:translateY(0);} 50%{opacity:1; transform:translateY(5px);} }
@media (max-width:640px){ .scroll-cue{display:none;} }

/* ---------- trail divider ---------- */
.trail-divider{position:relative; height:56px; overflow:hidden;}
.trail-divider svg{width:100%; height:100%;}

/* ---------- section shell ---------- */
section{padding:88px 0; position:relative;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px); margin-top:14px;}
.section-head p{color:var(--pine-soft); font-size:16px; margin-top:14px;}

/* ---------- guide cards ---------- */
.guides-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.guide-card{background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; text-decoration:none;}
.guide-card:hover{transform:translateY(-5px); box-shadow:0 16px 34px rgba(29,46,34,0.14);}
.guide-card .thumb{aspect-ratio:5/4; object-fit:cover; width:100%;}
.guide-body{padding:22px 22px 24px;}
.diff{font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--teal); margin-bottom:10px; display:block;}
.guide-body h3{font-size:19px; margin-bottom:8px;}
.guide-body p{font-size:14.5px; color:var(--pine-soft); margin-bottom:14px;}
.guide-link{font-size:13px; font-weight:700; color:var(--gold-deep); text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.guide-link:hover{text-decoration:underline;}

/* ---------- trust / about ---------- */
.trust-section{background:var(--pine); color:var(--parchment);}
.trust-section .wrap{display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center;}
.trust-section h2, .trust-section .eyebrow{color:var(--parchment);}
.trust-section .eyebrow::before{background:var(--gold);}
.trust-section p{color:#CFDACB; font-size:16px; max-width:52ch; margin-top:14px;}
.trust-photo{border-radius:var(--radius); aspect-ratio:1/1; object-fit:cover; border:1px solid rgba(242,236,220,0.18);}
.trust-badges{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:32px;}
.badge{border:1px solid rgba(242,236,220,0.2); padding:16px 18px; border-radius:2px;}
.badge .num{font-family:'Fraunces',serif; font-size:24px; font-weight:700; color:var(--gold);}
.badge .lbl{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.05em; color:#B9C6B3; text-transform:uppercase; margin-top:4px;}

/* ---------- gear grid ---------- */
.gear-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.gear-tile{
  position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:3/4;
  display:flex; align-items:flex-end; text-decoration:none;
}
.gear-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.gear-tile:hover img{transform:scale(1.06);}
.gear-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(29,46,34,0) 40%, rgba(20,30,22,0.88) 100%);}
.gear-tile-label{position:relative; z-index:1; padding:20px; color:var(--parchment);}
.gear-tile-label .cat{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; color:var(--gold); text-transform:uppercase;}
.gear-tile-label h4{color:var(--parchment); font-size:20px; margin-top:6px;}

/* ---------- pinterest cta ---------- */
.pin-section{
  background:var(--parchment-deep); border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line);
}
.pin-section .wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.pin-visual{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.pin-visual img{border-radius:2px; box-shadow:0 12px 26px rgba(29,46,34,0.14);}
.pin-visual img:nth-child(2){margin-top:36px;}
.pin-section h2{margin-top:14px;}
.pin-section p{color:var(--pine-soft); font-size:16px; margin:16px 0 28px; max-width:50ch;}

/* ---------- FAQ accordion ---------- */
.faq-list{border-top:1px solid var(--paper-line);}
.faq-item{border-bottom:1px solid var(--paper-line); padding:22px 0;}
.faq-item summary{
  font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--pine);
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
  -webkit-tap-highlight-color:transparent; min-height:44px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+"; font-family:'JetBrains Mono',monospace; font-size:20px; color:var(--gold-deep);
  flex-shrink:0; transition:transform .2s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{font-size:15px; color:var(--pine-soft); margin-top:14px; max-width:64ch;}

/* ---------- testimonials ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.testi-card{background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius); padding:26px;}
.stars{color:var(--gold-deep); font-size:14px; letter-spacing:2px; margin-bottom:14px;}
.testi-card p{font-size:15px; color:var(--ink); margin-bottom:16px; font-style:italic;}
.testi-who{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--moss);}

/* ---------- newsletter ---------- */
.news-section{background:var(--pine);}
.news-box{
  background:var(--pine-soft); border:1px solid rgba(242,236,220,0.16); border-radius:6px;
  padding:56px; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;
}
.news-box .eyebrow, .news-box h2{color:var(--parchment);}
.news-box .eyebrow::before{background:var(--gold);}
.news-box p{color:#CFDACB; margin-top:12px; font-size:15.5px;}
.news-form{display:flex; gap:10px; margin-top:8px;}
.news-form input{
  flex:1; padding:15px 16px; border-radius:99px; border:1px solid rgba(242,236,220,0.3);
  background:rgba(242,236,220,0.06); color:var(--parchment); font-family:'Karla',sans-serif; font-size:14px;
}
.news-form input::placeholder{color:#9FB09A;}
.news-form button{cursor:pointer;}
.news-fine{font-family:'JetBrains Mono',monospace; font-size:11px; color:#9FB09A; margin-top:12px;}

/* ---------- gear reviews nav dropdown ---------- */
.gear-dropdown{
  position:fixed; z-index:70; background:#fff; border:1px solid var(--paper-line); border-radius:6px;
  box-shadow:0 20px 40px rgba(29,46,34,0.18); padding:28px 32px; opacity:0; visibility:hidden;
  transform:translateY(-6px); transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  max-width:calc(100vw - 40px); width:580px;
}
.gear-dropdown.open{opacity:1; visibility:visible; transform:translateY(0);}
.gear-dropdown-inner{display:grid; grid-template-columns:1fr 1fr 1fr; gap:0;}
.gear-dropdown-col{display:flex; flex-direction:column; gap:10px; padding:0 24px;}
.gear-dropdown-col:not(:first-child){border-left:1px solid var(--paper-line);}
.gear-dropdown-col:first-child{padding-left:0;}
.gear-dropdown-col:last-child{padding-right:0;}
.gear-dropdown-label{
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gold-deep); font-weight:700; margin-bottom:4px; padding-bottom:8px; border-bottom:1px solid var(--paper-line);
}
.gear-dropdown-col a{font-size:14px; color:var(--ink); text-decoration:none; padding:2px 0; line-height:1.5;}
.gear-dropdown-col a:hover{color:var(--gold-deep);}
@media (max-width:900px){ .gear-dropdown{display:none;} }

/* ---------- footer ---------- */
footer{background:var(--pine); color:#B9C6B3; padding:64px 0 28px; border-top:1px solid rgba(242,236,220,0.1);}
.foot-grid{display:grid; grid-template-columns:1.2fr .7fr 1.1fr .7fr; gap:32px; padding-bottom:44px;}
.foot-logo{font-family:'Fraunces',serif; font-weight:700; font-size:20px; color:var(--parchment); margin-bottom:14px;}
.foot-grid p{font-size:14px; max-width:34ch; line-height:1.6;}
.foot-col h5{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
.foot-col ul{list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14px;}
.foot-col a{text-decoration:none; color:#B9C6B3;}
.foot-col a:hover{color:var(--parchment);}
.foot-gear-group-label{font-size:12.5px; font-weight:700; color:#D6DED2; margin:14px 0 6px;}
.foot-gear-group-label:first-of-type{margin-top:0;}
.foot-col-gear ul.foot-gear-sub{margin-bottom:4px; gap:6px;}
.foot-col-gear ul:not(.foot-gear-sub){margin-bottom:6px;}
.foot-bottom{border-top:1px solid rgba(242,236,220,0.12); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#8FA089; font-family:'JetBrains Mono',monospace;}
.disclosure{max-width:760px; font-size:12.5px; color:#8FA089; margin-top:10px; line-height:1.6;}

/* ---------- single post / page content ---------- */
.article-shell{background:var(--parchment); padding:64px 0 100px;}
.article-header{max-width:760px; margin:0 auto 40px;}
.article-header .diff{margin-bottom:14px;}
.article-header h1{font-size:clamp(30px,4vw,44px); margin-bottom:16px;}
.article-meta{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--moss); text-transform:uppercase; letter-spacing:.06em;}
.article-featured-img{max-width:920px; margin:0 auto 48px; border-radius:var(--radius); overflow:hidden;}
.article-featured-img img{width:100%;}
.article-content{max-width:760px; margin:0 auto; font-size:17px; color:var(--ink);}
.article-content p{margin-bottom:22px;}
.article-content h2{font-size:26px; margin:44px 0 18px;}
.article-content h3{font-size:21px; margin:34px 0 14px;}
.article-content ul, .article-content ol{margin:0 0 22px 22px;}
.article-content li{margin-bottom:10px;}
.article-content a{color:var(--gold-deep); text-decoration:underline;}
.article-content img{border-radius:var(--radius); margin:32px 0;}
.article-content table{width:100%; border-collapse:collapse; margin:32px 0; font-size:15px;}
.article-content th, .article-content td{border:1px solid var(--paper-line); padding:10px 14px; text-align:left;}
.article-content th{background:var(--parchment-deep); font-family:'Fraunces',serif;}
.trail-stats-block{
  background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius);
  padding:26px 28px; margin:0 0 40px;
}
.trail-stats-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px 24px;}
.trail-stat{display:flex; flex-direction:column; gap:4px;}
.trail-stat-label{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--moss);}
.trail-stat-value{font-family:'Fraunces',serif; font-size:17px; font-weight:600; color:var(--pine);}
.trail-map-embed{margin-top:22px; border-radius:2px; overflow:hidden; border:1px solid var(--paper-line);}
.trail-map-embed iframe{display:block;}
@media (max-width:640px){
  .trail-stats-grid{grid-template-columns:1fr 1fr;}
  .trail-stats-block{padding:20px;}
}
.archive-header{padding:64px 0 20px; text-align:center;}

@media (max-width:700px){
  #regionPicker{grid-template-columns:1fr !important;}
}

/* ---------- comments ---------- */
.article-comments{max-width:760px; margin:56px auto 0; border-top:1px solid var(--paper-line); padding-top:48px;}
.comments-title{font-size:24px; margin-bottom:28px;}
.comment-list{list-style:none;}
.comment-list .comment{margin-bottom:28px;}
.comment-list .children{list-style:none; margin-left:36px; margin-top:20px;}
.comment-body{background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius); padding:20px 22px;}
.comment-author{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.comment-author .avatar{border-radius:50%; display:block;}
.comment-author .fn{font-family:'Fraunces',serif; font-weight:600; font-style:normal; font-size:15px; color:var(--pine);}
.comment-metadata{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--moss); text-transform:uppercase; letter-spacing:.04em;}
.comment-metadata a{text-decoration:none; color:inherit;}
.comment-content p{font-size:15px; margin-bottom:0;}
.reply{margin-top:10px;}
.reply a{font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--gold-deep); text-decoration:none;}
.no-comments{color:var(--pine-soft); margin-bottom:24px;}
#respond{margin-top:40px;}
.comment-reply-title{font-size:22px; margin-bottom:18px;}
.comment-form p{margin-bottom:16px;}
.comment-form label{display:block; font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--moss); margin-bottom:6px;}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; padding:13px 14px; border:1px solid var(--paper-line); border-radius:2px;
  background:#fff; font-family:'Karla',sans-serif; font-size:15px; color:var(--ink);
}
.comment-form textarea{min-height:120px;}
.comment-form .comment-form-cookies-consent{display:flex; align-items:center; gap:8px; font-size:13px;}
.comment-form .comment-form-cookies-consent label{display:inline; margin:0;}
.form-submit input.btn-primary{border:none; cursor:pointer; font-family:'Karla',sans-serif;}
.archive-header h1{font-size:clamp(30px,4vw,44px);}
.archive-grid{padding-bottom:88px;}

@media (max-width:960px){
  .hero .wrap, .trust-section .wrap, .pin-section .wrap{grid-template-columns:1fr;}
  .guides-grid{grid-template-columns:1fr 1fr;}
  .gear-grid{grid-template-columns:1fr 1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .news-box{grid-template-columns:1fr; padding:36px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .guides-grid, .gear-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .hero{min-height:82svh; padding:56px 0 48px;}
  .hero h1{font-size:28px;}
  .hero p.lede{font-size:15.5px;}
  .wrap{padding:0 20px;}
  .btn-primary{width:100%; padding:16px 24px; font-size:15px; text-align:center;}
  .hero-ctas{width:100%;}
  .news-form{flex-direction:column;}
  .news-form input, .news-form button{width:100%;}
  .news-form input{padding:16px;}
  .trust-badges{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  footer{padding-bottom:88px;}
}

/* ---------- footer legal links ---------- */
.foot-bottom a{color:#8FA089; text-decoration:underline; text-underline-offset:2px;}
.foot-bottom a:hover{color:var(--parchment);}

/* ---------- trail flags (dog/family/water) ---------- */
.trail-flags{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.trail-flag{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.02em;
  background:var(--parchment); border:1px solid var(--paper-line); border-radius:99px;
  padding:6px 14px; color:var(--pine-soft);
}

/* ---------- GPX download button ---------- */
.trail-gpx{margin-top:20px;}
.btn-gpx{
  display:inline-flex; align-items:center; gap:8px; font-family:'Karla',sans-serif; font-weight:700; font-size:14px;
  background:var(--teal); color:var(--parchment); padding:11px 20px; border-radius:99px; text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.btn-gpx:hover{background:#2f5654; transform:translateY(-1px);}

/* ---------- weather widget ---------- */
.trail-weather{margin-top:22px; background:var(--parchment); border:1px solid var(--paper-line); border-radius:var(--radius); padding:20px 22px;}
.trail-weather-label{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--moss); margin-bottom:12px;}
.tw-current{display:flex; align-items:baseline; gap:14px; margin-bottom:14px;}
.tw-temp{font-family:'Fraunces',serif; font-size:32px; font-weight:700; color:var(--pine);}
.tw-desc{font-size:14px; color:var(--pine-soft);}
.tw-days{display:flex; gap:16px; flex-wrap:wrap; border-top:1px solid var(--paper-line); padding-top:14px;}
.tw-day{display:flex; flex-direction:column; gap:4px; font-size:13px;}
.tw-day-label{font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; color:var(--moss);}
.tw-day-temps{color:var(--pine); font-weight:600;}
.tw-credit{font-size:11px; color:var(--moss); margin-top:14px;}
.trail-weather-loading, .trail-weather-error{font-size:13px; color:var(--pine-soft);}

/* ---------- Trail Finder filter bar ---------- */
.trail-finder-bar{
  display:flex; flex-wrap:wrap; align-items:end; gap:20px; background:var(--parchment-deep);
  border:1px solid var(--paper-line); border-radius:var(--radius); padding:20px 24px; margin-bottom:36px;
}
.tf-field{display:flex; flex-direction:column; gap:6px; font-size:13px;}
.tf-field label{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--moss);}
.tf-field select{padding:9px 12px; border:1px solid var(--paper-line); border-radius:4px; background:#fff; font-family:'Karla',sans-serif; font-size:14px; min-width:150px;}
.tf-check label{flex-direction:row; align-items:center; gap:8px; font-family:'Karla',sans-serif; font-size:14px; text-transform:none; color:var(--ink); letter-spacing:0;}
.tf-reset{
  margin-left:auto; background:none; border:1px solid var(--pine); color:var(--pine); font-weight:700; font-size:13px;
  padding:9px 16px; border-radius:99px; cursor:pointer; font-family:'Karla',sans-serif;
}
.tf-reset:hover{background:var(--pine); color:var(--parchment);}
@media (max-width:640px){
  .trail-finder-bar{flex-direction:column; align-items:stretch;}
  .tf-field select{width:100%;}
  .tf-reset{margin-left:0;}
}

/* ---------- recent trail conditions prompt ---------- */
.recent-conditions{
  max-width:760px; margin:56px auto 0; display:flex; gap:16px; align-items:flex-start;
  background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius); padding:22px 24px;
}
.recent-conditions .rc-icon{font-size:22px; line-height:1;}
.recent-conditions h4{font-size:16px; margin-bottom:6px;}
.recent-conditions p{font-size:14px; color:var(--pine-soft); margin:0;}

/* ---------- packing checklist widget ---------- */
.wt-packing-list{background:var(--parchment-deep); border:1px solid var(--paper-line); border-radius:var(--radius); padding:24px 26px; margin:32px 0;}
.wt-packing-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px;}
.wt-packing-head h4{font-size:17px; margin:0;}
.wt-packing-count{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--moss);}
.wt-packing-list ul{list-style:none; margin:0 0 16px; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px;}
.wt-packing-list li label{display:flex; align-items:center; gap:10px; font-size:15px; cursor:pointer;}
.wt-packing-list input[type="checkbox"]{width:18px; height:18px; flex-shrink:0; accent-color:var(--gold-deep);}
.wt-packing-reset{
  background:none; border:1px solid var(--pine-soft); color:var(--pine-soft); font-size:12px; font-weight:700;
  padding:7px 14px; border-radius:99px; cursor:pointer; font-family:'Karla',sans-serif;
}
.wt-packing-reset:hover{background:var(--pine-soft); color:var(--parchment);}
.wt-packing-actions{display:flex; gap:10px; flex-wrap:wrap;}
.wt-packing-print{
  background:var(--gold); border:1px solid var(--gold); color:var(--pine); font-size:12px; font-weight:700;
  padding:7px 14px; border-radius:99px; cursor:pointer; font-family:'Karla',sans-serif;
}
.wt-packing-print:hover{background:var(--gold-deep); border-color:var(--gold-deep);}
.wt-duration-tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
.wt-duration-tab{
  background:#fff; border:1px solid var(--paper-line); color:var(--pine-soft); font-size:13px; font-weight:600;
  padding:8px 16px; border-radius:99px; cursor:pointer; font-family:'Karla',sans-serif; transition:all .15s ease;
}
.wt-duration-tab:hover{border-color:var(--gold-deep);}
.wt-duration-tab.active{background:var(--pine); border-color:var(--pine); color:var(--parchment);}

.wt-email-capture{margin-top:18px; padding-top:16px; border-top:1px dashed var(--paper-line);}
.wt-email-form label{display:block; font-size:13px; color:var(--pine-soft); margin-bottom:8px;}
.wt-email-row{display:flex; gap:10px; flex-wrap:wrap;}
.wt-email-row input[type="email"]{
  flex:1; min-width:200px; padding:10px 12px; border:1px solid var(--paper-line); border-radius:2px;
  background:#fff; font-family:'Karla',sans-serif; font-size:14px;
}
.wt-email-row button{
  background:var(--pine); color:var(--parchment); border:none; font-size:13px; font-weight:700;
  padding:10px 18px; border-radius:99px; cursor:pointer; font-family:'Karla',sans-serif; white-space:nowrap;
}
.wt-email-row button:hover{background:var(--pine-soft);}
.wt-email-row button:disabled{opacity:.6; cursor:default;}
.wt-email-msg{font-size:13px; margin-top:8px; color:var(--pine-soft);}
.wt-email-msg.wt-email-success{color:var(--teal); font-weight:600;}
.wt-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}

@media print{
  body *{visibility:hidden;}
  .wt-printing, .wt-printing *{visibility:visible;}
  .wt-printing{position:absolute; left:0; top:0; width:100%; box-shadow:none; border:none;}
  .wt-duration-tabs, .wt-packing-actions, .wt-email-capture{display:none !important;}
  .wt-packing-list li[style*="display:none"], .wt-packing-list li[style*="display: none"]{display:none !important;}
}
@media (max-width:600px){
  .wt-packing-list ul{grid-template-columns:1fr;}
}
