@media (max-width: 1360px) {
	#logo { flex: 0 0 auto; margin: 10px 30px 0 20px; }
	nav#mainmenu { padding: 0px 0px 0px 0px; }

  #memdet .cols-3-33 > :nth-child(1) { grid-column: span 6; }
  #memdet .cols-3-33 > :nth-child(2) { grid-column: span 3; } 
  #memdet .cols-3-33 > :nth-child(3) { grid-column: span 3; } 
}

@media (max-width: 1201px) {
  .wrap { padding-inline: 40px; }
  .pl-0   { padding-left: 0 !important; }
  .pl-30  { padding-left: 30px !important; }
  .pr-0   { padding-right: 0 !important; }
  .pr-30  { padding-right: 30px !important; }
  .banner { height: 618px; }
  .banner img { height: 618px; width: 1200px; }
  .team-photo { flex:0 0 160px; width:160px; height:160px; }
}

@media (max-width: 1199px) {
  #logo { margin: 10px 20px 0px 10px; }
	nav#mainmenu { padding: 0px 0px 0px 0px; }
  .wrap { padding-inline: 15px; }
  footer .foot { grid-template-columns: 1fr; }
  .finfos { flex-direction: row; padding: 0 15px 10px 15px; }
  .fmenus { grid-template-columns: 23% 30% 26% 20%; }
}

@media (max-width: 1024px) {
  #logo a img { width: 220px; height: 73px; }
  .banner { height: 530px; }
  .banner img { height: 530px; width: 1030px; }
  #mainmenu .menu > li { padding: 0px 20px 0px 0px; }
  #mainmenu .menu > li .menu-row > a { font-size: 17px; }
  .cols-2-66 > :nth-child(1) { grid-column: span 7; }       /* 66/33 */
  .cols-2-66 > :nth-child(2) { grid-column: span 5; }       /* 66/33 */
  h1.bigr { font-size: 40px; }
  h1.bigr i { display: contents; width: auto; }
  .refs .ref-img { width: 200px; }
  .refs .ref-img img { width: 200px; height: auto;}
  .refs .ref-msg { font-size: 18px; line-height: 24px; }
  .refs .ref-msg::before { font-size: 30px; }
  .refs .ref-cnt p { margin: 0 0 0 40px; }
  .refs p.ref-info { margin: 30px 0 0 40px; }
  .refs .ref-cnt h4 { margin: 30px 0 0 40px; }
  .refs .ref-msg { padding: 0 0 0 40px; }
  .team-card { grid-column: span 6; }
  #evnts .event-info { flex-direction: column; align-items: flex-start; gap: 5px; }
  #evnts .items { gap: 20px; margin: 20px 0 30px 0; }
}

@media (min-width: 900px) and (max-width: 1023px) {
  .row.cols-2-fixed-right { grid-template-columns: minmax(0, 1fr) var(--fixed, 340px); }
  .eventhdr span { display: inline-block; width: 100%; }
  .eventhdr i { margin: 0px 5px 0px 0px; }
}

