<style>

/* ====== POZADÍ HORNÍ LIŠTY, HEADERU A FOOTERU ====== */
.top-navigation-bar {
    background: #ffffff;
}
html,
body,
.content-wrapper {
  background-color: #FAFAF7;
}

#header {
  position: static;
  z-index: 1000;
  background-image: url('/user/documents/upload/Shoptet/gradient.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.header-bottom {
  padding-top: 5px; /* upravte dle potřeby, např. 10px–30px */
  padding-bottom: 5px; /* upravte dle potřeby, např. 10px–30px */
  margin-bottom: 10px;
  background-color: transparent !important;
}
@media (min-width: 992px) {
.header-bottom .header-bottom-wrapper,
.header-bottom .navigation-wrapper,
.header-bottom #navigation,
.header-bottom .navigation-in {
  background-color: transparent !important;
}
}
.welcome {
    background-image: url('/user/documents/upload/Shoptet/gradient.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
     border-radius: 20px;
  overflow: hidden;
  margin: 40px 0;
  padding: 40px;
  box-sizing: border-box;
  }

#footer {
    background-image: url('/user/documents/upload/Shoptet/gradient.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.footer-bottom {
    background: transparent !important;
}

/* Odstranění čáry/rámečků/stínů */
.header-top,
.header-bottom,
.header-bottom .navigation-in,
.header-bottom .menu-level-1,
.header-bottom .menu-level-1 * {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Průhledné pozadí menu na desktopu */
@media (min-width: 992px) {
    #header .header-bottom,
    #header .header-bottom .navigation-wrapper,
    #header .header-bottom .container,
    #header nav#navigation,
    #header .navigation-in {
    }
}
:root{
  --oto-navy:#024891;
  --oto-blue:#4188D0;
  --oto-blue-light:#99B2E6;
  --oto-yellow:#f6e51f;
  --oto-red:#CC0100;
  --oto-bg:#ffffff;
  --oto-ink:#1a2733;
  --oto-ink-soft:#5b6b7a;
  --oto-line:#e3ebf5;
}

h1 {
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 20px !important;
  color: var(--oto-navy) !important;

}

h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 48px 0 16px !important;
  padding-bottom: 8px !important;
  color: var(--oto-navy) !important;
  border-bottom: 2px solid var(--oto-navy) !important;
}

h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 36px 0 12px !important;
  color: var(--oto-navy) !important;
  border-bottom: 2px solid var(--oto-yellow) !important;
}

h4 {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 28px 0 8px !important;
  color: var(--oto-navy) !important;
}

h5,
h6 {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 20px 0 6px !important;
  color: #777777 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

p, li {
  font-size: 18px !important;
  line-height: 1.75 !important;
  margin: 0 0 20px !important;
  color: #000000 !important;
}

strong {
  font-weight: 700 !important;
  color: var(--oto-navy) !important;
}

em {
  font-style: italic !important;
}
/* ---------- Společný font/reset pro OTO prvky ---------- */
[class^="oto-"], [class*=" oto-"]{ box-sizing:border-box; }
[class^="oto-"], [class*=" oto-"]{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--oto-ink);
}

/* =====================================================
   .oto-header – hlavička bloku (nadpis + podnadpis)
   ===================================================== */
.oto-header{
  display:flex;
  align-items:flex-start;
  gap:16px;
  border-bottom:3px solid var(--oto-navy);
  padding-bottom:20px;
  margin-bottom:28px;
}

/* =====================================================
   .oto-subhead – podnadpis / krátký popisek
   ===================================================== */
.oto-subhead{
  color:var(--oto-ink-soft);
  font-size:18px;
  margin:0;
}

/* =====================================================
   .oto-info – zvýrazněný informační box
   ===================================================== */
.oto-info{
  background:#f5f8fd;
  border:1px solid var(--oto-line);
  border-left:4px solid var(--oto-yellow);
  border-radius:6px;
  padding:16px 18px;
  margin-bottom:32px;
  font-size:18px;
  line-height:1.55;
}
.oto-info strong{ color:var(--oto-navy); }

/* =====================================================
   .oto-legend – mřížka vysvětlivek / karet (2 sloupce)
   ===================================================== */
.oto-legend{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.oto-legend h2{
  grid-column:1/-1;
  font-size:22px;
  color:var(--oto-navy);
  margin:0 0 2px;
}
.oto-legend__card{
  border:1px solid var(--oto-line);
  border-radius:8px;
  padding:14px 16px;
}
.oto-legend__tag{
  display:inline-block;
  font-size:15px;
  font-weight:700;
  letter-spacing:.03em;
  color:#fff;
  background:var(--oto-blue);
  padding:3px 8px;
  border-radius:4px;
  margin-bottom:8px;
}
.oto-legend__card p{
  margin:0;
  font-size:18px;
  color:var(--oto-ink-soft);
}
.oto-legend__card--highlight .oto-legend__tag{ background:var(--oto-navy); }

@media (max-width:560px){
  .oto-legend{ grid-template-columns:1fr; }
}

/* =====================================================
   .oto-tab – tabovaný blok s tabulkou
   (velikosti, srovnání produktů, materiály…)
   ===================================================== */
.oto-tab .oto-tab__wrap{
  max-width:920px;
  margin:0 auto;
  padding:32px 20px 64px;
}

/* Taby */
.oto-tab input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; }

