/* Signature 1.2.4: independent local editorial photographs; text stays opaque. */
:root {
    --zbsr-banner-access: url("banners/access-gate.webp?v=1.3.1");
    --zbsr-banner-signup: url("banners/signup-workbench.webp?v=1.3.1");
    --zbsr-banner-market: url("banners/market-square.webp?v=1.3.1");
    --zbsr-banner-producers: url("banners/producers-orchard.webp?v=1.3.1");
    --zbsr-banner-cooperation: url("banners/rural-cooperation.webp?v=1.3.1");
    --zbsr-banner-path: url("banners/countryside-path.webp?v=1.3.1");
    --zbsr-banner-craft: url("banners/craft-detail.webp?v=1.3.1");
    --zbsr-banner-garden: url("banners/village-garden.webp?v=1.3.1");
}
.zbsr-page-login { --zbsr-page-scene: var(--zbsr-banner-access); }
.zbsr-page-register { --zbsr-page-scene: var(--zbsr-banner-signup); }
.zbsr-page-catalog, .zbsr-page-listing, .zbsr-page-favorites { --zbsr-page-scene: var(--zbsr-banner-market); }
.zbsr-page-account, .zbsr-page-publish, .zbsr-page-verification, .zbsr-page-logout { --zbsr-page-scene: var(--zbsr-banner-path); }
.zbsr-page-vendors, .zbsr-page-vendor { --zbsr-page-scene: var(--zbsr-banner-producers); }
.zbsr-page-requests, .zbsr-page-new-request, .zbsr-page-dashboard { --zbsr-page-scene: var(--zbsr-banner-cooperation); }
.zbsr-page-help { --zbsr-page-scene: var(--zbsr-banner-garden); }
.zb-home .zb-hero-trust .zbsr-hero-promise {
    padding: 5px 10px;
    border: 1px solid #ffffff40;
    border-radius: 30px;
    background: #12301dbd;
    color: #fff9e4;
    font-weight: 650;
    white-space: nowrap;
}

