/* Small bridges so legacy CSS behaves under WordPress + wider modern viewports */

:root {
    --pt-shell: min(1600px, 96vw);
    --pt-shell-tight: min(1320px, 92vw);
}

.admin-bar .goToTop { bottom: 50px; }

.tileBackground {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.tileTint {
    position: absolute;
    inset: 0;
    opacity: 0.15;
    pointer-events: none;
}

.blackHover {
    position: absolute;
    inset: 0;
    background: #000;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.tileContainer:hover .blackHover {
    opacity: 0.25;
}

.menuDv > .menu-item,
.menuDv > li {
    display: contents;
}

/* Widen the original 1024px ASP.NET shell so the site isn't cramped on modern displays */
.footerDv,
.headerTopCenter,
.limitDv,
.limitDvSmaller,
.contentBodyDv,
.woocommerce-pt {
    max-width: var(--pt-shell) !important;
}

.limitDvSmaller {
    max-width: var(--pt-shell-tight) !important;
}

.contentBodyDv {
    margin: 0 auto;
    padding: 28px 24px 72px;
    line-height: 1.65;
}

.woocommerce-pt {
    padding: 20px 24px 60px;
    box-sizing: border-box;
}

/* Homepage mosaic: full-bleed stage (legacy was ~1024px centered and felt cramped) */
.TemplateHolder {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0 0 48px;
    box-sizing: border-box;
}

.headerTopCenter,
.footerDv,
.menuDv {
    max-width: var(--pt-shell) !important;
    margin-left: auto;
    margin-right: auto;
}

/* Keep primary nav on one line on desktop widths */
@media screen and (min-width: 1101px) {
    .menuDv {
        white-space: nowrap;
        overflow-x: auto;
    }

    .menuItem,
    .menuHideItem {
        font-size: 13px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        letter-spacing: 0.02em;
    }
}

@media screen and (min-width: 1101px) {
    .TemplateHolder .dvLocation.uppercasedBoldLine1,
    .TemplateHolder .dvLocation.slide {
        min-height: clamp(560px, 52vw, 780px);
    }

    .TemplateHolder .inlineLocation.mobilePadder {
        min-height: clamp(380px, 32vw, 520px);
    }

    .menuItem,
    .menuHideItem {
        font-size: 15px;
        letter-spacing: 0.04em;
        padding-left: 16px;
        padding-right: 16px;
    }

    .logo {
        max-width: 620px;
        width: 70%;
    }

    .headerDvBottomPart {
        height: auto;
        margin-top: 36px;
        margin-bottom: 12px;
    }
}

@media screen and (min-width: 1600px) {
    .TemplateHolder .dvLocation.uppercasedBoldLine1,
    .TemplateHolder .dvLocation.slide {
        min-height: 820px;
    }
}

.giftRegRepeaterDv {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 28px;
    padding: 24px 0 72px;
}

.giftRegProduct {
    text-align: center;
}

.pt-form-success { color: #166534; margin-bottom: 16px; }
.pt-form-error { color: #b91c1c; margin-bottom: 16px; }

/* Elementor: don't trap widgets inside legacy padded shells */
.pt-elementor-canvas,
.pt-elementor-fullwidth {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.pt-elementor-page .contentBodyDv,
body.pt-elementor-preview .contentBodyDv {
    max-width: none;
    padding: 0;
}

body.elementor-editor-active .TemplateHolder,
body.elementor-editor-active .limitDv {
    pointer-events: auto;
}

/* Keep Elementor sections readable over legacy resets */
.elementor-section .elementor-widget-container img {
    max-width: 100%;
    height: auto;
}
