/**
 * CUSTOM STYLES
 *
 * SPIS TREŚCI
 * 1. Global
 * 2. DJ Content
 * 3. DJ Single Room
 * 4. DJ Slideshow
 * 5. DJ Submenu
 * 6. Newsletter
 * 7. Forms
 * 8. Header
 * 9. Navbar
 * 10. Header CTA
 * 11. Language dropdown
 * 12. DJ Video
 * 13. DJ Cards Primary
 * 14. DJ Cards Secondary
 * 15. DJ Accordions
 * 16. DJ Single Post
 * 17. DJ TOC
 * 18. Attractions List
 * 19. DJ Label
 * 20. DJ Card Gastro
 * 21. DJ Filters
 * 22. DJ Attractions
 * 23. Attractions Filter Panels
 * 24. DJ Product
 * 25. DJ Events
 * 26. DJ Single Event
 * 27. DJ Account
 * 28. DJ Advertiser Profile
 * 29. DJ Slide
 * 30. DJ Tag
 * 31. Very simple gallery
 * 32. DJ Login
 * 33. DJ Catalog List
 * 34. Menu - Operanti
 * 35. Menu - Dialog Mobile
 * 36. Cookies Bar
 */

/* ========== 1. Global ========== */
.dj-font-500 {
    font-weight: 500;
}

.dj-primary-section .uk-tile-primary {
    border-radius: 48px;
    overflow: hidden;
    @media screen and (max-width: 767px) {
        border-radius: 18px;
    }
}

/* main >div:last-of-type {
    display: none;
} */

/* ========== 2. DJ Content ========== */
.dj-content {
    a {
        text-decoration: underline;
    }
    .beige {
        padding: 16px;
        background-color: #F5F5F2;
        border-radius: 16px;
        box-sizing: border-box;
    }
    .green {
        color: #062930 !important;
        background-color: #f5f5f2 !important;
        * {
            color: inherit !important;
        }
    }
    .table_beige {
        color: #062930;
        background-color: #F5F5F2;
        td {
            padding: 12px;
            font-size: 14px;
            box-sizing: border-box;
        }
        .table_title {
            color: #062930;
            background-color: #009745;
        }
        em {
            color: #062930;
        }
    }
    .pg-msnr-container {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
        gap: 16px;
        margin-block: 24px;

        .ph-si.ph-si-image,
        figcaption {
            display: none;
        }

        .pg-item-box {
            display: flex;
            flex-direction: column;
            gap: 12px;
            min-width: 0;
            margin: 0;
            padding: 12px;
            border: 0;
            border-radius: 16px;
            background: #F5F5F2;
            color: #062930;
            text-align: center;
            box-shadow: none;
            box-sizing: border-box;

            figure {
                margin: 0;
            }
        }

        .pg-photoswipe-button {
            display: block;
            border-radius: 10px;
        }

        .pg-item-box-image {
            overflow: hidden;
            border-radius: 10px;
        }

        .pg-image {
            display: block;
            width: 100%;
            max-width: 100%;
            height: auto;
            aspect-ratio: 4 / 3;
            margin: 0;
            padding: 0;
            border: 0;
            object-fit: cover;
            box-shadow: none;
        }

        .pg-item-box-title {
            margin: 0;
            padding: 0;
            font-size: 14px;
            line-height: 1.5;
        }

        .pg-photoswipe-button-copy {
            color: inherit;
            white-space: normal;
            overflow-wrap: anywhere;
            text-decoration: none;

            &:hover {
                color: #009745;
                text-decoration: underline;
                text-underline-offset: 3px;
            }
        }

        a:focus-visible {
            outline: 2px solid #062930;
            outline-offset: 3px;
        }
    }
    .box-ct {
        padding: 16px;
        box-sizing: border-box;
    }
    .green {
        color: #FFFFFF;
        background-color: #009745;
        border-radius: 6px;
        h2, p, a {
            color: #FFFFFF;
        }
    }
}

/* ========== 3. DJ Single Room ========== */
.dj-room-desc {
    overflow: auto;
    table {
        width: 100% !important;
        margin-block: 24px;
        border-collapse: collapse;
        color: #062930;
        background-color: #FFFFFF;
        font-size: 16px;
        line-height: 1.5;

        th,
        td {
            padding: 12px 16px;
            border-bottom: 1px solid #B7DCE1;
            text-align: left;
            vertical-align: top;
            overflow-wrap: anywhere;
        }

        th {
            color: #062930;
            background-color: #F8AB10;
            font-weight: 500;
        }

        td {
            min-width: 56px;
            font-size: 14px;
            text-align: left !important;
            div {
                text-align: left !important;
            }
        }

        em {
            color: #062930;
        }

        @media screen and (max-width: 767px) {
            font-size: 14px;

            th,
            td {
                padding: 8px 12px;
            }
        }
    }
}

.dj-room-form {
    input {
        color: #062930;
        background-color: #FFFFFF;
        &:focus,
        &:hover {
            background-color: #FFFFFF;
        }
    }
    .uk-margin-top {
        margin: 0 !important;
    }
    textarea {
        background-color: #FFFFFF;
    }
    [name="privacy_policy"] {
        background-color: #FFFFFF;
    }
    .uk-button {
        width: 100%;
        color: #062930;
        background-color: #F8AB10;
        &:hover {
            background-color: #009745;
        }
    }
}

/* ========== 4. DJ Slideshow ========== */
.dj-slideshow {
    .uk-slideshow-nav {
        padding: 5px 12px;
        background-color: #FFFFFF;
        border-radius: 100px;
        box-sizing: border-box;
        li {
            &:first-of-type {
                padding-left: 0;
            }
        }
    }
}

/* ========== 5. DJ Submenu ========== */
.dj-submenu {
    .uk-active {
        >a {
            text-decoration: underline;
        }
    }
    .uk-nav-divider {
        display: none;
    }
}

/* ========== 6. Newsletter ========== */
.dj-newsletter {
    .acym_form {
        flex: 1;
    }
    .btn,
    input {
        max-width: 100% !important;
    }
    .acym__users__creation__fields__title {
        display: none;
    }
    .acysubbuttons,
    .acyfield_text {
        margin: 0 !important;
    }
    .acym_module_form {
        display: flex;
        align-items: flex-end;
        gap: 12px;
    }
    .uk-input {
        height: 50px;
    }
    .cell {
        width: 100%;
    }
    @media screen and (max-width: 420px) {
        .acym_module_form {
            flex-direction: column;
            align-items: stretch;
            gap: 12px;
        }
        .acysubbuttons {
            text-align: right;
        }
    }
}

/* ========== 7. Forms ========== */
.form-select {
    padding-right: 48px !important;
    background-image: url('../icons/chevron_down.svg') !important;
    background-position: center right 24px !important;
    background-repeat: no-repeat !important;
    appearance: none !important;
}

/* ========== 8. Header ========== */
.tm-header {
    .uk-margin-auto-left {
        flex: 1;
        margin-left: 0 !important;
    }
}

@media screen and (min-width: 1200px) {
    [lang="it-it"] {
        .uk-search {
            &::after {
                content: "Cerca";

            }
        }
    }

    [lang="en-gb"] {
        .uk-search {
            &::after {
                content: "Search";

            }
        }
    }

    .uk-search {
        &::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 16px;
            display: block;
            padding: 8px 32px 8px 16px;
            color: #062930;
            font-size: 12px;
            line-height: 1;
            font-weight: 500;
            width: fit-content;
            background-color: #F8AB10;
            border-radius: 120px;
            transform: translateY(-50%);
            box-sizing: border-box;
        }
    }

    .uk-search-icon {
        padding-left: 64px !important;
        padding-right: 26px !important;
        svg {
            width: 16px;
            height: 16px;
        }
    }
}

@media screen and (max-width: 1400px) and (min-width: 1200px) {
    .uk-search  {
        max-width: 300px;
        font-size: 14px;
    }
    .tm-header .uk-button {
        padding-inline: 20px;
        font-size: 14px;
        line-height: 36px;
    }
}

@media screen and (max-width: 1200px) {
    .uk-navbar-right {
        flex-wrap: nowrap;
    }
}


/* ========== 9. Navbar ========== */
.uk-navbar-left {
    width: 100%;
}

.uk-navbar .uk-navbar-nav:nth-of-type(2) {
    margin-left: auto;
}

@media screen and (max-width: 1400px) {
    .uk-navbar-nav >li >a {
        padding-inline: 12px;
        font-size: 14px;
    }
}


/* ========== 10. Header CTA ========== */
.dj-header-cta {
    .uk-width-auto {
        padding-left: 20px;
    }
}

.dj-header-cta-buttons >div {
    justify-content: flex-end;
}


/* ========== 11. Language dropdown ========== */
.dj-languages.is-dropdown-ready {
    position: relative;
    z-index: 20;
    width: fit-content;
}

.dj-languages.is-secondary {
    @media screen and (min-width: 767px) {
        margin-left: auto;
    }
}

.dj-languages.is-secondary .dj-languages__toggle {
    background-color: #F8AB10;
}

.dj-languages.is-dropdown-ready .mod-languages {
    position: relative;
}

.dj-languages__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    height: 48px;
    padding: 0 20px;
    border: 1px solid #F8AB10;
    border-radius: 999px;
    background: #fff;
    color: #062930;
    font: inherit;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease;
}