/* A brighter photographic edge replaces the uniformly washed-out treatment. */
.zbsr-mega-grid > .zbsr-mega-group,
.zb-home .zb-all-categories .zb-category-scene,
.zb-home .zb-all-categories .zb-category-grid > :nth-child(-n+6) {
    background-image: linear-gradient(103deg, #fffef8bc 0%, #fffdf3a1 36%, #fffaf15c 64%, #fffaf10c 100%), var(--zbsr-card-photo);
    background-position: center;
    box-shadow: 0 7px 22px #35401e0a;
}
.zbsr-mega-group li a { line-height: 1.45; }
.zbsr-mega-group li a:focus-visible,
.zb-home .zb-all-categories a:focus-visible { outline: 3px solid #c28d3d; outline-offset: 3px; background: #fffffff2; }

/* Every homepage band has its own photograph; actual listing photos stay intact. */
.zbsr-home-market { --zbsr-band-scene: var(--zbsr-banner-market); }
.zbsr-home-requests { --zbsr-band-scene: var(--zbsr-banner-cooperation); }
.zbsr-home-vendors { --zbsr-band-scene: var(--zbsr-banner-producers); }
.zbsr-home-why { --zbsr-band-scene: var(--zbsr-banner-garden); }
.zbsr-home-journal { --zbsr-band-scene: var(--zbsr-banner-craft); }
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) {
    padding: clamp(24px, 2.3vw, 40px);
    border: 1px solid #dce4d1;
    border-radius: 20px;
    background-color: #f6f8ee;
    background-image: linear-gradient(100deg, #fbfcf5c4 0%, #fbfcf5b2 34%, #fbfcf54a 69%, #fbfcf515 100%), var(--zbsr-band-scene);
    background-size: cover;
    background-position: center;
    box-shadow: 0 8px 30px #243e1c06;
}
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-journal) { min-height: 260px; }
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) .zb-heading { margin-bottom: 24px; align-items: center; }
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) .zb-heading > a {
    padding: 8px 12px;
    border: 1px solid #ffffffc9;
    background: #ffffffe6;
    border-radius: 8px;
    color: #214b32;
}
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-journal) > .zb-empty {
    max-width: 620px;
    padding: 14px 0 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: left;
}
.zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-journal) > .zb-empty p {
    display: table;
    padding: 8px 12px;
    margin: 10px 0 18px;
    border-radius: 8px;
    background: #ffffffe8;
    color: #375233;
}
.zb-home .zbsr-home-market .zb-tabs { width: fit-content; max-width: 100%; padding: 10px 14px; border: 1px solid #e0e8d6; border-radius: 10px; background: #fffffff0; flex-wrap: wrap; }
.zb-home .zbsr-home-why .zb-benefits article { background: #fffffff2; border-color: #e0e7d7; }
.zb-home .zbsr-home-why .zb-heading h2 { padding-block: 10px; }
.zbsr-page-home .zb-site-footer {
    background-image: linear-gradient(100deg, #edf1e7c4 0%, #edf1e7be 55%, #edf1e785 100%), var(--zbsr-banner-path);
    background-size: cover;
    background-position: center;
}

/* The page header is photographic; inputs and private content remain on solid cards. */
.zb-site-main :is(.zb-page-heading,.zbsr-scene-heading,.zb-page-intro,.zb-inbox-header) {
    background-color: #f5f7ef;
    background-image: linear-gradient(100deg, #fdfef8c4 0%, #fcfdf6ba 38%, #fcfdf670 64%, #fcfdf621 100%), var(--zbsr-page-scene);
    background-position: center;
    background-size: cover;
    border: 1px solid #dde5d2;
    border-radius: 18px;
    max-width: none;
    min-height: 205px;
    margin: 6px 0 30px;
    padding: clamp(26px, 2.6vw, 44px);
}
.zb-site-main :is(.zb-page-heading,.zbsr-scene-heading,.zb-page-intro) h1 { margin: 6px 0 16px; max-width: 28ch; font: 700 clamp(29px, 3vw, 44px)/1.14 Georgia,serif; letter-spacing: -.6px; }
.zb-site-main :is(.zb-page-heading,.zbsr-scene-heading,.zb-page-intro) > p { max-width: 62ch; color: #465b3e; font: 14px/1.8 var(--zbsr-sans); margin-bottom: 0; }
.zb-site-main .zb-inbox-header { align-items: center; flex-wrap: wrap; }
.zb-site-main .zb-inbox-header > .zb-button { background: #fffffff2; color: #255136; border: 1px solid #cddcc0; }
.zb-site-main .zb-auth-prompt {
    background-image: linear-gradient(100deg, #ffffffc4 0%, #ffffffc0 55%, #ffffff85 100%), var(--zbsr-page-scene);
    background-position: center;
    background-size: cover;
}
/* Native input/select minimum widths must not expand a narrow form grid. */
.zb-site-main .zb-form { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.zb-site-main .zb-form > label { min-width: 0; }
.zb-site-main .zb-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
    width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
}
.zb-site-main .zb-form .zb-check > input { width: 18px; min-width: 18px; height: 18px; padding: 0; margin: 4px 0 0; }
/* Login and signup each get an independent photo above their existing form. */
.zbsr-page-login .zb-auth-shell::before,
.zbsr-page-register .zb-auth-shell::before {
    content: "";
    display: block;
    grid-column: 1 / -1;
    min-height: clamp(180px, 17vw, 240px);
    border-radius: 20px;
    border: 1px solid #d9e4d0;
    background-image: linear-gradient(95deg, #f4f5e93e, #f4f5e908 75%), var(--zbsr-page-scene);
    background-size: cover;
    background-position: center;
    box-shadow: 0 10px 28px #243b1e0b;
}
.zbsr-page-login .zb-auth-shell,
.zbsr-page-register .zb-auth-shell { max-width: 1180px; gap: 26px; }
/* Native HivePress retains its own blocks, links, filters and form handlers. */
body:is(.zbsr-page-account,.zbsr-page-publish,.zbsr-page-listing,.zbsr-page-vendor) .zb-site-main .hp-page__title {
    padding: 32px;
    border: 1px solid #dce5d1;
    border-radius: 16px;
    min-height: 150px;
    background: linear-gradient(100deg,#fcfdf7c2,#fcfdf7b3 45%,#fcfdf739 100%),var(--zbsr-page-scene) center/cover;
}
@media (max-width: 1599px) {
    :root {
        --zbsr-banner-access: url("banners/access-gate-1440.webp?v=1.3.1");
        --zbsr-banner-signup: url("banners/signup-workbench-1440.webp?v=1.3.1");
        --zbsr-banner-market: url("banners/market-square-1440.webp?v=1.3.1");
        --zbsr-banner-producers: url("banners/producers-orchard-1440.webp?v=1.3.1");
        --zbsr-banner-cooperation: url("banners/rural-cooperation-1440.webp?v=1.3.1");
        --zbsr-banner-path: url("banners/countryside-path-1440.webp?v=1.3.1");
        --zbsr-banner-craft: url("banners/craft-detail-1440.webp?v=1.3.1");
        --zbsr-banner-garden: url("banners/village-garden-1440.webp?v=1.3.1");
    }
}
@media (max-width: 1100px) {
    .zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) { border-radius: 16px; padding: 24px; }
    .zbsr-mega-group li a { min-height: 40px; display: flex; align-items: center; }
}
@media (max-width: 800px) {
    .zbsr-page-login .zb-auth-shell::before,
    .zbsr-page-register .zb-auth-shell::before { order: -2; min-height: 160px; }
}
@media (max-width: 700px) {
    .zb-home .zb-hero-trust .zbsr-hero-promise { padding: 4px 8px; }
    :root {
        --zbsr-banner-access: url("banners/access-gate-768.webp?v=1.3.1");
        --zbsr-banner-signup: url("banners/signup-workbench-768.webp?v=1.3.1");
        --zbsr-banner-market: url("banners/market-square-768.webp?v=1.3.1");
        --zbsr-banner-producers: url("banners/producers-orchard-768.webp?v=1.3.1");
        --zbsr-banner-cooperation: url("banners/rural-cooperation-768.webp?v=1.3.1");
        --zbsr-banner-path: url("banners/countryside-path-768.webp?v=1.3.1");
        --zbsr-banner-craft: url("banners/craft-detail-768.webp?v=1.3.1");
        --zbsr-banner-garden: url("banners/village-garden-768.webp?v=1.3.1");
    }
    .zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) {
        padding: 22px 18px;
        background-image: linear-gradient(100deg,#fcfdf5bf,#fcfdf5ae 50%,#fcfdf55c 100%),var(--zbsr-band-scene);
        background-position: 60% center;
    }
    .zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) .zb-heading { align-items: flex-start; gap: 10px; }
    .zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) .zb-heading > a { padding: 6px; font-size: 10px; }
    .zb-home :is(.zbsr-home-market,.zbsr-home-requests,.zbsr-home-vendors,.zbsr-home-why,.zbsr-home-journal) .zb-heading h2 { font-size: 24px; }
    .zb-home .zbsr-home-why .zb-benefits { grid-template-columns: 1fr; }
    .zb-home .zbsr-home-why .zb-benefits article { display: flex; }
    .zb-site-main :is(.zb-page-heading,.zbsr-scene-heading,.zb-page-intro,.zb-inbox-header) { padding: 25px 22px; min-height: 180px; border-radius: 14px; background-image: linear-gradient(100deg,#fdfef8c4,#fcfdf6b8 60%,#fcfdf67a 100%),var(--zbsr-page-scene); }
    .zb-site-main :is(.zb-page-heading,.zbsr-scene-heading,.zb-page-intro) h1 { font-size: 30px; }
    .zbsr-page-login .zb-auth-shell::before,
    .zbsr-page-register .zb-auth-shell::before { order: -2; min-height: 140px; border-radius: 15px; background-position: 65% center; }
    .zbsr-page-login .zb-auth-shell,
    .zbsr-page-register .zb-auth-shell { gap: 18px; }
    .zbsr-mega-group li a { min-height: 44px; }
}
