{"id":94418,"date":"2026-08-03T15:24:34","date_gmt":"2026-08-03T13:24:34","guid":{"rendered":"https:\/\/bno-travel.com\/overnatting-i-zell-am-see\/"},"modified":"2026-09-15T19:53:00","modified_gmt":"2026-09-15T17:53:00","slug":"overnatting-i-zell-am-see","status":"publish","type":"page","link":"https:\/\/bno-travel.com\/da\/overnatting-i-zell-am-see\/","title":{"rendered":"Overnatning i Zell am See"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"94418\" class=\"elementor elementor-94418 elementor-93651\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66ab43f8 e-flex e-con-boxed e-con e-parent\" data-id=\"66ab43f8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4541b581 elementor-widget elementor-widget-html\" data-id=\"4541b581\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bno-zell bno-area-hero bno-area-hero--premium\" style=\" background-color: #0c1a38; background-image: linear-gradient( rgba(7, 17, 31, 0.48), rgba(7, 17, 31, 0.68) ), url('https:\/\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg'); background-position: center; background-size: cover; background-repeat: no-repeat; \">\r\n  <div class=\"bno-shell\">\r\n    <div class=\"bno-area-hero__content\">\r\n\r\n      <span class=\"bno-eyebrow\">\r\n        Zell am See \u00b7 \u00d8strig\r\n      <\/span>\r\n\r\n      <h1>\r\n        Overnatning i Zell am See \u2013 udforsk fire hoteller ved bjerge og s\u00f8\r\n      <\/h1>\r\n\r\n      <p class=\"bno-lead\">\r\n        Find v\u00e6relser, suiter og lejligheder hos The House Zell am See,\r\n        The Gast House Zell am See, Nikolaus by AvenidA og Elements Resort\r\n        Zell am See. Sammenlign v\u00e6relsestyperne og find overnatningen der passer til din rejse.\r\n      <\/p>\r\n\r\n      <div class=\"bno-actions\">\r\n        <a href=\"#enheter\" class=\"bno-btn bno-btn--primary\">\r\n          Se v\u00e6relser og lejligheder\r\n        <\/a>\r\n\r\n        <a href=\"#hotellene\" class=\"bno-btn bno-btn--secondary\">\r\n          Se hotellerne\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3a3e0def e-flex e-con-boxed e-con e-parent\" data-id=\"3a3e0def\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ac6fc4c elementor-widget elementor-widget-html\" data-id=\"4ac6fc4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"hotellene\" class=\"bno-zell bno-section bno-section--light bno-area-intro\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-section-heading bno-section-heading--center\">\r\n      <span class=\"bno-eyebrow\">\r\n        Fire hoteller i Zell am See\r\n      <\/span>\r\n\r\n      <h2>\r\n        V\u00e6lg hotellet og v\u00e6relsestypen der passer til dit ophold\r\n      <\/h2>\r\n\r\n      <p>\r\n        Overnatningstilbuddet i Zell am See best\u00e5r af fire forskellige\r\n        Alpin Family-hoteller. Udforsk hotellerne og g\u00e5 direkte videre\r\n        til v\u00e6relser, suiter og lejligheder ved det hotel, du \u00f8nsker at se.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"bno-zell-hotel-grid\">\r\n\r\n      <!-- THE HOUSE -->\r\n      <article class=\"bno-zell-hotel-card\">\r\n        <a href=\"#rom-the-house\" class=\"bno-zell-hotel-card__link\">\r\n          <div class=\"bno-zell-hotel-card__media\">\r\n            <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.the-house.at\/assets\/images\/6\/The-House-Sommer-Aussenansicht-517d17fd.jpg?w=800&#038;ssl=1\" alt=\"The House Zell am See\" loading=\"lazy\" \/>\r\n\r\n            <span class=\"bno-zell-hotel-card__number\">\r\n              01\r\n            <\/span>\r\n\r\n            <span class=\"bno-zell-hotel-card__badge\">\r\n              Lejlighedshotel\r\n            <\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bno-zell-hotel-card__body\">\r\n            <div>\r\n              <h3>The House Zell am See<\/h3>\r\n\r\n              <p>\r\n                Rummelige lejligheder og suiter i en central, men rolig\r\n                del af Zell am See, med kort afstand til centrum og CityXpress.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <span class=\"bno-zell-hotel-card__action\">\r\n              Se v\u00e6relsestyperne\r\n              <span aria-hidden=\"true\">\u2192<\/span>\r\n            <\/span>\r\n          <\/div>\r\n        <\/a>\r\n      <\/article>\r\n\r\n\r\n      <!-- THE GAST HOUSE -->\r\n      <article class=\"bno-zell-hotel-card\">\r\n        <a href=\"#rom-the-gast-house\" class=\"bno-zell-hotel-card__link\">\r\n          <div class=\"bno-zell-hotel-card__media\">\r\n            <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.thegasthouse.at\/assets\/images\/6\/TGHZ_aussen_Sommer-f1116479.jpg?w=800&#038;ssl=1\" alt=\"The Gast House Zell am See\" loading=\"lazy\" \/>\r\n\r\n            <span class=\"bno-zell-hotel-card__number\">\r\n              02\r\n            <\/span>\r\n\r\n            <span class=\"bno-zell-hotel-card__badge\">\r\n              Hotel og suiter\r\n            <\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bno-zell-hotel-card__body\">\r\n            <div>\r\n              <h3>The Gast House Zell am See<\/h3>\r\n\r\n              <p>\r\n                Moderne v\u00e6relser, studioer og suiter i centrum, med n\u00e6rhed\r\n                til Zeller See, lifterne og hotellets spaomr\u00e5de.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <span class=\"bno-zell-hotel-card__action\">\r\n              Se v\u00e6relsestyperne\r\n              <span aria-hidden=\"true\">\u2192<\/span>\r\n            <\/span>\r\n          <\/div>\r\n        <\/a>\r\n      <\/article>\r\n\r\n\r\n      <!-- NIKOLAUS -->\r\n      <article class=\"bno-zell-hotel-card\">\r\n        <a href=\"#rom-nikolaus\" class=\"bno-zell-hotel-card__link\">\r\n          <div class=\"bno-zell-hotel-card__media\">\r\n            <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.nikolausbyavenida.at\/assets\/images\/d\/nikolaus-sommer-au%C3%9Fen-3d2087ab.jpg?w=800&#038;ssl=1\" alt=\"Nikolaus by AvenidA i Zell am See\" loading=\"lazy\" \/>\r\n\r\n            <span class=\"bno-zell-hotel-card__number\">\r\n              03\r\n            <\/span>\r\n\r\n            <span class=\"bno-zell-hotel-card__badge\">\r\n              Panoramasuiter\r\n            <\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bno-zell-hotel-card__body\">\r\n            <div>\r\n              <h3>Nikolaus by AvenidA<\/h3>\r\n\r\n              <p>\r\n                V\u00e6relser og suiter h\u00f8jt over Zell am See, med panoramaudsigt\r\n                mod byen, s\u00f8en og bjergene omkring.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <span class=\"bno-zell-hotel-card__action\">\r\n              Se v\u00e6relsestyperne\r\n              <span aria-hidden=\"true\">\u2192<\/span>\r\n            <\/span>\r\n          <\/div>\r\n        <\/a>\r\n      <\/article>\r\n\r\n\r\n      <!-- ELEMENTS RESORT -->\r\n      <article class=\"bno-zell-hotel-card\">\r\n        <a href=\"#rom-elements-resort\" class=\"bno-zell-hotel-card__link\">\r\n          <div class=\"bno-zell-hotel-card__media\">\r\n            <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.elementsresort.at\/assets\/images\/1\/AR-Elements-Sommer-Aussen-022-min-550b73cc.jpg?w=800&#038;ssl=1\" alt=\"Elements Resort Zell am See\" loading=\"lazy\" \/>\r\n\r\n            <span class=\"bno-zell-hotel-card__number\">\r\n              04\r\n            <\/span>\r\n\r\n            <span class=\"bno-zell-hotel-card__badge\">\r\n              Resort\r\n            <\/span>\r\n          <\/div>\r\n\r\n          <div class=\"bno-zell-hotel-card__body\">\r\n            <div>\r\n              <h3>Elements Resort Zell am See<\/h3>\r\n\r\n              <p>\r\n                Resortovernatning med v\u00e6relser, suiter, restaurant,\r\n                wellnessomr\u00e5de og n\u00e6rhed til AreitXpress.\r\n              <\/p>\r\n            <\/div>\r\n\r\n            <span class=\"bno-zell-hotel-card__action\">\r\n              Se v\u00e6relsestyperne\r\n              <span aria-hidden=\"true\">\u2192<\/span>\r\n            <\/span>\r\n          <\/div>\r\n        <\/a>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-95d43c3 e-flex e-con-boxed e-con e-parent\" data-id=\"95d43c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-713a14fb elementor-widget elementor-widget-html\" data-id=\"713a14fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\r\n     ZELL AM SEE \u2013 BULK 3\r\n     Fire separate BNO Direct-kataloger i samme bulk\r\n     ========================================================= -->\r\n\r\n<div id=\"enheter\" class=\"bno-zell-catalogs\">\r\n\r\n  <!-- THE HOUSE ZELL AM SEE -->\r\n  <section id=\"rom-the-house\" class=\"bno-section bno-section--soft bno-direct-catalog bno-zell-catalog-block bno-zell-catalog-block--soft\" data-bno-direct-catalog data-api-base=\"https:\/\/bno-api-staging.onrender.com\" data-booking-base=\"https:\/\/booking.bno-travel.com\/booking\/complete\" data-catalog-creds-key=\"THE_HOUSE_ZELL_AM_SEE\" data-booking-partner-key=\"THE_HOUSE_ZELL_AM_SEE\" data-service-id=\"4c3496c1-52aa-435e-add3-afe100e77563\" data-area-key=\"zell-am-see\" data-destination-label=\"Zell am See\" data-location-label=\"The House Zell am See \u00b7 Zell am See\" data-booking-open-until=\"2027-05-01\" data-minimum-stay-nights=\"1\" data-initial-count=\"12\" lang=\"da\" data-lang=\"da\">\r\n    <div class=\"bno-shell\">\r\n      <div class=\"bno-zell-catalog-heading\">\r\n        <span class=\"bno-zell-catalog-heading__number\" aria-hidden=\"true\">01<\/span>\r\n        <div>\r\n          <span class=\"bno-eyebrow\">V\u00e6relser og lejligheder<\/span>\r\n          <h2>The House Zell am See<\/h2>\r\n          <p>\r\n            Udforsk tilg\u00e6ngelige lejligheder, suiter og penthouseenheder\r\n            ved The House Zell am See.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__status\" data-bno-status role=\"status\" aria-live=\"polite\">\r\n        Indl\u00e6ser v\u00e6relsestyper ved The House \u2026\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__grid\" data-bno-grid aria-live=\"polite\" aria-busy=\"true\"><\/div>\r\n\r\n      <div class=\"bno-direct-more-wrap\" data-bno-more-wrap hidden>\r\n        <button type=\"button\" class=\"bno-direct-more\" data-bno-more>\r\n          Vis flere v\u00e6relsestyper\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n\r\n  <!-- THE GAST HOUSE ZELL AM SEE -->\r\n  <section id=\"rom-the-gast-house\" class=\"bno-section bno-section--light bno-direct-catalog bno-zell-catalog-block bno-zell-catalog-block--light\" data-bno-direct-catalog data-api-base=\"https:\/\/bno-api-staging.onrender.com\" data-booking-base=\"https:\/\/booking.bno-travel.com\/booking\/complete\" data-catalog-creds-key=\"THE_GAST_HOUSE_ZELL_AM_SEE\" data-booking-partner-key=\"THE_GAST_HOUSE_ZELL_AM_SEE\" data-service-id=\"27468297-0350-40ca-9bf6-afb6008fb4e6\" data-area-key=\"zell-am-see\" data-destination-label=\"Zell am See\" data-location-label=\"The Gast House Zell am See \u00b7 Zell am See\" data-booking-open-until=\"2027-05-01\" data-minimum-stay-nights=\"1\" data-initial-count=\"12\" lang=\"da\" data-lang=\"da\">\r\n    <div class=\"bno-shell\">\r\n      <div class=\"bno-zell-catalog-heading\">\r\n        <span class=\"bno-zell-catalog-heading__number\" aria-hidden=\"true\">02<\/span>\r\n        <div>\r\n          <span class=\"bno-eyebrow\">V\u00e6relser, studioer og suiter<\/span>\r\n          <h2>The Gast House Zell am See<\/h2>\r\n          <p>\r\n            Udforsk v\u00e6relser, studioer og suiter ved The Gast House, fra\r\n            dobbeltv\u00e6relser til st\u00f8rre familie- og panoramasuiter.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__status\" data-bno-status role=\"status\" aria-live=\"polite\">\r\n        Indl\u00e6ser v\u00e6relsestyper ved The Gast House \u2026\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__grid\" data-bno-grid aria-live=\"polite\" aria-busy=\"true\"><\/div>\r\n\r\n      <div class=\"bno-direct-more-wrap\" data-bno-more-wrap hidden>\r\n        <button type=\"button\" class=\"bno-direct-more\" data-bno-more>\r\n          Vis flere v\u00e6relsestyper\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n\r\n  <!-- NIKOLAUS BY AVENIDA -->\r\n  <section id=\"rom-nikolaus\" class=\"bno-section bno-section--soft bno-direct-catalog bno-zell-catalog-block bno-zell-catalog-block--soft\" data-bno-direct-catalog data-api-base=\"https:\/\/bno-api-staging.onrender.com\" data-booking-base=\"https:\/\/booking.bno-travel.com\/booking\/complete\" data-catalog-creds-key=\"NIKOLAUS_BY_AVENIDA\" data-booking-partner-key=\"NIKOLAUS_BY_AVENIDA\" data-service-id=\"5b596a5a-26da-4381-a4fd-afdc00a26aa4\" data-area-key=\"zell-am-see\" data-destination-label=\"Zell am See\" data-location-label=\"Nikolaus by AvenidA \u00b7 Zell am See\" data-booking-open-until=\"2027-05-01\" data-minimum-stay-nights=\"1\" data-initial-count=\"12\" lang=\"da\" data-lang=\"da\">\r\n    <div class=\"bno-shell\">\r\n      <div class=\"bno-zell-catalog-heading\">\r\n        <span class=\"bno-zell-catalog-heading__number\" aria-hidden=\"true\">03<\/span>\r\n        <div>\r\n          <span class=\"bno-eyebrow\">V\u00e6relser og panoramasuiter<\/span>\r\n          <h2>Nikolaus by AvenidA<\/h2>\r\n          <p>\r\n            Udforsk v\u00e6relser og suiter med moderne alpestil, panoramaudsigt og\r\n            private wellnessfaciliteter.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__status\" data-bno-status role=\"status\" aria-live=\"polite\">\r\n        Indl\u00e6ser v\u00e6relsestyper ved Nikolaus by AvenidA \u2026\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__grid\" data-bno-grid aria-live=\"polite\" aria-busy=\"true\"><\/div>\r\n\r\n      <div class=\"bno-direct-more-wrap\" data-bno-more-wrap hidden>\r\n        <button type=\"button\" class=\"bno-direct-more\" data-bno-more>\r\n          Vis flere v\u00e6relsestyper\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n\r\n  <!-- ELEMENTS RESORT ZELL AM SEE -->\r\n  <section id=\"rom-elements-resort\" class=\"bno-section bno-section--light bno-direct-catalog bno-zell-catalog-block bno-zell-catalog-block--light\" data-bno-direct-catalog data-api-base=\"https:\/\/bno-api-staging.onrender.com\" data-booking-base=\"https:\/\/booking.bno-travel.com\/booking\/complete\" data-catalog-creds-key=\"ELEMENTS_RESORT_ZELL_AM_SEE\" data-booking-partner-key=\"ELEMENTS_RESORT_ZELL_AM_SEE\" data-service-id=\"12c44d5b-1071-4513-a70f-afdc00d11939\" data-area-key=\"zell-am-see\" data-destination-label=\"Zell am See\" data-location-label=\"Elements Resort Zell am See \u00b7 Zell am See\" data-booking-open-until=\"2027-05-01\" data-minimum-stay-nights=\"1\" data-initial-count=\"12\" lang=\"da\" data-lang=\"da\">\r\n    <div class=\"bno-shell\">\r\n      <div class=\"bno-zell-catalog-heading\">\r\n        <span class=\"bno-zell-catalog-heading__number\" aria-hidden=\"true\">04<\/span>\r\n        <div>\r\n          <span class=\"bno-eyebrow\">V\u00e6relser, suiter og penthouse<\/span>\r\n          <h2>Elements Resort Zell am See<\/h2>\r\n          <p>\r\n            Udforsk dobbeltv\u00e6relser, suiter og st\u00f8rre penthouseenheder ved\r\n            Elements Resort Zell am See.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__status\" data-bno-status role=\"status\" aria-live=\"polite\">\r\n        Indl\u00e6ser v\u00e6relsestyper ved Elements Resort \u2026\r\n      <\/div>\r\n\r\n      <div class=\"bno-direct-catalog__grid\" data-bno-grid aria-live=\"polite\" aria-busy=\"true\"><\/div>\r\n\r\n      <div class=\"bno-direct-more-wrap\" data-bno-more-wrap hidden>\r\n        <button type=\"button\" class=\"bno-direct-more\" data-bno-more>\r\n          Vis flere v\u00e6relsestyper\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- FELLES BNO DIRECT-MOTOR \u2013 SKAL KUN FINNES EN GANG P\u00c5 SIDEN -->\r\n<style>\r\n\/* =========================================================\r\n   BNO TRAVEL \u2013 FELLES BULK 3 \/ DESTINASJONSKATALOG V2\r\n   Samme kort, modal, mobilvisning og prissjekk p\u00e5 alle sider\r\n   ========================================================= *\/\r\n\r\n.bno-direct-catalog,\r\n.bno-direct-modal {\r\n  --bno-navy: #0c1a38;\r\n  --bno-navy-hover: #162b55;\r\n  --bno-text: #3f4a5e;\r\n  --bno-muted: #5b667b;\r\n  --bno-border: rgba(12, 26, 56, 0.14);\r\n  --bno-soft: #eef3f8;\r\n  --bno-white: #ffffff;\r\n  --bno-success-bg: #edf8f1;\r\n  --bno-success: #176b35;\r\n  --bno-error-bg: #fff1f1;\r\n  --bno-error: #8f1d1d;\r\n}\r\n\r\n.bno-direct-catalog,\r\n.bno-direct-catalog *,\r\n.bno-direct-modal,\r\n.bno-direct-modal * {\r\n  box-sizing: border-box;\r\n}\r\n\r\n.bno-direct-catalog__status {\r\n  margin: 28px 0 0;\r\n  padding: 15px 17px;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 14px;\r\n  background: var(--bno-white) !important;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 15px;\r\n  line-height: 1.5;\r\n}\r\n\r\n.bno-direct-catalog__status.is-error {\r\n  border-color: rgba(143, 29, 29, 0.24);\r\n  background: var(--bno-error-bg) !important;\r\n  color: var(--bno-error) !important;\r\n}\r\n\r\n.bno-direct-catalog__grid {\r\n  display: grid !important;\r\n  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\r\n  gap: 24px !important;\r\n  align-items: stretch;\r\n  margin-top: 28px;\r\n}\r\n\r\n.bno-direct-card {\r\n  display: flex;\r\n  min-width: 0;\r\n  height: 100%;\r\n  overflow: hidden;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 20px;\r\n  background: #ffffff !important;\r\n  box-shadow: 0 12px 34px rgba(12, 26, 56, 0.08);\r\n  transition: transform 0.2s ease, box-shadow 0.2s ease;\r\n}\r\n\r\n.bno-direct-card:hover {\r\n  transform: translateY(-4px);\r\n  box-shadow: 0 18px 42px rgba(12, 26, 56, 0.14);\r\n}\r\n\r\n.bno-direct-card__button,\r\n.bno-direct-card__button:hover,\r\n.bno-direct-card__button:focus,\r\n.bno-direct-card__button:focus-visible,\r\n.bno-direct-card__button:active {\r\n  display: flex !important;\r\n  flex: 1 1 auto;\r\n  flex-direction: column;\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n  height: 100% !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  overflow: hidden;\r\n  border: 0 !important;\r\n  border-radius: inherit !important;\r\n  background: transparent !important;\r\n  background-color: transparent !important;\r\n  background-image: none !important;\r\n  color: inherit !important;\r\n  box-shadow: none !important;\r\n  text-align: left !important;\r\n  text-decoration: none !important;\r\n  cursor: pointer;\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-card__media {\r\n  position: relative;\r\n  flex: 0 0 auto;\r\n  width: 100%;\r\n  min-width: 0;\r\n  aspect-ratio: 4 \/ 3;\r\n  overflow: hidden;\r\n  background: var(--bno-navy);\r\n}\r\n\r\n.bno-direct-card__media img {\r\n  display: block;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  object-fit: cover;\r\n  object-position: center;\r\n  border: 0;\r\n  border-radius: 0;\r\n  transition: transform 0.35s ease;\r\n}\r\n\r\n.bno-direct-card:hover .bno-direct-card__media img {\r\n  transform: scale(1.035);\r\n}\r\n\r\n.bno-direct-card__count {\r\n  position: absolute;\r\n  right: 12px;\r\n  bottom: 12px;\r\n  z-index: 2;\r\n  padding: 7px 10px;\r\n  border: 1px solid rgba(255, 255, 255, 0.2);\r\n  border-radius: 999px;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  line-height: 1;\r\n  white-space: nowrap;\r\n}\r\n\r\n.bno-direct-card__body {\r\n  display: flex !important;\r\n  flex: 1 1 auto;\r\n  flex-direction: column;\r\n  width: 100%;\r\n  min-width: 0;\r\n  min-height: 238px;\r\n  padding: 20px;\r\n  overflow: hidden;\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n}\r\n\r\n.bno-direct-card__body h3 {\r\n  display: -webkit-box;\r\n  width: 100%;\r\n  min-width: 0;\r\n  max-width: 100%;\r\n  margin: 0;\r\n  overflow: hidden;\r\n  color: var(--bno-navy) !important;\r\n  font-size: clamp(18px, 1.45vw, 22px);\r\n  font-weight: 800;\r\n  line-height: 1.2;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  word-break: normal;\r\n  hyphens: auto;\r\n  -webkit-box-orient: vertical;\r\n  -webkit-line-clamp: 3;\r\n}\r\n\r\n.bno-direct-card__meta {\r\n  margin: 8px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  line-height: 1.4;\r\n}\r\n\r\n.bno-direct-card__description {\r\n  display: -webkit-box;\r\n  width: 100%;\r\n  min-width: 0;\r\n  margin: 14px 0 0;\r\n  overflow: hidden;\r\n  color: var(--bno-text) !important;\r\n  font-size: 14px;\r\n  line-height: 1.6;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  -webkit-box-orient: vertical;\r\n  -webkit-line-clamp: 4;\r\n}\r\n\r\n.bno-direct-card__link {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  align-self: flex-start;\r\n  margin-top: auto;\r\n  padding-top: 18px;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-more-wrap {\r\n  display: flex;\r\n  justify-content: center;\r\n  margin-top: 34px;\r\n}\r\n\r\n.bno-direct-more-wrap[hidden],\r\n.bno-direct-modal[hidden],\r\n.bno-direct-message[hidden],\r\n.bno-direct-price[hidden],\r\n.bno-direct-continue[hidden] {\r\n  display: none !important;\r\n}\r\n\r\n.bno-direct-more,\r\n.bno-direct-more:hover,\r\n.bno-direct-more:focus,\r\n.bno-direct-more:active,\r\n.bno-direct-check-button,\r\n.bno-direct-check-button:hover,\r\n.bno-direct-check-button:focus,\r\n.bno-direct-check-button:active,\r\n.bno-direct-book-button,\r\n.bno-direct-book-button:hover,\r\n.bno-direct-book-button:focus,\r\n.bno-direct-book-button:active {\r\n  display: inline-flex !important;\r\n  align-items: center;\r\n  justify-content: center;\r\n  min-height: 50px !important;\r\n  margin: 0 !important;\r\n  padding: 12px 20px !important;\r\n  border: 1px solid var(--bno-navy) !important;\r\n  border-radius: 11px !important;\r\n  background: var(--bno-navy) !important;\r\n  background-image: none !important;\r\n  color: #ffffff !important;\r\n  box-shadow: none !important;\r\n  font: inherit;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  line-height: 1.3;\r\n  text-align: center;\r\n  text-decoration: none !important;\r\n  cursor: pointer;\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-more:hover,\r\n.bno-direct-check-button:hover,\r\n.bno-direct-book-button:hover {\r\n  background: var(--bno-navy-hover) !important;\r\n}\r\n\r\n.bno-direct-check-button:disabled,\r\n.bno-direct-book-button:disabled {\r\n  border-color: #778195 !important;\r\n  background: #778195 !important;\r\n  cursor: wait;\r\n}\r\n\r\n.bno-direct-modal {\r\n  position: fixed;\r\n  z-index: 999999;\r\n  inset: 0;\r\n  display: grid;\r\n  place-items: center;\r\n  width: 100%;\r\n  max-width: 100%;\r\n  padding: 24px;\r\n  overflow: hidden;\r\n  -webkit-text-size-adjust: 100%;\r\n  text-size-adjust: 100%;\r\n}\r\n\r\n.bno-direct-modal__backdrop,\r\n.bno-direct-modal__backdrop:hover,\r\n.bno-direct-modal__backdrop:focus,\r\n.bno-direct-modal__backdrop:active {\r\n  position: absolute;\r\n  z-index: 0;\r\n  inset: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  border: 0 !important;\r\n  border-radius: 0 !important;\r\n  background: rgba(4, 12, 28, 0.82) !important;\r\n  box-shadow: none !important;\r\n  cursor: zoom-out;\r\n  backdrop-filter: blur(3px);\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-modal__dialog {\r\n  position: relative;\r\n  z-index: 1;\r\n  display: grid;\r\n  grid-template-columns: minmax(0, 1.16fr) minmax(390px, 0.84fr);\r\n  width: min(1180px, calc(100vw - 48px));\r\n  max-width: 100%;\r\n  height: min(760px, calc(100dvh - 48px));\r\n  max-height: calc(100dvh - 48px);\r\n  overflow: hidden;\r\n  border: 1px solid rgba(255, 255, 255, 0.18);\r\n  border-radius: 22px;\r\n  background: #ffffff;\r\n  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.4);\r\n}\r\n\r\n.bno-direct-modal__gallery {\r\n  position: relative;\r\n  width: 100%;\r\n  height: 100%;\r\n  min-width: 0;\r\n  min-height: 0;\r\n  overflow: hidden;\r\n  background: var(--bno-navy);\r\n}\r\n\r\n.bno-direct-modal__image {\r\n  display: block;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  min-width: 0 !important;\r\n  min-height: 0 !important;\r\n  max-width: none !important;\r\n  max-height: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  object-fit: cover;\r\n  object-position: center;\r\n  border: 0;\r\n  border-radius: 0;\r\n}\r\n\r\n.bno-direct-modal__content {\r\n  width: 100%;\r\n  height: 100%;\r\n  min-width: 0;\r\n  min-height: 0;\r\n  padding: 40px 34px 36px;\r\n  overflow-x: hidden;\r\n  overflow-y: auto;\r\n  background: #ffffff !important;\r\n  color: var(--bno-text) !important;\r\n  scrollbar-color: rgba(12, 26, 56, 0.32) transparent;\r\n  scrollbar-width: thin;\r\n}\r\n\r\n.bno-direct-modal__content * {\r\n  min-width: 0;\r\n}\r\n\r\n.bno-direct-eyebrow {\r\n  display: inline-block;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  letter-spacing: 0.04em;\r\n  line-height: 1.4;\r\n  text-transform: uppercase;\r\n}\r\n\r\n.bno-direct-modal__content h3 {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  margin: 10px 0 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: clamp(28px, 3vw, 40px);\r\n  font-weight: 800;\r\n  line-height: 1.08;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  hyphens: auto;\r\n}\r\n\r\n.bno-direct-modal__capacity {\r\n  margin: 12px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-modal__description {\r\n  width: 100%;\r\n  max-height: 245px;\r\n  margin-top: 20px;\r\n  padding-right: 8px;\r\n  overflow-x: hidden;\r\n  overflow-y: auto;\r\n  color: var(--bno-text) !important;\r\n  font-size: 15px;\r\n  line-height: 1.72;\r\n  white-space: pre-line;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-modal__close,\r\n.bno-direct-modal__close:hover,\r\n.bno-direct-modal__close:focus,\r\n.bno-direct-modal__close:active {\r\n  position: absolute;\r\n  z-index: 12;\r\n  top: 14px;\r\n  right: 14px;\r\n  display: grid !important;\r\n  width: 44px !important;\r\n  min-width: 44px !important;\r\n  height: 44px !important;\r\n  min-height: 44px !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  place-items: center !important;\r\n  border: 1px solid rgba(255, 255, 255, 0.25) !important;\r\n  border-radius: 999px !important;\r\n  background: var(--bno-navy) !important;\r\n  color: #ffffff !important;\r\n  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.24) !important;\r\n  font-family: Arial, sans-serif !important;\r\n  font-size: 28px !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1 !important;\r\n  cursor: pointer;\r\n}\r\n\r\n.bno-direct-modal__arrow,\r\n.bno-direct-modal__arrow:hover,\r\n.bno-direct-modal__arrow:focus,\r\n.bno-direct-modal__arrow:active {\r\n  position: absolute;\r\n  z-index: 8;\r\n  top: 50%;\r\n  display: grid !important;\r\n  width: 48px !important;\r\n  min-width: 48px !important;\r\n  height: 48px !important;\r\n  min-height: 48px !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  place-items: center !important;\r\n  border: 1px solid rgba(255, 255, 255, 0.25) !important;\r\n  border-radius: 999px !important;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  box-shadow: 0 7px 22px rgba(0, 0, 0, 0.24) !important;\r\n  font-family: Arial, sans-serif !important;\r\n  font-size: 35px !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1 !important;\r\n  cursor: pointer;\r\n  transform: translateY(-50%);\r\n}\r\n\r\n.bno-direct-modal__arrow--prev { left: 18px; }\r\n.bno-direct-modal__arrow--next { right: 18px; }\r\n.bno-direct-modal__arrow[hidden] { display: none !important; }\r\n\r\n.bno-direct-modal__counter {\r\n  position: absolute;\r\n  z-index: 8;\r\n  right: 18px;\r\n  bottom: 18px;\r\n  padding: 8px 12px;\r\n  border: 1px solid rgba(255, 255, 255, 0.2);\r\n  border-radius: 999px;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  line-height: 1;\r\n  white-space: nowrap;\r\n}\r\n\r\n.bno-direct-booking {\r\n  margin-top: 30px;\r\n  padding-top: 28px;\r\n  border-top: 1px solid var(--bno-border);\r\n}\r\n\r\n.bno-direct-booking__heading h4 {\r\n  width: 100%;\r\n  margin: 6px 0 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 22px;\r\n  font-weight: 800;\r\n  line-height: 1.25;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-form {\r\n  display: grid;\r\n  grid-template-columns: repeat(2, minmax(0, 1fr));\r\n  gap: 14px;\r\n  width: 100%;\r\n  margin-top: 20px;\r\n}\r\n\r\n.bno-direct-form label {\r\n  display: grid;\r\n  gap: 7px;\r\n  width: 100%;\r\n  min-width: 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-form input {\r\n  display: block;\r\n  width: 100% !important;\r\n  max-width: 100% !important;\r\n  min-width: 0 !important;\r\n  min-height: 48px;\r\n  margin: 0 !important;\r\n  padding: 10px 12px !important;\r\n  border: 1px solid rgba(12, 26, 56, 0.22) !important;\r\n  border-radius: 10px !important;\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n  box-shadow: none !important;\r\n  font: inherit;\r\n  font-size: 16px !important;\r\n}\r\n\r\n.bno-direct-form input:focus {\r\n  border-color: var(--bno-navy) !important;\r\n  outline: 2px solid rgba(12, 26, 56, 0.14) !important;\r\n  outline-offset: 1px;\r\n}\r\n\r\n.bno-direct-check-button {\r\n  grid-column: 1 \/ -1;\r\n  width: 100% !important;\r\n}\r\n\r\n.bno-direct-message {\r\n  width: 100%;\r\n  margin-top: 15px;\r\n  padding: 14px 15px;\r\n  border-radius: 11px;\r\n  background: var(--bno-soft) !important;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 14px;\r\n  line-height: 1.5;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-message.is-success {\r\n  background: var(--bno-success-bg) !important;\r\n  color: var(--bno-success) !important;\r\n}\r\n\r\n.bno-direct-message.is-error {\r\n  background: var(--bno-error-bg) !important;\r\n  color: var(--bno-error) !important;\r\n}\r\n\r\n.bno-direct-price {\r\n  width: 100%;\r\n  margin-top: 18px;\r\n  overflow: hidden;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 14px;\r\n  background: #ffffff !important;\r\n}\r\n\r\n.bno-direct-price__row {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 20px;\r\n  width: 100%;\r\n  padding: 13px 15px;\r\n  border-top: 1px solid rgba(12, 26, 56, 0.1);\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n}\r\n\r\n.bno-direct-price__row:first-child { border-top: 0; }\r\n\r\n.bno-direct-price__row span,\r\n.bno-direct-price__row strong {\r\n  min-width: 0;\r\n  max-width: 100%;\r\n  color: inherit !important;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-price__row strong {\r\n  flex: 0 0 auto;\r\n  text-align: right;\r\n}\r\n\r\n.bno-direct-price__row--total {\r\n  background: var(--bno-navy) !important;\r\n  color: #ffffff !important;\r\n}\r\n\r\n.bno-direct-continue {\r\n  width: 100%;\r\n  margin-top: 18px;\r\n}\r\n\r\n.bno-direct-book-button {\r\n  width: 100% !important;\r\n  min-height: 54px !important;\r\n  font-size: 15px !important;\r\n}\r\n\r\n.bno-direct-continue p {\r\n  width: 100%;\r\n  margin: 10px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 12px;\r\n  line-height: 1.5;\r\n  text-align: center;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n@media (max-width: 980px) {\r\n  .bno-direct-catalog__grid {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 900px) {\r\n  .bno-direct-modal {\r\n    display: block !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    padding: 0 !important;\r\n    overflow-x: hidden !important;\r\n    overflow-y: auto !important;\r\n    background: #ffffff !important;\r\n    overscroll-behavior: contain;\r\n    -webkit-overflow-scrolling: touch;\r\n  }\r\n\r\n  .bno-direct-modal__backdrop {\r\n    position: fixed !important;\r\n  }\r\n\r\n  .bno-direct-modal__dialog {\r\n    display: block !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    min-width: 0 !important;\r\n    height: auto !important;\r\n    min-height: 100vh !important;\r\n    min-height: 100dvh !important;\r\n    max-height: none !important;\r\n    margin: 0 !important;\r\n    overflow: visible !important;\r\n    border: 0 !important;\r\n    border-radius: 0 !important;\r\n    box-shadow: none !important;\r\n  }\r\n\r\n  .bno-direct-modal__gallery {\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    height: clamp(320px, 60vw, 520px) !important;\r\n    min-height: 320px !important;\r\n  }\r\n\r\n  .bno-direct-modal__content {\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    min-width: 0 !important;\r\n    height: auto !important;\r\n    max-height: none !important;\r\n    margin: 0 !important;\r\n    padding: 34px clamp(20px, 5vw, 44px) 52px !important;\r\n    overflow: visible !important;\r\n  }\r\n\r\n  .bno-direct-modal__description {\r\n    max-height: none !important;\r\n    padding-right: 0 !important;\r\n    overflow: visible !important;\r\n  }\r\n\r\n  .bno-direct-modal__close {\r\n    position: fixed !important;\r\n    top: max(12px, env(safe-area-inset-top)) !important;\r\n    right: max(12px, env(safe-area-inset-right)) !important;\r\n  }\r\n\r\n  .bno-direct-price__row {\r\n    display: grid !important;\r\n    grid-template-columns: minmax(0, 1fr) !important;\r\n    gap: 7px !important;\r\n    padding: 17px 18px !important;\r\n  }\r\n\r\n  .bno-direct-price__row strong {\r\n    text-align: left !important;\r\n    font-size: 20px;\r\n  }\r\n}\r\n\r\n@media (max-width: 620px) {\r\n  .bno-direct-catalog__grid {\r\n    grid-template-columns: 1fr !important;\r\n  }\r\n\r\n  .bno-direct-card__body {\r\n    min-height: 220px;\r\n  }\r\n\r\n  .bno-direct-modal__gallery {\r\n    height: 66vw !important;\r\n    min-height: 270px !important;\r\n    max-height: 370px !important;\r\n  }\r\n\r\n  .bno-direct-modal__content {\r\n    padding:\r\n      28px\r\n      max(18px, env(safe-area-inset-right))\r\n      calc(48px + env(safe-area-inset-bottom))\r\n      max(18px, env(safe-area-inset-left)) !important;\r\n  }\r\n\r\n  .bno-direct-modal__content h3 {\r\n    font-size: 28px !important;\r\n    line-height: 1.12 !important;\r\n  }\r\n\r\n  .bno-direct-booking__heading h4 {\r\n    font-size: 24px !important;\r\n    line-height: 1.18 !important;\r\n  }\r\n\r\n  .bno-direct-form {\r\n    grid-template-columns: minmax(0, 1fr) !important;\r\n  }\r\n\r\n  .bno-direct-check-button {\r\n    grid-column: 1 !important;\r\n  }\r\n\r\n  .bno-direct-modal__arrow {\r\n    width: 44px !important;\r\n    min-width: 44px !important;\r\n    height: 44px !important;\r\n    min-height: 44px !important;\r\n  }\r\n\r\n  .bno-direct-modal__arrow--prev { left: 12px; }\r\n  .bno-direct-modal__arrow--next { right: 12px; }\r\n  .bno-direct-modal__counter { right: 12px; bottom: 12px; }\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  \"use strict\";\r\n\r\n  const ROOT_SELECTOR = \"[data-bno-direct-catalog]\";\r\n\r\n  function cleanBase(value) {\r\n    return String(value || \"\").trim().replace(\/\\\/+$\/, \"\");\r\n  }\r\n\r\n  function apiUrl(base, path) {\r\n    const clean = cleanBase(base);\r\n    const route = String(path || \"\");\r\n\r\n    if (clean.endsWith(\"\/api\") && route.startsWith(\"\/api\/\")) {\r\n      return clean + route.slice(4);\r\n    }\r\n\r\n    return clean + route;\r\n  }\r\n\r\n  function escapeHtml(value) {\r\n    return String(value == null ? \"\" : value)\r\n      .replace(\/&\/g, \"&amp;\")\r\n      .replace(\/<\/g, \"&lt;\")\r\n      .replace(\/>\/g, \"&gt;\")\r\n      .replace(\/\"\/g, \"&quot;\")\r\n      .replace(\/'\/g, \"&#039;\");\r\n  }\r\n\r\n  function stripHtml(value) {\r\n    const node = document.createElement(\"div\");\r\n    node.innerHTML = String(value || \"\");\r\n    return String(node.textContent || node.innerText || \"\")\r\n      .replace(\/\\s+\/g, \" \")\r\n      .trim();\r\n  }\r\n\r\n  function firstValue(object, keys) {\r\n    for (const key of keys) {\r\n      if (object && object[key] != null && object[key] !== \"\") {\r\n        return object[key];\r\n      }\r\n    }\r\n\r\n    return \"\";\r\n  }\r\n\r\n  function parseIdSet(value) {\r\n    return new Set(\r\n      String(value || \"\")\r\n        .split(\",\")\r\n        .map(function (item) {\r\n          return item.trim();\r\n        })\r\n        .filter(Boolean)\r\n    );\r\n  }\r\n\r\n  function languageCode() {\r\n    return \"da\";\r\n  }\r\n\r\n  function localYmd(date) {\r\n    const year = date.getFullYear();\r\n    const month = String(date.getMonth() + 1).padStart(2, \"0\");\r\n    const day = String(date.getDate()).padStart(2, \"0\");\r\n    return year + \"-\" + month + \"-\" + day;\r\n  }\r\n\r\n  function addDays(date, days) {\r\n    const next = new Date(date.getTime());\r\n    next.setDate(next.getDate() + Number(days || 0));\r\n    return next;\r\n  }\r\n\r\n  function nightsBetween(from, to) {\r\n    const start = new Date(from + \"T12:00:00\");\r\n    const end = new Date(to + \"T12:00:00\");\r\n    return Math.round((end.getTime() - start.getTime()) \/ 86400000);\r\n  }\r\n\r\n  function formatDate(value) {\r\n    try {\r\n      return new Intl.DateTimeFormat(\"da-DK\", {\r\n        day: \"numeric\",\r\n        month: \"short\",\r\n        year: \"numeric\"\r\n      }).format(new Date(value + \"T12:00:00\"));\r\n    } catch (_error) {\r\n      return value;\r\n    }\r\n  }\r\n\r\n  function formatMoney(amount, currency) {\r\n    try {\r\n      return new Intl.NumberFormat(\"da-DK\", {\r\n        style: \"currency\",\r\n        currency: String(currency || \"EUR\").toUpperCase(),\r\n        minimumFractionDigits: 2,\r\n        maximumFractionDigits: 2\r\n      }).format(Number(amount || 0));\r\n    } catch (_error) {\r\n      return Number(amount || 0).toFixed(2) + \" \" + String(currency || \"EUR\");\r\n    }\r\n  }\r\n\r\n  function uniqueImages(row) {\r\n    const images = [];\r\n\r\n    function add(value) {\r\n      if (!value) return;\r\n\r\n      if (typeof value === \"string\") {\r\n        const url = value.trim();\r\n        if (\/^https?:\\\/\\\/\/i.test(url)) images.push(url);\r\n        return;\r\n      }\r\n\r\n      if (typeof value === \"object\") {\r\n        add(\r\n          value.url ||\r\n          value.Url ||\r\n          value.imageUrl ||\r\n          value.ImageUrl ||\r\n          value.source ||\r\n          value.Source ||\r\n          value.original ||\r\n          value.Original\r\n        );\r\n      }\r\n    }\r\n\r\n    [\r\n      row.images,\r\n      row.Images,\r\n      row.gallery,\r\n      row.Gallery,\r\n      row.imageUrls,\r\n      row.ImageUrls,\r\n      row.photos,\r\n      row.Photos\r\n    ].forEach(function (items) {\r\n      if (Array.isArray(items)) items.forEach(add);\r\n    });\r\n\r\n    [\r\n      row.image,\r\n      row.Image,\r\n      row.coverImageUrl,\r\n      row.CoverImageUrl,\r\n      row.imageUrl,\r\n      row.ImageUrl,\r\n      row.thumbnailUrl,\r\n      row.ThumbnailUrl\r\n    ].forEach(add);\r\n\r\n    return Array.from(new Set(images));\r\n  }\r\n\r\n  function extractRows(payload) {\r\n    const candidates = [\r\n      payload && payload.data && payload.data.resourceCategories,\r\n      payload && payload.data && payload.data.categories,\r\n      payload && payload.data && payload.data.items,\r\n      payload && payload.data,\r\n      payload && payload.resourceCategories,\r\n      payload && payload.categories,\r\n      payload && payload.items\r\n    ];\r\n\r\n    for (const candidate of candidates) {\r\n      if (Array.isArray(candidate)) return candidate;\r\n    }\r\n\r\n    return [];\r\n  }\r\n\r\n  function normaliseUnit(row) {\r\n    const categoryId = String(\r\n      firstValue(row, [\r\n        \"resourceCategoryId\",\r\n        \"ResourceCategoryId\",\r\n        \"categoryId\",\r\n        \"CategoryId\",\r\n        \"id\",\r\n        \"Id\"\r\n      ])\r\n    ).trim();\r\n\r\n    return {\r\n      categoryId: categoryId,\r\n      name: String(\r\n        firstValue(row, [\r\n          \"localizedName\",\r\n          \"LocalizedName\",\r\n          \"categoryName\",\r\n          \"CategoryName\",\r\n          \"name\",\r\n          \"Name\",\r\n          \"title\",\r\n          \"Title\"\r\n        ]) || \"Feriebolig\"\r\n      ).trim(),\r\n      description: stripHtml(\r\n        firstValue(row, [\r\n          \"localizedDescription\",\r\n          \"LocalizedDescription\",\r\n          \"description\",\r\n          \"Description\",\r\n          \"longDescription\",\r\n          \"LongDescription\",\r\n          \"shortDescription\",\r\n          \"ShortDescription\"\r\n        ])\r\n      ),\r\n      capacity: Number(\r\n        firstValue(row, [\r\n          \"capacity\",\r\n          \"Capacity\",\r\n          \"maxOccupancy\",\r\n          \"MaxOccupancy\",\r\n          \"maximumOccupancy\",\r\n          \"MaximumOccupancy\"\r\n        ])\r\n      ) || 0,\r\n      images: uniqueImages(row),\r\n      published: firstValue(row, [\r\n        \"isPublished\",\r\n        \"IsPublished\",\r\n        \"is_published\",\r\n        \"publishStatus\",\r\n        \"PublishStatus\",\r\n        \"publish_status\",\r\n        \"status\",\r\n        \"Status\"\r\n      ])\r\n    };\r\n  }\r\n\r\n  function isPublished(unit, hasPublicationFields) {\r\n    if (!hasPublicationFields) return true;\r\n    if (typeof unit.published === \"boolean\") return unit.published;\r\n\r\n    return [\r\n      \"published\",\r\n      \"approved\",\r\n      \"reviewed\",\r\n      \"active\",\r\n      \"true\",\r\n      \"1\"\r\n    ].includes(String(unit.published || \"\").trim().toLowerCase());\r\n  }\r\n\r\n  function buildModal(destinationLabel, locationLabel) {\r\n    const modal = document.createElement(\"div\");\r\n    modal.className = \"bno-direct-modal\";\r\n    modal.hidden = true;\r\n    modal.setAttribute(\"role\", \"dialog\");\r\n    modal.setAttribute(\"aria-modal\", \"true\");\r\n    modal.setAttribute(\"aria-label\", \"Feriebolig i \" + destinationLabel);\r\n\r\n    modal.innerHTML = `\r\n      <button type=\"button\" class=\"bno-direct-modal__backdrop\" data-bno-close aria-label=\"Luk\"><\/button>\r\n      <div class=\"bno-direct-modal__dialog\">\r\n        <button type=\"button\" class=\"bno-direct-modal__close\" data-bno-close aria-label=\"Luk\">\u00d7<\/button>\r\n        <div class=\"bno-direct-modal__gallery\">\r\n          <button type=\"button\" class=\"bno-direct-modal__arrow bno-direct-modal__arrow--prev\" data-bno-prev aria-label=\"Forrige billede\">\u2039<\/button>\r\n          <img decoding=\"async\" class=\"bno-direct-modal__image\" data-bno-modal-image src=\"\" alt=\"\" \/>\r\n          <button type=\"button\" class=\"bno-direct-modal__arrow bno-direct-modal__arrow--next\" data-bno-next aria-label=\"N\u00e6ste billede\">\u203a<\/button>\r\n          <span class=\"bno-direct-modal__counter\" data-bno-counter><\/span>\r\n        <\/div>\r\n        <div class=\"bno-direct-modal__content\">\r\n          <span class=\"bno-direct-eyebrow\">${escapeHtml(locationLabel || destinationLabel)}<\/span>\r\n          <h3 data-bno-modal-title><\/h3>\r\n          <p class=\"bno-direct-modal__capacity\" data-bno-modal-capacity><\/p>\r\n          <div class=\"bno-direct-modal__description\" data-bno-modal-description><\/div>\r\n          <div class=\"bno-direct-booking\">\r\n            <div class=\"bno-direct-booking__heading\">\r\n              <span class=\"bno-direct-eyebrow\">Tjek dit ophold<\/span>\r\n              <h4>Tjek om ferieboligen er ledig<\/h4>\r\n            <\/div>\r\n            <form class=\"bno-direct-form\" data-bno-availability-form novalidate>\r\n              <label>\r\n                <span>Indtjekning<\/span>\r\n                <input type=\"date\" data-bno-checkin required \/>\r\n              <\/label>\r\n              <label>\r\n                <span>Udtjekning<\/span>\r\n                <input type=\"date\" data-bno-checkout required \/>\r\n              <\/label>\r\n              <label>\r\n                <span>G\u00e6ster<\/span>\r\n                <input type=\"number\" data-bno-guests min=\"1\" step=\"1\" value=\"2\" required \/>\r\n              <\/label>\r\n              <button type=\"submit\" class=\"bno-direct-check-button\" data-bno-check-button>Tjek tilg\u00e6ngelighed<\/button>\r\n            <\/form>\r\n            <div class=\"bno-direct-message\" data-bno-message role=\"status\" aria-live=\"polite\" hidden><\/div>\r\n            <div class=\"bno-direct-price\" data-bno-price hidden>\r\n              <div class=\"bno-direct-price__row bno-direct-price__row--total\">\r\n                <span>Samlet pris for opholdet<\/span>\r\n                <strong data-bno-total><\/strong>\r\n              <\/div>\r\n              <div class=\"bno-direct-price__row\">\r\n                <span>Betales nu til BNO Travel<\/span>\r\n                <strong data-bno-pay-now><\/strong>\r\n              <\/div>\r\n              <div class=\"bno-direct-price__row\">\r\n                <span>Resterende bel\u00f8b til overnatningsstedet<\/span>\r\n                <strong data-bno-pay-later><\/strong>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"bno-direct-continue\" data-bno-continue-wrap hidden>\r\n              <button type=\"button\" class=\"bno-direct-book-button\" data-bno-continue>Forts\u00e6t til booking<\/button>\r\n              <p>G\u00e6steoplysninger, vilk\u00e5r og betaling gennemf\u00f8res i BNO Travels sikre bookingflow.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    `;\r\n\r\n    document.body.appendChild(modal);\r\n    return modal;\r\n  }\r\n\r\n  async function fetchJson(url, options) {\r\n    const controller = new AbortController();\r\n    const timeout = window.setTimeout(function () {\r\n      controller.abort();\r\n    }, 60000);\r\n\r\n    try {\r\n      const response = await fetch(\r\n        url,\r\n        Object.assign(\r\n          {\r\n            cache: \"no-store\",\r\n            signal: controller.signal,\r\n            headers: {\r\n              Accept: \"application\/json\"\r\n            }\r\n          },\r\n          options || {}\r\n        )\r\n      );\r\n\r\n      const payload = await response.json().catch(function () {\r\n        return null;\r\n      });\r\n\r\n      if (!response.ok || !payload || payload.ok === false) {\r\n        const error = new Error(\r\n          payload && (payload.detail || payload.message || payload.error)\r\n            ? payload.detail || payload.message || payload.error\r\n            : \"Foresp\u00f8rgslen kunne ikke gennemf\u00f8res.\"\r\n        );\r\n        error.code = payload && payload.error ? String(payload.error) : \"\";\r\n        throw error;\r\n      }\r\n\r\n      return payload;\r\n    } finally {\r\n      window.clearTimeout(timeout);\r\n    }\r\n  }\r\n\r\n  function init(root) {\r\n    if (!root || root.dataset.bnoInitialised === \"1\") return;\r\n    root.dataset.bnoInitialised = \"1\";\r\n\r\n    const apiBase = cleanBase(root.dataset.apiBase);\r\n    const bookingBase = String(\r\n      root.dataset.bookingBase ||\r\n      \"https:\/\/booking.bno-travel.com\/booking\/complete\"\r\n    ).trim();\r\n    const catalogCredsKey = String(root.dataset.catalogCredsKey || \"\").trim();\r\n    const bookingPartnerKey = String(\r\n      root.dataset.bookingPartnerKey || catalogCredsKey\r\n    ).trim();\r\n    const serviceId = String(root.dataset.serviceId || \"\").trim();\r\n    const areaKey = String(root.dataset.areaKey || \"\").trim();\r\n    const destinationLabel = String(\r\n      root.dataset.destinationLabel || \"destinasjonen\"\r\n    ).trim();\r\n    const locationLabel = String(\r\n      root.dataset.locationLabel || destinationLabel\r\n    ).trim();\r\n    const bookingOpenUntil = String(\r\n      root.dataset.bookingOpenUntil || \"2027-05-01\"\r\n    ).trim();\r\n    const minimumStayNights = Math.max(\r\n      1,\r\n      Number(root.dataset.minimumStayNights || 1) || 1\r\n    );\r\n    const initialCount = Math.max(\r\n      1,\r\n      Number(root.dataset.initialCount || 12) || 12\r\n    );\r\n    const allowedIds = parseIdSet(root.dataset.allowedUnitIds);\r\n    const excludedIds = parseIdSet(root.dataset.excludedUnitIds);\r\n\r\n    const status = root.querySelector(\"[data-bno-status]\");\r\n    const grid = root.querySelector(\"[data-bno-grid]\");\r\n    const moreWrap = root.querySelector(\"[data-bno-more-wrap]\");\r\n    const moreButton = root.querySelector(\"[data-bno-more]\");\r\n\r\n    if (!apiBase || !catalogCredsKey || !serviceId || !areaKey) {\r\n      if (status) {\r\n        status.textContent = \"Bulk 3 mangler n\u00f8dvendig konfigurasjon.\";\r\n        status.classList.add(\"is-error\");\r\n      }\r\n      return;\r\n    }\r\n\r\n    if (!status || !grid || !moreWrap || !moreButton) return;\r\n\r\n    const modal = buildModal(destinationLabel, locationLabel);\r\n    const modalImage = modal.querySelector(\"[data-bno-modal-image]\");\r\n    const modalTitle = modal.querySelector(\"[data-bno-modal-title]\");\r\n    const modalCapacity = modal.querySelector(\"[data-bno-modal-capacity]\");\r\n    const modalDescription = modal.querySelector(\"[data-bno-modal-description]\");\r\n    const modalCounter = modal.querySelector(\"[data-bno-counter]\");\r\n    const prevButton = modal.querySelector(\"[data-bno-prev]\");\r\n    const nextButton = modal.querySelector(\"[data-bno-next]\");\r\n    const closeButtons = modal.querySelectorAll(\"[data-bno-close]\");\r\n    const availabilityForm = modal.querySelector(\"[data-bno-availability-form]\");\r\n    const checkinInput = modal.querySelector(\"[data-bno-checkin]\");\r\n    const checkoutInput = modal.querySelector(\"[data-bno-checkout]\");\r\n    const guestsInput = modal.querySelector(\"[data-bno-guests]\");\r\n    const checkButton = modal.querySelector(\"[data-bno-check-button]\");\r\n    const messageNode = modal.querySelector(\"[data-bno-message]\");\r\n    const priceBox = modal.querySelector(\"[data-bno-price]\");\r\n    const totalNode = modal.querySelector(\"[data-bno-total]\");\r\n    const payNowNode = modal.querySelector(\"[data-bno-pay-now]\");\r\n    const payLaterNode = modal.querySelector(\"[data-bno-pay-later]\");\r\n    const continueWrap = modal.querySelector(\"[data-bno-continue-wrap]\");\r\n    const continueButton = modal.querySelector(\"[data-bno-continue]\");\r\n\r\n    let units = [];\r\n    let visibleCount = initialCount;\r\n    let currentUnit = null;\r\n    let currentImageIndex = 0;\r\n    let currentQuote = null;\r\n    let previousBodyOverflow = \"\";\r\n\r\n    function setStatus(message, isError) {\r\n      status.textContent = message || \"\";\r\n      status.hidden = !message;\r\n      status.classList.toggle(\"is-error\", Boolean(isError));\r\n    }\r\n\r\n    function setMessage(message, type) {\r\n      messageNode.textContent = message || \"\";\r\n      messageNode.hidden = !message;\r\n      messageNode.classList.remove(\"is-error\", \"is-success\");\r\n      if (type) messageNode.classList.add(\"is-\" + type);\r\n    }\r\n\r\n    function resetQuote() {\r\n      currentQuote = null;\r\n      priceBox.hidden = true;\r\n      continueWrap.hidden = true;\r\n      setMessage(\"\", \"\");\r\n    }\r\n\r\n    function cardHtml(unit, index) {\r\n      const image = unit.images[0];\r\n      const capacity = unit.capacity > 0\r\n        ? \"Op til \" + unit.capacity + \" g\u00e6ster\"\r\n        : \"Se detaljer og billeder\";\r\n      const description = unit.description ||\r\n        \"Se billeder, kapacitet og tilg\u00e6ngelighed for denne feriebolig.\";\r\n\r\n      return `\r\n        <article class=\"bno-direct-card\">\r\n          <button type=\"button\" class=\"bno-direct-card__button\" data-bno-unit-index=\"${index}\">\r\n            <div class=\"bno-direct-card__media\">\r\n              <img decoding=\"async\" src=\"${escapeHtml(image)}\" alt=\"${escapeHtml(unit.name)}\" loading=\"lazy\" \/>\r\n              <span class=\"bno-direct-card__count\">${unit.images.length} billeder<\/span>\r\n            <\/div>\r\n            <div class=\"bno-direct-card__body\">\r\n              <h3>${escapeHtml(unit.name)}<\/h3>\r\n              <p class=\"bno-direct-card__meta\">${escapeHtml(capacity)}<\/p>\r\n              <p class=\"bno-direct-card__description\">${escapeHtml(description)}<\/p>\r\n              <span class=\"bno-direct-card__link\">Se ferieboligen \u2192<\/span>\r\n            <\/div>\r\n          <\/button>\r\n        <\/article>\r\n      `;\r\n    }\r\n\r\n    function renderUnits() {\r\n      const visible = units.slice(0, visibleCount);\r\n      grid.innerHTML = visible.map(cardHtml).join(\"\");\r\n      grid.setAttribute(\"aria-busy\", \"false\");\r\n\r\n      grid.querySelectorAll(\"[data-bno-unit-index]\").forEach(function (button) {\r\n        button.addEventListener(\"click\", function () {\r\n          openModal(units[Number(button.dataset.bnoUnitIndex)]);\r\n        });\r\n      });\r\n\r\n      moreWrap.hidden = visibleCount >= units.length;\r\n      setStatus(\r\n        \"Viser \" + visible.length + \" av \" + units.length +\r\n        \" ferieboliger i \" + destinationLabel + \".\",\r\n        false\r\n      );\r\n    }\r\n\r\n    function updateModalImage() {\r\n      if (!currentUnit || !currentUnit.images.length) return;\r\n\r\n      currentImageIndex =\r\n        (currentImageIndex + currentUnit.images.length) % currentUnit.images.length;\r\n\r\n      modalImage.src = currentUnit.images[currentImageIndex];\r\n      modalImage.alt = currentUnit.name + \" \u2013 billede \" + (currentImageIndex + 1);\r\n      modalCounter.textContent =\r\n        currentImageIndex + 1 + \" \/ \" + currentUnit.images.length;\r\n      prevButton.hidden = currentUnit.images.length < 2;\r\n      nextButton.hidden = currentUnit.images.length < 2;\r\n    }\r\n\r\n    function openModal(unit) {\r\n      if (!unit) return;\r\n\r\n      currentUnit = unit;\r\n      currentImageIndex = 0;\r\n      modalTitle.textContent = unit.name;\r\n      modalCapacity.textContent = unit.capacity > 0\r\n        ? \"Op til \" + unit.capacity + \" g\u00e6ster\"\r\n        : \"\";\r\n      modalDescription.textContent = unit.description ||\r\n        \"Se tilg\u00e6ngelighed og pris for denne feriebolig.\";\r\n\r\n      const today = new Date();\r\n      const checkin = addDays(today, 1);\r\n      const checkout = addDays(checkin, Math.max(7, minimumStayNights));\r\n\r\n      checkinInput.min = localYmd(today);\r\n      checkoutInput.min = localYmd(addDays(checkin, minimumStayNights));\r\n      checkinInput.value = localYmd(checkin);\r\n      checkoutInput.value = localYmd(checkout);\r\n\r\n      if (bookingOpenUntil) {\r\n        checkinInput.max = bookingOpenUntil;\r\n        checkoutInput.max = bookingOpenUntil;\r\n      }\r\n\r\n      guestsInput.max = String(unit.capacity > 0 ? unit.capacity : 20);\r\n      guestsInput.value = String(Math.min(2, unit.capacity > 0 ? unit.capacity : 2));\r\n\r\n      resetQuote();\r\n      updateModalImage();\r\n\r\n      previousBodyOverflow = document.body.style.overflow;\r\n      document.body.style.overflow = \"hidden\";\r\n      document.body.classList.add(\"bno-direct-modal-open\");\r\n      modal.hidden = false;\r\n      modal.scrollTop = 0;\r\n\r\n      const close = modal.querySelector(\".bno-direct-modal__close\");\r\n      if (close) close.focus();\r\n    }\r\n\r\n    function closeModal() {\r\n      modal.hidden = true;\r\n      document.body.style.overflow = previousBodyOverflow;\r\n      document.body.classList.remove(\"bno-direct-modal-open\");\r\n      currentUnit = null;\r\n      currentQuote = null;\r\n    }\r\n\r\n    async function loadCatalog() {\r\n      try {\r\n        const query = new URLSearchParams({\r\n          serviceId: serviceId,\r\n          credsKey: catalogCredsKey,\r\n          lang: languageCode()\r\n        });\r\n\r\n        const payload = await fetchJson(\r\n          apiUrl(apiBase, \"\/api\/mews\/catalog?\") + query.toString()\r\n        );\r\n        const rows = extractRows(payload);\r\n        const publicationKeys = [\r\n          \"isPublished\",\r\n          \"IsPublished\",\r\n          \"is_published\",\r\n          \"publishStatus\",\r\n          \"PublishStatus\",\r\n          \"publish_status\",\r\n          \"status\",\r\n          \"Status\"\r\n        ];\r\n        const hasPublicationFields = rows.some(function (row) {\r\n          return publicationKeys.some(function (key) {\r\n            return Object.prototype.hasOwnProperty.call(row || {}, key);\r\n          });\r\n        });\r\n        const seen = new Set();\r\n\r\n        units = rows\r\n          .map(normaliseUnit)\r\n          .filter(function (unit) {\r\n            if (!unit.categoryId || seen.has(unit.categoryId)) return false;\r\n            seen.add(unit.categoryId);\r\n            if (allowedIds.size && !allowedIds.has(unit.categoryId)) return false;\r\n            if (excludedIds.has(unit.categoryId)) return false;\r\n            if (!isPublished(unit, hasPublicationFields)) return false;\r\n            return unit.images.length > 0;\r\n          })\r\n          .sort(function (a, b) {\r\n            return a.name.localeCompare(b.name, \"nb\", { sensitivity: \"base\" });\r\n          });\r\n\r\n        if (!units.length) {\r\n          grid.innerHTML = \"\";\r\n          grid.setAttribute(\"aria-busy\", \"false\");\r\n          moreWrap.hidden = true;\r\n          setStatus(\r\n            \"Ingen publicerede ferieboliger kunne indl\u00e6ses lige nu.\",\r\n            true\r\n          );\r\n          return;\r\n        }\r\n\r\n        renderUnits();\r\n      } catch (error) {\r\n        console.error(\"BNO destination catalog failed:\", error);\r\n        grid.innerHTML = \"\";\r\n        grid.setAttribute(\"aria-busy\", \"false\");\r\n        moreWrap.hidden = true;\r\n        setStatus(\r\n          \"Ferieboligerne kunne ikke indl\u00e6ses. Pr\u00f8v at opdatere siden.\",\r\n          true\r\n        );\r\n      }\r\n    }\r\n\r\n    availabilityForm.addEventListener(\"submit\", async function (event) {\r\n      event.preventDefault();\r\n      if (!currentUnit) return;\r\n\r\n      const from = String(checkinInput.value || \"\").trim();\r\n      const to = String(checkoutInput.value || \"\").trim();\r\n      const adults = Number(guestsInput.value || 0);\r\n\r\n      resetQuote();\r\n\r\n      if (!from || !to || to <= from) {\r\n        setMessage(\"V\u00e6lg gyldige datoer. Udtjekning skal v\u00e6re efter indtjekning.\", \"error\");\r\n        return;\r\n      }\r\n\r\n      const nights = nightsBetween(from, to);\r\n      if (nights < minimumStayNights) {\r\n        setMessage(\r\n          \"Minimumsopholdet er \" + minimumStayNights +\r\n          (minimumStayNights === 1 ? \" nat.\" : \" n\u00e6tter.\"),\r\n          \"error\"\r\n        );\r\n        return;\r\n      }\r\n\r\n      if (!Number.isInteger(adults) || adults < 1) {\r\n        setMessage(\"V\u00e6lg et gyldigt antal g\u00e6ster.\", \"error\");\r\n        return;\r\n      }\r\n\r\n      if (currentUnit.capacity > 0 && adults > currentUnit.capacity) {\r\n        setMessage(\r\n          \"Denne feriebolig har kapacitet til op til \" +\r\n          currentUnit.capacity + \" g\u00e6ster.\",\r\n          \"error\"\r\n        );\r\n        return;\r\n      }\r\n\r\n      checkButton.disabled = true;\r\n      checkButton.textContent = \"Kontrollerer \u2026\";\r\n      setMessage(\"Kontrollerer tilg\u00e6ngelighed og pris \u2026\", \"\");\r\n\r\n      try {\r\n        const payload = await fetchJson(\r\n          apiUrl(apiBase, \"\/api\/bno-direct\/quote\"),\r\n          {\r\n            method: \"POST\",\r\n            headers: {\r\n              Accept: \"application\/json\",\r\n              \"Content-Type\": \"application\/json\"\r\n            },\r\n            body: JSON.stringify({\r\n              partnerKey: bookingPartnerKey,\r\n              areaKey: areaKey,\r\n              resourceCategoryId: currentUnit.categoryId,\r\n              from: from,\r\n              to: to,\r\n              adults: adults\r\n            })\r\n          }\r\n        );\r\n\r\n        const quote = payload.data || payload;\r\n        const pricing = quote.pricing || {};\r\n        const currency = String(quote.currency || \"EUR\").toUpperCase();\r\n        const total = Number(pricing.guestTotalGross);\r\n        const payNow = Number(pricing.bnoPrepaidGross);\r\n        const payLater = Number(pricing.remainingGross);\r\n\r\n        if (!Number.isFinite(total) || total <= 0) {\r\n          throw new Error(\"Totalprisen kunne ikke hentes.\");\r\n        }\r\n\r\n        currentQuote = {\r\n          from: from,\r\n          to: to,\r\n          adults: adults,\r\n          currency: currency,\r\n          total: total,\r\n          payNow: Number.isFinite(payNow) ? payNow : 0,\r\n          payLater: Number.isFinite(payLater)\r\n            ? payLater\r\n            : Math.max(0, total - (Number.isFinite(payNow) ? payNow : 0))\r\n        };\r\n\r\n        totalNode.textContent = formatMoney(currentQuote.total, currency);\r\n        payNowNode.textContent = formatMoney(currentQuote.payNow, currency);\r\n        payLaterNode.textContent = formatMoney(currentQuote.payLater, currency);\r\n        priceBox.hidden = false;\r\n        continueWrap.hidden = false;\r\n\r\n        setMessage(\r\n          \"Ferieboligen er tilg\u00e6ngelig fra \" + formatDate(from) +\r\n          \" til \" + formatDate(to) + \".\",\r\n          \"success\"\r\n        );\r\n      } catch (error) {\r\n        console.error(\"BNO destination quote failed:\", error);\r\n        const code = String(error && error.code || \"\");\r\n        let message = error && error.message\r\n          ? error.message\r\n          : \"Tilg\u00e6ngeligheden kunne ikke kontrolleres. Pr\u00f8v igen.\";\r\n\r\n        if (code === \"booking_not_open\") {\r\n          message = \"Booking er endnu ikke \u00e5ben for denne destination.\";\r\n        } else if (code === \"not_available\") {\r\n          message = \"Ferieboligen er ikke tilg\u00e6ngelig i den valgte periode.\";\r\n        }\r\n\r\n        setMessage(message, \"error\");\r\n      } finally {\r\n        checkButton.disabled = false;\r\n        checkButton.textContent = \"Tjek tilg\u00e6ngelighed\";\r\n      }\r\n    });\r\n\r\n    function invalidateQuote() {\r\n      resetQuote();\r\n    }\r\n\r\n    checkinInput.addEventListener(\"change\", function () {\r\n      if (checkinInput.value) {\r\n        const minCheckout = localYmd(\r\n          addDays(new Date(checkinInput.value + \"T12:00:00\"), minimumStayNights)\r\n        );\r\n        checkoutInput.min = minCheckout;\r\n        if (!checkoutInput.value || checkoutInput.value < minCheckout) {\r\n          checkoutInput.value = minCheckout;\r\n        }\r\n      }\r\n      invalidateQuote();\r\n    });\r\n\r\n    checkoutInput.addEventListener(\"change\", invalidateQuote);\r\n    guestsInput.addEventListener(\"change\", invalidateQuote);\r\n\r\n    continueButton.addEventListener(\"click\", function () {\r\n      if (!currentUnit || !currentQuote) return;\r\n\r\n      const url = new URL(bookingBase, window.location.origin);\r\n      url.searchParams.set(\"partnerKey\", bookingPartnerKey);\r\n      url.searchParams.set(\"areaKey\", areaKey);\r\n      url.searchParams.set(\"resourceCategoryId\", currentUnit.categoryId);\r\n      url.searchParams.set(\"from\", currentQuote.from);\r\n      url.searchParams.set(\"to\", currentQuote.to);\r\n      url.searchParams.set(\"adults\", String(currentQuote.adults));\r\n      url.searchParams.set(\"propertyName\", currentUnit.name);\r\n      url.searchParams.set(\"lang\", languageCode());\r\n\r\n      if (currentUnit.images[0]) {\r\n        url.searchParams.set(\"imageUrl\", currentUnit.images[0]);\r\n      }\r\n\r\n      window.location.assign(url.toString());\r\n    });\r\n\r\n    prevButton.addEventListener(\"click\", function () {\r\n      currentImageIndex -= 1;\r\n      updateModalImage();\r\n    });\r\n\r\n    nextButton.addEventListener(\"click\", function () {\r\n      currentImageIndex += 1;\r\n      updateModalImage();\r\n    });\r\n\r\n    closeButtons.forEach(function (button) {\r\n      button.addEventListener(\"click\", closeModal);\r\n    });\r\n\r\n    modal.addEventListener(\"keydown\", function (event) {\r\n      if (event.key === \"Escape\") closeModal();\r\n      if (event.key === \"ArrowLeft\") {\r\n        currentImageIndex -= 1;\r\n        updateModalImage();\r\n      }\r\n      if (event.key === \"ArrowRight\") {\r\n        currentImageIndex += 1;\r\n        updateModalImage();\r\n      }\r\n    });\r\n\r\n    moreButton.addEventListener(\"click\", function () {\r\n      visibleCount = Math.min(visibleCount + initialCount, units.length);\r\n      renderUnits();\r\n    });\r\n\r\n    loadCatalog();\r\n  }\r\n\r\n  function mountAll(scope) {\r\n    const context = scope && scope.querySelectorAll ? scope : document;\r\n    context.querySelectorAll(ROOT_SELECTOR).forEach(init);\r\n  }\r\n\r\n  window.BNODirectDestinationCatalog = {\r\n    mountAll: mountAll\r\n  };\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", function () {\r\n      mountAll(document);\r\n    }, { once: true });\r\n  } else {\r\n    mountAll(document);\r\n  }\r\n\r\n  window.addEventListener(\"load\", function () {\r\n    mountAll(document);\r\n  }, { once: true });\r\n})();\r\n\r\n<\/script>\r\n\r\n\r\n<style>\r\n\/* =========================================================\r\n   ZELL AM SEE \u2013 BULK 3 \/ FIRE BNO DIRECT-KATALOGER\r\n   Legges etter den globale BNO Direct-CSS-en\r\n   ========================================================= *\/\r\n\r\nhtml,\r\nbody {\r\n  max-width: 100%;\r\n  overflow-x: clip;\r\n}\r\n\r\n#enheter.bno-zell-catalogs,\r\n#enheter.bno-zell-catalogs * {\r\n  box-sizing: border-box;\r\n}\r\n\r\n#enheter.bno-zell-catalogs {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  overflow-x: clip;\r\n  scroll-margin-top: 90px;\r\n}\r\n\r\n#enheter .bno-zell-catalog-block {\r\n  position: relative;\r\n  width: 100%;\r\n  max-width: 100%;\r\n  margin: 0;\r\n  padding: 88px 0;\r\n  overflow-x: clip;\r\n  scroll-margin-top: 90px;\r\n}\r\n\r\n#enheter .bno-zell-catalog-block--soft {\r\n  background: linear-gradient(180deg, #f5f8fa 0%, #edf3f6 100%) !important;\r\n}\r\n\r\n#enheter .bno-zell-catalog-block--light {\r\n  background: #ffffff !important;\r\n}\r\n\r\n#enheter .bno-zell-catalog-block > .bno-shell {\r\n  width: min(1180px, calc(100% - 48px));\r\n  max-width: 1180px;\r\n  margin-right: auto;\r\n  margin-left: auto;\r\n}\r\n\r\n\/* Overskrift per hotell *\/\r\n#enheter .bno-zell-catalog-heading {\r\n  display: grid;\r\n  max-width: 900px;\r\n  grid-template-columns: 58px minmax(0, 1fr);\r\n  gap: 22px;\r\n  align-items: start;\r\n  margin: 0 0 38px;\r\n}\r\n\r\n#enheter .bno-zell-catalog-heading__number {\r\n  display: inline-flex;\r\n  width: 58px;\r\n  height: 58px;\r\n  align-items: center;\r\n  justify-content: center;\r\n  border-radius: 17px;\r\n  background: #0c1a38;\r\n  color: #ffffff;\r\n  font-size: 16px;\r\n  font-weight: 850;\r\n  line-height: 1;\r\n  box-shadow: 0 12px 28px rgba(12, 26, 56, 0.20);\r\n}\r\n\r\n#enheter .bno-zell-catalog-heading .bno-eyebrow {\r\n  display: inline-flex;\r\n  margin: 0 0 9px;\r\n  color: #123b5d;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  line-height: 1.3;\r\n  letter-spacing: 0.085em;\r\n  text-transform: uppercase;\r\n}\r\n\r\n#enheter .bno-zell-catalog-heading h2 {\r\n  margin: 0 0 13px;\r\n  color: #0c1a38;\r\n  font-size: clamp(32px, 4vw, 48px);\r\n  font-weight: 700;\r\n  line-height: 1.1;\r\n  letter-spacing: -0.03em;\r\n}\r\n\r\n#enheter .bno-zell-catalog-heading p {\r\n  max-width: 760px;\r\n  margin: 0;\r\n  color: #586676;\r\n  font-size: 17px;\r\n  line-height: 1.7;\r\n}\r\n\r\n\/* Status *\/\r\n#enheter .bno-direct-catalog__status {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  margin: 0 0 28px !important;\r\n  padding: 15px 17px !important;\r\n  border: 1px solid rgba(12, 26, 56, 0.14) !important;\r\n  border-radius: 14px !important;\r\n  background: rgba(255, 255, 255, 0.92) !important;\r\n  color: #0c1a38 !important;\r\n  font-size: 15px !important;\r\n  line-height: 1.5 !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n\/* Grid \u2013 lik Chamonix *\/\r\n#enheter .bno-direct-catalog__grid {\r\n  display: grid !important;\r\n  width: 100% !important;\r\n  max-width: 100% !important;\r\n  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\r\n  gap: 24px !important;\r\n  align-items: stretch !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n}\r\n\r\n#enheter .bno-direct-card {\r\n  position: relative;\r\n  min-width: 0;\r\n}\r\n\r\n\/* Tydelig hotellmerke p\u00e5 hvert genererte romkort *\/\r\n#enheter .bno-direct-card::before {\r\n  position: absolute;\r\n  top: 14px;\r\n  left: 14px;\r\n  z-index: 8;\r\n  display: inline-flex;\r\n  max-width: calc(100% - 28px);\r\n  padding: 7px 11px;\r\n  overflow: hidden;\r\n  border-radius: 999px;\r\n  background: rgba(12, 26, 56, 0.92);\r\n  color: #ffffff;\r\n  font-size: 9.5px;\r\n  font-weight: 800;\r\n  line-height: 1.2;\r\n  letter-spacing: 0.055em;\r\n  text-overflow: ellipsis;\r\n  text-transform: uppercase;\r\n  white-space: nowrap;\r\n  pointer-events: none;\r\n  backdrop-filter: blur(7px);\r\n  -webkit-backdrop-filter: blur(7px);\r\n}\r\n\r\n#rom-the-house .bno-direct-card::before {\r\n  content: \"The House Zell am See\";\r\n}\r\n\r\n#rom-the-gast-house .bno-direct-card::before {\r\n  content: \"The Gast House Zell am See\";\r\n}\r\n\r\n#rom-nikolaus .bno-direct-card::before {\r\n  content: \"Nikolaus by AvenidA\";\r\n}\r\n\r\n#rom-elements-resort .bno-direct-card::before {\r\n  content: \"Elements Resort Zell am See\";\r\n}\r\n\r\n\/* Kortene skal ikke arve bredder eller bildepadding fra \u00f8vrig side-CSS *\/\r\n#enheter .bno-direct-card,\r\n#enheter .bno-direct-card__button,\r\n#enheter .bno-direct-card__media,\r\n#enheter .bno-direct-card__body {\r\n  max-width: 100% !important;\r\n}\r\n\r\n#enheter .bno-direct-card__media {\r\n  padding: 0 !important;\r\n}\r\n\r\n#enheter .bno-direct-card__media img {\r\n  position: static !important;\r\n  inset: auto !important;\r\n  display: block !important;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  object-fit: cover !important;\r\n}\r\n\r\n#enheter .bno-direct-more-wrap {\r\n  display: flex;\r\n  justify-content: center;\r\n  margin-top: 34px;\r\n}\r\n\r\n#enheter .bno-direct-more-wrap[hidden] {\r\n  display: none !important;\r\n}\r\n\r\n#enheter .bno-direct-more {\r\n  display: inline-flex;\r\n  min-height: 50px;\r\n  align-items: center;\r\n  justify-content: center;\r\n  padding: 13px 22px;\r\n  border: 1px solid #0c1a38;\r\n  border-radius: 12px;\r\n  background: #0c1a38;\r\n  color: #ffffff;\r\n  cursor: pointer;\r\n  font: inherit;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;\r\n}\r\n\r\n#enheter .bno-direct-more:hover,\r\n#enheter .bno-direct-more:focus {\r\n  background: #123b5d;\r\n  box-shadow: 0 12px 26px rgba(12, 26, 56, 0.20);\r\n  transform: translateY(-2px);\r\n}\r\n\r\n\/* Nettbrett *\/\r\n@media (max-width: 1024px) {\r\n  #enheter .bno-direct-catalog__grid {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n  }\r\n}\r\n\r\n\/* Mobil *\/\r\n@media (max-width: 767px) {\r\n  #enheter .bno-zell-catalog-block {\r\n    padding: 62px 0;\r\n  }\r\n\r\n  #enheter .bno-zell-catalog-block > .bno-shell {\r\n    width: min(100% - 32px, 1180px);\r\n  }\r\n\r\n  #enheter .bno-zell-catalog-heading {\r\n    grid-template-columns: 1fr;\r\n    gap: 17px;\r\n    margin-bottom: 31px;\r\n  }\r\n\r\n  #enheter .bno-zell-catalog-heading__number {\r\n    width: 50px;\r\n    height: 50px;\r\n    border-radius: 15px;\r\n  }\r\n\r\n  #enheter .bno-zell-catalog-heading h2 {\r\n    font-size: clamp(29px, 9vw, 39px);\r\n  }\r\n\r\n  #enheter .bno-zell-catalog-heading p {\r\n    font-size: 16px;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  #enheter .bno-direct-catalog__grid {\r\n    grid-template-columns: 1fr !important;\r\n    gap: 21px !important;\r\n  }\r\n\r\n  #enheter .bno-direct-card::before {\r\n    top: 12px;\r\n    left: 12px;\r\n    max-width: calc(100% - 24px);\r\n    font-size: 9px;\r\n  }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n  #enheter *,\r\n  .bno-direct-modal * {\r\n    animation-duration: 0.01ms !important;\r\n    animation-iteration-count: 1 !important;\r\n    transition-duration: 0.01ms !important;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  \"use strict\";\r\n\r\n  function remountZellCatalogs() {\r\n    if (\r\n      window.BNODirectDestinationCatalog &&\r\n      typeof window.BNODirectDestinationCatalog.mountAll === \"function\"\r\n    ) {\r\n      window.BNODirectDestinationCatalog.mountAll(document);\r\n    }\r\n  }\r\n\r\n  remountZellCatalogs();\r\n  window.setTimeout(remountZellCatalogs, 150);\r\n  window.setTimeout(remountZellCatalogs, 600);\r\n  window.setTimeout(remountZellCatalogs, 1500);\r\n\r\n  document.addEventListener(\"elementor\/frontend\/init\", function () {\r\n    window.setTimeout(remountZellCatalogs, 100);\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e6dc9e6 e-flex e-con-boxed e-con e-parent\" data-id=\"e6dc9e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1bdce1cb e-flex e-con-boxed e-con e-parent\" data-id=\"1bdce1cb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c026e1c elementor-widget elementor-widget-html\" data-id=\"1c026e1c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bno-zell bno-section bno-section--light\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-editorial-split\">\r\n\r\n      <div class=\"bno-editorial-split__content\">\r\n\r\n        <span class=\"bno-eyebrow\">\r\n          Oplevelser i Zell am See\r\n        <\/span>\r\n\r\n        <h2>\r\n          Bjerge, s\u00f8 og aktive feriedage hele \u00e5ret\r\n        <\/h2>\r\n\r\n        <p>\r\n          Zell am See kombinerer et levende bymilj\u00f8 med n\u00e6rhed til s\u00f8,\r\n          bjerge og et varieret aktivitetsudbud. Det giver et godt udgangspunkt\r\n          b\u00e5de for aktive ferier og roligere ophold.\r\n        <\/p>\r\n\r\n        <p>\r\n          Vinteren byder p\u00e5 ski og sneoplevelser i regionen, mens sommeren\r\n          \u00e5bner for vandreture, cykling, badning og aktiviteter omkring s\u00f8en.\r\n          Restauranter, butikker og servicefaciliteter g\u00f8r det samtidig nemt\r\n          at kombinere oplevelserne med komfortable dage i byen.\r\n        <\/p>\r\n\r\n        <div class=\"bno-actions\">\r\n          <a href=\"#fakta\" class=\"bno-btn bno-btn--primary\">\r\n            Se praktisk information\r\n          <\/a>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n      <div class=\"bno-editorial-split__media\">\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?w=800&#038;ssl=1\" alt=\"Bjerge, s\u00f8 og ferieoplevelser i Zell am See\" loading=\"lazy\" \/>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7087d327 e-flex e-con-boxed e-con e-parent\" data-id=\"7087d327\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72cc6985 elementor-widget elementor-widget-html\" data-id=\"72cc6985\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"fakta\" class=\"bno-zell bno-section bno-section--soft\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-section-heading\">\r\n      <span class=\"bno-eyebrow\">\r\n        Praktisk information\r\n      <\/span>\r\n\r\n      <h2>\r\n        Aktiviteter, transport og nyttig information i Zell am See\r\n      <\/h2>\r\n\r\n      <p>\r\n        Her finder du en kort oversigt over nogle af mulighederne som g\u00f8r\r\n        Zell am See til et attraktivt rejsem\u00e5l i flere dele af \u00e5ret.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"bno-info-grid\">\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">01<\/span>\r\n        <h3>Vinteroplevelser<\/h3>\r\n\r\n        <p>\r\n          Om vinteren er Zell am See et udgangspunkt for ski,\r\n          vinteraktiviteter og oplevelser i bjergomr\u00e5derne omkring byen.\r\n          Tilbud og \u00e5bningstider varierer gennem s\u00e6sonen.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">02<\/span>\r\n        <h3>Sommeraktiviteter<\/h3>\r\n\r\n        <p>\r\n          Sommeren giver muligheder for vandreture, cykling, badning,\r\n          b\u00e5dliv og rolige dage ved s\u00f8en eller i bjergene.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">03<\/span>\r\n        <h3>Transport<\/h3>\r\n\r\n        <p>\r\n          Zell am See har forbindelser videre i regionen og et kompakt\r\n          centrum. Kontroll\u00e9r altid opdaterede k\u00f8replaner og s\u00e6sontilbud\r\n          f\u00f8r afrejse.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">04<\/span>\r\n        <h3>Butikker og service<\/h3>\r\n\r\n        <p>\r\n          I og omkring centrum finder du dagligvarebutikker, sportsbutikker,\r\n          apotek og andre servicefaciliteter som er nyttige under opholdet.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">05<\/span>\r\n        <h3>Restauranter<\/h3>\r\n\r\n        <p>\r\n          Byen har restauranter, caf\u00e9er og spisesteder som g\u00f8r det\r\n          nemt at kombinere aktive dage med hyggelige m\u00e5ltider.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">06<\/span>\r\n        <h3>Ophold \u00e5ret igennem<\/h3>\r\n\r\n        <p>\r\n          Kombinationen af bjerge, s\u00f8, centrum og forskellige hotelkoncepter\r\n          g\u00f8r Zell am See aktuelt for b\u00e5de korte bes\u00f8g og l\u00e6ngere ferier.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4af3cc1b elementor-widget elementor-widget-html\" data-id=\"4af3cc1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bno-zell bno-section bno-destination-cta\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-cta-box\">\r\n\r\n      <div class=\"bno-cta-box__content\">\r\n        <span class=\"bno-eyebrow\">\r\n          N\u00e6ste skridt\r\n        <\/span>\r\n\r\n        <h2>\r\n          Find det rette hotel og v\u00e6relsestype i Zell am See\r\n        <\/h2>\r\n\r\n        <p>\r\n          Sammenlign v\u00e6relser, suiter og lejligheder ved The House,\r\n          The Gast House, Nikolaus by AvenidA og Elements Resort Zell am See.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"bno-cta-box__action\">\r\n        <a href=\"#enheter\" class=\"bno-btn bno-btn--primary bno-cta-button\">\r\n          <span>Se v\u00e6relser og lejligheder<\/span>\r\n          <span aria-hidden=\"true\">\u2192<\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ee08c8a e-flex e-con-boxed e-con e-parent\" data-id=\"ee08c8a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Zell am See \u00b7 \u00d8strig Overnatning i Zell am See \u2013 udforsk fire hoteller ved bjerge og s\u00f8 Find v\u00e6relser, suiter og lejligheder hos The House Zell am See, The Gast House Zell am See, Nikolaus by AvenidA og Elements Resort Zell am See. Sammenlign v\u00e6relsestyperne og find overnatningen der passer til din rejse. Se [&hellip;]<\/p>\n","protected":false},"author":260013438,"featured_media":93561,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"footnotes":"","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_focuskw":"","rank_math_title":"Overnatning i Zell am See \u2013 4 hoteller | BNO Travel","rank_math_description":"Overnatning i Zell am See p\u00e5 fire hoteller. Udforsk v\u00e6relser, suiter og lejligheder n\u00e6r bjerge, s\u00f8, ski og aktiviteter hele \u00e5ret.","rank_math_focus_keyword":"overnatning i Zell am See,Zell am See hotel","_dpc-meta-title":"","_dpc-meta-description":"","_dpc-keyword":""},"class_list":["post-94418","page","type-page","status-publish","has-post-thumbnail","hentry"],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PgDuwj-oyS","jetpack-related-posts":[{"id":94451,"url":"https:\/\/bno-travel.com\/da\/overnatting-i-de-osterrikske-alper\/","url_meta":{"origin":94418,"position":0},"title":"De \u00f8strigske Alper","author":"Jan Terje \u00c5s","date":"29. juli 2026","format":false,"excerpt":"Destinationer \u00b7 De \u00f8strigske Alper Overnatning i de \u00f8strigske Alper \u2013 find den destination, der passer til din rejse Overnatning i de \u00f8strigske Alper giver dig n\u00e6rhed til alpelandsbyer, skiomr\u00e5der, s\u00f8er og spektakul\u00e6re bjergoplevelser. Udforsk Kaprun og vores \u00f8vrige destinationer, og find et ophold der passer til b\u00e5de vinterferien og\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Overnatting i \u00d8sterrike","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":92979,"url":"https:\/\/bno-travel.com\/overnatting-i-de-osterrikske-alper\/","url_meta":{"origin":94418,"position":1},"title":"De \u00f8sterrikske alper","author":"Jan Terje \u00c5s","date":"29. juli 2026","format":false,"excerpt":"Destinasjoner \u00b7 De \u00f8sterrikske Alpene Overnatting i de \u00f8sterrikske Alpene \u2013 finn destinasjonen som passer reisen din Overnatting i de \u00f8sterrikske Alpene gir deg n\u00e6rhet til alpelandsbyer, skiomr\u00e5der, innsj\u00f8er og spektakul\u00e6re fjellopplevelser. Utforsk Kaprun og v\u00e5re \u00f8vrige destinasjoner, og finn et opphold som passer b\u00e5de vinterferien og aktive sommerdager. Se\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Overnatting i \u00d8sterrike","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_192952681.jpeg?fit=1200%2C643&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":93651,"url":"https:\/\/bno-travel.com\/overnatting-i-zell-am-see\/","url_meta":{"origin":94418,"position":2},"title":"Overnatting i Zell am See","author":"Jan Terje \u00c5s","date":"3. august 2026","format":false,"excerpt":"Zell am See \u00b7 \u00d8sterrike Overnatting i Zell am See \u2013 utforsk fire hoteller ved fjell og innsj\u00f8 Finn rom, suiter og leiligheter hos The House Zell am See, The Gast House Zell am See, Nikolaus by AvenidA og Elements Resort Zell am See. Sammenlign romtypene og finn overnattingen som\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Zell am See ski resort in the Austrian Alps","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":98432,"url":"https:\/\/bno-travel.com\/is\/gisting-i-zell-am-see\/","url_meta":{"origin":94418,"position":3},"title":"Gisting \u00ed Zell am See","author":"Jan Terje \u00c5s","date":"3. august 2026","format":false,"excerpt":"Zell am See \u00b7 Austurr\u00edki Gisting \u00ed Zell am See \u2013 sko\u00f0a\u00f0u fj\u00f6gur h\u00f3tel vi\u00f0 fj\u00f6ll og st\u00f6\u00f0uvatn Finndu herbergi, sv\u00edtur og \u00edb\u00fa\u00f0ir \u00e1 The House Zell am See, The Gast House Zell am See, Nikolaus by AvenidA og Elements Resort Zell am See. Ber\u00f0u saman herbergjager\u00f0irnar og finndu gistinguna\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Zell am See ski resort in the Austrian Alps","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":91236,"url":"https:\/\/bno-travel.com\/da\/overnatting\/","url_meta":{"origin":94418,"position":4},"title":"Overnatning og hoteller \u2013 find rejsem\u00e5l | BNO Travel","author":"Jan Terje \u00c5s","date":"11. juli 2025","format":false,"excerpt":"Overnatning og hotellerFind destinationen og opholdet, der passer til din rejseUdforsk BNO Travels destinationer i Norge og resten af verden. V\u00e6lg en kategori nedenfor for at g\u00e5 direkte til de destinationer, du er interesseret i.Udvalgte destinationerHoteller i NorgeSun & beachStorbyer i EuropaNordamerikaAsia & OceaniaMountains & skiS\u00f8g overnatning Udvalgte destinationerDestinationer med\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/04\/overnatting_mine_flybestillinger.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/04\/overnatting_mine_flybestillinger.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/04\/overnatting_mine_flybestillinger.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/04\/overnatting_mine_flybestillinger.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/04\/overnatting_mine_flybestillinger.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":94466,"url":"https:\/\/bno-travel.com\/de\/overnatting-i-zell-am-see\/","url_meta":{"origin":94418,"position":5},"title":"Unterk\u00fcnfte in Zell am See","author":"Jan Terje \u00c5s","date":"3. august 2026","format":false,"excerpt":"Zell am See \u00b7 \u00d6sterreich Unterk\u00fcnfte in Zell am See \u2013 vier Hotels zwischen Bergen und See entdecken Finden Sie Zimmer, Suiten und Apartments im The House Zell am See, The Gast House Zell am See, Nikolaus by AvenidA und Elements Resort Zell am See. Vergleichen Sie die Zimmertypen und\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Zell am See ski resort in the Austrian Alps","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/08\/AdobeStock_40023408.jpeg?fit=1200%2C797&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/pages\/94418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/users\/260013438"}],"replies":[{"embeddable":true,"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/comments?post=94418"}],"version-history":[{"count":1,"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/pages\/94418\/revisions"}],"predecessor-version":[{"id":94419,"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/pages\/94418\/revisions\/94419"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/media\/93561"}],"wp:attachment":[{"href":"https:\/\/bno-travel.com\/da\/wp-json\/wp\/v2\/media?parent=94418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}