/* =========================================================
   Na mýtince — site.css (unified)
   - jednotné proměnné (bez duplicit)
   - invert téma pro .bg-light (pozadí brand, text accent)
   - UI polish: navbar, hero, galerie, FAQ, patička, offset pro anchor
   ========================================================= */

/* ---------- Proměnné a základ ---------- */
:root {
  /* Barvy */
  --brand:  #134F5C;   /* tmavá zelenomodrá – default text mimo .bg-light */
  --accent: #B07C4F;   /* teplý pískovo-měděný – text uvnitř .bg-light */

  /* Kompatibilita se starým kódem */
  --brand-color: var(--brand);

  /* Layout */
  --hero-h: min(92vh, 880px);
  --nav-h: 72px; /* desktop výška navbaru */
}
@media (max-width: 991.98px) {
  :root { --nav-h: 64px; } /* mobilní výška navbaru */
}

* {
  font-family: 'Source Sans Pro', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Výchozí vzhled (sekce bez .bg-light): bílé pozadí, brand text */
body {
  color: var(--brand);
  background-color: var(--accent);
}
h1,h2,h3,h4,h5,h6, a { color: var(--brand); }
a { text-decoration-color: rgba(19,79,92,.25); }
a:hover, a:focus { text-decoration-color: rgba(19,79,92,.55); }

/* ---------- Navbar ---------- */
.navbar .navbar-brand,
.navbar .brand-text,
.navbar .nav-link { color: var(--brand-color); }
.navbar .nav-link:hover,
.navbar .nav-link:focus { color: color-mix(in oklab, var(--brand-color) 85%, black); }

.brand-link { display: inline-flex; align-items: center; gap: .5rem; }
.brand-logo { height: 26px; width: auto; object-fit: contain; }
@media (min-width: 992px) { .brand-logo { height: 28px; } }
.navbar-toggler { border-color: color-mix(in oklab, var(--brand-color) 50%, transparent); }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23134F5C' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}


/* ---------- Hero ---------- */
.hero {
  min-height: var(--hero-h);
  padding-top: 7rem; padding-bottom: 7rem;
  color: #fff;
  background:
          linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.25) 30%, rgba(0,0,0,.35)),
          url('../img/hero_placeholder.jpg') center/cover no-repeat;
}
.hero h1, .hero p { text-shadow: 0 2px 16px rgba(0,0,0,.28); }

/* ---------- Pomocné UI ---------- */
.icon-list { list-style: none; padding-left: 0; }
.icon-list li { position: relative; padding-left: 1.25rem; margin-bottom: .35rem; }
.icon-list li::before {
  content: "•"; color: var(--brand-color); font-weight: 700;
  position: absolute; left: 0; top: .1rem;
}

.gallery-thumb { aspect-ratio: 4/3; object-fit: cover; }
.lightbox-prev, .lightbox-next { opacity: .9; }
@media (max-width: 576px) {
  .lightbox-prev, .lightbox-next { padding: .25rem .5rem; }
}

