.overall-wrapper {
  max-width: 1920px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}
  /* 🔹 Obecné úpravy */
  hr {
    border: none;
    height: 1px;
    background-color: #e0e0e0;
    margin: 20px auto;
    max-width: 1000px;
  }

  /* 🔹 Galerie + text */
  .gallery-text-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
  }

  .plus-gallery-wrap {
    flex: 0 0 auto;
  }

  .plus-gallery-item {
    height: 200px;
    width: 200px;
  }

  .text {
    flex: 1;
    max-width: 600px;
    margin-top: 20px;
  }

  @media (max-width: 768px) {
    .gallery-text-wrap {
      flex-direction: column;
    }
    .text {
      margin-top: 0;
    }
  }

  /* 🔹 Skrytí nepotřebných bloků */
  .container.footer-newsletter,
  .shp-tabs-wrapper.homepage-tabs-wrapper,
  .container.navigation-wrapper,
  .content-window-in.login-window-in,
  .user-action {
    display: none !important;
  }

  .overall-wrapper {
    padding-top: 0 !important;
  }

  /* 🔹 Logo */
  #custom-logo-wrapper {
    position: absolute;
    top: 40px;
    left: 40px;
    z-index: 1000;
    pointer-events: auto;
  }

  #custom-logo-wrapper img {
    width: 345px;
    height: auto;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.7));
  }

  /* 🔹 Menu */
  #custom-menu {
    position: absolute;
    top: 65px;
    right: 40px;
    z-index: 1000;
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: white;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 10px 15px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  #custom-menu a {
    color: white;
    text-decoration: none;
    font-size: 14px;
    padding: 5px 8px;
    border-radius: 6px;
    transition: background 0.2s ease;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  }

  #custom-menu a:hover {
    background: rgba(0, 123, 255, 0.2);
  }

  #custom-menu img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
  }

  /* 🔹 Hamburger */
  #menu-toggle {
    position: absolute;
    top: 23px;
    right: 1px;
    z-index: 1001;
    background: none;
    border: none;
    color: white;
    font-size: 28px;
    cursor: pointer;
    display: none;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
  }

  /* 🔹 Responzivní video banner */
  .carousel-inner {
    position: relative !important;
    width: 100%;
    max-height: 400px;
    height:100vh;
    overflow: hidden;
    min-height:unset;
  }

  .carousel-inner .item > video {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    z-index: 1;
  }
 


  /* Ultra široké obrazovky – omez výšku videa */
  @media (min-width: 1600px) {
    .carousel-inner {
      max-height: 600px;
    }
  }

  /* Skrytí obrázku ve slideru (když se používá video) */
  .carousel-inner .item img {
    opacity: 0 !important;
    z-index: 0 !important;
  }

  /* 🔹 Mobilní úpravy */
  @media (max-width: 768px) {
    #custom-logo-wrapper {
      top: 20px;
      left: 20px;
    }

    #custom-logo-wrapper img {
      width: 180px;
    }

    #custom-menu {
      top: 70px;
      right: 15px;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
      padding: 8px 10px;
      display: none;
    }

    #custom-menu.show {
      display: flex;
    }

    #custom-menu a {
      font-size: 12px;
      padding: 4px 6px;
    }

    #menu-toggle {
      display: block;
    }
  }

  /* 🔹 Mobilní úprava výšky videa */
  @media (max-width: 768px) {
    .carousel-inner {
      min-height: 150px !important;
      max-height: 200px !important;
      
    }
  }


  /* 🔹 Obrázkový banner pro podstránky */
  .page-banner {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
  }
