.header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center;padding:10px 20px;background:var(--card);height:var(--header-h);}.header input{padding:10px 12px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none;box-shadow:none;border-radius:10px;}.header-campsite-section{display:flex;align-items:start;flex-direction:column;justify-content:center;}.header-campsite-section .campsite-name{display:flex;align-items:center;gap:4px;}.dot{width:8px;height:8px;border-radius:999px;background:#dedede;display:inline-flex;&.yes{background:var(--colour-mid-green);}&.no{background:var(--colour-red);}}.header-campsite-section .campsite-status{z-index:1;position:relative;}.campsite-status .mini-thermometer,.campsite-status .warning-lozenge,.campsite-status .basic{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;margin-right:0.25em;line-height:1;background-color:var(--colour-red);color:white;}.campsite-status .basic{background-color:var(--colour-page-background-light);color:var(--text-light);}.campsite-status .mini-thermometer:hover{background-color:var(--colour-very-dark-green);}.campsite-status .request-activation-btn,.header-menu a.request-activation-btn{border-radius:6px;display:inline-flex;color:white;padding:1px 6px;}.header-menu a.request-activation-btn{margin:4px 0 0 0;padding:4px 8px;}.request-activation-btn{background-color:var(--colour-red);border-color:var(--colour-red);&:hover,&:active,&:focus{background-color:#880302;border-color:#880302;}}.header .btn,.header button{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px;border-radius:12px;cursor:pointer;transition:transform 0.1s ease,background 0.2s,border-color 0.2s;min-height:36px;}.header .btn:hover,.header button:hover{transform:translateY(1px);background:var(--colour-page-background-light);border-color:var(--colour-page-background-light);}.header .btn:focus-visible,.header button:focus-visible{outline:3px solid var(--ring);outline-offset:2px;}.header .icon-btn{display:flex;align-items:center;justify-content:center;}.header .cs-more-btn{width:28px;height:28px;background:white;cursor:pointer;display:grid;place-items:center;font-size:18px;line-height:1;transition:background 0.15s ease;box-shadow:none;border:none;padding:0;border-radius:6px;min-height:unset;}.cs-more-btn::before{content:"";display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:0.8;position:absolute;transition:opacity 0.2s ease,transform 0.2s ease;}.cs-actions.menu-open .cs-more-btn::before{transform:rotate(180deg);}.cs-actions{position:relative;}.cs-menu{position:absolute;top:28px;left:0;min-width:260px;background:white;border:1px solid var(--colour-gray-200);border-radius:10px;box-shadow:0 12px 24px rgba(0,0,0,0.12);padding:12px;display:none;z-index:50;}.cs-actions.menu-open .cs-menu{display:block;}.header-menu p{font-size:smaller;color:var(--text-light);padding:8px 10px;}.header-menu a{font-size:14px;display:flex;align-items:start;padding:8px 10px;border-radius:8px;color:var(--text);flex-direction:column;justify-content:center;line-height:1.2;}.header-menu a.active,.header-menu a:hover{background:var(--colour-page-background-light);text-decoration:none;color:var(--text);}.header-menu a.info{color:var(--colour-mid-blue);}.header-menu a.danger{color:var(--colour-red);}.header-menu .bookable-live{color:var(--colour-mid-green);font-weight:600;}.header-menu hr{border:none;border-top:1px solid var(--border);margin:6px 0;}.campsites-list{list-style:none;padding:0;}.campsites-list li{white-space:nowrap;}.campsites-list li a{flex-direction:row;justify-content:start;gap:0.5em;font-weight:bold;align-items:center;}.campsites-list li a.active{background:var(--colour-page-background-light);text-decoration:none;color:var(--text);}.campsites-list .site-basic a{color:#777;font-weight:normal;}.campsites-list a .state{color:#238338;text-transform:capitalize;}.campsites-list a .state.off{color:inherit;font-weight:normal;}.campsites-list.columns2{display:grid;grid-template-columns:auto auto;grid-auto-rows:auto;column-gap:1em;}.campsites-list.columns3{grid-template-columns:auto auto auto;}.settings{position:relative;}.settings .icon-btn{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 10px;border-radius:12px;cursor:pointer;box-shadow:none;}.settings .icon-btn:hover{background:var(--colour-page-background-light);border-color:var(--colour-page-background-light);}.settings-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:320px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:12px;z-index:70;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 0.18s ease,transform 0.18s ease;}.settings.open .settings-menu{opacity:1;transform:translateY(0);pointer-events:auto;}.settings-menu .menu-section{padding:0 0 12px;}.settings-menu .menu-title{font-size:12px;text-transform:uppercase;letter-spacing:0.3px;color:var(--colour-dark-blue);margin:10px 0 5px;}.settings-menu .menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-top:1px dashed var(--border);}.settings-menu .menu-section .menu-row:last-of-type{border-bottom:1px dashed var(--border);}.settings-menu .menu-list.language{position:relative;top:auto;right:auto;}.settings-menu .menu-list-selected{border-color:var(--border);background:var(--bg);color:var(--text);cursor:pointer;&.has-submenu-caret{padding-right:23px;}&.has-submenu-caret:before{right:7px;}&:hover{background:var(--colour-page-background-light);}}.settings-menu .menu-list-options li:hover,.settings-menu .menu-list-options li:hover a{background:var(--colour-page-background-light);color:var(--text);}.settings-menu label{margin:0;}@media (max-width:720px){.settings-menu{min-width:min(96vw,320px);}}.todo{padding:4px 8px;border-radius:999px;background:var(--colour-page-background-light);font-size:10px;display:inline-flex;line-height:1;align-items:center;}#login-dropdown.settings-menu{opacity:1;pointer-events:auto;transform:translateY(0);}.toggle{position:relative;display:inline-block;width:2.5em;height:1.5em;margin:0;}.toggle input{position:absolute;opacity:0;width:0;height:0;}.toggle .switch-label{font-size:12px;color:var(--muted);}.toggle .slider{position:relative;display:inline-block;background:#d1d5db;border:1px solid var(--border);border-radius:999px;transition:background 0.2s ease,border-color 0.2s ease;cursor:pointer;width:2.5em;height:1.5em;}.toggle .slider::after{content:"";position:absolute;background:var(--card);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,0.5);transition:transform 0.2s ease;bottom:1px;height:calc(1.5em - 4px);left:1px;position:absolute;width:calc(1.5em - 4px);}.toggle input:checked + .slider{background:var(--colour-mid-green);border-color:var(--colour-mid-green);}.toggle input:checked + .slider::after{transform:translateX(1em);}@media (hover:hover){.toggle:hover .slider{background-color:var(--colour-mid-blue);}}.toggle input:disabled + .slider{background-color:var(--colour-page-background);cursor:not-allowed;}.toggle input:disabled + .slider:before{background-color:white;}.switch{display:grid;grid-template-columns:auto 2.5em auto;align-items:center;gap:4px;width:auto;}.primary-nav{position:sticky;top:var(--header-h);z-index:40;background:var(--colour-mid-green);color:white;padding:0 20px;display:flex;align-items:center;justify-content:space-between;.view-on-site{border-radius:9px;border:none;display:inline-flex;gap:0.5em;align-items:center;padding:5px 10px 5px 7px;}.view-on-site img{opacity:0.75;}}@media (max-width:768px){.primary-nav{.view-on-site{position:absolute;top:14px;right:14px;background:none;}.view-on-site span{display:none;}.view-on-site img{filter:invert(1);opacity:1;}}}.primary-nav::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:0 2px 5px rgba(0,0,0,0.3);opacity:0;}@supports (animation-timeline:scroll()){.primary-nav::after{animation:nav-shadow linear both;animation-timeline:scroll();animation-range:0 50px;}@keyframes nav-shadow{from{opacity:0;}to{opacity:1;}}}.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:2px;}.nav-list li{position:relative;}.nav-list a{color:white;text-decoration:none;padding:14px 20px;display:block;position:relative;font-weight:500;transition:background-color 0.2s ease;white-space:nowrap;}.nav-list a:hover{background:var(--colour-dark-green);text-decoration:none;}.nav-list a:focus{outline:none;}.nav-list a:focus-visible{outline:revert;text-decoration:underline;}.nav-list .active > a{background:var(--colour-very-dark-green);}.nav-list li.disabled{cursor:not-allowed;}.nav-list li.disabled a{backdrop-filter:contrast(0.2);opacity:0.5;pointer-events:none;}.nav-list li.open > a,.nav-list a.has-submenu[aria-expanded="true"]{background:var(--colour-very-dark-green);}.has-submenu-caret,.nav-list a.has-submenu{padding-right:36px;position:relative;}.has-submenu-caret::before,.nav-list a.has-submenu::before{content:"";display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:0.8;position:absolute;right:20px;top:47%;transform:translateY(-1px);transition:opacity 0.2s ease,transform 0.2s ease;}.nav-list a.has-submenu:hover::before{opacity:1;}.nav-list a.has-submenu.active::before{opacity:1;}.nav-list li.active > a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--colour-orange);border-radius:2px;}.submenu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:0 0 12px 12px;box-shadow:var(--shadow);padding:8px;}.submenu li{list-style:none;}.submenu a{display:block;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;white-space:nowrap;}.submenu a:hover{background:var(--colour-page-background-light);}.submenu a.active{background:color-mix( in srgb,var(--colour-page-background-light) 60%,transparent );font-weight:600;}.nav-list .submenu .active > a:not(.active){background:transparent;}.nav-list li.active .submenu a::after{content:none;}@media (hover:hover) and (pointer:fine){.nav-list > li:hover > .submenu,.nav-list > li:focus-within > .submenu{display:block;}}.nav-list a.has-submenu[aria-expanded="true"]::before,.nav-list li.open > a.has-submenu::before{transform:translateY(-1px) rotate(180deg);}@media (max-width:768px){.submenu{position:static;display:none;border:none;border-top:1px solid var(--colour-dark-green);border-radius:0;box-shadow:none;padding:6px 10px 10px;background:transparent;}.nav-list li.open > .submenu{display:block;}.submenu a{padding:10px 16px;}}.nav-toggle{display:none;align-items:center;gap:8px;background:none;border:none;color:white;padding:14px;cursor:pointer;font-weight:500;}.nav-toggle svg{width:24px;height:24px;}.header .brand{display:flex;align-items:center;}.brand img{width:28px;height:25px;margin-right:12px;}.brand h1{font-size:16px;margin:0;font-weight:500;letter-spacing:0.2px;color:var(--muted);line-height:1.1;}input.search-input{width:min(320px,60vw);margin-left:auto;}@media (max-width:768px){:root{--header-h:50px;}.header{padding:5px 10px;grid-template-columns:1fr auto auto;gap:9px;}.page-tour-button{display:none;}.brand h1{font-size:12px;}.primary-nav{padding:0;display:block;}.nav-toggle{display:flex;width:100%;justify-content:space-between;}.nav-list{display:none;flex-direction:column;gap:0;}.nav-list.active{display:flex;animation:slideDown 0.3s ease-out;}.nav-list a{padding:16px 20px;border-top:1px solid var(--colour-dark-green);color:white;}.nav-list li.active > a::after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto;border-radius:0;}input.search-input{width:min(70px,30vw);}}@keyframes slideDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}