.dj-languages__toggle:hover,
.dj-languages__toggle:focus-visible,
.dj-languages.is-open .dj-languages__toggle {
    border-color: #F8AB10;
    background-color: #fffaf0;
}

.dj-languages__flag,
.dj-languages.is-dropdown-ready .lang-inline img {
    display: block;
    flex: 0 0 auto;
    width: 16px;
    height: auto;
    object-fit: cover;
}

.dj-languages__code {
    color: #0d3038;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
}

.dj-languages__arrow {
    width: 9px;
    height: 9px;
    margin-left: 2px;
    border-right: 2px solid #0d3038;
    border-bottom: 2px solid #0d3038;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 180ms ease;
}

.dj-languages.is-open .dj-languages__arrow {
    transform: translateY(2px) rotate(225deg);
}

.dj-languages.is-dropdown-ready .lang-inline {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1;
    display: grid;
    width: max-content;
    min-width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    visibility: hidden;
    border: 1px solid transparent;
    border-radius: 19px;
    background: #fff;
    list-style: none;
    opacity: 0;
    transform: translateY(-8px);
    transition: max-height 220ms ease, opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.dj-languages.is-open .lang-inline {
    max-height: 400px;
    visibility: visible;
    border-color: #f5a000;
    opacity: 1;
    transform: translateY(0);
}

.dj-languages.is-dropdown-ready .lang-inline li {
    margin: 0;
    padding: 0;
}

.dj-languages.is-dropdown-ready .lang-inline .lang-active {
    display: none;
}

.dj-languages.is-dropdown-ready .lang-inline a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 20px;
    color: #0d3038;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 180ms ease;
}

.dj-languages.is-dropdown-ready .lang-inline a:hover,
.dj-languages.is-dropdown-ready .lang-inline a:focus-visible {
    background: #fff3dc;
    outline: 0;
}

@media screen and (max-width: 1400px) {
    .dj-languages__toggle {
        height: 38px;
        font-size: 14px;
    }
}

@media (max-width: 959px) {
    .dj-languages.is-dropdown-ready {
        width: fit-content;
    }

    .dj-languages__toggle {
        height: 38px;
        gap: 8px;
        padding: 0 20px;
    }

    .dj-languages__flag,
    .dj-languages.is-dropdown-ready .lang-inline img {
        width: 16px;
        height: auto;
    }

    .dj-languages__code {
        font-size: 14px;
    }

    .dj-languages__arrow {
        width: 8px;
        height: 8px;
        margin-left: 2px;
        border-width: 0 2px 2px 0;
    }

    .dj-languages.is-dropdown-ready .lang-inline a {
        min-height: 38px;
        padding: 0 20px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dj-languages__toggle,
    .dj-languages__arrow,
    .dj-languages.is-dropdown-ready .lang-inline,
    .dj-languages.is-dropdown-ready .lang-inline a {
        transition: none;
    }
}

/* ========== 12. DJ Video ========== */
.dj-video video {
    border-radius: 48px;
    @media screen and (max-width: 767px) {
        aspect-ratio: 3 / 2 !important;
        border-radius: 18px;
    }
}

/* ========== 13. DJ Cards Primary ========== */
.dj-cards-primary .el-image {
    border-radius: 18px;
}
.dj-cards-primary .el-item {
    border-radius: 18px;
    overflow: hidden;
}

/* ========== 14. DJ Cards Secondary ========== */
.dj-cards-secondary .el-item {
    border-radius: 18px;
    overflow: hidden;
}

/* ========== 15. DJ Accordions ========== */
.dj-accordions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    .el-item:not(:last-of-type) {
        border-bottom: 1px solid #B7DCE1;
    }
    .el-item:not(.uk-open) {
        padding-bottom: 16px;
    }
    >:nth-child(n+2) {
        margin-block: 0px !important;
    }
    .uk-accordion-content {
        padding-inline: 24px;
    }
    .uk-accordion-icon {
        &::before {
            content: "";
            display: block;
            width: 34px;
            height: 34px;
            background-image: url(../icons/arrow.svg);
            background-position: center;
            background-size: 100%;
        }
        svg {
            display: none;
        }
    }
    .uk-open .uk-accordion-icon {
        &::before {
            transform: rotate(180deg);
        }
    }
}

/* ========== 16. DJ Single Post ========== */
.dj-category-label {
    margin-top: 4px;
    display: block;
    padding: 8px 12px;
    width: fit-content;
    font-size: 12px;
    line-height: 1;
    background-color: #F8AB10;
    border-radius: 32px;
    box-sizing: border-box;
}

/* ========== 17. DJ TOC ========== */
#sticky-toc {
    padding: 24px !important;
    background-color: #B7DCE1;
    border-radius: 12px;
    .dj-article-toc-head {
        font-size: 25px;
        color: #062930;
        font-weight: 500;
    }
    .uk-nav {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    a {
        display: block;
        font-size: 16px;
        text-decoration: none;
        box-sizing: border-box;
        &.is-active,
        &:hover {
            text-decoration: underline;
        }
    }
    .dj-article-toc-content {
        max-height: 450px;
        overflow: auto;
    }
    @media screen and (max-width: 500px) {
        padding: 24px 16px !important;
        a {
            padding: 8px 16px;
        }
    }
}
.dj-post-cta .uk-tile {
    border-radius: 12px;
}

/* ========== 18. Attractions List ========== */
.dj-accommodation {
    .el-image,
    .el-item {
        border-radius: 18px;
    }
    .el-item {
        overflow: hidden;
    }
    .el-meta {
        position: absolute;
        top: 12px;
        left: 12px;
        padding: 8px 12px;
        line-height: 1;
        font-size: 14px;
        color: #062930;
        background-color: #F8AB10;
        border-radius: 24px;
        box-sizing: border-box;
    }
}

/* ========== 19. DJ Label ========== */
.dj-label {
    position: absolute;
    left: 44px;
    top: 12px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1;
    background-color: #F8AB10;
    border-radius: 32px;
    pointer-events: none;
    box-sizing: border-box;
}

/* ========== 20. DJ Card Gastro ========== */
.dj-card-gastro {
    margin-top: 24px !important;
    @media screen and (max-width: 600px) {
        margin-top: 36px !important;
    }
}

/* ========== 21. DJ Filters ========== */
.dj-filters {
    margin-bottom: 32px !important;
    .control-label {
        margin: 0;
        font-size: 14px;
    }
    .mod_djc2fw_inside,
    form {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: center;
    }
    .control-group,
    .djcf_se_row {
        margin: 0 !important;
    }
    .uk-button {
        height: 64px;
        line-height: 64px;
    }
    .uk-select {
        padding-block: 0 !important;
        padding-inline: 24px !important;
        color: #062930 !important;
        background-color: #b7dce1 !important;
        border-radius: 100px !important;
        border: none !important;
    }
    [style="clear:both"] {
        display: none;
    }
    .btn-primary {
        margin: 0 !important;
        padding: 0 32px !important;
        height: 64px !important;
        font-family: 'Rubik' !important;
        line-height: 64px !important;
        text-shadow: none !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        color: #062930 !important;
        background: #f8ab10 !important;
        background-color: #f8ab10 !important;
        border-radius: 100px !important;
        border: none !important;
    }
    @media screen and (max-width: 1000px) {
        select,
        .uk-button,
        .btn-primary {
            line-height: 50px !important;
            height: 50px !important;
            font-size: 14px !important;
        }
    }
    @media screen and (max-width: 500px) {
        .control-label {
            font-size: 12px;
        }
        select,
        .uk-button {
            line-height: 40px !important;
            height: 40px !important;
            font-size: 12px;
        }
        .mod_djc2fw-filterwrap {
            min-width: 100%;
        }
        select {
            padding-inline: 16px !important;
            background-size: 16px 16px !important;
            background-position: center right 16px !important;
        }
        .mod_djc2fw_inside {
            align-items: flex-start;
        }
    }
}

/* ========== 22. DJ Attractions ========== */
.dj-attractions {
    h1 {
        font-weight: 400 !important;
    }
    .mugello-filter__toggle {
        font-weight: 500;
    }
    .mugello-filter__title a {
        font-size: 25px;
        text-decoration: none;
    }
    .uk-pagination {
        .uk-active {
            .uk-button {
                color: #062930;
                font-weight: 500;
                background-color: #F8AB10 !important;
            }
        }
        .uk-button {
            border: none;
            border-radius: 100px;
        }
    }
    @media screen and (max-width: 600px) {
        .mugello-filter__title a {
            font-size: 20px;
        }
    }
}

.mugello-attraction-source,
.mugello-filter__breadcrumbs {
    color: #062930;
}
.mugello-filter__breadcrumbs {
    color: #000000;
    font-size: 14px !important;
    span {
        color: #000000 !important;
        background-color: unset !important;
        opacity: 1 !important;
    }
}
.mugello-filter__hero {
    background-color: #009745 !important;
    h1 {
        color: #062930 !important;
    }
    p {
        color: #000000;
        font-size: 18px !important;
        background-color: unset !important;
    }
}

/* ========== 23. Attractions Filter Panels ========== */
.dj-attractions .mugello-filter__dropdown {
    /* Override UIkit's inline sizing; scrolling belongs to the panel. */
    max-width: min(780px, calc(100vw - 32px)) !important;
    overflow: visible !important;
}

