.table-sizes-order { --fsg-black:#101010; --fsg-green:#70a742; --fsg-border:#dedede; --fsg-muted:#f4f4f2; color:#171717; margin:28px 0 50px; }
.table-sizes-order *, .modal-back * { box-sizing:border-box; }
.table-sizes-order [hidden], .modal-back [hidden] { display:none!important; }
.table-sizes-order .screen-reader-text, .modal-back .screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.desc-calculator { max-width:780px; margin-bottom:28px; line-height:1.55; }
.sizes-body { display:grid; grid-template-columns:minmax(330px,.8fr) minmax(340px,1.2fr); align-items:center; gap:clamp(28px,6vw,84px); margin-bottom:36px; padding:clamp(24px,4vw,44px); background:var(--fsg-muted); border-radius:8px; }
.fsg-mode-switcher, .fsg-fulfilment { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 22px; padding:0; border:0; }
.fsg-mode-switcher legend, .fsg-fulfilment legend { flex:0 0 100%; margin-bottom:7px; font-weight:700; }
.fsg-mode-switcher label, .fsg-fulfilment label { position:relative; margin:0; cursor:pointer; }
.fsg-mode-switcher input, .fsg-fulfilment input { position:absolute; opacity:0; pointer-events:none; }
.fsg-mode-switcher span, .fsg-fulfilment span { display:block; padding:9px 14px; border:1px solid #aaa; border-radius:99px; background:#fff; line-height:1.2; }
.fsg-mode-switcher input:checked+span, .fsg-fulfilment input:checked+span { border-color:var(--fsg-black,#101010); background:var(--fsg-black,#101010); color:#fff; }
.fsg-mode-switcher input:focus-visible+span, .fsg-fulfilment input:focus-visible+span { outline:3px solid rgba(112,167,66,.4); outline-offset:2px; }
.fsg-mode-panel[hidden], .fsg-delivery-field[hidden] { display:none!important; }
.fsg-unit-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.fsg-unit-row select { width:auto; min-height:38px; margin:0; padding:5px 30px 5px 10px; border:1px solid #aaa; border-radius:3px; background:#fff; color:#111; font:inherit; }
.fsg-dimension-grid { display:grid; gap:13px; }
.order-item-forms .form-input label { display:flex; align-items:baseline; gap:8px; margin:0 0 5px; font-weight:700; }
.order-item-forms .form-input label span, .order-item-forms .form-input label b { font-weight:400; }
.order-item-forms input[type="number"] { display:block; width:100%; min-height:46px; margin:0!important; padding:8px 12px!important; border:1px solid #a7a7a7!important; border-radius:3px!important; background:#fff!important; color:#111!important; font:inherit; }
.order-item-forms input[type="number"]:focus { border-color:var(--fsg-green)!important; outline:2px solid rgba(112,167,66,.2); }
.fsg-depth-presets { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; color:#666; font-size:13px; }
.fsg-depth-presets button { padding:4px 8px; border:1px solid #bbb; border-radius:3px; background:#fff; color:#222; cursor:pointer; }
.fsg-depth-presets button:hover { border-color:var(--fsg-green); color:#507d2d; }
.fsg-compression-help { margin:15px 0 0; color:#5f6368; font-size:13px; }
.fsg-calculator-error { margin:10px 0 0; color:#b32d2e; font-weight:700; }
.fsg-live-summary { display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding:14px 16px; border-left:4px solid var(--fsg-green); background:#fff; }
.fsg-live-summary strong { font-size:20px; }
.top-image-table { width:100%; margin:0; text-align:center; }
.top-image-table img { display:block; width:100%; max-width:650px; height:auto; margin:auto; }
.fsg-results-toolbar { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 14px; }
.fsg-results-toolbar h3, .fsg-results-toolbar p { margin:0; }
.fsg-results-toolbar p, .fsg-price-note { color:#666; }
.fsg-product-search input { width:min(320px,100%); min-height:42px; padding:8px 12px; border:1px solid #aaa; border-radius:3px; font:inherit; }
.fsg-price-note { margin:-5px 0 14px; font-size:13px; text-align:right; }
.order-items-result { overflow:hidden; border:1px solid var(--fsg-border); border-radius:6px; }
.order-items-result .head-items, .size-item-details { display:grid; grid-template-columns:1.65fr .62fr .72fr .76fr 1fr .7fr .85fr; align-items:center; }
.order-items-result.fsg-hide-price .head-items, .order-items-result.fsg-hide-price .size-item-details { grid-template-columns:1.65fr .62fr .72fr .76fr 1fr .85fr; }
.order-items-result .head-items { min-height:58px; background:var(--fsg-black); color:#fff; text-align:center; }
.order-items-result .head-items>div, .size-item-details>div { min-width:0; padding:10px; }
.fsg-product-result+.fsg-product-result { border-top:1px solid var(--fsg-border); }
.fsg-product-result[hidden] { display:none; }
.size-item-details { min-height:82px; text-align:center; background:#fff; }
.fsg-product-title { display:flex; align-items:center; gap:11px; text-align:left; }
.fsg-product-title img { flex:0 0 52px; width:52px; height:52px; object-fit:cover; border-radius:4px; background:#eee; }
.fsg-product-title span { display:grid; gap:3px; }
.fsg-product-title small { justify-self:start; padding:2px 6px; border-radius:99px; background:#e7f2de; color:#3d6820; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.fsg-product-result.is-recommended .size-item-details { box-shadow:inset 4px 0 0 var(--fsg-green); }
.order-items-result .item-desc { padding:13px 18px; border-top:1px solid var(--fsg-border); background:var(--fsg-muted); line-height:1.45; }
.order-items-result .order-create, .modal-order button[type="submit"] { min-height:44px; padding:9px 13px; border:0; border-radius:3px; background:var(--fsg-black,#101010); color:#fff; font:inherit; font-size:.84em; font-weight:700; cursor:pointer; transition:background .2s ease; }
.order-items-result .order-create:hover, .modal-order button[type="submit"]:hover { background:var(--fsg-green,#70a742); }
.order-items-result button:focus-visible, .modal-order button:focus-visible { outline:3px solid rgba(112,167,66,.45); outline-offset:2px; }
.fsg-minimum-note { display:block; color:#666; font-size:10px; font-weight:400; }
.fsg-no-results { padding:26px; text-align:center; color:#666; }
.table-sizes-order .strong { font-weight:700; }

.modal-back { position:fixed; inset:0; z-index:999999; display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:clamp(16px,4vh,44px) 16px; background:rgba(0,0,0,.72); overscroll-behavior:contain; }
.modal-back.active { display:flex; }
.modal-back .modal-order { position:relative; width:min(780px,100%); max-height:calc(100vh - 32px); overflow-y:auto; padding:clamp(24px,4vw,42px); border-radius:8px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.3); color:#171717; }
.fsg-modal-heading { padding-right:46px; margin-bottom:20px; }
.fsg-modal-heading h2 { margin:3px 0 6px; font-size:clamp(28px,4vw,40px); line-height:1.1; }
.fsg-modal-heading p { margin:0; color:#5c5c5c; }
.fsg-eyebrow { color:#70a742; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
#close-order { position:absolute; top:18px; right:18px; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:#ededed; color:#111; font-size:28px; line-height:1; cursor:pointer; }
#close-order:hover { background:#ddd; }
.fsg-fulfilment { margin-bottom:18px; }
.fsg-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.modal-order .form-input { display:grid; gap:6px; }
.modal-order .form-input label { font-weight:700; }
.modal-order .form-input input, .modal-order .form-input textarea { display:block; width:100%; min-height:43px; margin:0; padding:8px 11px; border:1px solid #aaa; border-radius:3px; background:#fff; color:#111; font:inherit; }
.modal-order .form-input textarea { min-height:76px; resize:vertical; }
.modal-order .form-input input:focus, .modal-order .form-input textarea:focus { border-color:#70a742; outline:2px solid rgba(112,167,66,.2); }
.modal-order .form-input.required input { border-color:#b32d2e; }
.fsg-comment-field { grid-column:1/-1; }
.fsg-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.order-details { margin:20px 0 0; padding:18px; background:#f1f1ef; border-radius:4px; }
.order-details h3 { margin:0 0 12px; font-size:20px; }
.order-details dl { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin:0; }
.order-details dt { color:#666; font-size:13px; }
.order-details dd { margin:2px 0 0; font-weight:700; }
.fsg-privacy { display:flex; align-items:flex-start; gap:8px; margin-top:17px; font-size:13px; line-height:1.4; }
.fsg-privacy input { margin-top:2px; }
.total-modal { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; }
.total-order-price { display:grid; }
.total-order-price small { color:#666; }
.total-order-price strong { font-size:22px; }
.modal-order button[type="submit"] { padding:12px 28px; font-size:14px; }
.modal-order button[disabled] { opacity:.6; cursor:wait; }
.fsg-form-status { min-height:1.4em; margin:10px 0 0; font-weight:700; }
.fsg-form-status.is-error { color:#b32d2e; }
.fsg-form-status.is-success { color:#287a19; }
body.fsg-modal-open { overflow:hidden; }

@media (max-width:950px) {
    .order-items-result { overflow:visible; border:0; }
    .order-items-result .head-items { display:none; }
    .order-items-result .body-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .fsg-product-result { overflow:hidden; border:1px solid var(--fsg-border)!important; border-radius:6px; }
    .size-item-details, .order-items-result.fsg-hide-price .size-item-details { display:grid; grid-template-columns:1fr 1fr; min-height:0; padding:10px; text-align:right; }
    .size-item-details>div { display:flex; justify-content:space-between; gap:12px; padding:7px 8px; }
    .size-item-details>div::before { content:attr(data-label); color:#666; font-weight:400; text-align:left; }
    .size-item-details .fsg-product-title { grid-column:1/-1; justify-content:flex-start; padding-bottom:12px; font-size:1.08em; }
    .size-item-details .fsg-product-title::before, .size-item-details .order::before { display:none; }
    .size-item-details .order { grid-column:1/-1; }
    .size-item-details .order button { width:100%; }
}
@media (max-width:700px) {
    .sizes-body { grid-template-columns:1fr; padding:20px; }
    .top-image-table { grid-row:1; }
    .fsg-results-toolbar { align-items:stretch; flex-direction:column; }
    .fsg-product-search input { width:100%; }
    .order-items-result .body-items { grid-template-columns:1fr; }
    .modal-back { padding:0; }
    .modal-back .modal-order { min-height:100%; max-height:100vh; border-radius:0; }
    .fsg-contact-fields, .order-details dl { grid-template-columns:1fr; }
    .fsg-comment-field { grid-column:auto; }
    .total-modal { align-items:stretch; flex-direction:column; }
    .modal-order button[type="submit"] { width:100%; order:2; }
}
@media (max-width:460px) {
    .size-item-details, .order-items-result.fsg-hide-price .size-item-details { grid-template-columns:1fr; }
    .size-item-details .fsg-product-title, .size-item-details .order { grid-column:1; }
    .fsg-mode-switcher label, .fsg-fulfilment label { flex:1; text-align:center; }
}