@media (max-width: 900px) {
  .header-flex {
    display: flex !important;
    align-items: center;
    flex-direction: row !important;
    justify-content: flex-start;
    width: 100vw;
    box-sizing: border-box;
    gap: 0;
    position: relative;
    min-height: 90px;
  }
  #logo {
    flex: 0 0 auto;
    margin-top: 2px;
    margin-right: 12px;
    z-index: 10;
  }
  /* --- 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: 0;
  }
  #menu-toggle {
    display: block !important;
    background: none;
    border: none;
    font-size: 24px;
    color: #007CB8;
    cursor: pointer;
    margin-left: auto;
    margin-right: 20px;
    margin-top: 5px;
    z-index: 10;
    flex: 0 0 auto;
    order: 2;
  }
  #mainmenu .topicos {
    display: flex !important;
    align-items: center;
    gap: 14px;
    order: 3;
    margin-left: 0;
    margin-right: 20px;
    list-style: none;
    padding: 0;
    flex: 0 0 auto;
  }
  #mainmenu .topicos li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 0 0 20px;
  }
  #mainmenu .topicos a {
    display: block;
    margin: 0 15px 0 0;
    padding: 0;
    color: #007CB8;
    transition: color 0.2s;
  }
  #mainmenu .topicos a:last-child {
    margin-right: 0;
  }
  #mainmenu .topicos a i {
    color: #007CB8;
    font-size: 24px;
  }
  #mainmenu .topicos a:hover i {
    color: #000;
  }

  /* --- MOBILE OVERLAY --- */
  #mobile-overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: #fff;
    overflow-y: auto;
    box-sizing: border-box;
  }
  #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: 90px;
    padding: 3px 5px 0 10px;
    background: #fff;
    border-bottom: 1px solid #eee;
    width: 100vw;
    box-sizing: border-box;
    gap: 0;
  }
  #mobile-logo {
    flex: 0 0 auto;
    margin-right: 12px;
  }
  #mobile-logo img {
    height: 73px;
    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 #eee;
  }
  #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: #007CB8;
    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: #007CB8;
  }
  #mobile-overlay .menu > li .menu-row > .submenu-toggle {
    flex: 0 0 auto;
    padding: 0 24px 0 10px;
    font-size: 1.1em;
    color: #007CB8;
    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 .topicos { font-size: 24px; height: 30px; border-left: 1px solid rgba(0,0,0,0.3); padding: 4px 0 0 5px; margin: 8px 0 3px 0;}
  #mobile-overlay .topicos li { padding: 0 0 0 15px; }
  #mobile-overlay .topicos a { margin: 0 15px 0 0; }
  
  .banner { height: 480px; }
  .banner img { height: 480px; width: 933px; }
  #toptab .col span[class^="icon-"] { font-size: 38px; }
  .finfos .finfo { font-size: 16px; padding: 0 0 20px 0; }
  .finfos .finfo i { font-size: 20px; }
  #spons .cols-2-50 > :nth-child(1) { grid-column: span 12; }
  #spons .cols-2-50 > :nth-child(2) { grid-column: span 12; }

  .events-container { flex-wrap: wrap; height: 840px; }
  .future-event { flex: 1 1 100%; height: 360px; }
  .past-events { flex: 1 1 100%; height: 480px; }

  .row.cols-2-fixed-right { grid-template-columns: minmax(0, 1fr) var(--fixed, 280px); }
  .eventhdr span { display: inline-block; width: 100%; }
  .eventhdr i { margin: 0px 5px 0px 0px; }
  
}

@media (max-width: 800px) {
  #membrs .cols-sform > :nth-child(1) { grid-column: span 12; } 
  #membrs .cols-sform > :nth-child(2) { grid-column: span 12; }       
  #membrs .cols-sform > :nth-child(3) { grid-column: span 12; padding-left: 100px;}
  #membrs .cols-sform > .col label { width: 100px; }
  .items { grid-template-columns: repeat(2, 1fr); }

  .row.cols-2-fixed-right { grid-template-columns: 1fr !important; }
  .eventhdr span { display: inline-block; width: 100%; }
  .eventhdr i { margin: 0px 5px 0px 0px; }

  .eventdash { flex: 0 0 100%; max-width: 100%; margin: 0px 0 0px 0; }

  .eventdash .eventimg { max-width: 600px; }
  .eventdash .eventimg img { width: 100%; height: auto; }

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

  #progs .cols-2-50 > .col { grid-column: span 12; }
  .prog .progimg { flex-basis: 33%; }
  .prog .progtxt { flex-basis: 66%; }
}

