:root {
  /* Brand Colors */
  --primary: #1F4D3A;        /* Deep Forest Green */
  --primary-dark: #143326;
  --accent: #D95D39;         /* Blaze Orange */
  --accent-hover: #C14A27;
  --sand: #F6F2E8;           /* Paper/Background */
  --text-main: #1B1E21;
  --text-muted: #586069;
  --white: #ffffff;
  --border: rgba(0,0,0,0.08);
  
  /* Dimensions */
  --max-width: 1100px;
  --radius: 12px;
}

/* Base Reset & Typography */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background-color: var(--sand);
  color: var(--text-main);
  line-height: 1.6;
}

h1, h2, h3, h4 {
  font-family: 'Bitter', serif;
  margin: 0 0 0.5em 0;
  line-height: 1.2;
}

a { text-decoration: none; color: inherit; transition: 0.2s; }
img { max-width: 100%; display: block; }

/* === STICKY NAVBAR === */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
  padding: 0.75rem 0;
}

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-mini {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: var(--primary);
}
.brand-mini img { height: 32px; border-radius: 6px; }

/* Desktop Navigation */
.nav-links {
  display: flex;
  gap: 20px;
  font-size: 0.9rem;
  font-weight: 600;
}
.nav-links a:hover { color: var(--accent); }
.highlight-link { color: var(--accent); }

/* Hamburger Button (Default: Hidden) */
.hamburger {
  display: none; /* Hidden on desktop */
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
}

.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px 0;
  background-color: var(--primary);
  border-radius: 3px;
  transition: 0.3s;
}

/* === MOBILE MENU (Screens smaller than 900px) === */
@media (max-width: 900px) {
  .hamburger {
    display: block; /* Show hamburger */
  }

  .nav-links {
    position: absolute;
    top: 100%; /* Drop down right below header */
    left: 0;
    width: 100%;
    background: white;
    flex-direction: column; /* Stack links vertically */
    align-items: center;
    padding: 20px 0;
    gap: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-bottom: 1px solid var(--border);
    
    /* Hide it by default */
    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s ease-in-out;
  }

  /* Show it when "active" class is added by JS */
  .nav-links.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
  }
  
  .nav-links a {
    font-size: 1.1rem;
    padding: 10px;
    width: 100%;
    text-align: center;
  }

  /* Hamburger to X Animation */
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
  }
}

/* === WRAPPER === */
.wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 20px;
}

/* === HERO SECTION (WIND & WATER EFFECT) === */
.hero {
  position: relative;
  min-height: 80vh; 
  display: flex;
  align-items: center;
  color: var(--white);
  overflow: hidden;
  margin-bottom: 40px;
  z-index: 1; 
}

/* Layer 1: The "Wind" Effect (Weeds/Bank Swaying) */
.hero::before {
  content: "";
  position: absolute; 
  top: -10%; left: -10%; right: -10%; bottom: -10%;
  
  background-image: url('assets/hero.jpg');
  background-size: cover;
  background-position: center 30%; 
  z-index: -2;
  
  /* Faster animation (5s) to simulate wind gusts */
  animation: windSway 5s ease-in-out infinite alternate;
}

/* Layer 2: The "Current" Effect (Water Ripples) */
.hero::after {
  content: "";
  position: absolute; inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.15), transparent 70%);
  background-size: 120% 120%;
  mix-blend-mode: overlay; 
  animation: waterRipple 3s infinite alternate;
}

/* Layer 3: Dark Overlay */
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 100%);
  z-index: -1;
}

.hero-content { position: relative; width: 100%; z-index: 2; }
.hero-text { max-width: 600px; }

.kicker {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(4px);
  padding: 6px 12px;
  border-radius: 100px;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  margin-bottom: 1rem;
  border: 1px solid rgba(255,255,255,0.2);
}
.kicker img { width: 16px; }

