body { margin:0; }

#main {
    --dynamic-padding: clamp(
        5px,
        calc((min(100vw, 1400px) - 320px) * 80 / 1080),
        80px
    );
    --containerW: calc(100vw - 2 * var(--dynamic-padding));
    width: var(--containerW);
    max-width: 1400px;
    margin-inline: auto;
}
/* Theme adapter: all rules are scoped; buttons and form surfaces use the site's b24 components. */
.finist-cabinet { --fc-accent:var(--fn-red, #bc0022); --fc-line:var(--fn-line, #dadada); --fc-muted:var(--fn-muted, #626262); --fc-surface:var(--fn-bg, #f7f6f2); --fc-paper:var(--wp--preset--color--base, #fff); color:inherit; font-family:inherit; line-height:1.5; margin-block:32px 48px; min-width:0; max-inline-size:100%; }
.finist-cabinet [hidden] { display:none !important; }
.finist-cabinet .fc-heading,.finist-cabinet .fc-section-heading { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; margin-bottom:24px; }
.finist-cabinet .fc-heading > div,.finist-cabinet .fc-section-heading > div { min-width:0; }
.finist-cabinet [data-logout] { flex-shrink:0; white-space:nowrap; }
.finist-cabinet .fc-section-heading { flex-wrap:wrap; }
.finist-cabinet h1 { margin-block:0 8px; font-size:clamp(1.6rem,3vw,2.3rem); font-weight:700; line-height:1.25; }
.finist-cabinet h2 { font-size:1.4rem; font-weight:600; margin-block:0 16px; line-height:1.3; }
.finist-cabinet h3 { font-size:1.05rem; font-weight:600; line-height:1.4; margin-block:0 12px; overflow-wrap:anywhere; }
.finist-cabinet h4 { font-weight:600; margin-block:0 12px; }
.finist-cabinet p { margin-block:0 12px; overflow-wrap:anywhere; }
.finist-cabinet .fc-eyebrow { color:var(--fc-muted); font-size:.75rem; font-weight:600; letter-spacing:.04em; margin-bottom:8px; }
.finist-cabinet .fc-navigation { display:flex; flex-wrap:wrap; gap:8px 24px; border-bottom:1px solid var(--fc-line); margin-bottom:32px; }
.finist-cabinet .fc-navigation button { color:inherit; background:transparent; border:0; border-bottom:3px solid transparent; min-height:48px; padding:8px 0; font:inherit; font-weight:600; cursor:pointer; text-align:start; }
.finist-cabinet .fc-navigation button[aria-current="page"] { border-color:var(--fc-accent); color:var(--fc-accent); }
.finist-cabinet [data-cart-count] { display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding-inline:4px; border:1px solid var(--fc-line); border-radius:4px; margin-inline-start:4px; }
.finist-cabinet .fc-link { font:inherit; font-size:.875rem; color:var(--fc-accent); background:transparent; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:8px 4px; overflow-wrap:anywhere; }
.finist-cabinet button:disabled { cursor:default; opacity:.5; }
.finist-cabinet button:focus-visible,.finist-cabinet a:focus-visible,.finist-cabinet summary:focus-visible { outline:2px solid var(--fc-accent); outline-offset:4px; }
.finist-cabinet .fc-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; margin-bottom:32px; }
.finist-cabinet .fc-search { grid-column:span 2; }
.finist-cabinet .fc-field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:.8125rem; font-weight:500; }
.finist-cabinet .fc-field .b24-form-control { box-sizing:border-box; max-width:100%; width:100%; min-height:44px; padding:12px 16px; font:inherit; }
.finist-cabinet .fc-field select { text-overflow:ellipsis; padding-right:24px; }
.finist-cabinet .fc-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.finist-cabinet .fc-product { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--fc-line); border-radius:10px; }
.finist-cabinet .fc-product > .b24-form-btn { margin-top:auto; }
.finist-cabinet .fc-product-description { font-size:.875rem; }
.finist-cabinet .fc-product-description,.finist-cabinet .fc-technical-text,.finist-cabinet h3 { white-space:pre-line; }
.finist-cabinet .fc-muted,.finist-cabinet .fc-discount-note { color:var(--fc-muted); font-size:.8125rem; }
.finist-cabinet .fc-prices { margin-block:16px 8px; display:flex; flex-wrap:wrap; gap:16px 24px; }
.finist-cabinet .fc-prices dt { font-size:.75rem; color:var(--fc-muted); margin-bottom:4px; }
.finist-cabinet .fc-prices dd { font-size:1rem; margin:0; white-space:nowrap; }
.finist-cabinet .fc-prices strong { font-size:1.125rem; font-weight:700; }
.finist-cabinet .fc-discount-note { margin-bottom:24px; }
.finist-cabinet .fc-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:24px; }
.finist-cabinet .fc-pagination span { font-size:.8125rem; }
.finist-cabinet .fc-empty { padding:32px 16px; grid-column:1/-1; text-align:center; border:1px dashed var(--fc-line); border-radius:10px; color:var(--fc-muted); }
.finist-cabinet .fc-status { padding:16px; margin-bottom:16px; border-left:3px solid var(--fc-accent); background:var(--fc-surface); color:inherit; overflow-wrap:anywhere; }
.finist-cabinet .fc-status[data-error="true"] { border:1px solid var(--fc-accent); }
.finist-cabinet .fc-recovery { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:16px; }
.finist-cabinet .fc-draft-state { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-block:0 24px; font-size:.8125rem; color:var(--fc-muted); }
.finist-cabinet [data-draft-status][data-error="true"] { color:var(--fc-accent); }
.finist-cabinet .fc-inline-form { display:flex; gap:16px; align-items:end; margin-bottom:24px; max-width:640px; }
.finist-cabinet .fc-inline-form .fc-field { flex:1; }
.finist-cabinet .fc-inline-form .b24-form-btn { width:auto !important; }
.finist-cabinet .fc-spec-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-bottom:1px solid var(--fc-line); padding-block:24px; }
.finist-cabinet .fc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; }
.finist-cabinet .fc-actions > .b24-form-btn { width:auto !important; }
.finist-cabinet .fc-discounts { margin-block:24px; max-width:800px; }
.finist-cabinet .fc-discounts > div { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:24px 0; border-bottom:1px solid var(--fc-line); }
.finist-cabinet .fc-discounts dt { font-weight:500; }
.finist-cabinet .fc-discounts dd { margin:0; font-size:1.5rem; font-weight:600; white-space:nowrap; }
.finist-cabinet .fc-help { max-width:840px; }
.finist-cabinet .fc-help details { padding-block:16px; border-bottom:1px solid var(--fc-line); }
.finist-cabinet .fc-help summary { min-height:44px; font-weight:600; cursor:pointer; }
.finist-cabinet .fc-help details p { font-size:.9375rem; }
.finist-cabinet .fc-cart-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,240px); gap:32px; padding-block:24px; border-bottom:1px solid var(--fc-line); }
.finist-cabinet .fc-cart-item > div { min-width:0; }
.finist-cabinet .fc-cart-controls { display:flex; flex-direction:column; gap:16px; align-items:start; }
.finist-cabinet .fc-cart-controls input { max-width:120px !important; }
.finist-cabinet .fc-cart-summary { text-align:right; font-size:1.25rem; margin-block:24px; }
.finist-cabinet .fc-meta-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-block:24px; }
.finist-cabinet [data-downloads] { margin-top:24px; }
.finist-cabinet .fc-dialog { box-sizing:border-box; position:fixed; margin:auto; inset:0; width:min(760px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; border:1px solid var(--fc-line); border-radius:10px; padding:32px; background:var(--fc-paper); color:inherit; font:inherit; box-shadow:0 16px 48px #0002; }
.finist-cabinet .fc-dialog::backdrop { background:#0006; }
.finist-cabinet .fc-dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.finist-cabinet [data-close-dialog] { flex-shrink:0; font-size:1.75rem; min-width:44px; margin-top:-12px; text-decoration:none; }
.finist-cabinet .fc-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-block:16px 24px; }
.finist-cabinet .fc-fieldset { min-width:0; grid-column:1/-1; border:1px solid var(--fc-line); border-radius:10px; padding:16px; }
.finist-cabinet .fc-fieldset legend { padding-inline:4px; font-weight:600; }
.finist-cabinet .fc-config-details summary { cursor:pointer; min-height:32px; font-weight:600; }
.finist-cabinet .fc-check { display:flex; align-items:center; gap:10px; min-height:44px; font-size:.875rem; }
.finist-cabinet .fc-check input[type="checkbox"] { width:20px; height:20px; flex:0 0 20px; accent-color:var(--fc-accent); }
.finist-cabinet .fc-board-sides { display:flex; gap:8px 20px; flex-wrap:wrap; margin-top:12px; }
.finist-cabinet .fc-shipping { font-size:.8125rem; color:var(--fc-muted); margin-block:12px; }
.finist-cabinet input:disabled,.finist-cabinet select:disabled { opacity:.6; }
.finist-cabinet .fc-option { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:16px; align-items:center; margin-bottom:16px; }
.finist-cabinet .fc-option > label { display:flex; align-items:center; gap:8px; font-size:.875rem; min-height:44px; }
.finist-cabinet .fc-option > label { min-width:0; overflow-wrap:anywhere; }
.finist-cabinet .fc-option input[type="checkbox"] { width:20px; height:20px; flex-shrink:0; accent-color:var(--fc-accent); }
.finist-cabinet [data-quote] { margin-block:16px; }
.finist-cabinet .fc-comparison article { padding-block:16px; border-bottom:1px solid var(--fc-line); }
.finist-cabinet .fc-comparison-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.finist-cabinet .fc-comparison-columns .fc-prices { display:block; }
.finist-cabinet .fc-comparison-columns .fc-prices > div { margin-bottom:8px; }
.finist-cabinet.finist-auth { max-width:560px; }
.finist-cabinet .finist-login-form { margin-block:24px; }
.finist-cabinet .finist-login-form label { display:block; margin-bottom:8px; font-size:.875rem; }
.finist-cabinet .finist-login-form input:not([type="hidden"]):not([type="checkbox"]) { box-sizing:border-box; width:100%; padding:12px 16px; }
.finist-cabinet .finist-login-form input[type="checkbox"] { width:20px; height:20px; vertical-align:middle; margin-inline-end:8px; accent-color:var(--fc-accent); }
.finist-cabinet .finist-message { padding:16px; border:1px solid var(--fc-accent); }
.finist-cabinet .finist-request-form textarea { box-sizing:border-box; width:100%; padding:12px 16px; font:inherit; }
.finist-cabinet .finist-form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:1023px) { .finist-cabinet .fc-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .finist-cabinet .fc-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:639px) {
 .finist-cabinet { margin-top:24px; } .finist-cabinet .fc-heading,.finist-cabinet .fc-section-heading { gap:16px; }
 .finist-cabinet .fc-navigation { gap:4px 16px; margin-bottom:24px; } .finist-cabinet .fc-navigation button { font-size:.8125rem; }
 .finist-cabinet .fc-products,.finist-cabinet .fc-meta-grid { grid-template-columns:1fr; } .finist-cabinet .fc-product { padding:20px; }
 .finist-cabinet .fc-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .finist-cabinet .fc-filter-grid > .b24-form-btn { grid-column:1/-1; }
 .finist-cabinet .fc-cart-item { grid-template-columns:1fr; gap:8px; } .finist-cabinet .fc-cart-controls { flex-direction:row; align-items:center; flex-wrap:wrap; gap:16px; width:100%; }
 .finist-cabinet .fc-cart-summary { text-align:start; } .finist-cabinet .fc-dialog { padding:20px; }
 .finist-cabinet .fc-discounts > div { padding-block:16px; } .finist-cabinet .fc-discounts dt { font-size:.875rem; }
 .finist-cabinet .fc-actions > .b24-form-btn { width:100% !important; } .finist-cabinet .fc-inline-form { flex-wrap:wrap; } .finist-cabinet .fc-inline-form .fc-field { flex-basis:100%; }
 .finist-cabinet .fc-option { grid-template-columns:1fr; gap:8px; } .finist-cabinet .fc-option .fc-field { max-width:160px; }
}
