.elementor-1222 .elementor-element.elementor-element-97a0298{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-97a0298 *//* ==================================================
   DUNA-SZIGET – SZÁLLÁSFOGLALÁS / PREVIO KERET
   Külső Elementor konténer: ds-booking-container
   Padding és gap: 0.

   KÉT RÉSZ:
   1. A keret – ez mindig működik, akkor is, ha a Previo
      iframe-et tesz be.
   2. A modul belseje – csak akkor hat, ha a Previo
      közvetlenül HTML-t injektál, nem iframe-et. Ezt a
      részt a fájl végén találod, és ellenőrizni kell.
   ================================================== */

.ds-booking-container,
.ds-booking-container > .e-con-inner,
.ds-booking-container .elementor-widget-html,
.ds-booking-container .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ds-booking,
.ds-booking *,
.ds-booking *::before,
.ds-booking *::after {
  box-sizing: border-box;
}

.ds-booking {
  --dbk-green: #10392b;
  --dbk-green-dark: #092b20;
  --dbk-cream: #f4f0e7;
  --dbk-paper: #fbf8f1;
  --dbk-orange: #c77b47;
  --dbk-orange-dark: #a55f34;
  --dbk-muted: #5c6a5f;
  --dbk-line: rgba(16, 57, 43, 0.16);
  --dbk-gutter: clamp(40px, 10vw, 144px);
  /* A footer világos sávjának színe. */
  --dbk-footer-paper: #f7f4ed;

  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--dbk-green);
  background: linear-gradient(180deg, var(--dbk-paper) 0%, var(--dbk-footer-paper) 100%);
  font-family: var(--e-global-typography-text-font-family, Manrope), Arial, sans-serif;
}

.ds-booking__inner {
  width: min(1320px, calc(100% - var(--dbk-gutter)));
  margin: 0 auto;
  /* Felül a lebegő header helye, alul a footer saját
     paddingja hozzáadódik, ezért ott kevesebb. */
  padding: 150px 0 clamp(52px, 4.5vw, 72px);
}

/* A p szándékosan nincs a resetben: a .ds-booking p (0-1-1)
   erősebb lenne az egyosztályos szabályoknál (0-1-0). */
.ds-booking h1,
.ds-booking h2 {
  margin-top: 0;
}

.ds-booking__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 clamp(24px, 2.4vw, 34px);
  color: var(--dbk-orange-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.ds-booking__eyebrow > span {
  width: 34px;
  height: 1px;
  flex: 0 0 auto;
  background: var(--dbk-orange);
}

.ds-booking__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(36px, 3.8vw, 68px);
  align-items: end;
  margin-bottom: clamp(40px, 4vw, 60px);
}

