/*
Theme Name: Days in the Wild Pro
Theme URI: https://johnstallone.me/
Author: John Stallone / Custom Theme
Description: A cinematic outdoor-media WordPress theme for Days in the Wild, featuring guide services, podcast, hunting, wild game recipes, conservation, and gear reviews.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: days-in-the-wild-pro
*/

:root {
  --ditw-bg: #0c110d;
  --ditw-panel: #121914;
  --ditw-panel-2: #172019;
  --ditw-text: #f4f0e8;
  --ditw-muted: #bdb9af;
  --ditw-accent: #ef5b12;
  --ditw-accent-dark: #bd4308;
  --ditw-line: rgba(255,255,255,.12);
  --ditw-shadow: 0 18px 50px rgba(0,0,0,.34);
  --ditw-max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ditw-bg);
  color: var(--ditw-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ditw-accent); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.site-shell { min-height: 100vh; overflow: hidden; }
.wrap { width: min(calc(100% - 48px), var(--ditw-max)); margin-inline: auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .22em; font-size: .75rem; font-weight: 800; color: var(--ditw-accent); }
.section-title { display:flex; align-items:center; gap:.7rem; margin:0 0 22px; font-size: clamp(1.05rem, 1.5vw, 1.4rem); letter-spacing:.16em; text-transform:uppercase; }
.section-title::before { content:""; width:4px; height:1.1em; background:var(--ditw-accent); display:block; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:.9rem 1.35rem; border:1px solid rgba(255,255,255,.8); border-radius:3px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; transition:.2s ease; background:rgba(0,0,0,.2); }
.button:hover { transform: translateY(-2px); color:#fff; border-color:var(--ditw-accent); }
.button--accent { background:var(--ditw-accent); border-color:var(--ditw-accent); color:#fff; }
.button--accent:hover { background:var(--ditw-accent-dark); }

/* Header */
.site-header { position:sticky; top:0; z-index:100; background:rgba(8,12,9,.96); backdrop-filter:blur(14px); border-bottom:1px solid var(--ditw-line); }
.header-inner { min-height:86px; display:grid; grid-template-columns:minmax(220px, 330px) 1fr auto; gap:24px; align-items:center; }
.brand img { max-height:58px; width:auto; }
.brand .custom-logo { max-height:58px; width:auto; }
.main-nav ul { display:flex; justify-content:center; flex-wrap:wrap; list-style:none; margin:0; padding:0; gap:clamp(.65rem, 1.25vw, 1.4rem); }
.main-nav a { font-size:.79rem; font-weight:800; text-transform:uppercase; letter-spacing:.045em; position:relative; padding:.35rem 0; white-space:nowrap; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:2px; background:var(--ditw-accent); transition:.2s ease; }
.main-nav a:hover::after, .main-nav .current-menu-item > a::after { right:0; }
.header-actions { display:flex; align-items:center; gap:.8rem; }
.header-actions a { opacity:.9; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.menu-toggle { display:none; color:#fff; background:none; border:1px solid var(--ditw-line); padding:.55rem .7rem; cursor:pointer; }

/* Hero */
.hero { min-height:620px; position:relative; background-size:cover; background-position:center 48%; display:flex; align-items:flex-end; border-bottom:1px solid var(--ditw-line); }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,7,4,.86) 0%, rgba(3,7,4,.62) 38%, rgba(3,7,4,.15) 68%, rgba(3,7,4,.32) 100%), linear-gradient(0deg, rgba(7,12,8,.88) 0%, transparent 45%); }
.hero-content { position:relative; z-index:1; width:100%; padding:110px 0 62px; }
.hero-copy { max-width:700px; }
.hero h1 { margin:.2rem 0 .35rem; font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size:clamp(4.2rem, 8vw, 8.4rem); line-height:.78; letter-spacing:-.035em; text-transform:uppercase; text-shadow:0 6px 30px rgba(0,0,0,.35); }
.hero-subtitle { font-size:clamp(1.15rem,2vw,1.65rem); margin:.6rem 0 1.5rem; font-weight:600; }
.hero-actions { display:flex; gap:.85rem; flex-wrap:wrap; }
.hero-quote { position:absolute; right:5%; top:118px; width:min(360px, 31vw); text-align:left; padding:18px 20px 16px; border-left:3px solid var(--ditw-accent); background:rgba(5,9,6,.28); backdrop-filter:blur(2px); text-shadow:0 3px 10px rgba(0,0,0,.5); }
.hero-quote blockquote { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(1.35rem, 2.15vw, 2.15rem); font-style:italic; font-weight:500; line-height:1.22; letter-spacing:-.01em; }
.hero-quote span { display:block; margin-top:.7rem; font-family:Inter, ui-sans-serif, system-ui, sans-serif; font-size:.72rem; font-style:normal; font-weight:800; text-transform:uppercase; letter-spacing:.16em; color:#ded9cf; }

/* Feature navigation */
.feature-nav { margin-top:-12px; position:relative; z-index:3; padding-bottom:24px; }
.feature-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.feature-card { min-height:150px; position:relative; overflow:hidden; border:1px solid var(--ditw-line); box-shadow:var(--ditw-shadow); background:#182018; }
.feature-card::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(1,4,2,.95), rgba(1,4,2,.28)); }
.feature-card__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; transition:transform .35s ease; }
.feature-card:hover .feature-card__bg { transform:scale(1.05); }
.feature-card__body { position:absolute; inset:auto 12px 12px; z-index:2; text-align:center; }
.feature-card__icon { font-size:2rem; line-height:1; margin-bottom:.45rem; }
.feature-card__title { font-family:Impact, sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.03em; }
.feature-card__sub { font-size:.77rem; color:#e3e0d8; }

/* Content */
.home-section { padding:18px 0 42px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.post-card { background:var(--ditw-panel); border:1px solid var(--ditw-line); min-width:0; overflow:hidden; transition:.2s ease; }
.post-card:hover { transform:translateY(-3px); border-color:rgba(239,91,18,.5); }
.post-card__media { aspect-ratio:16/10; background:#1e261f; overflow:hidden; position:relative; display:block; }
.post-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.post-card:hover .post-card__media img { transform:scale(1.035); }
.post-card__media-shade { position:absolute; inset:0; background:linear-gradient(0deg, rgba(3,6,4,.93) 0%, rgba(3,6,4,.35) 47%, rgba(3,6,4,.04) 72%); pointer-events:none; }
.post-card__title-overlay { position:absolute; left:16px; right:16px; bottom:14px; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; color:#fff; }
.post-card__title-overlay strong { display:block; font-size:clamp(1.12rem,1.7vw,1.55rem); line-height:1.06; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.post-card__title-overlay .post-card__cat { margin:0; }
.post-card__body { padding:18px; }
.post-card__cat { display:inline-block; background:var(--ditw-accent); color:#fff; padding:.25rem .48rem; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.65rem; }
.post-card h3 { margin:0 0 .45rem; font-size:1.35rem; line-height:1.08; }
.post-card p { color:var(--ditw-muted); margin:.35rem 0 .8rem; }
.post-meta { color:#9c9c94; font-size:.74rem; }

.split-feature { display:grid; grid-template-columns:1fr 1.35fr; gap:26px; align-items:stretch; }
.podcast-panel, .guide-panel { border-top:1px solid var(--ditw-line); padding-top:14px; }
.podcast-feature { display:grid; grid-template-columns:minmax(220px,.95fr) 1fr; gap:20px; background:var(--ditw-panel); border:1px solid var(--ditw-line); padding:0; overflow:hidden; height:100%; }
.podcast-feature img { width:100%; height:100%; object-fit:cover; min-height:310px; filter:grayscale(1); }
.podcast-feature__copy { padding:28px 24px 24px 0; display:flex; flex-direction:column; justify-content:center; }
.podcast-feature__copy h3 { font-size:clamp(1.45rem,2.3vw,2rem); line-height:1.08; margin:.4rem 0 .7rem; }
.guide-card { min-height:365px; position:relative; background-size:cover; background-position:center; border:1px solid var(--ditw-line); display:flex; align-items:center; overflow:hidden; }
.guide-card::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,8,5,.86) 0%, rgba(4,8,5,.5) 48%, rgba(4,8,5,.12) 100%); }
.guide-card__copy { position:relative; z-index:2; max-width:430px; padding:40px; }
.guide-card h3 { font-family:Impact, sans-serif; font-size:clamp(2rem,4vw,3.8rem); line-height:.92; text-transform:uppercase; margin:.3rem 0 1.1rem; }
.guide-species { position:absolute; z-index:2; bottom:0; left:0; right:0; background:rgba(2,5,3,.85); padding:.7rem 1rem; display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; }

.promo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }
.promo-card { min-height:260px; position:relative; background:#1b221c; border:1px solid var(--ditw-line); background-size:cover; background-position:center; display:flex; align-items:flex-end; overflow:hidden; }
.promo-card::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(4,7,5,.92), rgba(4,7,5,.18)); }
.promo-card__copy { position:relative; z-index:1; padding:24px; width:100%; }
.promo-card h3 { margin:0 0 12px; font-family:Impact, sans-serif; font-size:2rem; text-transform:uppercase; letter-spacing:.03em; line-height:1; }

/* Footer */
.site-footer { margin-top:30px; border-top:1px solid var(--ditw-line); background:linear-gradient(rgba(10,15,11,.96),rgba(6,9,7,.99)); }
.footer-main { padding:52px 0 38px; display:grid; grid-template-columns:1.25fr .9fr .9fr; gap:60px; }
.footer-logo { max-width:350px; margin-bottom:18px; }
.footer-about { color:var(--ditw-muted); max-width:480px; }
.footer-title { text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; margin-bottom:16px; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:.45rem 1.2rem; font-size:.9rem; }
.social-row { display:flex; gap:.9rem; font-weight:800; margin-bottom:18px; }
.newsletter { display:flex; }
.newsletter input { flex:1; min-width:0; padding:.85rem; border:0; background:#fff; color:#111; }
.newsletter button { border:0; background:var(--ditw-accent); color:#fff; padding:.85rem 1rem; font-weight:800; text-transform:uppercase; cursor:pointer; }
.footer-bottom { border-top:1px solid var(--ditw-line); padding:18px 0; color:#98998f; font-size:.78rem; display:flex; justify-content:space-between; gap:20px; }

/* Standard content */
.content-area { width:min(calc(100% - 48px), 1080px); margin:50px auto; }
.entry-header h1 { font-family:Impact, sans-serif; font-size:clamp(2.7rem,6vw,5.5rem); line-height:.9; text-transform:uppercase; margin:.2rem 0 1rem; }
.entry-content { font-family:Georgia, serif; font-size:1.12rem; color:#e6e2da; }
.entry-content a { color:#ff7b39; text-decoration:underline; }
.entry-content img { margin:1.8rem auto; }
.entry-content h2,.entry-content h3 { font-family:Inter, sans-serif; margin-top:2.1rem; color:#fff; }
.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pagination { margin:34px 0; display:flex; gap:12px; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns:250px auto; }
  .main-nav { grid-column:1/-1; order:3; padding-bottom:14px; }
  .feature-grid { grid-template-columns:repeat(3,1fr); }
  .split-feature { grid-template-columns:1fr; }
  .hero-quote { right:3%; }
}
@media (max-width: 760px) {
  .wrap { width:min(calc(100% - 28px), var(--ditw-max)); }
  .site-header { position:relative; }
  .header-inner { min-height:72px; grid-template-columns:1fr auto; }
  .brand img,.brand .custom-logo { max-height:48px; }
  .menu-toggle { display:block; }
  .main-nav { display:none; grid-column:1/-1; }
  .main-nav.is-open { display:block; }
  .main-nav ul { display:block; padding:10px 0 18px; }
  .main-nav li { border-top:1px solid var(--ditw-line); }
  .main-nav a { display:block; padding:.75rem 0; }
  .header-actions { display:none; }
  .hero { min-height:610px; background-position:61% center; }
  .hero::before { background:linear-gradient(0deg, rgba(3,7,4,.92) 0%, rgba(3,7,4,.45) 72%, rgba(3,7,4,.18) 100%); }
  .hero-content { padding:250px 0 42px; }
  .hero h1 { font-size:clamp(3.7rem,18vw,6rem); }
  .hero-quote { top:120px; right:18px; width:52%; padding:13px 14px; }
  .hero-quote blockquote { font-size:1.25rem; }
  .feature-grid { grid-template-columns:repeat(2,1fr); }
  .feature-card { min-height:140px; }
  .posts-grid,.promo-grid,.archive-grid { grid-template-columns:1fr; }
  .podcast-feature { grid-template-columns:1fr; }
  .podcast-feature img { min-height:0; aspect-ratio:1/1; }
  .podcast-feature__copy { padding:22px; }
  .guide-card { min-height:430px; background-position:58% center; align-items:flex-start; }
  .guide-card__copy { padding:30px 24px; max-width:75%; }
  .footer-main { grid-template-columns:1fr; gap:30px; }
  .footer-bottom { flex-direction:column; }
}
