@media (max-width: 1360px) {
  #intro {
    min-height: 550px;
    background-size: 1447px 550px
  }
}

@media (max-width: 1201px) {
  .wrap { padding-inline: 40px; max-width: 100%; }
  .pl-0   { padding-left: 0 !important; }
  .pl-30  { padding-left: 30px !important; }
  .pr-0   { padding-right: 0 !important; }
  .pr-30  { padding-right: 30px !important; }
  nav#mainmenu { padding: 0px 20px 0px 0px; }
  .site-header .site-logo, .site-header #logo { margin-left: 20px; }
  #intro {background-position: right top 40px;}
}
@media (max-width: 1199px) {
  .wrap { padding-inline: 15px; }
}

@media (max-width: 1024px) {

  .cols-2-66 > :nth-child(1) { grid-column: span 7; }       /* 66/33 */
  .cols-2-66 > :nth-child(2) { grid-column: span 5; }       /* 66/33 */
  p { font-size: 15px; line-height: 18px; }
  h1, h2 {font-size: 36px;}
  h1.bigr, h2.bigr { font-size: 36px; }
  #proces .cols-2-50 .col:last-child { padding-top: 80px; }
  #proces .proc { padding-top: 20px; padding-bottom: 20px; width: 100%; }
  .icos {padding: 0px 0px 0px 0px;}
}

@media (min-width: 900px) and (max-width: 1023px) {
  .row.cols-2-fixed-right { grid-template-columns: minmax(0, 1fr) var(--fixed, 340px); }
}

@media (max-width: 990px) {
  #mainmenu .menu > li {padding: 0px 0px 0px 0px;}
  #mainmenu .menu > li .menu-row > a {font-size: 16px;}
  footer .foot {grid-template-columns: 37% 26% 37%;padding: 25px 0px 25px 0px;}
  footer .foot div.fmenu {padding: 0px 30px 0px 30px;}
  footer .foot div.fcont {padding: 0px 30px 0px 30px;}
  footer .copy .row.cols-2-50 > .col { grid-column: span 12; }
  footer .copy .row.cols-2-50 > .col .txright { text-align: left; }
  footer .copy .row.cols-2-50 > .col p { margin: 0; padding: 0;}
  footer .copy .row {gap: 0px; }
}

