/* Shared public surfaces and page shell. */
:root {
    --zf-price-red: #8b1f27;
    --zf-price-red-dark: #6f141c;
    --zf-public-content-width: 1180px;
    --zf-public-glass-border: rgba(255,255,255,.38);
    --zf-public-glass-bg: rgba(250,247,238,.34);
    --zf-public-glass-filter: blur(18px) saturate(1.04);
}

.plot-detail-background {
    position: fixed;
    inset: 0;
    z-index: -2;
    background: url('/assets/front/plot-detail-bg.jpg') center/cover no-repeat;
}

.plot-detail-background::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(247,242,232,.42), rgba(255,255,255,.08), rgba(247,242,232,.25));
}

.site-themed-page {
    min-height: 100vh;
    background: transparent;
}

.site-themed-page .public-container {
    max-width: none;
    min-height: 100vh;
    padding: 0;
}

.site-themed-page .plot-detail-background {
    display: block;
}

.themed-glass-section,
.plot-object-shell {
    position: relative;
    isolation: isolate;
    width: min(var(--zf-public-content-width), calc(100% - 32px));
    border: 1px solid var(--zf-public-glass-border);
    border-radius: 28px;
    background: var(--zf-public-glass-bg);
    box-shadow: none;
    -webkit-backdrop-filter: var(--zf-public-glass-filter);
    backdrop-filter: var(--zf-public-glass-filter);
}

.themed-glass-section {
    margin: 108px auto 44px;
    padding: clamp(22px, 3vw, 34px);
}

.themed-glass-section > h1,
.privacy-document > h1 {
    margin-top: 0;
    font-family: var(--zf-font-display);
    font-size: clamp(34px, 4vw, 48px);
    letter-spacing: -.04em;
}

.site-themed-page .public-footer,
.catalog-page .public-footer,
.plot-object-page .public-footer {
    width: min(var(--zf-public-content-width), calc(100% - 32px));
    margin: 0 auto 28px;
}

.public-section:not(.themed-glass-section),
.public-card,
.price-auth-card {
    background: rgba(255,250,238,.62);
}

.plot-detail {
    background: rgba(255,250,238,.78);
}

.service-grid .public-card {
    background: rgba(255,255,255,.54);
}

[data-lazy-item][hidden] {
    display: none;
}

@media (max-width: 720px) {
    .themed-glass-section,
    .plot-object-shell {
        background: rgba(250,247,238,.39);
    }
}