.social-link { display:inline-flex; align-items:center; justify-content:center; color:#6c757d; }
.social-link:hover { color: var(--brand-color); }

.rounded-4 { border-radius: 1rem !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }

/* Anchor offset – nadpisy se neschovají za fixní navbar */
section[id], header[id] {
  scroll-margin-top: calc(var(--nav-h) * .45 + 6px);
}

/* ---------- Invert téma pro .bg-light ---------- */
/* Pozadí = brand, text = accent, přepíšeme bootstrap. */
.bg-light {
  background-color: var(--brand) !important;
  color: var(--accent);
}
/* Nadpisy, odkazy, ikony dědí akcent */
.bg-light h1, .bg-light h2, .bg-light h3,
.bg-light h4, .bg-light h5, .bg-light h6,
.bg-light a,
.bg-light .social-link {
  color: var(--accent);
}
.bg-light a { text-decoration-color: rgba(176,124,79,.35); }
.bg-light a:hover, .bg-light a:focus { text-decoration-color: rgba(176,124,79,.7); }
/* Jemnější “muted” v akcentu */
.bg-light .text-muted { color: rgba(176,124,79,.82) !important; }
/* Oddělovače přes tmavé pozadí */
.bg-light .border-top    { border-top-color: rgba(255,255,255,.15) !important; }
.bg-light .border-bottom { border-bottom-color: rgba(255,255,255,.15) !important; }

/* Komponenty uvnitř .bg-light necháme bílé (karty, accordion),
   text ale držíme v akcentu kvůli konzistenci. */
.bg-light .card,
.bg-light .accordion,
.bg-light .list-group {
  background: #fff;
  color: var(--accent);
}
.bg-light .accordion-button,
.bg-light .accordion-body {
  background: #fff;
  color: var(--accent);
  border-color: rgba(0,0,0,.06);
}

/* ---------- FAQ (polish) ---------- */
#faq .accordion {
  border-radius: 1rem;            /* ~ rounded-4 */
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;               /* ať rohy nejsou „průsvitné“ */
  overflow: hidden;               /* drž tvar */
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.06);
}
#faq .accordion-item { border: 0; background: transparent; }
#faq .accordion-button {
  background: #fff;
  box-shadow: none;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
#faq .accordion-button:not(.collapsed) {
  color: inherit;
  background: #fff;
  box-shadow: none;
  border-bottom-color: rgba(0,0,0,.06);
}
#faq .accordion-body { background: #fff; border-top: 0; }
#faq .accordion-item:last-child .accordion-button,
#faq .accordion-item:last-child .accordion-body { border-bottom: 0; }

/* ---------- Footer ---------- */
/* Pokud chceš invert vzhled, nech footer s class="bg-light".
   NIKDE tady footeru nevnucujeme vlastní background, aby se řídil .bg-light. */

/* --- Pricing cards --- */
.bg-light .pricing-card,
.bg-light .pricing-card h3{
  background: #fff;
  color: #212529;                 /* černý text, ne akcent */
}

.pricing-card .card-body {
  padding: 1.75rem 2rem;          /* víc vodorovného místa */
}

.pricing-card .display-6 {
  line-height: 1.1;
  letter-spacing: .2px;
}

.pricing-card .text-muted {
  color: rgba(0,0,0,.56) !important;
}