@media (max-width: 700px) {
  .banner { height: 440px; }
  .banner img { height: 440px; width: 855px; }
  .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; }

  img.resp { width: calc(100% - 120px); margin: 0 60px; }
  .prog .progimg img.resp { width: 100%; height: auto; margin: 0 0px; }
  .eventdash .eventimg img.resp { width: 100%; height: auto; margin: 0 0px; }
  .cnt-grid { grid-template-columns: repeat(2, 1fr); }

  #memdet .cols-3-33 > :nth-child(1) { grid-column: span 12; }
  #memdet .cols-3-33 > :nth-child(2) { grid-column: span 6; }
  #memdet .cols-3-33 > :nth-child(3) { grid-column: span 6; }

  #sbce .cols-3-33 > .col { grid-column: span 12; }

  
  
  #toptab .cols-3-33 { flex-direction: column !important; gap: 0px !important; }
  #toptab .col:first-child, #contab .col:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-left-radius: 0px;}
  #toptab .col:last-child, #contab .col:last-child { border-top-right-radius: 0px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; }
  
  #toptab .col { display: flex; flex-direction: column; align-items: center; }
  #toptab .col a { display: flex; flex-direction: column; }
  #toptab .col span[class^="icon-"] { display: block; }
  #toptab .col .toptab-text { display: block; }
  
  #toptab .col h3, #toptab .col p { margin: 0; padding: 0; }
  #toptab .col h3 { display: flex; justify-content: space-between; align-items: center; width: 100%; }
  #toptab .col a:not(:has(span[class^="icon-"])) { flex-direction: column !important; align-items: flex-start; gap: 0; }
  
  .finfos { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .finfos .finfo:nth-child(1) { grid-column: 1; grid-row: 1; }
  .finfos .finfo:nth-child(2) { grid-column: 2; grid-row: 1; }
  .finfos .finfo:nth-child(3) { grid-column: 1 / span 2; grid-row: 2; }
  .ref-msg { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; max-height: 6em; line-height: 1.5; transition: max-height 0.2s; }
  
  .ref-msg.expanded { -webkit-line-clamp: unset; overflow: visible; max-height: none; }
  .read-more-btn, .read-less-btn { display: inline-block; padding: 0 0 0 40px; }
  
  .team-card { grid-column: span 12; margin: 0 0 0 0; }
  
  #evnts .event-img img.resp { width: 100%; height: auto; margin: 0 0px; }

  .projekt-detail { flex-direction: column; align-items: stretch; gap: 20px; }
  .projekt-image { width: 100%; min-width: 0; max-width: 100%; margin-bottom: 0; order: 1; text-align: center; }
  .projekt-info { order: 2; }

  #values .cols-3-33 > :nth-child(1) { grid-column: span 6; } 
  #values .cols-3-33 > :nth-child(2) { grid-column: span 6; }    
  #values .cols-3-33 > :nth-child(3) { grid-column: span 6; } 
  #values .row { gap: var(--gap, 0px); }
  .icontext { gap: 12px; margin-bottom: 0px; }
  #subpg { height: 200px; }
}

@media (min-width: 701px) {
  .read-more-btn, .read-less-btn {
    display: none !important;
  }
}

@media (max-width: 600px) {
  .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; }

  .finfos { display: flex; flex-direction: column; justify-content: space-between; padding: 0;}
  .fmenus { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; justify-content: center; gap: 10px; }
  .fmenus .fmenu { width: 100%;}
  div.copy .cols-2-66 > :nth-child(1), div.copy.cols-2-66 > :nth-child(2) { grid-column: span 12; }
  div.copy .row { gap: 0; }
  div.copy .cols-2-66 .col p.txright { text-align: left !important;}
  .refs .ref-img { width: 160px; }
  .refs .ref-img img { width: 160px; }
  #newltr .btnwrap { padding-top: 0px; }

  .section ul, .section ol { padding-left: 10px; }
  #diver .parent-50, #mentex .parent-50 { flex-direction: column; gap: 0px; }
  #diver .parent-50 > ul, #mentex .parent-50 > ul { width: 100%; flex: none; }
  .form .row.cols-3-33 .col { grid-column: span 12; }
  .form .row { gap: var(--gap, 10px); }

  .prog .progimg { flex-basis: 40%; }
  .prog .progtxt { flex-basis: 60%; }
}