.hero h1 { font-size: 3.5rem; text-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.hero p { font-size: 1.25rem; opacity: 0.9; margin-bottom: 2rem; }

/* Hero Buttons */
.ctas { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 700;
  text-align: center;
}
.btn.primary { background: var(--accent); color: white; border: none; }
.btn.primary:hover { background: var(--accent-hover); transform: translateY(-2px); }
.btn.secondary { background: white; color: var(--text-main); }
.btn.secondary:hover { background: #eee; }

/* === DISCLOSURE BAR === */
.disclosure-bar {
  background: #E8E4D9;
  padding: 10px;
  border-radius: 8px;
  font-size: 0.85rem;
  color: var(--text-muted);
  text-align: center;
  margin-bottom: 40px;
  border: 1px solid rgba(0,0,0,0.05);
}

/* === CATEGORY SECTIONS === */
.category-section { margin-bottom: 80px; }
.category-header { margin-bottom: 24px; }
.banner-img {
  height: 200px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.banner-img::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}
.banner-text {
  position: relative; z-index: 2; padding: 24px; color: white;
}
.banner-text h2 { margin: 0; font-size: 2rem; }
.banner-text p { margin: 0; opacity: 0.9; font-size: 1.1rem; }

/* === PRODUCT GRID === */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}
.card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  border-color: var(--primary);
}
.card-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.card-tag {
  background: var(--sand);
  color: var(--text-muted);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 12px;
  align-self: flex-start;
  border-radius: 4px;
  margin: 12px 0 0 12px;
}
.card.featured { border: 2px solid var(--primary); background: #FDFCF9; }
.card.featured .card-tag { background: var(--primary); color: white; }

.card h3 { font-size: 1.25rem; margin-top: 12px; margin-bottom: 8px; }
.desc { font-size: 0.95rem; color: var(--text-muted); flex-grow: 1; margin-bottom: 16px; }

.specs {
  list-style: none; padding: 0; margin: 0 0 16px 0;
  font-size: 0.85rem; color: var(--text-muted);
  border-top: 1px solid #eee; padding-top: 12px;
}
.specs li { margin-bottom: 4px; display: flex; justify-content: space-between; }

.price-area { margin-top: auto; }
.btn-buy {
  display: block;
  width: 100%;
  padding: 12px;
  background: var(--text-main);
  color: white;
  text-align: center;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.9rem;
}
.btn-buy:hover { background: var(--accent); }
.subtext {
  display: block; text-align: center; font-size: 0.75rem; 
  color: var(--text-muted); margin-top: 8px;
}

/* === AMAZON IMAGE FIXES === */
.card-image {
  background: #ffffff;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 220px; 
  border-bottom: 1px solid var(--border);
}
.card-image img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain; 
  transition: transform 0.2s;
}
.card:hover .card-image img { transform: scale(1.05); }

/* === PROMO SECTION (Logbooks) === */
.promo-section {
  background: var(--primary);
  color: white;
  border-radius: 20px;
  margin: 60px 0;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(31,77,58,0.25);
}
.promo-content {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 60px;
}
.promo-text { flex: 1; }
.badge-promo { 
  background: var(--accent); color: white; 
  padding: 4px 10px; border-radius: 4px; 
  font-size: 0.8rem; font-weight: 800; text-transform: uppercase;
}
.promo-text h2 { font-size: 2.5rem; margin-top: 10px; }
.promo-text p { font-size: 1.1rem; opacity: 0.9; margin-bottom: 30px; }
.promo-grid { display: flex; gap: 16px; flex-wrap: wrap; }
.product-pill {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 16px 24px;
  border-radius: 12px;
  min-width: 200px;
}
.product-pill:hover { background: rgba(255,255,255,0.2); }
.product-pill strong { display: block; font-size: 1.1rem; margin-bottom: 4px; }
.product-pill span { font-size: 0.9rem; color: var(--accent); font-weight: 700; }
.promo-visual { flex: 1; display: flex; justify-content: center; }
.book-mockup {
  max-width: 300px;
  transform: rotate(-5deg);
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.3));
}

