
:root{--green:#234d35;--green2:#376b49;--cream:#fbf7ef;--ink:#1d241f;--muted:#5d665f;--line:#e4ded1;--gold:#d4a746}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit}.container{width:min(1160px,92vw);margin:auto}.site-header{position:sticky;top:0;z-index:40;background:rgba(251,247,239,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.navwrap{display:flex;align-items:center;gap:22px;min-height:78px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;color:var(--green)}.brand img{width:72px;height:auto}.site-header nav{display:flex;gap:18px;margin-left:auto;align-items:center}.site-header nav a{text-decoration:none;font-weight:700;color:#2e3b31}.booklink{background:var(--green);color:white!important;padding:10px 15px;border-radius:999px}.lang{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:800}.lang select{background:#111;color:white;border:1px solid #333;border-radius:12px;padding:9px 10px}.hero{min-height:78vh;position:relative;display:flex;align-items:center;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.20),rgba(0,0,0,.10));z-index:1}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .container{position:relative;z-index:2}.hero-card{max-width:720px;color:white;padding:44px 0}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:900;color:var(--gold);margin:0 0 10px}.hero h1{font-size:clamp(2.4rem,5vw,5.4rem);line-height:.98;margin:0 0 22px}.hero p{font-size:1.22rem;max-width:650px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.chips span{background:rgba(255,255,255,.92);color:var(--green);font-weight:850;padding:9px 14px;border-radius:999px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:13px 19px;font-weight:900;border:2px solid transparent;margin:5px}.primary{background:var(--gold);color:#1b1607}.secondary{background:white;color:var(--green)}.outline{border-color:var(--green);color:var(--green);background:transparent}.light{background:white;color:var(--green)}.ghost{border-color:white;color:white}.section{padding:72px 0}.section.alt{background:white}.section h2,.pagehero h1{font-size:clamp(2rem,3vw,3.4rem);line-height:1.08;margin:0 0 16px}.lead2,.pagehero .lead{max-width:860px;color:var(--muted);font-size:1.12rem}.cards,.places{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.card,.place,.contactbox{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 18px 50px rgba(35,77,53,.08)}.section.alt .card,.section.alt .place{background:var(--cream)}.card h3{margin-top:0;color:var(--green)}.features{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.features span{padding:10px 13px;background:#eef4ec;border:1px solid #d7e5d3;border-radius:999px;font-weight:750}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.split img,.place img{width:100%;border-radius:24px;object-fit:cover;box-shadow:0 20px 60px rgba(0,0,0,.12)}.place img{height:230px}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}.video{aspect-ratio:16/9;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.13)}.video iframe,.map iframe{width:100%;height:100%;border:0}.pagehero{padding:78px 0 34px;background:linear-gradient(135deg,#eef4ec,#fbf7ef)}.cta{background:var(--green);color:white;padding:44px 0}.ctainner{display:flex;align-items:center;justify-content:space-between;gap:25px}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.form label{font-weight:850}.form input,.form textarea{width:100%;margin-top:6px;padding:13px;border:1px solid var(--line);border-radius:14px;font:inherit}.form label:nth-child(5),.form label:nth-child(6){grid-column:1/-1}.faqlist details{background:white;border:1px solid var(--line);padding:18px 20px;border-radius:18px;margin:12px 0}.faqlist summary{font-weight:900;cursor:pointer}.map{height:520px;border-radius:24px;overflow:hidden;margin-top:25px}.footer{padding:54px 0 88px;background:#122017;color:white}.footer a{color:white}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.footlinks{display:grid;gap:10px}.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:center;gap:8px;background:rgba(18,32,23,.96);padding:10px}.sticky a{background:var(--gold);color:#111;text-decoration:none;padding:11px 16px;border-radius:999px;font-weight:900}.sticky a+ a{background:white;color:var(--green)}[dir="rtl"] .site-header nav{margin-left:0;margin-right:auto}[dir="rtl"] .hero::before{background:linear-gradient(270deg,rgba(0,0,0,.60),rgba(0,0,0,.20),rgba(0,0,0,.10))}@media(max-width:900px){.navwrap{flex-wrap:wrap;padding:10px 0}.site-header nav{order:3;width:100%;overflow:auto;gap:12px}.hero{min-height:72vh}.cards,.places{grid-template-columns:1fr}.split{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.ctainner,.footgrid{display:block}.form{grid-template-columns:1fr}.lang{margin-left:auto}.brand span{display:none}}

.hero picture.hero-media{position:absolute;inset:0;display:block;z-index:0}.hero picture.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-card{background:rgba(18,32,23,.58);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:34px;backdrop-filter:blur(3px);box-shadow:0 28px 80px rgba(0,0,0,.23)}.hero-card .secondary{box-shadow:0 8px 24px rgba(0,0,0,.16)}.route-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}.route-note{margin-top:14px;color:var(--muted);font-size:.98rem}.route-card{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;margin-bottom:24px;box-shadow:0 18px 50px rgba(35,77,53,.08)}.route-card strong{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{content-visibility:auto;contain-intrinsic-size:1px 720px}.hero,.pagehero,.cta,.footer{content-visibility:visible}.skiplink{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skiplink:focus{left:12px;top:12px;width:auto;height:auto;background:#fff;color:#111;padding:10px 12px;border-radius:12px;z-index:1000}.site-header img{display:block}@media(max-width:900px){.hero-card{padding:24px}.hero h1{font-size:clamp(2rem,10vw,3.2rem)}.route-actions .btn{width:100%;margin:0}.map{height:420px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Fishing target group page */
.page-hero.fishing-hero{background:linear-gradient(135deg,#f5f0e6,#e7efe4);padding:clamp(2.5rem,5vw,5rem) 0}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}.split picture img,.split>img{width:100%;border-radius:24px;box-shadow:0 18px 44px rgba(0,0,0,.18);object-fit:cover}.fishing-hero blockquote{margin:1.25rem 0;padding:1rem 1.25rem;border-left:5px solid #234d35;background:rgba(255,255,255,.78);border-radius:14px;font-weight:700}.clean-list{display:grid;gap:.7rem;margin:1rem 0 0;padding:0;list-style:none}.clean-list li{padding:.75rem 1rem;border:1px solid rgba(35,77,53,.18);border-radius:14px;background:#fff}.fishing-gallery img{aspect-ratio:4/3;object-fit:cover}.fishing-mini{grid-template-columns:1fr 1fr}.fishing-mini img{aspect-ratio:4/3;object-fit:cover}.small{font-size:.93rem;opacity:.78}.site-header nav a[data-nav="fishing"]{font-weight:700}
@media(max-width:820px){.split{grid-template-columns:1fr}.fishing-mini{grid-template-columns:1fr 1fr}.page-hero.fishing-hero{padding-top:2rem}}
html[dir="rtl"] .fishing-hero blockquote{border-left:0;border-right:5px solid #234d35}


/* Hosts trust page */
.hosts-hero{background:linear-gradient(135deg,#f7f0e4,#eaf2e5);padding:clamp(2.5rem,5vw,5rem) 0}.hosts-hero blockquote{margin:1.25rem 0;padding:1rem 1.25rem;border-left:5px solid #234d35;background:rgba(255,255,255,.82);border-radius:14px;font-weight:750}.hosts-hero picture img,#hosts-teaser picture img{aspect-ratio:3/4;object-fit:cover;object-position:center}.site-header nav a[data-nav="hosts"]{font-weight:700}.active{color:var(--green)!important;text-decoration:underline;text-underline-offset:5px}html[dir="rtl"] .hosts-hero blockquote{border-left:0;border-right:5px solid #234d35}@media(max-width:820px){#hosts-teaser .split{display:grid;grid-template-columns:1fr}.hosts-hero picture img{max-height:620px}}

/* ------------------------------------------------------------
   CONSISTENCY PASS 2026-05-23
   Purpose: one visual system across all language versions/pages.
------------------------------------------------------------ */
:root{
  --sidp-radius-sm:14px;
  --sidp-radius-md:20px;
  --sidp-radius-lg:28px;
  --sidp-shadow-soft:0 16px 44px rgba(35,77,53,.09);
  --sidp-shadow-strong:0 24px 70px rgba(0,0,0,.16);
  --sidp-max-text:860px;
}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{padding-bottom:64px}
main{min-height:55vh}
img,svg,video,iframe{max-width:100%}

/* Header and navigation */
.site-header{box-shadow:0 8px 30px rgba(18,32,23,.045)}
.navwrap{min-height:76px;gap:18px}
.brand{flex:0 0 auto;min-width:0}
.brand span{white-space:nowrap;letter-spacing:.01em}
.site-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;line-height:1.1}
.site-header nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:999px;transition:background .18s ease,color .18s ease,transform .18s ease}
.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.active{background:#eaf2e5;color:var(--green)!important;text-decoration:none;outline:0}
.site-header nav a:active{transform:translateY(1px)}
.site-header nav .booklink,.booklink{padding:10px 16px;background:var(--green);box-shadow:0 8px 22px rgba(35,77,53,.18)}
.site-header nav .booklink:hover,.site-header nav .booklink:focus-visible{background:#173724;color:white!important}
.lang{flex:0 0 auto;margin-left:0}
.lang select{min-width:132px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.08)}

/* Typography */
h1,h2,h3{letter-spacing:-.025em;color:var(--green)}
.hero h1{color:white;letter-spacing:-.045em}
h2{max-width:980px}
p{margin-top:0}.lead2,.pagehero .lead,.page-hero .lead{max-width:var(--sidp-max-text)}
.kicker{font-size:.78rem;line-height:1.35}

/* Consistent page intros, including both legacy class names */
.pagehero,.page-hero{padding:clamp(54px,7vw,92px) 0 clamp(32px,4vw,50px);background:linear-gradient(135deg,#eef4ec 0%,#fbf7ef 66%,#fff 100%);border-bottom:1px solid var(--line)}
.pagehero h1,.page-hero h1{font-size:clamp(2.1rem,4vw,4rem);line-height:1.02;margin:0 0 16px;color:var(--green)}
.pagehero p,.page-hero p{max-width:var(--sidp-max-text);font-size:1.12rem;color:var(--muted)}

/* Sections and layout */
.section{padding:clamp(54px,7vw,84px) 0}.section.alt{background:#fff}.container{width:min(1160px,92vw)}
.split{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)}
.cards,.places{align-items:stretch}.card,.place,.contactbox,.route-card{border-radius:var(--sidp-radius-lg);box-shadow:var(--sidp-shadow-soft)}
.card,.place{display:flex;flex-direction:column}.card h3,.place h3{margin-bottom:.45rem}.card p:last-child,.place p:last-child{margin-bottom:0}
.features span,.chips span{line-height:1.2}.features{align-items:flex-start}

/* Buttons and CTAs */
.btn{min-height:46px;line-height:1.15;box-shadow:0 8px 24px rgba(18,32,23,.09);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-1px);box-shadow:0 13px 30px rgba(18,32,23,.14);outline:0}.btn:active{transform:translateY(0)}
.primary{background:var(--gold);color:#1b1607}.primary:hover,.primary:focus-visible{background:#e3b955;color:#1b1607}.secondary:hover,.secondary:focus-visible,.light:hover,.light:focus-visible{background:#f4f7f2;color:var(--green)}
.ghost:hover,.ghost:focus-visible{background:white;color:var(--green)}
.cta h2{color:white}.cta p{margin-bottom:0}.ctainner{align-items:center}

/* Media */
.hero{min-height:clamp(610px,78vh,880px)}
.hero-card{max-width:760px}.hero p{color:rgba(255,255,255,.94)}
.gallery{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.gallery img{aspect-ratio:4/3;border-radius:18px;background:#e9e3d7;box-shadow:0 8px 22px rgba(18,32,23,.08)}
.split img,.place img{border-radius:var(--sidp-radius-lg);box-shadow:var(--sidp-shadow-strong)}
.place img{height:240px}.video,.map{border-radius:var(--sidp-radius-lg);box-shadow:var(--sidp-shadow-strong)}

/* Forms */
.form input,.form textarea,.form select{background:#fff;border-color:#d7d0c2}.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid rgba(212,167,70,.28);border-color:var(--gold)}

/* Footer */
.footer{background:linear-gradient(135deg,#102017,#1d3325);padding-bottom:104px}.footer img{margin-bottom:14px}.footlinks a{text-decoration:none}.footlinks a:hover{text-decoration:underline;text-underline-offset:4px}
.sticky{box-shadow:0 -12px 34px rgba(0,0,0,.22)}.sticky a{min-width:170px;text-align:center}

/* Target group pages: keep them visually aligned with the rest of the site */
.hosts-hero,.page-hero.fishing-hero{border-bottom:1px solid var(--line)}
.hosts-hero h1,.fishing-hero h1{color:var(--green)}
.hosts-hero blockquote,.fishing-hero blockquote{box-shadow:var(--sidp-shadow-soft)}
.clean-list li{box-shadow:0 8px 18px rgba(35,77,53,.045)}
.fishing-mini{gap:12px}.fishing-mini img{border-radius:18px;box-shadow:0 12px 30px rgba(18,32,23,.12)}

/* RTL consistency */
[dir="rtl"] .site-header nav{justify-content:flex-start}[dir="rtl"] .site-header nav a{letter-spacing:0}[dir="rtl"] .lang{margin-right:0}[dir="rtl"] .hero-card{text-align:right}

@media(max-width:1120px){
  .navwrap{align-items:flex-start;padding:10px 0}.site-header nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:thin}.site-header nav a{white-space:nowrap}.lang{margin-left:auto}.brand img{width:64px}
}
@media(max-width:760px){
  body{padding-bottom:78px}.container{width:min(100% - 28px,1160px)}.hero{min-height:690px;align-items:flex-end}.hero-card{padding:22px;border-radius:22px;margin-bottom:28px}.hero p{font-size:1.05rem}.chips{gap:8px}.chips span{font-size:.9rem;padding:8px 10px}.btn{width:100%;margin:5px 0}.cards,.places,.split{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ctainner{display:block}.ctainner .btn{margin-top:10px}.footgrid{display:grid;grid-template-columns:1fr;gap:24px}.sticky{padding:9px 10px}.sticky a{min-width:0;flex:1;padding:12px 10px}.lang select{max-width:150px}.site-header nav a{font-size:.95rem}.pagehero,.page-hero{padding-top:42px}.section{padding:48px 0}
}
@media(max-width:420px){
  .brand img{width:58px}.hero h1{font-size:2.15rem}.gallery{gap:8px}.site-header nav a{font-size:.9rem;padding:8px 9px}.lang select{min-width:118px;max-width:130px}.sticky a{font-size:.92rem}
}


/* Final professional consistency + conversion SEO pass */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(16,39,26,.97);backdrop-filter:saturate(150%) blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.navwrap{min-height:74px;gap:18px}.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand img{object-fit:contain}.brand span{font-weight:800;letter-spacing:.02em;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.site-header nav a{padding:.62rem .72rem;border-radius:999px;line-height:1;font-weight:700}.site-header nav a:hover,.site-header nav a[aria-current="page"]{background:rgba(255,255,255,.12)}.site-header nav .booklink{background:#f1d18a;color:#173321}.site-header nav .booklink:hover{background:#ffe0a2;color:#102719}
.lang select{background:#102719;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.48rem .85rem}.lang span{color:rgba(255,255,255,.78);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.hero{min-height:76vh;display:flex;align-items:center;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,22,13,.74),rgba(7,22,13,.42) 48%,rgba(7,22,13,.16)),linear-gradient(0deg,rgba(7,22,13,.42),rgba(7,22,13,.06) 42%,rgba(255,255,255,.05))}.hero-card{max-width:790px;background:rgba(255,255,255,.92);box-shadow:0 28px 90px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.55)}
.page-hero,.subhero{background:linear-gradient(135deg,#102719,#24543a);color:#fff}.page-hero h1,.subhero h1{max-width:980px}.page-hero p,.subhero p{max-width:850px;color:rgba(255,255,255,.88)}
.card,.review,.faqitem,.target-card{border:1px solid rgba(24,56,38,.11);box-shadow:0 14px 40px rgba(17,45,29,.08);border-radius:24px}.section{scroll-margin-top:92px}.target-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.target-card{background:#fff;padding:24px}.target-card h3{margin-top:0;color:#173321}.target-card p{margin-bottom:0}.seo-note{font-size:.98rem;color:#476050;max-width:980px}.breadcrumb{font-size:.92rem;color:#607468;margin:20px 0}.breadcrumb a{color:inherit}.split img{border-radius:24px;box-shadow:0 18px 54px rgba(0,0,0,.15)}
.footer{background:#102719;color:#f5f1e5}.footer a{color:#f1d18a}.sticky{z-index:1001}
@media (max-width:1100px){.navwrap{align-items:flex-start}.brand{min-width:auto}.site-header nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.site-header nav a{white-space:nowrap}.target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.navwrap{min-height:auto;padding-top:10px;padding-bottom:8px}.brand span{font-size:.95rem}.lang{margin-left:0}.hero{min-height:82vh}.hero-card{margin:84px 0 72px;padding:24px}.hero h1{font-size:clamp(2rem,9vw,3rem)}.target-grid{grid-template-columns:1fr}.site-header nav{gap:4px}.site-header nav a{padding:.58rem .66rem}}
html[dir="rtl"] .hero:after{background:linear-gradient(270deg,rgba(7,22,13,.74),rgba(7,22,13,.42) 48%,rgba(7,22,13,.16)),linear-gradient(0deg,rgba(7,22,13,.42),rgba(7,22,13,.06) 42%,rgba(255,255,255,.05))}

/* Color consistency update: white header lettering, black content headings */
.site-header,
.site-header *:not(select):not(option) {
  color: #ffffff !important;
}
.site-header a,
.site-header nav a,
.site-header .brand,
.site-header .brand span,
.site-header .lang,
.site-header .lang span {
  color: #ffffff !important;
}
.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a.active,
.site-header nav a[aria-current="page"] {
  color: #ffffff !important;
}
.site-header nav .booklink,
.site-header .booklink {
  color: #ffffff !important;
}
.site-header select {
  color: #ffffff !important;
}
.site-header select option {
  color: #111111 !important;
  background: #ffffff !important;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
.section h1,
.section h2,
.section h3,
.pagehero h1,
.pagehero h2,
.pagehero h3,
.page-hero h1,
.page-hero h2,
.page-hero h3,
.subhero h1,
.subhero h2,
.subhero h3,
.card h3,
.place h3,
.target-card h3,
.hosts-hero h1,
.hosts-hero h2,
.hosts-hero h3,
.fishing-hero h1,
.fishing-hero h2,
.fishing-hero h3 {
  color: #111111 !important;
}

/* Keep only button text readable where headings are not involved */
.cta h1,
.cta h2,
.cta h3 {
  color: #111111 !important;
}

/* Homepage hero visibility refinement: reduce the white content panel so the background image remains visible while keeping text readable. */
.hero-card {
  max-width: 680px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  backdrop-filter: blur(1.5px) !important;
  -webkit-backdrop-filter: blur(1.5px) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22) !important;
}
.hero p,
.hero-card p {
  color: #1f271f !important;
}
.hero .kicker,
.hero-card .kicker {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
}
.hero::before,
.hero:after {
  background: linear-gradient(90deg,rgba(7,22,13,.36),rgba(7,22,13,.18) 48%,rgba(7,22,13,.06)),linear-gradient(0deg,rgba(7,22,13,.20),rgba(7,22,13,.03) 42%,rgba(255,255,255,.02)) !important;
}
@media (max-width:720px){
  .hero-card{background:rgba(255,255,255,.82)!important;max-width:100%!important;}
}

/* Header/logo + homepage image text refinement */
.site-header .brand span {
  display: none !important;
}
.site-header .brand {
  min-width: auto !important;
  gap: 0 !important;
}
.site-header .brand img {
  width: 118px !important;
  max-height: 84px !important;
  height: auto !important;
  object-fit: contain !important;
}
.hero .kicker,
.hero-card .kicker {
  color: #6f746f !important;
  text-shadow: none !important;
}
@media (max-width: 1120px) {
  .site-header .brand img {
    width: 104px !important;
    max-height: 78px !important;
  }
}
@media (max-width: 760px) {
  .site-header .brand img {
    width: 90px !important;
    max-height: 68px !important;
  }
}

/* Header one-line layout update: keep every language header on a single row. */
.site-header .navwrap {
  flex-wrap: nowrap !important;
  align-items: center !important;
  min-height: 74px !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}
.site-header .brand {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
.site-header .brand img {
  width: clamp(70px, 7.2vw, 104px) !important;
  max-height: 70px !important;
}
.site-header nav {
  order: initial !important;
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: max-content !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(3px, .45vw, 8px) !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
  margin-left: 0 !important;
}
.site-header nav a {
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  font-size: clamp(.72rem, .86vw, .98rem) !important;
  padding: .5rem clamp(.45rem, .65vw, .7rem) !important;
  letter-spacing: 0 !important;
}
.site-header .lang {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  white-space: nowrap !important;
  gap: 6px !important;
}
.site-header .lang span {
  font-size: clamp(.62rem, .72vw, .78rem) !important;
}
.site-header .lang select {
  max-width: clamp(118px, 12vw, 170px) !important;
  min-width: 108px !important;
  font-size: clamp(.72rem, .82vw, .92rem) !important;
  padding: .42rem .65rem !important;
}
html[dir="rtl"] .site-header nav {
  margin-right: 0 !important;
  justify-content: center !important;
}
@media (max-width: 760px) {
  .site-header .navwrap {
    gap: 8px !important;
    padding: 8px 0 !important;
  }
  .site-header .brand img {
    width: 64px !important;
    max-height: 54px !important;
  }
  .site-header nav a {
    font-size: .76rem !important;
    padding: .45rem .48rem !important;
  }
  .site-header .lang span {
    display: none !important;
  }
  .site-header .lang select {
    min-width: 96px !important;
    max-width: 112px !important;
    font-size: .75rem !important;
  }
}

/* Contrast fix: ensure text on light panels/backgrounds is black across all language versions without changing dark header/footer/CTA areas. */
.hero-card,
.hero-card :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label) {
  color: #111111 !important;
  text-shadow: none !important;
}
.hero-card .kicker {
  color: #555c56 !important;
}
.section:not(.cta) :where(.card,.place,.contactbox,.route-card,.target-card,.review,.faqitem,details),
.section:not(.cta) :where(.card,.place,.contactbox,.route-card,.target-card,.review,.faqitem,details) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.form :where(label,p,span,strong,small),
.clean-list li,
.clean-list li :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label) {
  color: #111111 !important;
  text-shadow: none !important;
}
.section:not(.cta) :where(.lead2,.seo-note,.route-note,.breadcrumb),
.section:not(.cta) :where(.lead2,.seo-note,.route-note,.breadcrumb) * {
  color: #333b35 !important;
  text-shadow: none !important;
}
/* Keep buttons/chips visually intentional after the contrast override. */
.hero-card .btn.primary,
.section:not(.cta) .btn.primary {
  color: #1b1607 !important;
}
.hero-card .btn.secondary,
.section:not(.cta) .btn.secondary,
.hero-card .btn.light,
.section:not(.cta) .btn.light {
  color: var(--green) !important;
}
.hero-card .chips span,
.section:not(.cta) .chips span,
.features span {
  color: var(--green) !important;
}

/* Targeted fishing-page contrast fix: make the main fishing intro paragraph black in every language. */
.page-hero.fishing-hero .lead2,
.page-hero.fishing-hero .lead,
.fishing-hero .lead2,
.fishing-hero .lead {
  color: #111111 !important;
  text-shadow: none !important;
}

/* Targeted fishing proof-line contrast fix: make the neighbouring-countries fishing sentence black on the current background in every language. */
.fishing-hero blockquote,
#fishing-teaser p,
.cta .ctainner p {
  color: #111111 !important;
  text-shadow: none !important;
}

/* Host page final layout alignment: make every host page follow the same visual system as the rest of the site. */
.hosts-hero.page-hero,
.hosts-hero.pagehero,
.hosts-hero {
  background: linear-gradient(135deg, #eef4ec 0%, #fbf7ef 58%, #ffffff 100%) !important;
  color: var(--ink) !important;
  padding: clamp(48px, 7vw, 86px) 0 clamp(38px, 5vw, 64px) !important;
  border-bottom: 1px solid var(--line) !important;
}
.hosts-hero .container.split {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .78fr) !important;
  gap: clamp(24px, 4vw, 52px) !important;
  align-items: center !important;
}
.hosts-hero .container.split > div:first-child {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  padding: clamp(24px, 4vw, 42px) !important;
  box-shadow: 0 18px 54px rgba(35,77,53,.10) !important;
}
.hosts-hero .kicker {
  color: var(--green) !important;
  text-shadow: none !important;
}
.hosts-hero h1 {
  color: #111111 !important;
  font-size: clamp(2.15rem, 4.2vw, 4.4rem) !important;
  line-height: 1.02 !important;
  margin: 0 0 18px !important;
}
.hosts-hero .lead2,
.hosts-hero .lead,
.hosts-hero p {
  color: #263127 !important;
  max-width: 820px !important;
}
.hosts-hero blockquote {
  background: #f8f3e8 !important;
  color: #111111 !important;
  border-left: 5px solid var(--gold) !important;
  border-right: 0 !important;
  border-radius: 18px !important;
  padding: 18px 20px !important;
  margin: 22px 0 !important;
  box-shadow: 0 10px 28px rgba(35,77,53,.08) !important;
}
.hosts-hero picture,
.hosts-hero picture img {
  display: block !important;
}
.hosts-hero picture img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  max-height: 620px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  box-shadow: 0 24px 70px rgba(18,32,23,.20) !important;
}
.hosts-hero .btn.primary {
  color: #1b1607 !important;
}
.hosts-hero .btn.secondary {
  color: var(--green) !important;
}
/* Keep host-page body sections aligned with card/grid styling used on the rest of the site. */
main:has(.hosts-hero) .section .cards,
main:has(.hosts-hero) .section .target-grid {
  gap: 22px !important;
}
main:has(.hosts-hero) .section .card,
main:has(.hosts-hero) .section .target-card {
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 44px rgba(35,77,53,.08) !important;
}
main:has(.hosts-hero) .section.alt {
  background: #ffffff !important;
}
main:has(.hosts-hero) .section.alt .card {
  background: var(--cream) !important;
}
main:has(.hosts-hero) h2,
main:has(.hosts-hero) h3 {
  color: #111111 !important;
}
html[dir="rtl"] .hosts-hero blockquote {
  border-left: 0 !important;
  border-right: 5px solid var(--gold) !important;
}
@media (max-width: 900px) {
  .hosts-hero .container.split {
    grid-template-columns: 1fr !important;
  }
  .hosts-hero picture img {
    max-height: 520px !important;
    aspect-ratio: 16 / 11 !important;
  }
}
@media (max-width: 560px) {
  .hosts-hero .container.split > div:first-child {
    padding: 22px !important;
    border-radius: 22px !important;
  }
  .hosts-hero h1 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
  }
}


/* Review source page upgrade */
.review-page .review-hero .lead,
.review-page .lead2,
.review-page .card p,
.review-page .target-card p,
.review-page .seo-note { color: #111111; }
.review-source-grid { align-items: stretch; }
.review-platform { position: relative; overflow: hidden; }
.platform-badge { display: inline-flex; align-items: center; width: fit-content; padding: .35rem .75rem; border-radius: 999px; background: rgba(12, 45, 26, .08); color: #0b2d1a; font-weight: 800; letter-spacing: .02em; margin-bottom: .75rem; }
.review-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.review-proof { background: linear-gradient(135deg, rgba(244, 216, 139, .35), rgba(255,255,255,.92)); }
.review-trust .target-card { background: rgba(255,255,255,.9); }
html[dir="rtl"] .review-actions { justify-content: flex-start; }
@media (max-width: 720px) { .review-actions .btn { width: 100%; justify-content: center; } }

/* Production contrast correction: text on dark green backgrounds must be white. */
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky),
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,a,summary,div) {
  color: #ffffff !important;
}
:is(.page-hero,.pagehero,.subhero,.cta,.footer) :where(.lead,.lead2,.seo-note,.route-note,.breadcrumb) {
  color: rgba(255,255,255,.92) !important;
}
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky) .btn.primary,
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky) .booklink,
:is(.sticky) a {
  color: #1b1607 !important;
}
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky) .btn.secondary,
:is(.site-header,.page-hero,.pagehero,.subhero,.cta,.footer,.sticky) .btn.light,
:is(.sticky) a + a {
  color: var(--green) !important;
}
.site-header nav a:not(.booklink),
.site-header .lang span,
.site-header .brand,
.site-header .brand * {
  color: #ffffff !important;
}
.site-header select {
  color: #ffffff !important;
}
.site-header select option {
  color: #111111 !important;
  background: #ffffff !important;
}

/* Reinforced contrast fix: any visitor-facing text inside green/dark sections must remain white. */
.header,
.site-header,
.page-hero,
.hero-dark,
.cta,
.cta-section,
.final-cta,
.booking-strip,
.sticky-booking,
.footer,
.site-footer,
.green-section,
.dark-section,
.trust-band,
.review-band,
.fishing-proof,
.proof-line,
.hosts-proof,
.route-cta,
[class*="green"],
[class*="dark"] {
  color: #ffffff !important;
}

.header :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.site-header :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.page-hero :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.hero-dark :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.cta :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.cta-section :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.final-cta :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.booking-strip :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.sticky-booking :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.footer :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.site-footer :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.green-section :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.dark-section :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.trust-band :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.review-band :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.fishing-proof :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.proof-line :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.hosts-proof :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
.route-cta :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
[class*="green"] :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label),
[class*="dark"] :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,em,small,label) {
  color: #ffffff !important;
}

/* Preserve readable form controls and light buttons on dark/green sections. */
:is(.header,.site-header,.page-hero,.hero-dark,.cta,.cta-section,.final-cta,.booking-strip,.sticky-booking,.footer,.site-footer,.green-section,.dark-section,.trust-band,.review-band,.fishing-proof,.proof-line,.hosts-proof,.route-cta,[class*="green"],[class*="dark"]) :is(input, textarea, select, option) {
  color: #111111 !important;
}

:is(.header,.site-header,.page-hero,.hero-dark,.cta,.cta-section,.final-cta,.booking-strip,.sticky-booking,.footer,.site-footer,.green-section,.dark-section,.trust-band,.review-band,.fishing-proof,.proof-line,.hosts-proof,.route-cta,[class*="green"],[class*="dark"]) :is(.btn-light, .button-light, .secondary-button, .btn.secondary) {
  color: #18382a !important;
}


/* Targeted fix: booking-helper sentence on review CTAs must be white in every language. */
.cta .ctainner p.booking-helper-text,
section.cta .container.ctainner p.booking-helper-text {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Targeted fix: chosen language text in the header language selector must display white. */
.site-header .lang select,
.site-header .lang select:focus,
.site-header .lang select:hover {
  color: #ffffff !important;
  background: #102719 !important;
  border-color: rgba(255,255,255,.55) !important;
}
.site-header .lang select option {
  color: #111111 !important;
  background: #ffffff !important;
}

/* Final header order fix: logo, language selector, then menu links */
.site-header .navwrap{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  min-height:74px !important;
}
.site-header .brand{
  order:1 !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  margin:0 !important;
}
.site-header .brand span{display:none !important;}
.site-header .brand img{
  width:86px !important;
  max-width:86px !important;
  height:auto !important;
}
.site-header .lang{
  order:2 !important;
  flex:0 0 auto !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}
.site-header .lang select{
  min-width:118px !important;
  max-width:152px !important;
}
.site-header nav{
  order:3 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap !important;
  scrollbar-width:thin !important;
  padding-bottom:0 !important;
}
.site-header nav a{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
html[dir="rtl"] .site-header .navwrap{
  flex-direction:row !important;
}
html[dir="rtl"] .site-header nav{
  margin-right:0 !important;
  justify-content:flex-start !important;
}
@media (max-width:1100px){
  .site-header .navwrap{align-items:center !important; padding:8px 0 !important;}
  .site-header .brand img{width:74px !important; max-width:74px !important;}
  .site-header .lang span{display:none !important;}
  .site-header .lang select{min-width:104px !important; max-width:124px !important; padding:.45rem .65rem !important;}
  .site-header nav{order:3 !important; width:auto !important; padding-bottom:0 !important;}
  .site-header nav a{font-size:.9rem !important; padding:.55rem .58rem !important;}
}
@media (max-width:640px){
  .site-header .navwrap{gap:8px !important;}
  .site-header .brand img{width:62px !important; max-width:62px !important;}
  .site-header .lang select{min-width:88px !important; max-width:104px !important; font-size:.85rem !important;}
  .site-header nav a{font-size:.84rem !important; padding:.48rem .5rem !important;}
}


/* Review excerpt proof cards: crawlable, source-labeled and readable. */
.review-excerpts .lead2,
.review-excerpts .review-aggregate-note,
.review-excerpts .review-source-disclaimer,
.review-excerpt-card,
.review-excerpt-card :where(p,blockquote,span,time,strong) {
  color: #111111 !important;
}
.review-excerpt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.review-excerpt-card {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(24,56,38,.11);
  border-radius: 24px;
  box-shadow: 0 14px 40px rgba(17,45,29,.08);
  padding: 24px;
}
.review-excerpt-card blockquote {
  margin: 14px 0;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.35;
  font-weight: 800;
}
.review-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.review-card-meta,
.review-card-source,
.review-aggregate-note,
.review-source-disclaimer {
  color: #273f32 !important;
}
.review-card-source {
  font-size: .92rem;
  opacity: .85;
}
@media (max-width: 920px) {
  .review-excerpt-grid { grid-template-columns: 1fr; }
}


/* Image SEO captions: visible captions strengthen image context for guests, search engines and AI crawlers. */
.gallery figure.image-card{margin:0;display:flex;flex-direction:column;gap:.45rem;background:#fff;border:1px solid rgba(24,56,38,.10);border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(18,32,23,.08)}
.gallery figure.image-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0;box-shadow:none;background:#e9e3d7}
.gallery figure.image-card figcaption{padding:.65rem .8rem .78rem;color:#173321;font-size:.88rem;line-height:1.35;font-weight:700;background:#fff}
.fishing-mini figure.image-card figcaption{font-size:.84rem}
html[dir="rtl"] .gallery figure.image-card figcaption{text-align:right}


/* AI/search entity clarity: compact at-a-glance facts block */
.at-glance{background:#f7f3e8;border:1px solid rgba(22,53,34,.14);border-radius:28px;box-shadow:0 12px 34px rgba(16,36,24,.08);padding:clamp(1.2rem,2vw,2rem);}
.at-glance .facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem;}
.at-glance .fact{background:#fff;border:1px solid rgba(22,53,34,.10);border-radius:18px;padding:1rem;}
.at-glance .fact strong{display:block;color:#102616;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem;}
.at-glance .fact span{color:#111;line-height:1.45;}
.machine-summary{margin-top:1rem;color:#17351f;max-width:74rem;line-height:1.7;}
@media (max-width:900px){.at-glance .facts-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.at-glance .facts-grid{grid-template-columns:1fr;}}

/* Site-wide link contrast refinement
   Purpose: make normal text links readable and visually aligned with the green/cream/gold brand system across all language versions. */
main a:not(.btn):not(.booklink):not(.brand),
.section a:not(.btn):not(.booklink):not(.brand),
.pagehero a:not(.btn):not(.booklink):not(.brand),
.page-hero a:not(.btn):not(.booklink):not(.brand),
.subhero a:not(.btn):not(.booklink):not(.brand),
.card a:not(.btn):not(.booklink):not(.brand),
.place a:not(.btn):not(.booklink):not(.brand),
.contactbox a:not(.btn):not(.booklink):not(.brand),
.route-card a:not(.btn):not(.booklink):not(.brand),
.faqlist a:not(.btn):not(.booklink):not(.brand),
.review a:not(.btn):not(.booklink):not(.brand),
.target-card a:not(.btn):not(.booklink):not(.brand) {
  color: #164b2f !important;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(212, 167, 70, 0.9);
}

main a:not(.btn):not(.booklink):not(.brand):hover,
main a:not(.btn):not(.booklink):not(.brand):focus-visible,
.section a:not(.btn):not(.booklink):not(.brand):hover,
.section a:not(.btn):not(.booklink):not(.brand):focus-visible,
.card a:not(.btn):not(.booklink):not(.brand):hover,
.card a:not(.btn):not(.booklink):not(.brand):focus-visible,
.place a:not(.btn):not(.booklink):not(.brand):hover,
.place a:not(.btn):not(.booklink):not(.brand):focus-visible,
.contactbox a:not(.btn):not(.booklink):not(.brand):hover,
.contactbox a:not(.btn):not(.booklink):not(.brand):focus-visible,
.route-card a:not(.btn):not(.booklink):not(.brand):hover,
.route-card a:not(.btn):not(.booklink):not(.brand):focus-visible,
.faqlist a:not(.btn):not(.booklink):not(.brand):hover,
.faqlist a:not(.btn):not(.booklink):not(.brand):focus-visible,
.review a:not(.btn):not(.booklink):not(.brand):hover,
.review a:not(.btn):not(.booklink):not(.brand):focus-visible,
.target-card a:not(.btn):not(.booklink):not(.brand):hover,
.target-card a:not(.btn):not(.booklink):not(.brand):focus-visible {
  color: #0d321f !important;
  background: rgba(212, 167, 70, 0.18);
  border-radius: 6px;
  outline: 2px solid rgba(212, 167, 70, 0.55);
  outline-offset: 3px;
}

/* Links placed on intentionally dark/green backgrounds need the inverse treatment. */
.cta a:not(.btn):not(.booklink),
.footer a:not(.btn):not(.booklink),
.sticky a:not(.btn):not(.booklink),
.dark a:not(.btn):not(.booklink),
[style*="background:#102719"] a:not(.btn):not(.booklink),
[style*="background: #102719"] a:not(.btn):not(.booklink) {
  color: #f1d18a !important;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(255,255,255,.9);
}

.cta a:not(.btn):not(.booklink):hover,
.cta a:not(.btn):not(.booklink):focus-visible,
.footer a:not(.btn):not(.booklink):hover,
.footer a:not(.btn):not(.booklink):focus-visible,
.dark a:not(.btn):not(.booklink):hover,
.dark a:not(.btn):not(.booklink):focus-visible {
  color: #ffffff !important;
  background: rgba(255,255,255,.12);
  border-radius: 6px;
  outline: 2px solid rgba(241,209,138,.7);
  outline-offset: 3px;
}

/* Preserve the designed button/link CTA palette. */
a.btn,
a.booklink,
.site-header a,
.sticky a {
  text-decoration: none !important;
}

/* Header booking button text contrast fix */
.site-header nav .booklink,
.site-header .booklink,
.header-actions .booklink{
  color:#111111 !important;
}
.site-header nav .booklink:hover,
.site-header nav .booklink:focus-visible,
.site-header .booklink:hover,
.site-header .booklink:focus-visible{
  color:#111111 !important;
}

/* Targeted contrast fix: booking/date helper line in green CTA blocks must be white in every language. */
section.cta .container.ctainner > div > p,
.cta .ctainner p {
  color: #ffffff !important;
  text-shadow: none !important;
}


/* ------------------------------------------------------------
   CONTRAST AUDIT FIX 2026-05-24
   Purpose: correct remaining poor text contrast site-wide while preserving
   existing layout, content, links, SEO, media and multilingual structure.
------------------------------------------------------------ */

/* Dark green sections: all normal copy and headings must be white. */
.cta :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.footer :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.page-hero:not(.fishing-hero) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.subhero :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.dark :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary) {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Light cards and light panels: text must stay dark. */
.card :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.place :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.contactbox :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.route-card :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.review-excerpt-card :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.at-glance :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.faqlist details :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.hero-card :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary) {
  color: #111111 !important;
  text-shadow: none !important;
}

/* The small homepage label sits on a light translucent hero card, so it should not be white. */
.hero-card .kicker,
.hero .hero-card .kicker {
  color: #4f5b52 !important;
  text-shadow: none !important;
}

/* Preserve intended button contrast after the broad dark-section fix. */
.site-header .booklink,
.site-header .booklink *,
.site-header nav .booklink,
.site-header nav .booklink *,
.cta .primary,
.cta .primary *,
.cta .booklink,
.cta .booklink *,
.sticky a,
.sticky a * {
  color: #111111 !important;
}
.cta .secondary,
.cta .secondary *,
.cta .light,
.cta .light *,
.sticky a + a,
.sticky a + a * {
  color: #234d35 !important;
}
.cta .ghost,
.cta .ghost * {
  color: #ffffff !important;
}

/* Footer links remain gold for contrast and brand fit, not low-contrast black. */
.footer a:not(.btn):not(.booklink),
.footer a:not(.btn):not(.booklink) * {
  color: #f1d18a !important;
}
.footer a:not(.btn):not(.booklink):hover,
.footer a:not(.btn):not(.booklink):focus-visible {
  color: #ffffff !important;
}

/* Header remains white-on-green except the booking button, which was requested black. */
.site-header :where(a:not(.booklink),span,label,p,strong) {
  color: #ffffff !important;
}
.site-header select {
  color: #ffffff !important;
  background: #102719 !important;
}
.site-header select option {
  color: #111111 !important;
  background: #ffffff !important;
}

/* Ensure known green proof/CTA helper lines stay readable in every language. */
.cta .ctainner p,
section.cta .container.ctainner > div > p,
.review-source-disclaimer.on-green,
.green-note {
  color: #ffffff !important;
}

/* Targeted review intro contrast fix: make the review hero intro sentence black in every language. */
.review-page .review-hero .lead,
.review-page .pagehero.review-hero .lead,
.review-page .page-hero.review-hero .lead{
  color:#111111 !important;
}

/* ------------------------------------------------------------
   FINAL LIGHT-BACKGROUND CONTRAST FIX
   Purpose: no white text on beige/cream page-intro backgrounds,
   especially the panels directly under the header.
   This is contrast-only: no layout, content, links, SEO, media or
   multilingual structure changes.
------------------------------------------------------------ */
.pagehero,
.pagehero :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.hosts-hero,
.hosts-hero :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.page-hero.fishing-hero,
.page-hero.fishing-hero :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.section:not(.cta):not(.footer):not(.dark) .lead,
.section:not(.cta):not(.footer):not(.dark) .lead2,
.section:not(.cta):not(.footer):not(.dark) .seo-note,
.section:not(.cta):not(.footer):not(.dark) .route-note {
  color: #111111 !important;
  text-shadow: none !important;
}

/* Keep ordinary links on light backgrounds branded but readable. */
.pagehero a:not(.btn):not(.booklink),
.hosts-hero a:not(.btn):not(.booklink),
.page-hero.fishing-hero a:not(.btn):not(.booklink) {
  color: #173321 !important;
  text-decoration-color: #d4a746 !important;
}

/* Preserve dark/green CTA and footer contrast after the light-background fix. */
.cta,
.cta :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.footer,
.footer :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary),
.sticky,
.sticky :where(span,strong,em,small) {
  color: #ffffff !important;
}

/* Preserve requested black text on the header booking button. */
.site-header .booklink,
.site-header .booklink *,
.site-header nav .booklink,
.site-header nav .booklink * {
  color: #111111 !important;
}

/* ------------------------------------------------------------
   REQUESTED TEXT CONTRAST FIX 2026-05-24
   Purpose: make requested text blocks black on light/beige/cream
   backgrounds across all translated language versions.
   This is CSS-only: no content, links, SEO, media or route changes.
------------------------------------------------------------ */
:where(.pagehero,.page-hero,.hosts-hero,.fishing-hero,.hero-card,.card,.place,.contactbox,.route-card,.review,.review-card,.review-excerpt-card,.at-glance,.faqlist details,.target-card,.section:not(.cta):not(.footer):not(.dark)) :where(.lead,.lead2,.intro,.intro-text,.subtitle,.summary,.description,.muted,.seo-note,.route-note,.review-intro,.review-lead,.helper,.helper-text,p,li,span,strong,em,small,blockquote) {
  color: #111111 !important;
  text-shadow: none !important;
}

/* Preserve intentionally dark/green areas after the broad light-section fix. */
:where(.cta,.footer,.sticky,.dark) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary,.lead,.lead2,.intro,.subtitle,.summary,.description,.muted,.seo-note,.route-note,.review-intro,.review-lead,.helper,.helper-text) {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Preserve header palette and the requested black booking button text. */
.site-header :where(a:not(.booklink),span,label,p,strong) {
  color: #ffffff !important;
}
.site-header .booklink,
.site-header .booklink *,
.site-header nav .booklink,
.site-header nav .booklink * {
  color: #111111 !important;
}
.site-header select {
  color: #ffffff !important;
  background: #102719 !important;
}
.site-header select option {
  color: #111111 !important;
  background: #ffffff !important;
}

/* ------------------------------------------------------------
   TARGETED TEXT-BLOCK CONTRAST FIX 2026-05-24
   Requested: the remaining intro/page-heading text blocks under
   headers and in light content sections must be black in every
   language version. This is contrast-only.
------------------------------------------------------------ */
main :where(.pagehero,.page-hero,.hosts-hero,.fishing-hero):not(.cta):not(.footer):not(.dark),
main :where(.pagehero,.page-hero,.hosts-hero,.fishing-hero):not(.cta):not(.footer):not(.dark) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary,.lead,.lead2,.kicker,.subtitle,.intro,.review-intro,.review-lead,.route-note,.seo-note) {
  color: #111111 !important;
  text-shadow: none !important;
}
main :where(.section,.section.alt):not(.cta):not(.footer):not(.dark) :where(.kicker,.lead,.lead2,.intro,.subtitle,.review-intro,.review-lead,.route-note,.seo-note) {
  color: #111111 !important;
  text-shadow: none !important;
}
main :where(.review-page,.faq-page,.hosts-page,.fishing-page,.route-page) :where(.pagehero,.page-hero,.hosts-hero,.fishing-hero) :where(h1,p,.lead,.lead2,.kicker) {
  color: #111111 !important;
  text-shadow: none !important;
}
/* Keep deliberately dark/green conversion areas white. */
main :where(.cta,.footer,.sticky,.dark,.green-section,.dark-section) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,label,summary,.lead,.lead2,.kicker,.subtitle,.intro,.review-intro,.review-lead,.route-note,.seo-note) {
  color: #ffffff !important;
  text-shadow: none !important;
}


/* Availability page */
.availability-panel{display:grid;gap:1.5rem;margin-top:1.5rem}.availability-calendar{background:#fffaf0;border:1px solid rgba(35,77,53,.18);border-radius:24px;padding:1.5rem;box-shadow:0 18px 45px rgba(0,0,0,.08)}.calendar-placeholder{display:grid;gap:.6rem;min-height:180px;align-content:center;justify-items:start;border:1px dashed rgba(35,77,53,.35);border-radius:18px;padding:1.25rem;background:rgba(255,255,255,.72);color:#111}.calendar-placeholder strong{color:#111}.calendar-placeholder span{color:#111;line-height:1.65}.smallnote{margin-top:1rem;color:#111;line-height:1.6}@media(min-width:900px){.availability-panel{grid-template-columns:1fr}.availability-panel .cards{grid-template-columns:repeat(3,1fr)}}


/* Smoobu availability widget */
.availability-widget.smoobu-widget-wrap{background:#fffaf0;border:1px solid rgba(35,77,53,.18);border-radius:24px;box-shadow:0 18px 45px rgba(22,39,30,.10);padding:24px;margin:24px auto;max-width:1120px;overflow:hidden;color:#111}
.availability-widget .calendarWidget,.availability-widget .calendarContent{width:100%;min-height:520px;color:#111}
.availability-widget iframe{width:100%!important;max-width:100%;border:0;border-radius:18px;background:#fff}
@media (max-width: 760px){.availability-widget.smoobu-widget-wrap{padding:12px;border-radius:18px;margin:16px auto}.availability-widget .calendarWidget,.availability-widget .calendarContent{min-height:460px}}

/* Availability calendar widget placement */
.availability-calendar .inline-calendar-widget{margin-top:1rem;background:#fffdf7;border:1px solid rgba(35,77,53,.18);border-radius:22px;padding:1rem;box-shadow:0 14px 34px rgba(35,77,53,.10);overflow:hidden;}
.availability-calendar .calendarWidget,.availability-calendar .calendarContent{max-width:100%;}
[dir="rtl"] .availability-calendar .inline-calendar-widget{text-align:right;}
