/*
Theme Name: Astra Jizera Child
Template: astra
Description: Child theme pro folklorní soubor Jizera, barevná schémata černá-bílá-červená, styl Gemini, Montserrat.
Author: tvé jméno
Version: 1.0
*/

/* =====================================================
   IMPORT FONTU
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;900&display=swap');


/* =====================================================
   PROMĚNNÉ
   ===================================================== */
:root {
  --brand-red:               #a81409;
  --brand-red-rgb:           168, 20, 9;
  --link-underline-thickness: 1px;
  --link-underline-offset:    3px;
  --roh-size:                40px;
  --roh-offset:              18px;
}


/* =====================================================
   GLOBÁLNÍ ZÁKLAD
   ===================================================== */
body {
  background:   #fff;
  color:        #000;
  font-family:  'Montserrat', Arial, sans-serif;
  letter-spacing: 0.02em;
  line-height:  1.5;
}


/* =====================================================
   NADPISY
   ===================================================== */
h1, h2, h3 {
  font-family:   'Montserrat', Arial, sans-serif;
  color:         #000;
  margin-bottom: 0.3em;
}
h1 {
  text-transform: uppercase;
  font-weight:    900;
  font-size:      2.2em;
  letter-spacing: 0.03em;
  position:       relative;
}
h1::after {
  content:      '';
  display:      block;
  width:        30px;
  height:       4px;
  background:   var(--brand-red);
  border-radius: 3px;
  margin-top:   10px;
}
h2 {
  font-weight: 700;
  font-size:   1.6em;
}
h3 {
  font-weight: 400;
  font-style:  italic;
  font-size:   1.1em;
}


/* =====================================================
   ODKAZY
   ===================================================== */
a {
  color:                    var(--brand-red);
  text-decoration-line:     underline;
  text-decoration-thickness: var(--link-underline-thickness);
  text-decoration-color:    var(--brand-red);
  text-underline-offset:    var(--link-underline-offset);
  transition: color 0.18s ease,
              text-decoration-color 0.18s ease,
              text-underline-offset 0.18s ease;
  outline: none;
}
a:focus {
  outline:        3px solid rgba(var(--brand-red-rgb), 0.12);
  outline-offset: 2px;
}


/* =====================================================
   FORMULÁŘE
   ===================================================== */
input[type="text"],
input[type="email"],
textarea {
  border:        none;
  border-bottom: 2px solid #000;
  border-radius: 0;
  background:    transparent;
  font-family:   'Montserrat', Arial, sans-serif;
  padding:       8px 6px;
  margin-bottom: 12px;
  transition:    border-color 0.18s;
  box-shadow:    none;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  outline:       none;
  border-bottom: 2px solid var(--brand-red);
}
::placeholder {
  color:   #bdbdbd;
  opacity: 1;
}


/* =====================================================
   MENU – základní styl odkazů
   ===================================================== */
.main-header-menu a,
.ast-main-header-nav .menu-link {
  color:          #000 !important;
  font-weight:    700;
  font-family:    'Montserrat', Arial, sans-serif;
  text-decoration: none;
  background:     none;
  transition:     color 0.2s;
  position:       relative;
}

.main-header-menu a:hover,
.main-header-menu li:hover > a,
.ast-main-header-nav .menu-link:hover {
  color: var(--brand-red) !important;
}

.main-header-menu li.current-menu-item > a,
.main-header-menu li.current-menu-ancestor > a,
.main-header-menu li.current_page_item > a,
.main-header-menu li.current_page_ancestor > a,
.ast-header-custom-item .current-menu-item > a,
.ast-header-custom-item .current-menu-ancestor > a,
.ast-primary-header-bar .main-header-menu li.current-menu-item > a,
.ast-primary-header-bar .main-header-menu li.current-menu-ancestor > a,
.ast-primary-header-bar .main-header-menu li.current_page_item > a,
.ast-primary-header-bar .main-header-menu li.current_page_ancestor > a {
  color:    var(--brand-red) !important;
  position: relative;
}

.main-header-menu li.current-menu-item > a::after,
.main-header-menu li.current-menu-ancestor > a::after,
.main-header-menu li.current_page_item > a::after,
.main-header-menu li.current_page_ancestor > a::after,
.main-header-menu > li:hover > a::after {
  content:      '';
  display:      block;
  position:     absolute;
  left:         50%;
  transform:    translateX(-50%);
  bottom:       -2px;
  width:        65%;
  height:       5px;
  border-radius: 5px;
  background:   var(--brand-red);
  transition:   all 0.2s;
}


/* =====================================================
   PODMENU
   ===================================================== */
.main-header-menu .sub-menu a,
.main-header-menu .sub-menu .menu-item > a {
  color:           #1a1a1a !important;
  font-weight:     400 !important;
  text-decoration: none !important;
}

.main-header-menu .sub-menu a::after,
.main-header-menu .sub-menu a::before,
.main-header-menu .sub-menu .menu-item a::after,
.main-header-menu .sub-menu .menu-item a::before {
  display: none !important;
}

.main-header-menu .sub-menu a:hover,
.main-header-menu .sub-menu .menu-item > a:hover {
  color: var(--brand-red) !important;
}

.main-header-menu .sub-menu .current-menu-item > a,
.main-header-menu .sub-menu .current-page-ancestor > a {
  color:       var(--brand-red) !important;
  font-weight: 700 !important;
}


/* =====================================================
   CTA TLAČÍTKO V HLAVIČCE
   ===================================================== */
.header-button,
.main-header-bar .ast-custom-button {
  background:       #fff !important;
  background-color: #fff !important;
  color:            var(--brand-red) !important;
  border:           2px solid var(--brand-red) !important;
  border-radius:    0px !important;
  font-weight:      700;
  padding:          0.45em 1.8em;
  font-size:        1em;
  letter-spacing:   0.05em;
  margin-left:      2em;
  transition:       background 0.18s, font-weight 0s;
}
.header-button:hover,
.main-header-bar .ast-custom-button:hover {
  background:       var(--brand-red) !important;
  background-color: var(--brand-red) !important;
  color:            #fff !important;
  font-weight:      900;
  transform:        none;
}


/* =====================================================
   FOOTER
   ===================================================== */
.site-footer {
  background:  #000;
  color:       #fff;
  padding:     3em 0 0.5em 0;
  font-family: 'Montserrat', Arial, sans-serif;
}
.site-footer a {
  color:           #fff;
  text-decoration: underline;
  transition:      color 0.16s;
}
.site-footer a:hover,
.site-footer a:focus {
  color:           var(--brand-red);
  text-decoration: underline;
}
.site-footer .footer-social-icons a {
  color:      #fff;
  font-size:  1.4em;
  transition: color 0.2s;
}
.site-footer .footer-social-icons a:hover {
  color: var(--brand-red);
}
.site-footer .footer-logo img {
  max-height: 50px;
  height:     auto;
}
.site-footer .footer-bottom {
  border-top:  2px solid var(--brand-red);
  margin-top:  2em;
  padding-top: 0.7em;
  font-size:   0.95em;
  text-align:  center;
  color:       #fff;
}


/* =====================================================
   SMART SLIDER
   ===================================================== */
