/* =========================================================
   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;
}


/* --- Google Translate v navbaru (desktop) — FIX na 1px výšku --- */
.gt-inline { position: relative; z-index: 3; display: inline-flex; align-items: center; }

/* Neházej font-size:0 na .goog-te-gadget (to zplošťovalo výšku) */
.gt-inline .goog-te-gadget {
  display: inline-flex !important;
  align-items: center;
  line-height: 1.2;
  font-size: inherit;      /* <— důležité */
}

/* Skryj pouze „Powered by“ apod., ne vše uvnitř */
.gt-inline .goog-te-gadget > span,
.gt-inline .goog-te-gadget img { display: none !important; }

.gt-inline .goog-te-combo {
  font-size: .95rem;       /* reset proti zděděnému 0 */
  line-height: 1.2;
  padding: .35rem .65rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .5rem;
  background: #fff;
  min-width: 140px;
  height: auto;            /* <— brání “1px” */
}


/* 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; }
}
