/* Nordsee Website Studio — public page runtime v1.9.10.10 */
body.website-managed-page{--ns-page-bg:#f7fafc;--ns-page-accent:#0aa5d8;--ns-page-width:1320px;--ns-page-radius:18px;--ns-page-gap:28px}
body.website-managed-page #main-content.ns-page-studio-main{background:var(--ns-page-bg);min-height:40vh}
body.website-managed-page .ns-page-live-content{position:relative}

/* Managed page hero */
.ns-managed-hero{--ns-hero-bg:#0b3b5c;--ns-hero-text:#fff;--ns-hero-overlay:.46;--ns-hero-min:280px;position:relative;isolation:isolate;min-height:var(--ns-hero-min);display:flex;align-items:center;overflow:hidden;color:var(--ns-hero-text);background-color:var(--ns-hero-bg);background-image:var(--ns-hero-image,none);background-size:cover;background-position:center}
.ns-managed-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:rgba(2,22,32,var(--ns-hero-overlay))}
.ns-managed-hero:after{content:"";position:absolute;z-index:-1;inset:auto -8% -65% auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.014)}
.ns-managed-hero__inner{width:min(var(--ns-page-width),calc(100% - 48px));margin:auto;padding:52px 0;position:relative;z-index:1}
.ns-managed-hero.align-center .ns-managed-hero__inner{text-align:center}.ns-managed-hero.align-center p{margin-left:auto!important;margin-right:auto!important}.ns-managed-hero.align-center .ns-managed-breadcrumb{justify-content:center}
.ns-managed-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 24px;font-size:10px;color:color-mix(in srgb,var(--ns-hero-text) 68%,transparent)}
.ns-managed-breadcrumb a{color:inherit;text-decoration:none}.ns-managed-breadcrumb a:hover{text-decoration:underline}
.ns-managed-hero__eyebrow{display:block;margin:0 0 11px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:900;color:color-mix(in srgb,var(--ns-page-accent) 70%,white)}
.ns-managed-hero h1{margin:0;font-size:clamp(38px,5.4vw,68px);line-height:.99;letter-spacing:-.045em;color:inherit}.ns-managed-hero p{max-width:700px;margin:18px 0 0;font-size:14px;line-height:1.72;color:color-mix(in srgb,var(--ns-hero-text) 78%,transparent)}