.n2-ss-arrow                { background-color: transparent !important; transition: all 0.3s; }
.n2-ss-arrow:hover          { color: var(--brand-red) !important; }
.n2-ss-control-bullet       { background: #000 !important; opacity: 0.3; }
.n2-ss-control-bullet-active{ background: var(--brand-red) !important; opacity: 1; }
.n2-ss-slide-background img { filter: grayscale(100%); transition: filter 0.8s; }
.n2-ss-slide-active img     { filter: grayscale(0%); }


/* =====================================================
   ROH — třída .roh
   ===================================================== */
:root {
  --roh-size:   40px;
  --roh-offset: 18px;
}

.roh {
  position: relative;
  overflow: visible;
}

.roh::before,
.roh::after {
  content: "";
  position: absolute;
  width: var(--roh-size);
  height: var(--roh-size);
  pointer-events: none;
  background-color: var(--brand-red);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain;
  mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain;
}

.roh::before {
  top:  calc(-1 * var(--roh-offset));
  left: calc(-1 * var(--roh-offset));
  transform: rotate(270deg);
}

.roh::after {
  bottom: calc(-1 * var(--roh-offset));
  right:  calc(-1 * var(--roh-offset));
  transform: rotate(90deg);
}

.roh::before,
.roh::after {
  background-color: var(--brand-red) !important;
  border:           none !important;
  border-radius:    0 !important;
  padding:          0 !important;
  box-shadow:       none !important;
  display:          block !important;
  text-decoration:  none !important;
  font-weight:      unset !important;
  font-size:        unset !important;
  text-transform:   none !important;
}
.roh::before { transform: rotate(270deg) !important; }
.roh::after  { transform: rotate(90deg)  !important; }


/* =====================================================
   TLAČÍTKA – globální základ
   ===================================================== */
.ast-single-post .entry-content .wp-block-button .wp-block-button__link,
.entry-content .wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-element-button,
.wp-block-button__link,
.wp-element-button,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button,
.button,
a.button,
button.button,
button.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
.btn,
.wpcf7-submit,
.ast-button,
[class*="elementor-button"],
[class*="fl-button"] {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  color:            var(--brand-red) !important;
  border:           0px solid var(--brand-red) !important;
  border-radius:    0px !important;
  box-shadow:       0 4px 18px rgba(var(--brand-red-rgb), 0.18) !important;
  font-family:      'Montserrat', Arial, sans-serif;
  font-weight:      700;
  font-size:        1em !important;
  text-transform:   uppercase;
  letter-spacing:   0.03em;
  line-height:      1.3;
  text-decoration:  none !important;
  display:          inline-block;
  padding:          0.5em 1.8em !important;
  cursor:           pointer;
  transform:        none;
  outline:          none;
  transition:       font-weight 0s;
}

.ast-single-post .entry-content .wp-block-button .wp-block-button__link:hover,
.entry-content .wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-element-button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.button:hover,
a.button:hover,
button.button:hover,
button.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.btn:hover,
.wpcf7-submit:hover,
.ast-button:hover,
[class*="elementor-button"]:hover,
[class*="fl-button"]:hover {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  color:            var(--brand-red) !important;
  text-decoration:  none !important;
  font-weight:      900;
  transform:        none;
  outline:          none;
}

.wp-block-button.has-custom-width.wp-block-button__width-50 {
  width:     auto !important;
  max-width: 100% !important;
}
.wp-block-button.has-custom-width.wp-block-button__width-50 .wp-block-button__link,
.wp-block-button.has-custom-width.wp-block-button__width-50 .wp-element-button {
  width:   auto !important;
  display: inline-block !important;
}


/* =====================================================
   THE EVENTS CALENDAR – CSS proměnné
   ===================================================== */
:root {
  --tec-color-background-events-bar-submit-button:         #ffffff;
  --tec-color-background-events-bar-submit-button-hover:   #ffffff;
  --tec-color-text-events-bar-submit-button:               var(--brand-red);
  --tec-color-text-events-bar-submit-button-hover:         var(--brand-red);
  --tec-color-accent-primary:                              var(--brand-red);
  --tec-color-accent-primary-hover:                        var(--brand-red);
  --tec-color-accent-primary-active:                       var(--brand-red);
  --tec-color-background-primary:                          #ffffff;
  --tec-border-radius-default:                             30px;
  --tec-border-width-default:                              0px;
  --tec-box-shadow-default:                                0 4px 18px rgba(var(--brand-red-rgb), 0.18);
}

.tribe-events .tribe-events-c-search__button,
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn-primary,
.tribe-common .tribe-common-c-btn-secondary,
.tribe-common a.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn,
.tribe-common .tribe-common-c-btn-border,
.tribe-events .tribe-common-c-btn-border,
[class*="tribe-common-c-btn"],
[class*="tribe-events-button"],
.tribe-events-button,
#tribe-bar-form .tribe-bar-submit input[type="submit"] {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color:            var(--brand-red) !important;
  border:           none !important;
  border-radius:    0px !important;
  box-shadow:       0 4px 18px rgba(var(--brand-red-rgb), 0.18) !important;
  font-family:      'Montserrat', Arial, sans-serif !important;
  font-weight:      700 !important;
  font-size:        1em !important;
  text-transform:   uppercase !important;
  letter-spacing:   0.03em !important;
  text-decoration:  none !important;
  outline:          none !important;
  cursor:           pointer !important;
  padding:          0.5em 1.8em !important;
  transition:       font-weight 0s !important;
}

.tribe-events .tribe-events-c-search__button:hover,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common button.tribe-common-c-btn:hover,
.tribe-common .tribe-common-c-btn-border:hover,
[class*="tribe-common-c-btn"]:hover,
[class*="tribe-events-button"]:hover {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  color:            var(--brand-red) !important;
  font-weight:      900 !important;
  transform:        none !important;
  outline:          none !important;
}

/* Vyhledávací pole */
.tribe-common-form-control-text__input,
.tribe-events-c-search__input,
input.tribe-common-form-control-text__input {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size:   1em !important;
  color:       #000 !important;
}
.tribe-common-form-control-text__input::placeholder,
.tribe-events-c-search__input::placeholder {
  font-weight: 700 !important;
  color:       #aaa !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
}

/* Události — wrapper */
.tribe-events-calendar-list__event-wrapper {
  position:      relative !important;
  overflow:      visible !important;
  box-shadow:    0 4px 18px rgba(var(--brand-red-rgb), 0.13) !important;
  border-radius: 4px !important;
  background:    #fff !important;
  margin-bottom: 1.2em !important;
  padding:       1.2em 1.4em !important;
  transition:    box-shadow 0.2s !important;
}
.tribe-events-calendar-list__event-wrapper:hover {
  box-shadow: 0 8px 32px rgba(var(--brand-red-rgb), 0.22) !important;
}

/* Roh ozdoba — levý horní */
.tribe-events-calendar-list__event-wrapper::before {
  content:          "" !important;
  position:         absolute !important;
  width:            var(--roh-size) !important;
  height:           var(--roh-size) !important;
  top:              calc(-1 * var(--roh-offset)) !important;
  left:             calc(-1 * var(--roh-offset)) !important;
  pointer-events:   none !important;
  background-color: var(--brand-red) !important;
  background-repeat: no-repeat !important;
  background-size:  contain !important;
  -webkit-mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  mask:         url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  transform:        rotate(270deg) !important;
  border:           none !important;
  box-shadow:       none !important;
  border-radius:    0 !important;
  padding:          0 !important;
}

/* Roh ozdoba — pravý dolní */
.tribe-events-calendar-list__event-wrapper::after {
  content:          "" !important;
  position:         absolute !important;
  width:            var(--roh-size) !important;
  height:           var(--roh-size) !important;
  bottom:           calc(-1 * var(--roh-offset)) !important;
  right:            calc(-1 * var(--roh-offset)) !important;
  pointer-events:   none !important;
  background-color: var(--brand-red) !important;
  background-repeat: no-repeat !important;
  background-size:  contain !important;
  -webkit-mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  mask:         url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  transform:        rotate(90deg) !important;
  border:           none !important;
  box-shadow:       none !important;
  border-radius:    0 !important;
  padding:          0 !important;
}

