/* nápis s názvem webu v hlavičce */
.site-branding__name a,
.site-branding__name a:hover {
  color: #1aa560 !important;
}
/* ESHOP-DROBKY: hlavička a drobečky přilepené nahoře při rolování */
:root { --ek-vyska-hlavicky: 110px; }   /* výška hlavičky po čáru pod „Demo e-shop“ */

.site-header {
  position: sticky !important; top: 0; z-index: 30; background: #ffffff;
}
.layout-main,
.main-content__container { padding-top: 0 !important; margin-top: 0 !important; }
.region--breadcrumb {
  position: sticky; top: var(--ek-vyska-hlavicky); z-index: 25;
  background: #ffffff; margin: 0 !important; padding: .35rem 0 !important; border: 0;
}
.region--breadcrumb .breadcrumb__list,
.region--footer-top .breadcrumb__list { flex-wrap: wrap; }
/* ESHOP-HLEDANI: vyhledávání s lupou v hlavičce, uprostřed těsně nad čarou */
.site-header .block-eshop-katalog-hledat {
  position: absolute; left: 50%; bottom: .6rem; transform: translateX(-50%);
  width: min(40rem, 46vw); z-index: 5;
}
.site-header .ek-search {
  position: relative; display: block; width: 100%; margin: 0 !important;
}
.site-header .ek-search input[type="search"] {
  display: block; width: 100%; box-sizing: border-box; margin: 0;
  padding: .6rem 3.4rem .6rem .8rem; font-size: 1rem;
  border: 1px solid var(--ek-ramecek-pole, #b8bec7); border-radius: 6px;
  background: #ffffff;
}
.site-header .ek-search button {
  position: absolute; right: .3rem; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 2.6rem; height: 2.6rem; padding: 0 !important; margin: 0;
  border: 0 !important; border-radius: 6px;
  background: transparent !important; box-shadow: none;
  color: var(--ek-hlavni, #1f5f99); cursor: pointer;
}
.site-header .ek-search button:hover { color: var(--ek-hlavni-tmava, #174a78); }
.site-header .ek-search button svg { width: 1.8rem; height: 1.8rem; display: block; }
/* úzké okno: hledání se vrátí do běžného toku pod nadpis */
@media (max-width: 62rem) {
  .site-header .block-eshop-katalog-hledat {
    position: static; transform: none; width: 100%; margin: .5rem 0;
  }
}
/* ESHOP-KOD: kód výrobku těsně pod nadpisem */
.ek-kod { margin: -.4rem 0 1.2rem; font-size: 1.125rem; color: #6b7480; }
.ek-kod strong { color: #1f2933; font-weight: 600; letter-spacing: .02em; }


/* ===== Košík vpravo na řádku drobečků ===== */
#block-olivero-breadcrumbs {
  grid-row: 1;
}
#block-olivero-eshop-kosik {
  grid-row: 1;
  grid-column: 1 / -1;     /* přes celou šířku mřížky */
  justify-self: end;       /* úplně vpravo */
  align-self: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
/* úzké okno: košík zpět pod drobečky */
@media (max-width: 62rem) {
  #block-olivero-eshop-kosik { grid-row: auto; grid-column: auto; justify-self: start; }
}
/* oprava: košík úzký, vpravo a nahoře u čáry */
#block-olivero-eshop-kosik {
  width: auto;
  max-width: max-content;
  margin-left: auto;
  align-self: start;
  text-align: right;
}
@media (max-width: 62rem) {
  #block-olivero-eshop-kosik { margin-left: 0; text-align: left; }
}
/* svislá poloha košíku: menší (zápornější) číslo = výš k čáře */
#block-olivero-eshop-kosik {
  margin-top: -2.5rem;
}
/* košík: stejné písmo jako drobečky */
#block-olivero-eshop-kosik,
#block-olivero-eshop-kosik a {
  font-family: inherit;
  font-size: 1rem;
  font-weight: bold;
  line-height: var(--sp1);
  text-decoration: none;
}
/* patička světlá, ladí s hlavičkou */
.site-footer {
  background: #fff !important;
  color: #1f2933;
  border-top: 1px solid #000;
}
.site-footer__inner,
.site-footer .container {
  background: transparent !important;
}
/* patička: černý levý okraj z Oliveru vypnout, mezeru nahradit odsazením */
@media (min-width: 75rem) {
  html body:not(.is-always-mobile-nav) .site-footer {
    border-inline-start-width: 0 !important;
    padding-inline-start: var(--content-left) !important;
  }
}
/* prázdný sloupec sociálních sítí vlevo: bílý místo šedého */
.social-bar,
.social-bar__inner {
  background-color: #fff !important;
}
/* hlavička o 100 px nižší – čára a vše pod ní jde nahoru */
:root {
  --site-header-height-wide: calc(var(--sp10) - 100px);
}
/* "Powered by Drupal" na střed */
.block-system-powered-by-block {
  grid-column: 1 / -1;
  width: 100%;
  text-align: center;
}
/* hlavička o 100 px nižší – čára a vše pod ní jde nahoru */
:root {
  --site-header-height-wide: calc(var(--sp10) - 100px);
}
/* "Powered by Drupal" na střed */
.block-system-powered-by-block {
  grid-column: 1 / -1;
  width: 100%;
  text-align: center;
}
/* oprava: proměnná výšky hlavičky musí přebít Olivero */
:root {
  --site-header-height-wide: calc(var(--sp10) - 100px) !important;
}
/* patička o 300 px níž (větší mezera nad čarou) */
.site-footer {
  margin-top: 400px;
}
/* "Powered by Drupal" na střed – přes ID, aby přebilo Olivero */
#block-olivero-powered {
  grid-column: 1 / -1 !important;
  text-align: center;
}
#block-olivero-powered .block__content,
#block-olivero-powered .block__content > * {
  justify-content: center;
  text-align: center;
}
/* hlavička má přesně výšku --ek-vyska-hlavicky, drobečky se lepí hned pod ni */
.site-header {
  height: var(--ek-vyska-hlavicky) !important;
  min-height: var(--ek-vyska-hlavicky) !important;
}
/* patička: čára mezi spodními drobečky a "Powered by Drupal" */
.site-footer {
  border-top: 0;                       /* čára už není nahoře v patičce */
}
.region--footer-top {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.region--footer-bottom {
  border-top: 1px solid #000;
  margin-top: 50px !important;         /* mezera drobečky -> čára */
  padding-top: 1.5rem !important;      /* mezera čára -> Drupal */
}
/* patička: pod "Powered by Drupal" jen malá mezera, žádné zbytečné místo */
.site-footer__inner {
  padding-bottom: 1.5rem !important;
}
.region--footer-bottom {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* celý web na střed obrazovky (Olivero ho drží vlevo) */
.page-wrapper {
  margin-inline: auto !important;
}

/* ---------- pozadí po stranách stránky (místo kapek Drupalu) – upravujte jen tady ---------- */
:root {
  --ek-pozadi-okraju: #ffffff;  /* barva po stranách stránky */
}
body {
  background-image: none !important;
  background-color: var(--ek-pozadi-okraju) !important;
}

/* ---------- čára pod hlavičkou (upravujte jen tady) ---------- */
:root {
  --ek-cara-sirka:      5px;      /* tloušťka čáry */
  --ek-cara-barva:      #2b2b2b;  /* barva čáry */
  --ek-cara-rozplynuti: 25%;      /* jak dlouhý je přechod do bílé na každém konci */
}
#header {
  border-style: solid !important;
  border-width: 0 0 var(--ek-cara-sirka) 0 !important;
  border-image: linear-gradient(to right,
      transparent 0%,
      var(--ek-cara-barva) var(--ek-cara-rozplynuti),
      var(--ek-cara-barva) calc(100% - var(--ek-cara-rozplynuti)),
      transparent 100%) 1 !important;
}

/* ---------- čára v patičce, místo původní černé (upravujte jen tady, nezávisle na čáře pod hlavičkou) ---------- */
:root {
  --ek-cara-paticka-sirka:      5px;      /* tloušťka čáry */
  --ek-cara-paticka-barva:      #2b2b2b;  /* barva čáry */
  --ek-cara-paticka-rozplynuti: 25%;      /* jak dlouhý je přechod do bílé na každém konci */
}
.region--footer-bottom {
  border-style: solid !important;
  border-width: var(--ek-cara-paticka-sirka) 0 0 0 !important;
  border-image: linear-gradient(to right,
      transparent 0%,
      var(--ek-cara-paticka-barva) var(--ek-cara-paticka-rozplynuti),
      var(--ek-cara-paticka-barva) calc(100% - var(--ek-cara-paticka-rozplynuti)),
      transparent 100%) 1 !important;
}

/* ---------- obsah mizí těsně pod drobečky (upravujte jen tady) ---------- */
:root {
  --ek-mezera-pod-drobecky: 54px;  /* volné místo mezi drobečky a obsahem (průhledné) */
}
.region--breadcrumb .block-system-breadcrumb-block {
  margin-bottom: 0 !important;    /* okraj už není uvnitř bílé lepivé oblasti */
}
.region--breadcrumb {
  margin-bottom: var(--ek-mezera-pod-drobecky) !important;
}

/* košík na řádku s drobečky nesmí natahovat bílou lepivou oblast (Olivero mu dává spodní okraj) */
#block-olivero-eshop-kosik {
  margin-bottom: 0 !important;
}

/* ---------- košík vpravo na řádku s drobečkami (upravujte jen tady) ---------- */
:root {
  --ek-kosik-posun-svisle:    -19px;  /* kladné = níž, záporné = výš */
  --ek-kosik-odsazeni-vpravo: 0px;  /* odstup od pravého okraje */
}
#block-olivero-eshop-kosik {
  position: absolute !important;
  top: 50% !important;
  right: var(--ek-kosik-odsazeni-vpravo) !important;
  left: auto !important;
  transform: translateY(calc(-50% + var(--ek-kosik-posun-svisle))) !important;
  margin: 0 !important;
  z-index: 26 !important;
}