/* jemná oddělovací linka mezi bloky v kartě (volitelné) */
.pricing-card .mb-3,
.pricing-card .mb-0 {
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.pricing-card .mb-0 { border-bottom: 0; }

/* --- Responsive výška pro kalendář (upravené) --- */
.calendar-embed { position: relative; }
.calendar-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* kratší na mobilech, větší na desktopu */
.calendar-embed {
  height: 45vh;           /* xs – telefony na výšku */
  min-height: 360px;      /* ať to není moc malé na malých displejích */
}

@media (min-width: 576px) {   /* sm */
  .calendar-embed { height: 45vh; }
}
@media (min-width: 768px) {   /* md: tablety */
  .calendar-embed { height: 45vh; }
}
@media (min-width: 992px) {   /* lg: notebooky */
  .calendar-embed { height: 45vh; }
}
@media (min-width: 1200px) {  /* xl+: velké monitory */
  .calendar-embed { height: 45vh; max-height: 860px; }
}

/* (volitelné) safe-area pro iOS notch */
@supports(padding: env(safe-area-inset-bottom)) {
  .calendar-embed { padding-bottom: env(safe-area-inset-bottom); }
}


/* --- Hezčí odrážky: varianta .icon-list-2 (nezávislá na .icon-list) --- */
.icon-list-2{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.icon-list-2 li{
  position: relative;
  padding-left: 1.6rem;         /* místo pro „bullet“ */
  margin: .45rem 0;
  line-height: 1.5;
}

/* plná kulatá tečka – dědí barvu z textu (currentColor) */
.icon-list-2 li::before{
  content: "";
  position: absolute; left: .35em; top: .65em;
  width: .35rem; height: .35rem;
  border-radius: 50%;
  background: currentColor;
  /* jemný kontrastní kroužek na bílém pozadí */
  box-shadow: 0 0 0 3px rgba(0,0,0,.04);
}

/* Varianta „ring“: dutý kroužek (použij <ul class="icon-list-2 ring">) */
.icon-list-2.ring li::before{
  background: transparent;
  box-shadow: 0 0 0 2px currentColor inset;
}

/* Varianta „check“: fajfka (použij <ul class="icon-list-2 check">) */
.icon-list-2.check li{
  padding-left: 1.9rem;
}
.icon-list-2.check li::before{
  top: .3em; width: 1rem; height: 1rem; border-radius: .45rem;
  background:
          no-repeat center/90%
          url("data:image/svg+xml;utf8,\
      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'>\
        <path d='M20 6L9 17l-5-5'/></svg>");
  background-color: currentColor;
  box-shadow: none;
}





/* Zarovnání do bloku (obě strany) */
.text-justify { text-align: justify; }

/* Lepší zalamování češtiny (omezí „řeky“ v textu) */
.text-justify {
  hyphens: auto;           /* povolí dělení slov */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  text-align-last: start;  /* poslední řádek nenech „roztahat“ */
}

/* Volitelně: na extra úzkých displejích raději vypnout justify */
@media (max-width: 420px) {
  .text-justify { text-align: left; }
}




/* ========== Clean lightbox look ========== */

/* modal bez rámu */
#lightboxModal .lightbox-content{
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* obal kolem fotky = reference pro šipky */
#lightboxModal .lightbox-stage{
  position: relative;
  display: inline-block;
  max-width: min(96vw, 1100px);
  max-height: 88vh;
}

/* fotka: neupscalovat zbytečně */
#lightboxModal .lightbox-img{
  display: block;
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 16px 50px rgba(0,0,0,.45);
}

/* caption vypnout */
#lightboxModal .lightbox-caption{
  display: none;
}

/* šipky ukotvené k okrajům fotky */
#lightboxModal .lightbox-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(52px, 7vw, 96px);
  height: 70%;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 50;           /* jistota, že budou vždy nad fotkou */
  opacity: .55;
  transition: opacity .15s ease;
}

#lightboxModal .lightbox-prev{ left: 0; }
#lightboxModal .lightbox-next{ right: 0; }

#lightboxModal .lightbox-nav span{
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  line-height: 1;
  color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18);
}

#lightboxModal .lightbox-nav:hover{ opacity: .95; }

/* aby nebyly šipky úplně na hraně fotky – malý vnitřní odsazení */
#lightboxModal .lightbox-prev{ padding-left: 10px; }
#lightboxModal .lightbox-next{ padding-right: 10px; }

/* Close button ve stejném stylu jako šipky */
#lightboxModal .lightbox-close{
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  padding: 0;
  z-index: 70;
  cursor: pointer;
  opacity: .75;
  transition: opacity .15s ease;
}

#lightboxModal .lightbox-close:hover{
  opacity: .98;
}

#lightboxModal .lightbox-close span{
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;

  font-size: 30px;
  line-height: 1;
  color: rgba(255,255,255,.92);

  background: rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18);

  transition: transform .15s ease, background .15s ease;
}

#lightboxModal .lightbox-close:hover span{
  transform: scale(1.06);
  background: rgba(0,0,0,.28);
}




/* jistota: modal a obsah nepřekryjí klikání */
#lightboxModal{
  z-index: 1055; /* bootstrap default pro modal */
}
#lightboxModal .modal-dialog,
#lightboxModal .modal-content,
#lightboxModal .modal-body{
  pointer-events: auto;
}

/* Availability calendar overrides */
.calendar-embed {
  --calendar-free: #9fd48e;
  --calendar-booked: #e88989;
  --calendar-past: #f1f1f1;
  --calendar-selected: #f4a340;
  --calendar-border: rgba(19,79,92,.14);
  --calendar-accent: #134F5C;
  --calendar-text: #163525;
  position: relative;
  height: auto;
  max-height: none;
  min-height: 360px;
  padding: 1rem;
}

.calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .9rem;
}

.calendar-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--calendar-accent);
  text-align: center;
}

.calendar-nav {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--calendar-border);
  border-radius: 999px;
  background: #fff;
  color: var(--calendar-accent);
  font-size: 1.35rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.calendar-nav:hover:not(:disabled) {
  background: #f2f7f5;
  border-color: rgba(19,79,92,.24);
}

.calendar-nav:disabled {
  opacity: .45;
  cursor: default;
}

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  margin-bottom: .95rem;
  font-size: .9rem;
  color: #53636b;
}

.calendar-legend__item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.calendar-legend__swatch {
  width: .95rem;
  height: .95rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  flex: 0 0 auto;
}

.calendar-legend__swatch--free {
  background: var(--calendar-free);
}

.calendar-legend__swatch--split {
  background: linear-gradient(to right, var(--calendar-free) 0 50%, var(--calendar-booked) 50% 100%);
}

.calendar-legend__swatch--booked {
  background: var(--calendar-booked);
}

.calendar-legend__swatch--past {
  background: var(--calendar-past);
}

.calendar-legend__swatch--selected {
  background: var(--calendar-selected);
}

.calendar-selection-panel {
  margin-bottom: .95rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  background: #fff7ec;
  border: 1px solid rgba(244,163,64,.22);
}

.calendar-selection-help,
.calendar-selection-range,
.calendar-selection-price,
.calendar-selection-error {
  margin: 0;
  font-size: .94rem;
}

.calendar-selection-help {
  color: #8b5a1c;
}

.calendar-selection-range {
  margin-top: .35rem;
  font-weight: 600;
  color: #6c4310;
}

.calendar-selection-price {
  margin-top: .35rem;
  font-weight: 700;
  color: #5b3104;
}

.calendar-selection-error {
  margin-top: .45rem;
  color: #b02a37;
}

.calendar-status {
  margin: 0;
  padding: 2.5rem 1rem;
  text-align: center;
  color: #60727a;
}