/* Datepicker */
.tribe-events .datepicker,
.tribe-events .datepicker-days,
.tribe-events .table-condensed {
  background:    var(--brand-red) !important;
  color:         #fff !important;
  border-radius: 8px !important;
  overflow:      hidden !important;
}

.tribe-events .datepicker-switch,
.tribe-events .datepicker thead th,
.tribe-events .datepicker .prev,
.tribe-events .datepicker .next {
  background:     var(--brand-red) !important;
  color:          #fff !important;
  font-family:    'Montserrat', Arial, sans-serif !important;
  font-weight:    700 !important;
  border:         none !important;
  box-shadow:     none !important;
  border-radius:  0 !important;
  padding:        0.4em 0.6em !important;
  text-transform: uppercase !important;
}
.tribe-events .datepicker .prev:hover,
.tribe-events .datepicker .next:hover,
.tribe-events .datepicker-switch:hover {
  background:  #8a1007 !important;
  color:       #fff !important;
  font-weight: 900 !important;
}

.tribe-events .datepicker .dow {
  background:     var(--brand-red) !important;
  color:          rgba(255,255,255,0.75) !important;
  font-family:    'Montserrat', Arial, sans-serif !important;
  font-weight:    700 !important;
  font-size:      0.85em !important;
  text-transform: uppercase !important;
  border:         none !important;
  box-shadow:     none !important;
}

.tribe-events .datepicker .day,
.tribe-events .datepicker td button {
  background:     var(--brand-red) !important;
  color:          #fff !important;
  font-family:    'Montserrat', Arial, sans-serif !important;
  font-weight:    500 !important;
  border:         none !important;
  box-shadow:     none !important;
  border-radius:  50% !important;
  width:          2em !important;
  height:         2em !important;
  padding:        0 !important;
  text-transform: none !important;
  font-size:      0.95em !important;
}
.tribe-events .datepicker .day:hover,
.tribe-events .datepicker td button:hover {
  background:  #fff !important;
  color:       var(--brand-red) !important;
  font-weight: 700 !important;
  box-shadow:  none !important;
}

.tribe-events .datepicker .active,
.tribe-events .datepicker .day.active {
  background:  #fff !important;
  color:       var(--brand-red) !important;
  font-weight: 900 !important;
  box-shadow:  none !important;
}

.tribe-events .datepicker .old,
.tribe-events .datepicker .new {
  color: rgba(255,255,255,0.4) !important;
}

.tribe-events .tribe-events-c-top-bar__datepicker-nav-icon-svg path {
  fill: #fff !important;
}

/* Horní navigační šipky */
.tribe-events-c-top-bar__nav-link {
  display:         inline-flex !important;
  align-items:     center !important;
  justify-content: center !important;
  width:           2.2em !important;
  height:          2.2em !important;
  border-radius:   50% !important;
  border:          2px solid var(--brand-red) !important;
  background:      #fff !important;
  box-shadow:      0 2px 8px rgba(var(--brand-red-rgb), 0.13) !important;
  padding:         0.3em !important;
  transition:      background 0.15s !important;
  overflow:        hidden !important;
}
.tribe-events-c-top-bar__nav-link:hover {
  background: var(--brand-red) !important;
}
.tribe-events-c-top-bar__nav-link-icon-svg {
  width:   0.7em !important;
  height:  0.7em !important;
  display: block !important;
}
.tribe-events-c-top-bar__nav-link-icon-svg path {
  fill:   var(--brand-red) !important;
  stroke: none !important;
}
.tribe-events-c-top-bar__nav-link:hover .tribe-events-c-top-bar__nav-link-icon-svg path {
  fill: #fff !important;
}
.tribe-events-c-top-bar__nav-link-icon-svg:not([viewBox]) {
  display: none !important;
}
.tribe-events-c-top-bar__nav {
  display:     flex !important;
  align-items: center !important;
  gap:         0.5em !important;
}
.tribe-events-c-top-bar__nav-list {
  display: none !important;
}

/* Spodní navigace Předchozí / Následující */
.tribe-events-c-nav {
  margin-top: 2em !important;
}
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
  display:         inline-flex !important;
  align-items:     center !important;
  gap:             0.5em !important;
  background:      #ffffff !important;
  color:           var(--brand-red) !important;
  border:          none !important;
  border-radius:   3px !important;
  box-shadow:      0 4px 18px rgba(var(--brand-red-rgb), 0.18) !important;
  font-family:     'Montserrat', Arial, sans-serif !important;
  font-weight:     700 !important;
  font-size:       0.95em !important;
  text-transform:  uppercase !important;
  letter-spacing:  0.03em !important;
  padding:         0.5em 1.6em !important;
  text-decoration: none !important;
  transition:      font-weight 0s, box-shadow 0.15s !important;
  cursor:          pointer !important;
}
.tribe-events-c-nav__prev:hover,
.tribe-events-c-nav__next:hover {
  background:  #ffffff !important;
  color:       var(--brand-red) !important;
  font-weight: 900 !important;
  box-shadow:  0 6px 24px rgba(var(--brand-red-rgb), 0.28) !important;
}
.tribe-events-c-nav__prev path,
.tribe-events-c-nav__next path {
  fill: var(--brand-red) !important;
}
.tribe-events-c-nav__prev-label-plural,
.tribe-events-c-nav__next-label {
  position:   static !important;
  width:      auto !important;
  height:     auto !important;
  clip:       auto !important;
  overflow:   visible !important;
  white-space: normal !important;
}

/* Astra padding oprava */
.ast-separate-container .tribe-events-calendar-list__event.ast-article-post,
.ast-separate-container .tribe-events-calendar-list__event {
  padding: 0.1em 0.3em !important;
}

/* Odebírat kalendář */
.tribe-events-c-subscribe-dropdown__container {
  box-shadow:    0 2px 8px rgba(0,0,0,0.12) !important;
  border:        none !important;
  border-radius: 3px !important;
}
.tribe-events-c-subscribe-dropdown__button {
  box-shadow:    none !important;
  border:        1px solid rgba(139,0,0,0.2) !important;
  border-radius: 3px !important;
}


/* =====================================================
   TEC – seznam událostí — datum + název na jeden řádek
   ===================================================== */

/* Popis — skrytý (fyzicky odstraněn přes JS, toto je záloha) */
.tribe-events-calendar-list__event-description {
  position:   absolute !important;
  width:      1px !important;
  height:     1px !important;
  overflow:   hidden !important;
  clip:       rect(0,0,0,0) !important;
  margin:     -1px !important;
  padding:    0 !important;
  border:     0 !important;
}

/* Přebití views-skeleton block !important — stejná specificita + náš soubor se načítá později */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description.tribe-common-b2.tribe-common-a11y-hidden,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description.tribe-common-b2,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description {
  display:     none !important;
  height:      0 !important;
  max-height:  0 !important;
  font-size:   0 !important;
  line-height: 0 !important;
  margin:      0 !important;
  padding:     0 !important;
  overflow:    hidden !important;
  position:    absolute !important;
  width:       0 !important;
}

/* Maximální specificita přes body#tec-body */
#tec-body .tribe-events-calendar-list__event-description {
  display:  none !important;
  height:   0 !important;
  margin:   0 !important;
  padding:  0 !important;
  overflow: hidden !important;
}

/* Gutters způsobují extra mezeru */
.tribe-events-calendar-list__event.tribe-common-g-row--gutters {
  --tribe-common-g-gutter: 0px !important;
  row-gap:    0 !important;
  column-gap: 0 !important;
}