.dj-attractions .mugello-filter .mugello-filter__panel {
    padding: 24px;
    max-height: min(70vh, 560px);
    max-height: min(70dvh, 560px);
    overflow: auto;
    overscroll-behavior: contain;
    scroll-padding-block: 24px 88px;
    border: 1px solid #d5e6e7;
    border-radius: 24px;
    background: #fff;
    color: #062930;
    box-shadow: 0 16px 48px rgba(6, 41, 48, .16);
    box-sizing: border-box;
}

.dj-attractions .mugello-filter__panel fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.dj-attractions .mugello-filter__panel fieldset + fieldset {
    margin-top: 24px;
}

.dj-attractions .mugello-filter__panel legend {
    margin-bottom: 18px;
    padding: 0;
    color: #062930;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}

.dj-attractions .mugello-filter__checks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.dj-attractions .mugello-filter__checks label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 60px;
    margin: 0;
    padding: 12px;
    border: 1px solid #e0eced;
    border-radius: 12px;
    background: #f4f9f9;
    color: #062930;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.dj-attractions .mugello-filter__checks label:hover {
    border-color: #9acbd0;
    background: #eaf5f5;
}

.dj-attractions .mugello-filter__checks label:has(input:checked) {
    border-color: #F8AB10;
    background: #fff5dc;
}

.dj-attractions .mugello-filter__checks label:has(input:focus-visible) {
    outline: 2px solid #062930;
    outline-offset: 2px;
}

.dj-attractions .mugello-filter__checks label:has(input:disabled) {
    opacity: .55;
    cursor: not-allowed;
}

.dj-attractions .mugello-filter__checks .uk-checkbox {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid #92b9bc;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: none;
    cursor: inherit;
}

.dj-attractions .mugello-filter__checks .uk-checkbox:checked {
    border-color: #F8AB10;
    background-color: #F8AB10;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='%23062930' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-size: 20px 20px;
    background-repeat: no-repeat;
}

.dj-attractions .mugello-filter__panel-actions {
    position: sticky;
    z-index: 1;
    bottom: -24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 24px -24px -24px;
    padding: 16px 24px;
    border-top: 1px solid #e0eced;
    background: #fff;
}

.dj-attractions .mugello-filter__panel-actions .uk-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 24px;
    border: 1px solid #cee1e3;
    border-radius: 999px;
    background: #fff;
    color: #062930;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    text-transform: none;
    box-sizing: border-box;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.dj-attractions .mugello-filter__panel-actions .uk-button::before,
.dj-attractions .mugello-filter__panel-actions .uk-button::after {
    display: none;
}

.dj-attractions .mugello-filter__panel-actions .uk-button:hover {
    border-color: #9acbd0;
    background: #eaf5f5;
}

.dj-attractions .mugello-filter__panel-actions [data-close-facet] {
    border-color: #F8AB10;
    background: #F8AB10;
}

.dj-attractions .mugello-filter__panel-actions [data-close-facet]:hover {
    border-color: #eb9c00;
    background: #eb9c00;
}

.dj-attractions .mugello-filter__panel-actions .uk-button:focus-visible {
    outline: 2px solid #062930;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .dj-attractions .mugello-filter__checks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 599px), (max-height: 600px) {
    .dj-attractions .mugello-filter__dropdown {
        position: fixed;
        top: auto !important;
        right: 16px;
        bottom: 16px;
        left: 16px !important;
        width: auto !important;
        margin: 0 auto;
    }
}