@media (max-width: 900px) {
  /* --- HIDE DESKTOP MENU, SHOW HAMBURGER & TOPICOS --- */
  #mainmenu .menu {
    display: none !important;
  }
  #mainmenu {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    flex: 1 1 auto;
    min-width: 0;
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 15px 0px 0px 0px;
    margin-left: auto;
  }
  #mainmenu .menu > li {
    padding: 0px 0px 0px 0px;
  }
  .menu-icos, #menu-toggle {
    padding: 11px;
    margin: -10px 0px 0px 10px;
  }
  #menu-toggle { display: block; }
  #mobile-overlay { display: block; }


  /* --- MOBILE OVERLAY --- */
  #mobile-overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: auto;
    background: var(--color-bg-dark, #A82A2D);
    overflow-y: auto;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-bg-light);
  }
  #mobile-overlay.open {
    display: block;
    animation: fadein 0.2s;
  }
  @keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  #mobile-overlay .mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between; /* klíčové */
    height: 140px;
    padding: 3px 5px 0 10px;
    background: var(--color-bg-dark, #A82A2D);
    border-bottom: 1px solid var(--color-bg-light);
    width: 100vw;
    box-sizing: border-box;
    gap: 0;
  }
  #mobile-logo {
    flex: 0 0 auto;
    margin-right: 12px;
    margin-left: 10px;
  }
  #mobile-logo img {
    height: 90px;
    width: auto;
    display: block;
  }
  .mobile-header-right {
    display: flex;
    align-items: center;
    gap: 12px; /* mezera mezi křížkem a ikonami */
  }
  #mobile-close {
    display: flex;
    font-size: 24px;
    color: #007CB8;
    background: none;
    border: none;
    cursor: pointer;
    margin: 2px 10px 0 0;
    align-items: center;
  }
  #mobile-overlay .topicos li {
    display: flex;
    align-items: center;
    padding: 10px 0 0 0;
  }
  /* --- MOBILE MENU --- */
  #mobile-overlay .menu {
    display: flex;
    flex-direction: column;
    width: 100vw;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
  }
  #mobile-overlay .menu > li {
    display: flex;
    flex-direction: column;
    width: 100vw;
    box-sizing: border-box;
    position: static;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--color-main-less);
  }
  #mobile-overlay .menu > li .menu-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100vw;
    box-sizing: border-box;
  }
  #mobile-overlay .menu > li .menu-row > a {
    flex: 1 1 auto;
    min-width: 0;
    padding: 22px 16px 22px 28px;
    font-size: 1.1em;
    color: var(--color-text);
    text-transform: uppercase;
    text-decoration: none;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
  }
  #mobile-overlay .menu > li .menu-row > a:hover {
    color: #fff;
    background: var(--color-accent);
  }
  #mobile-overlay .menu > li .menu-row > .submenu-toggle {
    flex: 0 0 auto;
    padding: 0 24px 0 10px;
    font-size: 1.1em;
    color: var(--color-main-less);
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
  }
  .submenu-toggle i {
    transition: transform 0.2s;
    transform-origin: center center;
  }

  #mobile-overlay .menu > li.open > .menu-row > .submenu-toggle i {
    transform: rotate(180deg);
  }
  #mobile-overlay .menu > li > ul.submenu {
    display: none;
    position: static !important;
    width: 100vw !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f8f8f8;
    box-sizing: border-box;
    border-radius: 0;
    box-shadow: none;
    z-index: 1;
  }
  #mobile-overlay .menu > li.open > ul.submenu {
    display: block !important;
  }
  #mobile-overlay .menu > li > ul.submenu > li {
    width: 100vw !important;
    box-sizing: border-box;
  }
  #mobile-overlay .menu > li > ul.submenu > li > a {
    display: block;
    width: 100vw;
    box-sizing: border-box;
    padding: 14px 24px 14px 40px;
    color: #007CB8;
    text-decoration: none;
    border-bottom: 1px solid #eee;
    background: none;
    font-size: 1em;
  }
  #mobile-overlay .menu > li > ul.submenu > li > a:hover {
    color: #fff;
    background: #007CB8;
  }
  #mobile-overlay .menu > li > ul.submenu > li:last-child > a {
    border-bottom: none;
  }
  #mobile-overlay .mobile-header-right {
    padding: 10px 20px 0px 0px;
  }
  #mobile-overlay .menu-icos, #mobile-overlay #mobile-close {
    font-size: 18px;
    color: var(--color-text);
    background: var(--color-accent);
    transition: color 0.2s;
    padding: 11px;
    margin: -10px 0px 0px 0px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
  }
  #mobile-overlay .menu-icos:hover, #mobile-overlay .menu-icos:focus, 
  #mobile-overlay #mobile-close:hover, #mobile-overlay #mobile-close:focus {
    color: var(--color-main);
    background: var(--color-bg-light);
  }
  #pokoje .cols-2-50 .col:first-child {
    padding-right: 0px;
  }
  #pokoje .cols-2-50 .col:last-child {
    padding-left: 0px;
  }
}

@media (max-width: 800px) {
  footer .foot {grid-template-columns: repeat(2, 1fr);padding: 25px 0px 25px 0px;}
  footer .foot div:first-child {grid-column: 1 / -1;}
  footer .foot div.finfos {padding: 0px 0px 0px 0px;}
  footer .foot div.fmenu {padding: 0px 30px 0px 0px;}
  footer .foot div.fcont {padding: 0px 0px 0px 30px;}
  .row.cols-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

}

@media (max-width: 700px) {
  .overlap-130 { margin-top: -60px; }
  .overlap-100 { margin-top: -40px; }

  .cols-2-50 > .col { grid-column: span 12; }                /* 50/50 */
  .cols-2-66 > :nth-child(1) { grid-column: span 12; }       /* 66/33 */
  .cols-2-66 > :nth-child(2) { grid-column: span 12; }       
  .cols-2-33 > :nth-child(1) { grid-column: span 12; }       /* 33/66 */
  .cols-2-33 > :nth-child(2) { grid-column: span 12; }       
  .cols-2-60 > :nth-child(1) { grid-column: span 12; }       /* 60/40 (7/5) */
  .cols-2-60 > :nth-child(2) { grid-column: span 12; }
  .cols-2-40 > :nth-child(1) { grid-column: span 12; }       /* 40/60 */
  .cols-2-40 > :nth-child(2) { grid-column: span 12; }
  .cols-3-33 > :nth-child(1) { grid-column: span 6; }
  .cols-3-33 > :nth-child(2) { grid-column: span 6; }    
  .cols-3-33 > :nth-child(3) { grid-column: span 6; }

  .icos.row.cols-3 {grid-template-columns: repeat(1, minmax(0, 1fr));}
  .icos.row.cols-3 .col {display: grid;grid-template-columns: 70px 1fr; grid-template-rows: auto auto;margin-left:-15px;}
  .icos.row.cols-3 .col img {
    grid-column: 1;
    grid-row: 1 / span 2;
    object-fit: contain;
    display: block;
    margin: 0;
  }
  .icos.row.cols-3 .col h4 {
    grid-column: 2;
    grid-row: 1;
    margin: 0; padding: 0 0 0 15px;
    align-self: start;
  }
  .icos.row.cols-3 .col p {
    grid-column: 2;
    grid-row: 2;
    margin: 0;padding: 0 0 0 15px;
  }
}

