/**
 * Hotels Theme Bold — Global overrides.
 * Dark header/footer, sharp buttons, geometric typography, border-hover cards.
 */

/* ─── Typography ─── */
h1, h2, h3, h4, h5, h6,
.hotel-section-title,
.bold-section-title {
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* ─── Images — sharp corners ─── */
img,
.hotel-card img,
.country-card img,
.blog-card img {
    border-radius: 0 !important;
}

/* ─── Buttons — sharp, uppercase ─── */
.btn-primary,
.bold-btn,
.btn-secondary,
.bold-btn-outline,
button[type="submit"],
input[type="submit"],
.wpcf7-submit {
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.85rem;
    transition: all var(--theme-transition);
}

.btn-primary,
.bold-btn {
    background: var(--theme-accent);
    color: #fff;
    border: 2px solid var(--theme-accent);
    padding: 0.75rem 1.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-primary:hover,
.bold-btn:hover {
    background: var(--theme-accent-light);
    border-color: var(--theme-accent-light);
    color: #fff;
}

.btn-secondary,
.bold-btn-outline {
    background: transparent;
    color: var(--theme-accent);
    border: 2px solid var(--theme-accent);
    padding: 0.75rem 1.5rem;
}

.btn-secondary:hover,
.bold-btn-outline:hover {
    background: var(--theme-accent);
    color: #fff;
}

/* ─── Dark top bar ─── */
.top-bar {
    background-color: var(--theme-primary-dark);
    color: rgba(255,255,255,0.6);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.top-bar a {
    color: rgba(255,255,255,0.6);
}

.top-bar a:hover {
    color: var(--theme-accent-light);
}

/* ─── Dark header ─── */
.bold-header {
    background: var(--theme-primary);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.bold-header .site-title {
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.01em;
}

.bold-header .bold-nav ul {
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.bold-header .bold-nav a {
    color: rgba(255,255,255,0.8);
    font-family: var(--font-nav);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    transition: color var(--theme-transition-fast);
}

.bold-header .bold-nav a:hover,
.bold-header .bold-nav .current-menu-item > a {
    color: #fff;
}

.bold-header .bold-cta-btn {
    background: var(--theme-accent);
    color: #fff;
    padding: 0.6rem 1.25rem;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 2px solid var(--theme-accent);
    transition: all var(--theme-transition);
}

.bold-header .bold-cta-btn:hover {
    background: transparent;
    color: var(--theme-accent-light);
    border-color: var(--theme-accent-light);
}

.bold-header .bold-search-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}

/* Hide parent theme's search toggle in menu — bold uses its own */
.bold-header .menu-item-search {
    display: none !important;
}

.bold-header .bold-search-btn:hover {
    color: #fff;
}

/* ─── Dark dropdown menu (submenu) ─── */
.bold-header .menu .submenu {
    display: none; /* Override .bold-nav ul{display:flex} which has lower specificity (0,2,1 < 0,3,0) */
    background-color: var(--theme-primary);
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255,255,255,0.1);
}

.bold-header .menu .submenu li a {
    color: rgba(255,255,255,0.8);
    padding: 0.5rem 0;
    transition: color var(--theme-transition-fast);
}

.bold-header .menu .submenu li a:hover {
    color: #fff;
}

/* Burger menu */
.bold-header .burger-menu span {
    background: #fff;
}

/* ─── Dark footer ─── */
.bold-footer {
    position: relative;
    background: var(--theme-primary);
    color: rgba(255,255,255,0.75);
    border-top: 2px solid var(--theme-accent);
    padding: 3rem 0 1.2rem;
}

.bold-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(
        to right,
        rgba(59, 130, 246, 0.16) 0%,
        rgba(59, 130, 246, 0.06) 22%,
        rgba(59, 130, 246, 0.02) 50%,
        rgba(59, 130, 246, 0) 100%
    );
}

.bold-footer-inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.25rem;
}

/* Grid: 4 columns — Brand | Menu1 | Menu2 | Contact */
.bold-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
    gap: 2.5rem;
}

/* Column 1: Brand */
.bold-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bold-footer-logo img {
    width: 100px;
    height: 100px;
    border: 1px solid rgba(59, 130, 246, 0.45);
}

.bold-footer-site-name {
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
}

