/* ============================================
   WordPress-specific overrides
   Handles WP admin bar, Gutenberg blocks, etc.

   @since   1.0.0
   @updated 1.1.0 (2026-04-06)
     - Fix sidebar menu: nav#sidebar li + li spacing z !important
     - Usuniete nadmiarowe style nav#sidebar li a (font-size/weight obslugiwane przez .text-h2 z font.css)
     - Usuniete responsive override font-size dla sidebar a (obslugiwane przez font.css)
   ============================================ */

/* Force container padding (matching Joomla responsive.css .container)
   WordPress global styles can override this, so we use !important */
body .container,
.site .container,
main .container,
.container {
    width: 100% !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    box-sizing: border-box;
}

/* Main content also needs the same padding when no .container wrapper */
main#content {
    padding-right: 2rem;
    padding-left: 2rem;
}

/* Rows inside container need negative margins to compensate (matching responsive.css) */
.container .row {
    margin-right: -2rem;
    margin-left: -2rem;
}

/* Homepage: full-image slider is now inside .container > .item-page (matching Joomla)
   margin-left/right:-2rem from template.css handles the breakout.
   No !important override needed since v1.3.0 */

/* Realizacje grid needs proper padding inside container */
#realizations {
    margin-right: -2rem;
    margin-left: -2rem;
}

/* Item page content sections */
.item-page > div {
    margin-bottom: 4rem;
}

/* ============================================
   Sidebar Navigation Menu Fix for WordPress
   Joomla outputs <ul><li><a class="text-h2">
   WordPress wp_nav_menu outputs the same via Walker
   but WP adds extra classes/styles that need fixing
   ============================================ */

/* Reset WordPress menu list styles inside sidebar */
nav#sidebar ul,
nav#sidebar .menu,
nav#sidebar .noomi-sidebar-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}

nav#sidebar li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}

/* Spacing between menu items - must use !important to override the li reset above */
nav#sidebar li + li {
    margin-top: 3.2rem !important;
}

/* Sidebar link container - WordPress menu wrapper */
#sidebar-link-container .moduletable_menu,
#sidebar-link-container > div {
    width: 100%;
}

/* Language switcher in sidebar */
nav#sidebar .mod-languages ul {
    display: flex;
    gap: 0;
}

nav#sidebar .mod-languages ul li {
    display: inline-block;
    margin: 0 !important;
}

nav#sidebar .mod-languages ul li a {
    font-size: 3.2rem;
    font-weight: 700;
    margin: 0;
    padding: 0;
    text-transform: lowercase;
    display: inline-block;
    line-height: 1.7;
}

@media only screen and (max-width: 1090px) {
    nav#sidebar .mod-languages ul li a {
        font-size: 2.4rem;
    }
}

/* Admin bar fix for fixed header */
body.admin-bar header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar header {
        top: 46px;
    }
}

/* Loader animation (matching Joomla .loaderFixed) */
.loaderFixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--light-400);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loaderFixed.active {
    opacity: 1;
    visibility: visible;
}

/* Loading dots animation */
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}
.lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--dark-600);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}
@keyframes lds-ellipsis3 {
    0% { transform: scale(1); }
    100% { transform: scale(0); }
}
@keyframes lds-ellipsis2 {
    0% { transform: translate(0, 0); }
    100% { transform: translate(24px, 0); }
}

/* Content transition (matching Joomla animCont) */
#content.animCont {
    opacity: 0;
    transition: opacity 0.9s ease;
}

/* WP block alignment */
.wp-block-image img {
    width: 100%;
    height: auto;
}

.wp-block-gallery {
    margin-bottom: 4rem;
}

/* WP pagination styling */
.nav-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 4rem 0;
}

.nav-links a,
.nav-links span {
    padding: 0.5rem 1rem;
    text-decoration: none;
    font-family: "Cera Pro", sans-serif;
    font-weight: 700;
}

.nav-links .current {
    background: var(--dark-600);
    color: var(--light-400);
}

/* WP image captions */
.wp-caption {
    max-width: 100%;
}

.wp-caption-text {
    font-size: 1.2rem;
    color: var(--dark-400);
    margin-top: 0.5rem;
}

/* Gutenberg content alignment in item-page */
.item-page .entry-content > * {
    margin-bottom: 4rem;
}

.item-page .entry-content img,
.item-page .entry-content video {
    width: 100%;
    height: auto;
}

/* Contact form 7 integration styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    height: 40px;
    padding: 6px 15px;
    background-color: var(--light-500);
    border: 1px solid #4f4f4f;
    width: 100%;
    box-shadow: none;
    font-family: "Cera Pro", sans-serif;
    letter-spacing: 0.03em;
    font-size: 14px;
}

.wpcf7 textarea {
    min-height: 120px;
    height: auto;
}

.wpcf7 input[type="submit"] {
    background: #000;
    color: white;
    padding: 2px 10px 7px;
}

/* Fix for nav inside WP menu structure */
nav#sidebar .menu-item a {
    text-decoration: none;
    display: block;
    transition: 0.5s;
}