@media (max-width: 599px) {
    .dj-attractions .mugello-filter .mugello-filter__panel {
        padding: 16px;
        border-radius: 18px;
    }

    .dj-attractions .mugello-filter__panel legend {
        margin-bottom: 14px;
        font-size: 20px;
    }

    .dj-attractions .mugello-filter__checks {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .dj-attractions .mugello-filter__checks label {
        min-height: 48px;
    }

    .dj-attractions .mugello-filter__panel-actions {
        bottom: -16px;
        gap: 8px;
        margin: 20px -16px -16px;
        padding: 14px 16px;
    }

    .dj-attractions .mugello-filter__panel-actions .uk-button {
        flex: 1;
        min-width: 0;
        padding-inline: 12px;
    }

    .dj-attractions .mugello-filter__panel-actions [data-close-facet] {
        flex: 1.4;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dj-attractions .mugello-filter__checks label,
    .dj-attractions .mugello-filter__panel-actions .uk-button {
        transition: none;
    }
}

/* ========== 24. DJ Product ========== */
.dj-attribiutes {
    .table {
        margin: 0;
    }
    .djc_attributes {
        margin-top: 0;
    }
    .djc_attributes,
    .djc_value,
    .djc_label {
        background-color: #FFFFFF !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
    }
    td {
        padding: 12px 16px !important;
        border-bottom: 1px solid rgb(183, 220, 225) !important;
        font-size: 16px !important;
        text-align: left !important;
        vertical-align: top !important;
        overflow-wrap: anywhere !important;
    }
    ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
}

.dj-product-gallery {
    .uk-slideshow-items {
        .el-image {
            border-radius: 8px;
        }
    }
}


/* ========== 25. DJ Events ========== */
.dj-events {
    .tm-top,
    main {
        &,
        &::before,
        &::after,
        *,
        *::before,
        *::after {
            box-shadow: none !important;
        }
    }

    /* Search and month calendar */
    .tm-top {
        padding-block: 48px;
        background-color: #F5F5F2;
        color: #062930;

        > .uk-container > .uk-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr);
            align-items: stretch;
            gap: 24px;
            margin: 0;

            > div {
                width: auto;
                min-width: 0;
                margin: 0;
                padding: 0;
            }
        }

        .uk-panel,
        .djev_search {
            height: 100%;
        }

        .djev_mod_search {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            align-content: center;
            gap: 16px;
            min-width: 0;
            height: 100%;
            margin: 0;
            padding: 32px;
            border: 0;
            border-radius: 24px;
            background-color: #B7DCE1;
            box-sizing: border-box;
        }

        .djev_mod_search::before,
        .djev_mod_search::after {
            display: none;
        }

        .djev_search_el {
            float: none;
            width: auto;
            min-width: 0;
            margin: 0;
            padding: 0;
        }

        .djev_search_field,
        .djev_search_button {
            grid-column: 1 / -1;
        }

        .djev_search input[type="text"],
        .djev_search select {
            width: 100%;
            min-width: 0;
            max-width: none;
            height: 52px;
            margin: 0;
            padding: 12px 16px;
            border: 1px solid transparent;
            border-radius: 12px;
            background-color: #FFFFFF;
            color: #062930;
            font: inherit;
            font-size: 15px;
            box-sizing: border-box;
        }

        .djev_search input::placeholder {
            color: #47676D;
            opacity: 1;
        }

        .djev_search select {
            padding-right: 36px;
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23062930' stroke-width='1.5'/%3E%3C/svg%3E");
            background-position: right 16px center;
            background-size: 12px 8px;
            background-repeat: no-repeat;
        }

        .field-calendar {
            position: relative;
        }

        .field-calendar .input-group {
            display: flex;
            flex-wrap: nowrap;

            input {
                flex: 1;
                border-radius: 12px 0 0 12px;
            }

            .btn {
                flex: 0 0 48px;
                margin: 0;
                padding: 0;
                border: 0;
                border-left: 1px solid #B7DCE1;
                border-radius: 0 12px 12px 0;
                background: #FFFFFF;
                color: #062930;
                cursor: pointer;
            }
        }

        .djev_search_button input[type="submit"] {
            width: 100%;
            min-height: 52px;
            padding: 12px 24px;
            border: 0;
            border-radius: 100px;
            background: #F8AB10;
            color: #062930;
            font: inherit;
            font-weight: 500;
            white-space: normal;
            cursor: pointer;

            &:hover {
                background: #EB9C00;
                box-shadow: none !important;
            }
        }

        .djev_calendar_month {
            position: relative;
            height: 100%;
            padding: 24px;
            border: 1px solid #B7DCE1;
            border-radius: 24px;
            background-color: #FFFFFF;
            box-sizing: border-box;
        }

        .djev_calendar_head {
            min-height: 44px;
            margin: 0 0 16px;
            padding: 6px 48px;
            background: transparent;
            color: #062930;
            font-size: 22px;
            font-weight: 500;
            line-height: 1.4;
            text-align: center;
            box-sizing: border-box;
        }

        .djev_calendar_table {
            width: 100%;
            margin: 0;
            border: 0;
            border-collapse: separate;
            border-spacing: 4px;
            table-layout: fixed;

            tr:nth-child(n) > td:nth-child(n) {
                background: transparent;
            }

            /* The extension marks today's cell with an important background. */
            td.today {
                background: transparent !important;
            }

            th,
            td {
                padding: 0;
                border: 0;
                background: transparent;
                color: #062930;
                text-align: center;
                vertical-align: middle;
            }

            th {
                height: 32px;
                font-size: 12px;
                font-weight: 500;
            }

            .djev_calendar_table_day > span,
            .djev_calendar_table_day > a {
                display: flex;
                align-items: center;
                justify-content: center;
                min-height: 36px;
                padding: 4px;
                border-radius: 8px;
                color: #062930;
                font-size: 14px;
                text-decoration: none;
                box-sizing: border-box;
            }

            .active-day > a {
                background: #B7DCE1;
                font-weight: 500;
            }

            .today > span,
            td.today > a {
                background: #F8AB10;
                font-weight: 600;
            }

            td.active-day > a:hover {
                background: #F8AB10;
            }
        }

        .djev_navi {
            position: absolute;
            inset: 24px 24px auto;
            display: flex;
            justify-content: space-between;
            pointer-events: none;

            a {
                position: static;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                padding: 0;
                border: 1px solid #B7DCE1;
                border-radius: 50%;
                background: #FFFFFF;
                color: #062930;
                text-decoration: none;
                pointer-events: auto;
                box-sizing: border-box;

                &:hover {
                    background: #B7DCE1;
                }
            }
        }

        .djev_search :is(input, select, button):focus-visible,
        .djev_calendar_month a:focus-visible {
            outline: 2px solid #062930;
            outline-offset: 3px;
        }
    }

    /* Event cards and pagination */
    main {
        padding-block: 48px 64px;

        #djevents {
            color: #062930;

            > h3 {
                margin: 0 0 24px;
                font-size: clamp(26px, 3vw, 36px);
                font-weight: 500;
                line-height: 1.2;
            }

            .djev_items {
                display: grid;
                gap: 24px;
                margin: 0 0 48px;
                padding: 0;
            }

            .djev_items::before,
            .djev_items::after,
            .djev_item::before,
            .djev_item::after,
            .djev_item > .djev_clear {
                display: none;
            }

            .djev_item {
                display: flex;
                gap: 24px;
                float: none;
                width: auto;
                min-width: 0;
                margin: 0;
                padding: 24px;
                border: 1px solid #B7DCE1;
                border-radius: 24px;
                background: #FFFFFF;
            }

            .djev_featured {
                border-color: #F8AB10;
                background: #FFFAF0;
            }

            .djev_image_wrap {
                flex: 0 0 32%;
                float: none;
                width: auto;
                min-width: 0;
                margin: 0;
                padding: 0;

                a {
                    display: block;
                    border-radius: 16px;
                }
            }

            .djev_image {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 600 / 284;
                border-radius: 16px;
                object-fit: cover;
            }

            .djev_item_content {
                flex: 1;
                min-width: 0;
                margin: 0;
                padding: 0;
                overflow-wrap: anywhere;
            }

            .djev_item_title {
                margin: 0 0 12px;
                font-size: clamp(20px, 2vw, 26px);
                font-weight: 500;
                line-height: 1.3;

                a {
                    color: #062930;
                    text-decoration: none;

                    &:hover {
                        text-decoration: underline;
                        text-underline-offset: 4px;
                    }
                }
            }

            .djev_time {
                display: flex;
                flex-wrap: wrap;
                align-items: baseline;
                gap: 4px 8px;
                margin: 0 0 16px;
                color: #47676D;
                font-size: 14px;
                font-weight: 400;
                line-height: 1.5;
            }

            .djev_intro {
                margin-bottom: 20px;
                font-size: 16px;
                line-height: 1.6;

                p {
                    margin: 0 0 8px;
                }
            }

            .djev_info {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                gap: 12px;
                margin: 0;
                padding: 16px 0 0;
                border-top: 1px solid #B7DCE1;
                background: transparent;
            }

            .djev_city {
                color: #062930;
                font-size: 14px;
                text-decoration: none;

                &:hover {
                    text-decoration: underline;
                }
            }

            .djev_category {
                max-width: 100%;
                margin: 0;
                padding: 6px 12px;
                border-radius: 100px;
                /* The extension sets category colors inline. */
                background: #B7DCE1 !important;
                color: #062930 !important;
                font-size: 12px;
                line-height: 1.5;
                text-decoration: none;

                &:hover {
                    text-decoration: underline;
                }
            }

            .djev_info > .btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                float: none;
                min-height: 44px;
                margin: 0 0 0 auto;
                padding: 10px 20px;
                border: 0;
                border-radius: 100px;
                background: #F8AB10;
                color: #062930;
                font-size: 14px;
                font-weight: 500;
                line-height: 1.5;
                text-align: center;
                text-decoration: none;
                white-space: normal;

                &:hover {
                    background: #EB9C00;
                    box-shadow: none !important;
                }
            }

            a:focus-visible {
                outline: 2px solid #062930;
                outline-offset: 3px;
            }

            .djev_pagination .uk-pagination {
                flex-wrap: wrap;
                gap: 8px;
                padding: 0;

                > li {
                    padding: 0;

                    > a,
                    > span {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        min-width: 44px;
                        min-height: 44px;
                        padding: 8px;
                        border: 1px solid #B7DCE1;
                        border-radius: 50%;
                        color: #062930;
                        box-sizing: border-box;
                    }

                    > a:hover {
                        background: #B7DCE1;
                    }
                }

                > .uk-active > span {
                    border-color: #F8AB10;
                    background: #F8AB10;
                    font-weight: 500;
                }
            }
        }
    }

    @media screen and (max-width: 959px) {
        .tm-top > .uk-container > .uk-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        main #djevents .djev_item {
            gap: 20px;
            padding: 20px;
        }
    }

    @media screen and (max-width: 599px) {
        .tm-top,
        main {
            padding-block: 32px;
        }

        .tm-top {
            .djev_mod_search {
                grid-template-columns: minmax(0, 1fr);
                gap: 12px;
                padding: 20px;
                border-radius: 18px;
            }

            .djev_calendar_month {
                padding: 16px;
                border-radius: 18px;
            }

            .djev_calendar_head {
                font-size: 18px;
            }

            .djev_calendar_table {
                border-spacing: 2px;
            }

            .djev_navi {
                inset: 16px 16px auto;
            }
        }

        main #djevents {
            .djev_item {
                flex-direction: column;
                padding: 16px;
                border-radius: 18px;
            }

            .djev_image_wrap {
                flex-basis: auto;
            }

            .djev_info > .btn {
                width: 100%;
                margin-left: 0;
                box-sizing: border-box;
            }
        }
    }
}

/* ========== 26. DJ Single Event ========== */
.dj-events main #djevents.djev_event {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto 1fr auto auto;
    grid-template-areas:
        "title title"
        "gallery time"
        "gallery location"
        "gallery category"
        "gallery ."
        "description description"
        "map map";
    align-items: start;
    gap: 16px 32px;
    margin: 0;

    &::after {
        display: none;
    }

    > .djev_title {
        grid-area: title;
        margin: 0 0 16px;
        color: #062930;
        font-size: clamp(28px, 3.5vw, 48px);
        font-weight: 500;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .djev_event_info {
        grid-area: gallery;
        float: none;
        /* The extension sets a fixed gallery width inline. */
        width: 100% !important;
        min-width: 0;
        margin: 0;
    }

    .djev_gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin: 0;
    }

    .djev_poster {
        flex: 0 0 100%;
        min-width: 0;
        margin: 0;
    }

    .djev_thumb {
        float: none;
        max-width: calc((100% - 24px) / 3);
        margin: 0;
    }

    .djev_media_link {
        display: block;
        border-radius: 18px;

        img {
            display: block;
            width: 100%;
            height: auto;
            border-radius: inherit;
        }
    }

    > .djev_infoline,
    > .djev_category {
        display: flex;
        align-items: baseline;
        gap: 12px;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        min-height: 68px;
        margin: 0;
        padding: 20px;
        border: 1px solid #B7DCE1;
        border-radius: 16px;
        background: #F5F5F2 !important;
        color: #062930;
        font-family: inherit;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
        overflow-wrap: anywhere;
        box-sizing: border-box;

        > .fa {
            flex: 0 0 16px;
            margin: 0;
            color: #062930;
        }
    }

    > .djev_time {
        grid-area: time;
        flex-wrap: wrap;
    }

    > .djev_location {
        grid-area: location;
    }

    > .djev_category {
        grid-area: category;

        &::before {
            content: "";
            flex: 0 0 16px;
            align-self: center;
            height: 16px;
            background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m20 12-8 8-9-9V3h8Z' fill='none' stroke='%23062930' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5' fill='%23062930'/%3E%3C/svg%3E") center / contain no-repeat;
        }

        &:hover {
            background: #B7DCE1 !important;
        }
    }

    .djev_description {
        grid-area: description;
        width: 100%;
        max-width: 85ch;
        min-width: 0;
        margin: 16px auto 0;
        font-size: 18px;
        line-height: 1.75;
        overflow-wrap: anywhere;
    }

    .djev_fulltext {
        p,
        ul,
        ol {
            margin: 0 0 20px;
        }

        a {
            color: #062930;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

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

    .djev_tags {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin-top: 32px;
        padding-top: 24px;
        border-top: 1px solid #B7DCE1;
    }

    .djev_tags_label {
        flex-basis: 100%;
        margin-bottom: 4px;
        color: #47676D !important;
        font-size: 14px;
    }

    .djev_tag {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        max-width: 100%;
        margin: 0;
        padding: 8px 16px;
        border: 1px solid #B7DCE1;
        border-radius: 100px;
        background: #FFFFFF;
        color: #062930;
        font-size: 14px;
        line-height: 1.5;
        text-decoration: none;
        white-space: normal;
        box-sizing: border-box;

        &:hover {
            border-color: #F8AB10;
            background: #F8AB10;
            color: #062930;
        }
    }

    > #gmap {
        grid-area: map;
        min-width: 0;
        margin-top: 24px;
        border: 1px solid #B7DCE1;
        border-radius: 24px;
        overflow: hidden;
        box-sizing: border-box;
    }

    @media screen and (max-width: 959px) {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        grid-template-areas:
            "title"
            "time"
            "location"
            "category"
            "gallery"
            "description"
            "map";
    }

    @media screen and (max-width: 599px) {
        > .djev_title {
            margin-bottom: 8px;
        }

        > .djev_infoline,
        > .djev_category {
            min-height: 58px;
            padding: 16px;
            font-size: 14px;
        }

        > .djev_time {
            display: grid;
            grid-template-columns: 16px minmax(0, 1fr);
            gap: 4px 12px;

            .djev_time_to {
                grid-column: 2;
            }
        }

        .djev_description {
            font-size: 16px;
        }

        > #gmap {
            border-radius: 18px;
        }
    }
}