/* CENÍK PNEUSERVIS – scoped na #cenik-pneuservis */
/* Base light theme */
#cenik-pneuservis{
  --bg:#ffffff;
  --panel:#f8f9fa;
  --panel2:#f1f3f5;
  --text:#1a1c1e;
  --muted:#6b7280;
  --accent:#005bb5;
  --border:rgba(0,0,0,.1);
}
#cenik-pneuservis{color:var(--text);background:var(--bg);padding:24px 0}
#cenik-pneuservis .cp-wrap{max-width:1100px;margin-inline:auto;padding-inline:16px}
#cenik-pneuservis h1{margin:0 0 8px;font-weight:800;font-size:clamp(22px,3.5vw,34px)}
#cenik-pneuservis .cp-tools{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
#cenik-pneuservis input[type="search"]{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff;color:var(--text);min-width:260px}
#cenik-pneuservis .cp-vat{display:inline-flex;align-items:center;gap:8px;font-weight:600}
#cenik-pneuservis .cp-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 16px rgba(0,0,0,.08);margin:16px auto;overflow:hidden}
#cenik-pneuservis .cp-card-head{padding:14px 16px;border-bottom:1px solid var(--border)}
#cenik-pneuservis .cp-card h2{margin:0;font-size:20px}
#cenik-pneuservis .cp-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid var(--border);font-size:12px;color:var(--muted)}
#cenik-pneuservis .cp-grid{display:grid;gap:10px}
@media (min-width:860px){#cenik-pneuservis .cp-grid{grid-template-columns:1fr 1fr}}
#cenik-pneuservis .cp-note{color:var(--muted);font-size:13px;margin:12px 10px 6px}
#cenik-pneuservis .cp-table{width:100%;border-collapse:collapse;table-layout:fixed}
#cenik-pneuservis .cp-table thead th{position:sticky;top:0;background:#e9ecef;text-align:left;padding:12px;border-bottom:1px solid var(--border)}
#cenik-pneuservis .cp-table td{padding:12px;border-bottom:1px dashed var(--border);vertical-align:top}
#cenik-pneuservis .cp-table tbody tr:hover{background:rgba(0,0,0,.03)}
#cenik-pneuservis .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#cenik-pneuservis .cp-footnote,.cp-caption{color:var(--muted);font-size:13px;padding:8px 16px 16px}

/* General column sizing (works for doplňky) */
#cenik-pneuservis .cp-table th:nth-child(1),
#cenik-pneuservis .cp-table td:nth-child(1){width:60%;word-break:break-word;hyphens:auto}
#cenik-pneuservis .cp-table th:nth-child(2),
#cenik-pneuservis .cp-table td:nth-child(2){width:20%}
#cenik-pneuservis .cp-table th:nth-child(3),
#cenik-pneuservis .cp-table td:nth-child(3){width:20%}

/* --- Fix for MAIN price tables (first card) on small screens --- */
@media (max-width:520px){
  /* target first .cp-card only */
  #cenik-pneuservis .cp-card:first-of-type .cp-table{font-size:15px}
  #cenik-pneuservis .cp-card:first-of-type .cp-table thead th{padding:10px 8px;font-size:12px;line-height:1.1;white-space:nowrap}

  /* narrow description to make room for both price columns */
  #cenik-pneuservis .cp-card:first-of-type .cp-table th:nth-child(1),
  #cenik-pneuservis .cp-card:first-of-type .cp-table td:nth-child(1){width:54%}
  #cenik-pneuservis .cp-card:first-of-type .cp-table th:nth-child(2),
  #cenik-pneuservis .cp-card:first-of-type .cp-table td:nth-child(2){width:23%}
  #cenik-pneuservis .cp-card:first-of-type .cp-table th:nth-child(3),
  #cenik-pneuservis .cp-card:first-of-type .cp-table td:nth-child(3){width:23%}

  /* shorten header labels visually to avoid overlap */
  #cenik-pneuservis .cp-card:first-of-type .cp-table thead th:nth-child(2),
  #cenik-pneuservis .cp-card:first-of-type .cp-table thead th:nth-child(3){font-size:0}
  #cenik-pneuservis .cp-card:first-of-type .cp-table thead th:nth-child(2)::before{content:"bez DPH";font-size:12px}
  #cenik-pneuservis .cp-card:first-of-type .cp-table thead th:nth-child(3)::before{content:"vč. DPH";font-size:12px}
}
/* Zvýraznění sekčních nadpisů modrou barvou STREFA.cz */
#cenik-pneuservis .cp-note strong,
#cenik-pneuservis .cp-note {
  color: #023f78;
  font-weight: 700;
}

#cenik-pneuservis .cp-note strong {
  text-transform: none;
}

#cenik-pneuservis .cp-note {
  font-size: 15px;
  margin-top: 14px;
  margin-bottom: 8px;
}
/* === Kontakt & adresy (Daniel Mach) === */
#dm-kontakt { --accent:#023f78; --text:#1a1c1e; --muted:#6b7280; --panel:#f8f9fa; --border:rgba(0,0,0,.1); }
#dm-kontakt.dm-wrap{max-width:1100px;margin:0 auto;padding:12px 16px;}
#dm-kontakt .dm-head{margin:8px 0 14px;}
#dm-kontakt .dm-head h2{margin:0 0 4px;font-size:clamp(22px,3.2vw,30px);font-weight:800;color:var(--accent);}
#dm-kontakt .dm-sub{margin:0;color:var(--muted);}

#dm-kontakt .dm-grid{
  display:grid;gap:12px;
  grid-template-columns:1fr;
}
@media (min-width:860px){
  #dm-kontakt .dm-grid{grid-template-columns:1fr 1fr;}
  #dm-kontakt .dm-span2{grid-column:1 / -1;}
}

#dm-kontakt .dm-card{
  background:var(--panel);border:1px solid var(--border);
  border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,.06);
  padding:14px 16px;
}
#dm-kontakt .dm-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
#dm-kontakt .dm-ico{font-size:20px;line-height:1}
#dm-kontakt h3{margin:0;font-size:18px;font-weight:800;color:var(--accent);}
#dm-kontakt address{margin:0;line-height:1.5;color:var(--text);font-style:normal;}
#dm-kontakt .dm-list{margin:0;padding:0;list-style:none;color:var(--text);}
#dm-kontakt .dm-list li{display:flex;gap:8px;padding:6px 0;border-top:1px dashed var(--border);}
#dm-kontakt .dm-list li:first-child{border-top:0}
#dm-kontakt .dm-list span{min-width:72px;color:var(--muted);}
#dm-kontakt a{color:var(--accent);text-decoration:none;}
#dm-kontakt a:hover{text-decoration:underline;}