@media (max-width: 600px) {
  .site-header .site-logo img,
  .site-header #logo img {
    display: block;
    height: 90px;
    max-height: 100%;
    width: auto;
    align-self: flex-start; 
  }
  .site-header .site-logo,
  .site-header #logo {
    align-self: flex-start;
  }
  #mainmenu {
    margin: 0px 0px 0px 0px;
  }
  .pb-15   { padding-bottom: 10px; }
  .pb-30  { padding-bottom: 15px; }
  .pb-60  { padding-bottom: 30px; }

  .pt-10  { padding-top: 5px; }
  .pt-15  { padding-top: 10px; }
  .pt-30  { padding-top: 15px; }
  .pt-60  { padding-top: 30px; }

  .section ul, .section ol { padding-left: 10px; }
  .form .row.cols-3-33 .col { grid-column: span 12; }
  .form .row { gap: var(--gap, 10px); }

  /*h1, h2 {font-size: 40px;margin: 0px 0px 15px 0px;}
  h1.bigr { font-size: 40px; }
  h1 > span, h2 > span {gap: 8px;font-size: 15px;margin-bottom: 8px;}
  h1 span::before, h2 span::before {width: 25px;height: 2px;}*/
  h3 {font-size: 20px;padding: 15px 0px 5px 0px;}
  h4 {font-size: 16px;padding: 15px 0px 5px 0px;}
  p {font-size: 15px;line-height: 18px;padding-bottom: 7px;}
  .btn {font-size: 14px;padding: 7px 10px 7px 15px;}

  #intro { min-height: 900px; background-position: right bottom; }
  #proc-od-nas .intro-hlt.mt-90 { margin-top: 0px; }
  .icos .col .ico-side { padding: 0px 0px 0px 0px; border-right: 0px solid var(--color-bg-dark); }
  #co-je-dulezite .intro-hlt.mt-30 { margin-top: 0px; }
  #proces .cols-2-50 .col:last-child { padding-top: 10px; }
  #proces.overlap-top-60 { margin-top: 0px; }
  #dulezite .cols-2-50 .col:first-child .intro-hlt { margin-bottom: 0px; margin-right: 0px; }
  #dulezite .cols-2-50 .col:first-child .intro-hlt.mt-60 { margin-top: 0px; }
  #individual.overlap-top-60 { margin-top: 0px; }
  footer .foot:first-child div { border-right: 0px solid rgba(255, 255, 255, 0.3); }
}

@media (max-width: 500px) {
  .site-header > .wrap {
    height: 140px;
  }
  img.resp { width: calc(100% - 0px); margin: 0 0; }
  .row.cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cols-3-33 > :nth-child(1) { grid-column: span 12; }
  .cols-3-33 > :nth-child(2) { grid-column: span 12; }    
  .cols-3-33 > :nth-child(3) { grid-column: span 12; }
  #intro { background-size: 1184px 450px }
  h1.bigr { font-size: 36px; }
  h1, h2 {font-size: 30px;}
  .intro-hlt {padding: 20px;}
}

@media (max-width: 400px) {
  .banner { height: 600px; }
  .banner ul li {height: 350px;}
  .banner ul li picture, .banner ul li img {height: 350px;}
  .avizo { max-width: calc(100% - 40px); margin: 0px 20px;top: 370px;}
  #subpg { height: 150px; }
  .menu-icos {display: none;}
  #menu-toggle { margin-right: 0px; }
  #mobile-overlay .mobile-header { padding: 3px 0px 0 10px; }
  #mobile-close { margin: 2px 0px 0 0; }

  footer .foot {grid-template-columns: repeat(1, 1fr);}
  footer .foot div.fmenu, footer .foot div.fcont {padding: 0px 0px 0px 0px;border:none;}

  .row.cols-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}

@media (max-width: 360px) {
  h1, h2 {font-size: 30px;margin: 0px 0px 15px 0px;}
  h1.bigr { font-size: 30px; }
}