/* === FOOTER === */
.footer {
  background: #fff;
  border-top: 1px solid var(--border);
  padding: 60px 0;
  margin-top: 80px;
  font-size: 0.9rem;
}
.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
}
.footer h4 { text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; color: var(--text-muted); }
.footer-links a, .footer-legal a { display: block; margin-bottom: 10px; color: var(--text-main); }
.footer-links a:hover { color: var(--accent); }

/* === RESPONSIVE (General) === */
@media (max-width: 900px) {
  .hero h1 { font-size: 2.5rem; }
  .promo-content { flex-direction: column; padding: 40px 24px; text-align: center; }
  .promo-grid { justify-content: center; }
  .footer-inner { grid-template-columns: 1fr; text-align: center; }
}

/* === KEYFRAMES === */
@keyframes windSway {
  0% { transform: scale(1.1) rotate(-2deg) translateX(0px); }
  100% { transform: scale(1.15) rotate(2deg) translateX(15px); }
}

@keyframes waterRipple {
  0% { opacity: 0.3; transform: scale(1.0); }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; transform: scale(1.05); }
}

/* === HERO LOGO STYLING === */
.hero-logo-large {
  display: block;
  max-width: 160px;       /* Size control - change this to make it bigger/smaller */
  height: auto;
  margin-bottom: 24px;    /* Space between logo and the "Kicker" text */
  
  /* The "Glass" Effect to make it pop */
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Mobile Adjustment: Make it slightly smaller on phones */
@media (max-width: 900px) {
  .hero-logo-large {
    max-width: 130px;
    margin-bottom: 20px;
  }
}
/* === HERO SPLIT LAYOUT (Text Left / Logo Right) === */

/* Turn the content area into a 2-column grid */
.hero-content {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr; /* Text takes slightly more space */
  gap: 40px;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Styling for the Right-Side Logo (Clean Version) */
.hero-logo-right {
  width: 100%;
  max-width: 450px;
  height: auto;
  display: block;
  margin: 0 auto;
  
  /* Removed: background, backdrop-filter, border, etc. */
  
  /* Optional: Keep the gentle float animation */
  animation: floatLogo 6s ease-in-out infinite alternate;
  
  /* Optional: A subtle drop shadow on the LOGO ITSELF (not a box) to help it read on water */
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3)); 
}  
  /* Subtle animation to make it float */
  animation: floatLogo 6s ease-in-out infinite alternate;
}

/* Floating Animation Keyframe */
@keyframes floatLogo {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-10px); }
}

/* === MOBILE RESPONSIVENESS === */
@media (max-width: 900px) {
  .hero-content {
    grid-template-columns: 1fr; /* Stack into 1 column */
    text-align: center;
    gap: 30px;
  }
  
  .hero-text {
    order: 2; /* Put text below logo on phones? Or remove this line to keep text top */
  }
  
  .hero-visual {
    order: 1; /* Logo on top */
    display: flex;
    justify-content: center;
  }
  
  .hero-logo-right {
    max-width: 220px; /* Smaller on phones */
    padding: 20px;
  }
  
  .ctas {
    justify-content: center; /* Center buttons on mobile */
  }
}
/* === LOGBOOK SECTION FIXES === */

/* Container for the side-by-side layout */
.side-by-side-books {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px; /* Space between the two books */
}

/* Resize the books to fit nicely */
.book-mockup {
  max-width: 160px; /* Reduced from 300px to fit two */
  height: auto;
  border-radius: 4px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.4); /* Deep shadow for 3D effect */
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Fan them out slightly for style */
.trout-book {
  transform: rotate(-6deg) translateY(10px);
  z-index: 1;
}

.bass-book {
  transform: rotate(6deg) translateY(10px);
  z-index: 2; /* Overlaps slightly if they touch */
}

