input:focus,
button:focus,
select:focus,
textarea:focus,
a:focus,
[tabindex]:focus {
    //outline: 2px dashed red;
    //outline-offset: 2px;
}

/* .navbar-wrapper *:focus {
    outline: 2px dashed rgb(246, 255, 0);
    outline-offset: 2px;
} */
.dark .navbar-wrapper input {
    background-color: #000;
    color: #fcbc3e;
    border: 1px solid #fcbc3e;
}

.dark .navbar-wrapper input.search-submit {
    color: #000;
    background-color: #fcbc3e;
}

.dark #main-content .main-content-wrapper * {
    color: white;
}

/* *************************
ACCESABILITY
************************** */
/* Screen reader only class */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Klasa dla zwiększonej czcionki - podstawowa */
.large-font {
    font-size: 125% !important;
}

/* Specyficzne selektory dla elementów w klasie prose */
.large-font .prose,
.large-font .prose *,
.large-font .prose h1,
.large-font .prose h2,
.large-font .prose h3,
.large-font .prose h4,
.large-font .prose h5,
.large-font .prose h6,
.large-font .prose p,
.large-font .prose a,
.large-font .prose span,
.large-font .prose div,
.large-font .prose strong,
.large-font .prose em,
.large-font .prose ul,
.large-font .prose ol,
.large-font .prose li {
    font-size: inherit !important;
}

/* Dodatkowe nadpisania dla Tailwind prose */
.large-font .prose h1,
.large-font .text-3xl {
    font-size: 2.25em !important;

    /* 125% z 1.8em */
}

.large-font .prose h2,
.large-font .text-2xl,
.large-font h2.text-2xl {
    font-size: 1.875em !important;

    /* 125% z 1.5em */
}

.large-font .prose h3,
.large-font .text-xl {
    font-size: 1.5em !important;

    /* 125% z 1.2em */
}

.large-font .prose h4,
.large-font .text-lg {
    font-size: 1.25em !important;

    /* 125% z 1em */
}

.large-font .prose h5,
.large-font .text-base {
    font-size: 1.125em !important;
}

.large-font .prose h6,
.large-font .text-sm {
    font-size: 1em !important;
}

.large-font .prose p,
.large-font .prose a,
.large-font .prose span,
.large-font .prose div {
    font-size: 1.25em !important;

    /* 125% z base */
}

.large-font .text-xs {
    font-size: 0.9em !important;
}

/* Alternatywne podejście - nadpisanie wszystkich elementów w large-font */
.large-font * {
    font-size: inherit !important;
}

/* Nadpisanie specyficznych klas Tailwind prose */
.large-font .prose-sm {
    font-size: inherit !important;
}

.large-font .prose-base {
    font-size: inherit !important;
}

.large-font .prose-lg {
    font-size: inherit !important;
}

.large-font .prose-xl {
    font-size: inherit !important;
}

.large-font .prose-2xl {
    font-size: inherit !important;
}

/* Smooth transitions */
* {
}

/* Dark mode support */
.dark {
    color-scheme: dark;
}

/* Focus indicators for better accessibility */
button:focus,
a:focus {
    outline: 2px solid #3b82f6 !important;
    outline-offset: 2px !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    button,
    a {
        border: 2px solid currentColor !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
    }
}

/* Dodatkowe nadpisania dla bardziej specyficznych przypadków */
.large-font .max-w-none * {
    font-size: inherit !important;
}

.large-font [data-empty-placeholder] * {
    font-size: inherit !important;
}

/* Jeśli powyższe nie pomoże, użyj tego nuklearnego rozwiązania */
body.large-font .prose h1,
body.large-font .prose h2,
body.large-font .prose h3,
body.large-font .prose h4,
body.large-font .prose h5,
body.large-font .prose h6,
body.large-font .prose p,
body.large-font .prose a,
body.large-font .prose span,
body.large-font .prose div,
body.large-font .prose strong,
body.large-font .prose em,
body.large-font .prose ul,
body.large-font .prose ol,
body.large-font .prose li {
    font-size: 125% !important;
}

/* Specjalne nadpisanie dla nagłówków w prose */
body.large-font .prose h2 {
    font-size: 1.875rem !important;

    /* Stały rozmiar 125% większy */
}

body.large-font .prose h3 {
    font-size: 1.5rem !important;
}

body.large-font .prose h4 {
    font-size: 1.25rem !important;
}

/* Globals
------------------------------------------------------------ */
:root {
    --primary: #0d6efd;
    --secondary: #5e656b;
    --color3: #0dcaf0;
    --color4: #198754;
    --white: #ffffff;
    --light: #f8f9fa;
    --dark: #212529;
}

/* Needed to cloak hidden elements before JS loads when using Alpine.js */
[x-cloak] {
    display: none !important;
}

/* Utilities
------------------------------------------------------------ */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #ddd;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.layout__contained {
    margin-left: auto;
    margin-right: auto;
    max-width: 80rem;
}