.tribe-events-calendar-list__event.tribe-common-g-row--gutters > .tribe-common-g-col {
  padding-top:    0 !important;
  padding-bottom: 0 !important;
}

/* Article je flex — název má zabrat celou šířku */
.tribe-events-calendar-list__event.tribe-common-g-row {
  display: block !important;
}

.tribe-events-calendar-list__event-details.tribe-common-g-col {
  width:     100% !important;
  max-width: 100% !important;
  flex:      1 1 100% !important;
}

/* Header — datum vlevo, název vyplní zbytek */
.tribe-events-calendar-list__event-header {
  display:     flex !important;
  flex-wrap:   nowrap !important;
  align-items: center !important;
  gap:         1.2em !important;
  width:       100% !important;
}

.tribe-events-calendar-list__event-title {
  flex:          1 1 auto !important;
  white-space:   normal !important;
  overflow:      visible !important;
  text-overflow: clip !important;
  margin:        0 !important;
}

.tribe-events-calendar-list__event-datetime-wrapper {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  margin:      0 !important;
}

/* Header — datum a název vedle sebe */
.tribe-events-calendar-list__event-header {
  display:        flex !important;
  flex-direction: row !important;
  align-items:    center !important;
  gap:            1.2em !important;
  flex-wrap:      nowrap !important;
}

/* Název — bez zkracování */
.tribe-events-calendar-list__event-title {
  margin:        0 !important;
  white-space:   normal !important;
  overflow:      visible !important;
  text-overflow: clip !important;
  flex:          1 1 auto !important;
}

/* Datum — fixní, nescvrkává se */
.tribe-events-calendar-list__event-datetime-wrapper {
  margin:      0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* Odstranit zbývající padding */
.tribe-events-calendar-list__event-details {
  padding-bottom: 0 !important;
}
.tribe-events-calendar-list__event {
  padding-bottom: 0.8em !important;
}

/* =====================================================
   TEC – schovat nadpis a breadcrumb na stránkách tagů
   ===================================================== */
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h1.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h2.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h3.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h4.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h5.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-common--breakpoint-medium.tribe-events .tribe-events-header__title h6.tribe-events-header__title-text,
.tax-tribe_events_tag .tribe-events-header__title,
.tax-tribe_events_tag .tribe-events .tribe-events-c-breadcrumbs__list,
.tribe-events .tribe-events-header__title,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar,
.tribe-events .tribe-events-c-nav__list {
  display: none !important;
}


/* =====================================================
   FILTR AKCÍ — tlačítka
   ===================================================== */
.akce-filtr {
  display:      flex !important;
  align-items:  center !important;
  flex-wrap:    wrap !important;
  gap:          0.6em !important;
  margin-bottom: 1.2em !important;
  margin-top:   0.8em !important;
}

.akce-filtr-label {
  color:       #000 !important;
  font-weight: 600 !important;
  margin:      0 !important;
  margin-right: 0.4em !important;
  font-size:   0.95em !important;
}

.filtr-btn {
  display:         inline-block !important;
  padding:         0.5em 1.4em !important;
  border:          none !important;
  background:      #fff !important;
  color:           #8B0000 !important;
  text-decoration: none !important;
  font-weight:     700 !important;
  font-size:       0.85em !important;
  letter-spacing:  0.05em !important;
  text-transform:  uppercase !important;
  border-radius:   3px !important;
  box-shadow:      0 2px 8px rgba(0,0,0,0.15) !important;
  transition:      background 0.2s, color 0.2s, box-shadow 0.2s !important;
}

.filtr-btn:hover {
  background: #8B0000 !important;
  color:      #fff !important;
  box-shadow: 0 2px 12px rgba(139,0,0,0.3) !important;
}

/* Aktivní tlačítko — červené podtržení */
.filtr-btn.aktivni {
  background:     #fff !important;
  color:          #8B0000 !important;
  box-shadow:     0 2px 8px rgba(0,0,0,0.15) !important;
  border-bottom:  3px solid #8B0000 !important;
  padding-bottom: calc(0.5em - 3px) !important;
}


/* =====================================================
   WPFORMS
   ===================================================== */
:root {
  --wpforms-button-background-color:     #ffffff;
  --wpforms-button-background-color-alt: #ffffff;
  --wpforms-button-text-color:           var(--brand-red);
  --wpforms-button-border-color:         transparent;
  --wpforms-button-border-style:         none;
  --wpforms-button-border-size:          0px;
  --wpforms-button-border-radius:        30px;
}

div.wpforms-container-full input[type=submit],
div.wpforms-container-full button[type=submit],
div.wpforms-container-full .wpforms-page-button,
.wpforms-submit {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  color:            var(--brand-red) !important;
  border:           none !important;
  border-radius:    30px !important;
  box-shadow:       0 4px 18px rgba(var(--brand-red-rgb), 0.18) !important;
  font-family:      'Montserrat', Arial, sans-serif !important;
  font-weight:      700 !important;
  font-size:        1em !important;
  text-transform:   uppercase !important;
  letter-spacing:   0.03em !important;
  cursor:           pointer !important;
  padding:          0.5em 1.8em !important;
  transition:       font-weight 0s !important;
  height:           auto !important;
}

div.wpforms-container-full input[type=submit]:hover,
div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full .wpforms-page-button:hover,
.wpforms-submit:hover {
  background:       #ffffff !important;
  background-color: #ffffff !important;
  color:            var(--brand-red) !important;
  font-weight:      900 !important;
  box-shadow:       0 6px 24px rgba(var(--brand-red-rgb), 0.28) !important;
}


/* =====================================================
   RESPONZIVITA
   ===================================================== */
@media (max-width: 700px) {
  .main-header-bar .ast-custom-button {
    margin:  1.1em 0 0 0;
    width:   100%;
    display: block;
  }
  .site-footer .footer-logo img {
    max-height: 38px;
  }
}


/* =====================================================
   OBTÉKÁNÍ OBRÁZKU
   ===================================================== */
.obtekani-obrazek::after {
  content: '';
  display: block;
  clear:   both;
}
.obtekani-obrazek .vlevo {
  float:         left !important;
  width:         40% !important;
  height:        auto !important;
  margin-right:  1.5em !important;
  margin-bottom: 0.8em !important;
  margin-top:    0 !important;
}
.obtekani-obrazek .vpravo {
  float:         right !important;
  width:         40% !important;
  height:        auto !important;
  margin-left:   1.5em !important;
  margin-bottom: 0.8em !important;
  margin-top:    0 !important;
}


/* =====================================================
   KROJE
   ===================================================== */
.kroje-uvod::after {
  content: '';
  display: block;
  clear:   both;
}
.kroje-uvod .vlevo {
  float:         left !important;
  width:         40% !important;
  height:        auto !important;
  margin-right:  1.5em !important;
  margin-bottom: 0.8em !important;
  margin-top:    0 !important;
}

.kroje-sloupce {
  display:               grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:                   2em !important;
  margin-top:            1.5em !important;
}

.kroje-sloupec > b {
  display:       block !important;
  font-size:     1.1em !important;
  font-weight:   700 !important;
  margin-bottom: 0.5em !important;
}

@media (max-width: 768px) {
  .kroje-sloupce {
    grid-template-columns: 1fr !important;
  }
}


/* =====================================================
   STRÁNKA KROJE (post-227)
   ===================================================== */
.post-227 p {
  margin-top:    0.4em !important;
  margin-bottom: 0.4em !important;
  line-height:   1.15 !important;
  text-align:    justify !important;
}
.post-227 .vlevo,
.post-227 .vpravo {
  width:     30% !important;
  max-width: 30% !important;
  height:    auto !important;
}


/* =====================================================
   STRÁNKA O SOUBORU (post-17)
   ===================================================== */
.post-17 p {
  margin-top:    0.4em !important;
  margin-bottom: 0.4em !important;
  line-height:   1.15 !important;
  text-align:    justify !important;
}
.post-17 .vlevo {
  width:         30% !important;
  max-width:     30% !important;
  height:        auto !important;
  float:         left !important;
  margin-right:  1.5em !important;
  margin-bottom: 0.8em !important;
  margin-top:    0 !important;
}

/* =====================================================
   NAVIGACE — fixní menu + shrink po scrollu
   ===================================================== */
#masthead,
.site-header {
  position:   sticky !important;
  top:        0 !important;
  z-index:    9999 !important;
}

/* Transition na výchozím stavu */
#masthead .site-logo-img {
  transition: height 0.3s ease !important;
  height:     75px !important;
  overflow:   hidden !important;
}