.calendar-status.is-error {
  color: #a94442;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.calendar-weekday,
.calendar-day {
  min-height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.calendar-weekday {
  background: var(--calendar-accent);
  color: #fff;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.calendar-day {
  width: 100%;
  padding: 0;
  border: 0;
  appearance: none;
  background: var(--calendar-free);
  color: var(--calendar-text);
  font-weight: 600;
}

.calendar-day:disabled {
  cursor: default;
  opacity: 1;
}

.calendar-day.is-clickable {
  cursor: pointer;
}

.calendar-day.is-clickable:hover {
  box-shadow: inset 0 0 0 2px rgba(19,79,92,.24);
}

.calendar-day.is-booked {
  background: var(--calendar-booked);
  color: #fff7f7;
}

.calendar-day.is-arrival {
  background: linear-gradient(to right, var(--calendar-free) 0 50%, var(--calendar-booked) 50% 100%);
}

.calendar-day.is-departure {
  background: linear-gradient(to right, var(--calendar-booked) 0 50%, var(--calendar-free) 50% 100%);
}

.calendar-day.is-past {
  background: var(--calendar-past);
  border-color: #e4e4e4;
  color: #9a9a9a;
}

.calendar-day.is-dimmed {
  opacity: .5;
}

.calendar-day.is-today {
  box-shadow: inset 0 0 0 2px var(--calendar-accent);
}

.calendar-day.is-selected-stay {
  background: var(--calendar-selected);
  color: #6b3b0c;
}

.calendar-day.is-selected-arrival {
  background: linear-gradient(to right, var(--calendar-free) 0 50%, var(--calendar-selected) 50% 100%);
  color: #6b3b0c;
}

.calendar-day.is-selected-arrival.is-departure {
  background: linear-gradient(to right, var(--calendar-booked) 0 50%, var(--calendar-selected) 50% 100%);
  color: #6b3b0c;
}

.calendar-day.is-selected-departure {
  background: linear-gradient(to right, var(--calendar-selected) 0 50%, var(--calendar-free) 50% 100%);
  color: #6b3b0c;
}

.calendar-day.is-selected-departure.is-arrival {
  background: linear-gradient(to right, var(--calendar-selected) 0 50%, var(--calendar-booked) 50% 100%);
  color: #6b3b0c;
}

#rezervace .reservation-form-column > p {
  display: none;
}

@media (max-width: 575.98px) {
  .calendar-embed {
    min-height: 330px;
    padding: .85rem;
  }

  .calendar-title {
    font-size: 1rem;
  }

  .calendar-legend {
    gap: .45rem .75rem;
    font-size: .82rem;
  }

  .calendar-weekday,
  .calendar-day {
    min-height: 38px;
    border-radius: 10px;
    font-size: .92rem;
  }
}


/* ===== Akomio static-bundle compatibility, visual parity layer ===== */
@font-face{font-family:'Source Sans Pro';src:local('Source Sans Pro'),local('SourceSansPro-Regular');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:local('Source Sans Pro Semibold'),local('SourceSansPro-Semibold'),local('Source Sans Pro SemiBold');font-style:normal;font-weight:600;font-display:swap}

/* Uploaded bundles cannot keep Bootstrap data-* attributes/buttons. The local JS toggles .show on this same collapse. */
a.navbar-toggler{display:none;text-decoration:none;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem}
@media(max-width:991.98px){a.navbar-toggler{display:block;margin-left:auto}.navbar-collapse{display:none!important;width:100%}.navbar-collapse.show{display:block!important}.navbar>.container{flex-wrap:wrap}.navbar-nav{padding:.5rem 0 1rem}.navbar .btn{display:inline-block}}

/* FAQ details emulate the original Bootstrap accordion after sanitizer removes button/collapse attributes. */
#faq .nm-faq details{background:#fff;border:0;border-bottom:1px solid rgba(0,0,0,.06)}
#faq .nm-faq details:last-child{border-bottom:0}
#faq .nm-faq summary.accordion-button{display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;font-weight:400;color:var(--accent);text-align:left;background:#fff;border:0;box-shadow:none;list-style:none;cursor:pointer}
#faq .nm-faq summary.accordion-button::-webkit-details-marker{display:none}
#faq .nm-faq summary.accordion-button:after{content:'';width:1.25rem;height:1.25rem;margin-left:auto;background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23B07C4F'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E")}
#faq .nm-faq details[open] summary.accordion-button:after{transform:rotate(-180deg)}
#faq .nm-faq .accordion-body{padding:1rem 1.25rem;color:var(--accent);background:#fff}

/* Reservation and contact are fully driven by Akomio; these styles only frame their embeds. */
#rezervace{background:#B07C4F;color:#fff}
/* Keep the complete booking experience on one white stage. Before a date is selected
   the right-hand grid column is intentionally empty; the stage makes that reserved
   space look deliberate instead of like content is missing. */
#rezervace .akomio-booking{margin:0 auto;padding:clamp(1.15rem,2.5vw,2rem);border:1px solid rgba(19,79,92,.09);border-radius:1.55rem;background:#fff;color:#134F5C;box-shadow:0 18px 46px rgba(72,42,17,.18)}
#rezervace .akb-header{margin-bottom:1.4rem;color:#134F5C;text-align:center}
#rezervace .akb-header h2{margin:0 0 .2rem;color:#134F5C;font-size:clamp(2rem,4vw,2.65rem)}
#rezervace .akb-header p{margin:0;color:#134F5C;font-size:1.08rem}
#rezervace .akb-extras h3,#rezervace .akb-form legend,#rezervace .akb-summary h3{color:#134F5C;font-weight:700}
#rezervace .akb-form label{color:#134F5C;font-weight:600}
#rezervace .akb-form input,#rezervace .akb-form textarea{width:100%;margin-top:.35rem;padding:.65rem .75rem;border:1px solid rgba(19,79,92,.28);border-radius:.45rem;background:#fff;color:#134F5C}
#rezervace .akb-form input:focus,#rezervace .akb-form textarea:focus{border-color:#134F5C;outline:3px solid rgba(19,79,92,.14)}
#rezervace .akb-submit{width:100%;padding:.8rem 1.1rem;border:0;border-radius:.5rem;background:#134F5C;color:#fff;font-weight:700}
#rezervace .akomio-embed,#rezervace .akomio-embed-booking{max-width:100%;margin:0!important}
@media(max-width:767.98px){#rezervace .akomio-booking{padding:.85rem;border-radius:1.2rem}}

#kontakt{background:#134F5C!important}
#kontakt .kontakt-heading{max-width:660px;color:#fff}
#kontakt .kontakt-heading p{color:rgba(255,255,255,.84);font-size:1.08rem}
#kontakt .kontakt-eyebrow{display:inline-block;margin-bottom:.55rem;color:#d7b085;font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
#kontakt .kontakt-card,#kontakt .akomio-inquiry-card,#kontakt .akomio-embed-contact .akc-card{height:100%;box-sizing:border-box;padding:clamp(1.5rem,3vw,2.35rem);border:1px solid rgba(255,255,255,.18);border-radius:1.35rem;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.18)}
#kontakt .kontakt-card{color:#134F5C}
/* The Akomio contact stylesheet is injected after the site's CSS. Use the section scope
   to give its current .akc-card markup the same dimensions and visual rhythm as the
   static contact card on the left. */
#kontakt .col-lg-7>[data-akomio-component="contact"],#kontakt .akomio-embed-contact{height:100%;margin:0}
#kontakt .akomio-embed-contact .akc-card{color:#134F5C}
#kontakt .akomio-embed-contact .akc-card h3{margin:0 0 .55rem;color:#B07C4F;font-size:1.5rem;line-height:1.2;font-weight:700}
#kontakt .akomio-embed-contact .akc-intro{margin:0 0 1.25rem;color:#58717a;font-size:1rem;line-height:1.5}
#kontakt #nmContactList li{padding-bottom:.65rem;margin-bottom:.75rem!important;border-bottom:1px solid rgba(19,79,92,.12)}
#kontakt #nmContactList li:last-child{padding-bottom:0;margin-bottom:0!important;border-bottom:0}
#kontakt #nmContactList strong{display:inline-block;min-width:1.5rem;color:#B07C4F}
#kontakt #nmContactList a{color:#134F5C;font-weight:600;text-underline-offset:.2em}
#kontakt .kontakt-map{border-radius:1rem;box-shadow:0 8px 20px rgba(0,0,0,.14)}
#kontakt .akomio-inquiry-card{border-top:4px solid #B07C4F;color:#134F5C}
#kontakt .akomio-inquiry-intro{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(19,79,92,.14);color:#134F5C}
#kontakt .akomio-inquiry-intro p{color:#58717a}
#kontakt .akomio-embed,#kontakt .akomio-embed-contact{max-width:100%}
#kontakt .akomio-embed-contact>strong{color:#B07C4F;font-size:1.05rem}
#kontakt .akomio-embed-contact>span{color:#58717a}
#kontakt .akomio-contact-form{display:grid;gap:1rem 1.15rem;margin-top:1.25rem}
#kontakt .akomio-contact-form label{display:flex;flex-direction:column;gap:.35rem;color:#134F5C;font-weight:600}
#kontakt .akomio-contact-form label:nth-of-type(4){grid-column:1/-1}
#kontakt .akomio-contact-form input,#kontakt .akomio-contact-form textarea{width:100%;padding:.7rem .8rem;border:1px solid rgba(19,79,92,.3);border-radius:.45rem;background:#fff;color:#134F5C;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}
#kontakt .akomio-contact-form textarea{min-height:120px;resize:vertical}
#kontakt .akomio-contact-form input:focus,#kontakt .akomio-contact-form textarea:focus{border-color:#B07C4F;outline:0;box-shadow:0 0 0 3px rgba(176,124,79,.18)}
#kontakt .akomio-contact-form button{grid-column:1/-1;justify-self:start;padding:.78rem 1.15rem;border:0;border-radius:.45rem;background:#B07C4F;color:#fff;font:700 1rem/1.2 inherit;cursor:pointer;transition:background .15s ease,transform .15s ease}
#kontakt .akomio-contact-form button:hover{background:#956139;transform:translateY(-1px)}
#kontakt .akomio-contact-status{grid-column:1/-1;margin:0;color:#134F5C}
#kontakt .akomio-embed-contact>p:last-child{margin:1.25rem 0 0}
#kontakt .akomio-embed-contact>p:last-child a{color:#B07C4F;font-weight:600;text-underline-offset:.2em}
@media(max-width:991.98px){#kontakt .kontakt-card,#kontakt .akomio-inquiry-card,#kontakt .akomio-embed-contact .akc-card{padding:1.5rem}}
@media(max-width:575.98px){#kontakt .akomio-contact-form{grid-template-columns:1fr}#kontakt .akomio-contact-form label:nth-of-type(4),#kontakt .akomio-contact-form button,#kontakt .akomio-contact-status{grid-column:auto}}

.nm-map-fallback{color:var(--brand);text-align:center}
.nm-map-fallback-inner{display:flex!important;align-items:center;justify-content:center;padding:1.5rem!important;background:#fff}
.nm-map-fallback a{color:var(--brand)}

/* Runtime lightbox matching the old Bootstrap modal. */
.nm-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:24px}
.nm-lightbox[hidden]{display:none}
.nm-lightbox-stage{position:relative;display:inline-block;max-width:min(96vw,1100px);max-height:88vh}
.nm-lightbox-image{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 16px 50px rgba(0,0,0,.45)}
.nm-lightbox button{position:absolute;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.18);color:rgba(255,255,255,.92);font:400 34px/1 Arial,sans-serif;cursor:pointer;opacity:.75;backdrop-filter:blur(6px)}
.nm-lightbox button:hover{opacity:.98;background:rgba(0,0,0,.28)}
.nm-lightbox-close{top:10px;right:10px;font-size:30px!important}.nm-lightbox-prev{left:10px;top:50%;transform:translateY(-50%)}.nm-lightbox-next{right:10px;top:50%;transform:translateY(-50%)}
.nm-social-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font:600 20px/1 Arial,sans-serif}


/* Local language picker: copied from Akomio's public-site .langbar visual language. */
.langbar{display:flex;align-items:center;gap:.3rem;margin-left:auto}
.langbar a{display:inline-flex;align-items:center;gap:.3rem;min-height:2rem;padding:.3rem .45rem;border:1px solid transparent;border-radius:.5rem;color:#5b6c72;font-size:.78rem;font-weight:800;letter-spacing:.04em;line-height:1;text-decoration:none;white-space:nowrap}
.langbar a:hover,.langbar a:focus-visible{border-color:#dce5e1;background:#fff;color:#18302b;text-decoration:none}
.langbar a.is-current{border-color:color-mix(in srgb,var(--accent) 35%,#dce5e1);background:color-mix(in srgb,var(--accent) 10%,#fff);color:#18302b}
.langbar .flag{display:block;width:1.35rem;height:.9rem;overflow:hidden;border:1px solid rgb(24 48 43 / .14);border-radius:.15rem;box-shadow:0 .05rem .12rem rgb(24 48 43 / .12);flex:none;object-fit:cover}
@media(min-width:992px){.navbar-nav{flex-wrap:wrap;row-gap:.25rem!important}.navbar .langbar{margin-left:.1rem}}
@media(max-width:991.98px){.navbar .langbar{margin:.45rem 0 .1rem;justify-content:flex-start;flex-wrap:wrap}}