/* Hover Effect: Pop up when mouse goes over */
.side-by-side-books a:hover .book-mockup {
  transform: scale(1.1) rotate(0deg) translateY(-10px);
  z-index: 10;
  box-shadow: 0 25px 40px rgba(0,0,0,0.5);
}

/* Mobile Tweak: Ensure they fit on phone screens */
@media (max-width: 600px) {
  .book-mockup {
    max-width: 120px; /* Even smaller on phones */
  }
  .side-by-side-books {
    gap: 10px;
  }
}

/* === COMPACT FOOTER === */
.footer {
  background: #fff;
  border-top: 1px solid var(--border);
  padding: 25px 0; /* Much smaller vertical spacing */
  margin-top: 80px;
  font-size: 0.9rem;
}

.footer-inner {
  display: flex;            /* Horizontal layout */
  justify-content: space-between; /* Push Logo Left, Links Right */
  align-items: center;      /* Vertically center everything */
  flex-wrap: wrap;          /* Allow wrapping on phones */
  gap: 20px;
}

/* Brand Area Styling */
.footer-brand {
  display: flex;
  align-items: center;
  gap: 15px;
}

.footer-logo {
  height: 48px; /* Nice and visible, but contained */
  width: auto;
  border-radius: 8px;
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.copyright {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* Link Styling */
.footer-nav {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer-nav a {
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.85rem;
}

.footer-nav a:hover {
  color: var(--accent);
}

.divider {
  color: var(--border);
}

/* Mobile: Stack nicely if screen is too narrow */
@media (max-width: 700px) {
  .footer-inner {
    flex-direction: column;
    text-align: center;
  }
  .footer-brand {
    flex-direction: column;
  }
  .footer-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }
  .divider { display: none; } /* Hide divider on mobile rows */
}

/* === BEGINNER GUIDE BLOG SECTION === */

.guide-section {
  margin-bottom: 80px;
  padding: 32px 24px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: var(--radius);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  border: 1px solid var(--border);
}

.guide-header {
  margin-bottom: 28px;
}

.guide-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.75rem;
  color: var(--accent);
  margin-bottom: 6px;
}

.guide-header h2 {
  font-size: 1.8rem;
  margin-bottom: 8px;
}

.guide-lead {
  font-size: 0.98rem;
  color: var(--text-muted);
  max-width: 52rem;
}

.guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.4fr);
  gap: 32px;
  align-items: flex-start;
}

.guide-body h3 {
  margin-top: 1.5em;
  font-size: 1.15rem;
}

.guide-body p {
  margin-bottom: 0.8em;
  font-size: 0.95rem;
}

.guide-body ul {
  padding-left: 1.2em;
  margin: 0 0 0.8em 0;
  font-size: 0.95rem;
}

.guide-body li {
  margin-bottom: 0.35em;
}

/* Sidebar */

.guide-sidebar {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.guide-sidebar-card {
  background: #F6F2E8;
  border-radius: var(--radius);
  padding: 16px 18px;
  border: 1px solid rgba(0,0,0,0.04);
}

.guide-sidebar-card h3,
.guide-sidebar-card h4 {
  font-size: 1rem;
  margin-bottom: 0.35em;
}

.guide-sidebar-card p {
  font-size: 0.9rem;
  color: var(--text-muted);
}

/* Species link grid */

.guide-links-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;
}

.guide-link-card {
  display: flex;
  flex-direction: column;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px dashed rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.85);
  cursor: pointer;
}

.guide-link-card .label {
  font-weight: 600;
  font-size: 0.9rem;
}