#masthead .site-logo-img img.custom-logo {
  transition: max-height 0.3s ease, height 0.3s ease !important;
}

#masthead .ast-custom-button {
  transition: font-size 0.3s ease, padding 0.3s ease !important;
}

#masthead .ast-primary-header-bar {
  transition: padding 0.3s ease, box-shadow 0.3s ease !important;
}

/* Aktivní podtržení — výchozí stav */
#masthead .main-header-menu .current-menu-item > .menu-link::after,
#masthead .main-header-menu .current_page_item > .menu-link::after,
#masthead .main-header-menu .menu-item.active > .menu-link::after {
  transition: all 0.3s ease !important;
}

/* --- Scrolled stav --- */
#masthead.scrolled .ast-primary-header-bar {
  padding-top:    2px !important;
  padding-bottom: 2px !important;
  box-shadow:     0 2px 10px rgba(0,0,0,0.1) !important;
}

#masthead.scrolled .site-logo-img {
  height:   32px !important;
  overflow: hidden !important;
}

#masthead.scrolled .site-logo-img img.custom-logo {
  max-height: 32px !important;
  height:     32px !important;
  width:      auto !important;
}

#masthead.scrolled .site-branding.ast-site-identity {
  padding-top:    0 !important;
  padding-bottom: 0 !important;
  align-self:     center !important;
}

#masthead.scrolled .ast-builder-grid-row {
  min-height:  0 !important;
  align-items: center !important;
}

#masthead.scrolled .site-header-primary-section-left,
#masthead.scrolled .site-header-primary-section-right {
  align-items: center !important;
  align-self:  center !important;
}

#masthead.scrolled .ast-builder-layout-element {
  align-self: center !important;
}

/* Klíčové — zmenšení menu položek a jejich paddingu */
#masthead.scrolled .main-header-menu > li > .menu-link {
  font-size:      0.88em !important;
  padding-top:    8px !important;
  padding-bottom: 8px !important;
  line-height:    1.2 !important;
}

#masthead.scrolled .main-header-menu > li {
  padding-top:    0 !important;
  padding-bottom: 0 !important;
}

#masthead.scrolled #primary-site-navigation-desktop,
#masthead.scrolled .main-header-bar-navigation,
#masthead.scrolled .ast-main-header-bar-alignment {
  line-height: 1 !important;
}

/* Aktivní podtržení — scrolled */
#masthead.scrolled .main-header-menu li.current-menu-item > .menu-link::after,
#masthead.scrolled .main-header-menu li.current_page_item > .menu-link::after,
#masthead.scrolled .main-header-menu li.current-menu-ancestor > .menu-link::after {
  height:    1px !important;
  width:     30px !important;
  left:      50% !important;
  transform: translateX(-50%) !important;
  bottom:    0 !important;
  opacity:   1 !important;
  display:   block !important;
}

/* Hover podtržení — scrolled */
#masthead.scrolled .main-header-menu li:hover > .menu-link::after {
  height:    1px !important;
  width:     30px !important;
  left:      50% !important;
  transform: translateX(-50%) !important;
  bottom:    0 !important;
  opacity:   1 !important;
  display:   block !important;
}

/* Neaktivní položky bez hoveru — žádné podtržení */
#masthead.scrolled .main-header-menu li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor):not(:hover) > .menu-link::after {
  display: none !important;
  opacity: 0 !important;
}

/* Tlačítko */
#masthead.scrolled .ast-custom-button {
  font-size:   0.88em !important;
  padding:     0.55em 1.2em !important;
  line-height: 1.3 !important;
}

/* =====================================================
   UTILITY
   ===================================================== */
.cols-top {
  align-items: flex-start !important;
}

/* =====================================================
   TEC – skupiny událostí podle měsíce
   ===================================================== */
.mesic-skupina {
  position:      relative !important;
  overflow:      visible !important;
  box-shadow:    0 4px 18px rgba(var(--brand-red-rgb), 0.13) !important;
  border-radius: 4px !important;
  background:    #fff !important;
  margin-bottom: 2.5em !important;
  padding:       0.8em 1em !important;
}

/* Roh — levý horní */
.mesic-skupina::before {
  content:          "" !important;
  position:         absolute !important;
  width:            var(--roh-size) !important;
  height:           var(--roh-size) !important;
  top:              calc(-1 * var(--roh-offset)) !important;
  left:             calc(-1 * var(--roh-offset)) !important;
  pointer-events:   none !important;
  background-color: var(--brand-red) !important;
  -webkit-mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  mask:         url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  transform:        rotate(270deg) !important;
  border:           none !important;
  box-shadow:       none !important;
  border-radius:    0 !important;
  padding:          0 !important;
}

/* Roh — pravý dolní */
.mesic-skupina::after {
  content:          "" !important;
  position:         absolute !important;
  width:            var(--roh-size) !important;
  height:           var(--roh-size) !important;
  bottom:           calc(-1 * var(--roh-offset)) !important;
  right:            calc(-1 * var(--roh-offset)) !important;
  pointer-events:   none !important;
  background-color: var(--brand-red) !important;
  -webkit-mask: url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  mask:         url("https://www.jizeraliberec.cz/wp-content/uploads/2026/05/roh.svg") no-repeat center / contain !important;
  transform:        rotate(90deg) !important;
  border:           none !important;
  box-shadow:       none !important;
  border-radius:    0 !important;
  padding:          0 !important;
}

/* Nadpis měsíce uvnitř skupiny */
.mesic-skupina .tribe-events-calendar-list__month-separator {
  padding:       0.2em 0 0.2em 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(var(--brand-red-rgb), 0.15) !important;
}

/* Li wrapper — žádné mezery */
.mesic-skupina .tribe-events-calendar-list__event-row {
  margin-bottom: 0 !important;
  padding:       0 !important;
}

/* První událost — těsně pod oddělovačem (třída přidaná přes JS) */
.mesic-skupina__prvni .tribe-events-calendar-list__event-wrapper {
  margin-top:  0 !important;
  padding-top: 0.3em !important;
}

/* Wrapper události — žádný stín, žádné rohy, minimální padding */
.mesic-skupina .tribe-events-calendar-list__event-wrapper {
  box-shadow:    none !important;
  background:    transparent !important;
  margin-bottom: 0 !important;
  padding:       0.3em 0.6em !important;
}

/* Původní rohy na event-wrapper — skrýt */
.mesic-skupina .tribe-events-calendar-list__event-wrapper::before,
.mesic-skupina .tribe-events-calendar-list__event-wrapper::after {
  display: none !important;
}

/* Article — žádný spodní padding */
.mesic-skupina .tribe-events-calendar-list__event {
  padding-bottom: 0 !important;
}

/* Event details — minimální padding */
.mesic-skupina .tribe-events-calendar-list__event-details {
  padding-top:    0.2em !important;
  padding-bottom: 0.2em !important;
}

