/* AOS fallback — ensure animated sections are always visible even if AOS JS fails/delays
   (na static mirror AOS czasem nie inituje na czas i sekcje stoją na opacity:0) */
[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
}

/* vokno static overrides */
html, body { overflow-x: hidden !important; max-width: 100vw; margin: 0; padding: 0; }

/* Kill the horizontal overflow on news/post grids (oxygen column neg-margin) */
.ct-new-columns,
.brewery-news-1-wrapper,
.oxy-superbox,
.oxy-superbox-primary,
.oxy-superbox-secondary,
.oxy-easy-posts,
.oxy-posts-grid,
.oxy-post {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
.oxy-post, .oxy-post-image, .oxy-post-image-fixed-ratio { overflow: hidden; }
.oxy-post-title, .oxy-post-content {
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box;
}
.oxy-post-image-date-overlay { max-width: 100% !important; }

img, video { max-width: 100%; height: auto; }

/* Unslider slides overflow — parent must clip, but DO NOT constrain .unslider / ul.unslider-wrap
   (unslider sets inline width:1100% etc. — clamping breaks layout) */
.ct-slider, .oxy-slider, .oxygen-unslider-container {
    overflow: hidden !important;
    max-width: 100% !important;
}
/* PRE-INIT slider state: hide extra slides until unslider JS runs.
   Without this, 3 slides stack vertically and sections below get pushed
   far down the page, causing jumpy layout. Once unslider inits, it adds
   `.unslider-horizontal` (or `.unslider-fade`) to container — we use that
   as "initialized" signal and then defer to JS-set styles. */
.oxygen-unslider-container:not(.unslider-horizontal):not(.unslider-fade) > ul > li:not(:first-child) {
    display: none !important;
}
/* Also hide Next/Prev arrows pre-init (they appear as plain text before styled) */
.oxygen-unslider-container:not(.unslider-horizontal):not(.unslider-fade) ~ .unslider-arrow {
    display: none !important;
}
/* Cap pre-init slide image height so first slide doesn't blow up to 1000px+
   (original images are full-res and push page layout way down until JS runs) */
.oxygen-unslider-container:not(.unslider-horizontal):not(.unslider-fade) > ul > li img {
    max-height: 280px;
    width: auto;
}
.oxygen-unslider-container:not(.unslider-horizontal):not(.unslider-fade) > ul > li {
    max-height: 500px;
    overflow: hidden;
}

/* Clip horizontal overflow at section level, but allow sliders inside to work */
section.ct-section > .ct-section-inner-wrap {
    overflow-x: clip;
    max-width: 100vw;
}
/* Oxygen configurator buttons containers — prevent their wide grids from overflowing */
.code_block-wrap, #code_block-1214-42, #code_block-1214-42 ~ div {
    max-width: 100%;
}

@media (max-width: 767px) {
    .oxy-post-wrap, .oxy-posts { overflow: hidden; max-width: 100% !important; }
    .ct-section-inner-wrap { max-width: 100% !important; padding-left: 10px; padding-right: 10px; box-sizing: border-box; }
}

/* Mobile menu (hamburger open) + desktop dropdown submenu — dark text on white bg */
.oxy-nav-menu-open a,
.oxy-nav-menu.oxy-nav-menu-open .menu-item > a,
.oxy-nav-menu.oxy-nav-menu-open .menu-item > a:visited,
.oxy-nav-menu .sub-menu a,
.oxy-nav-menu .sub-menu a:visited,
.oxy-nav-menu ul ul a,
.oxy-nav-menu ul ul a:visited {
    color: #1a1a1a !important;
    -webkit-text-fill-color: #1a1a1a !important;
}
.oxy-nav-menu.oxy-nav-menu-open .menu-item > a:hover,
.oxy-nav-menu .sub-menu a:hover,
.oxy-nav-menu ul ul a:hover {
    color: #59c16e !important;
    -webkit-text-fill-color: #59c16e !important;
    background: #f7f7f7 !important;
}
.oxy-nav-menu.oxy-nav-menu-open {
    background: #fff !important;
    padding: 20px 0 !important;
}
.oxy-nav-menu.oxy-nav-menu-open .menu-item {
    border-bottom: 1px solid #eee;
}
/* Desktop dropdown submenu */
.oxy-nav-menu .sub-menu,
.oxy-nav-menu ul ul {
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
    border-radius: 4px;
    padding: 8px 0 !important;
    min-width: 200px !important;
}
.oxy-nav-menu .sub-menu li,
.oxy-nav-menu ul ul li {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}
.oxy-nav-menu .sub-menu a,
.oxy-nav-menu ul ul a {
    padding: 10px 18px !important;
    display: block !important;
    white-space: nowrap;
    font-size: 15px !important;
}

/* Hide blog post dates + author + comment count in news grid */
.oxy-post-image-date-overlay,
.oxy-post-date,
.post-date,
.entry-date,
.posted-on,
.entry-meta time,
time.published,
time.updated,
.wp-block-post-date,
.oxy-post-meta-author,
.oxy-post-meta-comments,
.oxy-post-author,
.oxy-post-comments,
.post-author,
.byline,
.author.vcard,
.comments-link,
.oxy-post-meta {
    display: none !important;
}

/* WA form styling consistent with site */
form.wa-form input[type=text], form.wa-form textarea {
    width: 100%; max-width: 100%; padding: 10px; border: 1px solid #ccc;
    font-family: inherit; font-size: 1rem; box-sizing: border-box;
}
form.wa-form input[type=submit] {
    background: #25D366; color: #fff; border: 0; padding: 12px 24px;
    font-size: 1rem; cursor: pointer; border-radius: 4px;
}
form.wa-form input[type=submit]:hover { background: #1eaf54; }
