/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Mobile-first site chrome. NavLink output is rendered through child components,
   so selectors that target generated anchors deliberately use ::deep. */
.site-shell[b-hu4o7fgdgb] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f7f2e9;
}

.site-header[b-hu4o7fgdgb] {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 4.35rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .42rem .8rem;
    border-bottom: 1px solid #e0d6c6;
    background: rgb(250 247 240 / .97);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 24px rgb(55 44 31 / .055);
}

.brand[b-hu4o7fgdgb] {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: .58rem;
    color: #281e18;
    text-decoration: none;
}

.brand__logo[b-hu4o7fgdgb] {
    width: 3.35rem;
    height: 3.35rem;
    flex: 0 0 auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgb(86 64 39 / .12));
}

.brand__copy[b-hu4o7fgdgb] {
    min-width: 0;
    display: grid;
    gap: .03rem;
    line-height: 1;
}

.brand__copy strong[b-hu4o7fgdgb] {
    color: #7f1024;
    font-family: var(--font-serif);
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: .01em;
    white-space: nowrap;
}

.brand__copy small[b-hu4o7fgdgb] {
    color: #826d56;
    font-size: .43rem;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.25;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-nav[b-hu4o7fgdgb],
.header-actions[b-hu4o7fgdgb] {
    display: none;
}

.mobile-header-actions[b-hu4o7fgdgb] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
}

.lang-group[b-hu4o7fgdgb] {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
    white-space: nowrap;
}

.lang-btn[b-hu4o7fgdgb] {
    min-height: 2.2rem;
    display: inline-grid;
    place-items: center;
    padding: .3rem .12rem;
    color: #6c6257;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-decoration: none;
}

.lang-btn.is-active[b-hu4o7fgdgb] {
    color: #7f1024;
}

.lang-separator[b-hu4o7fgdgb] {
    color: #b5a994;
    font-size: .72rem;
}

.mobile-menu[b-hu4o7fgdgb] {
    position: relative;
}

.mobile-menu > summary[b-hu4o7fgdgb] {
    width: 2.65rem;
    height: 2.65rem;
    display: grid;
    place-items: center;
    border: 1px solid #d4c7b4;
    border-radius: .58rem;
    background: #fffaf1;
    cursor: pointer;
    list-style: none;
    box-shadow: 0 8px 18px rgb(67 51 34 / .06);
}

.mobile-menu > summary[b-hu4o7fgdgb]::-webkit-details-marker {
    display: none;
}

.mobile-menu__icon[b-hu4o7fgdgb],
.mobile-menu__icon[b-hu4o7fgdgb]::before,
.mobile-menu__icon[b-hu4o7fgdgb]::after {
    width: 1.15rem;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: #603020;
}

.mobile-menu__icon[b-hu4o7fgdgb] {
    position: relative;
}

.mobile-menu__icon[b-hu4o7fgdgb]::before,
.mobile-menu__icon[b-hu4o7fgdgb]::after {
    content: "";
    position: absolute;
    left: 0;
}

.mobile-menu__icon[b-hu4o7fgdgb]::before { top: -.38rem; }
.mobile-menu__icon[b-hu4o7fgdgb]::after { top: .38rem; }

.mobile-menu[open] > summary[b-hu4o7fgdgb] {
    border-color: #a3763b;
    background: #f4eadb;
}

.mobile-menu__panel[b-hu4o7fgdgb] {
    position: absolute;
    top: calc(100% + .65rem);
    right: 0;
    width: min(20rem, calc(100vw - 1.5rem));
    padding: .65rem;
    border: 1px solid #d9cdbd;
    border-radius: .8rem;
    background: rgb(250 247 240 / .99);
    box-shadow: 0 24px 56px rgb(39 29 20 / .2);
}

.mobile-menu__nav[b-hu4o7fgdgb] {
    display: grid;
}

.mobile-menu__nav[b-hu4o7fgdgb]  a,
.mobile-menu__nav > a[b-hu4o7fgdgb] {
    min-height: 3.15rem;
    display: flex;
    align-items: center;
    padding: .65rem .78rem;
    border-radius: .5rem;
    color: #342e27;
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.mobile-menu__nav[b-hu4o7fgdgb]  a:hover,
.mobile-menu__nav[b-hu4o7fgdgb]  a.active,
.mobile-menu__nav > a:hover[b-hu4o7fgdgb] {
    background: #efe4d4;
    color: #7f1024;
}

.mobile-menu__order[b-hu4o7fgdgb] {
    min-height: 3.15rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .45rem;
    padding: .7rem .85rem;
    border-radius: .52rem;
    background: #173829;
    color: #fff8ed;
    font-family: var(--font-serif);
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
}

.site-main[b-hu4o7fgdgb] {
    min-width: 0;
    flex: 1;
}

.site-footer[b-hu4o7fgdgb] {
    position: relative;
    min-height: 31rem;
    overflow: hidden;
    background: #211b16;
    color: #fff8eb;
}

.site-footer__media[b-hu4o7fgdgb],
.site-footer__shade[b-hu4o7fgdgb] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.site-footer__media[b-hu4o7fgdgb] {
    object-fit: cover;
    object-position: 62% center;
}

.site-footer__shade[b-hu4o7fgdgb] {
    background:
        linear-gradient(180deg, rgb(20 17 13 / .58), rgb(17 14 11 / .85)),
        linear-gradient(90deg, rgb(17 14 11 / .68), rgb(17 14 11 / .32));
}

.site-footer__content[b-hu4o7fgdgb] {
    position: relative;
    z-index: 1;
    min-height: inherit;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 1.7rem;
    padding: 3.2rem 1rem 1.1rem;
    text-align: center;
}

.footer__brand[b-hu4o7fgdgb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    color: #fff8eb;
    text-decoration: none;
}

.footer__brand-logo[b-hu4o7fgdgb] {
    width: 4.6rem;
    height: 4.6rem;
    flex: 0 0 auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 12px 28px rgb(0 0 0 / .22));
}

.footer__brand-copy[b-hu4o7fgdgb] {
    display: grid;
    gap: .1rem;
    text-align: left;
    line-height: 1;
}

.footer__brand-copy strong[b-hu4o7fgdgb] {
    color: #f1cb7e;
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 700;
}

.footer__brand-copy small[b-hu4o7fgdgb] {
    color: rgb(255 247 233 / .78);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.footer__motto[b-hu4o7fgdgb] {
    width: 100%;
    display: grid;
    justify-items: center;
    gap: .65rem;
    text-align: center;
}

.footer__motto strong[b-hu4o7fgdgb] {
    width: max-content;
    max-width: 100%;
    display: grid;
    justify-items: center;
    gap: .02em;
    color: #fff8ec;
    font-family: var(--font-serif);
    font-size: clamp(2.25rem, 8.8vw, 3.25rem);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.025em;
    text-shadow: 0 3px 18px rgb(0 0 0 / .28);
}

.footer__motto-line[b-hu4o7fgdgb] {
    display: block;
    width: max-content;
    max-width: none;
    white-space: nowrap;
}

.footer__motto--ka strong[b-hu4o7fgdgb] {
    font-size: clamp(1.5rem, 6.3vw, 2.45rem);
    line-height: 1.05;
    letter-spacing: -.01em;
}

.footer__motto > span:last-child[b-hu4o7fgdgb] {
    color: #e3bc70;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer__story[b-hu4o7fgdgb] {
    min-width: 10.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgb(255 245 226 / .7);
    border-radius: .48rem;
    background: rgb(20 18 15 / .28);
    color: #fff8ed;
    font-family: var(--font-serif);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
    backdrop-filter: blur(6px);
}

.footer__bottom[b-hu4o7fgdgb] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .85rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(255 246 229 / .2);
    color: rgb(255 248 235 / .62);
    font-size: .66rem;
}

.footer__nav[b-hu4o7fgdgb] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem 1rem;
}

.footer__nav a[b-hu4o7fgdgb] {
    color: rgb(255 248 235 / .8);
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
}

.footer__nav a:hover[b-hu4o7fgdgb],
.footer__story:hover[b-hu4o7fgdgb] {
    color: #efc777;
}

@media (min-width: 700px) {
    .site-header[b-hu4o7fgdgb] {
        padding-inline: 1.2rem;
    }

    .brand__logo[b-hu4o7fgdgb] {
        width: 3.7rem;
        height: 3.7rem;
    }

    .brand__copy strong[b-hu4o7fgdgb] {
        font-size: 1.2rem;
    }

    .brand__copy small[b-hu4o7fgdgb] {
        font-size: .46rem;
    }

    .site-footer__content[b-hu4o7fgdgb] {
        padding-inline: 1.5rem;
    }

    .footer__bottom[b-hu4o7fgdgb] {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }

    .footer__nav[b-hu4o7fgdgb] {
        justify-content: flex-end;
    }
}

@media (min-width: 900px) {
    .site-header[b-hu4o7fgdgb] {
        min-height: 5rem;
        grid-template-columns: minmax(12rem, 1fr) auto minmax(13rem, 1fr);
        gap: clamp(.8rem, 2vw, 2rem);
        padding: .42rem clamp(1.2rem, 3vw, 3rem);
    }

    .mobile-header-actions[b-hu4o7fgdgb] {
        display: none;
    }

    .site-nav[b-hu4o7fgdgb] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: clamp(.9rem, 1.8vw, 1.7rem);
    }

    .site-nav[b-hu4o7fgdgb]  a,
    .site-nav > a[b-hu4o7fgdgb] {
        position: relative;
        padding: .75rem 0;
        color: #2c2721;
        font-family: var(--font-serif);
        font-size: .9rem;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
    }

    .site-nav[b-hu4o7fgdgb]  a::after,
    .site-nav > a[b-hu4o7fgdgb]::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: .35rem;
        height: 1px;
        background: #a87936;
        transform: scaleX(0);
        transition: transform .18s ease;
    }

    .site-nav[b-hu4o7fgdgb]  a:hover,
    .site-nav[b-hu4o7fgdgb]  a.active,
    .site-nav > a:hover[b-hu4o7fgdgb] {
        color: #7f1024;
    }

    .site-nav[b-hu4o7fgdgb]  a:hover::after,
    .site-nav[b-hu4o7fgdgb]  a.active::after,
    .site-nav > a:hover[b-hu4o7fgdgb]::after {
        transform: scaleX(1);
    }

    .header-actions[b-hu4o7fgdgb] {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: .85rem;
    }

    .header-cta[b-hu4o7fgdgb] {
        min-height: 2.7rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .55rem;
        padding: .62rem .95rem;
        border: 1px solid #c7a45b;
        border-radius: .45rem;
        background: #173829;
        color: #fff9ed;
        font-size: .74rem;
        font-weight: 900;
        text-decoration: none;
        white-space: nowrap;
        box-shadow: 0 10px 24px rgb(23 56 41 / .14);
    }

    .header-cta:hover[b-hu4o7fgdgb] {
        background: #0e2d20;
        color: #fff;
    }

    .site-footer[b-hu4o7fgdgb] {
        min-height: 22rem;
    }

    .site-footer__media[b-hu4o7fgdgb] {
        object-position: center 55%;
    }

    .site-footer__shade[b-hu4o7fgdgb] {
        background:
            linear-gradient(90deg, rgb(18 17 14 / .82) 0%, rgb(18 17 14 / .52) 45%, rgb(18 17 14 / .36) 68%, rgb(18 17 14 / .68) 100%),
            linear-gradient(180deg, rgb(16 14 11 / .06), rgb(16 14 11 / .48));
    }

    .site-footer__content[b-hu4o7fgdgb] {
        grid-template-columns: minmax(13rem, 1fr) minmax(18rem, 1.2fr) minmax(11rem, .8fr);
        grid-template-rows: 1fr auto;
        justify-items: stretch;
        align-items: center;
        gap: 1.4rem 2rem;
        padding: clamp(2.4rem, 5vw, 4rem) clamp(1.2rem, 4vw, 3.25rem) 1rem;
        text-align: left;
    }

    .footer__brand[b-hu4o7fgdgb] {
        justify-self: start;
    }

    .footer__brand-logo[b-hu4o7fgdgb] {
        width: 5.4rem;
        height: 5.4rem;
    }

    .footer__motto[b-hu4o7fgdgb] {
        justify-self: center;
    }

    .footer__motto strong[b-hu4o7fgdgb] {
        font-size: clamp(2.5rem, 3.4vw, 3.5rem);
    }

    .footer__motto--ka strong[b-hu4o7fgdgb] {
        font-size: clamp(1.85rem, 2.35vw, 2.65rem);
    }

    .footer__story[b-hu4o7fgdgb] {
        justify-self: end;
    }

    .footer__bottom[b-hu4o7fgdgb] {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1180px) {
    .brand__logo[b-hu4o7fgdgb] {
        width: 4rem;
        height: 4rem;
    }

    .brand__copy strong[b-hu4o7fgdgb] {
        font-size: 1.28rem;
    }

    .brand__copy small[b-hu4o7fgdgb] {
        font-size: .49rem;
    }

    .site-nav[b-hu4o7fgdgb]  a,
    .site-nav > a[b-hu4o7fgdgb] {
        font-size: .96rem;
    }
}
/* /Components/Pages/CustomLabels.razor.rz.scp.css */
.labels-hero[b-350epa3r4s] {
    --hero-image: url('/images/generated/custom-hero.jpg');
    min-height: clamp(15rem, 22vw, 19.5rem);
}

