/* All presentation changes stay below the existing mobile breakpoint. */
@media (width < 768px) {
    html.heron-mobile-menu-open { overflow: hidden; }
    .heron-mobile-navigation {
        --ink: #f6f3ed;
        --gold: #b89b5e;
        position: fixed;
        inset: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        height: 100dvh;
        max-height: none;
        margin: 0;
        padding: 0 24px max(24px, env(safe-area-inset-bottom));
        border: 0;
        background: #1f1f1f;
        color: var(--ink);
        font-family: Raleway, sans-serif;
        overflow-y: auto;
        overscroll-behavior: contain;
        scroll-padding-top: 112px;
    }
    .heron-mobile-navigation[open] { display: flex; flex-direction: column; }
    .heron-mobile-navigation nav { flex: 1; }
    .heron-mobile-navigation::backdrop { background: #24242480; }
    .heron-mobile-navigation__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 96px;
        position: sticky;
        top: 0;
        z-index: 2;
        flex-shrink: 0;
        margin: 0 0 16px;
        padding: max(16px, env(safe-area-inset-top)) 0 16px;
        border-bottom: 1px solid #ffffff24;
        background: #1f1f1f;
    }
    .heron-mobile-navigation__brand { display: block; width: 112px; height: 56px; overflow: hidden; }
    .heron-mobile-navigation__brand img { display: block; width: 112px !important; height: 112px !important; max-width: none; transform: translateY(-25%); }
    .heron-mobile-navigation button {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
    }
    .heron-mobile-navigation .heron-mobile-navigation__close { position: relative; width: auto; padding-left: 32px; color: #fff; font: 500 15px/1.3 Raleway, sans-serif; text-transform: none; }
    .heron-mobile-navigation__close::before, .heron-mobile-navigation__close::after { content: ''; position: absolute; left: 4px; width: 18px; height: 1.5px; background: currentColor; transform: rotate(45deg); }
    .heron-mobile-navigation__close::after { transform: rotate(-45deg); }
    .heron-mobile-navigation ul { display: block; margin: 0; padding: 0; list-style: none; }
    .heron-mobile-navigation li { position: relative; margin: 0; padding: 0; }
    .heron-mobile-navigation li::before, .heron-mobile-navigation a::after { content: none; }
    .heron-mobile-navigation nav a {
        display: block;
        padding: 12px;
        color: var(--ink);
        font-size: clamp(22px, 5.7vw, 26px);
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: 0;
        text-transform: none;
        text-decoration: none;
        overflow-wrap: break-word;
    }
    .heron-mobile-navigation .has-children > a { padding-right: 52px; }
    .heron-mobile-navigation nav a[aria-current="page"] { color: var(--gold); background: #ffffff09; }
    .heron-mobile-navigation .heron-mobile-navigation__expand { position: absolute; right: 0; top: 8px; color: var(--gold); }
    .heron-mobile-navigation__expand::before { content: ''; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
    .heron-mobile-navigation__expand[aria-expanded="true"]::before { transform: translateY(2px) rotate(225deg); }
    .heron-mobile-navigation ul ul { margin: 0 0 12px 12px; padding-left: 16px; border-left: 1px solid #b89b5e80; }
    .heron-mobile-navigation ul[hidden] { display: none; }
    .heron-mobile-navigation ul ul li { border-bottom: 0; }
    .heron-mobile-navigation ul ul a { padding-block: 10px; font-size: 16px; }
    .heron-mobile-navigation ul ul .heron-mobile-navigation__expand { top: 0; }
    .heron-mobile-navigation__call { display: flex; flex-shrink: 0; flex-direction: column; gap: 12px; margin-top: 24px; padding: 20px 0 0; border-top: 1px solid #ffffff24; color: var(--ink); text-decoration: none; }
    .heron-mobile-navigation__call span { font-size: 13px; line-height: 1.5; color: #d3cab8; }
    .heron-mobile-navigation__call strong { padding: 14px 20px; background: var(--gold); color: #1f1f1f; text-align: center; font-size: 22px; line-height: 1.4; font-weight: 600; }
    .heron-mobile-navigation :is(a, button):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
    .heron-mobile-navigation nav a:hover { color: var(--gold); }
    @media (min-width: 600px) { .heron-mobile-navigation { padding-inline: max(40px, calc((100vw - 640px) / 2)); } }

    body.bb-header-refresh :is(.sticky-zadzwon, .scrollup) {
        position: fixed !important;
        box-sizing: border-box;
        width: 44px !important;
        height: 44px !important;
        bottom: calc(var(--heron-mobile-controls-bottom, 100px) + env(safe-area-inset-bottom)) !important;
        left: auto !important;
        right: calc(16px + env(safe-area-inset-right)) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #ffffffb3 !important;
        border-radius: 50% !important;
        background: #94783f !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 44px !important;
        transform: none !important;
        box-shadow: 0 3px 12px #0003;
        z-index: 1000002 !important;
    }
    body.bb-header-refresh .sticky-zadzwon { display: grid !important; place-items: center; text-align: center; left: calc(16px + env(safe-area-inset-left)) !important; right: auto !important; bottom: calc(var(--heron-mobile-controls-bottom, 100px) + 60px + env(safe-area-inset-bottom)) !important; }
    body.bb-header-refresh .scrollup[data-heron-mobile-backtop] { display: block !important; opacity: 1 !important; visibility: hidden; pointer-events: none; }
    body.bb-header-refresh .scrollup[data-heron-mobile-backtop="visible"] { visibility: visible; pointer-events: auto; }
    body.bb-header-refresh .scrollup::before { content: ''; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translate(-50%, -25%) rotate(-45deg); }
    html.heron-mobile-menu-open body :is(.sticky-zadzwon, .scrollup, #bb-asystent-ai-widget, .heron-reviews-context) { visibility: hidden !important; pointer-events: none !important; }
    body[data-heron-mobile-reviews-open] :is(.sticky-zadzwon, .scrollup, #bb-asystent-ai-widget),
    body:has(#bb-asystent-ai-window.bb-ai-show, .bb-ai-consent-modal.bb-ai-show, dialog[open]) :is(.sticky-zadzwon, .scrollup, .heron-reviews-context) { visibility: hidden !important; pointer-events: none !important; }
}
/* Desktop: match the reviewed lower corner control without changing the header. */
@media (width >= 768px) {
    body.bb-header-refresh .scrollup {
        width: 60px;
        height: 60px;
        right: max(24px, env(safe-area-inset-right));
        bottom: max(25px, env(safe-area-inset-bottom)) !important;
        padding: 0;
        border: 1px solid rgb(255 255 255 / 65%);
        border-radius: 50%;
        background: #8b713e !important;
        box-shadow: 0 3px 12px rgb(0 0 0 / 20%);
        transform: none !important;
    }
    body.bb-header-refresh .scrollup::before { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translate(-50%, -25%) rotate(-45deg); }
}
