/* Frontend theme selector. Loaded last so module styles remain self-contained. */
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

.kf-theme-switcher { position: relative; }
.kf-theme-toggle .sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.kf-theme-menu { position: relative; }
.kf-theme-menu summary { list-style: none; }
.kf-theme-menu summary::-webkit-details-marker { display: none; }
.kf-theme-toggle {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.kf-theme-toggle:hover,
.kf-theme-menu[open] .kf-theme-toggle { background: rgba(111,160,180,.22); border-color: #6fa0b4; }
.kf-theme-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.kf-theme-menu__panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 1400;
  display: grid;
  width: 190px;
  gap: 5px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background: #0d2224;
  box-shadow: 0 22px 54px rgba(0,0,0,.32);
}
.kf-theme-menu__panel::before { content: ""; position: absolute; right: 13px; bottom: 100%; width: 34px; height: 14px; }
.kf-theme-menu__panel strong { padding: 6px 9px 8px; color: #a9b8b7; font-size: 11px; text-transform: uppercase; }
.kf-theme-menu__panel button {
  display: grid;
  grid-template-columns: 18px 1fr 18px;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 8px 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #eef5f5;
  font: 700 14px/1.2 Outfit, Inter, sans-serif;
  text-align: left;
  cursor: pointer;
}
.kf-theme-menu__panel button:hover { background: rgba(255,255,255,.07); }
.kf-theme-menu__panel button.is-active { background: rgba(111,160,180,.17); }
.kf-theme-choice__icon { color: #071313; text-shadow: 0 0 0 #fff; }
.kf-theme-choice__icon--light { color: #fff; }
.kf-theme-choice__check { visibility: hidden; color: #8fc3d6; }
.kf-theme-menu__panel button.is-active .kf-theme-choice__check { visibility: visible; }

.qp-theme { padding: 18px 24px calc(28px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.1); }
.qp-theme > strong { display: block; margin-bottom: 11px; color: rgba(255,255,255,.58); font-size: 12px; text-transform: uppercase; }
.qp-theme > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.qp-theme button { min-height: 46px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; background: rgba(255,255,255,.05); color: #fff; font: 800 14px Outfit, Inter, sans-serif; }
.qp-theme button.is-active { border-color: #8fc3d6; background: #6fa0b4; color: #071313; }

/* Shared light theme */
html[data-theme="light"] {
  --kf-ink: #f7fafb;
  --kf-ink-2: #edf4f6;
  --kf-deep: #ffffff;
  --kf-paper: #ffffff;
  --kf-soft: #e8f2f5;
  --kf-line: rgba(9,38,53,.14);
  --kf-text: #0b2234;
  --kf-muted: #526875;
}
html[data-theme="light"] body { background: #f4f8f9; color: #0b2234; }
html[data-theme="light"] body,
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] dt,
html[data-theme="light"] dd { color: #324b59; }
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] strong { color: #071c2c; }
html[data-theme="light"] a { text-decoration-color: rgba(24,108,149,.4); }

html[data-theme="light"] .site-header { background: rgba(255,255,255,.97); border-bottom-color: rgba(9,38,53,.08); }
html[data-theme="light"] .site-header.is-scrolled { background: rgba(255,255,255,.98); border-bottom-color: rgba(9,38,53,.12); box-shadow: 0 12px 30px rgba(8,35,49,.1); }
html[data-theme="light"] .site-header .nav { border-bottom-color: rgba(9,38,53,.12); }
html[data-theme="light"] .brand-link,
html[data-theme="light"] .brand-copy strong,
html[data-theme="light"] .topnav__link,
html[data-theme="light"] .topnav button.topnav__link { color: #071c2c; }
html[data-theme="light"] .brand-copy small { color: #526875; }
html[data-theme="light"] .brand img { filter: none; }
html[data-theme="light"] .topnav__link:hover,
html[data-theme="light"] .topnav__item:focus-within > .topnav__link,
html[data-theme="light"] .topnav button.topnav__link:hover { color: #071c2c; background: #e9f2f5; }
html[data-theme="light"] .topnav__cta { background: #6fa0b4; color: #fff; }
html[data-theme="light"] .topnav__submenu { background: #fff; border-color: rgba(9,38,53,.12); box-shadow: 0 20px 48px rgba(8,35,49,.14); }
html[data-theme="light"] .kf-theme-toggle { border-color: rgba(9,38,53,.18); background: #edf4f6; color: #0b3650; }
html[data-theme="light"] .kf-theme-menu__panel { border-color: rgba(9,38,53,.12); background: #fff; box-shadow: 0 22px 54px rgba(8,35,49,.16); }
html[data-theme="light"] .kf-theme-menu__panel strong { color: #526875; }
html[data-theme="light"] .kf-theme-menu__panel button { color: #0b2234; }
html[data-theme="light"] .kf-theme-menu__panel button:hover { background: #edf4f6; }
html[data-theme="light"] .kf-theme-menu__panel button.is-active { background: #dcecf2; }

html[data-theme="light"] .breadcrumbs,
html[data-theme="light"] .breadcrumb-bar,
html[data-theme="light"] .follow-strip { background: #edf4f6; color: #244352; border-color: rgba(9,38,53,.1); }
html[data-theme="light"] footer { background: #eef4f6; color: #425966; border-top-color: rgba(9,38,53,.12); }
html[data-theme="light"] footer a,
html[data-theme="light"] .footer-legal a { color: #1c6485; }

/* Common page surfaces */
html[data-theme="light"] :is(.news-archive,.beginner-hub,.shop-page,.contact-page,.about-page,.gallery-page,.competitions-page,.partners-page,.legal-page,.links-page,.polls-page,.events-page) { background: #f4f8f9; color: #0b2234; }
html[data-theme="light"] :is(.news-card,.beginner-card,.shop-card,.gallery-card,.competition-card,.partner-card,.link-card,.poll-card,.event-card,.lake-card,.store-card,.content-card) { border-color: rgba(9,38,53,.13); background: #fff; color: #0b2234; box-shadow: 0 14px 34px rgba(8,35,49,.08); }
html[data-theme="light"] :is(input,select,textarea) { border-color: rgba(9,38,53,.2); background-color: #fff; color: #102a39; }
html[data-theme="light"] :is(input,textarea)::placeholder { color: #71848d; }
html[data-theme="light"] :is(.btn,.button,button).btn-secondary { border-color: #6fa0b4; }
html[data-theme="light"] :is(.news-detail,.beginner-detail,.product-detail,.legal-content,.page-content) { background: #f7fafb; color: #132d3b; }
html[data-theme="light"] :is(.news-detail__body,.beginner-detail__body,.product-detail__body,.legal-content__body) { color: #263f4c; }

/* New front page */
html[data-theme="light"] .new-front { background: #f4f8f9; color: #0b2234; }
html[data-theme="light"] .new-front h1,
html[data-theme="light"] .new-front h2,
html[data-theme="light"] .new-front h3,
html[data-theme="light"] .new-front strong { color: #071c2c; }
html[data-theme="light"] .new-front-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 43%, rgba(255,255,255,.35) 100%),
    linear-gradient(180deg, rgba(255,255,255,.12), #f4f8f9),
    var(--new-front-hero-image) center/cover no-repeat;
}
html[data-theme="light"] .new-front-hero__copy h1,
html[data-theme="light"] .new-front-hero__copy h1::first-line { color: #071c2c; }
html[data-theme="light"] .new-front-hero__copy p,
html[data-theme="light"] .new-front p,
html[data-theme="light"] .new-front-features article,
html[data-theme="light"] .new-front-features small { color: #334f5d; }
html[data-theme="light"] .new-front-features article + article { border-left-color: rgba(9,38,53,.14); }
html[data-theme="light"] .new-front-btn,
html[data-theme="light"] .new-front-subscriber { border-color: rgba(9,38,53,.4); background: rgba(255,255,255,.8); color: #0b2234; }
html[data-theme="light"] .new-front-subscriber .subs-count { color: #0b2234; }
html[data-theme="light"] .new-front .new-front-band--dark { background: #f4f8f9; }
html[data-theme="light"] .new-front-panel,
html[data-theme="light"] .new-front-weather-forecast,
html[data-theme="light"] .new-front-accounting { border-color: rgba(9,38,53,.13); background: #fff; box-shadow: 0 16px 38px rgba(8,35,49,.08); }
html[data-theme="light"] .new-front-panel h2,
html[data-theme="light"] .new-front-accounting h2 { color: #071c2c; }
html[data-theme="light"] .new-front-section-head a { color: #176b92; }
html[data-theme="light"] .new-front-weather-card label,
html[data-theme="light"] .new-front-weather-card__main p,
html[data-theme="light"] .new-front-weather-card dt,
html[data-theme="light"] .new-front-weather-updated { color: #526875; }
html[data-theme="light"] .new-front-weather-card select { border-color: rgba(9,38,53,.18); background: #f8fbfc; color: #102a39; }
html[data-theme="light"] .new-front-weather-card dl div,
html[data-theme="light"] .new-front-weather-forecast .fish-day { border-color: rgba(9,38,53,.12); background: #f3f7f8; }
html[data-theme="light"] .new-front-weather-card dd,
html[data-theme="light"] .new-front-weather-forecast .fish-percent,
html[data-theme="light"] .new-front-weather-forecast .fish-day-name { color: #0b2234; }
html[data-theme="light"] .new-front-weather-forecast .fish-status,
html[data-theme="light"] .new-front-weather-forecast .fish-day__metrics span { color: #334f5d; }
html[data-theme="light"] .new-front-weather-forecast .fish-day__metrics span { background: #e7eff2; }
html[data-theme="light"] .new-front-mini-card,
html[data-theme="light"] .new-front-article-card,
html[data-theme="light"] .new-front-guides a { border-color: rgba(9,38,53,.13); background: #fff; color: #0b2234; }
html[data-theme="light"] .new-front-mini-card p,
html[data-theme="light"] .new-front-article-card__views,
html[data-theme="light"] .new-front-guides small { color: #526875; }
html[data-theme="light"] .new-front-band--hookup,
html[data-theme="light"] .new-front .new-front-band--hookup {
  background-color: #eaf2f4 !important;
  background-image: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.75) 55%, rgba(255,255,255,.28)), var(--new-front-hookup-image) !important;
}
html[data-theme="light"] .new-front-hookup h2,
html[data-theme="light"] .new-front-hookup li { color: #071c2c; }
html[data-theme="light"] .new-front-hookup__stats article { border-color: rgba(9,38,53,.14); background: rgba(255,255,255,.9); }
html[data-theme="light"] .new-front-hookup__stats span { color: #405966; }
html[data-theme="light"] .new-front-accounting__numbers article { border-color: rgba(9,38,53,.13); }
html[data-theme="light"] .new-front-accounting__numbers article.is-caught { background: linear-gradient(145deg,#e1f1e6,#fff); }
html[data-theme="light"] .new-front-accounting__numbers article.is-lost { background: linear-gradient(145deg,#f6efd8,#fff); }
html[data-theme="light"] .new-front-accounting__numbers article.is-blank { background: linear-gradient(145deg,#f5e2e2,#fff); }

/* NyFisker module */
html[data-theme="light"] .nyfisker { --nf-dark:#0b2b3a; background:#f5f7f6; color:#07171b; }
html[data-theme="light"] .nyfisker :is(h1,h2,h3,strong) { color:#07171b; }
html[data-theme="light"] .nyfisker :is(p,li,small) { color:#526468; }
html[data-theme="light"] .nyfisker-hero :is(h1,p),
html[data-theme="light"] .nyfisker-detail-hero :is(h1,p),
html[data-theme="light"] .nyfisker-cta :is(h2,p,span),
html[data-theme="light"] .nyfisker-detail-layout aside :is(h2,h3,p,a,strong,span) { color:#fff; }

/* HookUp module */
html[data-theme="light"] .hookup-shell {
  --hu-bg:#f4f8f9;
  --hu-panel:#ffffff;
  --hu-panel-2:#edf4f6;
  --hu-line:rgba(9,38,53,.14);
  --hu-text:#071c2c;
  --hu-muted:#526875;
  --hu-blue-text:#185f7f;
  background:#f4f8f9;
  color:var(--hu-text);
}
html[data-theme="light"] .hookup-shell :is(h1,h2,h3,h4,strong) { color:#071c2c; }
html[data-theme="light"] .hookup-shell :is(p,li,dt,dd,small) { color:#405966; }
html[data-theme="light"] .hookup-section--dark,
html[data-theme="light"] .hookup-page-band--dark { background:#eaf2f4; }
html[data-theme="light"] .hookup-card,
html[data-theme="light"] .hookup-panel,
html[data-theme="light"] .hookup-dashboard-card,
html[data-theme="light"] .hookup-profile-card,
html[data-theme="light"] .hookup-trip-card,
html[data-theme="light"] .hookup-empty,
html[data-theme="light"] .hookup-form-card { border-color:rgba(9,38,53,.14);background:#fff;color:#071c2c;box-shadow:0 14px 34px rgba(8,35,49,.07); }
html[data-theme="light"] .hookup-shell :is(input,select,textarea) { border-color:rgba(9,38,53,.2);background:#fff;color:#102a39; }
html[data-theme="light"] .hookup-account-menu--global summary { color:#173544; }
html[data-theme="light"] .hookup-account-menu--global summary::after { color:#60757b; }
html[data-theme="light"] .hookup-account-menu--global summary img { border-color:rgba(9,38,53,.22); }
html[data-theme="light"] .hookup-account-menu__panel { border-color:rgba(9,38,53,.14);background:#fff;box-shadow:0 18px 38px rgba(8,35,49,.14); }
html[data-theme="light"] .hookup-account-menu__panel a,
html[data-theme="light"] .hookup-account-menu__panel button { color:#173544; }
html[data-theme="light"] .hookup-account-menu__panel a:hover,
html[data-theme="light"] .hookup-account-menu__panel button:hover { background:#e9f2f5;color:#0b2234; }
html[data-theme="light"] .hookup-hero,
html[data-theme="light"] .hookup-profile-hero,
html[data-theme="light"] .hookup-trip-hero { color:#fff; }
html[data-theme="light"] .hookup-hero :is(h1,h2,h3,p,strong,li),
html[data-theme="light"] .hookup-profile-hero :is(h1,h2,h3,p,strong,li),
html[data-theme="light"] .hookup-trip-hero :is(h1,h2,h3,p,strong,li) { color:#fff; }

/* Cookie panel is intentionally isolated, but follows the selected surface. */
html[data-theme="light"] .cookie-banner,
html[data-theme="light"] .cookie-modal,
html[data-theme="light"] .cookie-settings { color:#102a39; }

/* Component contrast corrections. Keep genuinely dark components dark in light mode. */
html[data-theme="light"] .new-front-accounting .new-front-kicker,
html[data-theme="light"] .new-front-accounting__numbers article > span {
  color:#173544 !important;
}
html[data-theme="light"] .contact-modern__status,
html[data-theme="light"] .contact-modern__status span,
html[data-theme="light"] .contact-modern__card small {
  color:#334f5d !important;
}
html[data-theme="light"] .footer-bottom > div,
html[data-theme="light"] .footer-bottom > div * {
  color:#425966 !important;
}
html[data-theme="light"] .footer-bottom > div a { color:#176b92 !important; }

/* Put & Take lakes */
html[data-theme="light"] .lakes-hero {
  background:#eaf2f4 !important;
  color:#071c2c !important;
}
html[data-theme="light"] .lakes-hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .lakes-hero__facts strong { color:#071c2c !important; }
html[data-theme="light"] .lakes-hero :is(p,span),
html[data-theme="light"] .lakes-hero__intro > p,
html[data-theme="light"] .lakes-hero__facts span { color:#405966 !important; }
html[data-theme="light"] .lakes-toplists__score { color:#071c2c !important; }
html[data-theme="light"] .lakes-map-shell__intro { background:rgba(7,19,19,.96) !important; color:#fff !important; }
html[data-theme="light"] .lakes-map-shell__intro .eyebrow { background:#d8eef5 !important; color:#071313 !important; }
html[data-theme="light"] .lakes-map-shell__intro h2 { color:#fff !important; }
html[data-theme="light"] .lakes-map-shell__intro p { color:rgba(255,255,255,.78) !important; }
html[data-theme="light"] .lake-map-marker {
  border-color:#fff !important;
  background:#6fa0b4 !important;
  box-shadow:0 7px 20px rgba(8,35,49,.3) !important;
}
html[data-theme="light"] .lake-map-marker i { background:#071c2c !important; }
html[data-theme="light"] .lake-map-marker.is-featured {
  background:#d79623 !important;
  box-shadow:0 0 0 6px rgba(215,150,35,.2),0 8px 22px rgba(8,35,49,.34) !important;
}
html[data-theme="light"] .stores-map-shell__intro {
  background:rgba(7,19,29,.96) !important;
  color:#fff !important;
}
html[data-theme="light"] .stores-map-shell__intro :is(h2,strong) { color:#fff !important; }
html[data-theme="light"] .stores-map-shell__intro p { color:rgba(255,255,255,.8) !important; }
html[data-theme="light"] .stores-map-shell__intro .eyebrow { background:#d8eef5 !important; color:#071c2c !important; }
html[data-theme="light"] .lakes-page :is(.lake-card,.lakes-toplists,.lake-reviews-panel) a:not(.btn) { color:#125f82; }

/* HookUp dashboard and inbox */
html[data-theme="light"] .hookup-dashboard .hookup-panel :is(h2,h3,h4,strong,a,span),
html[data-theme="light"] .hookup-mail :is(h2,h3,h4,strong,a,span),
html[data-theme="light"] .hookup-empty :is(h2,h3,h4,strong) { color:#071c2c !important; }
html[data-theme="light"] .hookup-dashboard .hookup-panel :is(p,li,small),
html[data-theme="light"] .hookup-mail :is(p,li,small,em,time),
html[data-theme="light"] .hookup-empty p { color:#405966 !important; }
html[data-theme="light"] .hookup-dashboard .hookup-panel .hookup-kicker,
html[data-theme="light"] .hookup-mail .hookup-kicker,
html[data-theme="light"] .hookup-kicker { color:#185f7f !important; }
html[data-theme="light"] .hookup-hero .hookup-kicker {
  border-color:rgba(255,255,255,.32) !important;
  background:rgba(7,28,44,.82) !important;
  color:#fff !important;
}
html[data-theme="light"] .hookup-mail-item,
html[data-theme="light"] .hookup-mail__thread,
html[data-theme="light"] .hookup-mail__list { border-color:rgba(9,38,53,.14); background:#fff; }
html[data-theme="light"] .hookup-mail-item:hover,
html[data-theme="light"] .hookup-mail-item.is-active { background:#e7f0f3; }
html[data-theme="light"] .hookup-mail-item.has-unread { border-color:#6fa0b4; background:#dcecf2; }
html[data-theme="light"] .hookup-mail-search span { color:#334f5d; }

/* Facebook group catalogue */
html[data-theme="light"] .facebook-groups-hero,
html[data-theme="light"] .facebook-group-card.is-featured {
  background:#071c2c !important;
  color:#fff !important;
}
html[data-theme="light"] .facebook-groups-hero :is(h1,h2,h3,strong),
html[data-theme="light"] .facebook-group-card.is-featured :is(h2,h3,strong) { color:#fff !important; }
html[data-theme="light"] .facebook-groups-hero :is(p,span,small),
html[data-theme="light"] .facebook-group-card.is-featured :is(p,small) { color:rgba(255,255,255,.76) !important; }
html[data-theme="light"] .facebook-group-card:not(.is-featured) :is(h2,h3,strong) { color:#071c2c !important; }
html[data-theme="light"] .facebook-group-card:not(.is-featured) :is(p,small) { color:#405966 !important; }

/* News detail sharing */
html[data-theme="light"] .news-detail__share { border-color:rgba(9,38,53,.14); background:#e8f2f5; }
html[data-theme="light"] .news-detail__share strong { color:#071c2c !important; }
html[data-theme="light"] .news-detail__share-links :is(a,button) {
  border-color:rgba(9,38,53,.2);
  background:#fff;
  color:#0b3650 !important;
}
html[data-theme="light"] .news-detail__share-links :is(a,button):hover { background:#dcecf2; color:#071c2c !important; }

/* Shared sharing card */
html[data-theme="light"] .share-widget {
  border-color:rgba(9,38,53,.14);
  background:rgba(255,255,255,.96);
  color:#071c2c;
  box-shadow:0 16px 42px rgba(25,55,68,.14);
}
html[data-theme="light"] .share-widget__heading > span { color:#071c2c; }
html[data-theme="light"] .share-widget__heading small { color:#3f6674; }
html[data-theme="light"] .share-widget .share-widget__action--copy {
  border-color:rgba(9,38,53,.18);
  background:#e7f0f3;
  color:#174452;
}
html[data-theme="light"] .share-widget .share-widget__native {
  background:#397887;
  color:#fff;
}

/* About page */
html[data-theme="light"] .about-hero {
  background:#eaf2f4 !important;
  color:#071c2c !important;
}
html[data-theme="light"] .about-hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .about-hero__facts strong { color:#071c2c !important; }
html[data-theme="light"] .about-hero :is(p,span),
html[data-theme="light"] .about-hero__copy > p,
html[data-theme="light"] .about-hero__facts span { color:#405966 !important; }
html[data-theme="light"] .about-story blockquote { background:transparent; color:#071c2c !important; }
html[data-theme="light"] .about-method__grid span { color:#176b92 !important; }
html[data-theme="light"] .collab-page,
html[data-theme="light"] body section.collab-page { background:#071c2c !important; color:#fff !important; }
html[data-theme="light"] .collab-page :is(h1,h2,h3,strong,label,.eyebrow) { color:#fff !important; }
html[data-theme="light"] .collab-page :is(p,span,small) { color:rgba(255,255,255,.76) !important; }
html[data-theme="light"] .collab-page__terms li { color:#fff !important; }

/* Gear page */
html[data-theme="light"] .gear-hero {
  background:#eaf2f4 !important;
  color:#071c2c !important;
}
html[data-theme="light"] .gear-hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .gear-jump a { color:#071c2c !important; }
html[data-theme="light"] .gear-hero :is(p,span,small),
html[data-theme="light"] .gear-hero__intro > p { color:#405966 !important; }
html[data-theme="light"] .gear-jump a { border-color:rgba(9,38,53,.2); background:#fff; }
html[data-theme="light"] .gear-section--light :is(h2,h3,h4,strong,a) { color:#071c2c !important; }
html[data-theme="light"] .gear-section--light :is(p,li,span,small),
html[data-theme="light"] .gear-section--light .richtext-content { color:#405966 !important; }
html[data-theme="light"] .gear-section--dark { background:#0d2224 !important; color:#fff !important; }
html[data-theme="light"] .gear-section--dark :is(h2,h3,h4,strong,a) { color:#fff !important; }
html[data-theme="light"] .gear-section--dark :is(p,li,span,small),
html[data-theme="light"] .gear-section--dark .richtext-content { color:rgba(255,255,255,.76) !important; }

/* Links page */
html[data-theme="light"] .links-hero,
html[data-theme="light"] .links-submit-section {
  background:#071c2c !important;
  color:#fff !important;
}
html[data-theme="light"] .links-hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .links-submit-section :is(h1,h2,h3,strong,label,.eyebrow) { color:#fff !important; }
html[data-theme="light"] .links-hero :is(p,span,small),
html[data-theme="light"] .links-submit-section :is(p,span,small) { color:rgba(255,255,255,.76) !important; }
html[data-theme="light"] .link-card :is(h2,h3,strong,a) { color:#071c2c !important; }
html[data-theme="light"] .link-card :is(p,span,small) { color:#405966 !important; }

/* Shop */
html[data-theme="light"] .shop-hero,
html[data-theme="light"] .shop-cart { background:#09191b !important; color:#fff !important; }
html[data-theme="light"] .shop-hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .shop-cart :is(h1,h2,h3,strong) { color:#fff !important; }
html[data-theme="light"] .shop-hero :is(p,span,small),
html[data-theme="light"] .shop-cart :is(p,span,small) { color:rgba(255,255,255,.76) !important; }
html[data-theme="light"] .shop-card :is(h2,h3,strong,a) { color:#071c2c !important; }
html[data-theme="light"] .shop-card :is(p,span,small),
html[data-theme="light"] .shop-card .richtext-content { color:#405966 !important; }
html[data-theme="light"] .shop-card .shop-card__stock { color:#fff !important; }

/* Contact page and its dark social-proof variant */
html[data-theme="light"] .contact-page__hero,
html[data-theme="light"] .contact-map-card,
html[data-theme="light"] .social-proof-plugin--dark { background:#071c2c !important; color:#fff !important; }
html[data-theme="light"] .contact-page__hero :is(h1,h2,h3,strong,label,.eyebrow),
html[data-theme="light"] .contact-map-card :is(h1,h2,h3,strong,a),
html[data-theme="light"] .social-proof-plugin--dark :is(h1,h2,h3,strong) { color:#fff !important; }
html[data-theme="light"] .contact-page__hero :is(p,span,small),
html[data-theme="light"] .contact-map-card :is(p,span,small),
html[data-theme="light"] .social-proof-plugin--dark :is(p,span,small) { color:rgba(255,255,255,.76) !important; }
html[data-theme="light"] .contact-page__body :is(h1,h2,h3,strong,label) { color:#071c2c !important; }
html[data-theme="light"] .contact-page__body :is(p,span,small) { color:#405966 !important; }

/* Final page-specific contrast fixes. Module styles load after the shared theme. */
html[data-theme="light"] .lakes-store-callout > a {
  border-color:#6fa0b4 !important;
  background:#6fa0b4 !important;
  color:#071c2c !important;
}
html[data-theme="light"] .lakes-store-callout > a span { color:inherit !important; }
html[data-theme="light"] .lake-review,
html[data-theme="light"] .lake-review:nth-child(even),
html[data-theme="light"] .lake-review.is-featured {
  border-color:rgba(9,38,53,.15) !important;
  background:#fff !important;
  background-image:none !important;
  color:#173544 !important;
  box-shadow:0 16px 38px rgba(8,35,49,.08) !important;
}
html[data-theme="light"] .lake-review :is(h2,h3,h4,strong,dd),
html[data-theme="light"] .lake-user-reviews__copy strong,
html[data-theme="light"] .lake-review-form summary { color:#071c2c !important; }
html[data-theme="light"] .lake-review :is(p,small,dt),
html[data-theme="light"] .lake-review__address,
html[data-theme="light"] .lake-review__updated,
html[data-theme="light"] .lake-user-reviews__copy :is(small,span),
html[data-theme="light"] .lake-review-form :is(label,small) { color:#405966 !important; }
html[data-theme="light"] .lake-user-reviews,
html[data-theme="light"] .lake-review-form,
html[data-theme="light"] .lake-review__facts,
html[data-theme="light"] .lake-review__quote,
html[data-theme="light"] .lake-review__tackle,
html[data-theme="light"] .lake-review__audience {
  border-color:rgba(9,38,53,.13) !important;
  background:#edf4f6 !important;
  background-image:none !important;
  color:#173544 !important;
}
html[data-theme="light"] .lake-review__region,
html[data-theme="light"] .lake-review__recommended {
  border-color:rgba(24,95,127,.2) !important;
  background:#dcecf2 !important;
  color:#173544 !important;
}
html[data-theme="light"] .lake-review-form :is(input,select,textarea) {
  border-color:rgba(9,38,53,.2) !important;
  background:#fff !important;
  color:#102a39 !important;
}
html[data-theme="light"] .lake-review__actions :is(a,button) {
  border-color:rgba(24,95,127,.24) !important;
  background:#dcecf2 !important;
  color:#173544 !important;
}
html[data-theme="light"] .lake-review.is-featured .lake-review__audience span {
  background:#dcecf2 !important;
  color:#173544 !important;
}
html[data-theme="light"] .lake-review.is-featured .lake-review__facts :is(dt,dd) {
  color:#173544 !important;
}

html[data-theme="light"] .hookup-dashboard .hookup-panel,
html[data-theme="light"] .hookup-dashboard-grid .hookup-panel {
  border-color:rgba(9,38,53,.14) !important;
  background:#fff !important;
  background-image:none !important;
  color:#071c2c !important;
  box-shadow:0 14px 34px rgba(8,35,49,.07) !important;
}
html[data-theme="light"] .hookup-dashboard .hookup-panel :is(h2,h3,h4,strong,a,span) { color:#071c2c !important; }
html[data-theme="light"] .hookup-dashboard .hookup-panel :is(p,li,small) { color:#405966 !important; }
html[data-theme="light"] .hookup-dashboard .hookup-panel .hookup-kicker {
  border-color:rgba(24,95,127,.24) !important;
  background:#dcecf2 !important;
  color:#185f7f !important;
}
html[data-theme="light"] .hookup-mail__list,
html[data-theme="light"] .hookup-mail__thread {
  border-color:rgba(9,38,53,.14) !important;
  background:#fff !important;
  background-image:none !important;
  color:#071c2c !important;
  box-shadow:0 14px 34px rgba(8,35,49,.07) !important;
}
html[data-theme="light"] .hookup-mail-search {
  border-bottom-color:rgba(9,38,53,.12) !important;
  background:#edf4f6 !important;
}
html[data-theme="light"] .hookup-mail-search input {
  border-color:rgba(9,38,53,.2) !important;
  background:#fff !important;
  color:#102a39 !important;
}
html[data-theme="light"] .hookup-mail-search input::placeholder { color:#71838c !important; }

html[data-theme="light"] .facebook-groups-hero .eyebrow,
html[data-theme="light"] .collab-page .eyebrow {
  border-color:rgba(111,160,180,.35) !important;
  background:#d8eef5 !important;
  color:#173544 !important;
}
html[data-theme="light"] .facebook-group-card:not(.is-featured) .facebook-group-card__meta span {
  background:#e1eef2 !important;
  color:#173544 !important;
}
html[data-theme="light"] .link-card > a {
  border-color:#173544 !important;
  background:#173544 !important;
  color:#fff !important;
}
html[data-theme="light"] .link-card > a span { color:inherit !important; }

@media (max-width: 899px) {
  .kf-theme-switcher { display:none; }
  #quick-panel { overflow-y:auto; }
  html[data-theme="light"] #quick-panel { border-left-color:rgba(9,38,53,.12);background:#f7fafb;color:#0b2234; }
  html[data-theme="light"] .qp-head { border-bottom-color:rgba(9,38,53,.12); }
  html[data-theme="light"] .qp-head small { color:#667b85; }
  html[data-theme="light"] .qp-head strong,
  html[data-theme="light"] .qp-links a,
  html[data-theme="light"] .qp-links a.topnav__link { color:#0b2234; }
  html[data-theme="light"] #quick-close { border-color:rgba(9,38,53,.18);background:#e8f1f4;color:#0b2234; }
  html[data-theme="light"] .qp-links a,
  html[data-theme="light"] .qp-links a.topnav__link { border-bottom-color:rgba(9,38,53,.1); }
  html[data-theme="light"] .qp-theme { border-top-color:rgba(9,38,53,.12); }
  html[data-theme="light"] .qp-theme > strong { color:#667b85; }
  html[data-theme="light"] .qp-theme button { border-color:rgba(9,38,53,.16);background:#fff;color:#0b2234; }
  html[data-theme="light"] .qp-theme button.is-active { background:#6fa0b4;color:#071313; }
}

@media (prefers-reduced-motion: reduce) {
  .kf-theme-toggle { transition:none; }
}

/* FAQ: isolate the public FAQ palette from the shared theme selectors. */
.faq-page__hero,
html[data-theme="light"] .faq-page__hero,
html[data-theme="dark"] .faq-page__hero {
  background:#071313 !important;
  color:#fff !important;
}
.faq-page__hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="light"] .faq-page__hero :is(h1,h2,h3,strong,.eyebrow),
html[data-theme="dark"] .faq-page__hero :is(h1,h2,h3,strong,.eyebrow) {
  color:#fff !important;
}
.faq-page__hero :is(p,span,small),
html[data-theme="light"] .faq-page__hero :is(p,span,small),
html[data-theme="dark"] .faq-page__hero :is(p,span,small) {
  color:#c7d8d6 !important;
}

html[data-theme="light"] .faq-page__body {
  background:#eaf2f1 !important;
  color:#102321 !important;
}
html[data-theme="light"] .faq-page__content,
html[data-theme="light"] .faq-page__category,
html[data-theme="light"] .faq-page__category > header,
html[data-theme="light"] .faq-page__list {
  background:transparent !important;
  color:#102321 !important;
}
html[data-theme="light"] .faq-page__categories,
html[data-theme="light"] .faq-page__search,
html[data-theme="light"] .faq-page__list details,
html[data-theme="light"] .faq-page__no-results,
html[data-theme="light"] .faq-page__empty {
  border-color:rgba(7,19,19,.14) !important;
  background:#fff !important;
  color:#102321 !important;
}
html[data-theme="light"] .faq-page__categories > strong,
html[data-theme="light"] .faq-page__categories a,
html[data-theme="light"] .faq-page__category h2,
html[data-theme="light"] .faq-page__list summary,
html[data-theme="light"] .faq-page__empty :is(h2,h3,strong) {
  color:#102321 !important;
}
html[data-theme="light"] .faq-page__category header p,
html[data-theme="light"] .faq-page__answer,
html[data-theme="light"] .faq-page__empty p {
  color:#48605c !important;
}
html[data-theme="light"] .faq-page__search label { color:#102321 !important; }
html[data-theme="light"] .faq-page__search p { color:#48605c !important; }
html[data-theme="light"] .faq-page__search-field input {
  border-color:rgba(7,19,19,.18) !important;
  background:#f5f9f8 !important;
  color:#102321 !important;
}
html[data-theme="light"] .faq-page__answer a { color:#125f82 !important; }
html[data-theme="light"] .faq-page__categories a:hover,
html[data-theme="light"] .faq-page__categories a:focus-visible {
  background:#dce9e8 !important;
  color:#071313 !important;
}

html[data-theme="dark"] .faq-page__body {
  background:#eaf2f1 !important;
  color:#102321 !important;
}
html[data-theme="dark"] .faq-page__content,
html[data-theme="dark"] .faq-page__category,
html[data-theme="dark"] .faq-page__category > header,
html[data-theme="dark"] .faq-page__list {
  background:transparent !important;
  color:#102321 !important;
}
html[data-theme="dark"] .faq-page__categories,
html[data-theme="dark"] .faq-page__search,
html[data-theme="dark"] .faq-page__list details,
html[data-theme="dark"] .faq-page__no-results,
html[data-theme="dark"] .faq-page__empty {
  border-color:rgba(255,255,255,.14) !important;
  background:#102827 !important;
  color:#ecf6f4 !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .faq-page__categories > strong,
html[data-theme="dark"] .faq-page__categories a,
html[data-theme="dark"] .faq-page__list summary,
html[data-theme="dark"] .faq-page__empty :is(h2,h3,strong) {
  color:#fff !important;
}
html[data-theme="dark"] .faq-page__answer,
html[data-theme="dark"] .faq-page__empty p {
  color:#bfd0cd !important;
}
html[data-theme="dark"] .faq-page__category h2 {
  color:#102321 !important;
}
html[data-theme="dark"] .faq-page__category header p {
  color:#48605c !important;
}
html[data-theme="dark"] .faq-page__search label { color:#fff !important; }
html[data-theme="dark"] .faq-page__search p { color:#bfd0cd !important; }
html[data-theme="dark"] .faq-page__search-field input {
  border-color:rgba(255,255,255,.18) !important;
  background:#071313 !important;
  color:#fff !important;
}
html[data-theme="dark"] .faq-page__search-field input::placeholder { color:#9fb3b0 !important; }
html[data-theme="dark"] .faq-page__answer a { color:#8fc3d6 !important; }
html[data-theme="dark"] .faq-page__categories a:hover,
html[data-theme="dark"] .faq-page__categories a:focus-visible {
  background:rgba(255,255,255,.1) !important;
  color:#fff !important;
}
.faq-page__list summary:focus-visible,
.faq-page__categories a:focus-visible {
  outline:3px solid #8fc3d6;
  outline-offset:2px;
}

/* Generic section spacing must not offset FAQ categories inside the grid. */
.faq-page__content > .faq-page__category {
  padding-block:0 !important;
}
.faq-page__content > .faq-page__category + .faq-page__category {
  padding-top:38px !important;
}

/* The shared contact block follows the light surface on the FAQ page. */
html[data-theme="light"] body section.contact-modern {
  background:#f7fafb !important;
  color:#071c2c !important;
}
html[data-theme="light"] .contact-modern__copy h2,
html[data-theme="light"] .contact-route strong {
  color:#071c2c !important;
}
html[data-theme="light"] .contact-modern__copy p,
html[data-theme="light"] .contact-route small,
html[data-theme="light"] .contact-modern__channels,
html[data-theme="light"] .contact-modern__channels a {
  color:#405966 !important;
}
html[data-theme="light"] .contact-modern__actions,
html[data-theme="light"] .contact-route,
html[data-theme="light"] .contact-modern__channels {
  border-color:rgba(9,38,53,.14) !important;
}