/* Optional editorial introduction */
.ns-managed-intro{--ns-intro-bg:#fff;--ns-intro-width:1180px;background:var(--ns-intro-bg);padding:44px 20px;border-bottom:1px solid rgba(14,51,70,.07)}
.ns-managed-intro>div{width:min(var(--ns-intro-width),100%);margin:auto}.ns-managed-intro.align-center{text-align:center}.ns-managed-intro h2{margin:0 0 11px;color:#082f46;font-size:clamp(25px,3vw,38px);letter-spacing:-.035em}.ns-managed-intro p{max-width:820px;margin:0;color:#5c6f79;font-size:13px;line-height:1.8}.ns-managed-intro.align-center p{margin-inline:auto}

/* Bottom CTA */
.ns-managed-cta{--ns-cta-bg:#0b3b5c;--ns-cta-text:#fff;background:var(--ns-cta-bg);color:var(--ns-cta-text);padding:48px 22px}
.ns-managed-cta__inner{width:min(var(--ns-page-width),100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.ns-managed-cta__copy{max-width:720px}.ns-managed-cta h2{margin:0;font-size:clamp(28px,3.4vw,43px);line-height:1.08;letter-spacing:-.035em}.ns-managed-cta p{margin:12px 0 0;color:color-mix(in srgb,var(--ns-cta-text) 76%,transparent);font-size:13px;line-height:1.7}.ns-managed-cta__actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ns-managed-cta__actions a{min-height:46px;padding:0 18px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:10px;font-weight:900}.ns-managed-cta__actions a.primary{background:var(--ns-page-accent);color:#fff}.ns-managed-cta__actions a.secondary{border:1px solid color-mix(in srgb,var(--ns-cta-text) 25%,transparent);color:var(--ns-cta-text);background:color-mix(in srgb,var(--ns-cta-text) 7%,transparent)}

/* Page-wide presentation controls. Existing business modules remain intact. */
body.website-managed-page .hv-catalog-page,
body.website-managed-page .hv-catalog-breadcrumb,
body.website-managed-page .hv-search-dock-inner,
body.website-managed-page .food-public-shell,
body.website-managed-page .hv-product-shell,
body.website-managed-page .hv-offer-detail-shell,
body.website-managed-page .hv-booking-shell,
body.website-managed-page .hv-checkout-shell,
body.website-managed-page .hv-account-shell,
body.website-managed-page .ns-contact-shell{max-width:var(--ns-page-width)}
body.website-managed-page .hv-listing-card,
body.website-managed-page .offer-card,
body.website-managed-page .food-public-card,
body.website-managed-page .food-item-sheet,
body.website-managed-page .food-order-card,
body.website-managed-page .hv-reservation-card,
body.website-managed-page .hv-booking-summary,
body.website-managed-page .hv-checkout-card,
body.website-managed-page .hv-payment-choice-card,
body.website-managed-page .hv-account-form,
body.website-managed-page .hv-account-devices,
body.website-managed-page .ns-contact-form-card,
body.website-managed-page .ns-contact-side-card{border-radius:var(--ns-page-radius)}

/* Native hero adapter: runtime JS applies these variables to the hero already owned by each page. */
.ns-studio-native-hero{--ns-studio-hero-bg:#0b3b5c;--ns-studio-hero-text:#fff;--ns-studio-hero-overlay:.46;--ns-studio-hero-min:260px;--ns-studio-hero-image:none;min-height:var(--ns-studio-hero-min)!important;color:var(--ns-studio-hero-text)!important;background-color:var(--ns-studio-hero-bg)!important}
.ns-studio-native-hero.ns-studio-root-bg{isolation:isolate;background-image:var(--ns-studio-hero-image)!important;background-size:cover!important;background-position:center!important}
.ns-studio-native-hero.ns-studio-root-bg:before{content:"";position:absolute;z-index:0;inset:0;background:rgba(2,22,32,var(--ns-studio-hero-overlay));pointer-events:none}
.ns-studio-native-hero.ns-studio-root-bg>*{position:relative;z-index:1}
.ns-studio-native-hero h1,.ns-studio-native-hero h2{color:var(--ns-studio-hero-text)!important}.ns-studio-native-hero p{color:color-mix(in srgb,var(--ns-studio-hero-text) 78%,transparent)!important}
.ns-studio-native-hero.ns-studio-align-center{text-align:center}.ns-studio-native-hero.ns-studio-align-center p{margin-left:auto!important;margin-right:auto!important}
.ns-studio-native-hidden{display:none!important}

/* Small presentation intro inserted only when an admin saves presentation labels. */
.ns-managed-presentation-copy{width:min(var(--ns-page-width),calc(100% - 40px));margin:var(--ns-page-gap) auto 0;padding:20px 22px;border:1px solid rgba(10,71,96,.09);border-radius:var(--ns-page-radius);background:#fff}
.ns-managed-presentation-copy h2{margin:0;color:#0b3850;font-size:24px;letter-spacing:-.025em}.ns-managed-presentation-copy p{margin:7px 0 0;max-width:760px;color:#677982;font-size:12px;line-height:1.65}

@media(max-width:700px){
 body.website-compact-mobile{--ns-page-gap:18px!important}
 .ns-managed-hero__inner{width:calc(100% - 28px);padding:38px 0}.ns-managed-hero h1{font-size:40px}.ns-managed-hero p{font-size:12px}.ns-managed-breadcrumb{margin-bottom:18px;overflow:auto;white-space:nowrap}
 .ns-managed-intro{padding:30px 14px}.ns-managed-intro h2{font-size:28px}.ns-managed-intro p{font-size:12px}
 .ns-managed-cta{padding:32px 14px}.ns-managed-cta__inner{display:block}.ns-managed-cta__actions{margin-top:22px;display:grid}.ns-managed-cta__actions a{width:100%}
 .ns-managed-presentation-copy{width:calc(100% - 24px);padding:16px;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.ns-managed-hero,.ns-managed-cta,.ns-studio-native-hero{scroll-behavior:auto}}

/* Guest access pages: the Website Studio styles only the presentation shell.
   Authentication form fields, validation, tokens and security flows remain owned by PublicAccountController. */
body.website-managed-auth{--ns-page-bg:#eef7fb;--ns-page-accent:#0aa5d8;background:var(--ns-page-bg)!important}
body.website-managed-auth .auth-shell{overflow:hidden;border-radius:22px;box-shadow:0 24px 70px rgba(4,45,66,.12)}
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel{--ns-auth-bg:#0b3b5c;--ns-auth-text:#fff;--ns-auth-overlay:.46;--ns-auth-image:none;position:relative;isolation:isolate;overflow:hidden;background-color:var(--ns-auth-bg)!important;background-image:var(--ns-auth-image)!important;background-size:cover!important;background-position:center!important;color:var(--ns-auth-text)!important}
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(2,22,32,var(--ns-auth-overlay));pointer-events:none}
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel>*{position:relative;z-index:1}
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel h1,
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel h2,
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel h3{color:var(--ns-auth-text)!important}
body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel p{color:color-mix(in srgb,var(--ns-auth-text) 80%,transparent)!important}
.ns-auth-managed-intro{margin:0 0 20px;padding:16px 18px;border:1px solid rgba(13,87,118,.09);border-radius:15px;background:color-mix(in srgb,var(--ns-page-bg) 64%,white)}
.ns-auth-managed-intro h2{margin:0 0 7px;color:#0b3850;font-size:18px;letter-spacing:-.02em}.ns-auth-managed-intro p{margin:0;color:#657983;font-size:12px;line-height:1.65}
.ns-auth-cta{margin-top:0}.ns-auth-cta .ns-managed-cta__inner{width:min(1120px,100%)}
@media(max-width:820px){
 body.website-managed-auth .auth-shell{border-radius:0;box-shadow:none}
 body.website-managed-auth .auth-brand-panel.ns-studio-auth-panel{min-height:210px}
 .ns-auth-managed-intro{margin:0 0 16px;padding:14px}
}