.guide-link-card .note {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* Subtle species color tints */

.guide-link-card.trout { border-color: rgba(70,130,180,0.35); }
.guide-link-card.bass { border-color: rgba(34,139,34,0.35); }
.guide-link-card.panfish { border-color: rgba(218,165,32,0.35); }
.guide-link-card.catfish { border-color: rgba(105,105,105,0.35); }
.guide-link-card.other { border-color: rgba(123,104,238,0.35); }
.guide-link-card.sturgeon { border-color: rgba(47,79,79,0.35); }
.guide-link-card.salmon { border-color: rgba(220,20,60,0.35); }

.guide-link-card:hover {
  border-style: solid;
  border-color: var(--accent);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* Extra note card */

.guide-sidebar-card.soft-note {
  background: #FDFBF7;
}

/* Mobile adjustments */

@media (max-width: 900px) {
  .guide-section {
    margin-bottom: 56px;
    padding: 20px 16px;
  }
  .guide-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .guide-links-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .guide-links-grid {
    grid-template-columns: 1fr;
  }
}


/* === Mountain Dog Enterprises Tag === */
.mde-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}
.mde-tag img {
  height: 32px;
  width: 32px;
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}
.mde-tag a {
  color: var(--primary);
  font-weight: 700;
}

/* Back to Home button on guide pages */
.back-home-wrap {
  margin-top: 1.25rem;
}
.btn.back-home-btn {
  background: transparent;
  color: var(--primary);
  border: 1px solid rgba(0,0,0,0.15);
  padding: 10px 18px;
  font-size: 0.9rem;
}
.btn.back-home-btn:hover {
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.25);
}


/* === LOCAL GUIDE FEATURE ON HOMEPAGE === */
.local-guide-feature {
  margin: 0 0 80px;
}
.local-guide-feature-inner {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  background: linear-gradient(135deg, #143326 0%, #1F4D3A 60%, #2d654e 100%);
  color: var(--white);
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 20px 40px rgba(20, 51, 38, 0.22);
}
.local-guide-copy h2 {
  font-size: 2.2rem;
  margin-bottom: 12px;
}
.local-guide-copy p {
  opacity: 0.95;
  margin-bottom: 20px;
}
.local-guide-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.local-guide-points {
  display: grid;
  gap: 14px;
}
.point-card {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 14px;
  padding: 18px;
  backdrop-filter: blur(4px);
}
.point-card strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 4px;
}
.point-card span {
  display: block;
  font-size: 0.95rem;
  opacity: 0.92;
}