.labels-hero h1[b-350epa3r4s] {
    max-width: 18ch;
    font-size: clamp(2.7rem, 5vw, 4.2rem);
}

.label-builder[b-350epa3r4s] {
    padding-block: clamp(1rem, 2.4vw, 1.8rem) clamp(2.25rem, 4vw, 3.25rem);
    width: min(100% - 2rem, 1840px);
    max-width: 100%;
    overflow-x: clip;
}

.label-builder[b-350epa3r4s],
.label-builder *[b-350epa3r4s] {
    min-width: 0;
}

.builder-card-shell[b-350epa3r4s] {
    overflow: hidden;
    max-width: 100%;
    background:
        radial-gradient(circle at 8% 0, rgb(var(--rgb-gold) / .14), transparent 28rem),
        linear-gradient(180deg, rgb(var(--rgb-card) / .95), rgb(var(--rgb-paper) / .88));
}

.builder-section[b-350epa3r4s] {
    border-bottom: 1px solid var(--border-soft);
}

.builder-section__heading[b-350epa3r4s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    margin: 0 0 .85rem;
}

.builder-section__heading--center[b-350epa3r4s] {
    justify-content: center;
    text-align: center;
}

.builder-section h2[b-350epa3r4s],
.editor-finish-panel h2[b-350epa3r4s] {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    letter-spacing: .025em;
    text-transform: uppercase;
}

.occasion-panel[b-350epa3r4s] {
    padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.2vw, 1.65rem);
}

.occasion-strip[b-350epa3r4s] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.3rem;
    gap: .7rem;
    align-items: stretch;
}

.occasion-list[b-350epa3r4s] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(5.8rem, 1fr);
    gap: .55rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: .1rem .05rem .45rem;
    scrollbar-width: thin;
}

.occasion-card[b-350epa3r4s] {
    scroll-snap-align: start;
    min-height: 6rem;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .35rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    background: rgb(255 255 255 / .34);
    color: var(--text-main);
    font-weight: 800;
    font-size: .76rem;
    cursor: pointer;
    text-align: center;
    padding: .55rem .45rem;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.occasion-card span[b-350epa3r4s] {
    font-size: 1.65rem;
    line-height: 1;
    color: rgb(var(--rgb-wine) / .45);
}

.occasion-card strong[b-350epa3r4s] {
    line-height: 1.12;
    font-size: .74rem;
}

.occasion-card:hover[b-350epa3r4s] {
    transform: translateY(-1px);
    border-color: rgb(var(--rgb-wine) / .32);
}

.occasion-card.is-active[b-350epa3r4s] {
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));
    border-color: var(--brand-primary);
    color: var(--surface-soft);
    box-shadow: 0 10px 22px rgb(var(--rgb-wine) / .15);
}

.occasion-card.is-active span[b-350epa3r4s] {
    color: var(--surface-soft);
}

.occasion-next[b-350epa3r4s] {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    color: var(--brand-primary);
    background: rgb(255 255 255 / .35);
    font-size: 2rem;
    cursor: pointer;
}

.occasion-dots[b-350epa3r4s] {
    display: none;
    justify-content: center;
    gap: .55rem;
    margin-top: .35rem;
}

.occasion-dots span[b-350epa3r4s] {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: rgb(var(--rgb-wine) / .16);
}

.occasion-dots .is-active[b-350epa3r4s] {
    background: var(--brand-primary);
}

.builder-grid[b-350epa3r4s] {
    display: grid;
    grid-template-columns: minmax(18rem, .58fr) minmax(0, 1.72fr) minmax(18rem, .66fr);
    align-items: stretch;
}

.editor-panel[b-350epa3r4s],
.canvas-panel[b-350epa3r4s],
.layers-panel[b-350epa3r4s] {
    padding: clamp(.95rem, 1.45vw, 1.25rem);
    overflow: hidden;
}

.editor-panel[b-350epa3r4s],
.layers-panel[b-350epa3r4s] {
    display: grid;
    align-content: start;
    gap: .8rem;
}

.editor-panel[b-350epa3r4s] {
    border-right: 1px solid var(--border-soft);
}

.layers-panel[b-350epa3r4s] {
    border-left: 1px solid var(--border-soft);
    background: linear-gradient(180deg, rgb(var(--rgb-card) / .66), rgb(var(--rgb-paper) / .5));
}

.selected-text-card[b-350epa3r4s] {
    display: grid;
    gap: .35rem;
    padding: .95rem;
    border: 1px solid rgb(var(--rgb-wine) / .22);
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgb(var(--rgb-wine) / .08), rgb(var(--rgb-gold) / .08));
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / .38);
}

.selected-text-card__eyebrow[b-350epa3r4s] {
    color: var(--brand-accent-dark);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.selected-text-card strong[b-350epa3r4s] {
    color: var(--brand-primary);
    font-family: var(--font-display);
    font-size: 1.35rem;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selected-text-card p[b-350epa3r4s] {
    margin: 0;
    color: var(--text-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.control-card[b-350epa3r4s] {
    border: 0;
}

.control-card summary[b-350epa3r4s] {
    list-style: none;
    display: none;
}

.control-card summary[b-350epa3r4s]::-webkit-details-marker {
    display: none;
}

.has-swatch[b-350epa3r4s] {
    grid-template-columns: minmax(0, 1fr) 1.95rem;
    align-items: end;
}

.has-swatch label[b-350epa3r4s] {
    grid-column: 1 / -1;
}

.swatch-button[b-350epa3r4s] {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: .25rem;
    background: var(--swatch);
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--border-soft);
    cursor: pointer;
}

.split-control[b-350epa3r4s] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: end;
}

.stepper[b-350epa3r4s] {
    display: grid;
    grid-template-columns: 2.45rem 2.45rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.stepper button[b-350epa3r4s],
.alignment-control button[b-350epa3r4s],
.nudge-pad__button[b-350epa3r4s],
.position-alignments button[b-350epa3r4s],
.canvas-toolbar button[b-350epa3r4s] {
    border: 0;
    background: rgb(255 255 255 / .58);
    color: var(--brand-primary);
    min-height: 2.65rem;
    cursor: pointer;
}

.stepper button + button[b-350epa3r4s] {
    border-left: 1px solid var(--border-soft);
}

.alignment-control[b-350epa3r4s] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.alignment-control button + button[b-350epa3r4s] {
    border-left: 1px solid var(--border-soft);
}

.alignment-control button.is-active[b-350epa3r4s] {
    background: rgb(var(--rgb-wine) / .08);
    box-shadow: inset 0 0 0 1px rgb(var(--rgb-wine) / .35);
}

.position-card[b-350epa3r4s] {
    padding: .9rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    background: rgb(255 255 255 / .34);
}

.position-control[b-350epa3r4s] {
    display: grid;
    gap: .75rem;
}

.position-step[b-350epa3r4s] {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    border: 0;
}

.position-step legend[b-350epa3r4s] {
    width: 100%;
    margin-bottom: .3rem;
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.position-step label[b-350epa3r4s] {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 2.25rem;
    padding: .45rem .65rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-pill);
    background: rgb(255 255 255 / .55);
    color: var(--text-muted);
    font-size: .78rem;
    font-weight: 800;
    cursor: pointer;
}

.position-step input[b-350epa3r4s] {
    accent-color: var(--brand-primary);
}

.position-step label:has(input:checked)[b-350epa3r4s] {
    color: var(--brand-primary);
    border-color: rgb(var(--rgb-wine) / .32);
    background: rgb(var(--rgb-wine) / .08);
}

.nudge-pad[b-350epa3r4s] {
    width: min(100%, 12rem);
    justify-self: center;
    display: grid;
    grid-template-columns: repeat(3, 3.05rem);
    grid-template-rows: repeat(3, 3.05rem);
    gap: .4rem;
    align-items: stretch;
    justify-content: center;
}

.nudge-pad__button[b-350epa3r4s] {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    font-size: 1.1rem;
    font-weight: 900;
    box-shadow: var(--shadow-xs);
}

.nudge-pad__button:hover[b-350epa3r4s],
.position-alignments button:hover[b-350epa3r4s] {
    background: rgb(var(--rgb-wine) / .08);
}

.nudge-pad__button--up[b-350epa3r4s] {
    grid-column: 2;
    grid-row: 1;
}

.nudge-pad__button--left[b-350epa3r4s] {
    grid-column: 1;
    grid-row: 2;
}

.nudge-pad__button--right[b-350epa3r4s] {
    grid-column: 3;
    grid-row: 2;
}

.nudge-pad__button--down[b-350epa3r4s] {
    grid-column: 2;
    grid-row: 3;
}

.nudge-pad__center[b-350epa3r4s] {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--brand-accent-dark);
    background: rgb(var(--rgb-gold) / .13);
    border: 1px dashed rgb(var(--rgb-gold) / .42);
    font-size: 1.25rem;
}

.position-alignments[b-350epa3r4s] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}

.position-alignments button[b-350epa3r4s] {
    min-height: 2.35rem;
    padding-inline: .55rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    font-size: .76rem;
    font-weight: 850;
}

.position-hint[b-350epa3r4s] {
    margin: -.1rem 0 0;
    color: var(--text-muted);
    font-size: .76rem;
    line-height: 1.45;
}

.position-card button:disabled[b-350epa3r4s],
.position-card input:disabled + span[b-350epa3r4s],
.position-alignments button:disabled[b-350epa3r4s] {
    opacity: .45;
    cursor: not-allowed;
}

.color-control[b-350epa3r4s] {
    display: flex;
    gap: .7rem;
    align-items: center;
    flex-wrap: wrap;
}

.color-control button[b-350epa3r4s] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid var(--border-soft);
    background: var(--swatch);
    cursor: pointer;
}

.color-control button.is-active[b-350epa3r4s] {
    outline: 3px solid rgb(var(--rgb-wine) / .18);
    box-shadow: inset 0 0 0 3px #fff;
}

.add-text-button[b-350epa3r4s] {
    margin-top: .1rem;
}