/* Oddělovač mezi událostmi */
.mesic-skupina .tribe-events-calendar-list__event-row + .tribe-events-calendar-list__event-row .tribe-events-calendar-list__event-wrapper {
  border-top: 1px solid rgba(var(--brand-red-rgb), 0.15) !important;
}
/* =====================================================
   TEC – odebírat kalendář
   ===================================================== */
.tribe-events-c-subscribe-dropdown,
.tribe-events-c-subscribe-dropdown__container,
.tribe-events-c-subscribe-dropdown__wrapper,
.tribe-common button 
 {
  box-shadow: none !important;
  background: transparent !important;
  border:     none !important;
}

.tribe-events-c-subscribe-dropdown__button {
  display:         inline-flex !important;
  align-items:     center !important;
  gap:             0.5em !important;
  background:      #ffffff !important;
  color:           var(--brand-red) !important;
  border:          none !important;
  border-radius:   3px !important;
  box-shadow:      0 4px 18px rgba(var(--brand-red-rgb), 0.18) !important;
  font-family:     'Montserrat', Arial, sans-serif !important;
  font-weight:     700 !important;
  font-size:       0.95em !important;
  text-transform:  uppercase !important;
  letter-spacing:  0.03em !important;
  padding:         0.5em 1.6em !important;
  text-decoration: none !important;
  cursor:          pointer !important;
}
.tribe-events-c-subscribe-dropdown__button:hover {
  font-weight: 900 !important;
  box-shadow:  0 6px 24px rgba(var(--brand-red-rgb), 0.28) !important;
}

.tribe-events-c-subscribe-dropdown__list {
  box-shadow:    0 4px 18px rgba(var(--brand-red-rgb), 0.13) !important;
  border:        none !important;
  border-radius: 3px !important;
  background:    #fff !important;
}

/* =====================================================
   TEC – widget skupiny podle měsíce
   ===================================================== */
.mesic-skupina-widget {
  position:      relative !important;
  overflow:      visible !important;
  box-shadow:    0 4px 18px rgba(var(--brand-red-rgb), 0.13) !important;
  border-radius: 4px !important;
  background:    #fff !important;
  margin-bottom: 2em !important;
  padding:       0.8em 1em !important;
}

.mesic-skupina-widget__nadpis {
  font-family:   'Montserrat', Arial, sans-serif !important;
  font-weight:   700 !important;
  font-style:    italic !important;
  font-size:     1em !important;
  color:         #000 !important;
  padding:       0.2em 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(var(--brand-red-rgb), 0.15) !important;
}

.mesic-skupina-widget .tribe-events-widget-events-list__event-row {
  margin:  0 !important;
  padding: 0 !important;
}

.tribe-events-widget-events-list__events,
.tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-widget-events-list__event-date-tag {
  text-align: center;
}

.tribe-events-widget-events-list__event-row {
  justify-content: center;
}

.tribe-events-widget-events-list .mesic-skupina-widget__nadpis {
  padding-left: 60px !important;
  text-align: center !important;
}

.mesic-skupina-widget .tribe-events-widget-events-list__event-row + .tribe-events-widget-events-list__event-row {
  border-top: 1px solid rgba(var(--brand-red-rgb), 0.15) !important;
}

/* =====================================================
   TEC – widget název události
   ===================================================== */
.tribe-events-widget-events-list__event-title,
.tribe-events-widget-events-list__event-title-link {
  font-family:    'Montserrat', Arial, sans-serif !important;
  font-weight:    700 !important;
  font-style:     normal !important;
  font-size:      1em !important;
  text-transform: none !important;
  color:          var(--brand-red) !important;
}

/* =====================================================
   TEC – přidat do kalendáře (stránka události)
   ===================================================== */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button,
.tribe-events-single .tribe-common-c-btn-border {
  background:      transparent !important;
  background-color: transparent !important;
  box-shadow:      none !important;
  border:          1px solid rgba(var(--brand-red-rgb), 0.3) !important;
  border-radius:   3px !important;
  color:           var(--brand-red) !important;
  font-size:       0.9em !important;
  padding:         0.4em 1.2em !important;
}
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-single .tribe-common-c-btn-border:hover {
  border-color: var(--brand-red) !important;
  font-weight:  900 !important;
  box-shadow:   none !important;
}

/* =====================================================
   TEC – skrýt tlačítko "Přidat do kalendáře" na stránce události
   ===================================================== */
.tribe-events-single .tribe-events-c-subscribe-dropdown,
.tribe-block__venue {
  display: none !important;
}

/* Zápatí — oprava černého pozadí */
.site-footer {
  background-color: transparent !important;
}

/* =====================================================
   KALENDÁŘ — tlačítko Dnes nahoře na mobilu
   ===================================================== */
@media (max-width: 767px) {
  .tribe-events-c-nav__today {
    position:   absolute !important;
    top:        0 !important;
    left:       50% !important;
    transform:  translateX(-50%) !important;
    z-index:    10 !important;
  }

  .tribe-events-c-nav {
    position: relative !important;
    padding-top: 2.5em !important;
  }
}

/* =====================================================
   KALENDÁŘ — tlačítko Dnes nahoře na mobilu
   ===================================================== */
@media (max-width: 767px) {
  .tribe-events-c-nav__today {
    position:  absolute !important;
    top:       0 !important;
    left:      50% !important;
    transform: translateX(-50%) !important;
    z-index:   10 !important;
  }

  .tribe-events-c-nav {
    position:    relative !important;
    padding-top: 2.5em !important;
    display:     flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap:         1em !important;
  }

  .tribe-events-c-nav__prev,
  .tribe-events-c-nav__next {
    flex:       1 !important;
    text-align: center !important;
    padding:    0.6em 0.5em !important;
    font-size:  0.85em !important;
    word-break: break-word !important;
    min-width:  0 !important;
  }

  .tribe-events-c-nav__prev {
    text-align: left !important;
  }

  .tribe-events-c-nav__next {
    text-align: right !important;
  }
}

/* =====================================================
   KALENDÁŘ — šířka obsahu dle šablony
   ===================================================== */
.tribe-common-l-container {
  max-width: var(--ast-content-width, 1100px) !important;
  padding-left:  var(--ast-container-padding, 20px) !important;
  padding-right: var(--ast-container-padding, 20px) !important;
}

/* =====================================================
   INSTAGRAM FEED — tlačítka
   ===================================================== */

/* Načíst další příspěvky */
.sbi_load_btn {
  background-color: transparent !important;
  color:            #a8140a !important;
  border:           2px solid #a8140a !important;
  border-radius:    0 !important;
  font-family:      inherit !important;
  font-weight:      700 !important;
  letter-spacing:   0.1em !important;
  text-transform:   uppercase !important;
  padding:          0.7em 2em !important;
  transition:       background-color 0.3s ease, color 0.3s ease !important;
}

.sbi_load_btn:hover {
  background-color: #a8140a !important;
  color:            #ffffff !important;
}

/* Sleduj nás na Instagramu */
.sbi_follow_btn a {
  background-color: transparent !important;
  color:            #a8140a !important;
  border:           2px solid #a8140a !important;
  border-radius:    0 !important;
  font-family:      inherit !important;
  font-weight:      700 !important;
  letter-spacing:   0.1em !important;
  text-transform:   uppercase !important;
  padding:          0.7em 2em !important;
  transition:       background-color 0.3s ease, color 0.3s ease !important;
  display:          inline-block !important;
}

.sbi_follow_btn a:hover {
  background-color: #a8140a !important;
  color:            #ffffff !important;
}