.layout__x-padding {
    padding-left: 2rem;
    padding-right: 2rem;
}

.drop-shadow {
    filter: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
}

.rotate-90 {
    transform: rotate(90deg);
}

/* Layouts
------------------------------------------------------------ */
.site-footer {
    background-color: var(--secondary);
    color: var(--white);
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.header__layout-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto;
    column-gap: 1rem;
    grid-template-areas: "logo mobile-menu";
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media only screen and (min-width: 768px) {
    .header__layout-grid {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-rows: auto;
        gap: 1rem;
        grid-template-areas: "logo mobile-menu main-menu";
    }
}

.header__logo-wrapper {
    grid-area: logo;
    width: 16rem;
    margin: 0;
}

.header__mobile-menu {
    grid-area: mobile-menu;
    justify-content: flex-end;
    display: flex;
    flex-direction: row;
}

@media (min-width: 768px) {
    .header__mobile-menu {
        display: none;
    }
}

@media (min-width: 768px) {
}

/* Common Menu
------------------------------------------------------------ */
.site-header nav ul {
    padding: 0;
    margin: 0;
}

.site-header nav li {
    list-style-type: none;
}

.site-header nav ul > li a {
    text-decoration: none;
}

/* Main Menu
------------------------------------------------------------ */
/* Main Menu Submenu
------------------------------------------------------------ */
/* .header__main-menu .has-submenu > div {
    display: flex;
    flex-direction: row;
    align-items: center;
} */
.main-menu__list .has-submenu button {
    background-color: unset;
    border: 0;
    color: inherit;
}

.header__main-menu .has-submenu > div a {
}

.header__main-menu .submenu {
    /* background-color: var(--color_main_menu_submenu_bg);
    display: flex;
    flex-direction: column;
    position: absolute;
    z-index: 999;
    top: 105%;
    left: 0; */
}

.header__main-menu .submenu > li {
    white-space: nowrap;

    /* background-color: var(--color_main_menu_submenu_item_bg);
    color: var(--color_main_menu_submenu_item_text); */
}

.header__main-menu .submenu > li:hover {
    background-color: var(--color_main_menu_submenu_item_bg_hover);
    color: var(--color_main_menu_submenu_item_text_hover);
}

/* Mobile Menu
------------------------------------------------------------ */
.header__mobile-menu {
    --color_mobile_menu_button_bg: var(--light);
    --color_mobile_menu_button_lines: var(--dark);
    --color_mobile_menu_panel_bg: var(--white);
    --color_mobile_menu_text: var(--dark);
    --color_mobile_menu_text_hover: var(--secondary);
}

.mobile-menu__trigger {
    display: block;
    padding: 0.5rem 0.75rem;
    background-color: var(--color_mobile_menu_button_bg);
    border-radius: 4px;
    border: 1px solid var(--color_mobile_menu_button_lines);
}

.mobile-menu__trigger-lines {
    display: block;
    width: 1.5em;
    border-bottom: 2px solid var(--color_mobile_menu_button_lines);
    margin: 0.25rem 0;
}

.mobile-menu__trigger-lines--line1 {
    transform: translate(0%, 300%) rotate(45deg);
}

.mobile-menu__trigger-lines--line2 {
    opacity: 0;
    visibility: hidden;
}

.mobile-menu__trigger-lines--line3 {
    transform: translate(0%, -300%) rotate(-45deg);
}

.mobile-menu__background {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    z-index: 998;
    height: 100%;
    top: 0;
    left: 0;
}

.mobile-menu__panel {
    background-color: var(--color_mobile_menu_panel_bg);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 80%;
    padding: 0.5rem;
    z-index: 999;
    display: flex;
    flex-direction: column;
}

.mobile-menu__close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: flex;
    padding: 0.5rem;
    border-radius: 4px;
    color: var(--color_mobile_menu_button_lines);
    border: 1px solid var(--color_mobile_menu_button_lines);
    background-color: rgba(0, 0, 0, 0);
}

.mobile-menu__logo-wrapper {
    width: 12rem;
    margin: 0 0 1rem;
}

.mobile-menu__list li:hover {
    color: var(--color_mobile_menu_text_hover);
}

.mobile-menu__list .has-submenu > div {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.mobile-menu__list button {
    display: inline-flex;
    background-color: rgba(0, 0, 0, 0);
    border: 0;
    flex-grow: 1;
    color: inherit;
}

.mobile-menu__list .submenu {
    display: block;
}

/* New Stuff
------------------------------------------------------------ */
.search-wrapper input.search-submit {
    background-color: var(--wp--preset--color--primary-400);
    border: 1px solid var(--wp--preset--color--primary-400);
    color: #fff;
    display: inline-block;
    padding: 8px 12px;
    cursor: pointer;
}

.search-wrapper input.search-submit:hover {
    background-color: var(--wp--preset--color--primary-500);
}

.search-wrapper label .screen-reader-text {
    color: #fff;
}

li.current_page_item {
    font-weight: bold;
}

.bip-widget-area > li.widget {
}