.ds-booking h1 {
  margin-bottom: 0;
  color: var(--dbk-green);
  font-family: var(--e-global-typography-primary-font-family, Lora), Georgia, serif;
  font-size: clamp(38px, 3.8vw, 64px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.048em;
}

.ds-booking h1 em {
  display: block;
  margin-top: 0.06em;
  color: var(--dbk-orange);
  font-weight: 500;
}

.ds-booking__lead {
  justify-self: end;
  max-width: 48ch;
  margin: 0;
  padding-bottom: 6px;
  color: var(--dbk-muted);
  font-size: 16px;
  line-height: 1.75;
}

/* --- A modul kerete --- */

.ds-booking__widget {
  position: relative;
  min-height: 420px;
  padding: clamp(16px, 1.8vw, 28px);
  border: 1px solid var(--dbk-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(9, 43, 32, 0.08);
}

/* Az iframe kitölti a keretet, és nincs saját szegélye. */
.ds-booking__widget iframe {
  display: block;
  width: 100% !important;
  min-height: 640px;
  border: 0;
  border-radius: 14px;
}

.ds-booking__noscript {
  margin: 0;
  padding: 28px;
  color: var(--dbk-muted);
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
}

/* --- Segítség sor --- */

.ds-booking__help {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  margin: clamp(28px, 2.8vw, 40px) 0 0;
  padding: 20px 24px;
  border: 1px solid var(--dbk-line);
  border-radius: 16px;
  background: rgba(199, 123, 71, 0.06);
  color: var(--dbk-green);
  font-size: 15px;
  line-height: 1.65;
}

.ds-booking__help > span {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--dbk-orange);
}

/* Kétosztályos, hogy a téma linkszíne ne vigye el. */
.ds-booking .ds-booking__help a,
.ds-booking .ds-booking__noscript a {
  color: var(--dbk-green-dark);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(199, 123, 71, 0.5);
  padding-bottom: 1px;
  transition: color 0.22s ease, border-color 0.22s ease;
}

.ds-booking .ds-booking__help a:hover,
.ds-booking .ds-booking__help a:focus-visible,
.ds-booking .ds-booking__noscript a:hover,
.ds-booking .ds-booking__noscript a:focus-visible {
  color: var(--dbk-orange-dark);
  border-bottom-color: var(--dbk-orange);
}

/* --- Tablet --- */

@media (max-width: 1100px) {
  .ds-booking__head {
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
  }

  .ds-booking h1 {
    max-width: 20ch;
    font-size: clamp(38px, 5.2vw, 52px);
  }

  .ds-booking__lead {
    justify-self: start;
    max-width: 60ch;
    padding-bottom: 0;
  }
}

/* --- Mobil --- */

@media (max-width: 767px) {
  .ds-booking {
    --dbk-gutter: 32px;
  }

  .ds-booking__inner {
    /* Mobilon a CTA kártya margin-top: -58px-szel felcsúszik
       ebbe a blokkba, ezért itt annyival több hely kell alul. */
    padding: 120px 0 128px;
  }

  .ds-booking__eyebrow {
    gap: 10px;
    margin-bottom: 20px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }

  .ds-booking__eyebrow > span {
    width: 26px;
  }

  .ds-booking__head {
    margin-bottom: 28px;
  }

  .ds-booking h1 {
    max-width: 100%;
    font-size: clamp(32px, 8.8vw, 42px);
    line-height: 1.02;
    letter-spacing: -0.04em;
  }

  .ds-booking__lead {
    font-size: 15px;
    line-height: 1.68;
  }

  /* Keskeny képernyőn a keret padding elveszi a modul helyét. */
  .ds-booking__widget {
    min-height: 0;
    padding: 10px;
    border-radius: 16px;
  }

  .ds-booking__widget iframe {
    min-height: 760px;
  }

  .ds-booking__help {
    gap: 12px;
    margin-top: 24px;
    padding: 18px 18px;
    font-size: 14px;
  }
}

/* ==================================================
   A MODUL BELSEJE

   Ez a rész CSAK akkor hat, ha a Previo közvetlenül
   HTML-t injektál. Iframe esetén nincs hatása, de nem
   is okoz hibát.

   ELLENŐRIZENDŐ: a Previo osztálynevei. Nyisd meg
   devtoolsban a modult, és nézd meg, milyen osztályokat
   használ. Az alábbi szabályok általános elemtípusokra
   szólnak, ami elég a betűtípus és a színek átvételéhez,
   de a gombokat és a naptárat valószínűleg a saját
   osztálynevükkel kell megfogni.
   ================================================== */

/* Betűtípus és alap szövegszín átvétele. */
#previo-booking-engine {
  color: var(--dbk-green);
  font-family: var(--e-global-typography-text-font-family, Manrope), Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

#previo-booking-engine h1,
#previo-booking-engine h2,
#previo-booking-engine h3 {
  color: var(--dbk-green-dark);
  font-family: var(--e-global-typography-primary-font-family, Lora), Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.022em;
}

/* Űrlapmezők: a beviteli magasság és a lekerekítés
   az oldal többi eleméhez igazodik. */
#previo-booking-engine input,
#previo-booking-engine select,
#previo-booking-engine textarea {
  min-height: 48px;
  border: 1px solid var(--dbk-line);
  border-radius: 12px;
  font-family: inherit;
  font-size: 15px;
}

#previo-booking-engine input:focus,
#previo-booking-engine select:focus,
#previo-booking-engine textarea:focus {
  outline: 3px solid rgba(199, 123, 71, 0.34);
  outline-offset: 2px;
  border-color: var(--dbk-orange);
}

/* Gombok. A Previo saját osztálynevei felülírhatják ezt –
   ha nem érvényesül, devtoolsban nézd meg a tényleges
   szelektort, és cseréld le rá a lenti sort. */
#previo-booking-engine button,
#previo-booking-engine .btn,
#previo-booking-engine [type="submit"] {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* Elsődleges gomb a birtok zöldjével. */
#previo-booking-engine .btn-primary,
#previo-booking-engine [type="submit"] {
  color: var(--dbk-cream);
  background: var(--dbk-green);
  border: 1px solid var(--dbk-green);
}

#previo-booking-engine .btn-primary:hover,
#previo-booking-engine [type="submit"]:hover {
  background: var(--dbk-green-dark);
  border-color: var(--dbk-green-dark);
}

/* A modul saját táblázatai ne lógjanak ki keskeny
   képernyőn: vízszintes görgetés a szülőben. */
#previo-booking-engine table {
  width: 100%;
}

@media (max-width: 767px) {
  #previo-booking-engine {
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-booking .ds-booking__help a,
  .ds-booking .ds-booking__noscript a {
    transition: none;
  }
}/* End custom CSS */