/* Cookie lišta v barvách Meriky (vanilla-cookieconsent v3, sdílený modul v2 jako MWA/Grounded/Refresh).
   Rozložení podle davidzelenka.cz: karta uprostřed ztmavené stránky, „Souhlasím“ vždy vpravo.
   Tlačítka jako na webu: růžová pilulka #eb567f, tmavý text #121617, písmo Poppins. */
#cc-main {
  --cc-font-family: Poppins, Arial, sans-serif;
  --cc-modal-border-radius: 24px;
  --cc-btn-border-radius: 999px;
  --cc-bg: #fff;
  --cc-primary-color: #121617;
  --cc-secondary-color: #3d4a4e;
  --cc-link-color: #c91c51;
  --cc-btn-primary-bg: #eb567f;
  --cc-btn-primary-color: #121617;
  --cc-btn-primary-border-color: #eb567f;
  --cc-btn-primary-hover-bg: #c91c51;
  --cc-btn-primary-hover-color: #fff;
  --cc-btn-primary-hover-border-color: #c91c51;
  --cc-btn-secondary-bg: #fff;
  --cc-btn-secondary-color: #121617;
  --cc-btn-secondary-border-color: #121617;
  --cc-btn-secondary-hover-bg: #eaf0f1;
  --cc-btn-secondary-hover-color: #121617;
  --cc-btn-secondary-hover-border-color: #121617;
  --cc-separator-border-color: #dee2e6;
  --cc-toggle-on-bg: #5e818c;
  --cc-toggle-off-bg: #8a93a8;
  --cc-toggle-readonly-bg: #dee2e6;
  --cc-cookie-category-block-bg: transparent;
  --cc-cookie-category-block-border: transparent;
  --cc-cookie-category-block-hover-bg: transparent;
  --cc-cookie-category-block-hover-border: transparent;
  --cc-overlay-bg: rgba(18, 22, 23, 0.5);
}
#cc-main .cm__title,
#cc-main .pm__title {
  font-family: Poppins, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: #121617;
}
#cc-main .pm__title { font-size: 1.5rem; }
#cc-main .cm__btn,
#cc-main .pm__btn {
  min-height: 48px;
  font-family: Poppins, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
#cc-main a:focus-visible,
#cc-main button:focus-visible {
  outline: 3px solid #5e818c;
  outline-offset: 2px;
}

/* První vrstva: karta, nadpis, text s odkazem, dvě tlačítka vedle sebe. */
#cc-main .cm--box.cm--wide { max-width: 28rem; }
#cc-main .cm { box-shadow: 0 40px 90px -30px rgba(18, 22, 23, 0.45); }
#cc-main .cm__texts { padding-top: 1.75rem; }
#cc-main .cm__title,
#cc-main .cm__desc { padding-left: 1.75rem; padding-right: 1.75rem; }
#cc-main .cm__title { font-size: 1.5rem; }
#cc-main .cm__title + .cm__desc { margin-top: 0.75rem; }
#cc-main .cm__desc { font-size: 0.95rem; line-height: 1.6; padding-bottom: 0.5rem; }
#cc-main .cm__desc a {
  display: inline-block;
  margin-top: 0.75rem;
  color: #c91c51;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  background: none;
}
#cc-main .cm__desc a:hover { color: #121617; }
#cc-main .cm__btns { border-top: 0; padding: 1rem 1.75rem 1.75rem; gap: 0.6rem; }
#cc-main .cm--box.cm--wide .cm__btn-group { flex: 1 1 0; margin: 0; }
#cc-main .cm--box.cm--wide .cm__btn { width: 100%; padding-left: 1em; padding-right: 1em; }

/* Nastavení: plochý seznam bez rámečků a šipek. */
#cc-main .pm__section,
#cc-main .pm__section--toggle {
  margin: 0;
  padding: 1rem 0;
  border: 0;
  border-bottom: 1px solid var(--cc-separator-border-color);
  border-radius: 0;
  background: transparent;
}
#cc-main .pm__section:last-child { border-bottom: 0; }
#cc-main .pm__section-title { padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 1.02rem; }
#cc-main .pm__section--expandable .pm__section-arrow { display: none !important; }
#cc-main .pm__section--expandable .pm__section-desc-wrapper { display: flex !important; }
#cc-main .pm__section-desc-wrapper { margin: 0 !important; padding: 0.35rem 0 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
#cc-main .pm__section-desc { margin: 0 !important; padding: 0 !important; line-height: 1.55; }

/* Nastavení: vlevo Odmítnout a Uložit výběr (vedlejší), vpravo Souhlasím (hlavní).
   Knihovna dává Odmítnout do skupiny se Souhlasím, proto skupiny rozpouštíme a řadíme podle data-role. */
#cc-main .pm__footer,
#cc-main .pm--flip .pm__footer { display: flex; flex-direction: row !important; align-items: center; gap: 0.6rem; }
#cc-main .pm__btn-group { display: contents; }
#cc-main .pm__btn { margin: 0 !important; flex: 0 0 auto; min-width: 9rem; }
#cc-main .pm__btn[data-role="necessary"] { order: 1; }
#cc-main .pm__btn[data-role="save"] { order: 2; }
#cc-main .pm__btn[data-role="all"] { order: 3; margin-left: auto !important; }
#cc-main .pm__btn[data-role="necessary"] {
  background: var(--cc-btn-secondary-bg);
  border-color: var(--cc-btn-secondary-border-color);
  color: var(--cc-btn-secondary-color);
}
#cc-main .pm__btn[data-role="necessary"]:hover {
  background: var(--cc-btn-secondary-hover-bg);
  border-color: var(--cc-btn-secondary-hover-border-color);
  color: var(--cc-btn-secondary-hover-color);
}

/* Mobil: tlačítka pod sebou, „Souhlasím“ dole na dosah palce. */
@media (max-width: 640px) {
  #cc-main .pm__footer,
  #cc-main .pm--flip .pm__footer { flex-direction: column !important; align-items: stretch; gap: 0.5rem; }
  #cc-main .pm__btn-group { display: contents !important; }
  #cc-main .pm__btn[data-role="all"] { margin-left: 0 !important; }
  #cc-main .pm__btn { min-width: 0; }
  #cc-main .cm__btns { gap: 0.5rem; border-top: 0 !important; }
  #cc-main .cm--flip .cm__btn-group + .cm__btn-group { margin: 0 !important; }
  #cc-main .cm__title { font-size: 1.3rem; }
}

/* Tlačítko „Nastavení cookies“ v patičce vypadá jako odkazy vedle něj. */
.footer-top-nav .cookie-settings {
  font: inherit; font-weight: 400; color: #fff; background: none; border: 0; padding: 0;
  text-decoration: underline; cursor: pointer;
}
.footer-top-nav .cookie-settings:hover { text-decoration: none; }

/* Mapa až po kliknutí: zástupný blok i načtená mapa mají rozměry původní .contact-map. */
.map-consent {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem;
  text-align: center;
  line-height: 1.5;
  background: #eaf0f1;
  color: #121617;
}
.map-consent__text { max-width: 36ch; margin: 0; font-size: 0.95rem; color: #3d4a4e; }
.contact-map-wrap > iframe { display: block; width: 100%; height: 30rem; border: 0; border-radius: 3.125rem; }
@media (max-width: 35.938em) {
  .contact-map-wrap > .contact-map,
  .contact-map-wrap > iframe { height: 15rem; }
}