/* === LOCAL GUIDE PAGE === */
.local-guide-page {
  padding-top: 36px;
}
.local-guide-hero {
  background: linear-gradient(135deg, rgba(20,51,38,0.95), rgba(31,77,58,0.92)), url('assets/hero_alt.jpg') center/cover no-repeat;
  color: var(--white);
  border-radius: 22px;
  padding: 42px 34px;
  margin-bottom: 30px;
  box-shadow: 0 20px 40px rgba(20,51,38,0.18);
}
.local-guide-hero h1 {
  font-size: 2.8rem;
  margin-bottom: 12px;
}
.local-guide-hero .lead {
  max-width: 760px;
  font-size: 1.1rem;
  opacity: 0.95;
}
.local-guide-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 22px;
}
.local-guide-meta span {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  font-size: 0.9rem;
  font-weight: 700;
}
.local-guide-note {
  background: #fff;
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 26px;
}
.quick-jump-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin-bottom: 34px;
}
.quick-jump-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}
.quick-jump-card:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
}
.quick-jump-card strong {
  display: block;
  color: var(--primary);
  margin-bottom: 4px;
}
.quick-jump-card span {
  color: var(--text-muted);
  font-size: 0.92rem;
}
.spot-list {
  display: grid;
  gap: 22px;
}
.spot-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 28px rgba(0,0,0,0.05);
}
.spot-card-header {
  padding: 24px 24px 10px;
}
.spot-number {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.spot-card-header h2 {
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.spot-subhead {
  color: var(--text-muted);
  margin-bottom: 0;
}
.spot-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 22px;
  padding: 0 24px 24px;
}
.spot-content p {
  margin-top: 0;
}
.spot-details {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.detail-box {
  background: var(--sand);
  border-radius: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,0.05);
}
.detail-box strong {
  display: block;
  color: var(--primary);
  margin-bottom: 4px;
}
.detail-box span {
  display: block;
  color: var(--text-main);
}
.spot-tip {
  background: #f7fbf8;
  border-left: 4px solid var(--primary);
  padding: 14px 16px;
  border-radius: 12px;
}
.map-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 22px rgba(0,0,0,0.05);
  align-self: start;
}
.map-card iframe {
  width: 100%;
  height: 260px;
  border: 0;
}
.map-card-body {
  padding: 14px 16px 18px;
}
.map-card-body h3 {
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.map-card-body p {
  margin: 0 0 12px;
  color: var(--text-muted);
  font-size: 0.92rem;
}
.map-card-body a {
  color: var(--accent);
  font-weight: 700;
}
.local-guide-cta {
  margin: 36px 0 10px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 26px;
  text-align: center;
  box-shadow: 0 10px 24px rgba(0,0,0,0.04);
}
.local-guide-cta h2 {
  margin-bottom: 10px;
}
.local-guide-cta p {
  color: var(--text-muted);
  max-width: 760px;
  margin: 0 auto 18px;
}
.local-guide-cta .btn {
  margin: 6px;
}

@media (max-width: 900px) {
  .local-guide-feature-inner,
  .spot-grid {
    grid-template-columns: 1fr;
  }
  .local-guide-hero h1 {
    font-size: 2.15rem;
  }
}


/* SEO utility blocks */
.breadcrumbs{padding:14px 0 0;color:#d8e4d0;font-size:.95rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;gap:.45rem}
.breadcrumbs li:not(:last-child)::after{content:"/";opacity:.65}
.breadcrumbs a{color:#d8e4d0;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.faq-block,.sitemap-panel{margin:2.5rem 0;padding:1.5rem;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.04)}
.faq-block h2,.sitemap-panel h1{margin-top:0}
.faq-list{display:grid;gap:1rem}
.faq-item{padding:1rem 1.1rem;border-radius:14px;background:rgba(255,255,255,.04)}
.faq-item h3{margin:.1rem 0 .45rem;font-size:1.02rem}
.related-guides{margin:2.25rem 0;padding:1.25rem;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.related-guides ul,.sitemap-grid ul{margin:.7rem 0 0 1.15rem}
.related-guides li,.sitemap-grid li{margin:.35rem 0}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.sitemap-section{padding:1rem;border-radius:14px;background:rgba(255,255,255,.035)}
@media (max-width:700px){.breadcrumbs{font-size:.88rem}}

/* Fishing Reports beta launch */
.reports-home-feature{margin:26px 0 34px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#143326,#1F4D3A);color:#fff;display:grid;grid-template-columns:1fr 220px;gap:25px;align-items:center;box-shadow:0 18px 40px rgba(20,51,38,.18)}
.reports-home-feature h2{font-size:clamp(2rem,5vw,3.2rem);margin:.2em 0}.reports-home-feature p{max-width:760px}.reports-home-feature img{width:210px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.25))}
.reports-home-feature .guide-kicker{color:#fff}.reports-home-points{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.reports-home-points span{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}
.reports-landing-hero{position:relative;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22)),url('assets/hero.jpg') center 30%/cover;color:#fff;padding:78px 0}
.reports-landing-grid{display:grid;grid-template-columns:1fr 260px;gap:30px;align-items:center}.reports-landing-grid h1{font-size:clamp(3rem,8vw,5.5rem);line-height:.95;text-shadow:0 4px 12px rgba(0,0,0,.3)}.reports-landing-grid p{font-size:1.15rem;max-width:760px}.reports-landing-grid img{width:250px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.35))}
.reports-beta-note{font-size:.9rem!important;opacity:.88}.reports-info-section{padding:44px 20px 60px}.reports-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.reports-feature-grid article{background:#fff;border:1px solid var(--border);border-radius:17px;padding:20px;box-shadow:0 10px 25px rgba(31,77,58,.06)}.reports-feature-grid h2{color:var(--primary);font-size:1.45rem}.reports-region-copy{margin-top:24px;padding:24px;border-radius:18px;background:#fff;border-left:6px solid var(--accent)}
@media(max-width:780px){.reports-home-feature,.reports-landing-grid{grid-template-columns:1fr}.reports-home-feature img,.reports-landing-grid img{width:150px;order:-1}.reports-feature-grid{grid-template-columns:1fr}}


/* === HIGH-VISIBILITY FISHING REPORTS LAUNCH === */
.reports-launch-bar{
  position:relative;
  z-index:950;
  background:linear-gradient(90deg,#D95D39,#ef7c4e 58%,#D95D39);
  color:#fff;
  border-bottom:3px solid #143326;
  box-shadow:0 8px 20px rgba(20,51,38,.18);
}
.reports-launch-bar-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:8px;
  padding-bottom:8px;
}
.reports-launch-message{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:.92rem;
}
.reports-launch-message strong{
  font-family:'Bitter',serif;
  font-size:1.08rem;
}
.reports-launch-new{
  display:inline-flex;
  background:#fff;
  color:#C14A27;
  border-radius:999px;
  padding:4px 9px;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:0 4px 10px rgba(0,0,0,.16);
}
.reports-launch-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-shrink:0;
}
.reports-launch-actions a,
.reports-launch-actions button{
  border:2px solid #fff;
  background:#fff;
  color:#143326;
  border-radius:10px;
  padding:8px 11px;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
.reports-launch-actions button{
  background:transparent;
  color:#fff;
}
.reports-launch-actions a:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 12px rgba(0,0,0,.15);
}
.reports-launch-actions button:hover{
  background:rgba(255,255,255,.14);
}

.nav-links .reports-nav-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:10px;
  background:#D95D39;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(217,93,57,.28);
  animation:reportsNavGlow 2.8s ease-in-out infinite;
}
.nav-links .reports-nav-link:hover{
  background:#C14A27;
  color:#fff!important;
  transform:translateY(-1px);
}
.reports-nav-new{
  display:inline-flex;
  padding:2px 5px;
  border-radius:999px;
  background:#fff;
  color:#C14A27;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
}
@keyframes reportsNavGlow{
  0%,100%{box-shadow:0 5px 14px rgba(217,93,57,.25)}
  50%{box-shadow:0 5px 22px rgba(217,93,57,.55)}
}

