/* ===========================
   HEADER
=========================== */
header.site-header {
  background: linear-gradient(to right, #e6f2f5, #f9fcfd);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 10px 0;
  position: sticky; top: 0; z-index: 999;
}
header .container,
header .header-inner,
header .site-branding {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  max-width:1200px; margin:0 auto; padding:0 20px;
}
header .site-logo img,
header .custom-logo-link img { max-height: 100px; }
header .site-description { font-size:13px; color:#555; font-style:italic; margin-top:4px; }

/* Main nav */
header .main-navigation ul { list-style:none; margin:0; padding:0; display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }
header .main-navigation ul li { position:relative; }
header .main-navigation ul li a {
  text-decoration:none; font-weight:500; color:#1d3a4a;
  padding:6px 10px; border-radius:6px; transition:background-color .3s,color .3s;
}
header .main-navigation ul li a:hover,
header .main-navigation ul li.current-menu-item a { background:#cbe9f3; color:#104d5c; }

/* Header CTA */
header .header-cta, header .menu-item-cta a {
  background:#1d768c; color:#fff !important; padding:8px 16px; border-radius:25px;
  font-weight:600; text-decoration:none; transition:background-color .3s;
}
header .header-cta:hover, header .menu-item-cta a:hover { background:#15525f; }

/* Mobile header tweaks */
@media (max-width: 768px){
  header .main-navigation ul { flex-direction:column; align-items:center; gap:12px; }
  header .site-branding, header .container { flex-direction:column; align-items:center; text-align:center; }
  header .header-cta { margin-top:10px; }
}

/* ===========================
   HERO / CTA BUTTONS
=========================== */
.nautical-buttons { display:flex; gap:1rem; justify-content:center; margin:2rem 0; flex-wrap:wrap; }
.marker-button {
  padding:.9rem 1.6rem; font-size:1rem; font-weight:600; border-radius:6px; text-transform:uppercase;
  text-decoration:none; text-align:center; border:2px solid transparent; box-shadow:0 2px 6px rgba(0,0,0,.08);
  transition:all .3s; display:inline-block; min-width:180px;
}
.red-marker { background:#91443b; color:#fff; border-color:#793830; }
.red-marker:hover { background:#7f3a31; border-color:#662d26; }
.green-marker { background:#4d7251; color:#fff; border-color:#3f5e44; }
.green-marker:hover { background:#3a6146; border-color:#2e4a35; }
@media (max-width:600px){ .marker-button { width:100%; min-width:unset; } }

/* Compass-style Explore button */
.explore-button {
  position:relative; background:#e0ecef; border:2px solid #5a7684; color:#2e4a53;
  font-size:1rem; font-weight:600; padding:.9rem 1.6rem; text-transform:uppercase;
  border-radius:50%; width:100px; height:100px; display:inline-flex; justify-content:center; align-items:center;
  text-decoration:none; transition:all .3s; box-shadow:0 4px 8px rgba(0,0,0,.1);
}
.explore-button::before { content:"ðŸ§­"; position:absolute; top:10px; font-size:1.2rem; }
.explore-button:hover { background:#d3e3e8; border-color:#45626d; color:#1f3540; transform:rotate(4deg) scale(1.05); }

/* ===========================
   GLOBAL BACKGROUND / TYPE
=========================== */
body { background:#e5f2f3; }           /* coastal aqua */
.site { background:#fff; box-shadow:none; }
.site h1,.site h2,.site h3,.site h4,.site h5,.site h6 { color:#003344; }
.site a { color:#005f6a; }
.site a:hover { color:#00414c; }

/* Remove page titles when needed */
.page .entry-title { display:none !important; }

/* Remove extra space below header */
.site-header + .site-content, .ast-site-header + .site-content { margin-top:0 !important; padding-top:10px !important; }
.page .entry-content, .page-content, .ast-container { margin-top:0 !important; padding-top:10px !important; }

/* ===========================
   HIVEPRESS LISTING CARDS (general)
=========================== */
.hp-listing {
  border:1px solid #e0e0e0; border-radius:12px; box-shadow:0 4px 8px rgba(0,0,0,.05);
  padding:1.5rem; background:#fff; transition:transform .3s, box-shadow .3s;
}
.hp-listing:hover { transform:translateY(-5px); box-shadow:0 6px 12px rgba(0,0,0,.1); }
.hp-listing__title { font-size:1.25rem; font-weight:700; color:#003366; margin-bottom:.3rem; }
.hp-listing__category {
  font-size:.85rem; background:#dff2fa; color:#005577; padding:.3rem .7rem; border-radius:20px; display:inline-block; margin-bottom:.75rem;
}
.hp-listing__location { font-size:.9rem; color:#666; margin-bottom:1rem; }
.hp-listing__footer { margin-top:1.5rem; display:flex; justify-content:space-between; align-items:center; }
.hp-button--primary { background:#003366; color:#fff; border-radius:6px; padding:.5rem 1rem; text-decoration:none; }

/* Force UL layout into grid when used */
.hp-listings { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important; gap:20px !important; }
.hp-listings li { list-style:none !important; }
.hp-listings .hp-listing:hover { transform:translateY(-3px); box-shadow:0 4px 12px rgba(0,0,0,.08); }
.hp-listings .hp-listing__meta { display:none !important; } /* hide category/author meta when present */

/* ===========================
   SECONDARY / CATEGORY NAVS
=========================== */
.secondary-menu {
  display:flex; flex-wrap:nowrap; overflow-x:auto; gap:12px; padding:1rem; background:#f0f6fa;
  border-top:2px solid #0077b6; border-bottom:2px solid #0077b6; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.secondary-menu::-webkit-scrollbar { display:none; }
.secondary-menu a {
  flex:0 0 auto; padding:10px 18px; background:#fff; color:#023047; border:1px solid #0077b6; border-radius:999px;
  text-decoration:none; font-weight:500; white-space:nowrap; transition:all .3s;
}
.secondary-menu a:hover,.secondary-menu a:focus { background:#0077b6; color:#fff; box-shadow:0 3px 8px rgba(0,119,182,.15); }
@media (min-width:768px){ .secondary-menu { justify-content:center; overflow-x:visible; flex-wrap:wrap; } }

/* Category page bits */
.local-goods-page { background:#f8f9fa; color:#333; font-family:'Segoe UI',sans-serif; padding:2rem; }
.category-nav { display:flex; overflow-x:auto; gap:1rem; margin-bottom:2rem; padding-bottom:.5rem; border-bottom:2px solid #3d88c6; }
.category-nav a {
  text-decoration:none; padding:.5rem 1rem; color:#333; background:#e5eef8; border-radius:20px; transition:background .3s; white-space:nowrap;
}
.category-nav a:hover { background:#cde0f1; }
.category-nav a.active { background:#3d88c6; color:#fff; }
.category-header h1 { color:#3d88c6; font-size:2.5rem; margin-bottom:.5rem; }
.category-header p { font-size:1.1rem; line-height:1.6; max-width:700px; }

.suggest-listing { background:#e5eef8; border-left:6px solid #3d88c6; padding:1rem 1.5rem; border-radius:5px; }
.suggest-listing h2 { color:#3d88c6; margin-top:0; }
.suggest-listing a { color:#3d88c6; font-weight:700; text-decoration:underline; }

/* 4-col manual grid helper */
.hp-listing-grid { display:flex; flex-wrap:wrap; justify-content:space-between; }
.listing-grid .hp-listing-card { width:23%; margin:1%; box-shadow:0 2px 8px rgba(0,0,0,.05); border-radius:10px; background:#fff; transition:transform .3s; }
.listing-grid .hp-listing-card:hover { transform:scale(1.02); }
@media (max-width:1024px){ .listing-grid .hp-listing-card { width:48%; margin-bottom:2rem; } }
@media (max-width:600px){ .listing-grid .hp-listing-card { width:100%; } }

/* ===========================
   EVENTS (The Events Calendar)
=========================== */
.tribe-events-calendar .tribe-event-title,
.tribe-common-h2.tribe-events-calendar-list__event-title { font-size:1.3rem; font-weight:600; color:#004466; }
.tribe-common .tribe-events-calendar-list__event-datetime {
  background:#e0f7f7; padding:8px 12px; border-radius:6px; display:inline-block; font-size:.95rem; color:#003344;
}
.tribe-events-calendar-list__event { border-bottom:1px solid #ddd; padding:20px 0; }
.tribe-common a { color:#007799; text-decoration:none; }
.tribe-common a:hover { color:#005566; text-decoration:underline; }
.tribe-events-category-tag { background:#dbefff; padding:3px 7px; border-radius:5px; font-size:.8rem; color:#002244; }


/* Section wrapper */
.esva-events {
  background: #f3f8fa; /* light coastal wash */
  border-top: 3px solid #3d88c6;
  border-bottom: 3px solid #3d88c6;
  padding: 1.75rem 1rem;
  border-radius: 8px;
}

/* Header */
.esva-events__header h2 {
  margin: 0 0 1rem;
  color: #003344;
  text-align: center;
  font-size: 1.6rem;
}

/* Grid */
.esva-events__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .esva-events__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .esva-events__grid { grid-template-columns: 1fr; }
}

/* Card */
.esva-event-card {
  background: #fff;
  border: 1px solid #dbe6ee;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 4px 10px rgba(0,0,0,.05);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
.esva-event-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 14px rgba(0,0,0,.08);
}

/* Date badge */
.esva-event-card__date {
  display: inline-flex;
  align-items: baseline;
  gap: .5rem;
  background: #e6f1f7;
  border: 1px solid #c9deed;
  color: #0b4560;
  border-radius: 999px;
  padding: .25rem .6rem;
  width: fit-content;
  font-weight: 600;
}
.esva-event-card__monthday { font-size: .95rem; }
.esva-event-card__time { font-size: .85rem; opacity: .85; }

/* Title & venue */
.esva-event-card__title {
  margin: .2rem 0 0;
  font-size: 1.1rem;
}
.esva-event-card__title a {
  color: #003a52;
  text-decoration: none;
}
.esva-event-card__title a:hover { color: #1b6c8a; }

.esva-event-card__venue {
  color: #44606a;
  font-size: .92rem;
}

/* Excerpt */
.esva-event-card__excerpt {
  color: #4a4a4a;
  font-size: .95rem;
  margin: .25rem 0 .5rem;
}

/* CTA */
.esva-event-card__cta {
  margin-top: auto;
  align-self: flex-start;
  background: #3d88c6;
  color: #fff;
  text-decoration: none;
  padding: .4rem .8rem;
  border-radius: 6px;
  font-weight: 600;
  transition: background .2s;
}
.esva-event-card__cta:hover { background: #2f6fa4; }

/* Empty state */
.esva-events__empty {
  text-align: center;
  color: #49616a;
  margin: 0;
}
/* ===========================
   THINGS TO DO (mini cards)
=========================== */
.ttd-mini { background:#f3f8fa; border-top:3px solid #3d88c6; border-bottom:3px solid #3d88c6; padding:2rem 1rem; }
.ttd-mini__wrap { max-width:1200px; margin:0 auto; }
.ttd-mini__title { text-align:center; color:#003344; margin:0 0 1rem; font-size:1.9rem; }
.ttd-mini__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media (max-width:1024px){ .ttd-mini__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .ttd-mini__grid { grid-template-columns:1fr; } }
.ttd-mini__card { background:#fff; border:1px solid #dbe6ee; border-radius:12px; padding:14px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.ttd-mini__card h3{ margin:0 0 .4rem; color:#003a52; font-size:1.1rem; }
.ttd-mini__card img{ width:100%; height:120px; object-fit:cover; border-radius:10px; display:block; margin:0 0 .5rem; }
.ttd-mini__blurb{ margin:0 0 .4rem; color:#516770; font-size:.95rem; }
.ttd-mini__links{ display:grid; gap:6px; }
.ttd-mini__links a{ color:#0b4560; text-decoration:none; border-bottom:1px dashed #cfe1ec; padding-bottom:2px; display:inline-block; }
.ttd-mini__links a:hover{ color:#1b6c8a; }

/* Minimal/bare link helpers (used under mini cards) */
.esva-tlist { list-style:none; padding:0; margin:0; }
.esva-titem { margin:4px 0; }
.esva-titem__title{ color:#0b4560; text-decoration:none; border-bottom:1px dashed #cfe1ec; padding-bottom:2px; }
.esva-titem__title:hover{ color:#1b6c8a; }
.hp-bare-link{ display:block; color:#0b4560; text-decoration:none; border-bottom:1px dashed #cfe1ec; margin:4px 0; padding-bottom:2px; }
.hp-bare-link:hover{ color:#1b6c8a; }

/* ===========================
   FEATURED (isolated wrapper)
=========================== */
.esva-featured { padding:2rem 1rem; }
.esva-featured__wrap{ max-width:1200px; margin:0 auto; }
.esva-featured__title{ text-align:center; color:#003344; margin:0 0 1rem; font-size:1.8rem; }
.esva-featured__grid{ display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .esva-featured__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .esva-featured__grid{ grid-template-columns:1fr; } }

.esva-featured__card{
  background:#fff; border:1px solid #dbe6ee; border-radius:14px;
  overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,.06); display:flex; flex-direction:column;
}
.esva-featured__image img{ display:block; width:100%; height:200px; object-fit:cover; }
.esva-featured__body{ padding:14px; display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center; }
.esva-featured__body h3{ margin:0; font-size:1.1rem; }
.esva-featured__body h3 a{ color:#003a52; text-decoration:none; }
.esva-featured__body h3 a:hover{ color:#1b6c8a; }
.esva-featured__body p{ margin:0; color:#516770; min-height:2.4em; }
.esva-featured__btn{
  display:inline-block; margin-top:6px; background:#3d88c6; color:#fff; text-decoration:none;
  padding:.4rem .8rem; border-radius:999px; font-weight:700;
}
.esva-featured__btn:hover{ background:#2f6fa4; }

/* Hide any HivePress meta if a legacy block is nearby */
.esva-featured .hp-listing__category,
.esva-featured .hp-listing__vendor { display:none !important; }

/* TEMP alias so old .featured-mini containers still look OK */
.featured-mini { padding:2rem 1rem; }
.featured-mini__wrap{ max-width:1200px; margin:0 auto; }
.featured-mini__title{ text-align:center; color:#003344; margin:0 0 1rem; font-size:1.8rem; }
.featured-mini__grid{ display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-mini__card,
.featured-mini__image img,
.featured-mini__body,
.featured-mini .btn-pill { all: unset; } /* neutralize, prefer esva-featured */
/* Force the Featured grid to behave */
.esva-featured .esva-featured__grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch;
}

/* Make sure grid children donâ€™t get constrained by theme block widths */
.esva-featured .esva-featured__grid > *{
  max-width:100% !important;
  width:auto !important;
  min-width:0;
  margin:0 !important;
}

/* Card sizing & reset */
.esva-featured .esva-featured__card{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid #dbe6ee; border-radius:14px;
  overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,.06);
}

/* Image height (smaller so cards donâ€™t look huge) */
.esva-featured .esva-featured__image img{
  width:100%; height:180px; object-fit:cover; display:block;
}

/* Body spacing & centered button */
.esva-featured .esva-featured__body{
  padding:14px; display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center;
}
.esva-featured .esva-featured__btn{
  display:inline-block; margin-top:6px; background:#3d88c6; color:#fff; text-decoration:none;
  padding:.4rem .8rem; border-radius:999px; font-weight:700;
}

/* Kill any stray meta if a legacy block sneaks in */
.esva-featured .hp-listing__category,
.esva-featured .hp-listing__vendor{ display:none !important; }

/* Responsive */
@media (max-width: 900px){
  .esva-featured .esva-featured__grid{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width: 600px){
  .esva-featured .esva-featured__grid{ grid-template-columns:1fr !important; }
  .esva-featured .esva-featured__image img{ height:170px; }
}


/* ===== Footer Layout & Styling (fixed width) ===== */
.site-footer {
  background-color: #f8f9fa;
  padding: 40px 20px 0;
  font-family: 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: #333;
  width: 100%; /* ensure full-bleed background */
}

/* Let the outer footer wrap span full width;
   constrain inner content to site width */
.footer-widgets {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: space-between;

  /* was max-width: 90%; — this caused the “too narrow” look */
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px; /* match page padding */
}

.footer-column {
  flex: 1 1 220px;
  min-width: 220px;
}

/* Titles */
.widget-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #002b36;
}

/* Remove bullets */
.site-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer li { margin: 6px 0; }

.site-footer a {
  color: #005577;
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer a:hover {
  color: #003344;
  text-decoration: underline;
}

/* Newsletter Button */
.newsletter-btn {
  display: inline-block;
  padding: 8px 14px;
  background-color: #005577;
  color: #fff !important;
  border-radius: 4px;
  text-decoration: none;
  margin-top: 6px;
}
.newsletter-btn:hover { background-color: #003344; }

/* Legal bar is full-bleed; center its inner content to same width */
.footer-legal {
  background-color: #e9eff2;
  padding: 12px 0;        /* remove inner L/R padding here */
  margin-top: 30px;
  width: 100%;
}
.legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  font-size: 0.85rem;

  max-width: 1200px;      /* constrain content */
  margin: 0 auto;
  padding: 0 20px;        /* match page padding */
}
.legal-links a { color: #005577; }
.legal-links a:hover { color: #003344; }

/* Bottom row centered to the same width */
.footer-bottom {
  text-align: center;
  font-size: 0.85rem;
  padding: 10px 0 20px;
  color: #666;

  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Mobile */
@media (max-width: 768px) {
  .footer-widgets { flex-direction: column; text-align: center; gap: 20px; }
  .legal-links { flex-direction: column; gap: 8px; }
}



/* ===== Advertise Page â€“ Pricing Grid (scoped) ===== */
.pricing-section {
  --navy:#003344;
  --bay:#3d88c6;
  --bay-dark:#2f6fa4;
  --sand:#f6f9fc;
  --line:#dbe6ee;

  background: var(--sand);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 32px 20px;
  margin: 28px auto;
  max-width: 1200px;
  box-shadow: 0 6px 16px rgba(0,0,0,.04);
}

.pricing-header { text-align: center; margin-bottom: 22px; }
.pricing-header h2 {
  font-size: 2rem;
  color: var(--navy);
  margin: 0 0 8px;
}
.pricing-header p { color:#4a5b63; margin: 0; }

/* Grid */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
@media (max-width: 980px) {
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .pricing-grid { grid-template-columns: 1fr; }
}

/* Cards */
.pricing-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 4px 10px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 18px rgba(0,0,0,.08);
}
.pricing-card h3 {
  color:#003366;
  font-size: 1.35rem;
  margin: .25rem 0 .4rem;
}
.pricing-card .price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--bay);
  margin: .4rem 0 1rem;
}

/* Feature list */
.pricing-card ul {
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0;
}
.pricing-card li {
  padding: .45rem 0;
  border-bottom: 1px solid #eef2f5;
  color: #34454d;
}
.pricing-card li:last-child { border-bottom: 0; }

/* Buttons */
.btn-listing {
  display: inline-block;
  background: var(--bay);
  color: #fff;
  text-decoration: none;
  padding: .6rem 1.2rem;
  border-radius: 24px;
  font-weight: 700;
  transition: background .2s ease, transform .1s ease;
}
.btn-listing:hover { background: var(--bay-dark); }
.btn-listing:active { transform: translateY(1px); }

/* Emphasis borders */
.pricing-card.spotlight { border: 2px solid var(--bay); }
.pricing-card.premium  { border: 2px solid var(--navy); }

/* Note */
.pricing-note {
  text-align: center;
  color: #637882;
  margin: 18px 0 0;
  font-size: .95rem;
}

/* Fall Fun styling */
.fall-fun {
  background: linear-gradient(135deg, #fff4e1, #ffe0b2);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  margin: 30px auto;
  max-width: 600px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.fall-fun h3 {
  color: #b34700;
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.fall-fun p {
  font-size: 1rem;
  color: #5a3e2b;
  margin-bottom: 15px;
}

.fall-fun-btn {
  display: inline-block;
  padding: 10px 20px;
  background: #b34700;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.3s;
}

.fall-fun-btn:hover {
  background: #8c2f00;
}

/* ========== /fall-fun/ Fall Fun Page Styles ========== */
/* ===============================
   FALL FUN PAGE — AUTUMN THEME
   Palette:
   Pumpkin: #C75C00
   Rust:    #8C2F00
   Maize:   #F4B942
   Sage:    #5B7F5B
   Deep G:  #2F4F2F
   Cream:   #FFF6E6
   Paper:   #FEF9F0
   Ink:     #2B1F17
================================ */

/* Base tweaks */
.fallfun-hero, .fallfun-picks, .fallfun-events, .halloween-events, .fallfun-cta-inner, .fallfun-card {
  box-sizing: border-box;
  color: #2B1F17; /* Ink */
}

/* -------- Hero -------- */
.fallfun-hero {
  background: linear-gradient(135deg, #FEF9F0 0%, #FFF6E6 40%, #F4B94222 100%);
  border-radius: 16px;
  padding: 48px 24px;
  margin: 24px auto 32px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  position: relative;
  overflow: hidden;
}
.fallfun-hero:after {
  content: "🍂";
  position: absolute;
  right: 16px; bottom: 8px;
  font-size: 48px; opacity: 0.25;
}
.fallfun-hero-inner { max-width: 1100px; margin: 0 auto; text-align: center; }
.fallfun-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
  color: #2F4F2F; /* Deep Green */
  letter-spacing: .3px;
}
.fallfun-hero p {
  margin: 0 0 16px;
  color: #5B7F5B; /* Sage */
  font-size: 1.05rem;
}
.fallfun-btn {
  display: inline-block;
  background: #C75C00; /* Pumpkin */
  color: #fff;
  padding: 12px 20px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 6px 18px rgba(199,92,0,0.25);
}
.fallfun-btn:hover { background: #8C2F00; transform: translateY(-1px); }

/* -------- Picks Grid -------- */
.fallfun-picks { max-width: 1100px; margin: 36px auto; padding: 0 16px; }
.fallfun-picks h2, .fallfun-events, .halloween-events h2 {
  color: #2F4F2F;
  margin-bottom: 14px;
}

.fallfun-grid {
  display: grid; gap: 18px;
  grid-template-columns: repeat(12, 1fr);
}
@media (max-width: 900px) { .fallfun-grid { grid-template-columns: 1fr; } }
@media (min-width: 901px) {
  .fallfun-card:nth-child(1) { grid-column: span 6; }
  .fallfun-card:nth-child(2) { grid-column: span 3; }
  .fallfun-card:nth-child(3) { grid-column: span 3; }
}

/* -------- Cards -------- */
.fallfun-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
  display: flex; flex-direction: column; min-height: 100%;
  border: 1px solid #F4B94255; /* subtle maize border */
}
.fallfun-card-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  aspect-ratio: 16/10;
}
.fallfun-card-body { padding: 14px 16px 18px; }
.fallfun-card-body h3 {
  margin: 4px 0 6px; font-size: 1.1rem; color: #2F4F2F;
}
.fallfun-card-body h3 a { text-decoration: none; color: inherit; }
.fallfun-meta { color: #5B7F5B; font-size: 0.95rem; margin: 0 0 8px; }
.fallfun-desc { margin: 0 0 10px; color: #2B1F17; }
.fallfun-link {
  color: #C75C00; font-weight: 700; text-decoration: none;
}
.fallfun-link:hover { text-decoration: underline; }

/* -------- Featured Badge -------- */
.fallfun-featured { position: relative; border: 2px solid #C75C00; }
.fallfun-badge {
  position: absolute; top: 12px; left: 12px;
  background: linear-gradient(180deg, #F4B942, #C75C00);
  color: #fff; font-size: 0.75rem; font-weight: 800;
  padding: 4px 8px; border-radius: 4px; text-transform: uppercase;
  letter-spacing: .5px; z-index: 2;
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* -------- Events Feed Block -------- */
.fallfun-events {
  max-width: 1100px; margin: 28px auto; padding: 0 16px;
  background: #FEF9F0; border: 1px solid #F4B94255; border-radius: 12px; padding: 18px;
}

.halloween-events {
  max-width: 1100px; margin: 28px auto; padding: 0 16px;
  background: #FFB347; border: 1px solid #F4B94255; border-radius: 12px; padding: 18px;
}


/* Tighten plugin list output a bit (TEC/EM) */
.tribe-common, .events-list, .em-events-list { --ff-pad: 10px; }
.tribe-events .tribe-common-l-container {
  padding-left: var(--ff-pad); padding-right: var(--ff-pad);
}

/* -------- CTA -------- */
.fallfun-cta { margin: 36px auto 24px; padding: 0 16px; }
.fallfun-cta-inner {
  max-width: 1100px; margin: 0 auto; text-align: center;
  background: #fff; border: 2px dashed #C75C0044; border-radius: 14px; padding: 22px;
}
.fallfun-btn--outline {
  background: transparent; color: #8C2F00;
  border: 2px solid #8C2F00; box-shadow: none;
}
.fallfun-btn--outline:hover { background: #8C2F00; color: #fff; }

/* -------- Links in hero/picks uniform hover focus -------- */
.fallfun-card a:focus-visible,
.fallfun-btn:focus-visible,
.fallfun-link:focus-visible {
  outline: 3px solid #F4B942; outline-offset: 2px;
  border-radius: 6px;
}
/* ===== Simple Jobs CTA (Blue variant) ===== */
.jobs-blue{
  --blue:#3d386b;      /* site blue */
  --text:#1f2330;      /* heading/body text */
  --muted:#6b7280;
  --border:#e5e7eb;
  --bg:#ffffff;
}

.jobs-simple{
  padding: 36px 0;
  border-top: 1px solid var(--border);
  background: var(--bg);
}

.jobs-simple .container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}

.jobs-simple h2{
  font-size: 1.5rem;f
  margin-bottom: 12px;
  color: var(--text);
}

.jobs-intro{
  color: var(--muted);
  font-size: 1rem;
  max-width: 700px;
  margin: 0 auto 20px;
}

.jobs-actions .jobs-view-all{
  display:inline-block;
  padding: 10px 18px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  background: #3d88c6;
  color: #fff;
  border: 1px solid var(--blue);
  transition: background 0.2s ease;
}

.jobs-actions .jobs-view-all:hover{
  background: #2e2a50; /* darker blue hover */
}
/* Living ESVA submit-event page styles (Nautical Theme) */
.lesva-submit-hero {
  background: #f5f7fa; /* light grey-blue background */
  border: 2px solid #c2c8cf; /* cool gray border */
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 20px;
}
.lesva-submit-hero h1 {
  margin: 0 0 6px;
  color: #1d3a53; /* deep navy blue */
  font-size: clamp(1.6rem, 2.5vw, 2rem);
}
.lesva-checklist { 
  margin: 10px 0 0 18px; 
}
.lesva-checklist li { 
  margin: 6px 0; 
}

.lesva-submit-notes {
  margin-top: 26px;
  padding: 16px 20px;
  border: 1px solid #c2c8cf; /* soft gray border */
  border-radius: 12px;
  background: #ffffff; /* clean white background */
}
.lesva-submit-notes h2 {
  color: #1d3a53; /* deep navy blue */
  margin-top: 0;
}
.lesva-disclaimer {
  margin-top: 10px;
  font-size: .95rem;
  color: #4a4f55; /* medium gray for text */
}

/* Light polish for Ninja Forms on this page (nautical color buttons) */
.nf-form-cont .nf-field-label label { 
  color: #1d3a53; /* deep navy blue for form labels */
  font-weight: 600; 
}
.nf-form-cont input[type="submit"], 
.nf-form-cont button {
  background: #1d3a53; /* deep navy blue button */
  color: #ffffff;
  border: 0; 
  border-radius: 10px; 
  padding: 10px 16px;
  transition: background 0.2s ease;
}
.nf-form-cont input[type="submit"]:hover, 
.nf-form-cont button:hover { 
  background: #25465f; /* slightly lighter navy on hover */
}

/* Events top navigation */
.events-nav{ background:#eaf4fb; border:1px solid #cfe3f3; border-radius:12px; padding:.75rem; margin:0 0 1rem; }
.events-nav__inner{ display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; justify-content:space-between; }

.events-nav__quick{ display:flex; gap:.5rem; flex-wrap:wrap; }
.events-nav__link{
  display:inline-flex; align-items:center; padding:.4rem .7rem; border-radius:999px;
  background:#fff; border:1px solid #dbe6ee; color:#003a52; text-decoration:none; font-weight:600;
}
.events-nav__link:hover{ background:#f6fbff; border-color:#3d88c6; color:#1b6c8a; }

.events-nav__pills{ display:flex; gap:.5rem; overflow:auto; padding:.25rem 0; }
.events-nav__pill{
  display:inline-flex; padding:.35rem .65rem; border-radius:999px; background:#3d88c6; color:#fff;
  text-decoration:none; font-weight:600; white-space:nowrap;
}
.events-nav__pill:hover{ background:#2f6fa4; }

.events-nav__search{ display:flex; gap:.5rem; align-items:center; margin-left:auto; }
.events-nav__search input{ border:1px solid #cfe3f3; border-radius:999px; padding:.4rem .7rem; min-width:200px; }
.events-nav__search button{ background:#003a52; color:#fff; border:0; border-radius:999px; padding:.4rem .8rem; font-weight:700; }
.events-nav__search button:hover{ background:#1b6c8a; }

@media (max-width:720px){
  .events-nav__search input{ min-width:140px; }
}