/* ========== 27. DJ Account ========== */
#dj-classifieds.useritems {
    color: #062930;

    > .title_top {
        margin: 0 0 32px;
        padding: 0;
        border: 0;
        background: transparent;

        h1 {
            margin: 0;
            color: #062930;
            font-size: clamp(28px, 3.5vw, 48px);
            font-weight: 500;
            line-height: 1.15;
        }
    }

    > #djForm {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        margin: 0 0 24px;
        padding: 24px;
        border-radius: 24px;
        background: #F5F5F2;

        > .useritems_search {
            /* Override Bootstrap's float and margin utilities. */
            float: none !important;
            min-width: 0;
            margin: 0 !important;
            padding: 0;
        }

        > .djinputbox {
            display: flex;
            flex: 1 1 320px;
            gap: 12px;

            input {
                flex: 1;
            }
        }

        > .djfilterbox {
            flex: 0 1 240px;
        }

        > .clear_both {
            display: none;
        }
    }

    > #djForm .useritems_search :is(input[type="text"], select) {
        /* Override Bootstrap's w-auto utility. */
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
        height: 48px;
        margin: 0;
        padding: 12px 16px;
        border: 1px solid #B7DCE1;
        border-radius: 12px;
        background-color: #FFFFFF;
        color: #062930;
        font: inherit;
        font-size: 16px;
        line-height: 1.5;
        box-shadow: none;
        box-sizing: border-box;

        &::placeholder {
            color: #47676D;
            opacity: 1;
        }

        &:focus {
            border-color: #062930;
        }
    }

    > #djForm .useritems_search select {
        padding-right: 64px;
    }

    > #djForm .button {
        min-height: 48px;
        margin: 0;
        padding: 12px 24px;
        border: 1px solid transparent;
        border-radius: 100px;
        background: #F8AB10;
        color: #062930;
        font: inherit;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        text-transform: none;
        text-shadow: none;
        white-space: normal;
        box-shadow: none;
        cursor: pointer;
        box-sizing: border-box;

        &:hover {
            background: #EB9C00;
            color: #062930;
        }

        &.cancel {
            border-color: #B7DCE1;
            background: #FFFFFF;

            &:hover {
                background: #B7DCE1;
            }
        }
    }

    > #djForm :is(input, select, button, a):focus-visible,
    .dj-useradverts :is(input, a):focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    > .useritems {
        margin: 0;
    }

    .dj-useradverts {
        overflow-x: auto;
        border: 1px solid #B7DCE1;
        border-radius: 24px;
        background: #FFFFFF;
    }

    .dj-useradverts > .main_title {
        display: flex;
        min-width: 640px;
        margin: 0;
        padding: 0;
        border: 0;
        border-bottom: 1px solid #B7DCE1;
        background: #F5F5F2;

        > .clear_both {
            display: none;
        }
    }

    .dj-useradverts > .main_title > .main_title_box {
        flex: 1;
        float: none;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 16px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        box-sizing: border-box;

        &.first {
            flex: 2;
        }

        &.active {
            background: #B7DCE1;
        }
    }

    .dj-useradverts > .main_title > .main_title_box:is(.normal, .active) > .main_title_box_in {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        /* Remove the extension's inset header panels, including theme overrides. */
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;

        a,
        a.normal,
        a.active {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 32px;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent !important;
            color: #062930 !important;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.4;
            text-decoration: none;
            text-shadow: none;
            box-shadow: none;

            &:hover {
                text-decoration: underline;
                text-underline-offset: 3px;
            }
        }

        img {
            flex: 0 0 12px;
            width: 12px;
            height: 12px;
            margin: 0;
            object-fit: contain;
        }
    }

    .dj-useradverts .main_title .chx-all {
        flex: 0 0 18px;
        float: none !important;
        width: 18px;
        height: 18px;
        margin: 0;
        appearance: auto;
        accent-color: #062930;
        cursor: pointer;
    }

    .no_results {
        margin: 0;
        padding: 64px 24px;
        color: #47676D;
        font-size: 18px;
        line-height: 1.6;
        text-align: center;
    }

    #confirm_delete {
        .modal-content {
            border: 1px solid #B7DCE1;
            border-radius: 24px;
            background: #FFFFFF;
            color: #062930;
        }

        .modal-header,
        .modal-body,
        .modal-footer {
            padding: 24px;
            border-color: #B7DCE1;
        }

        .modal-title {
            margin: 0;
            color: #062930;
            font-size: 24px;
            font-weight: 500;
            line-height: 1.3;
        }

        .modal-footer {
            gap: 12px;
        }
    }

    @media screen and (max-width: 599px) {
        > .title_top {
            margin-bottom: 24px;
        }

        > #djForm {
            padding: 16px;
            border-radius: 18px;

            > .djinputbox {
                flex-basis: 100%;
                flex-wrap: wrap;

                input {
                    flex-basis: 100%;
                }
            }

            > .djfilterbox,
            > .action-buttons {
                flex: 1 1 100%;
            }

            .button {
                width: 100%;
            }
        }

        .dj-useradverts {
            border-radius: 18px;
        }

        .no_results {
            padding: 48px 20px;
            font-size: 16px;
        }

        #confirm_delete {
            .modal-header,
            .modal-body,
            .modal-footer {
                padding: 16px;
            }
        }
    }
}

/* ========== 28. DJ Advertiser Profile ========== */
#dj-classifieds.djcftheme-default > .profile_outer {
    margin: 0 0 24px;
    padding: 32px;
    border: 1px solid #B7DCE1;
    border-radius: 24px;
    background: #F5F5F2;
    color: #062930;
    box-sizing: border-box;

    > .profile_box {
        display: flex;
        align-items: flex-start;
        gap: 24px;
        margin: 0;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none;

        > .profile_img {
            display: block;
            flex: 0 0 120px;
            float: none;
            width: 120px;
            height: 120px;
            margin: 0;
            padding: 0;
            border-radius: 50%;
            background: #FFFFFF;
            overflow: hidden;

            img {
                display: block;
                /* The extension sets the avatar dimensions inline. */
                width: 100% !important;
                max-height: none !important;
                height: 100%;
                margin: 0;
                padding: 0;
                border: 0;
                object-fit: cover;
            }
        }

        > .profile_name_data {
            flex: 1;
            min-width: 0;
            margin: 0;
            padding: 0;
        }

        .profile_name_data > .main_cat_title {
            margin: 0 0 20px;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none;

            .profile_name {
                margin: 0;
                padding: 0;
                color: #062930;
                font-size: clamp(28px, 3vw, 40px);
                font-weight: 500;
                line-height: 1.2;
                overflow-wrap: anywhere;
            }
        }

        .profile_data.profile_contact_form {
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
        }

        > .clear_both,
        .profile_contact_form > .clear_both {
            display: none;
        }
    }

    #ask_form_button,
    #askForm .button {
        min-height: 48px;
        max-width: 100%;
        margin: 0;
        padding: 12px 24px;
        border: 1px solid transparent;
        border-radius: 100px;
        background: #F8AB10 !important;
        color: #062930 !important;
        font: inherit;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        text-transform: none;
        text-shadow: none;
        white-space: normal;
        box-shadow: none;
        cursor: pointer;
        box-sizing: border-box;

        &:hover {
            background: #EB9C00 !important;
        }
    }

    #ask_form {
        max-width: 760px;
        margin-top: 24px;
        padding: 24px 0 0;
        border-top: 1px solid #B7DCE1;
    }

    #askForm {
        margin: 0;

        > .djform_row {
            float: none;
            width: 100%;
            margin: 0 0 20px;
            padding: 0;
            border: 0;
            background: transparent;

            > .label {
                display: block;
                float: none;
                width: auto;
                margin: 0 0 8px;
                padding: 0;
                background: transparent;
                color: #062930;
                font-size: 14px;
                font-weight: 500;
                line-height: 1.5;
                text-align: left;
                text-shadow: none;
                white-space: normal;
            }

            > .form-control {
                width: 100%;
                min-width: 0;
                max-width: 100%;
                min-height: 48px;
                margin: 0;
                padding: 12px 16px;
                border: 1px solid #B7DCE1;
                border-radius: 12px;
                background: #FFFFFF;
                color: #062930;
                font: inherit;
                font-size: 16px;
                line-height: 1.5;
                box-shadow: none;
                box-sizing: border-box;

                &::placeholder {
                    color: #47676D;
                    opacity: 1;
                }

                &:focus {
                    border-color: #062930;
                }

                &.invalid,
                &[aria-invalid="true"] {
                    border-color: #B42318;
                }
            }

            > textarea.form-control {
                min-height: 160px;
                resize: vertical;
            }
        }

        > .clear_both {
            display: none;
        }
    }

    #ask_form_button:focus-visible,
    #askForm :is(input, textarea, button):focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    @media screen and (max-width: 599px) {
        padding: 20px;
        border-radius: 18px;

        > .profile_box {
            flex-direction: column;
            gap: 20px;

            > .profile_img {
                flex-basis: auto;
                width: 96px;
                height: 96px;
            }

            > .profile_name_data {
                width: 100%;
            }
        }

        #ask_form_button,
        #askForm .button {
            width: 100%;
        }
    }
}