.reports-home-feature-pop{
  position:relative;
  margin:0;
  border-radius:0;
  padding:42px max(24px,calc((100vw - 1100px)/2));
  background:
    radial-gradient(circle at 87% 18%,rgba(255,255,255,.17),transparent 23%),
    linear-gradient(120deg,#D95D39 0%,#C14A27 45%,#143326 100%);
  border-top:6px solid #fff;
  border-bottom:7px solid #143326;
  grid-template-columns:minmax(0,1fr) 260px;
  box-shadow:0 18px 42px rgba(20,51,38,.24);
}
.reports-home-feature-pop::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%);
}
.reports-home-feature-pop > *{
  position:relative;
  z-index:1;
}
.reports-super-kicker{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.reports-super-kicker span,
.reports-super-kicker strong{
  display:inline-flex;
  border-radius:999px;
  padding:6px 10px;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
}
.reports-super-kicker span{
  background:#fff;
  color:#C14A27;
}
.reports-super-kicker strong{
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
}
.reports-home-feature-pop h2{
  max-width:780px;
  font-size:clamp(2.5rem,6vw,4.7rem);
  line-height:.98;
  margin:.1em 0 .2em;
  text-shadow:0 4px 14px rgba(0,0,0,.18);
}
.reports-home-lead{
  font-size:1.15rem;
  max-width:830px!important;
}
.reports-explainer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:22px 0;
  max-width:840px;
}
.reports-explainer-grid div{
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:13px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(5px);
}
.reports-explainer-grid b,
.reports-explainer-grid span{
  display:block;
}
.reports-explainer-grid b{
  font-family:'Bitter',serif;
  font-size:1rem;
}
.reports-explainer-grid span{
  opacity:.9;
  font-size:.82rem;
  margin-top:3px;
}
.reports-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.reports-primary-cta{
  background:#fff!important;
  color:#143326!important;
  padding:14px 18px!important;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}