.tips-box[b-350epa3r4s] {
    padding: .85rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    background: rgb(255 255 255 / .34);
}

.tips-box strong[b-350epa3r4s] {
    color: var(--brand-accent-dark);
    display: block;
    margin-bottom: .35rem;
}

.tips-box p[b-350epa3r4s] {
    margin: 0;
    font-size: .76rem;
    line-height: 1.42;
    color: var(--text-muted);
}

.canvas-panel[b-350epa3r4s] {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: .8rem;
}

.canvas-shell[b-350epa3r4s] {
    position: relative;
    width: min(100%, 42rem);
    margin-inline: auto;
    border-radius: var(--radius-md);
    padding: .78rem;
    background:
        radial-gradient(circle at 50% 0, rgb(255 255 255 / .22), transparent 55%),
        #dfceb5;
    box-shadow: inset 0 0 0 1px rgb(94 54 24 / .15), 0 16px 38px rgb(61 28 18 / .08);
    overflow: hidden;
    display: grid;
    place-items: center;
}

.canvas-shell .canvas-container[b-350epa3r4s] {
    max-width: 100% !important;
    margin-inline: auto;
    touch-action: none;
}

#label-canvas[b-350epa3r4s] {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-xs);
    box-shadow: 0 10px 24px rgb(77 52 22 / .12);
}

.canvas-shell .lower-canvas[b-350epa3r4s],
.canvas-shell .upper-canvas[b-350epa3r4s] {
    border-radius: var(--radius-xs);
}

.canvas-shell .canvas-container[b-350epa3r4s] {
    box-shadow: 0 10px 24px rgb(77 52 22 / .12);
}

.mobile-canvas-tip[b-350epa3r4s] {
    display: none;
}

.canvas-toolbar[b-350epa3r4s] {
    width: min(100%, 42rem);
    display: grid;
    grid-template-columns: 2.65rem 2.65rem 1fr 2.65rem;
    gap: .68rem;
    align-items: center;
}

.zoom-control[b-350epa3r4s] {
    display: grid;
    grid-template-columns: 2.4rem 1fr 2.4rem;
    align-items: center;
    text-align: center;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: rgb(255 255 255 / .55);
}

.zoom-control span[b-350epa3r4s] {
    color: var(--text-muted);
    font-size: .82rem;
    font-weight: 900;
}

.canvas-toolbar > button[b-350epa3r4s] {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
}

.canvas-toolbar > button:disabled[b-350epa3r4s] {
    opacity: .42;
    cursor: not-allowed;
}

.canvas-actions[b-350epa3r4s] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    width: min(100%, 42rem);
}

.mobile-save[b-350epa3r4s] {
    display: none;
}

.canvas-save-status[b-350epa3r4s] {
    display: none;
    text-align: center;
    width: 100%;
}

.side-preview[b-350epa3r4s] {
    display: grid;
    gap: .8rem;
    padding: .85rem;
    border: 1px solid rgb(var(--rgb-gold) / .24);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgb(255 255 255 / .48), rgb(var(--rgb-paper) / .38));
}

.side-preview__copy[b-350epa3r4s] {
    display: grid;
    gap: .25rem;
    text-align: center;
}

.side-preview__copy .eyebrow[b-350epa3r4s] {
    justify-content: center;
    font-size: .62rem;
}

.side-preview__copy h3[b-350epa3r4s] {
    margin: 0;
    font-size: 1.35rem;
    text-transform: uppercase;
}

.bottle-preview-card[b-350epa3r4s] {
    width: min(100%, 18rem);
    justify-self: center;
    padding: .55rem;
    border: 1px solid rgb(178 129 60 / .3);
    border-radius: var(--radius-lg);
    background: rgb(255 255 255 / .42);
    box-shadow: 0 18px 44px rgb(61 28 18 / .08);
}

.bottle-preview__frame[b-350epa3r4s] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: var(--radius-md);
    background: var(--surface-deep);
}

.bottle-preview__mockup[b-350epa3r4s] {
    display: block;
    width: 100%;
}

.bottle-preview-panel .bottle-preview__label[b-350epa3r4s],
.bottle-preview-panel .bottle-preview__label-canvas[b-350epa3r4s],
.side-preview .bottle-preview__label[b-350epa3r4s],
.side-preview .bottle-preview__label-canvas[b-350epa3r4s] {
    position: absolute;
    left: 37%;
    top: 43%;
    width: 27%;
    height: 38%;
    max-width: none;
    border-radius: .22rem;
    pointer-events: none;
}

.bottle-preview__label[b-350epa3r4s] {
    object-fit: fill;
    box-shadow: 0 4px 12px rgb(22 12 8 / .16);
}

.bottle-preview__label-canvas[b-350epa3r4s] {
    display: block;
    opacity: .97;
    mix-blend-mode: multiply;
}

.preview-actions[b-350epa3r4s] {
    display: grid;
    gap: .6rem;
    grid-template-columns: 1fr;
}

.layer-note[b-350epa3r4s] {
    font-size: .78rem;
}

.layer-actions[b-350epa3r4s] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
}

.layer-actions .btn[b-350epa3r4s] {
    padding-inline: .7rem;
    font-size: .7rem;
}

.editor-finish-panel[b-350epa3r4s] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .64fr);
    gap: 1.15rem;
    align-items: center;
    padding: clamp(1rem, 2vw, 1.35rem);
    border-bottom: 0;
}

.editor-finish-panel h2[b-350epa3r4s] {
    margin-bottom: .45rem;
}

.editor-finish-panel p[b-350epa3r4s] {
    margin: 0;
    font-size: .9rem;
}

.save-actions[b-350epa3r4s] {
    display: grid;
    gap: .65rem;
}

.save-status[b-350epa3r4s] {
    display: block;
    min-height: 1.2rem;
    margin-top: .35rem;
    color: var(--text-muted);
    font-size: .8rem;
}

.mobile-builder-tabs[b-350epa3r4s] {
    display: none;
}

.full-preview-modal[hidden][b-350epa3r4s] {
    display: none;
}

.has-full-preview body[b-350epa3r4s] {
    overflow: hidden;
}

.full-preview-modal[b-350epa3r4s] {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.6rem);
}

.full-preview-modal__backdrop[b-350epa3r4s] {
    position: absolute;
    inset: 0;
    background: rgb(43 4 11 / .64);
    backdrop-filter: blur(18px);
}

.full-preview-modal__panel[b-350epa3r4s] {
    position: relative;
    width: min(100%, 72rem);
    max-height: min(90vh, 52rem);
    display: grid;
    grid-template-columns: minmax(18rem, 1.25fr) minmax(17rem, .62fr);
    gap: clamp(1rem, 2.4vw, 2rem);
    padding: clamp(1rem, 2vw, 1.55rem);
    border: 1px solid rgb(var(--rgb-gold) / .34);
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at 35% 22%, rgb(var(--rgb-gold) / .2), transparent 24rem),
        linear-gradient(135deg, #fffaf1, #f7ead7);
    box-shadow: 0 32px 100px rgb(0 0 0 / .32);
    overflow: hidden;
}

.full-preview-modal__close[b-350epa3r4s] {
    position: absolute;
    top: .8rem;
    right: .8rem;
    z-index: 3;
    width: 2.65rem;
    height: 2.65rem;
    display: grid;
    place-items: center;
    border: 1px solid rgb(var(--rgb-wine) / .18);
    border-radius: 50%;
    background: rgb(255 255 255 / .68);
    color: var(--brand-primary);
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
}

.full-preview-modal__stage[b-350epa3r4s] {
    display: grid;
    place-items: center;
    min-height: 0;
    border-radius: var(--radius-lg);
    background:
        radial-gradient(ellipse at 50% 84%, rgb(47 28 20 / .22), transparent 18rem),
        linear-gradient(180deg, rgb(255 255 255 / .25), rgb(var(--rgb-paper) / .25));
    overflow: hidden;
}

.full-preview-modal__frame[b-350epa3r4s] {
    position: relative;
    height: min(76vh, 48rem);
    aspect-ratio: 687 / 832;
    max-width: 100%;
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.full-preview-modal__mockup[b-350epa3r4s] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.full-preview-modal__label[b-350epa3r4s],
.full-preview-modal__label-canvas[b-350epa3r4s] {
    position: absolute;
    left: 37%;
    top: 43%;
    width: 27%;
    height: 38%;
    max-width: none;
    border-radius: .22rem;
    pointer-events: none;
}

.full-preview-modal__label[b-350epa3r4s] {
    object-fit: fill;
}

.full-preview-modal__label-canvas[b-350epa3r4s] {
    display: block;
    opacity: .97;
    mix-blend-mode: multiply;
}

.full-preview-modal__copy[b-350epa3r4s] {
    align-self: center;
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.4rem);
}

.full-preview-modal__copy h2[b-350epa3r4s] {
    margin: 0;
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    text-transform: uppercase;
}

.full-preview-modal__copy p[b-350epa3r4s] {
    margin: 0;
    color: var(--text-main);
}

.full-preview-modal__actions[b-350epa3r4s] {
    display: grid;
    gap: .7rem;
    margin-top: .35rem;
}

