/* Minimal modern styles */
:root{--bg:#ffffff;--muted:#677281;--accent:#0b7285}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.4;color:#0f1724;background:linear-gradient(180deg,#f7fafc,#fff)}
.site-header{position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:center;z-index:40}
.nav{width:100%;max-width:1100px;padding:0 20px;display:flex;justify-content:space-between;align-items:center}
.brand{font-weight:600}
.admin-link{font-size:14px;color:var(--muted);text-decoration:none}
.hero{height:100vh;display:flex;align-items:center;justify-content:flex-start;background-size:cover;background-position:center;position:relative}
.hero-overlay{background:transparent;padding:48px;border-radius:8px;color:var(--font-color);text-align:left;max-width:90%}
.hero-title{font-size:clamp(28px,6vw,56px);margin:0}
.hero-subtitle{margin-top:8px;color:var(--font-color)}
.content{max-width:1100px;margin:40px auto;padding:0 20px}
.intro{margin-bottom:32px;font-size:18px;color:var(--muted)}
.slideshow{position:relative;height:420px;border-radius:10px;overflow:hidden;background:#e6edf2}
.slides{height:100%;display:flex}
.slide{flex:1 0 100%;background-size:cover;background-position:center;transition:transform .6s ease;min-width:100%}
.slide-controls{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;padding:0 8px;transform:translateY(-50%)}
.slide-controls button{background:rgba(0,0,0,0.45);color:#fff;border:0;padding:10px 14px;border-radius:6px;cursor:pointer}
.map{margin-top:28px;height:360px;border-radius:8px;overflow:hidden}
.map iframe{width:100%;height:100%;border:0}
.map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);background:#f1f5f9}
.site-footer{margin-top:40px;padding:24px 20px;background:#fff;border-top:1px solid #eef2f7}
.address{max-width:1100px;margin:0 auto;color:var(--muted)}
.copyright{max-width:1100px;margin:8px auto 0 auto;color:#9aa6b2}
@media (max-width:800px){.hero-overlay{padding:24px}.slideshow{height:240px}}

/* Scroll reveal animations */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.9,.2,1), transform .8s cubic-bezier(.2,.9,.2,1);will-change:opacity,transform}
.reveal.is-visible{opacity:1;transform:none}

/* Top bar */
.top-bar{position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;z-index:999;padding:0 12px;backdrop-filter:none;overflow:hidden;transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}
.top-bar .top-nav{display:flex;justify-content:flex-start;align-items:center;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 8px;min-width:0;scroll-padding:0 16px}
.top-bar .top-nav::-webkit-scrollbar{height:6px}
.top-bar .top-nav::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);border-radius:999px}
.top-bar .top-nav-items{display:inline-flex;min-width:max-content;gap:12px;align-items:center;white-space:nowrap}
.top-bar a{color:var(--font-color);text-decoration:none;padding:8px 10px;border-radius:8px;text-shadow:0 1px 2px rgba(0,0,0,0.6);flex:0 0 auto;scroll-snap-align:center;white-space:nowrap;transition:color .35s ease,background-color .35s ease,opacity .35s ease}
.top-brand-logo{display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0;width:auto;max-width:180px;flex:0 0 auto}
.top-brand-logo img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center}
.top-bar a:hover{opacity:0.9}
.top-bar a.active{background:rgba(255,255,255,0.24);box-shadow:0 0 0 1px rgba(255,255,255,0.22)}
.top-bar.transparent{background:transparent;color:var(--font-color)}
.top-bar.custom{background:var(--bar-hero-color);color:var(--bar-hero-font-color)}
.top-bar.custom a{color:var(--bar-hero-font-color)}
.top-bar.solid{background:var(--bar-color);color:var(--font-color);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.top-bar.solid a{color:var(--font-color)}
.top-bar.transparent a{color:var(--font-color)}
@media (max-width: 768px) {
    .top-bar{padding:0}
    .top-bar .top-nav{padding:0 12px}
    .top-bar a{padding:10px 12px;font-size:0.95rem}
    .top-brand-logo{max-width:120px;min-width:0}
    .top-brand-logo img{max-height:100%;width:auto}
}

/* smooth scroll */
.site-header{display:none}
html{scroll-behavior:smooth;scroll-padding-top:72px;overflow-x:hidden;}
body{overflow-x:hidden;}

/* Make sections fluid */
.element-section{width:100%;box-sizing:border-box;padding:40px 2vw}
.element-section .text-element, .element-section .slideshow-gallery, .element-section .big-carousel, .element-section .map-container{max-width:none}
.element-section .text-element.rich-body img,
.element-section .text-element.rich-body video {
    max-width:720px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    margin:16px auto !important;
}

/* Cookie consent banner */
.cookie-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:10050;max-width:920px;width:calc(100% - 40px);background:rgba(255,255,255,0.98);box-shadow:0 8px 32px rgba(0,0,0,0.12);border-radius:10px;padding:16px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.cookie-banner .cb-text{flex:1;color:#111;font-size:14px;line-height:1.3}
.cookie-banner .cb-actions{display:flex;gap:8px;align-items:center;margin-left:12px}
.cookie-banner button{border:0;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600}
.cookie-banner .cb-accept{background:var(--accent);color:#fff}
.cookie-banner .cb-decline{background:#f1f5f9;color:#222}
@media (max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:center}.cookie-banner .cb-actions{justify-content:center;margin-left:0}}
