/* V2 shared semantic/structural contract. Theme packages supply branding and variations.
 * Owners retain Legacy classes in parallel. No admin selectors or runtime CSS generation. */
.v2-visually-hidden {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
}
.v2-preview-action > fieldset {
    min-width:0;
    padding:0;
    margin:0;
    border:0;
}
.v2-preview-badge {
    display:inline-block;
    padding:.2em .65em;
    margin-bottom:.75rem;
    border:1px solid var(--v2-focus,#3976b7);
    border-radius:var(--v2-radius,.25rem);
    color:var(--v2-focus,#3976b7);
    font:500 .75rem/1.5 system-ui,sans-serif;
    cursor:help;
}
:where(.site-v2) {
    --v2-ink:#222;
    --v2-paper:#fff;
    --v2-soft:#eee;
    --v2-accent:#333;
    --v2-on-accent:#fff;
    --v2-width:70rem;
    --v2-space:4rem;
    --v2-gap:24px;
    --v2-radius:0;
    --v2-elevation:none;
    --v2-danger:#b32938;
    --v2-focus:#3976b7;
    margin:0;
    background:var(--v2-paper);
    color:var(--v2-ink);
    font:1rem/1.5 Arial,sans-serif;
}
/* Existing Width choices have the same meaning in every native theme. */
.site-v2.v2-width-contained { --v2-width:1120px; }
.site-v2.v2-width-wide { --v2-width:1440px; }
.site-v2 :is(.v2-product-grid,.v2-featured-grid.block-content-category,.v2-featured-grid.block-content-brand) {
    display:grid;
    grid-template-columns:repeat(var(--v2-card-columns,3),minmax(0,1fr));
    gap:24px;
    width:100%;
}
.site-v2 .v2-product-grid.product-grid > .v2-product-card.product-item {
    float:none;
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
    padding:16px;
    display:flex;
    flex-direction:column;
}
.site-v2 .v2-product-grid:after {
    display:none;
}
.site-v2 .animateToCart,.site-v2 .hidden {
    display:none;
}
.site-v2 .v2-product-card .v2-button {
    font:inherit;
    padding:8px 20px;
    border:1px solid currentColor;
    background:transparent;
    border-radius:4px;
}
.site-v2 .v2-product-card .v2-product-name {
    font-weight:600;
}
.site-v2 .v2-product-card .v2-product-image {
    width:100%;
    height:220px;
    object-fit:contain;
}
.site-v2 .v2-product-card .v2-product-price {
    margin:12px 0;
}
.site-v2 .v2-product-grid .v2-product-card .pic-container,
.site-v2 .v2-product-grid .v2-product-card .pic {
    width:100%; height:auto; float:none; margin:0 0 12px; padding:0;
}
.site-v2 .v2-product-grid .v2-product-card .v2-product-image {
    display:block; width:100%; height:240px; max-height:none; object-fit:contain;
}
.site-v2 .v2-product-grid .v2-product-card .product-info { margin-top:auto; }
.site-v2 .v2-product-grid .v2-product-name { font-size:18px; line-height:1.4; }
.site-v2 .v2-product-grid .v2-product-card .buttons button { width:100%; padding:10px 18px; }
.site-v2 .v2-owner-output:has(.v2-product-grid) .v2-app-title {
    font-size:clamp(28px,3vw,42px); letter-spacing:-1px; margin-bottom:24px;
}
.site-v2 .v2-owner-output:has(.product-content) .v2-app-title {
    margin:0 0 18px;
    font-weight:600;
    font-size:26px;
    line-height:1.25;
    letter-spacing:0;
}
.site-v2:not(.v2-typography-editorial):not(.v2-typography-modern) .v2-owner-output:has(.product-content) .v2-app-title {
    font-family:Georgia,serif;
}
.site-v2 .product-content { padding-top:0; }
.site-v2 .product-content .product-info {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    align-items:start;
}
.site-v2 .product-content .product-info::after { display:none; }
.site-v2 .product-content .product-info .product-images,
.site-v2 .product-content .product-info .product-details {
    float:none;
    width:auto;
    min-width:0;
    padding:0;
}
.site-v2 .product-content .product-info .product-details .product-price {
    font-size:18px;
    line-height:1.4;
}
.site-v2 .product-content .product-tabs {
    margin:18px 0 8px;
    border:0;
    border-bottom:1px solid var(--v2-soft);
    border-radius:0;
    background:transparent;
}
.site-v2 .product-content .product-tabs .product-tab {
    float:none;
    display:inline-block;
    padding:8px 0;
    border:0;
    font-size:14px;
}
@container (max-width:540px) {
    .site-v2 .product-content .product-info { grid-template-columns:minmax(0,1fr); }
}
.site-v2 .product-toolbar:has(.catalog-browse-controls) {
    display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-bottom:24px;
}
.site-v2 .catalog-browse-controls { flex-basis:100%; display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-bottom:8px; }
.site-v2 .catalog-browse-controls .v2-label { display:flex; flex-direction:column; gap:4px; font-size:14px; }
.site-v2 .product-toolbar:has(.catalog-browse-controls) :is(.product_total,.product_showing) {
    display:block; float:none; width:auto; margin:0; font-size:14px; line-height:1.5; letter-spacing:normal;
}
@media(max-width:600px) {
    .site-v2 .v2-product-card .v2-product-image {
        height:240px;
    }
}
.site-v2 * {
    box-sizing:border-box;
}
:where(.site-v2) a {
    color:inherit;
}
.site-v2 img {
    max-width:100%;
}
.site-v2 .v2-shell-inner {
    width:min(var(--v2-width),calc(100% - 64px));
    margin:auto;
}
.site-v2 .v2-header {
    border-bottom:1px solid var(--v2-soft);
}
.site-v2 .v2-header .v2-shell-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:96px;
}
.site-v2 .v2-navigation-list {
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    list-style:none;
    margin:0;
    padding:0;
}
.site-v2 .v2-navigation-link {
    text-decoration:none;
    font-size:15px;
}
.site-v2 .v2-page-layout {
    display:flex;
    gap:32px;
}
.site-v2 .v2-main {
    min-width:0;
    flex:1;
}
.site-v2 .v2-sidebar {
    width:200px;
    flex-shrink:0;
}
.site-v2 .v2-section {
    padding:var(--v2-space) 0;
}
.site-v2 .v2-section-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:56px;
}
.site-v2 .v2-body {
    margin:0 0 28px;
}
.site-v2 .v2-button {
    display:inline-block;
    background:var(--v2-accent);
    color:var(--v2-on-accent);
    padding:12px 22px;
    border-radius:3px;
    text-decoration:none;
    font-weight:600;
}
.site-v2 [data-site-native] [hidden] { display:none !important; }
.site-v2 .v2-section-image {
    width:100%;
    aspect-ratio:1.15;
    object-fit:cover;
    border-radius:8px;
}
.site-v2 .v2-align-center .v2-section-inner {
    display:block;
    text-align:center;
}
.site-v2 .v2-align-center .v2-body {
    margin-left:auto;
    margin-right:auto;
}
.site-v2 .v2-align-center .v2-section-image {
    margin-top:32px;
    aspect-ratio:2.2;
}
.site-v2 .v2-tone-soft {
    background:var(--v2-soft);
    padding-left:32px;
    padding-right:32px;
}
.site-v2 .v2-tone-accent {
    background:var(--v2-accent);
    color:var(--v2-on-accent);
    padding-left:32px;
    padding-right:32px;
}
.site-v2 .v2-tone-accent .v2-button {
    background:var(--v2-paper);
    color:var(--v2-ink);
}
.site-v2 .v2-featured_products .v2-section-inner {
    display:block;
}
.site-v2 .v2-featured_products .block-title {
    font-size:30px;
    margin-bottom:28px;
    font-weight:600;
}
.site-v2 .v2-sample-products { text-align:left; }
.site-v2 .v2-sample-products h2 { margin:0 0 18px;font:600 25px/1.25 Georgia,serif; }
.site-v2 .v2-sample-product-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.site-v2 .v2-sample-product { min-width:0;display:grid;gap:5px;font-size:13px; }
.site-v2 .v2-sample-product-image { display:grid;place-items:center;min-height:110px;background:#e9eee9;color:#6b7e75;font-size:11px; }
.site-v2 .v2-sample-product:nth-child(2) .v2-sample-product-image { background:#eee9df; }
.site-v2 .v2-sample-product:nth-child(3) .v2-sample-product-image { background:#e8edf1; }
.site-v2 .v2-sample-product small { color:#607589; }
.site-v2 .v2-sample-disclosure { margin:18px 0 0;padding:8px 12px;background:#fff4dc;color:#735c31;font-size:11px; }
.site-v2 .page-data:has(> .v2-featured_products) > .v2-hero { padding-block:36px; }
.site-v2 .page-data:has(> .v2-featured_products) > .v2-hero [data-v2-heading] { font-size:clamp(27px,3vw,34px); }
@media (max-width:600px) { .site-v2 .v2-sample-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.site-v2 .v2-featured-grid:has(> .v2-product-grid) { display:block; }
.site-v2 .v2-footer {
    padding:0;
    border-top:1px solid var(--v2-soft);
    margin-top:24px;
}
.site-v2 [data-site-section] {
    cursor:pointer;
    outline-offset:-3px;
}
.site-v2 .v2-selected {
    outline:2px solid #3976b7;
}
@media(max-width:800px) {
    .site-v2 .v2-shell-inner {
        width:calc(100% - 32px);
    }
    .site-v2 .v2-section-inner {
        gap:24px;
    }
    .site-v2 .v2-page-layout {
        display:block;
    }
    .site-v2 .v2-sidebar {
        width:auto;
    }
    .site-v2 .v2-header .v2-shell-inner {
        flex-wrap:wrap;
        padding:20px 0;
        gap:16px;
    }
}
@media(max-width:560px) {
    .site-v2 {
        --v2-space:36px;
        font-size:16px;
    }
    .site-v2 .v2-section-inner {
        grid-template-columns:1fr;
    }
    .site-v2 .v2-section-image {
        aspect-ratio:1.4;
    }
    .site-v2 .v2-tone-soft,.site-v2 .v2-tone-accent {
        padding-left:20px;
        padding-right:20px;
    }
    .site-v2 .v2-navigation-list {
        gap:18px;
    }
    .site-v2 .v2-header .v2-shell-inner {
        justify-content:center;
    }
    .site-v2 .v2-brand {
        width:100%;
        text-align:center;
    }
}
.site-v2 :is(.v2-button,.v2-field,.v2-section-image) {
    border-radius:var(--v2-radius);
}
.site-v2 .v2-button {
    transition:background .15s,color .15s,box-shadow .15s;
}
.site-v2 .v2-button:hover {
    filter:brightness(.92);
}
.site-v2 :focus-visible {
    outline:3px solid var(--v2-focus);
    outline-offset:3px;
}
.site-v2 .v2-button-secondary {
    background:transparent;
    color:var(--v2-accent);
    border:1px solid currentColor;
}
.site-v2 .v2-button-text {
    background:none;
    color:var(--v2-accent);
    padding:0;
}
.site-v2 .v2-button-danger {
    background:var(--v2-danger);
    color:#fff;
}
.site-v2 .v2-navigation-link:hover,.site-v2 .v2-navigation-link.active {
    color:var(--v2-accent);
    text-decoration:underline;
    text-underline-offset:6px;
}
.site-v2 .v2-field:not([type=checkbox]):not([type=radio]) {
    font:inherit;
    max-width:100%;
    padding:10px 12px;
    border:1px solid #919b97;
    background:var(--v2-paper);
    color:var(--v2-ink);
}
.site-v2 .v2-label {
    font-size:.88em;
}
.site-v2 :is(.v2-card,.v2-panel,.v2-product-card) {
    border-radius:var(--v2-radius);
    box-shadow:var(--v2-elevation);
}
.site-v2 .v2-badge {
    display:inline-block;
    padding:3px 10px;
    border-radius:var(--v2-radius);
    background:var(--v2-soft);
}
.site-v2 .v2-pagination a {
    padding:8px 12px;
    border:1px solid var(--v2-soft);
    text-decoration:none;
}
.site-v2 .v2-shared .v2-section-inner {
    display:block;
}
.site-v2 .v2-app_block .v2-section-inner { display:block; }
.site-v2 .v2-rich_text .v2-section-inner { display:block;text-align:start; }
.site-v2 .v2-section { --v2-content-measure:75ch; }
.site-v2 .v2-content-narrow { --v2-content-measure:55ch; }
.site-v2 .v2-content-wide { --v2-content-measure:95ch; }
.site-v2 .v2-content-full { --v2-content-measure:100%; }
.site-v2 :is(.v2-rich-content,.v2-copy) { width:100%;max-width:var(--v2-content-measure);margin-inline:auto;overflow-wrap:anywhere; }
/* The canonical owner emits grid-N for all nine card-producing contracts. */
.site-v2 :is(.v2-native-app,.v2-owner-output) { container-type:inline-size; }
.site-v2 .grid-1 { --v2-card-columns:1; }
.site-v2 .grid-2 { --v2-card-columns:2; }
.site-v2 .grid-3 { --v2-card-columns:3; }
.site-v2 .grid-4 { --v2-card-columns:4; }
.site-v2 :is(.v2-featured-grid.block-content-category,.v2-featured-grid.block-content-brand) > * { width:100%;min-width:0;margin:0; }
@container (max-width:700px) {
    .site-v2 :is(.v2-product-grid,.v2-featured-grid.block-content-category,.v2-featured-grid.block-content-brand) { grid-template-columns:repeat(min(2,var(--v2-card-columns,3)),minmax(0,1fr)); }
}
@container (max-width:460px) {
    .site-v2 :is(.v2-product-grid,.v2-featured-grid.block-content-category,.v2-featured-grid.block-content-brand) { grid-template-columns:minmax(0,1fr); }
}
/* Created only by the nonce-bound private preview bridge. */
.v2-canvas-identity { position:fixed;z-index:10001;pointer-events:none;max-width:calc(100vw - 16px);padding:4px 8px;border-radius:4px;background:#174b83;color:#fff;font:600 12px/1.5 Arial,sans-serif;box-shadow:0 1px 4px #0003; }
.v2-canvas-identity[hidden] { display:none; }
.site-v2 .v2-rich-content blockquote { margin:1.5em 0;padding:0 1.25em;border-inline-start:3px solid currentColor; }
.site-v2 .v2-rich-content :is(ul,ol) { padding-inline-start:1.75em; }
.site-v2 .v2-rich-content a { text-decoration:underline; }
.site-v2 .v2-row { --v2-row-gap:var(--v2-gap);container-type:inline-size; }
.site-v2 .v2-gap-compact { --v2-row-gap:calc(var(--v2-gap)*.666667); }
.site-v2 .v2-gap-relaxed { --v2-row-gap:calc(var(--v2-gap)*1.5); }
.site-v2 .v2-row > .v2-section-inner { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--v2-row-gap);align-items:stretch;text-align:start; }
.site-v2 .v2-column { min-width:0;max-width:100%;container-type:inline-size;overflow-wrap:anywhere;display:flex;flex-direction:column; }
.site-v2 .v2-vertical-center { justify-content:center; }
.site-v2 .v2-vertical-bottom { justify-content:flex-end; }
@container (min-width:600px) {
    .site-v2 .v2-row > .v2-section-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-v2 .v2-row-layout-one > .v2-section-inner { grid-template-columns:minmax(0,1fr); }
    .site-v2 .v2-row-layout-thirds-left > .v2-section-inner { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
    .site-v2 .v2-row-layout-thirds-right > .v2-section-inner { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
}
.site-v2 .v2-menu-toggle[hidden],.site-v2 .v2-header-navigation[hidden] { display:none; }
/* Easy Header owns its disclosure; copied native menus retain their Classic metadata. */
.site-v2 .v2-header .menu-rs { display:none; }
.site-v2 .v2-menu-toggle { font:inherit;font-size:20px;min-width:44px;min-height:44px;padding:.5em;background:var(--v2-paper);color:var(--v2-ink);border:1px solid currentColor; }
.site-v2 .v2-navigation-list { align-items:center; }
@media(max-width:800px) {
    .site-v2.v2-mobile_navigation-collapsed .v2-header .v2-shell-inner { display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:12px;min-height:80px;padding-block:12px; }
    .site-v2.v2-mobile_navigation-collapsed .v2-brand { width:auto;text-align:start;flex:1;min-width:0; }
    .site-v2.v2-mobile_navigation-collapsed .v2-header-navigation { width:100%; }
    .site-v2.v2-mobile_navigation-collapsed .v2-navigation-list { flex-direction:column;align-items:stretch;gap:16px;padding-block:16px; }
    .site-v2.v2-mobile_navigation-collapsed .v2-brand img { max-height:80px;max-width:180px; }
}
@container (min-width:960px) {
    .site-v2 .v2-row-layout-three > .v2-section-inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .site-v2 .v2-row-layout-four > .v2-section-inner { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
.site-v2 .v2-cards-equal > .v2-section-inner > .v2-column > .v2-section:last-child { flex:1;display:flex; }
.site-v2 .v2-cards-equal .v2-column > .v2-section > .v2-section-inner { width:100%; }
.site-v2 .v2-cards-equal .v2-column :is(.v2-hero,.v2-image_text) > .v2-section-inner { display:flex;flex-direction:column; }
.site-v2 .v2-cards-equal .v2-column .v2-copy { display:flex;flex-direction:column;align-items:start;flex:1; }
.site-v2 .v2-cards-equal .v2-column .v2-align-center .v2-copy { align-items:center; }
.site-v2 .v2-cards-equal .v2-column .v2-button { margin-top:auto; }
.site-v2 .v2-image_fit-contain .v2-section-image { object-fit:contain; }
.site-v2 .v2-image_fit-cover .v2-section-image { object-fit:cover; }
.site-v2 .v2-image_aspect-auto .v2-section-image { aspect-ratio:auto;height:auto; }
.site-v2 .v2-image_aspect-landscape .v2-section-image { aspect-ratio:3/2; }
.site-v2 .v2-image_aspect-square .v2-section-image { aspect-ratio:1; }
.site-v2 .v2-image_size-natural .v2-section-image { width:auto;max-width:100%;max-height:100%;justify-self:center;align-self:center;object-fit:scale-down; }
.site-v2 .v2-composition-arch .v2-section-image { border-radius:48% 48% var(--v2-radius) var(--v2-radius);aspect-ratio:4/5; }
.site-v2 .v2-composition-panel > .v2-section-inner { display:grid;grid-template-columns:minmax(0,1fr); }
.site-v2 .v2-composition-panel .v2-section-image { grid-area:1/1;width:100%;min-height:460px;aspect-ratio:2/1; }
.site-v2 .v2-composition-panel .v2-copy { grid-area:1/1;z-index:1;align-self:center;justify-self:start;max-width:min(440px,48%);padding:clamp(24px,4vw,64px);margin:24px;background:var(--v2-paper);color:var(--v2-ink); }
@container (min-width:600px) {
    .site-v2 .v2-row.v2-composition-stagger > .v2-section-inner > .v2-column:nth-child(even) { padding-top:clamp(32px,6vw,96px); }
}
@media (max-width:800px) {
    .site-v2 .v2-composition-panel .v2-copy { max-width:65%;padding:24px; }
}
@media (max-width:560px) {
    .site-v2 .v2-composition-panel > .v2-section-inner { display:flex;flex-direction:column; }
    .site-v2 .v2-composition-panel .v2-section-image { order:0;min-height:0;aspect-ratio:3/2; }
    .site-v2 .v2-composition-panel .v2-copy { order:1;max-width:none;margin:0;padding:24px 0; }
    .site-v2 .v2-composition-arch .v2-section-image { aspect-ratio:4/5; }
}
.site-v2 .v2-column > .v2-section { padding-top:24px;padding-bottom:24px; }
.site-v2 .v2-column > .v2-section:first-child { padding-top:0; }
.site-v2 .v2-column > .v2-section:last-child { padding-bottom:0; }
.site-v2 .v2-column :is(img,video,iframe,input,select,textarea) { max-width:100%; }
@container (max-width:580px) {
    .site-v2 .v2-column .v2-section-inner { grid-template-columns:minmax(0,1fr);gap:24px; }
}
.site-v2 .content-form { width:100%; max-width:48rem; margin-inline:auto; text-align:left; }
.site-v2 .content-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.site-v2 .content-form .form-item { margin-block:0 1.25em; }
.site-v2 .content-form label { display:block; margin-bottom:.4em; }
.site-v2 .content-form :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=reset]):not([type=hidden]),textarea,select) { width:100%; box-sizing:border-box; }
.site-v2 .content-form :is([type=checkbox],[type=radio]) { accent-color:var(--v2-accent); margin-inline-end:.5em; }
.site-v2 .content-form :is(button,[type=submit],[type=reset]) { font:inherit; padding:.7em 1.4em; background:var(--v2-accent); color:var(--v2-on-accent); border:1px solid var(--v2-accent); border-radius:var(--v2-radius); }
.site-v2 .content-form :is(.bad,[aria-invalid=true]) { border-color:var(--v2-danger); color:var(--v2-danger); }
.site-v2 .content-form .form-preview-note { font-size:.85em; }
.site-v2 .v2-shared-content {
    padding:24px 0;
}

/* Temporary neutral compatibility for unnormalized owner forms. Theme packages
 * use v2-field/v2-label/v2-button; these Legacy elements remain a bounded backlog. */
.site-v2 :where(button,.btn,input,select,textarea) {
    border-radius:var(--v2-radius);
}
.site-v2 :where(button,.btn) {
    transition:background .15s,color .15s,box-shadow .15s;
}
.site-v2 :where(button,.btn):hover {
    filter:brightness(.92);
}
.site-v2 :where(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    font:inherit;
    max-width:100%;
    padding:10px 12px;
    border:1px solid #919b97;
    background:var(--v2-paper);
    color:var(--v2-ink);
}
.site-v2.v2-fields-filled :where(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    background:var(--v2-soft);
    border-color:transparent;
}
.site-v2 :where(label) { font-size:.88em; }
.site-v2.v2-labels-strong :where(label) { font-weight:700; }

/* Legacy profile rows retain their layout within each shared V2 account card. */
.site-v2 .page-data.account .account-profile > .page-box {
    display:flow-root;
    clear:both;
    overflow-wrap:anywhere;
}
.site-v2 .page-data.account .account-profile > .page-box.clearafter {
    display:flex;
    align-items:flex-start;
    gap:16px;
}
.site-v2 .page-data.account .account-profile > .page-box.clearafter::after { display:none; }
.site-v2 .page-data.account .account-profile .item-left {
    float:none;
    flex:1;
    min-width:0;
}
.site-v2 .page-data.account .account-profile .item-right {
    float:none;
    flex:0 0 auto;
}
/* Shared Store and account forms use light cards within every V2 palette. */
.site-v2 .page-data.store :is(.page-box,.cart-box,.store-form.apply-coupon,.store-form.form-shipping-tax) {
    background:#fff;
    color:#1f2937;
    border-color:#cbd5df;
}
.site-v2 .page-data.store .cart-box :is(legend,label,.total,.agree) {
    color:#1f2937;
}
.site-v2 .page-data.store .store-form .form-item {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 16px;
    margin-bottom:12px;
}
.site-v2 .page-data.store .store-form .form-item > label {
    float:none;
    clear:none;
    flex:0 0 160px;
    width:auto;
    max-width:none;
    padding:0;
    margin:0;
    text-align:left;
}
.site-v2 .page-data.store .store-form .form-item > :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
    float:none;
    box-sizing:border-box;
    width:min(100%,340px);
    max-width:100%;
    margin:0;
    background:#fff;
    color:#1f2937;
    border:1px solid #64748b;
}
.site-v2 .page-data.store .store-form .form-item > .stripe-card-element {
    flex:1 1 340px;
    min-width:0;
    max-width:100% !important;
    margin:0 !important;
    padding:12px !important;
    border:1px solid #64748b;
}
.site-v2 .page-data.store .store-form .form-item > .form-item-help {
    flex-basis:100%;
    max-width:100% !important;
    margin:0 !important;
}
.site-v2 .page-data.store .store-form.payments .big_label {
    float:none;
    display:block;
    width:auto;
    margin:0 0 12px;
    color:#1f2937;
}
.site-v2 .page-data.store .store-form .payment_type {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 8px;
    padding:10px 12px;
    background:#fff;
    color:#1f2937;
}
.site-v2 .page-data.store .store-form .payment_type .buttons { float:none; }
.site-v2 .page-data.store :is(.buttons button,.payment_type button),
.site-v2 .page-data.catalog button:not(.v2-button),
.site-v2 .page-data.auth button:not(.v2-button) {
    font:inherit;
    padding:8px 16px;
    border:1px solid var(--v2-accent);
    border-radius:var(--v2-radius);
    background:var(--v2-accent);
    color:var(--v2-on-accent);
    cursor:pointer;
}
.site-v2 .page-data.catalog button:not(.v2-button),
.site-v2 .page-data.auth button:not(.v2-button) {
    background:var(--v2-paper);
    color:var(--v2-ink);
}
.site-v2 .page-data.store .buttons .btn-cancel {
    background:transparent;
    color:var(--v2-ink);
}
.site-v2 .page-data.store .cart-box {
    display:flow-root;
    overflow-wrap:anywhere;
}
.site-v2 .page-data.store .clearfloat { clear:both; }
@media (max-width:600px) {
    .site-v2 .page-data.store .store-form .form-item > label { flex-basis:100%; }
    .site-v2 .page-data.store .store-form .form-item > :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { width:100%; }
    .site-v2 .page-data.store .cart-box .shipping-info :is(.shipping-left,.shipping-right) { float:none; width:100%; }
    .site-v2 .page-data.store .cart-box .shipping-info .shipping-right:not(:empty) { margin-top:16px; }
}

/* Retained Header/Footer resources keep their canonical Classic wrapper hooks.
 * Low-specificity defaults provide space when the site has no custom layout CSS. */
:where(.site-v2 .header-content) { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; max-width:var(--v2-width); margin:auto; padding:24px 32px; }
:where(.site-v2 .header-content > *) { min-width:0; }
:where(.site-v2 .header-content > .block-item-text,.site-v2 .header-content > .block-group) { flex-basis:100%; }
:where(.site-v2 .header-content > .block-menu) { flex:1 1 30rem; }
:where(.site-v2 .header-content > .block-item:has(.block-search)) { flex:0 1 20rem; width:100%; }
:where(.site-v2 .header-content .block-search) { display:flex; width:100%; }
:where(.site-v2 .header-content .search-bar) { flex:1; width:100%; min-width:0; }
:where(.site-v2 .header-content .btn-search) { flex-shrink:0; }
.site-v2 .v2-owned-header .v2-navigation-list { gap:0; }
/* Structured Header additions occupy their own row without replacing identity. */
.site-v2 .v2-header .v2-shell-inner:has(> .block-item-sections) { flex-wrap:wrap; }
.site-v2 .v2-header :is(.v2-shell-inner,.header-content) > .block-item-sections { flex:1 0 100%;width:100%;min-width:0;order:2; }
.site-v2 .v2-header .block-sections .v2-section { padding-block:12px;min-width:0; }
:where(.site-v2 .footer-content) { width:100%; max-width:var(--v2-width); margin-inline:auto; padding:40px 32px; box-sizing:border-box; }
.site-v2 .v2-main .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; padding:20px 0; margin:0; font-size:.875rem; }
.site-v2 .v2-main .breadcrumbs > li { display:flex; align-items:center; gap:8px; }
.site-v2 .v2-main .breadcrumbs > li+li::before { content:'/'; opacity:.55; }
.site-v2 .v2-main .breadcrumbs a { text-underline-offset:3px; }
@media(max-width:800px) {
    :where(.site-v2 .header-content) { padding:20px 16px; }
    :where(.site-v2 .footer-content) { padding:32px 16px; }
    :where(.site-v2 .header-content > .block-menu,.site-v2 .header-content > .block-item:has(.block-search)) { flex-basis:100%; }
}
.v2-preview-note{font-size:.875rem;line-height:1.5;color:#526074;margin:1rem 0 0;padding:.5rem .75rem;background:#f3f6fa;border-radius:.375rem}
.v2-preview-notice{position:sticky;bottom:0;z-index:10;padding:.75rem 1rem;background:#172b3a;color:#fff;text-align:center;font:14px/1.5 system-ui,sans-serif}
.v2-preview-example{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid #c5d8ec;border-radius:.5rem;background:#eff6fd;color:#173d63;font:14px/1.45 system-ui,sans-serif}
.site-v2 .v2-catalog-example-image{display:flex;align-items:center;justify-content:center;min-height:230px;aspect-ratio:4/3;background:#ece8de;border-radius:4px;color:#708078;font:14px/1.5 system-ui,sans-serif;text-align:center;padding:1rem;box-sizing:border-box}
.site-v2 .product-content:has(.v2-catalog-example-image) .product-price{font-size:16px;line-height:1.4;font-weight:600;color:#28483d}
.v2-preview-notice a{color:inherit;text-decoration:underline}