.bold-footer-description {
    color: rgba(255,255,255,0.65);
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}

/* Columns 2 & 3 */
.bold-footer-column-title {
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 1.25rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px solid var(--theme-accent);
    display: inline-block;
}

/* Column 2: Menu links */
.bold-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.bold-footer-menu li {
    margin: 0;
}

.bold-footer-menu a {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    text-decoration: none;
    transition: color var(--theme-transition-fast);
}

.bold-footer-menu a:hover {
    color: var(--theme-accent-light);
}

/* Column 3: Contact items */
.bold-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    margin-bottom: 1.25rem;
}

.bold-footer-contact-item:last-child {
    margin-bottom: 0;
}

.bold-footer-contact-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--theme-accent);
    color: #fff;
}

.bold-footer-contact-icon svg {
    stroke: #fff;
}

.bold-footer-contact-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding-top: 0.15rem;
}

.bold-footer-contact-label {
    font-size: 0.72rem;
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.6);
    font-weight: 600;
}

.bold-footer-contact-value {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color var(--theme-transition-fast);
}

a.bold-footer-contact-value:hover {
    color: var(--theme-accent-light);
}

/* Divider */
.bold-footer-divider {
    border-top: 1px solid rgba(255,255,255,0.12);
    margin: 2rem 0 1rem;
}

/* Bottom bar */
.bold-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
}

.bold-footer-copyright {
    font-size: 0.73rem;
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: rgba(255,255,255,0.6);
}

.bold-footer-social {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.bold-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.05rem;
    height: 2.05rem;
    border: 1px solid rgba(255,255,255,0.35);
    color: rgba(255,255,255,0.8);
    transition: border-color var(--theme-transition-fast), color var(--theme-transition-fast), background var(--theme-transition-fast);
}

.bold-footer-social a:hover {
    border-color: var(--theme-accent);
    color: var(--theme-accent);
    background: rgba(59, 130, 246, 0.12);
}

/* ─── Cards — border hover ─── */
.hotel-card,
.country-card,
.blog-card {
    border: 1px solid var(--theme-border);
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: border-color var(--theme-transition);
}

.hotel-card:hover,
.country-card:hover,
.blog-card:hover {
    border-color: var(--theme-accent);
    box-shadow: none !important;
    transform: none !important;
}

/* ─── Hotel page sections ─── */
.bold-section-title {
    font-size: 1.75rem;
    color: var(--theme-text-dark);
    position: relative;
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem;
}

.bold-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3rem;
    height: 3px;
    background: var(--theme-accent);
}

/* ─── Quick info bar ─── */
.bold-quick-bar {
    background: var(--theme-primary);
    color: #fff;
    border-bottom: 3px solid var(--theme-accent);
}

.bold-quick-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.25rem 0;
}

.bold-quick-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.bold-quick-title {
    font-size: 1.5rem;
    margin: 0;
    color: #fff;
}

.bold-quick-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    font-weight: 700;
    font-size: 0.9rem;
}

.bold-quick-badge.high {
    background: var(--theme-green);
    color: #fff;
}

.bold-quick-badge.medium {
    background: var(--theme-yellow);
    color: #1e1e2e;
}

.bold-quick-badge small {
    font-weight: 400;
    font-size: 0.75rem;
    opacity: 0.9;
}

.bold-quick-location {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
}

.bold-quick-actions {
    display: flex;
    gap: 0.75rem;
}

.bold-quick-actions .bold-btn {
    padding: 0.6rem 1.5rem;
}

.bold-quick-actions .bold-btn-outline {
    color: #fff;
    border-color: rgba(255,255,255,0.3);
    padding: 0.6rem 1.25rem;
    font-size: 0.85rem;
}

.bold-quick-actions .bold-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    color: #fff;
}

/* ─── Section title override on hotel page ─── */
.hotel-section .bold-section-title {
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
}

/* ─── Search overlay ─── */
.bold-header .header-search-overlay {
    background: none;
}

.bold-header .header-search-form {
    border-radius: 0;
    border: 1px solid rgba(255,255,255,0.5); /* was 0.25 — WCAG 1.4.11 form control contrast */
}