@media (max-width: 500px) {
  .ref { display: flex; flex-direction: column; align-items: stretch; }
  .ref-img, .ref-cnt { width: 100%; max-width: 100%; }
  .ref-img {  margin-bottom: 15px; margin-left: 40px; }
  .cnt-grid { grid-template-columns: repeat(1, 1fr); }
  .nordic-stats { gap: 24px; }
  .stat { flex-direction: column; align-items: flex-start; gap: 8px; }
  .number { ont-size: 36px; min-width: 0; text-align: left; padding-right: 0; padding-bottom: 8px; }
  .line { display: none; }
  .stat p { padding-top: 0; font-size: 1rem; }
  img.resp { width: calc(100% - 0px); margin: 0 0; }
  .items { grid-template-columns: repeat(1, 1fr); }
  #memdet .cols-3-33 > :nth-child(1) { grid-column: span 12; }
  #memdet .cols-3-33 > :nth-child(2) { grid-column: span 12; }
  #memdet .cols-3-33 > :nth-child(3) { grid-column: span 12; }

  .team-photo { flex:0 0 140px; width:140px; height:140px; }
  .team-photo img { width:140px; height:140px; }

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

  #values .cols-3-33 > :nth-child(1) { grid-column: span 12; } 
  #values .cols-3-33 > :nth-child(2) { grid-column: span 12; }    
  #values .cols-3-33 > :nth-child(3) { grid-column: span 12; } 

  .prog { flex-direction: column; gap: 20px; }
  .prog .progimg, prog .progtxt { flex-basis: auto; flex-shrink: 1; flex-grow: 1; padding-right: 0; width: 100%; }
}

@media (max-width: 480px) {
  .banner { height: 280px; }
  .banner img { height: 280px; width: 768px; }
  #logo a img { width: 200px; height: 66px; }
  #mobile-logo img { width: 200px; height: 66px; }


  .events-container { flex-direction: column; height: auto; gap: 24px; }
  .future-event, .past-events { width: 100%; max-width: 100%; min-width: 0; }
  .future-event { height: 400px; min-height: 400px; }
  .past-event-image { min-height: 170px; }
  .event-info { flex-direction: column; align-items: flex-start; gap: 8px; }
  .event-info .more { float: none; align-self: flex-start; margin-top: 0; text-align: left; }
  .event-info .more i { position: relative; padding-left: 0px; margin-left: -15px; }
  .past-event { flex-direction: column; align-items: stretch; }
  .past-event:last-child { display: none; }
  .past-event-image { width: 100%;  min-width: 0; border-right: none;  min-height: 200px; }
  .past-event-content { width: 100%;  min-width: 0; border-right: none;  min-height: 100px; }
  .past-event-content { padding: 20px 20px 20px 30px; }
  .past-event-content .more {
    margin-top: auto;
    align-self: flex-start;
    text-align: left; 
    text-transform: uppercase;
    margin-top: 10px;
  }
  .past-event-content .more i {
    position: relative; padding-left: 0px; margin-left: -15px;
  }
}

@media (max-width: 400px) {
  #subpg { height: 150px; }
  #menu-toggle { margin-right: 10px; }
  #mainmenu .topicos { margin-right: 10px; }
  #mainmenu .topicos li { padding: 0 0 0 10px; }
  #mainmenu .topicos a { margin: 0 10px 0 0;}
  #mobile-overlay .mobile-header { padding: 3px 0px 0 10px; }
  #mobile-close { margin: 2px 0px 0 0; }
  #mobile-overlay .topicos { margin-right: 0px; }
  #mobile-overlay .topicos li { padding: 0 0 0 5px; margin: 0; }
  #mobile-overlay .topicos a { margin: 0 10px 0 0; }

  
  #spons .row { gap: 20px; }
  #spons .cols-2-50 > :nth-child(1), #spons .cols-2-50 > :nth-child(2) { grid-column: span 12; }
  #spons .col img { max-width: 80%; width: 80%; height: auto; }
  .fmenus { grid-template-columns: 1fr; grid-template-rows: auto; }

  .filter {flex-direction: column;align-items: flex-start; gap: 10px; }
  .eventdet .filter {flex-direction: column; align-items: flex-end; gap: 10px; }
  .filter .more { margin-left: 0px; }
  .more i { padding-left: 0px; } 

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

@media (max-width: 360px) {
  #logo a img { width: 150px; height: 50px; }
}