#dj-classifieds > #profile_items.profile_items {
    min-width: 0;
    margin: 0;
    color: #062930;

    > .profile-items,
    > .profile-items > .items {
        margin: 0;
        padding: 0;
    }

    > .profile-items > .items {
        overflow-x: auto;
        border: 1px solid #B7DCE1;
        border-radius: 24px;
        background: #FFFFFF;
    }

    .dj-items-table2 {
        display: block;
        width: 100%;
        min-width: 1120px;
        margin: 0;
        padding: 0;
        border: 0;

        > .item_row {
            /* Keep headers and advert cells aligned, including on narrow screens. */
            display: grid !important;
            grid-template-columns: 144px minmax(180px, 2fr) repeat(2, minmax(120px, 1fr)) 112px repeat(2, 144px) 136px;
            align-items: center;
            margin: 0;
            padding: 0;
            border: 0;
            border-bottom: 1px solid #B7DCE1;
            background: #FFFFFF !important;
            box-shadow: none;

            &:last-child {
                border-bottom: 0;
            }

            &::before,
            &::after {
                display: none;
            }

            > .item_col {
                display: block !important;
                float: none !important;
                width: auto !important;
                min-width: 0;
                margin: 0;
                padding: 20px 16px !important;
                border: 0 !important;
                background: transparent !important;
                color: #062930;
                font-size: 14px;
                line-height: 1.5;
                text-align: left;
                white-space: normal;
                overflow-wrap: anywhere;
                box-shadow: none;
                box-sizing: border-box;

                a {
                    color: #062930 !important;
                    text-decoration: none;

                    &:hover {
                        text-decoration: underline;
                        text-underline-offset: 3px;
                    }

                    &:focus-visible {
                        outline: 2px solid #062930;
                        outline-offset: 3px;
                    }
                }

                &.icon img {
                    display: block;
                    width: 112px;
                    max-width: 100%;
                    height: 84px;
                    margin: 0;
                    padding: 0;
                    border: 0;
                    border-radius: 12px;
                    object-fit: cover;
                }

                &.name h3 {
                    margin: 0 0 8px;
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 1.3;
                }

                .type_label {
                    display: inline-block;
                    margin: 0 8px 0 0;
                    padding: 4px 10px;
                    border: 1px solid #B7DCE1;
                    border-radius: 100px;
                    background: #F5F5F2;
                    color: #062930;
                    font-size: 12px;
                    line-height: 1.5;
                }

                &.price {
                    font-weight: 500;
                }

                &.price,
                &.date_start,
                &.date_exp,
                &.col_display {
                    font-variant-numeric: tabular-nums;
                }
            }

            &.item_header {
                align-items: stretch;
                background: #F5F5F2 !important;

                > .item_col {
                    display: flex !important;
                    align-items: center;
                    min-height: 64px;
                    padding: 16px !important;

                    &.active {
                        background: #B7DCE1 !important;
                    }

                    a {
                        display: inline-flex;
                        align-items: center;
                        gap: 8px;
                        margin: 0;
                        padding: 0;
                        border: 0;
                        background: transparent !important;
                        color: #062930 !important;
                        font-size: 14px;
                        font-weight: 500;
                        line-height: 1.4;
                        text-shadow: none;
                        box-shadow: none;
                    }

                    img {
                        flex: 0 0 12px;
                        width: 12px;
                        height: 12px;
                        margin: 0;
                        object-fit: contain;
                    }
                }
            }
        }
    }

    @media screen and (max-width: 599px) {
        > .profile-items > .items {
            border-radius: 18px;
        }
    }
}

/* ========== 29. DJ Slide ========== */
.dj-slide {
    .dj-slide-desc {
        background: #f5f5f2;
        p {
            margin: 0;
        }
    }
    .dj-slide-description {
        text-align: center;
    }
    a {
        color: #062930 !important;
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
    }
}