.oto-tab .oto-tab__tabs{
  display:flex;
  gap:4px;
  margin-bottom:0;
  border-bottom:1px solid var(--oto-line);
}
.oto-tab .oto-tab__tab-label{
  cursor:pointer;
  padding:12px 22px;
  font-size:18px;
  font-weight:600;
  color:var(--oto-ink-soft);
  border:1px solid transparent;
  border-bottom:none;
  border-radius:8px 8px 0 0;
  margin-bottom:-1px;
  transition:color .15s ease, background .15s ease;
  user-select:none;
}
.oto-tab .oto-tab__tab-label:hover{ color:var(--oto-navy); }

.oto-tab .oto-tab__panel{ display:none; padding-top:24px; }

/* Aktivace panelu podle zaškrtnutého radia
   (dvojice tříd radio / panel se musí shodovat viz HTML) */
.oto-tt-tab-1:checked ~ .oto-tab__tabs .oto-tt-lbl-1,
.oto-tt-tab-2:checked ~ .oto-tab__tabs .oto-tt-lbl-2,
.oto-tt-tab-3:checked ~ .oto-tab__tabs .oto-tt-lbl-3{
  color:var(--oto-navy);
  background:#f5f8fd;
  border-color:var(--oto-line);
  border-bottom-color:#f5f8fd;
}
.oto-tt-tab-1:checked ~ .oto-tab__panels .oto-tt-panel-1,
.oto-tt-tab-2:checked ~ .oto-tab__panels .oto-tt-panel-2,
.oto-tt-tab-3:checked ~ .oto-tab__panels .oto-tt-panel-3{
  display:block;
}

