/* LRSP calculators: isolated modes, large block library, neutral 3D studio. */
.lrsp-page { --lrsp-line:#d5dfe6; --lrsp-muted:#45535e; --lrsp-orange:#f65c12; color:#101d29; background:#f3f5f6; padding:18px 0 42px; }
.lrsp-page *, .lrsp-page *::before, .lrsp-page *::after { box-sizing:border-box; }
.lrsp-page [hidden] { display:none!important; }
.lrsp-shell { width:min(calc(100% - 48px),1880px); margin-inline:auto; }
.lrsp-page .breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; font-size:12px; color:#455563; }
.lrsp-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.lrsp-heading h1 { margin:0; font-size:clamp(26px,2.45vw,40px); line-height:1.18; font-weight:800; letter-spacing:-.035em; }
.lrsp-catalog-link { display:flex; align-items:center; gap:18px; flex-shrink:0; padding:13px 17px; background:#fff; border:1px solid var(--lrsp-line); border-radius:10px; font-size:12px; font-weight:600; color:#142a3c; }
.lrsp-catalog-link span { color:var(--lrsp-orange); font-size:20px; }
.lrsp-mode-bar { margin-bottom:24px; }
.lrsp-modes { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lrsp-modes button { display:flex; align-items:center; gap:18px; width:100%; min-height:106px; padding:20px 25px; border:2px solid #b8c8d3; border-radius:16px; background:#fff; color:#111d26; text-align:left; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.lrsp-modes button:hover { border-color:var(--lrsp-orange); box-shadow:0 4px 20px #18364512; }
.lrsp-modes b { display:grid; place-items:center; width:54px; height:54px; flex:0 0 54px; border-radius:12px; background:#eaf0f4; color:#173749; }
.lrsp-modes svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.8; }
.lrsp-modes span { font-size:clamp(18px,1.4vw,24px); font-weight:800; line-height:1.25; }
.lrsp-modes small { display:block; margin-top:7px; color:#3e505f; font-size:13px; font-weight:500; }
.lrsp-modes i { margin-left:auto; color:#e85d15; font-size:27px; font-style:normal; }
.lrsp-modes [aria-selected="true"] { border-color:var(--lrsp-orange); background:#0b293d; color:#fff; box-shadow:0 5px 22px #0b293d16; }
.lrsp-modes [aria-selected="true"] b { color:#fff; background:var(--lrsp-orange); }
.lrsp-modes [aria-selected="true"] small { color:#e3edf4; }
.lrsp-modes [aria-selected="true"] i { color:#fff; }
.lrsp-workspace { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:20px; align-items:start; }
.lrsp-controls { display:flex; flex-direction:column; gap:14px; min-width:0; }
.lrsp-page[data-mode="sections"] .lrsp-controls { grid-column:2; grid-row:1; }
.lrsp-page[data-mode="sections"] .lrsp-preview { grid-column:1; grid-row:1; }
.lrsp-preview { position:sticky; top:14px; display:flex; flex-direction:column; min-width:0; padding:14px; border:1px solid var(--lrsp-line); border-radius:17px; background:#fff; }
.lrsp-preview__toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 3px 13px; }
.lrsp-preview__toolbar h2 { margin:0; font-size:15px; font-weight:750; }
.lrsp-preview__toolbar h2 > span { font-size:12px; color:#445967; font-weight:500; }
.lrsp-history { display:flex; gap:5px; flex-shrink:0; }
.lrsp-history button { min-width:32px; height:32px; padding:0 8px; border:1px solid var(--lrsp-line); border-radius:7px; background:#fff; color:#173447; font:inherit; cursor:pointer; }
.lrsp-history .lrsp-reset { font-size:11px; font-weight:600; margin-left:3px; }
.lrsp-history button:disabled { opacity:.35; cursor:default; }
.lrsp-row-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:0 3px 12px; flex-shrink:0; }
.lrsp-page[data-mode="dimensions"] .lrsp-row-bar { display:none; }
.lrsp-page[data-mode="sections"] .lrsp-row-bar { display:none; }
.lrsp-row-tabs { display:flex; flex-wrap:wrap; gap:5px; }
.lrsp-row-tabs button { min-width:68px; min-height:36px; padding:7px 12px; border:1px solid #cbd7e0; border-radius:7px; background:#f5f7f8; color:#203746; font-size:13px; font-weight:700; cursor:pointer; }
.lrsp-row-tabs button[aria-selected="true"] { background:#0b293d; border-color:#0b293d; color:#fff; box-shadow:inset 0 -3px #f65c12; }
.lrsp-row-tabs button:hover:not([aria-selected="true"]) { border-color:var(--lrsp-orange); }
.lrsp-row-bar > span { font-size:12px; font-weight:600; color:#334d5d; }
@media(max-width:420px) { .lrsp-row-bar { gap:6px; padding-inline:0; } .lrsp-row-tabs { width:100%; gap:4px; } .lrsp-row-tabs button { min-width:0; flex:1; padding:8px 5px; font-size:12px; } }
.lrsp-stage { position:relative; height:clamp(510px,44vw,740px); overflow:hidden; border:1px solid #e0e7ec; border-radius:12px; background:#f5f7f8; }
.lrsp-canvas, .lrsp-dropzones, .lrsp-deck-targets, .lrsp-selection-tools { position:absolute; inset:50px 0 72px; }
.lrsp-canvas canvas { display:block; width:100%; height:100%; touch-action:none; cursor:grab; outline-offset:-4px; }
.lrsp-canvas canvas:active { cursor:grabbing; }
.lrsp-view-tools { position:absolute; z-index:3; left:12px; top:12px; display:flex; gap:3px; padding:3px; background:#e4eaee; border-radius:8px; }
.lrsp-view-tools button { padding:6px 10px; border:0; border-radius:5px; background:transparent; font-size:11px; color:#3b5060; cursor:pointer; }
.lrsp-view-tools [aria-pressed="true"] { background:#fff; color:#0a293e; box-shadow:0 1px 5px #09283e12; }
.lrsp-zoom { position:absolute; z-index:3; right:12px; top:13px; display:flex; gap:4px; }
.lrsp-zoom button { width:31px; height:31px; padding:0; border:1px solid #cfdbe3; border-radius:6px; background:#fff; color:#15344a; font-size:20px; cursor:pointer; }
.lrsp-view-status { position:absolute; z-index:5; inset:40% 12% auto; padding:18px; border:1px solid var(--lrsp-line); border-radius:10px; background:#fff; color:#283d4b; text-align:center; font-size:13px; line-height:1.5; }
.lrsp-empty { position:absolute; inset:25% 8% auto; text-align:center; pointer-events:none; transition:opacity .15s; }
.lrsp-empty > svg { width:60px; height:60px; margin-bottom:15px; fill:none; stroke:#f16b24; stroke-width:1.5; }
.lrsp-empty h3 { margin:0 0 10px; font-size:24px; line-height:1.25; color:#172d3b; font-weight:700; }
.lrsp-empty p { margin:0; font-size:14px; line-height:1.7; color:#40525f; }
.lrsp-empty.is-placing { opacity:0; }
.lrsp-dropzones { z-index:2; pointer-events:none; }
.lrsp-dropzones button { position:absolute; display:flex; flex-direction:column; align-items:center; gap:4px; transform:translate(-50%,-50%); border:0; padding:7px 9px; background:#fff8efec; color:#8c310a; border-radius:10px; font-size:12px; font-weight:700; pointer-events:auto; cursor:copy; box-shadow:0 3px 18px #be571517; }
.lrsp-dropzones b { display:grid; place-items:center; width:36px; height:36px; border:1.5px solid #f36c24; border-radius:50%; background:#fff; color:#de5718; font-size:27px; font-weight:400; line-height:1; }
.lrsp-dropzones button:hover, .lrsp-dropzones button.is-active { background:#fb6519; color:#fff; box-shadow:0 5px 25px #e95b2838; }
.lrsp-page.is-dragging, .lrsp-page.is-dragging * { cursor:grabbing!important; user-select:none; }
.lrsp-page.is-dragging .lrsp-dropzones { pointer-events:none; }
.lrsp-deck-targets { z-index:2; pointer-events:none; }
.lrsp-deck-targets button { position:absolute; display:grid; place-items:center; width:44px; height:44px; padding:0; transform:translate(-50%,-50%); border:0; background:transparent; color:#fff; cursor:pointer; pointer-events:auto; }
.lrsp-deck-targets b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--lrsp-orange); box-shadow:0 2px 8px #923b2025; font-size:23px; line-height:1; font-weight:600; }
.lrsp-deck-targets span { position:absolute; right:7px; top:43px; padding:7px 10px; border-radius:6px; background:#183343; color:#fff; white-space:nowrap; font-size:12px; font-weight:600; pointer-events:none; opacity:0; }
.lrsp-deck-targets button:hover span, .lrsp-deck-targets button:focus-visible span { opacity:1; }
.lrsp-page.is-placing .lrsp-deck-targets { display:none; }
.lrsp-selection-tools { z-index:3; pointer-events:none; }
.lrsp-selection-actions { position:absolute; display:flex; align-items:center; gap:6px; width:max-content; }
.lrsp-selection-tools button { display:flex; align-items:center; justify-content:center; gap:7px; width:150px; min-height:40px; padding:8px 10px; border:1px solid #f08043; border-radius:8px; background:#fff; box-shadow:0 3px 14px #1836451f; color:#173447; font-size:12px; font-weight:750; cursor:pointer; pointer-events:auto; }
.lrsp-selection-tools [data-lrsp-selection-remove] { width:40px; padding:8px; color:#a53622; }
.lrsp-selection-tools [aria-disabled="true"] { opacity:.45; }
.lrsp-selection-tools button:hover { background:#fff4eb; border-color:var(--lrsp-orange); }
.lrsp-selection-tools svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lrsp-page.is-placing .lrsp-selection-tools, .lrsp-page.is-replacing .lrsp-selection-tools { visibility:hidden; }
.lrsp-stage__dimensions { position:absolute; z-index:1; bottom:16px; left:50%; display:flex; gap:18px; margin:0; padding:0; transform:translateX(-50%); border:0; background:transparent; pointer-events:none; }
.lrsp-stage__dimensions > div { min-width:45px; text-align:center; }
.lrsp-stage__dimensions dt { color:#435967; font-size:10px; line-height:1.4; }
.lrsp-stage__dimensions dd { margin:2px 0 0; font-size:13px; line-height:1.3; font-weight:700; }
.lrsp-panel { padding:19px; border:1px solid var(--lrsp-line); border-radius:15px; background:#fff; }
.lrsp-panel__heading { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.lrsp-panel__heading > span { display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border-radius:8px; background:#ffdfca; color:#302010; font-size:11px; font-weight:800; }
.lrsp-panel__heading h2 { margin:0; font-size:17px; font-weight:800; line-height:1.3; }
.lrsp-panel__heading p { margin:6px 0 0; font-size:13px; font-weight:500; color:#222; }
.lrsp-drag-instruction { display:flex; align-items:center; gap:6px; }
.lrsp-drag-direction { display:block; width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; color:#233c4c; }
.lrsp-controls form, #lrsp-sections { display:flex; flex-direction:column; gap:14px; }
.lrsp-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lrsp-field { display:flex; min-width:0; flex-direction:column; gap:9px; color:#141c24; font-size:12px; font-weight:600; }
.lrsp-stepper { display:grid; grid-template-columns:35px minmax(0,1fr) 35px; height:43px; border:1px solid #c7d5df; border-radius:8px; overflow:hidden; background:#fff; }
.lrsp-stepper button { padding:0; border:0; background:#f4f7f9; color:#0d2b3f; font-size:18px; font-weight:700; cursor:pointer; }
.lrsp-stepper button:hover:not(:disabled) { background:#fff0e4; color:#d64d0b; }
.lrsp-stepper button:disabled { color:#a9b5bf; cursor:default; }
.lrsp-stepper input { width:100%; min-width:0; padding:0 2px; border:0; border-inline:1px solid #d4dfe7; background:transparent; color:#111e28; text-align:center; font-size:18px; font-weight:800; appearance:textfield; -moz-appearance:textfield; outline:0; }
.lrsp-stepper input:focus-visible { outline:2px solid #355a70; outline-offset:-3px; }
.lrsp-stepper input:disabled { color:#919eaa; background:#f6f8fa; }
.lrsp-stepper input::-webkit-inner-spin-button, .lrsp-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.lrsp-size-caption { display:flex; justify-content:space-between; gap:12px; margin-top:16px; padding-top:13px; border-top:1px solid #e7edf1; font-size:12px; }
.lrsp-panel-caption { margin:13px 0 0; font-size:11px; line-height:1.6; color:#4b5b68; }
.lrsp-deck-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 20px; padding:0; border:0; }
.lrsp-deck-options legend { margin-bottom:9px; font-size:12px; font-weight:600; }
.lrsp-deck-options label { position:relative; cursor:pointer; }
.lrsp-deck-options input { position:absolute; left:10px; top:10px; width:15px; height:15px; margin:0; accent-color:var(--lrsp-orange); }
.lrsp-deck-options label > span { display:flex; min-height:83px; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:9px 4px; border:1px solid var(--lrsp-line); border-radius:9px; background:#f6f8f9; font-size:12px; font-weight:600; }
.lrsp-deck-options svg { width:36px; height:28px; fill:none; stroke:currentColor; stroke-width:1.2; color:#4b6577; }
.lrsp-deck-options input:checked + span { border-color:var(--lrsp-orange); box-shadow:0 0 0 1px var(--lrsp-orange); background:#fff5ed; }
.lrsp-deck-options input:checked + span svg { color:#d26329; }
.lrsp-section-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.lrsp-library-paging { display:none; margin-left:auto; gap:5px; }
.lrsp-library > .lrsp-panel__heading > div:first-child { min-width:0; }
.lrsp-replace-cancel { flex-shrink:0; margin-left:auto; padding:8px; border:1px solid #ccd7df; border-radius:7px; background:#fff; color:#173447; font-size:12px; font-weight:600; cursor:pointer; }
.lrsp-page.is-replacing .lrsp-library { border-color:#f08043; }
.lrsp-page.is-replacing .lrsp-drag-direction { display:none; }
.lrsp-page.is-replacing .lrsp-section-card { cursor:grab; }
.lrsp-library-paging button { width:32px; height:32px; border:1px solid var(--lrsp-line); border-radius:7px; background:#fff; color:#173447; font-size:18px; cursor:pointer; }
.lrsp-section-card { position:relative; display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:7px 10px 12px; border:1.5px solid #cbd8e1; border-radius:11px; background:#fff; color:#111; text-align:left; cursor:grab; touch-action:none; user-select:none; transition:border-color .12s,box-shadow .12s; }
.lrsp-section-card:hover { border-color:#ec7f44; box-shadow:0 3px 14px #c55a1110; }
.lrsp-section-card__image { display:grid; position:relative; place-items:center; height:108px; margin:0 -3px 9px; overflow:hidden; border-radius:7px; background:#f3f5f7; color:#536979; font-size:14px; }
.lrsp-section-card__image img { position:absolute; inset:0; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; pointer-events:none; }
.lrsp-section-card__copy strong { display:block; font-size:14px; line-height:1.3; font-weight:750; color:#111; }
.lrsp-section-card__copy small { display:block; margin-top:5px; font-size:13px; line-height:1.3; font-weight:700; color:#202020; }
.lrsp-section-card > i { display:none; position:absolute; right:8px; top:8px; width:21px; height:21px; border-radius:50%; background:var(--lrsp-orange); color:#fff; font-style:normal; text-align:center; font-size:13px; line-height:21px; }
.lrsp-section-card[aria-pressed="true"] { border-color:var(--lrsp-orange); box-shadow:0 0 0 1px var(--lrsp-orange); background:#fff7ef; }
.lrsp-section-card[aria-pressed="true"] > i { display:block; }
.lrsp-section-card.is-dragging { opacity:.5; }
.lrsp-section-card:disabled { opacity:.45; cursor:not-allowed; }
.lrsp-project-strip { display:flex; align-items:center; gap:8px; min-width:0; padding:12px 2px 0; font-size:11px; }
.lrsp-project-strip > span { flex-shrink:0; }
.lrsp-project-strip > div { display:flex; gap:5px; min-width:0; overflow:auto; padding:3px; margin-right:auto; }
.lrsp-project-strip button { flex-shrink:0; padding:6px 8px; border:1px solid var(--lrsp-line); border-radius:6px; background:#f6f8f9; color:#233d4c; font-size:11px; cursor:pointer; }
.lrsp-project-strip [aria-pressed="true"] { border-color:var(--lrsp-orange); background:#fff2e7; color:#a33e0b; }
.lrsp-project-strip [data-lrsp-remove] { color:#a53622; }
.lrsp-project-strip [aria-disabled="true"] { opacity:.45; }
.lrsp-message { padding:10px 3px 0; font-size:12px; line-height:1.5; color:#24495b; }
.lrsp-message:empty { display:none; }
.lrsp-message.is-error { margin-top:10px; padding:11px 13px; border:1px solid #ffc398; border-radius:8px; background:#fff2e8; color:#913611; }
.lrsp-row-layout { padding:14px; }
.lrsp-row-layout .lrsp-panel__heading { margin-bottom:10px; }
.lrsp-row-layout h2 { font-size:16px; }
.lrsp-row-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.lrsp-row-options button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:76px; padding:7px 3px; border:1px solid var(--lrsp-line); border-radius:8px; background:#f6f8f9; color:#1c3444; cursor:pointer; }
.lrsp-row-options svg { width:28px; height:25px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:square; stroke-linejoin:miter; }
.lrsp-row-options strong { font-size:11px; line-height:1.3; font-weight:700; white-space:nowrap; }
.lrsp-row-options small { font-size:11px; line-height:1.3; font-weight:600; color:#344858; }
.lrsp-row-options [aria-pressed="true"] { border-color:var(--lrsp-orange); background:#fff5ed; color:#d65010; box-shadow:0 0 0 1px var(--lrsp-orange); }
.lrsp-row-options button:hover:not(:disabled) { border-color:var(--lrsp-orange); }
.lrsp-row-options button:disabled { opacity:1; background:#f4f6f8; color:#526473; border-color:#dce4e9; cursor:default; }
.lrsp-row-options button[aria-pressed="true"]:disabled { border-color:#ec8954; background:#fff5ed; color:#a94512; }
.lrsp-row-options [aria-pressed="true"] small { color:#85370f; }
.lrsp-extras { border:1px solid #e5c8b7; border-radius:13px; background:#fffaf5; }
.lrsp-extras summary { display:flex; align-items:center; gap:10px; padding:15px; cursor:pointer; list-style:none; }
.lrsp-extras summary::-webkit-details-marker { display:none; }
.lrsp-extras__icon { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border:1px solid #ffba90; border-radius:8px; color:#de5718; background:#fff; font-size:21px; }
.lrsp-extras__icon svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; }
.lrsp-extras strong { display:block; font-size:13px; color:#171c20; font-weight:700; }
.lrsp-extras small { display:block; margin-top:5px; color:#44505a; font-size:11px; line-height:1.4; }
.lrsp-extras summary > svg { width:18px; height:18px; margin-left:auto; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; }
.lrsp-extras[open] summary > svg { transform:rotate(180deg); }
.lrsp-extras__body { padding:0 16px 15px; }
.lrsp-extra-option { display:flex; align-items:center; gap:10px; padding:15px 0; border-top:1px solid #ecd9cc; cursor:pointer; }
.lrsp-extra-option input[type="checkbox"] { width:18px; height:18px; flex:0 0 18px; margin:0; accent-color:var(--lrsp-orange); }
.lrsp-extra-image { display:block; width:46px; height:44px; flex:0 0 46px; }
.lrsp-extra-image img { display:block; width:100%; height:100%; object-fit:contain; }
.lrsp-extra-copy { flex:1; min-width:0; }
.lrsp-extra-option--brackets { justify-content:space-between; cursor:default; }
.lrsp-extra-option--brackets .lrsp-stepper { width:96px; flex-shrink:0; grid-template-columns:26px minmax(0,1fr) 26px; height:36px; }
.lrsp-extra-option--brackets .lrsp-stepper input { font-size:15px; }
.lrsp-results { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:stretch; gap:20px; margin-top:23px; }
.lrsp-composition, .lrsp-summary { min-width:0; padding:19px; border:1px solid var(--lrsp-line); border-top:3px solid var(--lrsp-orange); border-radius:14px; background:#fff; }
.lrsp-composition { display:flex; flex-direction:column; }
.lrsp-composition h2 { margin:0 0 12px; font-size:19px; font-weight:800; }
.lrsp-composition ul { display:grid; flex:1; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); gap:8px 12px; list-style:none; margin:0; padding:0; }
.lrsp-composition ul:empty { display:none; }
.lrsp-composition li { display:grid; min-width:0; grid-template-columns:96px repeat(3,minmax(0,1fr)); grid-template-rows:auto auto; align-items:center; gap:2px 8px; padding:4px 8px; border:1px solid var(--lrsp-line); border-radius:14px; background:#fff; font-size:12px; line-height:1.3; color:#192b37; }
.lrsp-bom-image { position:relative; display:block; grid-column:1; grid-row:1/3; width:96px; max-width:100%; height:100%; min-height:56px; max-height:76px; }
.lrsp-bom-image img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.lrsp-bom-name { grid-column:2/-1; min-width:0; overflow-wrap:anywhere; }
.lrsp-bom-value { min-width:0; text-align:right; }
.lrsp-bom-value small { display:block; margin-bottom:2px; color:#455563; font-size:10px; font-weight:400; }
.lrsp-bom-value strong { display:block; color:#111d26; font-size:13px; font-weight:600; }
.lrsp-bom-value--total strong { font-weight:750; }
.lrsp-composition > p { margin:0; color:#455563; font-size:13px; }
.lrsp-summary { display:flex; align-items:center; }
.lrsp-summary__main { display:grid; width:100%; grid-template-columns:minmax(0,1fr); align-items:center; gap:20px; }
.lrsp-summary__intro { grid-column:1; }
.lrsp-summary__intro h2 { margin:0; font-size:21px; font-weight:800; letter-spacing:-.03em; }
.lrsp-summary__intro p { margin:9px 0 0; font-size:12px; line-height:1.5; color:#3c5362; }
.lrsp-summary__facts { display:grid; grid-column:1; grid-row:2; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0; }
.lrsp-summary__facts dt { font-size:12px; color:#405564; }
.lrsp-summary__facts dd { margin:6px 0 0; font-size:16px; font-weight:800; }
.lrsp-summary__purchase { grid-column:1; grid-row:3; padding-top:18px; border-top:1px solid var(--lrsp-line); }
.lrsp-price { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
.lrsp-price > span { font-size:13px; font-weight:600; }
.lrsp-price small { display:block; margin-top:5px; color:#4f626f; font-size:11px; font-weight:400; }
.lrsp-price strong { font-size:clamp(22px,1.6vw,28px); font-weight:800; white-space:nowrap; }
.lrsp-summary__purchase > button { display:block; width:100%; padding:13px 10px; border:1px solid #ed570e; border-radius:9px; background:var(--lrsp-orange); color:#fff; font-size:13px; font-weight:750; cursor:pointer; }
.lrsp-summary__purchase > button:disabled { border-color:#e0e7ec; background:#eaf0f3; color:#526674; cursor:default; }
.lrsp-summary__purchase > a { display:block; margin-top:11px; text-align:center; color:#253e4e; font-size:12px; }
.lrsp-noscript { padding:18px; border:1px solid #f5b389; border-radius:10px; background:#fff4e9; font-size:14px; }
.lrsp-page button:focus-visible, .lrsp-page a:focus-visible, .lrsp-page summary:focus-visible, .lrsp-deck-options input:focus-visible + span { outline:3px solid #f89760; outline-offset:3px; }