/* ========== 30. DJ Tag ========== */
.djcat-embed {
    margin-top: 32px;
    min-width: 0;
    color: #062930;

    .djcat-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .djcat-card {
        display: flex;
        flex-direction: column;
        gap: 14px;
        min-width: 0;
        margin: 0;
        padding: 24px 16px;
        border: none;
        border-radius: 24px;
        background: #F5F5F2;
        overflow-wrap: anywhere;
        box-sizing: border-box;

        > a:not(.readmore) {
            display: block;
            overflow: hidden;
            border-radius: 16px;
            background: #FFFFFF;

            > img {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 16 / 10;
                padding: 16px;
                object-fit: contain;
                box-sizing: border-box;
            }
        }

        > h3 {
            margin: 0;
            color: #062930;
            font-size: 18px;
            font-weight: 500;
            line-height: 1.3;

            > a {
                color: inherit;
                text-decoration: none;
            }
        }

        > p {
            margin: 0;
            font-size: 14px;
            line-height: 1.6;
        }

        > .djcat-contact a {
            color: #062930;
            text-decoration: none;
            text-underline-offset: 3px;
        }

        > .readmore {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            align-self: flex-start;
            max-width: 100%;
            min-height: 48px;
            margin: auto 0 0;
            padding: 12px 24px;
            border: 1px solid transparent;
            border-radius: 100px;
            background: #F8AB10;
            color: #062930;
            font: inherit;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.5;
            text-align: center;
            text-decoration: none;
            text-transform: none;
            text-shadow: none;
            white-space: normal;
            box-shadow: none;
            box-sizing: border-box;

            &:hover {
                background: #b7dce1;
            }
        }
    }

    a:focus-visible,
    button:focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    .djcat-dialog {
        width: 1100px;
        max-width: calc(100% - 32px);
        height: 800px;
        max-height: calc(100dvh - 32px);
        margin: auto;
        padding: 0;
        overflow: hidden;
        border: 1px solid #B7DCE1;
        border-radius: 24px;
        background: #FFFFFF;
        color: #062930;
        box-shadow: 0 24px 80px rgb(6 41 48 / 24%);
        box-sizing: border-box;

        &[open] {
            display: flex;
            flex-direction: column;
        }

        &::backdrop {
            background: rgb(6 41 48 / 65%);
        }

        > form {
            display: flex;
            flex-shrink: 0;
            justify-content: flex-end;
            margin: 0;
            padding: 12px 16px;
            border-bottom: 1px solid #B7DCE1;
            background: #F5F5F2;

            > button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 44px;
                margin: 0;
                padding: 0;
                border: 1px solid #B7DCE1;
                border-radius: 50%;
                background: #FFFFFF;
                color: #062930;
                font: inherit;
                font-size: 28px;
                line-height: 1;
                cursor: pointer;

                &:hover {
                    background: #B7DCE1;
                }
            }
        }

        > iframe {
            display: block;
            flex: 1;
            width: 100%;
            min-height: 0;
            border: 0;
            background: #FFFFFF;
        }
    }

    @media screen and (max-width: 1400px) {
        .djcat-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media screen and (max-width: 959px) {
        .djcat-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media screen and (max-width: 599px) {
        .djcat-grid {
            grid-template-columns: minmax(0, 1fr);
            gap: 16px;
        }

        .djcat-card {
            padding: 20px;
            border-radius: 18px;

            > h3 {
                font-size: 20px;
            }

            > .readmore {
                width: 100%;
            }
        }

        .djcat-dialog {
            border-radius: 18px;
        }
    }
}

/* ========== 31. Very simple gallery ========== */
.vsig {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 24px 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;

    > .vsig_top,
    > .vsig_cont,
    .vsig_thumb {
        float: none;
        width: auto;
        min-width: 0;
        height: auto;
        margin: 0;
        padding: 0;
        border: 0;
        box-sizing: border-box;
    }

    > .vsig_top {
        grid-column: 1 / -1;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        border-radius: 24px;
        background: #F5F5F2;

        > img {
            display: block;
            width: 100%;
            max-width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            border: 0;
            object-fit: contain;
        }
    }

    .vsig_thumb > a {
        display: block;
        overflow: hidden;
        padding: 2px;
        border: 2px solid transparent;
        border-radius: 12px;
        background: #F5F5F2;
        box-sizing: border-box;
        transition: border-color 160ms ease;

        > img {
            display: block;
            width: 100%;
            max-width: 100%;
            height: auto;
            aspect-ratio: 1;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 8px;
            object-fit: cover;
        }

        &:hover,
        &:focus-visible {
            border-color: #F8AB10;
        }

        &:focus-visible {
            outline: 2px solid #062930;
            outline-offset: 3px;
        }
    }

    @media screen and (max-width: 959px) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    @media screen and (max-width: 599px) {
        gap: 8px;

        > .vsig_top {
            border-radius: 18px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vsig_thumb > a {
            transition: none;
        }
    }
}

/* ========== 32. DJ Login ========== */
.com-users-login {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 32px;
    border-radius: 24px;
    background: #F5F5F2;
    color: #062930;
    box-sizing: border-box;

    > .com-users-login__form {
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;

        > fieldset {
            display: grid;
            gap: 20px;
            min-width: 0;
            margin: 0;
            padding: 0;
            border: 0;
        }
    }

    .control-group,
    .controls {
        display: block;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .control-label {
        float: none;
        width: auto;
        margin: 0 0 8px;
        padding: 0;
        text-align: left;

        > label {
            display: block;
            margin: 0;
            color: #062930;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.5;

            &.invalid {
                color: #B42318;
            }
        }
    }

    .star,
    .form-control-feedback {
        color: #B42318;
    }

    .form-control-feedback {
        display: block;
        margin-top: 4px;
        font-size: 12px;
        font-weight: 400;
        overflow-wrap: anywhere;
    }

    .form-control {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: 50px;
        margin: 0;
        padding: 12px 16px;
        border: 1px solid #B7DCE1;
        border-radius: 12px;
        background-color: #FFFFFF;
        color: #062930;
        font: inherit;
        font-size: 16px;
        line-height: 1.5;
        box-shadow: none;
        box-sizing: border-box;

        &:focus {
            border-color: #062930;
        }

        &.invalid,
        &[aria-invalid="true"] {
            border-color: #B42318;
        }
    }

    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        max-width: 100%;
        min-height: 50px;
        margin: 0;
        padding: 12px 24px;
        border: 1px solid #B7DCE1;
        border-radius: 100px;
        background: #FFFFFF;
        color: #062930;
        font: inherit;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        text-align: center;
        text-transform: none;
        text-shadow: none;
        white-space: normal;
        overflow-wrap: anywhere;
        box-shadow: none;
        cursor: pointer;
        box-sizing: border-box;

        &.btn-primary {
            border-color: transparent;
            background: #F8AB10;
        }

        &:hover:not(:disabled) {
            background: #B7DCE1;
        }

        &:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
    }

    .password-group .input-group {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;

        > .form-control {
            flex: 1;
            border-radius: 12px 0 0 12px;
        }

        > .input-password-toggle {
            flex: 0 0 50px;
            margin: 0 0 0 -1px;
            padding: 0;
            border-radius: 0 12px 12px 0;
        }
    }

    .com-users-login__remember .form-check {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 0;
        padding: 0;

        > .form-check-input {
            appearance: auto;
            flex: 0 0 20px;
            float: none;
            width: 20px;
            height: 20px;
            margin: 2px 0 0;
            background-image: none;
            accent-color: #062930;
            box-shadow: none;
            cursor: pointer;
        }

        > .form-check-label {
            margin: 0;
            font-size: 14px;
            line-height: 24px;
            cursor: pointer;
        }
    }

    .com-users-login__submit .btn {
        width: 100%;
    }

    .com-users-login__submit .plg_system_webauthn_login_button {
        /* Override Bootstrap's w-100 utility. */
        width: auto !important;
        min-height: 32px;
        gap: 6px;
        padding: 4px 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #47676D;
        font-size: 13px;
        font-weight: 400;

        &:hover:not(:disabled) {
            background: transparent;
            color: #062930;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        > svg {
            flex: 0 0 16px;
            width: 16px;
            height: 16px;
            fill: currentColor;
        }
    }

    > .com-users-login__options {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px 20px;
        margin: 24px 0 0;
        padding: 20px 0 0;
        border-top: 1px solid #B7DCE1;

        > a {
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            max-width: 100%;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            color: #062930;
            font-size: 14px;
            line-height: 1.5;
            text-decoration: underline;
            text-underline-offset: 3px;
            overflow-wrap: anywhere;

            &:hover {
                text-decoration-thickness: 2px;
            }
        }
    }

    :is(input, button, a):focus-visible {
        position: relative;
        z-index: 1;
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    @media screen and (max-width: 599px) {
        padding: 24px 20px;
        border-radius: 18px;
    }
}

/* ========== 33. DJ Catalog List ========== */
.djc_page > #djcatalog.djc_list {
    min-width: 0;
    color: #062930;

    > .djc_items {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin: 0;
        padding: 0;
    }

    .djc_item_row {
        /* Let cards flow between the extension's original rows. */
        display: contents;
    }

    :is(.djc_items, .djc_item_row, .djc_item_in)::before,
    :is(.djc_items, .djc_item_row, .djc_item_in)::after {
        display: none;
    }

    .djc_item {
        display: flex;
        float: none !important;
        /* Override the column width written inline by DJ Catalog. */
        width: auto !important;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow-wrap: anywhere;
    }

    .djc_item_bg {
        display: flex;
        flex: 1;
        min-width: 0;
        /* Replace the extension's inline equal-height calculation. */
        height: auto !important;
        margin: 0;
        padding: 24px 16px;
        border: 0;
        border-radius: 24px;
        background: #F5F5F2;
        box-shadow: none;
        box-sizing: border-box;
    }

    .djc_item_in {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .djc_image,
    .djc_title,
    .djc_description,
    .djc_item_info,
    .djc_location,
    .djc_introtext {
        float: none;
        width: auto;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .djc_image > a {
        display: block;
        overflow: hidden;
        border-radius: 16px;
        background: #FFFFFF;

        > img {
            display: block;
            width: 100%;
            max-width: 100%;
            height: auto;
            aspect-ratio: 16 / 10;
            margin: 0;
            padding: 0;
            border: 0;
            object-fit: cover;
            box-shadow: none;
        }
    }

    .djc_title > h3 {
        margin: 0;
        padding: 0;
        color: #062930;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.3;
    }

    .djc_description {
        font-size: 14px;
        line-height: 1.7;

        p {
            margin: 0;
        }
    }

    .djc_introtext > p:not(:empty) {
        margin-top: 14px;
    }

    .djc_introtext > p:empty {
        display: none;
    }

    .djc_title a,
    .djc_description a {
        color: #062930;
        text-decoration: none;

        &:hover {
            text-decoration: underline;
            text-underline-offset: 3px;
        }
    }

    a:focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    @media screen and (max-width: 1400px) {
        > .djc_items {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media screen and (max-width: 599px) {
        > .djc_items {
            grid-template-columns: minmax(0, 1fr);
            gap: 16px;
        }

        .djc_item_bg {
            padding: 20px;
            border-radius: 18px;
        }
    }
}

/* UIkit can move these modals outside the catalog container. */
.uk-modal[id^="djc-modal-"] {
    padding: 24px;
    background: rgb(6 41 48 / 65%);

    > .uk-modal-dialog {
        display: flex;
        flex-direction: column;
        width: 1100px;
        max-width: 100%;
        max-height: calc(100dvh - 48px);
        padding: 64px 24px 24px;
        border-radius: 24px;
        background: #FFFFFF;
        color: #062930;
        box-sizing: border-box;

        > iframe {
            display: block;
            flex: 1 1 auto;
            min-height: 0;
        }

        > .uk-margin-top {
            flex-shrink: 0;
        }
    }

    .uk-modal-close-default {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        top: 12px;
        right: 12px;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #F5F5F2;
        color: #062930;

        &:hover {
            background: #B7DCE1;
        }
    }

    .uk-button-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        max-width: 100%;
        min-height: 48px;
        padding: 12px 24px;
        border: 1px solid transparent;
        border-radius: 100px;
        background: #F8AB10;
        color: #062930;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.5;
        text-decoration: none;
        text-transform: none;
        white-space: normal;
        box-sizing: border-box;

        &:hover {
            background: #B7DCE1;
        }
    }

    :is(a, button):focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    @media screen and (max-width: 599px) {
        padding: 16px;

        > .uk-modal-dialog {
            max-height: calc(100dvh - 32px);
            padding: 64px 16px 16px;
            border-radius: 18px;
        }
    }
}

/* ========== 34. Menu - Operatori ========== */
.dj-menu-operatori {
    width: fit-content;
    margin-left: auto;
    .uk-parent {
        position: relative;

        >a {
            margin: 0;
            border: none;
            overflow: visible;
            font: inherit;
            color: inherit;
            -webkit-appearance: none;
            border-radius: 0;
            display: inline-block;
            box-sizing: border-box;
            padding: 0 32px;
            vertical-align: middle;
            font-size: 16px;
            line-height: 48px;
            text-align: center;
            text-decoration: none;
            transition: .2s ease-in-out;
            transition-property: color, background-color, background-position, background-size, border-color, box-shadow;
            font-weight: 500;
            text-transform: none;
            letter-spacing: .5px;
            border-radius: 500px;
            background-origin: border-box;
            background-color: transparent;
            color: #000;
            border: 1px solid #f8ab10;
        }
    }

    @media screen and (min-width: 960px) {

        .uk-parent {
            > .uk-nav-sub {
                display: none;
                position: absolute;
                top: calc(100% + 8px);
                right: 0;
                z-index: 1020;
                width: 240px;
                max-width: calc(100vw - 32px);
                margin: 0;
                padding: 8px;
                list-style: none;
                border: 1px solid rgb(6 41 48 / 10%);
                border-radius: 16px;
                background: #FFFFFF;
                box-shadow: 0 16px 48px rgb(6 41 48 / 16%);
                box-sizing: border-box;

                /* Keep the menu open while crossing the gap below the button. */
                &::before {
                    content: "";
                    position: absolute;
                    top: -9px;
                    right: -1px;
                    left: -1px;
                    height: 9px;
                }

                > li > a {
                    display: block;
                    padding: 10px 12px;
                    border-radius: 8px;
                    color: #062930;
                    font-size: 14px;
                    font-weight: 500;
                    line-height: 1.5;
                    text-align: left;
                    text-decoration: none;
                    white-space: normal;
                    overflow-wrap: anywhere;
                    transition: background-color .2s ease-in-out;

                    &:hover,
                    &:focus-visible {
                        background-color: #F8AB10;
                    }

                    &:focus-visible {
                        outline: 2px solid #062930;
                        outline-offset: -2px;
                    }
                }
            }

            &:hover > .uk-nav-sub,
            &:focus-within > .uk-nav-sub {
                display: block !important;
            }

            &:hover > a,
            &:focus-within > a {
                background-color: #f8ab10;
            }
        }
        
    }

}


/* ========== 35. Menu - Dialog Mobile ========== */
.uk-offcanvas-bar {
    .uk-grid {
        >div:last-of-type {
            order: -1;
            margin-bottom: -2px;
            padding-bottom: 8px;
        }
    }
}

/* ========== 36. Cookies Bar ========== */
.cc-grower:has(> .cc-window.cc-banner.cc-static:not(.cc-invisible)) {
    /* Let the visible banner resize; the plugin still collapses it on close. */
    max-height: none !important;
}

.cc-window.cc-banner.cc-static {
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 24px;
    padding: 18px clamp(20px, 4vw, 64px);
    border-bottom: 1px solid #B7DCE1;
    background: #F5F5F2;
    color: #062930;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;

    .cc-message {
        flex: 1 1 auto;
        min-width: 0;
        max-height: none;
        margin: 0;
        overflow: visible;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .cc-message-text {
        display: block;
        margin-bottom: 4px;

        strong {
            font-weight: 500;
        }
    }

    a.cc-link {
        margin: 0 16px 0 0;
        padding: 2px 0;
        color: #062930;
        font-size: 13px;
        line-height: 1.5;
        text-decoration: underline;
        text-underline-offset: 3px;
        opacity: 1;

        &:hover {
            text-decoration-thickness: 2px;
        }
    }

    .cc-compliance {
        flex: 0 0 auto;
        margin: 0;
    }

    .cc-compliance-list {
        align-items: stretch;
        gap: 10px;

        > li {
            margin: 0;
            padding: 0;
        }
    }

    .cc-compliance a.cc-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        height: 100%;
        margin: 0;
        padding: 12px 24px;
        border: 1px solid #062930;
        border-radius: 100px;
        background: transparent;
        color: #062930;
        font: inherit;
        font-weight: 500;
        line-height: 1.5;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
        box-sizing: border-box;
        transition: background-color .2s ease-in-out, border-color .2s ease-in-out;

        &.cc-allow {
            border-color: #F8AB10;
            background: #F8AB10;
        }

        &:hover {
            border-color: #B7DCE1;
            background: #B7DCE1;
            color: #062930;
        }
    }

    a:focus-visible {
        outline: 2px solid #062930;
        outline-offset: 3px;
    }

    @media screen and (max-width: 959px) {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;

        .cc-compliance {
            flex: 0 0 auto;
            align-self: flex-start;
        }
    }

    @media screen and (max-width: 599px) {
        padding: 20px;

        .cc-compliance {
            align-self: stretch;
        }

        .cc-compliance a.cc-btn {
            padding: 12px 16px;
            white-space: normal;
        }
    }
}
/* WCAG */
/* Mugello: targeted contrast fixes. Append after the existing custom CSS. */

/* 404: Home page button, including interactive states. */
#tm-main .uk-section[uk-height-viewport] a.uk-button-primary[href="/index.php"],
#tm-main .uk-section[uk-height-viewport] a.uk-button-primary[href="/index.php"]:hover,
#tm-main .uk-section[uk-height-viewport] a.uk-button-primary[href="/index.php"]:focus-visible,
#tm-main .uk-section[uk-height-viewport] a.uk-button-primary[href="/index.php"]:active {
    background-color: #00893f;
    background-image: none;
    color: #ffffff;
    border-color: #00893f;
}

/* Itinerary accordion: green text on an explicitly white background. */
.dj-accordions .uk-accordion-title:hover,
.dj-accordions .uk-accordion-title:focus-visible {
    color: #00893f;
    background-color: #ffffff;
    background-image: none;
}

/* Listing form: the existing hover rule kept navy text on green. */
.dj-room-form .uk-button:hover,
.dj-room-form .uk-button:focus-visible,
.dj-room-form .uk-button:active {
    background-color: #00893f;
    background-image: none;
    color: #ffffff;
    border-color: #00893f;
}

/* Visible keyboard focus; keep it separate from hover colour. */
#tm-main .uk-section[uk-height-viewport] a.uk-button-primary[href="/index.php"]:focus-visible,
.dj-accordions .uk-accordion-title:focus-visible,
.dj-room-form .uk-button:focus-visible {
    outline: 2px solid #062930;
    outline-offset: 3px;
}
.dj-newsletter input[name="user[email]"]::placeholder {
    color: #456168;
    opacity: 1;
}
/* Pola formularzy — obramowanie na białym tle */
:where(
    input.uk-input,
    textarea.uk-textarea,
    select.uk-select,
    input.form-control,
    textarea.form-control,
    select.form-select
):not(:focus):not(:disabled):not(.invalid):not(.is-invalid):not([aria-invalid="true"]) {
    border-color: #7699a0;
}

/* Newsletter i filtry noclegów — jasnoniebieskie tło */
.dj-newsletter input[name="user[email]"]:not(:focus):not(:disabled):not([aria-invalid="true"]),
form[id^="form_search"] select:not(:focus):not(:disabled):not([aria-invalid="true"]) {
    border-color: #5b7e85;
}
/* Widoczny fokus klawiatury: formularze IT i EN */
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
a.uk-button:focus-visible,
a.btn:focus-visible {
    outline: 3px solid #062930 !important;
    outline-offset: 3px !important;
}
/* DJ-Classifieds Search — fokus na IT i EN */
form[id^="form_search"] .search_buttons button[type="submit"]:focus,
form[id^="form_search"] .search_buttons button[type="submit"]:focus-visible {
    outline: 3px solid #062930 !important;
    outline-offset: 3px !important;

    /* Wewnętrzna obwódka pozostaje widoczna także przy overflow:hidden. */
    box-shadow: inset 0 0 0 3px #062930 !important;
}
/* Przycisk Cerca / Search — formularz 206, IT i EN */
#form_search206 .search_buttons > button.btn.btn-primary:focus {
    outline: 3px solid #062930 !important;
    outline-offset: 4px !important;
    box-shadow: inset 0 0 0 3px #062930 !important;
}
/* WCAG: rzeczywiste obramowania pól — IT i EN */
html body .js-finder-searchform input.uk-search-input,
html body form.djev_search input:not([type="hidden"]):not([type="submit"]):not([type="button"]),
html body form.djev_search select,
html body form[id^="form_search"] select,
html body .dj-newsletter input[name="user[email]"],
html body #askForm input[name="ask_name"],
html body #askForm input[name="ask_email"],
html body #askForm textarea,
html body #askForm input[name="privacy_policy"] {
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #5b7e85 !important;
    box-sizing: border-box;
}

/* Błędy formularza zachowują osobny kolor obramowania */
html body #askForm :is(input, textarea).invalid,
html body #askForm :is(input, textarea)[aria-invalid="true"],
html body .dj-newsletter input[name="user[email]"][aria-invalid="true"] {
    border-color: #8b1616 !important;
}/* Strzałki galerii: kontrast także na hover i po kliknięciu */
.dj-slideshow a.el-slidenav,
.dj-slideshow a.el-slidenav:hover,
.dj-slideshow a.el-slidenav:focus,
.dj-slideshow a.el-slidenav:active {
    color: #062930 !important;
    background-color: #ffffff !important;
}

/* Widoczny fokus klawiatury */
.dj-slideshow a.el-slidenav:focus-visible {
    outline: 3px solid #062930 !important;
    outline-offset: 3px !important;
}
/* Newsletter IT/EN: widoczna ramka także bez fokusu */
html body .dj-newsletter input[name="user[email]"] {
    border: 2px solid #062930 !important;
    box-sizing: border-box;
}

/* Zachowanie widocznego fokusu klawiatury */
html body .dj-newsletter input[name="user[email]"]:focus-visible {
    outline: 3px solid #062930 !important;
    outline-offset: 3px !important;
}
/* Ospitalità / Accommodation: Località, Categoria, Tipo */
html body #form_search206 select#se206_reg_0,
html body #form_search206 select#se206_cat_0,
html body #form_search206 select#se_type_id206 {
    border: 2px solid #062930 !important;
    box-sizing: border-box;
}

/* Widoczny fokus klawiatury */
html body #form_search206 select:focus-visible {
    outline: 3px solid #062930 !important;
    outline-offset: 3px !important;
}