.bold-header .header-search-input {
    background: rgba(255,255,255,0.38); /* was 0.1 (1.36:1) — WCAG 1.4.11: 3.24:1 vs #1e1e2e ✓ */
    border: none;
    color: #fff;
    border-radius: 0;
}

.bold-header .header-search-input::placeholder {
    color: rgba(255,255,255,0.6);
}

.bold-header .header-search-submit {
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-family: var(--font-heading);
    background: var(--theme-accent);
    color: #fff;
}

.bold-header .header-search-submit:hover {
    background: var(--theme-accent-light);
    color: #fff;
}

.bold-header .search-close {
    color: rgba(255,255,255,0.7);
    font-size: 1.75rem;
}

.bold-header .search-close:hover {
    color: #fff;
}

/* ─── Review scores ─── */
.bold-score-card {
    background: var(--theme-accent);
    color: #fff;
    padding: 0.75rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.bold-score-number {
    font-size: 2rem;
    font-weight: 700;
    font-family: var(--font-heading);
    line-height: 1;
}

/* ─── Breadcrumbs — bold theme ─── */
.breadcrumbs {
    background: var(--theme-primary-dark, #16162a);
    border-top: none;
    border-bottom: 2px solid var(--theme-accent);
    padding: 0.6rem 0;
    font-size: 0.8rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem;
    font-family: var(--font-nav);
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcrumbs ol li {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    line-height: 1.3;
}

.breadcrumbs a,
.breadcrumbs ol li a {
    color: rgba(255, 255, 255, 0.65); /* override parent #4f5965 — 7.4:1 on #13131f ✓ */
    text-decoration: none;
    transition: color var(--theme-transition-fast);
}

.breadcrumbs a:hover,
.breadcrumbs ol li a:hover {
    color: var(--theme-accent-light);
}

.breadcrumbs li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid rgba(59, 130, 246, 0.5);
    border-top: 1.5px solid rgba(59, 130, 246, 0.5);
    transform: rotate(45deg);
    margin: 0 0.4rem;
    flex-shrink: 0;
}

.breadcrumbs li:last-child {
    color: #fff;
    font-weight: 600;
    font-family: var(--font-nav);
}

.breadcrumbs li:last-child span[aria-current] {
    color: #fff;
}

/* ─── Pagination — global sharp ─── */
.pagination a,
.pagination span,
.page-numbers {
    border-radius: 0 !important;
}

.pagination a:hover {
    transform: none !important;
}

.pagination .current {
    background: var(--theme-accent) !important;
    color: #fff !important;
    border-color: var(--theme-accent) !important;
}

.pagination .prev,
.pagination .next {
    border-radius: 0 !important;
}

/* ─── Star ratings — accent color ─── */
.hotel-stars .star-full,
.hotel-stars svg,
.star-rating svg {
    color: var(--theme-accent);
    fill: var(--theme-accent);
}

/* ─── General links ─── */
a {
    color: var(--theme-accent);
}

.bold-page a:not(.bold-btn):not(.bold-btn-outline):not(.bold-cta-btn):not([class*="nav"]):not([class*="footer"]) {
    transition: color var(--theme-transition-fast);
}

/* ─── Quick bar — parent override ─── */
.hotel-quick-bar {
    background: var(--theme-primary) !important;
    border-bottom: 3px solid var(--theme-accent);
    box-shadow: none !important;
}

.hotel-quick-bar.scrolled {
    box-shadow: none !important;
}

.quick-bar-title {
    font-family: var(--font-heading) !important;
    color: #fff;
}

.quick-bar-inner {
    color: #fff;
}

.quick-bar-item {
    color: rgba(255,255,255,0.7);
}

/* ─── Section alternating backgrounds ─── */
.hotel-section:nth-child(even) {
    background: var(--theme-bg-light);
}

/* ─── Overview sidebar + highlights — sharp ─── */
.overview-highlights,
.sidebar-rules {
    border-radius: 0 !important;
}

.overview-highlights h3,
.sidebar-rules h3 {
    font-family: var(--font-heading) !important;
}

.highlight-icon {
    border-radius: 0 !important;
}

.sidebar-rules li::before {
    border-radius: 0 !important;
    background: var(--theme-accent) !important;
}

/* ─── Review cards (parent slider) — sharp ─── */
.review-card {
    border-radius: 0 !important;
}

.review-card:hover {
    box-shadow: none !important;
}

.review-avatar {
    border-radius: 0 !important;
}

.review-score {
    border-radius: 0 !important;
}

.reviews-nav button {
    border-radius: 0 !important;
}

/* ─── Surroundings — sharp ─── */
.surr-category {
    border-radius: 0 !important;
}

/* ─── Rules grid — sharp ─── */
.rule-card {
    border-radius: 0 !important;
}

/* ─── Contact info card — sharp ─── */
.contact-info-card {
    border-radius: 0 !important;
}

.contact-info-card h3 {
    font-family: var(--font-heading) !important;
}

.contact-info-icon {
    border-radius: 0 !important;
    background: var(--theme-accent) !important;
}

/* ─── WP admin bar spacing ─── */
.admin-bar .bold-header {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .bold-header {
        top: 46px;
    }
}

/* ─── Mobile ─── */
@media (max-width: 768px) {

    /* Hide nav by default on mobile */
    .bold-header .bold-nav {
        display: none;
    }

    /* Hide header actions (search btn, phone CTA) on mobile */
    .bold-header .bold-actions {
        display: none !important;
    }

    /* ─── Mobile menu: open state ─── */
    body.menu-opened .bold-header .bold-nav {
        display: block;
        position: fixed;
        top: var(--mobile-menu-top, 58px);
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1002;
        background: var(--theme-primary);
        overflow-x: hidden;
        overflow-y: auto;
    }

    /* Keep header dark when menu is open (override parent white) */
    .menu-opened .bold-header {
        background: var(--theme-primary);
    }

    /* Burger opened — accent background */
    .menu-opened .bold-header .burger-menu {
        background: var(--theme-accent);
    }

    /* Menu list layout */
    body.menu-opened .bold-nav ul {
        display: flex;
        flex-direction: column;
        gap: 0; /* Reset desktop gap:2rem so items have uniform height */
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.menu-opened .bold-nav li {
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    body.menu-opened .bold-nav li a {
        display: block;
        text-align: center;
        padding: 1rem 1.5rem;
        font-size: 1rem;
        font-weight: 500;
        color: rgba(255,255,255,0.85);
        text-decoration: none;
    }

    body.menu-opened .bold-nav li a:hover {
        color: var(--theme-accent-light);
    }

    body.menu-opened .bold-nav li.current-menu-item > a,
    body.menu-opened .bold-nav li.current_page_item > a {
        color: #fff;
        font-weight: 700;
    }

    /* Submenu accordion — selectors include .bold-header (specificity 0,4,1) to
       override desktop rules like .bold-header .menu .submenu.level-1 (0,4,0). */
    body.menu-opened .bold-header .bold-nav .submenu,
    body.menu-opened .bold-header .bold-nav .level-1 {
        display: none;
        flex-direction: column;
        position: relative;
        top: unset;
        left: unset;
        width: 100%;
        background: rgba(0,0,0,0.15);
        box-shadow: none;
        border: none;
        padding: 0;
        border-radius: 0;
    }

    body.menu-opened .bold-header .bold-nav li.submenu-open > .submenu,
    body.menu-opened .bold-header .bold-nav li.submenu-open > .level-1 {
        display: flex;
    }

    body.menu-opened .bold-header .bold-nav .submenu li a {
        font-size: 0.9rem;
        color: rgba(255,255,255,0.7);
        padding: 0.75rem 1.5rem;
        text-align: center;
    }

    body.menu-opened .bold-header .bold-nav .submenu li a:hover {
        color: var(--theme-accent-light);
    }

    body.menu-opened .bold-header .bold-nav ul .level-2 {
        display: none;
        flex-direction: column;
        padding: 0;
    }

    body.menu-opened .bold-header .bold-nav li.submenu-open > .level-2 {
        display: flex;
    }

    body.menu-opened .bold-nav span.arrow-down {
        color: rgba(255,255,255,0.5);
        font-size: 0.6em;
        vertical-align: middle;
        margin-left: 0.3em;
    }

    /* Hide search menu item in mobile menu */
    body.menu-opened .bold-nav .menu-item-search {
        display: none;
    }

    /* Mobile phone link */
    body.menu-opened .mobile-menu-phone {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 1rem 1.5rem;
        font-size: 1rem;
        font-weight: 500;
        color: rgba(255,255,255,0.85);
        text-decoration: none;
        border-top: 1px solid rgba(255,255,255,0.1);
    }

    body.menu-opened .mobile-menu-phone svg {
        stroke: var(--theme-accent);
        flex-shrink: 0;
    }

    /* Mobile search */
    body.menu-opened .mobile-menu-search {
        display: block;
    }

    .mobile-search-form.search-visible {
        background-color: rgba(255,255,255,0.05) !important;
        border-top: 1px solid rgba(255,255,255,0.1);
    }

    .bold-theme .mobile-search-input {
        background: rgba(255,255,255,0.38); /* was 0.1 (1.36:1) — WCAG 1.4.11: 3.24:1 vs #1e1e2e ✓ */
        color: #fff;
        border-color: rgba(255,255,255,0.5); /* was 0.2 — WCAG 1.4.11 */
        border-radius: 0;
    }

    .bold-theme .mobile-search-input::placeholder {
        color: rgba(255,255,255,0.4);
    }

    .bold-theme .mobile-search-input:focus {
        border-color: var(--theme-accent);
        box-shadow: none;
    }

    .bold-theme .mobile-search-btn {
        color: rgba(255,255,255,0.85);
        border-top-color: rgba(255,255,255,0.1);
    }

    .bold-theme .mobile-search-btn svg {
        stroke: rgba(255,255,255,0.85);
    }

    /* Footer mobile */
    .bold-footer {
        padding: 2rem 0 1rem;
    }

    .bold-footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .bold-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
    }

    .bold-footer-copyright {
        font-size: 0.68rem;
    }

    .bold-footer-social a {
        width: 1.95rem;
        height: 1.95rem;
    }

    .bold-quick-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .bold-quick-info {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ── WCAG 2.2 AA: Focus-visible on dark backgrounds ── */
.bold-header :focus-visible,
.bold-footer :focus-visible,
.bold-quick-bar :focus-visible,
.hotel-quick-bar :focus-visible {
    outline: 3px solid var(--theme-accent);
    outline-offset: 2px;
}

.bold-header :focus:not(:focus-visible),
.bold-footer :focus:not(:focus-visible),
.bold-quick-bar :focus:not(:focus-visible),
.hotel-quick-bar :focus:not(:focus-visible) {
    outline: none;
}

/* Footer 1 menu — two columns when 5+ items */
.bold-footer-menu--two-col {
    display: block;      /* override flex from .bold-footer-menu */
    column-count: 2;
    column-gap: 1.5rem;
}

.bold-footer-menu--two-col li {
    margin-bottom: 0.6rem;  /* replaces flex gap */
    break-inside: avoid;
}

@media (max-width: 480px) {
    .bold-footer-menu--two-col {
        column-count: 1;
    }
}

/* ─── Dropdown submenu: vertical list (override parent row layout) ─── */
.bold-header .menu .submenu.level-1 {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    width: 200px;
    padding: 0.5rem 0;
}

.bold-header .menu li:hover > .level-1 > li {
    flex: none;
    width: 100%;
}

.bold-header .menu .submenu li a {
    display: block;
    padding: 0.6rem 1.25rem;
    color: rgba(255,255,255,0.8);
    font-size: 0.875rem;
    transition: color var(--theme-transition-fast),
                background var(--theme-transition-fast);
}

.bold-header .menu .submenu li a:hover {
    color: #fff;
    background: rgba(255,255,255,0.07);
}

/* ─── Desktop: disable focus-within dropdown trigger (causes stuck-open bug) ─── */
@media (min-width: 769px) {
    .bold-header .menu li:focus-within > .level-1 {
        display: none;
    }
    .bold-header .menu li:hover > .level-1 {
        display: flex;
    }
}

/* ── Disable JS sticky wrapper in bold theme ──────────────────────────────
   .bold-header is already position:sticky via CSS.
   The JS sticky in general.js (stickyThreshold=40) sets the wrapper to
   position:fixed and injects a .header-spacer div with no background colour
   (inherits white body bg). That spacer creates a white stripe above dark
   hero sections. Nullify both effects here. */
.bold-theme .site-header-wrapper.is-sticky {
    position: relative;
}
.bold-theme .header-spacer {
    display: none !important;
}