@media (max-width: 1180px) {
    .builder-grid[b-350epa3r4s] {
        grid-template-columns: minmax(17rem, .62fr) minmax(0, 1.45fr) minmax(17rem, .72fr);
    }

    .canvas-actions[b-350epa3r4s] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .builder-grid[b-350epa3r4s] {
        grid-template-columns: minmax(15rem, .78fr) minmax(0, 1.22fr);
    }

    .layers-panel[b-350epa3r4s] {
        grid-column: 1 / -1;
        border-left: 0;
        border-top: 1px solid var(--border-soft);
        grid-template-columns: minmax(16rem, .65fr) minmax(0, 1fr);
        align-items: start;
    }

    .layers-panel .builder-section__heading[b-350epa3r4s] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 860px) {
    .labels-hero[b-350epa3r4s] {
        min-height: 18rem;
    }

    .label-builder[b-350epa3r4s] {
        width: calc(100% - 1.1rem);
        padding-top: 0;
    }

    .builder-card-shell[b-350epa3r4s] {
        border-radius: 1.15rem;
        margin-top: -1rem;
        position: relative;
        z-index: 3;
    }

    .occasion-panel[b-350epa3r4s] {
        padding: .95rem;
    }

    .occasion-panel h2[b-350epa3r4s],
    .builder-section h2[b-350epa3r4s],
    .editor-finish-panel h2[b-350epa3r4s] {
        font-size: 1.25rem;
    }

    .occasion-strip[b-350epa3r4s] {
        grid-template-columns: minmax(0, 1fr) 3rem;
    }

    .occasion-list[b-350epa3r4s] {
        grid-auto-columns: 7.1rem;
        gap: .65rem;
        padding-bottom: .3rem;
    }

    .occasion-card[b-350epa3r4s] {
        min-height: 5.45rem;
        border-radius: .95rem;
        font-size: .8rem;
    }

    .occasion-card span[b-350epa3r4s] {
        font-size: 1.6rem;
    }

    .occasion-next[b-350epa3r4s] {
        border-radius: 50%;
        align-self: center;
        width: 3rem;
        height: 3rem;
    }

    .occasion-dots[b-350epa3r4s] {
        display: flex;
    }

    .builder-grid[b-350epa3r4s] {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }

    .canvas-panel[b-350epa3r4s] {
        order: 1;
        padding: .9rem .75rem .75rem;
        border-bottom: 0;
    }

    .canvas-panel .builder-section__heading[b-350epa3r4s] {
        display: none;
    }

    .canvas-shell[b-350epa3r4s] {
        width: min(100%, 29.5rem);
        padding: .48rem;
        border-radius: .95rem;
    }

    .mobile-canvas-tip[b-350epa3r4s] {
        display: block;
        margin: .65rem auto 0;
        width: min(100%, 24rem);
        padding: .72rem 1rem;
        border: 1px solid var(--border-soft);
        border-radius: .9rem;
        background: rgb(var(--rgb-card) / .88);
        font-size: .85rem;
        line-height: 1.35;
        text-align: center;
        color: var(--text-main);
        box-shadow: 0 10px 25px rgb(62 22 12 / .08);
    }

    .canvas-toolbar[b-350epa3r4s] {
        width: min(100%, 29.5rem);
        grid-template-columns: 2.7rem 2.7rem 1fr 2.7rem;
        gap: .48rem;
    }

    .canvas-actions[b-350epa3r4s] {
        display: none;
    }

    .canvas-save-status[b-350epa3r4s] {
        display: block;
    }

    .editor-panel[b-350epa3r4s],
    .layers-panel[b-350epa3r4s] {
        display: none;
        order: 2;
        grid-column: auto;
        border: 0;
        border-top: 1px solid var(--border-soft);
        padding: .95rem;
        background: linear-gradient(180deg, rgb(var(--rgb-card) / .76), rgb(var(--rgb-paper) / .58));
    }

    .label-builder[data-mobile-panel="text"] .editor-panel[b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel[b-350epa3r4s],
    .label-builder[data-mobile-panel="position"] .editor-panel[b-350epa3r4s],
    .label-builder[data-mobile-panel="layers"] .layers-panel[b-350epa3r4s],
    .label-builder[data-mobile-panel="preview"] .layers-panel[b-350epa3r4s] {
        display: grid;
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .label-builder[data-mobile-panel="preview"] .canvas-panel[b-350epa3r4s] {
        display: none;
    }

    .editor-panel .builder-section__heading[b-350epa3r4s],
    .layers-panel .builder-section__heading[b-350epa3r4s] {
        display: none;
    }

    .control-card[b-350epa3r4s] {
        border: 1px solid var(--border-soft);
        border-radius: .9rem;
        background: rgb(255 255 255 / .34);
        overflow: hidden;
    }

    .control-card summary[b-350epa3r4s] {
        min-height: 4.15rem;
        padding: .72rem .9rem;
        display: grid;
        grid-template-columns: 2rem minmax(0, .72fr) minmax(0, 1fr) 1.1rem;
        gap: .6rem;
        align-items: center;
        cursor: pointer;
        color: var(--text-main);
    }

    .control-card summary[b-350epa3r4s]::after {
        content: "⌄";
        grid-column: 4;
        color: var(--brand-primary);
        font-weight: 900;
        font-size: 1.1rem;
        transform: rotate(0deg);
        transition: transform .16s ease;
    }

    .control-card[open] summary[b-350epa3r4s]::after {
        transform: rotate(180deg);
    }

    .control-card summary span[b-350epa3r4s] {
        color: var(--brand-primary);
        font-size: 1.25rem;
        text-align: center;
    }

    .control-card summary strong[b-350epa3r4s] {
        font-size: .94rem;
    }

    .control-card summary em[b-350epa3r4s] {
        font-style: normal;
        color: var(--text-main);
        opacity: .9;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .control-card > :not(summary)[b-350epa3r4s] {
        margin: 0;
        padding: 0 .95rem .95rem;
    }

    .label-builder[data-mobile-panel="text"] .editor-panel .control-card[b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel .control-card[b-350epa3r4s],
    .label-builder[data-mobile-panel="position"] .editor-panel .control-card[b-350epa3r4s] {
        display: none;
    }

    .label-builder[data-mobile-panel="text"] .editor-panel [data-control-card="text"][b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel [data-control-card="font"][b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel [data-control-card="size"][b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel [data-control-card="align"][b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .editor-panel [data-control-card="color"][b-350epa3r4s],
    .label-builder[data-mobile-panel="position"] .editor-panel [data-control-card="position"][b-350epa3r4s] {
        display: block;
    }

    .label-builder[data-mobile-panel="style"] .selected-text-card[b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .add-text-button[b-350epa3r4s],
    .label-builder[data-mobile-panel="style"] .tips-box[b-350epa3r4s],
    .label-builder[data-mobile-panel="position"] .add-text-button[b-350epa3r4s],
    .label-builder[data-mobile-panel="position"] .tips-box[b-350epa3r4s] {
        display: none;
    }

    .tips-box[b-350epa3r4s] {
        display: none;
    }

    .mobile-color-dot[b-350epa3r4s] {
        display: block;
        margin-left: auto;
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 50%;
        background: #7f1024;
        border: 1px solid rgb(var(--rgb-wine) / .2);
        box-shadow: inset 0 0 0 4px rgb(255 255 255 / .55);
    }

    .layers-panel .side-preview[b-350epa3r4s] {
        display: none;
    }

    .label-builder[data-mobile-panel="preview"] .side-preview[b-350epa3r4s] {
        display: grid;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .label-builder[data-mobile-panel="preview"] .layer-list[b-350epa3r4s],
    .label-builder[data-mobile-panel="preview"] .layer-note[b-350epa3r4s],
    .label-builder[data-mobile-panel="preview"] .layer-actions[b-350epa3r4s],
    .label-builder[data-mobile-panel="preview"] .snap-toggle[b-350epa3r4s] {
        display: none;
    }

    .label-builder[data-mobile-panel="layers"] .side-preview[b-350epa3r4s] {
        display: none;
    }

    .label-builder[data-mobile-panel="preview"] .bottle-preview-card[b-350epa3r4s] {
        width: min(100%, 25rem);
    }

    .editor-finish-panel[b-350epa3r4s] {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1rem;
    }

    .editor-finish-panel .save-actions[b-350epa3r4s] {
        grid-template-columns: 1fr;
    }

    .mobile-builder-tabs[b-350epa3r4s] {
        position: sticky;
        bottom: 5.25rem;
        z-index: 6;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: .22rem;
        margin: .55rem auto 0;
        padding: .35rem;
        border: 1px solid rgb(var(--rgb-wine) / .14);
        border-radius: 1.35rem;
        background: rgb(var(--rgb-card) / .92);
        box-shadow: 0 14px 42px rgb(var(--rgb-wine-dark) / .13), inset 0 1px 0 rgb(255 255 255 / .62);
        backdrop-filter: blur(18px);
    }

    .mobile-builder-tabs button[b-350epa3r4s] {
        min-height: 3rem;
        border: 0;
        border-radius: 1rem;
        background: transparent;
        color: var(--text-muted);
        font-weight: 900;
        font-size: .68rem;
        cursor: pointer;
    }

    .mobile-builder-tabs button.is-active[b-350epa3r4s] {
        background: rgb(var(--rgb-wine) / .1);
        color: var(--brand-primary);
        box-shadow: inset 0 0 0 1px rgb(var(--rgb-wine) / .07);
    }

    .full-preview-modal__panel[b-350epa3r4s] {
        width: min(100%, 42rem);
        max-height: 92vh;
        grid-template-columns: 1fr;
        overflow-y: auto;
    }

    .full-preview-modal__frame[b-350epa3r4s] {
        height: min(58vh, 34rem);
    }
}

@media (max-width: 560px) {
    .labels-hero[b-350epa3r4s] {
        min-height: 21rem;
        background-position: 58% center;
    }

    .label-builder[b-350epa3r4s] {
        width: calc(100% - .8rem);
    }

    .occasion-list[b-350epa3r4s] {
        grid-auto-columns: 6.7rem;
    }

    .occasion-card[b-350epa3r4s] {
        min-height: 5.15rem;
    }

    .canvas-shell[b-350epa3r4s] {
        padding: .4rem;
    }

    .canvas-toolbar[b-350epa3r4s] {
        grid-template-columns: 2.45rem 2.45rem 1fr 2.45rem;
    }

    .editor-panel[b-350epa3r4s],
    .layers-panel[b-350epa3r4s] {
        padding-inline: .75rem;
    }

    .mobile-builder-tabs[b-350epa3r4s] {
        bottom: 5rem;
        border-radius: 1.2rem;
    }

    .mobile-builder-tabs button[b-350epa3r4s] {
        min-height: 2.8rem;
        font-size: .67rem;
    }

    .full-preview-modal[b-350epa3r4s] {
        padding: .65rem;
    }

    .full-preview-modal__panel[b-350epa3r4s] {
        border-radius: 1.25rem;
    }
}
/* /Components/Pages/Error.razor.rz.scp.css */
.error-page[b-n93mugkb6j] {
    min-height: 58vh;
    display: grid;
    place-content: center;
    justify-items: start;
    gap: 1rem;
    padding-block: clamp(4rem, 8vw, 7rem);
    position: relative;
}

.error-page[b-n93mugkb6j]::before {
    content: "";
    position: absolute;
    inset: 2rem max(0rem, 8vw);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-xl);
    background: radial-gradient(circle at 20% 24%, rgb(var(--rgb-gold) / .15), transparent 24rem);
    pointer-events: none;
}

.error-page > *[b-n93mugkb6j] {
    position: relative;
}

.error-page h1[b-n93mugkb6j] {
    margin: 0;
    font-size: clamp(2.6rem, 6vw, 5rem);
    max-width: 12ch;
    text-transform: uppercase;
}

.error-page p[b-n93mugkb6j] {
    max-width: 36rem;
    color: var(--text-muted);
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Mobile-first landing page. */
.landing-shell[b-gsti2hyggu] {
    width: min(1180px, calc(100% - 2rem));
    margin-inline: auto;
}

.landing-hero[b-gsti2hyggu] {
    position: relative;
    min-height: 42rem;
    min-height: max(42rem, calc(100svh - 4.35rem));
    display: grid;
    align-items: end;
    overflow: hidden;
    background: #2c241e;
}

.landing-hero__media[b-gsti2hyggu],
.landing-hero__overlay[b-gsti2hyggu] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.landing-hero__media[b-gsti2hyggu] {
    object-fit: cover;
    object-position: 72% center;
}

.landing-hero__overlay[b-gsti2hyggu] {
    background:
        linear-gradient(180deg, rgb(10 13 11 / .16) 0%, rgb(10 13 11 / .28) 36%, rgb(10 13 11 / .78) 72%, rgb(10 13 11 / .94) 100%),
        linear-gradient(90deg, rgb(10 13 11 / .6) 0%, rgb(10 13 11 / .38) 48%, rgb(10 13 11 / .08) 82%, transparent 100%);
}

.landing-hero__inner[b-gsti2hyggu] {
    position: relative;
    z-index: 1;
    padding-block: 6.25rem 2rem;
}

.landing-hero__content[b-gsti2hyggu] {
    width: min(100%, 36rem);
    color: #fffaf0;
}

.landing-kicker[b-gsti2hyggu] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .48rem .58rem;
    margin-bottom: .85rem;
    color: #e8bd69;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .14em;
    line-height: 1.35;
    text-transform: uppercase;
}

.landing-kicker > span[aria-hidden="true"][b-gsti2hyggu] {
    width: 1.4rem;
    height: 1px;
    background: #e8bd69;
}

.landing-hero h1[b-gsti2hyggu] {
    width: 100%;
    max-width: none;
    display: grid;
    gap: .02em;
    margin: 0;
    color: #fffdf7;
    font-size: clamp(2.25rem, 10.5vw, 3.65rem);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.035em;
    text-transform: none;
    text-shadow: 0 5px 28px rgb(0 0 0 / .3);
}

.landing-hero__title-line[b-gsti2hyggu] {
    display: block;
    width: max-content;
    max-width: none;
    white-space: nowrap;
}

.landing-hero p[b-gsti2hyggu] {
    max-width: 31rem;
    margin: 1rem 0 0;
    color: rgb(255 250 240 / .92);
    font-size: .94rem;
    line-height: 1.58;
    text-shadow: 0 2px 18px rgb(0 0 0 / .34);
}

.landing-hero__actions[b-gsti2hyggu] {
    width: 100%;
    display: grid;
    gap: .65rem;
    margin-top: 1.4rem;
}

/* Georgian needs more horizontal room and slightly calmer type metrics than English. */
.landing-hero--ka .landing-hero__content[b-gsti2hyggu] {
    width: min(100%, 42rem);
}

.landing-hero--ka .landing-kicker[b-gsti2hyggu] {
    font-size: .57rem;
    letter-spacing: .075em;
}

.landing-hero--ka h1[b-gsti2hyggu] {
    max-width: none;
    font-size: clamp(1.42rem, 6.7vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.012em;
}

.landing-hero--ka p[b-gsti2hyggu] {
    max-width: 33rem;
    font-size: .92rem;
    line-height: 1.66;
}

.landing-btn[b-gsti2hyggu] {
    min-height: 3.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: .82rem 1.2rem;
    border: 1px solid transparent;
    border-radius: .55rem;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.landing-btn--primary[b-gsti2hyggu] {
    border-color: #d2b166;
    background: #173829;
    color: #fffaf0;
    box-shadow: 0 12px 32px rgb(0 0 0 / .15);
}

.landing-btn--ghost[b-gsti2hyggu] {
    border-color: rgb(255 250 240 / .74);
    background: rgb(13 21 17 / .24);
    color: #fffaf0;
    backdrop-filter: blur(8px);
}

.landing-btn--light[b-gsti2hyggu] {
    border-color: #d3b36b;
    background: #f7f0df;
    color: #153426;
}

.landing-btn:hover[b-gsti2hyggu] {
    transform: translateY(-1px);
}

.landing-btn--primary:hover[b-gsti2hyggu] { background: #0e2d20; color: #fff; }
.landing-btn--ghost:hover[b-gsti2hyggu] { background: rgb(255 255 255 / .12); border-color: #fffaf0; color: #fff; }
.landing-btn--light:hover[b-gsti2hyggu] { background: #fff; color: #0f2a1e; }

.landing-wines[b-gsti2hyggu] {
    padding-block: 3.6rem;
    background:
        radial-gradient(circle at 0 10%, rgb(194 159 93 / .12), transparent 25rem),
        radial-gradient(circle at 100% 5%, rgb(118 92 53 / .08), transparent 26rem),
        #f8f3ea;
}

.landing-section-heading[b-gsti2hyggu] {
    width: min(100%, 52rem);
    margin: 0 auto 2rem;
    text-align: center;
}

.landing-eyebrow[b-gsti2hyggu] {
    display: inline-flex;
    align-items: center;
    gap: .62rem;
    color: #9b6c2d;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.landing-eyebrow[b-gsti2hyggu]::before,
.landing-eyebrow[b-gsti2hyggu]::after {
    content: "";
    width: 1.45rem;
    height: 1px;
    background: #c69d58;
}

.landing-section-heading h2[b-gsti2hyggu],
.landing-story h2[b-gsti2hyggu],
.landing-contact h2[b-gsti2hyggu],
.landing-custom h2[b-gsti2hyggu] {
    margin: .8rem 0 0;
    color: #1e1d18;
    font-weight: 500;
    letter-spacing: -.025em;
    text-transform: none;
}

.landing-section-heading h2[b-gsti2hyggu] {
    font-size: clamp(2.2rem, 10vw, 3.25rem);
}

.landing-section-heading p[b-gsti2hyggu] {
    margin: .7rem auto 0;
    color: #655e53;
    font-size: .94rem;
    line-height: 1.6;
}

/* Left-image / right-copy wine cards on every viewport. */
.landing-wine-grid[b-gsti2hyggu] {
    width: min(100%, 64rem);
    display: grid;
    gap: .85rem;
    margin-inline: auto;
}

.landing-wine-card[b-gsti2hyggu] {
    min-width: 0;
    min-height: 12.5rem;
    display: grid;
    grid-template-columns: minmax(7.5rem, 40%) minmax(0, 60%);
    overflow: hidden;
    border: 1px solid #e2d8c8;
    border-radius: .75rem;
    background: #fbf7ef;
    box-shadow: 0 14px 32px rgb(55 44 31 / .07);
    transition: transform .18s ease, box-shadow .18s ease;
}

.landing-wine-card__media[b-gsti2hyggu] {
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: #eee3d3;
}

.landing-wine-card__media img[b-gsti2hyggu] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}

.landing-wine-card:nth-child(1) .landing-wine-card__media img[b-gsti2hyggu] { object-position: 74% center; }
.landing-wine-card:nth-child(2) .landing-wine-card__media img[b-gsti2hyggu] { object-position: 24% center; }
.landing-wine-card:nth-child(3) .landing-wine-card__media img[b-gsti2hyggu] { object-position: 28% center; }

.landing-wine-card__body[b-gsti2hyggu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
}

.landing-wine-card__type[b-gsti2hyggu] {
    color: #98692d;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.landing-wine-card h3[b-gsti2hyggu] {
    margin: .38rem 0 .48rem;
    color: #1e1d18;
    font-size: clamp(1.35rem, 6.5vw, 1.75rem);
    font-weight: 500;
    line-height: 1.02;
    text-transform: none;
}

.landing-wine-card p[b-gsti2hyggu] {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 .75rem;
    color: #6b6358;
    font-size: .78rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.landing-wine-card a[b-gsti2hyggu],
.landing-text-link[b-gsti2hyggu] {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: auto;
    padding-bottom: .15rem;
    border-bottom: 1px solid #aa7d3c;
    color: #1a3a2b;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
}

.landing-custom[b-gsti2hyggu] {
    display: grid;
    background: #163426;
}

.landing-custom__media[b-gsti2hyggu] {
    min-height: 22rem;
    overflow: hidden;
}

.landing-custom__media img[b-gsti2hyggu] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.landing-custom__content[b-gsti2hyggu] {
    display: grid;
    align-items: center;
    background:
        radial-gradient(circle at 80% 15%, rgb(210 177 102 / .13), transparent 17rem),
        #163426;
    color: #f7f0df;
}

.landing-custom__inner[b-gsti2hyggu] {
    width: min(100%, 46rem);
    padding: 3rem 1rem;
}

.landing-eyebrow--light[b-gsti2hyggu] { color: #d8b460; }
.landing-eyebrow--light[b-gsti2hyggu]::before,
.landing-eyebrow--light[b-gsti2hyggu]::after { background: #d8b460; }

.landing-custom h2[b-gsti2hyggu] {
    max-width: 10ch;
    color: #fffaf0;
    font-size: clamp(2.5rem, 11vw, 3.7rem);
    line-height: .98;
}

.landing-custom p[b-gsti2hyggu] {
    max-width: 34rem;
    margin: 1rem 0 1.55rem;
    color: rgb(247 240 223 / .84);
    font-size: .95rem;
    line-height: 1.62;
}

.landing-custom__uses[b-gsti2hyggu] {
    display: grid;
    gap: .72rem;
    margin-top: 1.7rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgb(229 203 145 / .28);
    color: rgb(247 240 223 / .78);
    font-size: .74rem;
}

.landing-custom__uses span[b-gsti2hyggu] {
    position: relative;
    padding-left: 1rem;
}

.landing-custom__uses span[b-gsti2hyggu]::before {
    content: "";
    position: absolute;
    left: 0;
    top: .42rem;
    width: .35rem;
    height: .35rem;
    border-radius: 50%;
    background: #d8b460;
}

.landing-story[b-gsti2hyggu] {
    padding-block: 3.5rem;
    background: #efe7da;
}

.landing-story__grid[b-gsti2hyggu] {
    display: grid;
    gap: 2rem;
    align-items: center;
}

.landing-story__copy[b-gsti2hyggu] {
    padding-block: .3rem;
}

.landing-story h2[b-gsti2hyggu] {
    max-width: 11ch;
    font-size: clamp(2.35rem, 10vw, 3.55rem);
    line-height: 1;
}

.landing-story p[b-gsti2hyggu] {
    margin: 1rem 0 1.35rem;
    color: #655d52;
    font-size: .95rem;
    line-height: 1.68;
}

.landing-story__media[b-gsti2hyggu] {
    overflow: hidden;
    border-radius: .75rem;
    box-shadow: 0 20px 48px rgb(55 44 31 / .14);
}

.landing-story__media img[b-gsti2hyggu] {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.landing-contact[b-gsti2hyggu] {
    padding-block: 3.5rem;
    border-top: 1px solid #dfd4c4;
    background: #faf6ee;
}

.landing-contact__grid[b-gsti2hyggu] {
    display: grid;
    gap: 2rem;
    align-items: start;
}

.landing-contact__intro h2[b-gsti2hyggu] {
    font-size: clamp(2.35rem, 10vw, 3.4rem);
}

.landing-contact__intro p[b-gsti2hyggu] {
    max-width: 34rem;
    margin: .9rem 0 1.45rem;
    color: #655d52;
    font-size: .94rem;
    line-height: 1.65;
}

.landing-contact__details[b-gsti2hyggu] {
    display: grid;
    gap: .75rem;
}

.landing-contact-card[b-gsti2hyggu] {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: .75rem;
    align-content: start;
    padding: 1rem;
    border: 1px solid #e0d6c7;
    border-radius: .7rem;
    background: #fffaf2;
}

.landing-contact-card > span[b-gsti2hyggu] {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border: 1px solid #c8aa67;
    border-radius: 50%;
    color: #a37535;
}

.landing-contact-card strong[b-gsti2hyggu] {
    display: block;
    margin-bottom: .3rem;
    color: #1d3328;
    font-size: .68rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.landing-contact-card a[b-gsti2hyggu],
.landing-contact-card p[b-gsti2hyggu] {
    margin: 0;
    color: #645d53;
    font-size: .86rem;
    line-height: 1.5;
}

.landing-contact-card a[b-gsti2hyggu] { text-underline-offset: .18rem; }


@media (max-width: 380px) {
    .landing-shell[b-gsti2hyggu] {
        width: min(1180px, calc(100% - 1.4rem));
    }

    .landing-hero__inner[b-gsti2hyggu] {
        padding-bottom: 1.5rem;
    }

    .landing-hero h1[b-gsti2hyggu] {
        font-size: clamp(2.05rem, 10vw, 2.85rem);
    }

    .landing-hero--ka h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(1.34rem, 6.25vw, 2.2rem);
    }

    .landing-hero p[b-gsti2hyggu],
    .landing-hero--ka p[b-gsti2hyggu] {
        font-size: .88rem;
    }
}

@media (min-width: 560px) {
    .landing-shell[b-gsti2hyggu] {
        width: min(1180px, calc(100% - 2.6rem));
    }

    .landing-hero--en .landing-hero__actions[b-gsti2hyggu] {
        width: fit-content;
        grid-template-columns: repeat(2, auto);
    }

    .landing-wine-card[b-gsti2hyggu] {
        min-height: 15rem;
        grid-template-columns: minmax(12rem, 42%) minmax(0, 58%);
    }

    .landing-wine-card__body[b-gsti2hyggu] {
        padding: 1.25rem 1.35rem;
    }

    .landing-wine-card p[b-gsti2hyggu] {
        font-size: .88rem;
        -webkit-line-clamp: 4;
    }

    .landing-wine-card a[b-gsti2hyggu] {
        font-size: .78rem;
    }

    .landing-custom__inner[b-gsti2hyggu] {
        padding: 3.5rem 2rem;
    }

    .landing-custom__uses[b-gsti2hyggu],
    .landing-contact__details[b-gsti2hyggu] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 780px) {
    .landing-shell[b-gsti2hyggu] {
        width: min(1180px, calc(100% - 3.5rem));
    }

    .landing-hero[b-gsti2hyggu] {
        min-height: 40rem;
        min-height: max(40rem, calc(100svh - 4.35rem));
        align-items: center;
    }

    .landing-hero__media[b-gsti2hyggu] {
        object-position: 67% center;
    }

    .landing-hero__overlay[b-gsti2hyggu] {
        background:
            linear-gradient(90deg, rgb(13 16 13 / .72) 0%, rgb(13 16 13 / .5) 44%, rgb(13 16 13 / .12) 76%, transparent 100%),
            linear-gradient(180deg, rgb(0 0 0 / .06), rgb(0 0 0 / .28));
    }

    .landing-hero__inner[b-gsti2hyggu] {
        padding-block: 4.25rem;
    }

    .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 46rem);
    }

    .landing-hero h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(3.7rem, 7vw, 5rem);
    }

    .landing-hero p[b-gsti2hyggu] {
        max-width: 36rem;
        margin-top: 1.2rem;
        font-size: 1.02rem;
    }

    .landing-hero__actions[b-gsti2hyggu] {
        width: fit-content;
        grid-template-columns: repeat(2, auto);
        margin-top: 1.65rem;
    }

    .landing-hero--ka .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 49rem);
    }

    .landing-hero--ka h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(2.4rem, 4.5vw, 3.55rem);
        line-height: 1.06;
    }

    .landing-hero--ka p[b-gsti2hyggu] {
        max-width: 39rem;
        font-size: 1rem;
    }

    .landing-section-heading[b-gsti2hyggu] {
        margin-bottom: 2.7rem;
    }

    .landing-wine-card[b-gsti2hyggu] {
        min-height: 17rem;
    }

    .landing-wine-card__body[b-gsti2hyggu] {
        padding: 1.6rem 1.8rem;
    }

    .landing-wine-card h3[b-gsti2hyggu] {
        font-size: 2rem;
    }

    .landing-wine-card p[b-gsti2hyggu] {
        font-size: .94rem;
        line-height: 1.58;
        -webkit-line-clamp: 5;
    }

    .landing-story__grid[b-gsti2hyggu],
    .landing-contact__grid[b-gsti2hyggu] {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: clamp(2rem, 5vw, 4.5rem);
    }

    .landing-story__copy[b-gsti2hyggu] {
        padding-block: 1rem;
    }
}

@media (min-width: 1020px) {
    .landing-hero[b-gsti2hyggu] {
        min-height: 40rem;
        min-height: clamp(40rem, calc(100svh - 5rem), 50rem);
        align-items: center;
    }

    .landing-hero__media[b-gsti2hyggu] {
        object-position: center;
    }

    .landing-hero__overlay[b-gsti2hyggu] {
        background:
            linear-gradient(90deg, rgb(17 19 15 / .78) 0%, rgb(17 19 15 / .6) 34%, rgb(17 19 15 / .22) 61%, rgb(17 19 15 / .04) 100%),
            linear-gradient(180deg, rgb(0 0 0 / .05), rgb(0 0 0 / .2));
    }

    .landing-hero__inner[b-gsti2hyggu] {
        padding-block: 4.75rem;
    }

    .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 48rem);
        transform: translateY(-.45rem);
    }

    .landing-kicker[b-gsti2hyggu] {
        margin-bottom: 1rem;
        font-size: .64rem;
        letter-spacing: .17em;
    }

    .landing-hero h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(4.35rem, 5vw, 5.45rem);
    }

    .landing-hero p[b-gsti2hyggu] {
        max-width: 37rem;
        font-size: 1.08rem;
        line-height: 1.62;
    }

    .landing-hero--ka .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 54rem);
        transform: translateY(-.8rem);
    }

    .landing-hero--ka .landing-kicker[b-gsti2hyggu] {
        font-size: .62rem;
        letter-spacing: .08em;
    }

    .landing-hero--ka h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(2.75rem, 3.55vw, 3.85rem);
        line-height: 1.06;
    }

    .landing-hero--ka p[b-gsti2hyggu] {
        max-width: 41rem;
        font-size: 1.06rem;
    }

    .landing-wines[b-gsti2hyggu] {
        padding-block: 5.5rem;
    }

    .landing-section-heading h2[b-gsti2hyggu] {
        font-size: 3.8rem;
    }

    .landing-wine-grid[b-gsti2hyggu] {
        gap: 1rem;
    }

    .landing-wine-card[b-gsti2hyggu] {
        min-height: 18.5rem;
        grid-template-columns: minmax(18rem, 40%) minmax(0, 60%);
    }

    .landing-wine-card:hover[b-gsti2hyggu] {
        transform: translateY(-2px);
        box-shadow: 0 22px 48px rgb(55 44 31 / .11);
    }

    .landing-wine-card:hover .landing-wine-card__media img[b-gsti2hyggu] {
        transform: scale(1.02);
    }

    .landing-wine-card__body[b-gsti2hyggu] {
        padding: 2rem 2.25rem;
    }

    .landing-wine-card__type[b-gsti2hyggu] {
        font-size: .68rem;
        letter-spacing: .16em;
    }

    .landing-wine-card h3[b-gsti2hyggu] {
        margin: .55rem 0 .65rem;
        font-size: 2.35rem;
    }

    .landing-wine-card p[b-gsti2hyggu] {
        margin-bottom: 1.3rem;
        font-size: .98rem;
        -webkit-line-clamp: unset;
    }

    .landing-custom[b-gsti2hyggu] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        min-height: 37rem;
    }

    .landing-custom__media[b-gsti2hyggu] {
        min-height: 100%;
    }

    .landing-custom__inner[b-gsti2hyggu] {
        width: min(100%, 37rem);
        padding: clamp(3.5rem, 6vw, 5.5rem);
    }

    .landing-custom h2[b-gsti2hyggu] {
        font-size: 4.25rem;
    }

    .landing-story[b-gsti2hyggu],
    .landing-contact[b-gsti2hyggu] {
        padding-block: 5.5rem;
    }
}

@media (min-width: 1280px) {
    .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 50rem);
        transform: translateY(-.7rem);
    }

    .landing-hero h1[b-gsti2hyggu] {
        font-size: clamp(4.9rem, 4.55vw, 5.7rem);
    }

    .landing-hero--ka .landing-hero__content[b-gsti2hyggu] {
        width: min(100%, 56rem);
        transform: translateY(-1rem);
    }

    .landing-hero--ka h1[b-gsti2hyggu] {
        max-width: none;
        font-size: clamp(3.1rem, 3.2vw, 4rem);
    }
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
.not-found-page[b-ltp4uf4sot] {
    min-height: 58vh;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 1rem;
    text-align: center;
    padding-block: clamp(4rem, 8vw, 7rem);
    position: relative;
}

.not-found-page[b-ltp4uf4sot]::before {
    content: "";
    position: absolute;
    inset: 2rem max(0rem, 8vw);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-xl);
    background: radial-gradient(circle at 50% 20%, rgb(var(--rgb-gold) / .15), transparent 24rem);
    pointer-events: none;
}

.not-found-page > *[b-ltp4uf4sot] {
    position: relative;
}

.not-found-page h1[b-ltp4uf4sot] {
    margin: 0;
    font-size: clamp(3rem, 8vw, 6rem);
    text-transform: uppercase;
}

.not-found-page p[b-ltp4uf4sot] {
    max-width: 34rem;
    margin: 0 auto 1rem;
}

.not-found-page .btn[b-ltp4uf4sot] {
    justify-self: center;
}
/* /Components/Pages/Wines.razor.rz.scp.css */
/* Product page — mobile first. The mobile composition follows the approved mockup,
   then progressively opens into tablet and desktop layouts without changing the
   information hierarchy. */
.product-page[b-e6vs96d9ec] {
    --product-green: #0f4b31;
    --product-green-dark: #0b3c27;
    --product-burgundy: #7f1024;
    --product-gold: #b98843;
    --product-ink: #201c17;
    --product-muted: #71675c;
    --product-line: #dfd3c3;
    --product-paper: #fbf7ef;
    padding: .72rem 0 3rem;
    background:
        radial-gradient(circle at 12% 0%, rgb(210 175 112 / .11), transparent 24rem),
        linear-gradient(180deg, #fbf8f1 0%, #f8f2e8 100%);
}

.product-shell[b-e6vs96d9ec] {
    width: min(1440px, calc(100% - 1rem));
    margin-inline: auto;
}

.product-breadcrumb[b-e6vs96d9ec] {
    display: none;
}

.product-layout[b-e6vs96d9ec] {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.product-gallery[b-e6vs96d9ec],
.product-details[b-e6vs96d9ec],
.product-custom[b-e6vs96d9ec] {
    min-width: 0;
}

/* Gallery */
.product-gallery__stage[b-e6vs96d9ec] {
    position: relative;
    aspect-ratio: 1 / 1.07;
    overflow: hidden;
    border: 1px solid #d8c7b2;
    border-radius: .78rem;
    background: #dfcfbd;
    box-shadow: 0 12px 30px rgb(55 42 29 / .09);
}

.product-gallery__stage img[b-e6vs96d9ec] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 50%;
}

.product-gallery__count[b-e6vs96d9ec] {
    position: absolute;
    top: .72rem;
    right: .72rem;
    min-width: 2.4rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    padding-inline: .5rem;
    border: 1px solid rgb(255 255 255 / .16);
    border-radius: .65rem;
    background: rgb(34 57 45 / .86);
    color: #fffdf8;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .02em;
    backdrop-filter: blur(8px);
}

.product-gallery__thumbs[b-e6vs96d9ec] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 4.2rem;
    gap: .42rem;
    margin-top: .45rem;
    overflow-x: auto;
    padding: .05rem .02rem .28rem;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.product-gallery__thumbs[b-e6vs96d9ec]::-webkit-scrollbar {
    display: none;
}

.product-thumb[b-e6vs96d9ec] {
    aspect-ratio: 1 / .86;
    overflow: hidden;
    padding: 0;
    border: 1px solid #d9cbb9;
    border-radius: .42rem;
    background: #eee4d6;
    cursor: pointer;
    scroll-snap-align: start;
}

.product-thumb.is-active[b-e6vs96d9ec] {
    border: 2px solid #6a1d28;
    box-shadow: 0 0 0 2px #f8f2e8;
}

.product-thumb img[b-e6vs96d9ec] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Summary */
.product-details[b-e6vs96d9ec] {
    padding: .08rem .45rem 0;
}

.product-summary[b-e6vs96d9ec] {
    min-width: 0;
}

.product-eyebrow[b-e6vs96d9ec] {
    display: none;
}

.product-details h1[b-e6vs96d9ec] {
    max-width: 14ch;
    margin: .08rem 0 0;
    color: var(--product-ink);
    font-family: var(--font-serif);
    font-size: clamp(2.35rem, 9.8vw, 3rem);
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: balance;
    text-transform: none;
}

.product-page--ka .product-details h1[b-e6vs96d9ec] {
    letter-spacing: -.025em;
    line-height: 1.02;
}

.product-meta[b-e6vs96d9ec] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .28rem .48rem;
    margin: .45rem 0 0;
    color: #8b5e39;
    font-family: var(--font-serif);
    font-size: .83rem;
    font-weight: 600;
    line-height: 1.35;
}

.product-meta span[aria-hidden="true"][b-e6vs96d9ec] {
    color: #c3ac90;
}

.product-description[b-e6vs96d9ec] {
    max-width: 62ch;
    margin: .72rem 0 0;
    color: #3d3831;
    font-family: var(--font-serif);
    font-size: .9rem;
    line-height: 1.56;
}

.product-page--ka .product-description[b-e6vs96d9ec] {
    line-height: 1.68;
}

/* The information ribbon shown directly above the primary CTA. */
.product-facts[b-e6vs96d9ec] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 1rem 0 .72rem;
    overflow: hidden;
    border: 1px solid #e0d5c6;
    border-radius: .68rem;
    background: rgb(251 247 239 / .88);
    box-shadow: 0 8px 20px rgb(56 43 31 / .045);
}

.product-fact[b-e6vs96d9ec] {
    position: relative;
    min-width: 0;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: .22rem;
    padding: .62rem .18rem .58rem;
    text-align: center;
}

.product-fact + .product-fact[b-e6vs96d9ec]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    bottom: 18%;
    width: 1px;
    background: #e4dacc;
}

.product-fact__icon[b-e6vs96d9ec] {
    width: 1.65rem;
    height: 1.65rem;
    fill: none;
    stroke: #25231e;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-fact strong[b-e6vs96d9ec] {
    width: 100%;
    color: #27231e;
    font-family: var(--font-serif);
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.14;
    overflow-wrap: anywhere;
}

.product-fact > span:last-child[b-e6vs96d9ec] {
    width: 100%;
    color: #82766a;
    font-size: .5rem;
    font-weight: 700;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.product-page--ka .product-fact strong[b-e6vs96d9ec] {
    font-size: .62rem;
}

.product-page--ka .product-fact > span:last-child[b-e6vs96d9ec] {
    font-size: .47rem;
}

.product-order[b-e6vs96d9ec] {
    min-height: 3.05rem;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: .8rem;
    padding: .72rem 1rem;
    border: 1px solid #0d442c;
    border-radius: .5rem;
    background: linear-gradient(180deg, #17623f, var(--product-green));
    color: #fffdf7;
    font-family: var(--font-serif);
    font-size: .96rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 10px 22px rgb(15 73 49 / .16);
}

.product-order > span:first-child[b-e6vs96d9ec] {
    justify-self: center;
    padding-left: 1.2rem;
}

.product-order__arrow[b-e6vs96d9ec] {
    font-family: system-ui, sans-serif;
    font-size: 1rem;
}

.product-order:hover[b-e6vs96d9ec] {
    color: #fff;
    background: var(--product-green-dark);
}

.product-order-note[b-e6vs96d9ec] {
    margin: .52rem .12rem 0;
    color: #7d7368;
    font-size: .63rem;
    line-height: 1.45;
    text-align: center;
}

/* Accordions remain part of the product information hierarchy at every viewport. */
.product-accordions[b-e6vs96d9ec] {
    margin-top: .88rem;
    border-top: 1px solid #e2d7c7;
}

.product-accordion[b-e6vs96d9ec] {
    border-bottom: 1px solid #e2d7c7;
}

.product-accordion > summary[b-e6vs96d9ec] {
    min-height: 3rem;
    display: grid;
    grid-template-columns: 1.55rem 1fr 1.2rem;
    align-items: center;
    gap: .62rem;
    padding: .68rem .08rem;
    color: #27231e;
    font-family: var(--font-serif);
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.product-accordion > summary[b-e6vs96d9ec]::-webkit-details-marker {
    display: none;
}

.product-accordion__icon[b-e6vs96d9ec],
.product-accordion__chevron[b-e6vs96d9ec] {
    fill: none;
    stroke: #283226;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-accordion__icon[b-e6vs96d9ec] {
    width: 1.42rem;
    height: 1.42rem;
}

.product-accordion__chevron[b-e6vs96d9ec] {
    width: 1rem;
    height: 1rem;
    justify-self: end;
    transition: transform .16s ease;
}

.product-accordion[open] .product-accordion__chevron[b-e6vs96d9ec] {
    transform: rotate(180deg);
}

.product-accordion__body[b-e6vs96d9ec] {
    padding: 0 2.17rem .88rem;
    color: #665e55;
    font-family: var(--font-serif);
    font-size: .8rem;
    line-height: 1.55;
}

.product-accordion__body dl[b-e6vs96d9ec] {
    margin: 0;
}

.product-accordion__body dl > div[b-e6vs96d9ec] {
    display: grid;
    grid-template-columns: minmax(6rem, .8fr) minmax(0, 1.2fr);
    gap: .75rem;
    padding: .38rem 0;
    border-bottom: 1px solid #eadfd0;
}

.product-accordion__body dl > div:last-child[b-e6vs96d9ec] {
    border-bottom: 0;
}

.product-accordion__body dt[b-e6vs96d9ec],
.product-accordion__body dd[b-e6vs96d9ec] {
    margin: 0;
}

.product-accordion__body dt[b-e6vs96d9ec] {
    color: #504941;
    font-weight: 700;
}

.product-specs--desktop[b-e6vs96d9ec] {
    display: none;
}

/* Custom-label promo */
.product-custom[b-e6vs96d9ec] {
    display: grid;
    grid-template-columns: minmax(7.7rem, .82fr) minmax(0, 1.18fr);
    align-items: stretch;
    overflow: hidden;
    margin: .3rem .45rem 0;
    border: 1px solid #e2d6c5;
    border-radius: .75rem;
    background: #f4eadc;
    box-shadow: 0 10px 24px rgb(55 43 30 / .07);
}

.product-custom__media[b-e6vs96d9ec] {
    min-height: 10.7rem;
    overflow: hidden;
}

.product-custom__media img[b-e6vs96d9ec] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 45% center;
}

.product-custom__copy[b-e6vs96d9ec] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: .8rem .8rem .8rem .75rem;
}

.product-custom h2[b-e6vs96d9ec] {
    margin: 0;
    color: #241f19;
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1;
    text-wrap: balance;
    text-transform: none;
}

.product-page--ka .product-custom h2[b-e6vs96d9ec] {
    line-height: 1.08;
}

.product-custom p[b-e6vs96d9ec] {
    display: -webkit-box;
    overflow: hidden;
    margin: .45rem 0 0;
    color: #665e54;
    font-family: var(--font-serif);
    font-size: .68rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.product-custom__button[b-e6vs96d9ec] {
    width: fit-content;
    min-height: 2.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    margin-top: .65rem;
    padding: .52rem .72rem;
    border: 0;
    border-radius: .4rem;
    background: #173f2b;
    color: #fffaf1;
    font-family: var(--font-serif);
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
}

/* Related wines */
.other-wines[b-e6vs96d9ec] {
    padding: .9rem 0 6.2rem;
    border-top: 0;
    background: #f8f2e8;
}

.other-wines__heading[b-e6vs96d9ec] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .8rem;
    margin: 0 .45rem .7rem;
    text-align: left;
}

.other-wines__heading .product-eyebrow[b-e6vs96d9ec] {
    display: none;
}

.other-wines__heading h2[b-e6vs96d9ec] {
    max-width: 22rem;
    margin: 0;
    color: #25211c;
    font-family: var(--font-serif);
    font-size: 1.04rem;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.12;
    text-transform: none;
}

.other-wines__view-all[b-e6vs96d9ec] {
    flex: 0 0 auto;
    color: #433b32;
    font-size: .65rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.other-wines__grid[b-e6vs96d9ec] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(7.4rem, 31vw);
    gap: .55rem;
    overflow-x: auto;
    padding: 0 .45rem .35rem;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.other-wines__grid[b-e6vs96d9ec]::-webkit-scrollbar {
    display: none;
}

.other-wine-card[b-e6vs96d9ec] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e3d8c9;
    border-radius: .55rem;
    background: #f9f4eb;
    box-shadow: 0 7px 18px rgb(56 44 32 / .045);
    scroll-snap-align: start;
}

.other-wine-card.is-current[b-e6vs96d9ec] {
    border-color: #c9a06b;
}

.other-wine-card__media[b-e6vs96d9ec] {
    height: 7rem;
    display: block;
    overflow: hidden;
    background: #efe3d3;
}

.other-wine-card__media img[b-e6vs96d9ec] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.other-wine-card__body[b-e6vs96d9ec] {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: .55rem .55rem .62rem;
}

.other-wine-card h3[b-e6vs96d9ec] {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #2a251f;
    font-family: var(--font-serif);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.other-wine-card p[b-e6vs96d9ec] {
    display: -webkit-box;
    overflow: hidden;
    margin: .2rem 0 .45rem;
    color: #756b5f;
    font-family: var(--font-serif);
    font-size: .58rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.other-wine-card__link[b-e6vs96d9ec] {
    width: fit-content;
    margin-top: auto;
    color: #4b4035;
    font-size: .55rem;
    font-weight: 800;
    text-decoration: none;
}

/* Sticky conversion bar on phone-sized layouts only. */
.mobile-order-bar[b-e6vs96d9ec] {
    position: fixed;
    left: .5rem;
    right: .5rem;
    bottom: max(.5rem, env(safe-area-inset-bottom));
    z-index: 120;
    min-height: 4.3rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .55rem .55rem .55rem .75rem;
    border: 1px solid #d9ccb9;
    border-radius: .9rem;
    background: rgb(250 247 240 / .97);
    box-shadow: 0 16px 40px rgb(30 25 18 / .2);
    backdrop-filter: blur(16px);
}

.mobile-order-bar__meta[b-e6vs96d9ec] {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.mobile-order-bar__meta strong[b-e6vs96d9ec] {
    overflow: hidden;
    color: #28231e;
    font-family: var(--font-serif);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-order-bar__meta span[b-e6vs96d9ec] {
    overflow: hidden;
    color: #786d60;
    font-size: .6rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-order-bar > a[b-e6vs96d9ec] {
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .65rem .85rem;
    border-radius: .48rem;
    background: #0f4b31;
    color: #fffaf2;
    font-family: var(--font-serif);
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

/* Very small phones: protect the information ribbon from impossible text widths. */
@media (max-width: 350px) {
    .product-shell[b-e6vs96d9ec] {
        width: min(1440px, calc(100% - .65rem));
    }

    .product-details[b-e6vs96d9ec] {
        padding-inline: .3rem;
    }

    .product-details h1[b-e6vs96d9ec] {
        font-size: 2.1rem;
    }

    .product-facts[b-e6vs96d9ec] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-fact:nth-child(3)[b-e6vs96d9ec]::before {
        display: none;
    }

    .product-fact:nth-child(n + 3)[b-e6vs96d9ec] {
        border-top: 1px solid #e4dacc;
    }

    .product-custom[b-e6vs96d9ec] {
        grid-template-columns: minmax(6.7rem, .78fr) minmax(0, 1.22fr);
    }

    .product-custom h2[b-e6vs96d9ec] {
        font-size: 1.12rem;
    }

    .other-wines__grid[b-e6vs96d9ec] {
        grid-auto-columns: 7rem;
    }

    .mobile-order-bar__meta strong[b-e6vs96d9ec] {
        font-size: .76rem;
    }

    .mobile-order-bar > a[b-e6vs96d9ec] {
        padding-inline: .68rem;
        font-size: .7rem;
    }
}

/* Large phones and small portrait tablets — still one column, just roomier. */
@media (min-width: 520px) {
    .product-shell[b-e6vs96d9ec] {
        width: min(1440px, calc(100% - 2rem));
    }

    .product-gallery__stage[b-e6vs96d9ec] {
        aspect-ratio: 1.12 / 1;
    }

    .product-gallery__thumbs[b-e6vs96d9ec] {
        grid-auto-columns: 5rem;
        gap: .55rem;
    }

    .product-details[b-e6vs96d9ec] {
        padding-inline: .7rem;
    }

    .product-details h1[b-e6vs96d9ec] {
        font-size: clamp(2.65rem, 7vw, 3.25rem);
    }

    .product-meta[b-e6vs96d9ec] {
        font-size: .92rem;
    }

    .product-description[b-e6vs96d9ec] {
        font-size: .96rem;
    }

    .product-fact[b-e6vs96d9ec] {
        padding-block: .72rem .66rem;
    }

    .product-fact strong[b-e6vs96d9ec] {
        font-size: .74rem;
    }

    .product-fact > span:last-child[b-e6vs96d9ec] {
        font-size: .55rem;
    }

    .product-custom[b-e6vs96d9ec] {
        margin-inline: .7rem;
        grid-template-columns: minmax(10rem, .85fr) minmax(0, 1.15fr);
    }

    .product-custom h2[b-e6vs96d9ec] {
        font-size: 1.62rem;
    }

    .product-custom p[b-e6vs96d9ec] {
        font-size: .76rem;
    }

    .other-wines__heading[b-e6vs96d9ec] {
        margin-inline: .7rem;
    }

    .other-wines__grid[b-e6vs96d9ec] {
        grid-auto-columns: 9rem;
        padding-inline: .7rem;
    }

    .other-wine-card__media[b-e6vs96d9ec] {
        height: 8.5rem;
    }
}

/* Tablet: gallery and product information sit together. The facts become 2x2
   temporarily so the detail column never gets squeezed during the transition. */
@media (min-width: 760px) {
    .product-page[b-e6vs96d9ec] {
        padding: 1.15rem 0 4rem;
    }

    .product-shell[b-e6vs96d9ec] {
        width: min(1440px, calc(100% - 2.6rem));
    }

    .product-layout[b-e6vs96d9ec] {
        grid-template-columns: minmax(0, .94fr) minmax(20rem, 1.06fr);
        gap: clamp(1.25rem, 2.7vw, 2rem);
    }

    .product-gallery__stage[b-e6vs96d9ec] {
        aspect-ratio: 4 / 5;
        border-radius: .62rem;
    }

    .product-gallery__thumbs[b-e6vs96d9ec] {
        grid-auto-columns: 4.8rem;
    }

    .product-details[b-e6vs96d9ec] {
        padding: .05rem 0 0;
    }

    .product-eyebrow[b-e6vs96d9ec] {
        display: inline-flex;
        align-items: center;
        gap: .48rem;
        color: #8e1730;
        font-size: .59rem;
        font-weight: 900;
        letter-spacing: .18em;
        text-transform: uppercase;
    }

    .product-eyebrow[b-e6vs96d9ec]::after {
        content: "";
        width: 1.6rem;
        height: 1px;
        background: #c59752;
    }

    .product-details h1[b-e6vs96d9ec] {
        margin-top: .42rem;
        font-size: 2.85rem;
    }

    .product-page--ka .product-details h1[b-e6vs96d9ec] {
        font-size: 2.65rem;
    }

    .product-meta[b-e6vs96d9ec] {
        margin-top: .48rem;
        font-size: .9rem;
    }

    .product-description[b-e6vs96d9ec] {
        margin-top: .75rem;
        font-size: .89rem;
    }

    .product-facts[b-e6vs96d9ec] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: .9rem;
    }

    .product-fact:nth-child(3)[b-e6vs96d9ec]::before {
        display: none;
    }

    .product-fact:nth-child(n + 3)[b-e6vs96d9ec] {
        border-top: 1px solid #e4dacc;
    }

    .product-fact strong[b-e6vs96d9ec] {
        font-size: .74rem;
    }

    .product-fact > span:last-child[b-e6vs96d9ec] {
        font-size: .54rem;
    }

    .product-order-note[b-e6vs96d9ec] {
        text-align: left;
    }

    .product-custom[b-e6vs96d9ec] {
        grid-column: 1 / -1;
        grid-template-columns: minmax(16rem, .88fr) minmax(0, 1.12fr);
        margin: .25rem 0 0;
    }

    .product-custom__media[b-e6vs96d9ec] {
        min-height: 14rem;
    }

    .product-custom__copy[b-e6vs96d9ec] {
        padding: 1.25rem 1.35rem;
    }

    .product-custom h2[b-e6vs96d9ec] {
        font-size: 2rem;
    }

    .product-custom p[b-e6vs96d9ec] {
        display: block;
        font-size: .86rem;
    }

    .product-custom__button[b-e6vs96d9ec] {
        min-height: 2.7rem;
        margin-top: .9rem;
        padding-inline: .9rem;
        font-size: .82rem;
    }

    .other-wines[b-e6vs96d9ec] {
        padding: 2.4rem 0 3.8rem;
    }

    .other-wines__heading[b-e6vs96d9ec] {
        margin: 0 0 1.2rem;
    }

    .other-wines__heading h2[b-e6vs96d9ec] {
        font-size: 1.65rem;
    }

    .other-wines__grid[b-e6vs96d9ec] {
        grid-auto-columns: minmax(12rem, 29vw);
        padding-inline: 0;
    }

    .mobile-order-bar[b-e6vs96d9ec] {
        display: none;
    }
}

/* Laptop / landscape tablet: more breathing room, 4-up ribbon, breadcrumbs. */
@media (min-width: 960px) {
    .product-page[b-e6vs96d9ec] {
        padding-top: 1.35rem;
    }

    .product-shell[b-e6vs96d9ec] {
        width: min(1440px, calc(100% - 3.5rem));
    }

    .product-breadcrumb[b-e6vs96d9ec] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .42rem;
        margin-bottom: .95rem;
        color: #746b60;
        font-family: var(--font-serif);
        font-size: .74rem;
    }

    .product-breadcrumb a[b-e6vs96d9ec] {
        color: #514a41;
        text-decoration: none;
    }

    .product-layout[b-e6vs96d9ec] {
        grid-template-columns: minmax(26rem, .98fr) minmax(25rem, 1.02fr);
        gap: clamp(1.7rem, 3vw, 2.7rem);
    }

    .product-gallery__thumbs[b-e6vs96d9ec] {
        grid-auto-columns: 5.2rem;
    }

    .product-details h1[b-e6vs96d9ec] {
        font-size: clamp(3.15rem, 4.4vw, 4.1rem);
    }

    .product-page--ka .product-details h1[b-e6vs96d9ec] {
        font-size: clamp(2.95rem, 4vw, 3.75rem);
    }

    .product-meta[b-e6vs96d9ec] {
        font-size: 1rem;
    }

    .product-description[b-e6vs96d9ec] {
        font-size: .96rem;
        line-height: 1.62;
    }

    .product-facts[b-e6vs96d9ec] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: 1.15rem;
    }

    .product-fact:nth-child(3)[b-e6vs96d9ec]::before {
        display: block;
    }

    .product-fact:nth-child(n + 3)[b-e6vs96d9ec] {
        border-top: 0;
    }

    .product-fact strong[b-e6vs96d9ec] {
        font-size: .72rem;
    }

    .product-fact > span:last-child[b-e6vs96d9ec] {
        font-size: .54rem;
    }

    .product-order[b-e6vs96d9ec] {
        min-height: 3.35rem;
        margin-top: .82rem;
        font-size: 1rem;
    }

    .product-accordion > summary[b-e6vs96d9ec] {
        min-height: 3.15rem;
        font-size: .92rem;
    }

    .product-custom[b-e6vs96d9ec] {
        min-height: 16rem;
        grid-template-columns: minmax(20rem, .95fr) minmax(0, 1.05fr);
    }

    .product-custom__media[b-e6vs96d9ec] {
        min-height: 16rem;
    }

    .other-wines[b-e6vs96d9ec] {
        padding: 3.2rem 0 4rem;
        border-top: 1px solid #e5dacb;
    }

    .other-wines__heading[b-e6vs96d9ec] {
        display: block;
        margin-bottom: 1.55rem;
        text-align: center;
    }

    .other-wines__heading .product-eyebrow[b-e6vs96d9ec] {
        display: inline-flex;
    }

    .other-wines__heading .product-eyebrow[b-e6vs96d9ec]::before {
        content: "";
        width: 1.6rem;
        height: 1px;
        background: #c59752;
    }

    .other-wines__heading h2[b-e6vs96d9ec] {
        margin-top: .55rem;
        font-size: 2.45rem;
        font-weight: 500;
        letter-spacing: -.03em;
    }

    .other-wines__view-all[b-e6vs96d9ec] {
        display: none;
    }

    .other-wines__grid[b-e6vs96d9ec] {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
        overflow: visible;
        padding: 0;
    }

    .other-wine-card[b-e6vs96d9ec] {
        min-height: 13rem;
        display: grid;
        grid-template-columns: minmax(8.5rem, 41%) minmax(0, 59%);
    }

    .other-wine-card__media[b-e6vs96d9ec] {
        height: 100%;
        min-height: 100%;
    }

    .other-wine-card__body[b-e6vs96d9ec] {
        justify-content: center;
        padding: 1rem;
    }

    .other-wine-card h3[b-e6vs96d9ec] {
        display: block;
        font-size: 1.2rem;
        line-height: 1.08;
    }

    .other-wine-card p[b-e6vs96d9ec] {
        display: block;
        margin: .4rem 0 .7rem;
        font-size: .72rem;
    }

    .other-wine-card__link[b-e6vs96d9ec] {
        margin-top: auto;
        padding-bottom: .1rem;
        border-bottom: 1px solid #a7793b;
        font-size: .66rem;
    }
}

/* Desktop: the custom-label card becomes a third column, while the center
   information column keeps the same mockup hierarchy and sane title scale. */
@media (min-width: 1240px) {
    .product-layout[b-e6vs96d9ec] {
        grid-template-columns: minmax(31rem, 1.12fr) minmax(25rem, .9fr) minmax(17rem, .58fr);
        gap: clamp(1.5rem, 2.3vw, 2.5rem);
    }

    .product-details h1[b-e6vs96d9ec] {
        font-size: clamp(3.45rem, 3.25vw, 4.35rem);
    }

    .product-page--ka .product-details h1[b-e6vs96d9ec] {
        font-size: clamp(3.1rem, 2.9vw, 3.9rem);
    }

    .product-meta[b-e6vs96d9ec] {
        font-size: 1rem;
    }

    .product-description[b-e6vs96d9ec] {
        font-size: .94rem;
    }

    .product-fact[b-e6vs96d9ec] {
        padding-inline: .24rem;
    }

    .product-fact strong[b-e6vs96d9ec] {
        font-size: .7rem;
    }

    .product-fact > span:last-child[b-e6vs96d9ec] {
        font-size: .51rem;
    }

    .product-custom[b-e6vs96d9ec] {
        grid-column: auto;
        display: flex;
        min-height: 0;
        flex-direction: column;
        margin: 0;
    }

    .product-custom__media[b-e6vs96d9ec] {
        min-height: 16.5rem;
        order: 1;
    }

    .product-custom__copy[b-e6vs96d9ec] {
        order: 0;
        padding: 1.25rem 1.15rem .9rem;
    }

    .product-custom h2[b-e6vs96d9ec] {
        font-size: 1.85rem;
    }

    .product-custom p[b-e6vs96d9ec] {
        font-size: .8rem;
    }

    .product-custom__button[b-e6vs96d9ec] {
        align-self: stretch;
        min-height: 2.8rem;
    }

    .other-wine-card[b-e6vs96d9ec] {
        min-height: 14.3rem;
        grid-template-columns: minmax(9.5rem, 43%) minmax(0, 57%);
    }
}

@media (min-width: 1480px) {
    .product-shell[b-e6vs96d9ec] {
        width: min(1480px, calc(100% - 5rem));
    }

    .product-details h1[b-e6vs96d9ec] {
        font-size: 4.35rem;
    }

    .product-page--ka .product-details h1[b-e6vs96d9ec] {
        font-size: 3.9rem;
    }

    .product-description[b-e6vs96d9ec] {
        font-size: 1rem;
    }
}