.reports-primary-cta:hover{
  color:#C14A27!important;
  transform:translateY(-2px);
}
.reports-share-cta{
  border:2px solid #fff!important;
  background:transparent!important;
  color:#fff!important;
  cursor:pointer;
}
.reports-share-cta:hover{
  background:rgba(255,255,255,.14)!important;
}
.reports-beta-honesty{
  margin:16px 0 0;
  font-size:.82rem;
  opacity:.86;
}
.reports-home-visual{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:9px;
}
.reports-home-visual img{
  width:230px;
}
.reports-home-visual strong{
  font-family:'Bitter',serif;
  font-size:1.35rem;
  line-height:1.05;
}
.reports-visual-badge{
  display:inline-flex;
  width:76px;
  height:76px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  color:#C14A27;
  font-weight:900;
  letter-spacing:.08em;
  transform:rotate(-9deg);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.reports-hero-cta{
  position:relative;
  background:#D95D39!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 8px 20px rgba(217,93,57,.4);
}
.reports-hero-cta:hover{
  background:#C14A27!important;
}
.reports-hero-new,
.reports-inline-new{
  display:inline-flex;
  background:#fff;
  color:#C14A27;
  border-radius:999px;
  padding:3px 6px;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
  vertical-align:middle;
}

@media(max-width:900px){
  .reports-launch-bar-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .reports-launch-actions{
    width:100%;
  }
  .reports-launch-actions a,
  .reports-launch-actions button{
    flex:1;
    text-align:center;
  }
  .nav-links .reports-nav-link{
    width:calc(100% - 40px);
    justify-content:center;
    padding:12px 16px;
  }
  .reports-home-feature-pop{
    grid-template-columns:1fr;
  }
  .reports-home-visual{
    grid-row:1;
  }
  .reports-home-visual img{
    width:150px;
  }
}
@media(max-width:620px){
  .reports-launch-message span:last-child{
    display:block;
    width:100%;
  }
  .reports-launch-actions{
    flex-direction:column;
  }
  .reports-launch-actions a,
  .reports-launch-actions button{
    width:100%;
  }
  .reports-home-feature-pop{
    padding:32px 20px;
  }
  .reports-explainer-grid{
    grid-template-columns:1fr;
  }
  .reports-home-actions{
    flex-direction:column;
  }
  .reports-home-actions .btn{
    width:100%;
    text-align:center;
  }
}

.reports-learn-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff!important;
  font-size:.86rem;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:4px;
  padding:11px 7px;
  opacity:.88;
}
.reports-learn-more:hover{opacity:1}


/* FFO rule accuracy and human-first homepage additions */
.hero-rule-note{
  max-width:780px;
  margin:18px 0 0;
  padding:14px 16px;
  border-left:5px solid #d95d39;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  color:#263b34;
  font-size:15px;
  line-height:1.55;
}
.hero-rule-note strong{color:#143326}
.rule-accuracy-notice{
  margin:22px 0;
  padding:20px 22px;
  border:1px solid rgba(31,77,58,.24);
  border-left:7px solid #1f4d3a;
  border-radius:10px;
  background:#fffdf8;
  color:#31483f;
  box-shadow:none;
}
.rule-accuracy-notice.compact{margin:18px 0 24px}
.rule-accuracy-notice h2{margin:0 0 8px;font-family:Bitter,Georgia,serif;font-size:clamp(22px,3vw,30px);color:#173d31}
.rule-accuracy-notice p{margin:0 0 12px;max-width:960px;line-height:1.65}
.rule-accuracy-notice a{font-weight:800;color:#176354}
@media(max-width:640px){
  .hero-rule-note,.rule-accuracy-notice{padding:16px}
}