/* Tabulka */
.oto-tab .oto-tab__table-scroll{
  overflow-x:auto;
  border:1px solid var(--oto-line);
  border-radius:8px;
  -webkit-overflow-scrolling:touch;
}
.oto-tab table{
  border-collapse:collapse;
  width:100%;
  min-width:560px;
  font-size:18px;
}
.oto-tab caption{
  text-align:left;
  font-size:18px;
  color:var(--oto-ink-soft);
  padding:10px 14px 0;
}
.oto-tab th,
.oto-tab td{
  padding:11px 10px;
  text-align:center;
  border-bottom:1px solid var(--oto-line);
  white-space:nowrap;
}
.oto-tab thead th{
  background:var(--oto-navy);
  color:#fff;
  font-weight:600;
  font-size:18px;
  letter-spacing:.02em;
}
.oto-tab thead th.oto-tab__row-label{
  text-align:left;
  padding-left:14px;
  background:#013a75;
}
.oto-tab tbody th{
  text-align:left;
  padding-left:14px;
  font-weight:600;
  color:var(--oto-navy);
  background:#f5f8fd;
  white-space:normal;
  font-size:18px;
}
.oto-tab tbody tr.oto-tab__highlight-row td{
  background:#fff9dd;
  font-weight:700;
  color:var(--oto-ink);
}
.oto-tab tbody tr:last-child td,
.oto-tab tbody tr:last-child th{ border-bottom:none; }
.oto-tab td.oto-tab__empty{ color:#c3ccd6; }

/* Modifikátor: tabulka bez horizontálního scrollu –
   nevynucuje min-width, buňky se místo toho zalamují */
.oto-tab table.oto-tab__table--fluid{
  min-width:0;
  width:100%;
}
.oto-tab table.oto-tab__table--fluid th,
.oto-tab table.oto-tab__table--fluid td{
  white-space:normal;
}

@media (max-width:560px){
  .oto-tab h1{ font-size:23px; }
  .oto-tab .oto-tab__tab-label{ padding:10px 16px; font-size:16px; }
}
/* ====== HLAVNÍ VIDITELNÁ LIŠTA MENU ====== */
.header-bottom .navigation-in > .menu-level-1 > li > a,
.header-bottom .navigation-in > .menu-level-1 > li > a b {
  color: #024891;
}

.header-bottom .navigation-in > .menu-level-1 > li > a:hover,
.header-bottom .navigation-in > .menu-level-1 > li > a:hover b {
  color: #99B2E6;
}

.header-bottom .navigation-in > .menu-level-1 > li > a.active,
.header-bottom .navigation-in > .menu-level-1 > li > a.active b {
  color: #99B2E6;
}

.header-bottom .navigation-in > .menu-level-1 > li > a.active:hover,
.header-bottom .navigation-in > .menu-level-1 > li > a.active:hover b {
  color: #99B2E6;
}

/* ====== TLAČÍTKO "VÍCE" ====== */
.menu-helper > span {
  color: #024891;
}

.menu-helper .menu-level-1 > li > a:hover {
  color: #99B2E6;
}

.oto-kategorie-dlazdice {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.oto-kategorie-dlazdice .dlazdice {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(2, 72, 145, 0.2);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}

.oto-kategorie-dlazdice .dlazdice:hover {
  border: 2px solid #024891;
  border-color: #FFCC01;
  box-shadow: 0 10px 24px rgba(2, 72, 145, 0.3);
  transform: translateY(-4px);
}

.oto-kategorie-dlazdice .dlazdice img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hover: celá plocha ztmavne poloprůsvitnou modrou */
.oto-kategorie-dlazdice .dlazdice::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(2,72,145,0);
  transition: background .25s;
  z-index: 1;
  pointer-events: none;
}

.oto-kategorie-dlazdice .dlazdice:hover::before {
  background: rgba(2,72,145,0.55);
}

.oto-kategorie-dlazdice .dlazdice:hover::after {
  height: 100%;
  background: rgba(2,72,145,0.35);
}

.oto-kategorie-dlazdice .dlazdice span {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 14px 10px;
  color: #ffffff;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.25;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}
.product,
.product.active,
.product.inactive {
  padding: 20px;
  box-sizing: border-box;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.product .p {
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(2, 72, 145, 0.2);
  overflow: hidden;
  background: #ffffff;
  transition: box-shadow .2s, transform .2s;
}

.product .p:hover {
  box-shadow: 0 10px 24px rgba(2, 72, 145, 0.3);
  transform: translateY(-4px);
}
/* ==========================================================================
  "obrázek + text" (střídavé řazení)
   Použití: .oto-split (základní varianta: obrázek vlevo, text vpravo)
            .oto-split.oto-split--reverse (obrázek vpravo, text vlevo)
   ========================================================================== */

.oto-split {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
  margin: 60px 0;
}

.oto-split__image,
.oto-split__text {
  flex: 1 1 45%;
  min-width: 280px;
}

.oto-split__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.oto-split__text h2,
.oto-split__text h3 {
  color: #024891; /* tmavě modrá OTO */
  margin-top: 0;
}

/* Výchozí pořadí na desktopu: obrázek vlevo, text vpravo */
.oto-split__image { order: 1; }
.oto-split__text  { order: 2; }

/* Modifikátor pro opačné pořadí: obrázek vpravo, text vlevo */
.oto-split--reverse .oto-split__image { order: 2; }
.oto-split--reverse .oto-split__text  { order: 1; }

.oto-faq {
  max-width: 760px;
  margin: 0 auto;
}

.oto-faq-item {
  border: 1px solid #99B2E6;
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
  background: #ffffff;
}

.oto-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 48px 16px 20px;
  position: relative;
  font-weight: 700;
  font-size: 17px;
  color: #024891;
  transition: background-color .2s;
}

.oto-faq-item summary::-webkit-details-marker {
  display: none;
}

.oto-faq-item summary:hover {
  background-color: rgba(153, 178, 230, 0.15);
}

/* vlastní šipka místo výchozího trojúhelníku prohlížeče */
.oto-faq-item summary::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #024891;
  border-bottom: 2px solid #024891;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .25s;
}

.oto-faq-item[open] summary::after {
  transform: translateY(-30%) rotate(-135deg);
}

.oto-faq-item[open] summary {
  color: #024891;
  border-bottom: 1px solid #99B2E6;
  background-color: rgba(255, 204, 1, 0.12);
}

.oto-faq-answer {
  padding: 16px 20px 20px;
  color: #333333;
  font-size: 15px;
  line-height: 1.6;
}

.oto-faq-answer p {
  margin: 0;
}


/* Mobilní zobrazení: 2 sloupce × 4 řady */
@media screen and (max-width: 600px) {
  .oto-kategorie-dlazdice {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .oto-kategorie-dlazdice .dlazdice span {
    font-size: 17px;
    padding: 12px 8px;
  }
}
/* Mobil: vždy pod sebou, text první, obrázek vždy druhý (bez ohledu na --reverse) */
@media (max-width: 767px) {
  .oto-split {
    flex-direction: column;
    gap: 24px;
  }
  .oto-split__text,
  .oto-split--reverse .oto-split__text {
    order: 1;
  }
  .oto-split__image,
  .oto-split--reverse .oto-split__image {
    order: 2;
  }
}
</style>