/* =====================================================
   INSTAGRAM FEED — lightbox IG style
   ===================================================== */
#sbi-lightbox-overlay {
  display:         none;
  position:        fixed;
  top:             0;
  left:            0;
  width:           100%;
  height:          100%;
  background:      rgba(0, 0, 0, 0.85);
  z-index:         99999;
  justify-content: center;
  align-items:     center;
}

#sbi-lightbox-overlay.active {
  display: flex;
}

#sbi-lightbox-inner {
  position:  relative;
  max-width: 520px;
  width:     90vw;
}

#sbi-lightbox-close {
  position:      absolute;
  top:           -16px;
  right:         -16px;
  width:         32px;
  height:        32px;
  background:    #a8140a;
  color:         #fff;
  border:        none;
  border-radius: 50%;
  font-size:     18px;
  line-height:   32px;
  text-align:    center;
  cursor:        pointer;
  z-index:       100000;
}

#sbi-lightbox-card {
  background:    #fff;
  border-radius: 8px;
  overflow:      hidden;
}

#sbi-lightbox-header {
  display:     flex;
  align-items: center;
  padding:     10px 14px;
  gap:         10px;
  border-bottom: 1px solid #efefef;
}

#sbi-lightbox-avatar {
  width:         36px;
  height:        36px;
  border-radius: 50%;
  object-fit:    cover;
}

#sbi-lightbox-username {
  flex:        1;
  font-weight: 700;
  font-size:   0.9em;
}

#sbi-lightbox-ig-icon {
  color:      #a8140a;
  transition: opacity 0.2s;
}

#sbi-lightbox-ig-icon:hover {
  opacity: 0.7;
}

#sbi-lightbox-media img,
#sbi-lightbox-media video {
  width:      100%;
  display:    block;
  max-height: 70vh;
  object-fit: contain;
  background: #000;
}

#sbi-lightbox-caption {
  padding:     12px 14px;
  font-size:   0.85em;
  line-height: 1.5;
  color:       #333;
  max-height:  100px;
  overflow-y:  auto;
}

/* =====================================================
   ÚVODNÍ OBRÁZEK — celá šířka bez omezení Astry
   ===================================================== */
.wp-block-image.alignfull {
  max-width:     100vw !important;
  width:         100vw !important;
  margin-left:   calc(50% - 50vw) !important;
  margin-right:  calc(50% - 50vw) !important;
}

.wp-block-image.alignfull img {
  width:      100% !important;
  max-width:  100% !important;
  height:     auto !important;
  display:    block !important;
}

/* =====================================================
   ÚVODNÍ STRÁNKA — odstranění mezery nad obrázkem
   ===================================================== */
#primary {
  margin-top:  0 !important;
  padding-top: 0 !important;
}

.home .ast-article-single {
  padding-top: 0 !important;
}

/* =====================================================
   KALENDÁŘ — rok filtry
   ===================================================== */
.jizera-rok-filtr {
  margin-top:   0.5em !important;
  margin-bottom: 0.8em !important;
}

/* =====================================================
   WPFORMS — výběr souboru (Jizera / Jizerka)
   ===================================================== */
.jizera-vyber-souboru {
  margin: 12px 0;
}

.jizera-vyber-souboru .wpforms-field-label {
  font-family:   'Montserrat', Arial, sans-serif;
  font-weight:   600;
  font-size:     0.95em;
  color:         #000;
  margin-bottom: 6px;
  display:       block;
}

.jizera-vyber-btn-wrap {
  display:    flex;
  gap:        0.6em;
  flex-wrap:  wrap;
  margin-top: 6px;
}

.jizera-soubor-btn {
  display:         inline-block !important;
  padding:         0.5em 1.4em !important;
  border:          none !important;
  background:      #fff !important;
  color:           var(--brand-red) !important;
  text-decoration: none !important;
  font-family:     'Montserrat', Arial, sans-serif !important;
  font-weight:     700 !important;
  font-size:       0.85em !important;
  letter-spacing:  0.05em !important;
  text-transform:  uppercase !important;
  border-radius:   3px !important;
  box-shadow:      0 2px 8px rgba(0,0,0,0.15) !important;
  cursor:          pointer !important;
  transition:      background 0.2s, color 0.2s, box-shadow 0.2s !important;
}

.jizera-soubor-btn:hover {
  background: var(--brand-red) !important;
  color:      #fff !important;
  box-shadow: 0 2px 12px rgba(var(--brand-red-rgb), 0.3) !important;
}

.jizera-soubor-btn.aktivni {
  background:     #fff !important;
  color:          var(--brand-red) !important;
  box-shadow:     0 2px 8px rgba(0,0,0,0.15) !important;
  border-bottom:  3px solid var(--brand-red) !important;
  padding-bottom: calc(0.5em - 3px) !important;
}

.jizera-soubor-chyba {
  color:       var(--brand-red) !important;
  font-size:   0.85em !important;
  margin-top:  6px !important;
  font-weight: 600 !important;
}

/* =====================================================
   WPFORMS — potvrzovací hláška
   ===================================================== */
.wpforms-confirmation-container-full,
#wpforms-confirmation-175 {
  background:    #fff !important;
  border:        none !important;
  border-left:   4px solid var(--brand-red) !important;
  border-radius: 3px !important;
  box-shadow:    0 2px 12px rgba(var(--brand-red-rgb), 0.13) !important;
  color:         #000 !important;
  font-family:   'Montserrat', Arial, sans-serif !important;
  font-weight:   600 !important;
  font-size:     1em !important;
  padding:       1em 1.4em !important;
}

.wpforms-confirmation-container-full p,
#wpforms-confirmation-175 p {
  color:   #000 !important;
  margin:  0 !important;
}

/* Všechny YouTube embedy — responzivní 16:9 */
.wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Gutenberg figure embed — zachování poměru stran */
.wp-block-embed-youtube {
    width: 100%;
}

/* Náhledový obrázek (wp-block-embed__poster) — nesmí být oříznutý */
.wp-block-embed-youtube .wp-block-embed__wrapper > img,
.wp-block-embed__poster-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* CF7 success message */
.wpcf7 form .wpcf7-response-output{
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 6px;
  font-weight: 600;
  line-height: 1.35;
}

/* Success (sent OK) */
.wpcf7 form.sent .wpcf7-response-output{
  border: 1px solid #1f7a3a !important;
  background: #eaf7ef;
  color: #1f7a3a;
}

/* Validation errors */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
  border: 1px solid #b42318 !important;
  background: #fff1f0;
  color: #b42318;
}

/* Přepínač formuláře */
.kontakt-prepinac{ display:flex; gap:12px; margin: 0 0 14px; flex-wrap:wrap; }
.kontakt-tab{
  padding: 10px 14px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .02em;
}
.kontakt-tab.aktivni{
  border-color: #c00;
  color: #c00;
}

/* =====================================================
   CONTACT FORM 7 — sjednocení vzhledu polí (jemný červený rámeček)
   ===================================================== */

/* Všechna input/textarea v CF7 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  border: 1px solid rgba(var(--brand-red-rgb), 0.35) !important;
  border-radius: 3px !important;
  background: #fff !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
  margin-bottom: 12px !important;

  /* přepíše tvůj globální styl se spodní čárou */
  border-bottom: 1px solid rgba(var(--brand-red-rgb), 0.35) !important;
}

/* Focus */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  outline: none !important;
  border-color: var(--brand-red) !important;
  box-shadow: 0 0 0 3px rgba(var(--brand-red-rgb), 0.12) !important;
}

/* Label spacing */
.wpcf7 label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

/* =====================================================
   CONTACT FORM 7 — potvrzovací hláška (sent OK)
   ===================================================== */

