/* WC300: warm paper, deep sea blue and restrained lime wayfinding. */
:root { --wc300-nav-ink:#173f4d; --wc300-nav-paper:#fcfaf4; --wc300-nav-muted:#536b71; --wc300-nav-line:#dce3df; }
.wc300-mobile-brandbar { display:none; }
.wc300-navigation-dialog, .wc300-navigation-dialog * { box-sizing:border-box; }
.wc300-navigation-dialog { color:var(--wc300-nav-ink); background:var(--wc300-nav-paper); border:0; border-radius:22px; padding:0; width:min(620px,calc(100vw - 40px)); max-width:620px; max-height:calc(100dvh - 48px); margin:auto; box-shadow:0 24px 90px #072b3c55; font-family:Roboto,Arial,sans-serif; }
.wc300-navigation-dialog::backdrop { background:#092b3bcc; backdrop-filter:blur(4px); }
.wc300-dialog-open { overflow:hidden; }
.wc300-menu-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 24px; background:var(--wc300-nav-paper); border-bottom:1px solid var(--wc300-nav-line); position:sticky; top:0; z-index:2; }
.wc300-dialog-brand { display:flex; align-items:center; gap:10px; color:var(--wc300-nav-ink)!important; font-size:11px; font-weight:800; letter-spacing:1.4px; text-decoration:none!important; }
.wc300-dialog-brand img { width:44px;height:44px;object-fit:contain; }
.wc300-navigation-dialog button.wc300-dialog-close { min-height:44px; display:flex; align-items:center; gap:12px; padding:6px 10px; border:0; background:transparent; color:var(--wc300-nav-ink); font-size:14px; font-weight:600; border-radius:8px; cursor:pointer; }
.wc300-dialog-close span { font-size:28px; font-weight:400; }
.wc300-menu-body { padding:26px; }
.wc300-navigation-dialog .wc300-eyebrow { margin:0 0 8px; font-size:10px; letter-spacing:1.7px; font-weight:800; color:#5c7376; }
.wc300-navigation-dialog h2 { font-family:'Roboto Serif',Georgia,serif; font-size:36px; font-weight:500; line-height:1.15; margin:0 0 24px; color:var(--wc300-nav-ink); }
.wc300-map-feature { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px; color:white!important; background:var(--wc300-nav-ink); border-radius:14px; text-decoration:none!important; margin:0 0 20px; }
.wc300-map-feature strong { display:block; font-size:18px; line-height:1.4; }
.wc300-map-feature small { display:block; font-size:12px; line-height:1.6; color:#dce8e5; margin-top:4px; }
.wc300-map-feature > span:last-child { font-size:28px;color:#d5eaa2; }
.wc300-menu-body details { border-bottom:1px solid var(--wc300-nav-line); }
.wc300-menu-body summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:21px 0; color:var(--wc300-nav-ink); font-weight:650; font-size:18px; cursor:pointer; list-style:none; }
.wc300-menu-body summary::-webkit-details-marker, .wc300-desktop-group summary::-webkit-details-marker { display:none; }
.wc300-menu-body summary span { color:#547d76;font-size:24px;font-weight:400; transition:transform .15s; }
.wc300-menu-body details[open] > summary span { transform:rotate(45deg); }
.wc300-menu-links { padding:0 0 15px; }
.wc300-menu-links a, .wc300-extension-preview { display:block; padding:13px 12px; border-radius:8px; color:var(--wc300-nav-ink)!important; font-size:15px; font-weight:600; line-height:1.45; text-decoration:none!important; }
.wc300-menu-links small, .wc300-extension-preview small { display:block; font-size:12px; font-weight:400; color:var(--wc300-nav-muted); margin-top:3px; line-height:1.55; }
.wc300-menu-links a:hover, .wc300-menu-account a:hover, .wc300-dialog-close:hover { background:#eaf0e5!important; }
.wc300-extension-preview { border-top:1px solid #e6e9e3; }
.wc300-extension-preview em { display:block; margin-top:4px; font-size:10px; font-style:normal; font-weight:500; color:#657573; text-transform:uppercase; letter-spacing:.7px; }
.wc300-menu-note { color:var(--wc300-nav-muted); font-size:13px; line-height:1.65; margin:8px 12px 14px; }
.wc300-menu-account { margin-top:22px; }
.wc300-menu-account a { display:block; padding:16px; border:1px solid #cddbd3; border-radius:12px; color:var(--wc300-nav-ink)!important; font-size:17px; font-weight:700; text-decoration:none!important; }
.wc300-menu-account small { display:block; font-weight:400; font-size:12px; margin-top:5px; color:var(--wc300-nav-muted); }
.wc300-menu-footer { font-size:11px; color:#637d7a; margin:23px 0 0; text-align:center; line-height:1.6; }
.wc300-navigation-dialog :focus-visible, .wc300-refreshed-header :focus-visible { outline:3px solid #b27c12!important; outline-offset:4px; }
.wc300-desktop-group { position:relative; }
.wc300-desktop-group > summary { list-style:none; cursor:pointer; padding:13px 20px; display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600; letter-spacing:.6px; color:white; text-transform:uppercase; line-height:20px; }
.wc300-desktop-group > summary > span { font-size:16px; color:#aac64f; }
.wc300-desktop-group[open] > summary { color:#bed879; }
.wc300-desktop-group > .wc300-menu-links { position:absolute; top:100%; right:0; width:350px; max-height:min(650px,75vh); overflow-y:auto; background:var(--wc300-nav-paper); border:1px solid var(--wc300-nav-line); border-radius:12px; box-shadow:0 15px 35px #12384430; padding:12px; z-index:10000; }
.wc300-desktop-group .wc300-menu-note { white-space:normal; }
.wc300-desktop-group .wc300-menu-links a { white-space:normal!important; display:block!important; padding:12px!important; font-size:14px!important; }
#wc300-drive-route, #wc300-drive-route * { cursor:pointer!important; }
body #wc300-drive-route { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 20px; font-family:Roboto,Arial,sans-serif; font-size:15px!important; line-height:1.35; font-weight:700; letter-spacing:.2px; border:0; border-radius:24px; background:#95c11f; color:#173f4d; text-decoration:none; white-space:normal; }
body #wc300-drive-route .elementor-button-content-wrapper { align-items:center;gap:9px; }
body #wc300-drive-route .elementor-button-icon { width:12px; }
body #wc300-drive-route svg { width:12px;fill:currentColor; }
body #wc300-drive-route:hover { background:#accf50;box-shadow:0 4px 12px #173f4d22; }
body #wc300-drive-route:focus-visible { outline:3px solid #173f4d;outline-offset:4px; }
body.home .elementor-element-4a4236f { display:grid!important; grid-template-columns:minmax(0,1.3fr) minmax(0,1.35fr) minmax(0,.75fr); gap:24px; align-items:stretch; width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
body.home .elementor-element-4a4236f > .elementor-element { width:100%!important;min-width:0;max-width:none; }
body.home .elementor-element-4a4236f > .elementor-element-a873361 { display:none!important; }
body.home .elementor-element-901d612 { display:flex;flex-direction:column;justify-content:center; }
body.home .elementor-element-76af64d h2 { font-size:24px;line-height:1.3;margin-bottom:18px; }
body.home .elementor-element-dc7a3b1 { display:flex;gap:10px;align-items:stretch; }
body.home .elementor-element-dc7a3b1 > .e-con { flex:1;min-width:0;width:auto!important; }
body.home .elementor-element-dc7a3b1 button { cursor:pointer;min-height:44px; }
body.home .elementor-element-dc7a3b1 button:focus-visible { outline:3px solid #173f4d;outline-offset:3px; }
body.home .elementor-element-516738d a { display:inline-flex;align-items:center;min-height:44px;color:#24515a!important;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer; }
.wc300-duration-dialog .wc300-menu-body > p { font-size:15px;line-height:1.7; }
.wc300-duration-days { list-style:none;margin:24px 0;padding:0; }
.wc300-duration-days li { padding:16px 0;border-top:1px solid var(--wc300-nav-line); }
.wc300-duration-days small { display:block;font-size:10px;letter-spacing:1px;color:#5c746d;font-weight:700; }
.wc300-duration-days a { display:block;color:var(--wc300-nav-ink);font-size:17px;font-weight:700;line-height:1.5;margin:5px 0;text-decoration:underline;text-underline-offset:4px; }
.wc300-duration-days p { font-size:14px;line-height:1.6;color:var(--wc300-nav-muted);margin:0; }
@media (min-width:768px) and (max-width:1100px) {
  body.home .elementor-element-4a4236f {grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:calc(100% - 40px);}
  body.home .elementor-element-0f2a9bd { grid-column:1/-1; }
}
@media (max-width:767px) {
  body.wc300-navigation-ready { --wc300-brand-height:76px; }
  body.wc300-navigation-ready .elementor-location-header.wc300-refreshed-header { position:sticky!important;top:0;z-index:9990;height:auto!important;min-height:var(--wc300-brand-height);width:100%;background:var(--wc300-nav-paper)!important;box-shadow:0 2px 16px #113b4b10; }
  body.wc300-navigation-ready.admin-bar .elementor-location-header.wc300-refreshed-header { top:46px; }
  body.wc300-navigation-ready.admin-bar #wpadminbar { position:fixed!important; }
  .wc300-refreshed-header > .elementor-element:not(.wc300-mobile-brandbar) { display:none!important; }
  body.wc300-navigation-ready .elementor-location-header > .wc300-mobile-brandbar { position:relative!important;top:auto!important;left:auto!important;display:flex!important;align-items:center;gap:10px;height:var(--wc300-brand-height);min-height:var(--wc300-brand-height)!important;padding:10px 16px!important; background:var(--wc300-nav-paper)!important;border-bottom:1px solid #dce3df; width:100%; }
  .wc300-mobile-brandbar .wc300-brand { display:flex;align-items:center;gap:9px;min-width:0;margin-right:auto;color:var(--wc300-nav-ink);text-decoration:none; }
  .wc300-brand img { width:48px;height:48px;object-fit:contain;flex-shrink:0; }
  .wc300-brand strong { display:block;font-family:'Roboto Serif',Georgia,serif;font-weight:600;font-size:14px;line-height:1.35;white-space:nowrap; }
  .wc300-brand small { display:block;font-family:Roboto,Arial,sans-serif;font-size:9px;letter-spacing:.1px;color:#617777;line-height:1.5;margin-top:2px;white-space:nowrap; }
  .wc300-header-map,.wc300-menu-open { display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:44px;min-height:48px;padding:6px 9px!important;border:0!important;border-radius:10px!important;font-family:Roboto,Arial,sans-serif;font-size:10px!important;font-weight:650;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;text-decoration:none!important; }
  .wc300-header-map { background:#e8efdf;color:var(--wc300-nav-ink)!important; }
  .wc300-menu-open { background:var(--wc300-nav-ink)!important;color:#fff!important; }
  .wc300-header-map svg,.wc300-menu-open svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
  body .wc300-refreshed-header .wc300-mobile-mode-slot { position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:7px 16px!important;display:flex;justify-content:center;background:var(--wc300-nav-paper); }
  body .wc300-refreshed-header .wc300-mobile-mode-slot .wc300-mode-switch { position:static!important;width:100%!important;margin:0!important; }
  .wc300-navigation-dialog { width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0; }
  .wc300-menu-top { padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top)); }
  .wc300-menu-body { padding:26px 24px max(28px,env(safe-area-inset-bottom)); }
  .wc300-navigation-dialog h2 { font-size:33px; }
  .wc300-dialog-brand span { font-size:10px; }
  body.home .elementor-element-4a4236f { display:flex!important;flex-direction:column;gap:26px;width:calc(100% - 32px);padding-block:28px!important; }
  body.home .elementor-element-901d612 { padding:12px 0!important; }
  body.home .elementor-element-dc7a3b1 { gap:8px!important; }
  body.home .elementor-element-dc7a3b1 > .e-con { padding:12px 7px!important; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-title { font-size:22px!important; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-description {font-size:12px!important;line-height:1.45!important; }
  body.home .elementor-element-dc7a3b1 button {font-size:10px!important;line-height:1.4!important;padding:9px 5px!important; }
  body.home .elementor-element-76af64d h2 {font-size:26px!important; }
}
@media (max-width:360px) {
  .wc300-brand strong {font-size:12px;}
  .wc300-brand small {font-size:8px;}
  .wc300-brand img {width:40px;height:40px;}
  body.wc300-navigation-ready .elementor-location-header > .wc300-mobile-brandbar {gap:7px;padding-inline:12px!important;}
}
@media (prefers-reduced-motion:reduce) {.wc300-menu-body summary span {transition:none;}}
@media (max-width:767px) {
  body.wc300-navigation-ready.wc300-map-page .elementor-location-header.wc300-refreshed-header {
    display:flex!important;flex-direction:column!important;position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:0!important;
  }
  body.wc300-navigation-ready.wc300-map-page .elementor-location-header.wc300-refreshed-header > .wc300-mobile-brandbar.elementor-element {
    position:relative!important;inset:auto!important;order:0!important;flex:0 0 76px!important;transform:none!important;z-index:2!important;
  }
  body.wc300-navigation-ready.wc300-map-page .elementor-location-header.wc300-refreshed-header > .wc300-mobile-mode-slot { order:1!important;flex:0 0 auto!important; }
}
@media (max-width:767px) {
  body.wc300-navigation-ready.wc300-map-page .elementor-location-header.wc300-refreshed-header > #wc300-mobile-brandbar { background:#fcfaf4!important;padding:10px 16px!important; }
  body.wc300-navigation-ready.wc300-map-page.admin-bar .elementor-location-header.wc300-refreshed-header { padding-top:0!important; }
}

@media (max-width:767px) {
  body.home .elementor-element-dc7a3b1 { flex-direction:column!important;gap:14px!important; }
  body.home .elementor-element-dc7a3b1 > .e-con { width:100%!important;flex:auto!important;padding:18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 100px;gap:16px;align-items:center; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-wrapper { display:flex;gap:14px;text-align:left;align-items:flex-start; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-icon { margin:0!important; }
  body.home .elementor-element-dc7a3b1 .elementor-icon { font-size:28px!important; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-title { margin:0 0 6px!important;font-size:23px!important; }
  body.home .elementor-element-dc7a3b1 .elementor-icon-box-description {font-size:13px!important;}
  body.home .elementor-element-dc7a3b1 button {min-height:48px;font-size:11px!important;}
}

body.home .elementor-element-4a4236f > [data-id="a873361"] { display:none!important; }
@media(max-width:767px) {
 body.home .elementor-element-dc7a3b1 button { align-self:center!important;height:auto!important; }
}

body.home .elementor-element-dc7a3b1 > .e-con::before, body.home .elementor-element-dc7a3b1 > .e-con::after { pointer-events:none!important; }

/* Floating mobile navigation: keep the page in view and make choices compact. */
.wc300-nav-symbol { display:none; }
.wc300-menu-body summary strong { font:inherit; }
.wc300-desktop-group summary strong { font:inherit; }
@media(max-width:767px) {
 #wc300-navigation-dialog { --wc300-panel-top:88px; width:calc(100% - 32px);max-width:410px;height:auto;max-height:calc(100dvh - var(--wc300-panel-top) - max(20px, env(safe-area-inset-bottom)));inset:var(--wc300-panel-top) 16px auto auto;margin:0;border:1px solid #ffffff88;border-radius:22px;box-shadow:0 20px 60px #08293266;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; }
 body.admin-bar #wc300-navigation-dialog { --wc300-panel-top:134px; }
 #wc300-navigation-dialog::backdrop { background:#092b3b66;backdrop-filter:blur(2px); }
 #wc300-navigation-dialog .wc300-menu-top { padding:10px 14px;background:#173f4d;border:0; }
 #wc300-navigation-dialog .wc300-dialog-brand {color:#fff!important;gap:8px;}
 #wc300-navigation-dialog .wc300-dialog-brand span {font-size:9px;letter-spacing:1.1px;}
 #wc300-navigation-dialog .wc300-dialog-brand img {width:36px;height:36px;}
 #wc300-navigation-dialog .wc300-dialog-close {color:white;background:#ffffff12;border:1px solid #ffffff26;padding:4px 9px;gap:8px;font-size:12px;min-width:70px;}
 #wc300-navigation-dialog .wc300-dialog-close:hover {background:#ffffff25!important;}
 #wc300-navigation-dialog .wc300-menu-body {padding:20px 16px 17px;}
 #wc300-navigation-dialog .wc300-eyebrow {font-size:9px;letter-spacing:1.8px;color:#58726e;margin-bottom:7px;}
 #wc300-navigation-dialog h2 {font-size:25px;line-height:1.2;margin-bottom:17px;letter-spacing:-.5px;}
 #wc300-navigation-dialog .wc300-map-feature {position:relative;isolation:isolate;overflow:hidden;margin-bottom:18px;padding:16px;background:#dcecaa;color:#173f4d!important;border:1px solid #b5ce78;border-radius:14px;}
 #wc300-navigation-dialog .wc300-map-feature::before {content:'';position:absolute;z-index:-1;width:170px;height:170px;right:-35px;top:-65px;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 17px,#416b4020 18px 19px,transparent 20px 27px);transform:rotate(-20deg);pointer-events:none;}
 #wc300-navigation-dialog .wc300-map-feature strong {font-size:18px;}
 #wc300-navigation-dialog .wc300-map-feature small {font-size:12px;color:#375549;max-width:215px;}
 #wc300-navigation-dialog .wc300-map-feature > span:last-child {color:#234c3b;font-size:27px;}
 #wc300-navigation-dialog nav {display:grid;gap:8px;}
 #wc300-navigation-dialog details {border:1px solid #d9e3da;background:#fffefa;border-radius:12px;overflow:hidden;}
 #wc300-navigation-dialog summary {display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:10px;padding:15px 12px;min-height:61px;}
 #wc300-navigation-dialog summary strong {font-size:15px;font-weight:650;line-height:1.4;}
 #wc300-navigation-dialog summary > span {font-size:22px;line-height:1;text-align:center;}
 #wc300-navigation-dialog .wc300-nav-symbol {display:block;width:26px;height:26px;fill:none;stroke:#47796b;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
 #wc300-navigation-dialog details[open] {border-color:#739c8c;box-shadow:inset 3px 0 #47796b;}
 #wc300-navigation-dialog details[open] summary {background:#edf3e7;}
 #wc300-navigation-dialog .wc300-menu-links {padding:4px 8px 10px;}
 #wc300-navigation-dialog .wc300-menu-links a {padding:12px 10px;min-height:46px;font-size:14px;}
 #wc300-navigation-dialog .wc300-menu-links a + a {border-top:1px solid #e8ede5;border-radius:0;}
 #wc300-navigation-dialog .wc300-menu-note {font-size:12px;margin:9px 10px;}
 #wc300-navigation-dialog .wc300-menu-account {margin-top:14px;}
 #wc300-navigation-dialog .wc300-menu-account a {padding:13px 14px;border:0;background:#e9eee7;font-size:15px;border-radius:12px;}
 #wc300-navigation-dialog .wc300-menu-account small {font-size:11px;margin-top:3px;}
 #wc300-navigation-dialog .wc300-menu-footer {font-size:10px;margin-top:14px;}
 #wc300-navigation-dialog[open] {animation:wc300-panel-enter .18s ease-out;transform-origin:top right;}
 @keyframes wc300-panel-enter {from {opacity:0;transform:translateY(-8px) scale(.985);}to {opacity:1;transform:none;}}
}
@media(max-width:360px) {
 #wc300-navigation-dialog {width:calc(100% - 24px);right:12px;}
 #wc300-navigation-dialog .wc300-menu-body {padding:17px 12px 14px;}
 #wc300-navigation-dialog h2 {font-size:23px;}
 #wc300-navigation-dialog summary {gap:8px;padding-inline:10px;}
 #wc300-navigation-dialog summary strong {font-size:14px;}
}
@media(max-width:767px) and (max-height:640px) {
 body #wc300-navigation-dialog,body.admin-bar #wc300-navigation-dialog {--wc300-panel-top:16px;}
}
@media(prefers-reduced-motion:reduce) {#wc300-navigation-dialog[open] {animation:none;}}

@media(max-width:767px) {
 #wc300-navigation-dialog {scroll-padding-top:84px;}
 #wc300-navigation-dialog .wc300-menu-account a {position:relative;padding-right:36px;}
 #wc300-navigation-dialog .wc300-menu-account a::after {content:'→';position:absolute;right:14px;top:14px;font-size:20px;color:#47796b;}
 #wc300-navigation-dialog .wc300-menu-links a[aria-current="page"], #wc300-navigation-dialog .wc300-menu-account a[aria-current="page"] {background:#e5efd8!important;box-shadow:inset 3px 0 #47796b;}
 #wc300-navigation-dialog summary:hover {background:#f0f4e9;}
 #wc300-navigation-dialog .wc300-map-feature:hover {background:#d0e596;}
}

/* The segment navigation overlays the page rather than reserving a blank row. */
body.single-route_segment .elementor-element-46ec1b2 {gap:0!important;padding-bottom:8px!important;min-height:0!important;}
body.single-route_segment .elementor-element-a19355a {padding-bottom:0!important;}
body.single-route_segment .wc300-segment-nav-links {position:fixed!important;}
body.single-route_segment #route-overview {margin-top:16px!important;}

/* Logo-led mobile toolbar: four visible, labelled destinations. */
@media(max-width:767px) {
 body.wc300-navigation-ready .elementor-location-header > #wc300-mobile-brandbar {padding:8px 12px!important;gap:12px;background:#fcfaf4f5!important;backdrop-filter:blur(12px);}
 #wc300-mobile-brandbar .wc300-brand {margin:0;flex:0 0 56px;}
 #wc300-mobile-brandbar .wc300-brand img {width:56px;height:56px;filter:drop-shadow(0 2px 3px #153f4b20);}
 #wc300-mobile-brandbar .wc300-topbar-actions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;flex:1;min-width:0;padding:4px;border:1px solid #d2ded4;border-radius:19px;background:linear-gradient(160deg,#fffefb,#e8eee5);box-shadow:inset 0 1px #ffffff,0 3px 10px #123b4210;}
 #wc300-mobile-brandbar .wc300-topbar-actions > a, #wc300-mobile-brandbar .wc300-topbar-actions > button {display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;margin:0;padding:5px 2px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#173f4d!important;font-family:Roboto,Arial,sans-serif;font-size:11px!important;line-height:1.2!important;font-weight:650;letter-spacing:0;text-decoration:none;text-transform:none;cursor:pointer;}
 #wc300-mobile-brandbar .wc300-topbar-actions svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
 #wc300-mobile-brandbar .wc300-topbar-actions > [aria-current], #wc300-mobile-brandbar .wc300-topbar-actions > [aria-expanded="true"] {background:#173f4d!important;color:#fff!important;box-shadow:0 2px 5px #123b4320;}
 #wc300-mobile-brandbar .wc300-topbar-actions > :hover {background:#dce9cc!important;color:#173f4d!important;}
}
@media(max-width:360px) {
 body.wc300-navigation-ready .elementor-location-header > #wc300-mobile-brandbar {gap:8px;padding-inline:10px!important;}
 #wc300-mobile-brandbar .wc300-brand {flex-basis:50px;}
 #wc300-mobile-brandbar .wc300-brand img {width:50px;height:50px;}
}
/* Connect overview photograph, title and introductory copy visually. */
body.single-route_segment #route-overview {gap:12px!important;}
body.single-route_segment #route-overview > .elementor-widget-heading {margin:8px 0 0!important;padding:0!important;}
body.single-route_segment #route-overview > .elementor-widget-heading h2 {margin:0!important;}
body.single-route_segment #route-overview > .elementor-element-e06141c {padding-top:4px!important;padding-bottom:12px!important;}

body.single-route_segment #route-overview .elementor-element-a7b1463 .wc300-acf-gallery {margin-bottom:0!important;}

/* Route opens a focused chooser directly beneath the mobile toolbar. */
@media(max-width:767px) {
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-body > .wc300-map-feature,
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) details:not([data-menu-group="route"]),
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) [data-menu-group="route"] > summary,
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-account,
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-footer {display:none;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) [data-menu-group="route"] {border:0;box-shadow:none;background:transparent;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-links {padding:0;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-links a {padding:11px 10px;min-height:44px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-links a:first-child {background:#e6efd5;border-radius:10px;margin-bottom:7px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) h2 {font-size:23px;margin-bottom:12px;}
}

@media(max-width:767px) {
 /* The sticky header occupies its own space; remove old fixed-header compensation. */
 body.wc300-navigation-ready:not(.wc300-map-page) {padding-top:0!important;}
 body.wc300-navigation-ready.single-route_segment .elementor-element-a86cdbe {margin-top:0!important;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) {inset:var(--wc300-route-top,81px) 12px auto auto;width:calc(100% - 24px);max-height:var(--wc300-route-height,75dvh);z-index:10020;border:1px solid #c5d4c7;border-radius:16px;box-shadow:0 14px 35px #123b4340;animation:none;scroll-padding-top:56px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-top {background:#fcfaf4;color:#173f4d;padding:7px 10px 7px 16px;border-bottom:1px solid #dce3df;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-top::before {content:'WC300 Core Route';font-family:Georgia,serif;font-size:20px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-dialog-brand {display:none;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-dialog-close {background:#e8eee5;color:#173f4d;border:0;min-width:62px;min-height:44px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-body {padding:10px 12px 12px;}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) h2 {display:none;}
 .wc300-route-pointer:not([hidden]) {position:fixed;z-index:10021;width:16px;height:16px;background:#fcfaf4;border-left:1px solid #c5d4c7;border-top:1px solid #c5d4c7;transform:rotate(45deg);pointer-events:none;}
}
.wc300-route-pointer[hidden] {display:none;}

/* One desktop disclosure system, including Route and member navigation. */
@media(min-width:768px){
 .wc300-refreshed-header .wc300-desktop-group > summary {font-weight:700;gap:10px;white-space:nowrap;}
 .wc300-refreshed-header .wc300-desktop-chevron {display:block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin:0 0 4px 3px;}
 .wc300-refreshed-header .wc300-desktop-group[open] .wc300-desktop-chevron {transform:rotate(225deg);margin-bottom:0;}
 .wc300-refreshed-header .wc300-desktop-group > .wc300-menu-links {width:350px;max-width:calc(100vw - 32px);padding:12px;border-radius:12px;background:#fcfaf4;}
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links a {font-family:Roboto,Arial,sans-serif;line-height:1.45!important;font-weight:650!important;border:0!important;border-radius:8px!important;color:#173f4d!important;}
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links a:hover,
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links a:focus-visible,
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links a[aria-current] {font-weight:800!important;background:#e3edcf!important;color:#102f39!important;}
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links a > span {font-weight:inherit!important;}
 .wc300-refreshed-header .wc300-desktop-group .wc300-menu-links small {font-weight:400!important;}
 .wc300-refreshed-header .elementor-nav-menu--main > ul > li > a:hover,
 .wc300-refreshed-header .elementor-nav-menu--main > ul > li > a.elementor-item-active,
 .wc300-refreshed-header .wc300-desktop-group[open] > summary {font-weight:800!important;color:#c7e18c!important;}
}
/* Give the phone more of the promotional card, with its base on the card edge. */
body.home .elementor-element-9bccac1 {align-items:stretch!important;flex:1;}
body.home .elementor-element-521db54 {width:44%!important;flex:0 0 44%!important;padding-bottom:24px!important;}
body.home .elementor-element-46bc27a {width:56%!important;flex:1 1 56%!important;min-height:280px;background-size:contain!important;background-position:center bottom!important;}
@media(max-width:767px){
 body.home .elementor-element-46bc27a {min-height:270px;}
}

.wc-footer-compact .wc-footer-map{border:1px solid #fff!important;border-radius:999px!important;color:#fff!important}
@media(max-width:767px){#wc300-mobile-brandbar .wc300-topbar-actions{grid-template-columns:repeat(5,minmax(0,1fr))}#wc300-mobile-brandbar .wc300-topbar-actions>.wc300-extensions-open{font-size:9px!important;gap:1px}#wc300-mobile-brandbar .wc300-topbar-actions>.wc300-extensions-open svg{width:18px;height:18px}}

.wc-footer-compact__bottom p:last-child{display:none}
@media(max-width:767px){
 .wc-footer-compact .wc-footer-compact__menus{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
 .wc-footer-compact .wc-footer-compact__menus details{min-width:0;margin:0!important}
 .wc-footer-compact .wc-footer-compact__menus summary{font-size:14px;padding-block:12px}
 .wc-footer-compact .wc-footer-compact__top{padding-bottom:16px}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]){background:#f7f5ee!important;border:1px solid #c9dcd4;border-radius:20px;box-shadow:0 18px 45px #0b3c5d40}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-top{background:#174f5f;color:#fff;border:0;padding:12px 16px}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-top::before{font:500 20px/1.2 'Roboto Serif',Georgia,serif}
 #wc300-navigation-dialog[data-nav-view="extensions"] .wc300-menu-top::before{content:'WC300+ Extensions'}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-dialog-close{border-radius:999px;background:#95c11f;color:#fff}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-links a{background:#fff;border:1px solid #dbe5dd;border-radius:12px;margin:0 0 8px;padding:13px 14px;box-shadow:0 2px 4px #174f5f05}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"]) .wc300-menu-links a::after{content:'↗';float:right;color:#1fa3a6}
 #wc300-navigation-dialog[data-nav-view="extensions"] details[data-menu-group="extensions"]{display:block!important;background:transparent;border:0;box-shadow:none}
 #wc300-navigation-dialog[data-nav-view="extensions"] details[data-menu-group="route"],#wc300-navigation-dialog[data-nav-view="extensions"] details>summary{display:none!important}
 .wc300-route-pointer:not([hidden]){background:#174f5f;border-color:#174f5f}
}

@media(max-width:767px){#wc300-navigation-dialog[data-nav-view="extensions"] .wc300-extension-preview{background:#fff;border:1px solid #dbe5dd;border-radius:12px;padding:13px 14px;margin:0 0 8px}#wc300-navigation-dialog[data-nav-view="extensions"] .wc300-extension-preview em{display:inline-block;background:#eef3e8;color:#52705c;border-radius:999px;padding:3px 7px;margin-top:6px;font-size:9px;font-style:normal;letter-spacing:.04em}}

.wc300-route-pointer{display:none!important}

@media(max-width:767px){
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"])[open]{position:fixed!important;display:block!important;visibility:visible!important;opacity:1!important;margin:0!important;top:var(--wc300-route-top,81px)!important;right:12px!important;bottom:auto!important;left:auto!important}
 #wc300-navigation-dialog:is([data-nav-view="route"],[data-nav-view="extensions"])::backdrop{background:#0b3c5d22;backdrop-filter:none}
}

/* Attached mobile disclosures: one continuous sea-blue navigation surface. */
#wc300-mobile-dropdown[hidden]{display:none!important}
@media(max-width:767px){
 body.wc300-navigation-ready .elementor-location-header.wc300-refreshed-header,
 body.wc300-navigation-ready .elementor-location-header > #wc300-mobile-brandbar,
 body.wc300-navigation-ready.wc300-map-page .elementor-location-header > #wc300-mobile-brandbar{
  background:#173f4d!important;overflow:visible!important;
 }
 body.wc300-navigation-ready .elementor-location-header > #wc300-mobile-brandbar{border-bottom:0;backdrop-filter:none;padding:8px 12px!important;gap:10px}
 #wc300-mobile-brandbar .wc300-topbar-actions{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;gap:2px}
 #wc300-mobile-brandbar .wc300-topbar-actions > a,#wc300-mobile-brandbar .wc300-topbar-actions > button{color:#f8faf7!important;min-height:52px;border-radius:9px!important;position:relative}
 #wc300-mobile-brandbar .wc300-topbar-actions > [aria-current]{background:#ffffff12!important;color:#d7eda6!important;box-shadow:none}
 #wc300-mobile-brandbar .wc300-topbar-actions > [aria-expanded="true"]{background:#ffffff18!important;color:#e2f4bb!important;box-shadow:none}
 #wc300-mobile-brandbar .wc300-topbar-actions > [aria-expanded="true"]::after{content:'';position:absolute;bottom:-8px;left:20%;right:20%;height:3px;border-radius:2px;background:#c7e18c}
 #wc300-mobile-brandbar .wc300-topbar-actions > :hover{background:#ffffff18!important;color:#fff!important}
 #wc300-mobile-brandbar .wc300-topbar-actions > :focus-visible,#wc300-mobile-dropdown :focus-visible{outline:2px solid #d7eda6!important;outline-offset:-3px}
 #wc300-mobile-brandbar .wc300-route-open > span > span{display:none}
 #wc300-mobile-dropdown{position:absolute;inset:100% 0 auto;z-index:10;box-sizing:border-box;width:100%;max-height:var(--dropdown-room,70dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;color:#fff;background:#173f4d;border-top:1px solid #ffffff21;border-radius:0 0 16px 16px;box-shadow:0 16px 24px #102d3830;padding:0 16px max(12px,env(safe-area-inset-bottom));font-family:Roboto,Arial,sans-serif;text-align:left;animation:wc300-dropdown-reveal .14s ease-out}
 #wc300-mobile-dropdown .wc300-dropdown-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;position:sticky;top:0;background:#173f4d;z-index:1;border-bottom:1px solid #ffffff21}
 #wc300-mobile-dropdown h2{font:600 16px/1.4 Roboto,Arial,sans-serif;letter-spacing:0;color:#e4edee;margin:0;padding:8px}
 #wc300-mobile-dropdown button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#fff;padding:0;font:300 28px/1 Arial,sans-serif;cursor:pointer}
 #wc300-mobile-dropdown nav{display:block;margin:0;padding:4px 0 0}
 #wc300-mobile-dropdown nav > a,#wc300-mobile-dropdown .wc300-dropdown-unavailable{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 8px;border:0;border-bottom:1px solid #ffffff16;border-radius:0;color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:500;line-height:1.4;box-sizing:border-box}
 #wc300-mobile-dropdown nav > :last-child{border-bottom:0}
 #wc300-mobile-dropdown nav > a:hover,#wc300-mobile-dropdown button:hover{background:#ffffff12}
 #wc300-mobile-dropdown nav > a[aria-current]{background:#ffffff12;border-radius:6px;box-shadow:inset 3px 0 #c7e18c;color:#e2f4bb!important}
 #wc300-mobile-dropdown .wc300-dropdown-unavailable{color:#bdcdd2!important}
 #wc300-mobile-dropdown .wc300-dropdown-status{flex:0 0 auto;font-size:11px;font-weight:400;color:#bdcdd2}
 @keyframes wc300-dropdown-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}
@media(max-width:360px){
 body.wc300-navigation-ready .elementor-location-header > #wc300-mobile-brandbar{padding-inline:8px!important;gap:6px}
 #wc300-mobile-brandbar .wc300-brand{flex-basis:44px}
 #wc300-mobile-brandbar .wc300-brand img{width:44px;height:44px}
 #wc300-mobile-dropdown{padding-inline:12px}
}
@media(min-width:768px){#wc300-mobile-dropdown{display:none!important}}
@media(prefers-reduced-motion:reduce){#wc300-mobile-dropdown{animation:none!important}}

/* Keep all five mobile destination labels on one line at a consistent size. */
@media(max-width:767px){#wc300-mobile-brandbar .wc300-topbar-actions>.wc300-extensions-open{font-size:11px!important;gap:3px}#wc300-mobile-brandbar .wc300-topbar-actions>.wc300-extensions-open svg{width:21px;height:21px}}

/* Immediate confirmation after a mobile destination is selected. */
#wc300-navigation-status{position:absolute;top:100%;left:0;right:0;padding:10px 16px;background:#173f4d;color:#fff;border-top:1px solid #ffffff26;font:500 14px/1.4 Roboto,Arial,sans-serif;box-shadow:0 6px 12px #123b4326;pointer-events:none}
#wc300-navigation-status[hidden]{display:none!important}

/* The fixed mobile map leaves only the header in normal flow. Keep its
   dropdowns inside the body clip and above the separate mode-switch layer. */
@media(max-width:767px){
 html.wc300-mobile-map-active body.wc300-map-page{min-height:100vh;min-height:100dvh}
 body.wc300-navigation-ready.wc300-map-page .elementor-location-header > #wc300-mobile-brandbar{z-index:1001!important}
}