.wpcf7 form .wpcf7-response-output{
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 3px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1.35;
  box-shadow: 0 4px 18px rgba(var(--brand-red-rgb), 0.10) !important;
}

/* Úspěch */
.wpcf7 form.sent .wpcf7-response-output{
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-left: 4px solid var(--brand-red) !important;
}

/* Chyba/validace */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-left: 4px solid var(--brand-red) !important;
}

/* Text chyby pod konkrétním polem (ať sedí do stylu) */
.wpcf7-not-valid-tip{
  color: var(--brand-red) !important;
  font-weight: 600 !important;
  font-size: 0.85em !important;
  margin-top: 6px !important;
}

/* =====================================================
   CONTACT FORM 7 — menší rozestupy mezi poli
   ===================================================== */

/* menší mezera pod labely */
.wpcf7 label{
  margin-bottom: 3px !important;
}

/* CF7 obaluje každé pole do <p> – to dělá velké mezery */
.wpcf7 form p{
  margin: 0 0 7px !important; /* dřív to bývá ~16px */
  padding: 0 !important;
}

/* menší mezera pod inputy */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea{
  margin-bottom: 5px !important;
}

/* textarea nemusí být tak vysoká */
.wpcf7 textarea{
  min-height: 140px;
}

/* =====================================================
   BESTWEBSOFT GALLERY — 4/2/1 sloupce + čtverce
   ===================================================== */

.gallery_box ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: flex-start !important;
}

.gallery_box ul li {
  width: calc(25% - 6px) !important;
  box-sizing: border-box !important;
  display: block !important;
  overflow: visible !important;
}

/* Prázdné li — whitespace i skutečně prázdné */
.gallery_box ul li:empty,
.gallery_box ul li:not(:has(a)) {
  display: none !important;
}

/* Čtverec pouze na odkaz s obrázkem */
.gallery_box ul li > a:first-child {
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  width: 100% !important;
}

.gallery_box ul li > a:first-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Detail box — pevná výška, tlačítko vždy dole */
.gallery_box ul li .gallery_detail_box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 80px !important;
  gap: 4px !important;
  padding: 5px 2px !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Název galerie — max 2 řádky, zbytek "..." */
.gallery_box ul li .gallery_detail_box .gllr_detail_title {
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  color: #333 !important;
  width: 100% !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
}

/* Odkaz v detail boxu */
.gallery_box ul li .gallery_detail_box a,
.gallery_box ul li .gallery_detail_box .gllr_detail_excerpt a {
  white-space: nowrap !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

/* Skryjeme nativní paginaci pluginu */
.glr_page_content .pagination,
.glr_pagination {
  display: none !important;
}

/* Skrytí extra gallery kontejneru za hlavním seznamem */
.gallery_box ~ .gallery_box,
.glr_page_content ~ .glr_page_content {
  display: none !important;
}

/* Tlačítko Načíst další — sjednocení se stylem webu */
#gallery-load-more {
  display: block !important;
  margin: 20px auto !important;
  padding: 0.45em 1.8em !important;
  background: #fff !important;
  color: var(--brand-red) !important;
  border: 2px solid var(--brand-red) !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 1em !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s, color 0.18s !important;
}

#gallery-load-more:hover {
  background: var(--brand-red) !important;
  color: #fff !important;
}

/* Skrytí extra elementů pod galerií */
.gllr-list.gllr-display-inline,
.pagination.navigation.loop-pagination,
.gllr_pagination,
.widget-area.secondary {
  display: none !important;
}

/* Tablet — 2 sloupce */
@media (max-width: 768px) {
  .gallery_box ul li {
    width: calc(50% - 4px) !important;
  }

  .gallery_box ul li .gallery_detail_box {
    align-items: center !important;
  }

.gallery_box ul li .gallery_detail_box .gllr_detail_title {
  text-align: center !important;
}
}

/* Mobil — 1 sloupec */
@media (max-width: 480px) {
  .gallery_box ul li {
    width: 100% !important;
  }

  .gallery_box ul li .gallery_detail_box {
    align-items: center !important;
  }

  .gallery_box ul li .gallery_detail_box .gllr_detail_title,
  .gallery_box ul li .gallery_detail_box > div:first-child {
    text-align: center !important;
  }
}

/* Zrušení float z pluginu pro tablet a mobil */
@media (max-width: 768px) {
  .gallery_detail_box {
    float: none !important;
  }
}

#tribe-events-pg-template,
.tribe-events-pg-template {
    max-width: var(--content-width, 1200px); /* nebo stejná hodnota jako jinde */
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    box-sizing: border-box;
}


/* Skrytí navigace v kalendáři pouze pro příspěvek s ID 470 */
.postid-470 #tribe-events-content ul.tribe-events-sub-nav,
.postid-470 .tribe-events-back {
    display: none !important;
}


/* Zarovnání info boxů odshora v UAGB kontejneru */
.wp-block-uagb-container .uagb-ifb-content,
.wp-block-uagb-container .uagb-infobox__content-wrap {
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Pokud jsou info boxy ve flex řádku vedle sebe */
.wp-block-uagb-container.uagb-layout-flex {
    align-items: flex-start !important;
}

/* Samotný info box wrapper */
.uagb-infobox__content-wrap {
    align-self: flex-start !important;
    vertical-align: top !important;
}

@media (max-width: 767px) {
    .wp-container-core-group-is-layout-b757edec {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }
}

/* Tablet - dva vedle sebe */
@media (min-width: 768px) and (max-width: 1024px) {
    .wp-container-core-group-is-layout-b757edec {
        grid-template-columns: repeat(2, 1fr) !important;
        display: grid !important;
    }
}

#sb_instagram .sbi_follow_btn a:hover {
  background-color: var(--brand-red) !important;
  color:            #fff !important;
  box-shadow:       none !important;
}

/* =====================================================
   GALERIE V UDÁLOSTI (tribe single event)
   — 4 sloupce, původní proporce fotek
   ===================================================== */

/* Grid kontejner */
.tribe_events_cat .gallery.gllr_grid,
.tribe-events-single .gallery.gllr_grid,
.type-tribe_events .gallery.gllr_grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  width: 100% !important;
}

/* Každý blok s fotkou — přebití inline width */
.tribe_events_cat .gllr_image_block,
.tribe-events-single .gllr_image_block,
.type-tribe_events .gllr_image_block {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Obrázek — jednotná výška, zoom dovnitř (ořez ze středu) */
.tribe_events_cat .gllr_image_block,
.tribe-events-single .gllr_image_block,
.type-tribe_events .gllr_image_block {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  aspect-ratio: 4 / 3 !important;   /* poměr stran všech oken — uprav dle potřeby */
  overflow: hidden !important;
}

.tribe_events_cat .gllr_image_block img,
.tribe-events-single .gllr_image_block img,
.type-tribe_events .gllr_image_block img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;      /* zoom dovnitř, ořez ze středu */
  object-position: center !important;
  display: block !important;
}

/* Tablet — 2 sloupce */
@media (max-width: 768px) {
  .tribe_events_cat .gallery.gllr_grid,
  .tribe-events-single .gallery.gllr_grid,
  .type-tribe_events .gallery.gllr_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Mobil — 1 sloupec */
@media (max-width: 480px) {
  .tribe_events_cat .gallery.gllr_grid,
  .tribe-events-single .gallery.gllr_grid,
  .type-tribe_events .gallery.gllr_grid {
    grid-template-columns: 1fr !important;
  }
}

.tribe-events-widget-events-list__event-date-tag-month {
  white-space: nowrap !important;
}

.tribe-common-g-row.tribe-events-widget-events-list__event-row {
  align-items: center !important;
}