/* SimplyPrint Pricing V2 - PHP 7.4 safe package.
   This CSS styles only the new pricing component. It does not affect the blue hero or green USP sections. */

.spv2-pricing,
.spv2-pricing * {
    box-sizing: border-box;
}

.spv2-pricing {
    max-width: 1250px;
    margin: 0 auto 42px;
    padding: 0 16px;
    color: #111;
    font-family: inherit;
}

.spv2-warning {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff7f7;
}

.spv2-deadline-box {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 18px 0 10px;
    padding: 17px 20px;
    border: 1px solid #bfbfbf;
    border-radius: 6px;
    background: #f7f7f7;
}

.spv2-deadline-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #111;
    color: #111;
    font-size: 18px;
    flex: 0 0 auto;
}

.spv2-deadline-copy {
    flex: 1 1 auto;
    line-height: 1.45;
}

.spv2-deadline-copy strong {
    display: block;
    font-size: 17px;
}

.spv2-deadline-copy span {
    display: block;
    font-size: 14px;
}

.spv2-deadline-link {
    flex: 0 0 auto;
    color: #e6007e;
    text-decoration: none;
    font-size: 14px;
}

.spv2-faq-strip {
    margin: 10px 0 14px;
    border: 1px solid #bfbfbf;
    border-radius: 6px;
    background: #fff;
}

.spv2-faq-strip summary {
    padding: 14px 18px;
    cursor: pointer;
    font-weight: 600;
}

.spv2-faq-body {
    padding: 0 18px 16px;
    color: #333;
    line-height: 1.45;
    font-size: 14px;
}

.spv2-order-card {
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
    overflow: hidden;
}

.spv2-order-top {
    padding: 18px 20px 0;
}

.spv2-order-top h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.2;
}

.spv2-order-top p {
    margin: 6px 0 0;
    color: #555;
    font-size: 14px;
}

.spv2-order-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
    padding: 20px;
}

.spv2-picker-area {
    min-width: 0;
}

.spv2-control-block {
    margin-bottom: 18px;
}

.spv2-control-block:last-child {
    margin-bottom: 0;
}

.spv2-label {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 9px;
}

.spv2-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.spv2-pill {
    min-height: 38px;
    min-width: 98px;
    padding: 8px 17px;
    border: 1px solid #cfd4dc;
    border-radius: 5px;
    background: #fff;
    color: #111;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
    line-height: 1.2;
    text-align: center;
}

.spv2-pill:hover {
    border-color: #0067bd;
}

.spv2-pill.is-active {
    border-color: #0067bd;
    background: #0067bd;
    color: #fff;
    font-weight: 700;
}

.spv2-selected-card {
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    background: #fbfbfb;
    padding: 18px;
    align-self: start;
}

.spv2-selected-heading {
    font-weight: 700;
    margin-bottom: 9px;
}

.spv2-selected-name {
    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
    margin-bottom: 10px;
}

.spv2-selected-desc {
    font-size: 14px;
    line-height: 1.45;
    color: #333;
}

.spv2-selected-note {
    margin-top: 12px;
    padding: 10px 12px;
    border-left: 3px solid #0067bd;
    background: #eef6ff;
    font-size: 13px;
    line-height: 1.35;
}

.spv2-price-panel {
    border-top: 1px solid #e2e2e2;
    padding: 18px 20px 20px;
}

.spv2-price-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 12px;
}

.spv2-price-head strong {
    display: block;
    font-size: 15px;
}

.spv2-price-head span {
    display: block;
    margin-top: 2px;
    color: #555;
    font-size: 13px;
}

.spv2-save-note {
    color: #e6007e;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.spv2-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    table-layout: fixed;
}

.spv2-price-table th,
.spv2-price-table td {
    border: 1px solid #e4e4e4;
    padding: 10px 8px;
    text-align: center;
    vertical-align: middle;
}

.spv2-price-table th:first-child {
    text-align: left;
    width: 170px;
    font-weight: 700;
}

.spv2-price-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 125px;
    min-height: 34px;
    border: 1px solid #e6007e;
    border-radius: 5px;
    background: #fff;
    color: #e6007e;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.spv2-price-btn:hover,
.spv2-price-btn:focus {
    background: #e6007e;
    color: #fff;
}

.spv2-no-price {
    color: #aaa;
}

.spv2-multiset {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid #f4b9d7;
    border-radius: 6px;
    background: #fff4fa;
    font-size: 14px;
}

.spv2-quote-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 24px;
    border-radius: 5px;
    background: #e6007e;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.spv2-lead-times {
    margin-top: 18px;
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    background: #fff;
    padding: 18px;
}

.spv2-lead-times h3 {
    margin: 0 0 16px;
    text-align: center;
    font-size: 20px;
}

.spv2-lead-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.spv2-lead-card {
    border: 1px solid #e3e3e3;
    border-radius: 7px;
    padding: 17px;
    min-height: 120px;
}

.spv2-lead-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    margin-right: 7px;
    border-radius: 50%;
    background: #e6007e;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.spv2-lead-card strong {
    font-size: 16px;
}

.spv2-lead-card p {
    margin: 10px 0 0;
    color: #444;
    font-size: 14px;
    line-height: 1.4;
}

.is-hidden {
    display: none !important;
}

@media (max-width: 760px) {
    .spv2-pricing {
        padding: 0 10px;
        margin-bottom: 28px;
    }

    .spv2-deadline-box {
        display: grid;
        grid-template-columns: 34px 1fr;
        align-items: start;
        padding: 14px;
        gap: 10px;
    }

    .spv2-deadline-copy strong {
        font-size: 15px;
    }

    .spv2-deadline-link {
        grid-column: 2;
        justify-self: start;
    }

    .spv2-order-top {
        padding: 15px 14px 0;
    }

    .spv2-order-top h2 {
        font-size: 18px;
    }

    .spv2-order-grid {
        display: block;
        padding: 14px;
    }

    .spv2-control-block {
        margin-bottom: 16px;
    }

    .spv2-label {
        font-size: 14px;
    }

    .spv2-pill-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 3px;
    }

    .spv2-pill {
        min-width: auto;
        white-space: nowrap;
        padding: 8px 14px;
    }

    .spv2-selected-card {
        margin-top: 12px;
        padding: 14px;
    }

    .spv2-selected-name {
        font-size: 17px;
    }

    .spv2-price-panel {
        padding: 14px;
    }

    .spv2-price-head {
        display: block;
    }

    .spv2-save-note {
        margin-top: 8px;
        white-space: normal;
    }

    .spv2-price-table,
    .spv2-price-table thead,
    .spv2-price-table tbody,
    .spv2-price-table tr,
    .spv2-price-table th,
    .spv2-price-table td {
        display: block;
        border: 0;
    }

    .spv2-price-table thead {
        display: none;
    }

    .spv2-price-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid #e4e4e4;
        border-radius: 7px;
    }

    .spv2-price-table th:first-child {
        width: auto;
        padding: 0 0 9px;
        text-align: left;
    }

    .spv2-price-table td {
        display: inline-block;
        width: 32.3%;
        padding: 4px;
    }

    .spv2-price-btn {
        max-width: none;
        min-height: 40px;
        font-size: 13px;
    }

    .spv2-multiset {
        display: block;
    }

    .spv2-quote-btn {
        width: 100%;
        margin-top: 10px;
    }

    .spv2-lead-grid {
        display: block;
    }

    .spv2-lead-card {
        min-height: 0;
        margin-bottom: 10px;
    }
}

/* Corrected V2: stock/option links, no middle material selector */
.spv2-pill-row a.spv2-pill {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.spv2-selected-desc {
    white-space: normal;
}

/* Pricing V2 no-refresh stock switch */
.spv2-pill[type="button"],
button.spv2-pill {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    font: inherit;
}

.spv2-option-group,
.spv2-stock-switch-panel,
.spv2-stock-price-panel {
    display: none;
}

.spv2-option-group.is-active,
.spv2-stock-switch-panel.is-active,
.spv2-stock-price-panel.is-active {
    display: block;
}

.spv2-quote-line {
    margin-top: 12px;
    font-size: 14px;
}

.spv2-quote-line span {
    margin-right: 8px;
}

.spv2-quote-link {
    font-weight: 700;
}

/* V2 stock switching safety rules */
.spv2-option-group,
.spv2-stock-switch-panel,
.spv2-stock-price-panel {
    display: none !important;
}

.spv2-option-group.is-active,
.spv2-stock-switch-panel.is-active,
.spv2-stock-price-panel.is-active {
    display: block !important;
}

.spv2-pill[type="button"],
button.spv2-pill {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.spv2-pill.is-active {
    background: #0068b7;
    color: #fff;
    border-color: #0068b7;
}

/* V2 refinements: less bulky stock advice + cleaner price buttons */
.spv2-advice-wrap {
    align-self: start;
}

.spv2-selected-card {
    padding: 12px 14px !important;
    max-width: 320px;
}

.spv2-selected-heading {
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

.spv2-selected-name {
    font-size: 17px !important;
    line-height: 1.2 !important;
    margin-bottom: 6px !important;
}

.spv2-selected-desc {
    font-size: 13px !important;
    line-height: 1.35 !important;
    max-height: 82px;
    overflow: auto;
    padding-right: 4px;
}

.spv2-price-btn,
.spv2-price-btn:hover,
.spv2-price-btn:focus,
.spv2-price-table a,
.spv2-price-table a:hover,
.spv2-price-table a:focus {
    text-decoration: none !important;
}

.spv2-price-table td,
.spv2-price-table th {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.spv2-order-grid {
    align-items: flex-start;
}

@media (max-width: 800px) {
    .spv2-selected-card {
        max-width: none;
    }

    .spv2-selected-desc {
        max-height: 95px;
    }
}

/* V2 tidy pass: compact advice + no price underlines */

/* Stop advice being a tall right-hand column creating empty space */
.spv2-order-grid {
    display: block !important;
}

.spv2-picker-area {
    width: 100% !important;
}

.spv2-advice-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px !important;
}

.spv2-selected-card {
    max-width: none !important;
    width: auto !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    background: #fafafa !important;
}

/* Make only the active advice panel visible */
.spv2-stock-switch-panel {
    display: none !important;
}

.spv2-stock-switch-panel.is-active {
    display: block !important;
}

/* Make advice compact */
.spv2-selected-heading {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 8px 0 0 !important;
}

.spv2-selected-name {
    display: inline !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.spv2-selected-desc {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    max-height: 42px !important;
    overflow: hidden !important;
    margin-top: 5px !important;
    padding-right: 0 !important;
}

/* Bring prices closer to the selector/advice area */
.spv2-price-panel {
    margin-top: 16px !important;
}

/* Remove price underlines even if older site CSS targets links strongly */
.spv2-pricing a.spv2-price-btn,
.spv2-pricing a.spv2-price-btn:link,
.spv2-pricing a.spv2-price-btn:visited,
.spv2-pricing a.spv2-price-btn:hover,
.spv2-pricing a.spv2-price-btn:active,
.spv2-pricing a.spv2-price-btn:focus,
.spv2-price-table a.spv2-price-btn,
.spv2-price-table a.spv2-price-btn:hover,
.spv2-price-table td a.spv2-price-btn,
.spv2-price-table td a.spv2-price-btn:hover,
#pricing .spv2-price-table a.spv2-price-btn,
#pricing .spv2-price-table a.spv2-price-btn:hover {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Make the whole price button look like the action, not an underlined text link */
.spv2-price-btn {
    display: inline-block !important;
    min-width: 92px !important;
    padding: 8px 14px !important;
    line-height: 1.15 !important;
}

/* Reduce excessive whitespace in top pricing card */
.spv2-order-card {
    padding-bottom: 16px !important;
}

.spv2-control-block {
    margin-bottom: 10px !important;
}

.spv2-pill-row {
    margin-bottom: 0 !important;
}

@media (max-width: 800px) {
    .spv2-selected-desc {
        max-height: 58px !important;
    }

    .spv2-price-btn {
        min-width: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* V2 price button fix: full border visible + clearer hover */
.spv2-price-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.spv2-price-table td {
    overflow: visible !important;
    vertical-align: middle !important;
    padding: 12px 10px !important;
}

.spv2-price-btn,
.spv2-price-btn:link,
.spv2-price-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 94px !important;
    height: 34px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;

    color: #e6007e !important;
    background: #ffffff !important;
    border: 1px solid #e6007e !important;
    border-radius: 5px !important;

    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    overflow: visible !important;
}

.spv2-price-btn:hover,
.spv2-price-btn:focus,
.spv2-price-btn:active {
    color: #ffffff !important;
    background: #e6007e !important;
    border-color: #e6007e !important;
    text-decoration: none !important;
    outline: none !important;
}

/* Override old site link styles inside price buttons */
.spv2-price-table a,
.spv2-price-table a:hover,
.spv2-price-table a:focus,
.spv2-price-table a:active,
.spv2-price-table td a,
.spv2-price-table td a:hover,
#pricing .spv2-price-table a,
#pricing .spv2-price-table a:hover {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Prevent clipped rounded corners caused by parent containers */
.spv2-price-panel,
.spv2-stock-price-panel,
.spv2-price-table,
.spv2-price-table tbody,
.spv2-price-table tr,
.spv2-price-table td {
    overflow: visible !important;
}

/* V2 instruction visibility + price button border fix */

/* Make the instruction obvious, not hidden under the title */
.spv2-order-top p {
    display: block !important;
    margin: 12px 0 18px !important;
    padding: 11px 14px !important;
    background: #fff4fa !important;
    border: 1px solid #ffd0e8 !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 6px !important;
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.spv2-order-top p::before {
    content: "To order: ";
    color: #e6007e;
    font-weight: 800;
}

/* Price cells need enough space so the whole button is visible */
.spv2-price-table td {
    padding: 14px 12px !important;
    overflow: visible !important;
}

/* Use inset shadow instead of physical border so the bottom edge cannot be clipped */
.spv2-price-btn,
.spv2-price-btn:link,
.spv2-price-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 98px !important;
    min-height: 36px !important;
    padding: 8px 16px !important;
    margin: 2px 0 !important;
    box-sizing: border-box !important;

    color: #e6007e !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 0 1.5px #e6007e !important;

    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
    overflow: visible !important;
}

/* Stronger hover state so price remains readable */
.spv2-price-btn:hover,
.spv2-price-btn:focus,
.spv2-price-btn:active {
    color: #ffffff !important;
    background: #e6007e !important;
    border: 0 !important;
    box-shadow: inset 0 0 0 1.5px #e6007e !important;
    text-decoration: none !important;
    outline: none !important;
}

/* Kill old global link underline/border rules */
.spv2-pricing .spv2-price-table a.spv2-price-btn,
.spv2-pricing .spv2-price-table a.spv2-price-btn *,
.spv2-pricing .spv2-price-table a.spv2-price-btn:hover,
.spv2-pricing .spv2-price-table a.spv2-price-btn:focus,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn:hover,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn:focus {
    text-decoration: none !important;
    border-bottom: 0 !important;
}

/* Keep parent containers from clipping rounded button edges */
.spv2-price-panel,
.spv2-stock-price-panel,
.spv2-price-table,
.spv2-price-table tbody,
.spv2-price-table tr,
.spv2-price-table td {
    overflow: visible !important;
}

/* V2 restore visible price button borders */

/* Give cells enough height so borders cannot be clipped */
.spv2-price-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.spv2-price-table td {
    padding: 14px 12px !important;
    overflow: visible !important;
    vertical-align: middle !important;
}

/* Real bordered price buttons */
.spv2-pricing a.spv2-price-btn,
.spv2-pricing a.spv2-price-btn:link,
.spv2-pricing a.spv2-price-btn:visited,
#pricing .spv2-pricing a.spv2-price-btn,
#pricing .spv2-pricing a.spv2-price-btn:link,
#pricing .spv2-pricing a.spv2-price-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 98px !important;
    min-height: 36px !important;
    padding: 8px 16px !important;
    margin: 3px 0 !important;
    box-sizing: border-box !important;

    color: #e6007e !important;
    background: #ffffff !important;

    border: 1.5px solid #e6007e !important;
    border-top: 1.5px solid #e6007e !important;
    border-right: 1.5px solid #e6007e !important;
    border-bottom: 1.5px solid #e6007e !important;
    border-left: 1.5px solid #e6007e !important;

    border-radius: 5px !important;
    box-shadow: none !important;

    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
    overflow: visible !important;
}

/* Clear hover: solid pink with white text, border remains */
.spv2-pricing a.spv2-price-btn:hover,
.spv2-pricing a.spv2-price-btn:focus,
.spv2-pricing a.spv2-price-btn:active,
#pricing .spv2-pricing a.spv2-price-btn:hover,
#pricing .spv2-pricing a.spv2-price-btn:focus,
#pricing .spv2-pricing a.spv2-price-btn:active {
    color: #ffffff !important;
    background: #e6007e !important;

    border: 1.5px solid #e6007e !important;
    border-bottom: 1.5px solid #e6007e !important;

    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Kill global link underline styles without killing the button border */
.spv2-pricing .spv2-price-table a.spv2-price-btn,
.spv2-pricing .spv2-price-table a.spv2-price-btn:hover,
.spv2-pricing .spv2-price-table a.spv2-price-btn:focus,
.spv2-pricing .spv2-price-table a.spv2-price-btn:active,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn:hover,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn:focus,
#pricing .spv2-pricing .spv2-price-table a.spv2-price-btn:active {
    text-decoration: none !important;
}

/* Avoid clipping from parents */
.spv2-price-panel,
.spv2-stock-price-panel,
.spv2-price-table,
.spv2-price-table tbody,
.spv2-price-table tr,
.spv2-price-table td {
    overflow: visible !important;
}

/* V2 price-click experience improvements */

/* Smooth visual transition for the opened existing panel */
.spv2-panel-pulse {
    animation: spv2PanelPulse 900ms ease-out 1;
}

@keyframes spv2PanelPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(230, 0, 126, 0.35);
    }
    60% {
        box-shadow: 0 0 0 8px rgba(230, 0, 126, 0.06);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(230, 0, 126, 0);
    }
}

/* Improve the existing opened panel only after a V2 price has been clicked */
body.spv2-price-selected #options .summary-box,
body.spv2-price-selected #select_options,
body.spv2-price-selected #detail {
    border-radius: 8px !important;
}

/* Product Chosen panel: cleaner spacing */
body.spv2-price-selected #options .summary-box {
    border: 1px solid #e2e2e2 !important;
    background: #ffffff !important;
    padding: 18px !important;
    margin-top: 18px !important;
}

/* Make the selected product summary easier to scan */
body.spv2-price-selected #options .summary-box h3 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
}

body.spv2-price-selected #options .summary-box ul {
    margin: 8px 0 12px 18px !important;
    padding: 0 !important;
}

body.spv2-price-selected #options .summary-box li {
    margin-bottom: 4px !important;
}

/* Make the action panel feel like the next clear step */
body.spv2-price-selected #select_options {
    border: 1px solid #e2e2e2 !important;
    background: #fafafa !important;
    padding: 18px !important;
    margin-top: 14px !important;
}

body.spv2-price-selected #select_options h3 {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    text-align: center !important;
    font-size: 22px !important;
}

/* Equal, calmer cards for Design Online / Submit / Design for me */
body.spv2-price-selected #select_options .content-row {
    display: flex !important;
    gap: 14px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
}

body.spv2-price-selected #select_options .content-column {
    flex: 1 1 220px !important;
    background: #ffffff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    min-height: 125px !important;
}

body.spv2-price-selected #select_options .button,
body.spv2-price-selected #select_options a.button {
    border-radius: 6px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* The customer should clearly see this is the next action */
body.spv2-price-selected #select_options .button-block {
    margin-bottom: 10px !important;
}

/* Change Specification button should not dominate */
body.spv2-price-selected #changeSelection {
    border-radius: 6px !important;
}

/* When the existing panel opens, avoid cramped content on mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #options .summary-box,
    body.spv2-price-selected #select_options {
        padding: 14px !important;
    }

    body.spv2-price-selected #select_options .content-row {
        display: block !important;
    }

    body.spv2-price-selected #select_options .content-column {
        margin-bottom: 12px !important;
        min-height: auto !important;
    }
}

/* V2: improve existing Product Chosen / artwork upload panel after price click */

/* Overall panel area */
body.spv2-price-selected #options,
body.spv2-price-selected #detail {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Product chosen summary */
body.spv2-price-selected #options .summary-box,
body.spv2-price-selected #options .box {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    padding: 18px 22px !important;
    margin-top: 18px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

/* Product chosen heading */
body.spv2-price-selected #options h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
    color: #111 !important;
}

/* Product chosen list */
body.spv2-price-selected #options ul {
    margin: 8px 0 12px 20px !important;
    padding: 0 !important;
}

body.spv2-price-selected #options li {
    margin-bottom: 4px !important;
    line-height: 1.35 !important;
}

/* Change Specification button */
body.spv2-price-selected #changeSelection {
    background: #ffcc00 !important;
    color: #111 !important;
    border-radius: 5px !important;
    padding: 10px 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* Existing pink arrow: keep it but reduce dominance */
body.spv2-price-selected img[src*="arrow"],
body.spv2-price-selected .arrow,
body.spv2-price-selected #arrow {
    max-height: 28px !important;
    margin: 10px auto !important;
}

/* Artwork/detail panel wrapper */
body.spv2-price-selected #detail {
    background: transparent !important;
    padding: 0 !important;
}

/* Main upload/design panel */
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create,
body.spv2-price-selected #detail > div {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    padding: 24px 28px !important;
    margin-top: 18px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
}

/* Change Option button */
body.spv2-price-selected #detail #changeOption,
body.spv2-price-selected #detail .changeOption,
body.spv2-price-selected #detail a[href*="change"],
body.spv2-price-selected #detail .button-yellow {
    background: #ffcc00 !important;
    color: #111 !important;
    border-radius: 5px !important;
    padding: 9px 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 16px !important;
}

/* Submit Design heading */
body.spv2-price-selected #design-submit h3,
body.spv2-price-selected #design-create h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    color: #111 !important;
}

/* Step headings */
body.spv2-price-selected #design-submit h4,
body.spv2-price-selected #design-create h4,
body.spv2-price-selected #design-submit strong,
body.spv2-price-selected #design-create strong {
    color: #111 !important;
}

/* Improve text readability */
body.spv2-price-selected #design-submit p,
body.spv2-price-selected #design-create p,
body.spv2-price-selected #detail p,
body.spv2-price-selected #detail li {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #222 !important;
}

/* Warning/help text still visible but less harsh */
body.spv2-price-selected #detail font[color="red"],
body.spv2-price-selected #detail .red,
body.spv2-price-selected #detail .warning {
    color: #d6006f !important;
}

/* Upload button */
body.spv2-price-selected #uploadMyFiles,
body.spv2-price-selected #fileupload .button,
body.spv2-price-selected .fileinput-button {
    background: #e6007e !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 11px 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    border: 0 !important;
}

/* Instructions textarea */
body.spv2-price-selected #detail textarea,
body.spv2-price-selected #design-submit textarea,
body.spv2-price-selected #design-create textarea {
    width: 100% !important;
    min-height: 110px !important;
    border: 2px solid #e6007e !important;
    border-radius: 4px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    background: #ffffff !important;
}

/* Proceed button */
body.spv2-price-selected #uploadDesign,
body.spv2-price-selected #detail button[type="submit"],
body.spv2-price-selected #detail input[type="submit"] {
    background: #e6007e !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 6px !important;
    padding: 12px 22px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Make final proof note look like a contained info box */
body.spv2-price-selected #design-submit h3 + p,
body.spv2-price-selected #design-create h3 + p {
    margin-top: 0 !important;
}

/* Keep old layout from becoming too wide and grey */
body.spv2-price-selected #detail .box,
body.spv2-price-selected #detail .grey,
body.spv2-price-selected #detail .gray {
    background: #ffffff !important;
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #options .summary-box,
    body.spv2-price-selected #options .box,
    body.spv2-price-selected #design-submit,
    body.spv2-price-selected #design-create,
    body.spv2-price-selected #detail > div {
        padding: 16px !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }

    body.spv2-price-selected #options .content-row,
    body.spv2-price-selected #detail .content-row {
        display: block !important;
    }

    body.spv2-price-selected #changeSelection {
        margin-top: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
}

/* V2 artwork panel refinement */

/* Do not make Submit Design / Design for me look like a clickable card */
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 18px 10px 22px !important;
    margin-top: 12px !important;
}

/* Keep the wider detail area clean, but not card-like */
body.spv2-price-selected #detail {
    background: #f4f4f4 !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 20px 22px !important;
    border-radius: 0 !important;
}

/* Main artwork heading should read as a heading, not a tile */
body.spv2-price-selected #design-submit h3,
body.spv2-price-selected #design-create h3 {
    border-bottom: 1px solid #ddd !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
}

/* AI/Figma warnings made explicit */
body.spv2-price-selected .spv2-warning-note {
    background: #fff4e5 !important;
    border-left: 5px solid #f39c12 !important;
    padding: 12px 14px !important;
    margin: 12px 0 !important;
    border-radius: 5px !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected .spv2-warning-note::before {
    content: "Warning: ";
    font-weight: 800 !important;
    color: #b45f00 !important;
}

/* Stronger danger warnings, e.g. what NOT to write */
body.spv2-price-selected .spv2-danger-note {
    background: #fff0f5 !important;
    border-left: 5px solid #e6007e !important;
    padding: 12px 14px !important;
    margin: 12px 0 !important;
    border-radius: 5px !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected .spv2-danger-note::before {
    content: "Important: ";
    font-weight: 800 !important;
    color: #e6007e !important;
}

/* Make warning labels inside the warning blocks clear */
body.spv2-price-selected .spv2-warning-note strong,
body.spv2-price-selected .spv2-danger-note strong {
    color: #111 !important;
    font-weight: 800 !important;
}

/* Keep upload and proceed buttons as the only strong clickable items */
body.spv2-price-selected #uploadMyFiles,
body.spv2-price-selected #uploadDesign,
body.spv2-price-selected #detail button,
body.spv2-price-selected #detail input[type="submit"] {
    box-shadow: none !important;
}

/* Mobile spacing */
@media (max-width: 800px) {
    body.spv2-price-selected #detail {
        padding: 14px !important;
    }

    body.spv2-price-selected #design-submit,
    body.spv2-price-selected #design-create {
        padding: 12px 0 18px !important;
    }
}

/* V2 artwork copy/layout refinements */

/* Align artwork heading/content better */
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.spv2-price-selected #design-submit h3,
body.spv2-price-selected #design-create h3 {
    margin-left: 0 !important;
    padding-left: 0 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
}

/* Neutral notes heading */
body.spv2-price-selected #detail .spv2-neutral-note {
    font-weight: 800 !important;
    font-size: 14px !important;
    margin: 12px 0 8px !important;
    padding: 0 !important;
    color: #111 !important;
    background: transparent !important;
    border: 0 !important;
}

/* Canva is helpful information, not a warning */
body.spv2-price-selected #detail .spv2-canva-note {
    background: #eef8f5 !important;
    border: 0 !important;
    border-left: 5px solid #009688 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* AI/Figma warnings */
body.spv2-price-selected #detail .spv2-warning-note {
    background: #fff4e5 !important;
    border: 0 !important;
    border-left: 5px solid #f39c12 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-warning-note::before {
    content: "Warning: " !important;
    font-weight: 800 !important;
    color: #b45f00 !important;
}

/* What NOT to write */
body.spv2-price-selected #detail .spv2-danger-note {
    background: #fff0f5 !important;
    border: 0 !important;
    border-left: 5px solid #e6007e !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-danger-note::before {
    content: "Important: " !important;
    font-weight: 800 !important;
    color: #e6007e !important;
}

/* Prevent any accidental parent warning/card styling */
body.spv2-price-selected #detail.spv2-warning-note,
body.spv2-price-selected #detail.spv2-danger-note,
body.spv2-price-selected #design-submit.spv2-warning-note,
body.spv2-price-selected #design-submit.spv2-danger-note {
    background: transparent !important;
    border: 0 !important;
    padding: 20px 22px !important;
}

/* V2 safe artwork warning styling - non destructive */

/* Do not make the whole artwork panel look like a warning/card */
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Canva is useful guidance, not a warning */
body.spv2-price-selected #detail .spv2-canva-note {
    background: #eef8f5 !important;
    border: 0 !important;
    border-left: 5px solid #009688 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* AI and Figma are warnings */
body.spv2-price-selected #detail .spv2-warning-note {
    background: #fff4e5 !important;
    border: 0 !important;
    border-left: 5px solid #f39c12 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-warning-note::before {
    content: "Warning: " !important;
    font-weight: 800 !important;
    color: #b45f00 !important;
}

/* What NOT to write */
body.spv2-price-selected #detail .spv2-danger-note {
    background: #fff0f5 !important;
    border: 0 !important;
    border-left: 5px solid #e6007e !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-danger-note::before {
    content: "Important: " !important;
    font-weight: 800 !important;
    color: #e6007e !important;
}

/* V2 artwork notes - actual markup, no JS text rewriting */
body.spv2-price-selected #design-submit h3,
body.spv2-price-selected #design-create h3 {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

body.spv2-price-selected #detail .spv2-artwork-notes {
    margin: 14px 0 16px !important;
}

body.spv2-price-selected #detail .spv2-artwork-note-title {
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 8px !important;
    font-size: 14px !important;
}

body.spv2-price-selected #detail .spv2-canva-note {
    background: #eef8f5 !important;
    border: 0 !important;
    border-left: 5px solid #009688 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-microsoft-note {
    background: #f7f7f7 !important;
    border: 1px solid #e4e4e4 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-warning-note {
    background: #fff4e5 !important;
    border: 0 !important;
    border-left: 5px solid #f39c12 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.spv2-price-selected #detail .spv2-warning-note::before {
    content: "Warning: " !important;
    font-weight: 800 !important;
    color: #b45f00 !important;
}

body.spv2-price-selected #detail .spv2-canva-note a,
body.spv2-price-selected #detail .spv2-microsoft-note a,
body.spv2-price-selected #detail .spv2-warning-note a {
    font-weight: 700 !important;
}

/* V2: distinct proceed choices */

/* Make the option cards look intentional */
body.spv2-price-selected #select_options .spv2-choice-card {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

/* Upload artwork = practical/file-led */
body.spv2-price-selected #select_options .spv2-choice-card-upload {
    border-top: 5px solid #009688 !important;
}

/* Design for me = help/service-led */
body.spv2-price-selected #select_options .spv2-choice-card-design {
    border-top: 5px solid #e6007e !important;
    background: #fff8fc !important;
}

/* Button wording */
body.spv2-price-selected #submitDesign,
body.spv2-price-selected #createDesign {
    font-size: 15px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-decoration: none !important;
}

/* Keep Upload and Design visually different */
body.spv2-price-selected #submitDesign {
    background: #009688 !important;
    color: #ffffff !important;
}

body.spv2-price-selected #createDesign {
    background: #e6007e !important;
    color: #ffffff !important;
}

/* Helper copy under each choice */
body.spv2-price-selected #select_options .spv2-choice-helper {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #222 !important;
    text-align: left !important;
}

body.spv2-price-selected #select_options .spv2-choice-helper strong {
    font-weight: 800 !important;
}

/* Small expectation-setting note for Design for me */
body.spv2-price-selected #select_options .spv2-choice-note {
    margin-top: 10px !important;
    padding: 8px 10px !important;
    background: #fff0f7 !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #333 !important;
    text-align: left !important;
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #select_options .spv2-choice-card {
        margin-bottom: 12px !important;
    }
}

/* V2: make opened order/artwork sections use more horizontal space */

/* Wider overall opened section after a price is selected */
body.spv2-price-selected #options,
body.spv2-price-selected #detail,
body.spv2-price-selected #select_options {
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Override older narrow .container rules inside these panels */
body.spv2-price-selected #options .container,
body.spv2-price-selected #detail .container,
body.spv2-price-selected #select_options .container {
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Product chosen card should be wide, not a narrow centered box */
body.spv2-price-selected #options .summary-box,
body.spv2-price-selected #options .box {
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Grey artwork background should breathe but stay aligned with product chosen */
body.spv2-price-selected #detail {
    padding: 22px 28px !important;
}

/* Main artwork/design panels should use the available width */
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create {
    width: 100% !important;
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Text areas should stretch neatly inside the wider panel */
body.spv2-price-selected #detail textarea,
body.spv2-price-selected #design-submit textarea,
body.spv2-price-selected #design-create textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Proceed/options card should not collapse narrow */
body.spv2-price-selected #select_options {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Make the three option cards share the wider space cleanly */
body.spv2-price-selected #select_options .content-row {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    gap: 18px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
}

body.spv2-price-selected #select_options .content-column {
    flex: 1 1 260px !important;
    min-width: 240px !important;
    box-sizing: border-box !important;
}

/* Keep the pink arrow centred and aligned */
body.spv2-price-selected img[src*="arrow"],
body.spv2-price-selected .arrow,
body.spv2-price-selected #arrow {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Tablet */
@media (max-width: 1150px) {
    body.spv2-price-selected #options,
    body.spv2-price-selected #detail,
    body.spv2-price-selected #select_options,
    body.spv2-price-selected #options .container,
    body.spv2-price-selected #detail .container,
    body.spv2-price-selected #select_options .container,
    body.spv2-price-selected #options .summary-box,
    body.spv2-price-selected #options .box,
    body.spv2-price-selected #design-submit,
    body.spv2-price-selected #design-create {
        max-width: calc(100% - 32px) !important;
    }
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #options,
    body.spv2-price-selected #detail,
    body.spv2-price-selected #select_options {
        max-width: calc(100% - 20px) !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.spv2-price-selected #options .container,
    body.spv2-price-selected #detail .container,
    body.spv2-price-selected #select_options .container,
    body.spv2-price-selected #options .summary-box,
    body.spv2-price-selected #options .box,
    body.spv2-price-selected #design-submit,
    body.spv2-price-selected #design-create {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.spv2-price-selected #select_options .content-row {
        display: block !important;
    }

    body.spv2-price-selected #select_options .content-column {
        min-width: 0 !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }
}

/* V2: force opened panels wider even when inside an old narrow parent */

/* Allow the old parent wrappers to let the wider panel show */
body.spv2-price-selected article,
body.spv2-price-selected .entry-content,
body.spv2-price-selected .product-box,
body.spv2-price-selected .box,
body.spv2-price-selected .row,
body.spv2-price-selected .container {
    overflow: visible !important;
}

/* Break Product Chosen and artwork panels out of narrow parent width */
body.spv2-price-selected #options,
body.spv2-price-selected #detail,
body.spv2-price-selected #select_options {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    width: calc(100vw - 64px) !important;
    max-width: 1160px !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Internal containers should fill the new wider section */
body.spv2-price-selected #options > .container,
body.spv2-price-selected #detail > .container,
body.spv2-price-selected #select_options > .container,
body.spv2-price-selected #options .container,
body.spv2-price-selected #detail .container,
body.spv2-price-selected #select_options .container {
    width: 100% !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Product chosen summary should use the width */
body.spv2-price-selected #options .summary-box {
    width: 100% !important;
    max-width: 1160px !important;
    box-sizing: border-box !important;
}

/* Artwork grey area should be wider but not full-screen huge */
body.spv2-price-selected #detail {
    background: #f4f4f4 !important;
    padding: 24px 28px !important;
}

/* Actual artwork form content */
body.spv2-price-selected #detail #oDetail,
body.spv2-price-selected #detail .box,
body.spv2-price-selected #design-submit,
body.spv2-price-selected #design-create {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Make text/instruction areas use the wider panel */
body.spv2-price-selected #detail textarea,
body.spv2-price-selected #design-submit textarea,
body.spv2-price-selected #design-create textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Keep the proceed options wide and balanced */
body.spv2-price-selected #select_options {
    padding: 22px 28px !important;
}

body.spv2-price-selected #select_options .content-row {
    width: 100% !important;
    display: flex !important;
    gap: 18px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
}

body.spv2-price-selected #select_options .content-column {
    flex: 1 1 260px !important;
    min-width: 240px !important;
    box-sizing: border-box !important;
}

/* Mobile/tablet safety */
@media (max-width: 900px) {
    body.spv2-price-selected #options,
    body.spv2-price-selected #detail,
    body.spv2-price-selected #select_options {
        left: auto !important;
        transform: none !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.spv2-price-selected #select_options .content-row {
        display: block !important;
    }

    body.spv2-price-selected #select_options .content-column {
        min-width: 0 !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    body.spv2-price-selected #detail {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
}

/* Main pricing card spacing */
.spv2-order-card {
    overflow: hidden !important;
}

/* STEP 1 header */
.spv2-pricing .spv2-step-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 24px 0 12px !important;
    padding: 12px 14px !important;
    background: #f7f7f7 !important;
    border-left: 5px solid #0068b7 !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* Turn bare "1" into a proper badge */
.spv2-pricing .spv2-step-label > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 66px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #0068b7 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Add the word Step before the number */
.spv2-pricing .spv2-step-label > span::before {
    content: "Step " !important;
}

/* Option substep should be smaller */
.spv2-pricing .spv2-substep-label {
    margin-top: 16px !important;
    background: #fbfbfb !important;
    border-left-color: #8aa8c8 !important;
    font-size: 15px !important;
}

.spv2-pricing .spv2-substep-label > span {
    background: #8aa8c8 !important;
}

/* STEP 2 header */
.spv2-pricing .spv2-price-step-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 22px 0 0 !important;
    padding: 14px 16px !important;
    background: #f7f7f7 !important;
    border: 1px solid #e2e2e2 !important;
    border-left: 5px solid #e6007e !important;
    border-bottom: 0 !important;
    border-radius: 6px 6px 0 0 !important;
    box-sizing: border-box !important;
}

/* If the Step 2 number is currently appearing alone, make it into a badge */
.spv2-pricing .spv2-price-step-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

.spv2-pricing .spv2-price-step-title > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 66px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #e6007e !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

.spv2-pricing .spv2-price-step-title > span::before {
    content: "Step " !important;
}

.spv2-pricing .spv2-price-step-title strong {
    display: block !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: #111 !important;
}

.spv2-pricing .spv2-price-step-title em {
    display: block !important;
    margin-top: 3px !important;
    font-style: normal !important;
    font-size: 13px !important;
    color: #555 !important;
}

/* Need a different quantity should sit clearly in Step 2 */
.spv2-pricing .spv2-different-qty {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    font-size: 14px !important;
    color: #333 !important;
}

.spv2-pricing .spv2-different-qty .spv2-quote-link {
    display: inline-block !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #e6007e !important;
    border-radius: 5px !important;
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-pricing .spv2-different-qty .spv2-quote-link:hover {
    background: #e6007e !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Join the table to the Step 2 header */
.spv2-pricing .spv2-price-table {
    margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-pricing .spv2-price-step-head {
        display: block !important;
        padding: 14px !important;
    }

    .spv2-pricing .spv2-price-step-title {
        align-items: flex-start !important;
    }

    .spv2-pricing .spv2-price-step-title strong {
        font-size: 16px !important;
    }

    .spv2-pricing .spv2-different-qty {
        justify-content: flex-start !important;
        margin-top: 12px !important;
    }

    .spv2-pricing .spv2-different-qty .spv2-quote-link {
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* V2: stop panel borders cutting through the down arrow */

/* Give the chosen-product panel and proceed panel a clearer gap */
body.spv2-price-selected #options {
    margin-bottom: 26px !important;
}

body.spv2-price-selected #select_options {
    margin-top: 28px !important;
    position: relative !important;
}

/* The old arrow should sit cleanly between panels */
body.spv2-price-selected img[src*="arrow"],
body.spv2-price-selected .arrow,
body.spv2-price-selected #arrow {
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    margin: -10px auto 16px !important;
    padding: 0 18px !important;
    background: #ffffff !important;
}

/* Do not let the proceed panel top border clash with the arrow */
body.spv2-price-selected #select_options {
    border-top: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}

/* Keep the two proceed options distinct but less boxed-in */
body.spv2-price-selected #select_options .content-column {
    border: 1px solid #e5e5e5 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

/* Mobile spacing */
@media (max-width: 800px) {
    body.spv2-price-selected #options {
        margin-bottom: 18px !important;
    }

    body.spv2-price-selected #select_options {
        margin-top: 20px !important;
    }

    body.spv2-price-selected img[src*="arrow"],
    body.spv2-price-selected .arrow,
    body.spv2-price-selected #arrow {
        margin: -6px auto 12px !important;
    }
}

/* V2: arrow position only - keep submit/upload styling untouched */

/* Create a proper gap between Product Chosen and the next panel */
body.spv2-price-selected #options {
    margin-bottom: 18px !important;
}

/* Move the existing arrow into the gap, not on the border line */
body.spv2-price-selected img[src*="arrow"],
body.spv2-price-selected .arrow,
body.spv2-price-selected #arrow {
    display: block !important;
    position: relative !important;
    z-index: 10 !important;

    margin: 12px auto 14px !important;
    padding: 0 18px !important;

    background: #ffffff !important;
    clear: both !important;
}

/* Give the proceed panel breathing room below the arrow */
body.spv2-price-selected #select_options {
    margin-top: 8px !important;
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #options {
        margin-bottom: 14px !important;
    }

    body.spv2-price-selected img[src*="arrow"],
    body.spv2-price-selected .arrow,
    body.spv2-price-selected #arrow {
        margin: 10px auto 12px !important;
        padding: 0 14px !important;
    }

    body.spv2-price-selected #select_options {
        margin-top: 6px !important;
    }
}

/* V2: put arrow cleanly between Product Chosen and artwork section only */

/* Hide the old image arrow only after a V2 price has been selected */
body.spv2-price-selected img[src*="arrow"],
body.spv2-price-selected .arrow,
body.spv2-price-selected #arrow {
    display: none !important;
}

/* Make the artwork/detail block the arrow anchor */
body.spv2-price-selected #detail {
    position: relative !important;
    margin-top: 34px !important;
    overflow: visible !important;
}

/* Clean centred down arrow attached to the top of the artwork area */
body.spv2-price-selected #detail::before {
    content: "" !important;
    position: absolute !important;
    top: -27px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    width: 0 !important;
    height: 0 !important;

    border-left: 28px solid transparent !important;
    border-right: 28px solid transparent !important;
    border-top: 18px solid #e6007e !important;

    z-index: 20 !important;
}

/* Slight extra gap below product chosen so arrow is not touching the border */
body.spv2-price-selected #options {
    margin-bottom: 20px !important;
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #detail {
        margin-top: 28px !important;
    }

    body.spv2-price-selected #detail::before {
        top: -23px !important;
        border-left-width: 22px !important;
        border-right-width: 22px !important;
        border-top-width: 15px !important;
    }
}

/* V2: remove weird outer bottom border around proceed choices only */

/* Do not box the whole "Now choose how to proceed" area */
body.spv2-price-selected #select_options {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 0 8px !important;
    margin-top: 24px !important;
    overflow: visible !important;
}

/* Keep the heading clean */
body.spv2-price-selected #select_options h3 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* The individual choices remain boxed/cards */
body.spv2-price-selected #select_options .content-row {
    display: flex !important;
    gap: 18px !important;
    align-items: stretch !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.spv2-price-selected #select_options .content-column {
    border: 1px solid #e1e1e1 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 7px rgba(0,0,0,0.035) !important;
    overflow: hidden !important;
}

/* Prevent odd border overlap at bottom */
body.spv2-price-selected #select_options .content-column::after {
    content: none !important;
}

/* Mobile */
@media (max-width: 800px) {
    body.spv2-price-selected #select_options {
        padding-bottom: 0 !important;
    }

    body.spv2-price-selected #select_options .content-row {
        display: block !important;
    }

    body.spv2-price-selected #select_options .content-column {
        margin-bottom: 12px !important;
    }
}

/* V2: remove confusing Step 1b treatment */

/* If old Step 1b markup is still cached, make it look like a normal sub-heading */
.spv2-pricing .spv2-substep-label {
    display: block !important;
    margin: 16px 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-pricing .spv2-substep-label span {
    display: none !important;
}

/* New thickness label */
.spv2-pricing .spv2-thickness-label {
    display: block !important;
    margin: 16px 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* Add a small helper line so thickness feels linked to selected stock */
.spv2-pricing .spv2-thickness-label::after {
    content: " if available";
    font-weight: 400 !important;
    color: #666 !important;
    font-size: 13px !important;
}

/* Thickness buttons should look active/usable, not disabled */
.spv2-pricing [data-spv2-option-group] .spv2-pill {
    min-height: 40px !important;
    padding: 9px 18px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* Active thickness option */
.spv2-pricing [data-spv2-option-group] .spv2-pill.is-active {
    background: #0068b7 !important;
    color: #ffffff !important;
    border-color: #0068b7 !important;
}

/* Give the thickness row a little separation without making it another step */
.spv2-pricing [data-spv2-option-group].is-active {
    margin-bottom: 14px !important;
}

/* V2: remove confusing "if available" text from thickness heading */
.spv2-pricing .spv2-thickness-label::after {
    content: "" !important;
    display: none !important;
}

/* V2: show full stock advice text */
.spv2-pricing .spv2-selected-desc {
    max-height: none !important;
    overflow: visible !important;
    height: auto !important;
    padding-right: 0 !important;
}

/* Give the stock advice box enough breathing room */
.spv2-pricing .spv2-selected-card {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-bottom: 14px !important;
}

/* Keep long advice readable */
.spv2-pricing .spv2-selected-desc {
    line-height: 1.45 !important;
    font-size: 14px !important;
}

/* V2: fix multi-set savings layout/button clipping */
.spv2-pricing .spv2-multiset {
    display: block !important;
    text-align: left !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.spv2-pricing .spv2-multiset > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
}

.spv2-pricing .spv2-multiset .spv2-quote-btn,
.spv2-pricing .spv2-multiset a.spv2-quote-btn {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
    float: none !important;
    clear: both !important;
}

@media (max-width: 800px) {
    .spv2-pricing .spv2-multiset .spv2-quote-btn,
    .spv2-pricing .spv2-multiset a.spv2-quote-btn {
        width: 100% !important;
    }
}

/* V2 test: improve original express deadline/FAQ styling, without replacing the content */

.spv2-original-express-info {
    max-width: 1120px !important;
    margin: 24px auto 28px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* Style the original boxes produced by ProductSection::missedDeadlineText */
.spv2-original-express-info > div,
.spv2-original-express-info .box,
.spv2-original-express-info .summary-box,
.spv2-original-express-info .roundedGreyBorder {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    padding: 16px 18px !important;
    margin: 0 0 16px !important;
    box-sizing: border-box !important;
    line-height: 1.45 !important;
}

/* Deadline title/icon */
.spv2-original-express-info h2,
.spv2-original-express-info h3,
.spv2-original-express-info strong {
    color: #111 !important;
}

/* Keep links pink and clear */
.spv2-original-express-info a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-original-express-info a:hover {
    text-decoration: underline !important;
}

/* FAQ list: keep your numbered questions, but make them easier to scan */
.spv2-original-express-info ol,
.spv2-original-express-info ul {
    margin: 12px 0 0 20px !important;
    padding: 0 !important;
}

.spv2-original-express-info li {
    margin: 5px 0 !important;
    line-height: 1.4 !important;
}

/* Make the FAQ box feel slightly different from the deadline box */
.spv2-original-express-info > div:nth-child(2),
.spv2-original-express-info .box:nth-child(2),
.spv2-original-express-info .summary-box:nth-child(2) {
    border-left-color: #0068b7 !important;
}

/* Reduce excessive grey-panel feel if old inline styles are present */
.spv2-original-express-info * {
    max-width: 100% !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-original-express-info {
        margin: 18px auto 22px !important;
        padding: 0 10px !important;
    }

    .spv2-original-express-info > div,
    .spv2-original-express-info .box,
    .spv2-original-express-info .summary-box,
    .spv2-original-express-info .roundedGreyBorder {
        padding: 14px !important;
    }
}

/* V2: fix original express deadline/FAQ styling - remove nested card look */

/* Outer wrapper should not look like a card */
.spv2-original-express-info {
    max-width: 1120px !important;
    margin: 24px auto 28px !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* Do not style every inner div as a card */
.spv2-original-express-info div div,
.spv2-original-express-info .box div,
.spv2-original-express-info .summary-box div {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Style only the main original express boxes */
.spv2-original-express-info > div {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    padding: 18px 20px !important;
    margin: 0 0 18px !important;
    box-sizing: border-box !important;
    line-height: 1.45 !important;
}

/* FAQ box gets blue accent */
.spv2-original-express-info > div:nth-child(2) {
    border-left-color: #0068b7 !important;
}

/* Inner content should be plain */
.spv2-original-express-info > div > div,
.spv2-original-express-info > div > p,
.spv2-original-express-info > div > ol,
.spv2-original-express-info > div > ul {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Headings and links */
.spv2-original-express-info h2,
.spv2-original-express-info h3,
.spv2-original-express-info strong {
    color: #111 !important;
}

.spv2-original-express-info a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-original-express-info a:hover {
    text-decoration: underline !important;
}

/* FAQ numbered list spacing */
.spv2-original-express-info ol,
.spv2-original-express-info ul {
    margin: 12px 0 0 22px !important;
    padding: 0 !important;
}

.spv2-original-express-info li {
    margin: 5px 0 !important;
    line-height: 1.4 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-original-express-info {
        padding: 0 10px !important;
    }

    .spv2-original-express-info > div {
        padding: 14px !important;
    }
}

/* V2: express info final cleanup - one clean panel, no nested weird boxes */

/* Outer wrapper only controls spacing */
body .spv2-original-express-info {
    max-width: 1120px !important;
    margin: 24px auto 28px !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* The original container becomes the one clean panel */
body .spv2-original-express-info > .container,
body .spv2-original-express-info > .spv2-express-original-container,
body .spv2-original-express-info > .container.spv2-express-original-container {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 20px 22px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important;
}

/* Remove all nested card/border styling caused by previous patches */
body .spv2-original-express-info .spv2-express-card,
body .spv2-original-express-info .spv2-express-deadline-card,
body .spv2-original-express-info .spv2-express-faq-card,
body .spv2-original-express-info > .container > div,
body .spv2-original-express-info div div {
    background: transparent !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide any accidentally created empty card/line */
body .spv2-original-express-info .spv2-express-card:empty,
body .spv2-original-express-info div:empty {
    display: none !important;
}

/* Deadline and FAQ headings */
body .spv2-original-express-info h3 {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: #111 !important;
}

/* Put clear separation before the FAQ heading */
body .spv2-original-express-info h3 + h3,
body .spv2-original-express-info h3:nth-of-type(2) {
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid #e5e5e5 !important;
}

/* Body text */
body .spv2-original-express-info,
body .spv2-original-express-info p,
body .spv2-original-express-info div {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #222 !important;
}

/* Keep original FAQ numbered questions clear */
body .spv2-original-express-info ol,
body .spv2-original-express-info ul {
    margin: 12px 0 0 22px !important;
    padding: 0 !important;
}

body .spv2-original-express-info li {
    margin: 5px 0 !important;
    line-height: 1.4 !important;
}

/* Links */
body .spv2-original-express-info a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body .spv2-original-express-info a:hover {
    text-decoration: underline !important;
}

/* Hidden readmore content should expand plainly inside the same panel */
body .spv2-original-express-info .readmore-content {
    margin-top: 12px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #eeeeee !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Mobile */
@media (max-width: 800px) {
    body .spv2-original-express-info {
        padding: 0 10px !important;
        margin: 18px auto 22px !important;
    }

    body .spv2-original-express-info > .container,
    body .spv2-original-express-info > .spv2-express-original-container,
    body .spv2-original-express-info > .container.spv2-express-original-container {
        padding: 16px !important;
    }
}

/* V2: express info final cleanup - one clean panel, no nested weird boxes */

/* Outer wrapper only controls spacing */
body .spv2-original-express-info {
    max-width: 1120px !important;
    margin: 24px auto 28px !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* The original container becomes the one clean panel */
body .spv2-original-express-info > .container,
body .spv2-original-express-info > .spv2-express-original-container,
body .spv2-original-express-info > .container.spv2-express-original-container {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 20px 22px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important;
}

/* Remove all nested card/border styling caused by previous patches */
body .spv2-original-express-info .spv2-express-card,
body .spv2-original-express-info .spv2-express-deadline-card,
body .spv2-original-express-info .spv2-express-faq-card,
body .spv2-original-express-info > .container > div,
body .spv2-original-express-info div div {
    background: transparent !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide any accidentally created empty card/line */
body .spv2-original-express-info .spv2-express-card:empty,
body .spv2-original-express-info div:empty {
    display: none !important;
}

/* Deadline and FAQ headings */
body .spv2-original-express-info h3 {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: #111 !important;
}

/* Put clear separation before the FAQ heading */
body .spv2-original-express-info h3 + h3,
body .spv2-original-express-info h3:nth-of-type(2) {
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid #e5e5e5 !important;
}

/* Body text */
body .spv2-original-express-info,
body .spv2-original-express-info p,
body .spv2-original-express-info div {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #222 !important;
}

/* Keep original FAQ numbered questions clear */
body .spv2-original-express-info ol,
body .spv2-original-express-info ul {
    margin: 12px 0 0 22px !important;
    padding: 0 !important;
}

body .spv2-original-express-info li {
    margin: 5px 0 !important;
    line-height: 1.4 !important;
}

/* Links */
body .spv2-original-express-info a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body .spv2-original-express-info a:hover {
    text-decoration: underline !important;
}

/* Hidden readmore content should expand plainly inside the same panel */
body .spv2-original-express-info .readmore-content {
    margin-top: 12px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #eeeeee !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Mobile */
@media (max-width: 800px) {
    body .spv2-original-express-info {
        padding: 0 10px !important;
        margin: 18px auto 22px !important;
    }

    body .spv2-original-express-info > .container,
    body .spv2-original-express-info > .spv2-express-original-container,
    body .spv2-original-express-info > .container.spv2-express-original-container {
        padding: 16px !important;
    }
}

/* V2: modern styling for original express wording/readmore output */

/* Hide older experimental blocks */
.spv2-clean-express-section,
.spv2-original-express-info {
    display: none !important;
}

/* Wrapper */
.spv2-express-original-compact {
    max-width: 1120px !important;
    margin: 14px auto 18px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* Modern cards */
.spv2-express-original-compact .spv2-express-modern-card {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    padding: 13px 15px !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #222 !important;
}

.spv2-express-original-compact .spv2-express-modern-deadline {
    border-left: 5px solid #e6007e !important;
}

.spv2-express-original-compact .spv2-express-modern-faq {
    border-left: 5px solid #0068b7 !important;
}

/* Original headings, modernised but same wording */
.spv2-express-original-compact h3 {
    margin: 0 0 8px !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
    background: #f7f7f7 !important;
}

.spv2-express-original-compact .spv2-express-modern-deadline h3 {
    background: #fff4fa !important;
}

.spv2-express-original-compact .spv2-express-modern-faq h3 {
    background: #f1f7ff !important;
}

/* Keep original BR wording but reduce wasted height */
.spv2-express-original-compact br {
    display: block !important;
    content: "" !important;
    margin: 2px 0 !important;
    line-height: 2px !important;
}

/* Links */
.spv2-express-original-compact a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-original-compact a:hover {
    text-decoration: underline !important;
}

/* FAQ expand link in heading */
.spv2-express-modern-faq h3 a.readmore {
    display: inline-block !important;
    padding: 5px 9px !important;
    background: #0068b7 !important;
    color: #ffffff !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

/* Readmore content */
.spv2-express-original-compact .readmore-content {
    margin: 8px 0 8px !important;
    padding: 9px 10px !important;
    background: #fafafa !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
}

/* FAQ area */
.spv2-express-original-compact #rmFAQ {
    background: #f7fbff !important;
    border-left-color: #0068b7 !important;
}

/* FAQ question rows */
.spv2-express-original-compact #rmFAQ > div {
    margin: 5px 0 !important;
}

.spv2-express-original-compact #rmFAQ a.readmore {
    display: block !important;
    padding: 7px 9px !important;
    background: #ffffff !important;
    border: 1px solid #e2eaf3 !important;
    border-left: 4px solid #0068b7 !important;
    border-radius: 5px !important;
    color: #111 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-original-compact #rmFAQ a.readmore:hover {
    color: #e6007e !important;
    border-left-color: #e6007e !important;
}

/* Individual FAQ answers */
.spv2-express-original-compact #rmFAQ .readmore-content {
    background: #ffffff !important;
    border-left-color: #0068b7 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-original-compact {
        padding: 0 10px !important;
        margin: 12px auto 16px !important;
    }

    .spv2-express-original-compact .spv2-express-modern-card {
        padding: 11px 12px !important;
    }

    .spv2-express-original-compact h3 {
        font-size: 15px !important;
    }

    .spv2-express-modern-faq h3 a.readmore {
        display: block !important;
        margin-top: 7px !important;
        text-align: center !important;
    }
}

/* V2: final express panel styling */

/* Main combined panel */
.spv2-express-info-panel {
    max-width: 1120px !important;
    margin: 16px auto 20px !important;
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.045) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Panel title */
.spv2-express-info-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 18px !important;
    border-bottom: 1px solid #e6e6e6 !important;
    background: #ffffff !important;
    color: #111 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
}

.spv2-express-info-title i {
    color: #e6007e !important;
}

/* Rows */
.spv2-express-info-row {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    gap: 14px !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row {
    border-bottom: 1px solid #eeeeee !important;
}

.spv2-express-info-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row .spv2-express-info-icon {
    background: #fff4fa !important;
    color: #e6007e !important;
    border: 2px solid #f5b5d8 !important;
}

.spv2-express-faq-row .spv2-express-info-icon {
    background: #f1f7ff !important;
    color: #0068b7 !important;
    border: 2px solid #b9d7f2 !important;
}

/* Neutralise old original inner boxes inside the new panel */
.spv2-express-info-panel .summary-box,
.spv2-express-info-panel .box,
.spv2-express-info-panel .box-light,
.spv2-express-info-panel .pad10,
.spv2-express-info-panel .mt-1 {
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Text */
.spv2-express-info-content {
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #222 !important;
}

.spv2-express-info-content h3 {
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* Hide duplicated icon inside original Deadline h3 because row already has a clock icon */
.spv2-express-deadline-row h3 i {
    display: none !important;
}

/* Keep original wording but reduce old BR spacing */
.spv2-express-info-content br {
    display: block !important;
    content: "" !important;
    margin: 2px 0 !important;
    line-height: 2px !important;
}

/* Links */
.spv2-express-info-panel a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-info-panel a:hover {
    text-decoration: underline !important;
}

/* FAQ heading/link as a collapsed control */
.spv2-express-faq-row h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.spv2-express-faq-row h3 a.readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 12px !important;
    background: #0068b7 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    content: "+" !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Expanded readmore content */
.spv2-express-info-panel .readmore-content {
    margin: 9px 0 8px !important;
    padding: 10px 12px !important;
    background: #fafafa !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

/* FAQ expanded area */
.spv2-express-info-panel #rmFAQ {
    background: #f7fbff !important;
    border-left-color: #0068b7 !important;
}

/* Individual FAQ questions */
.spv2-express-info-panel #rmFAQ > div {
    margin: 6px 0 !important;
}

.spv2-express-info-panel #rmFAQ a.readmore {
    display: block !important;
    padding: 8px 10px !important;
    background: #ffffff !important;
    border: 1px solid #e2eaf3 !important;
    border-left: 4px solid #0068b7 !important;
    border-radius: 6px !important;
    color: #111 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-info-panel #rmFAQ a.readmore:hover {
    color: #e6007e !important;
    border-left-color: #e6007e !important;
}

.spv2-express-info-panel #rmFAQ .readmore-content {
    background: #ffffff !important;
    border-left-color: #0068b7 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel {
        margin: 12px 10px 16px !important;
    }

    .spv2-express-info-title {
        padding: 11px 13px !important;
        font-size: 16px !important;
    }

    .spv2-express-info-row {
        grid-template-columns: 34px 1fr !important;
        gap: 10px !important;
        padding: 14px 13px !important;
    }

    .spv2-express-info-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 15px !important;
    }

    .spv2-express-info-content h3 {
        font-size: 16px !important;
    }

    .spv2-express-faq-row h3 a.readmore {
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

/* V2: express information panel - match approved mockup */

/* Overall panel: narrower, centred, softer */
.spv2-express-info-panel {
    max-width: 940px !important;
    margin: 28px auto 34px !important;
    background: #ffffff !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.055) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Panel header */
.spv2-express-info-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 26px !important;
    border-bottom: 1px solid #e4e8ed !important;
    background: #ffffff !important;
    color: #071d49 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.spv2-express-info-title i {
    color: #e6007e !important;
    font-size: 22px !important;
}

/* Rows */
.spv2-express-info-row {
    display: grid !important;
    grid-template-columns: 74px 1fr !important;
    gap: 20px !important;
    padding: 26px 30px !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row {
    border-bottom: 1px solid #e8ebef !important;
}

.spv2-express-faq-row {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    align-items: center !important;
}

/* Larger icon circles like mockup */
.spv2-express-info-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row .spv2-express-info-icon {
    background: #fff0f8 !important;
    color: #e6007e !important;
    border: 2px solid #f3a9d2 !important;
}

.spv2-express-faq-row .spv2-express-info-icon {
    background: #eef6ff !important;
    color: #0068b7 !important;
    border: 2px solid #b9d7f2 !important;
}

/* Remove old inner box styling */
.spv2-express-info-panel .summary-box,
.spv2-express-info-panel .box,
.spv2-express-info-panel .box-light,
.spv2-express-info-panel .pad10,
.spv2-express-info-panel .mt-1 {
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Text */
.spv2-express-info-content {
    font-size: 16px !important;
    line-height: 1.55 !important;
    color: #222 !important;
}

.spv2-express-info-content h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #071d49 !important;
}

/* Hide duplicated icon inside original Deadline h3 */
.spv2-express-deadline-row h3 i {
    display: none !important;
}

/* Make the original BR spacing sensible */
.spv2-express-info-content br {
    display: block !important;
    content: "" !important;
    margin: 4px 0 !important;
    line-height: 4px !important;
}

/* Links */
.spv2-express-info-panel a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-express-info-panel a:hover {
    color: #c9006e !important;
}

/* FAQ row layout */
.spv2-express-faq-row .spv2-express-info-content {
    width: 100% !important;
}

.spv2-express-faq-row h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

/* FAQ title */
.spv2-express-faq-title {
    color: #071d49 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

/* View FAQs button */
.spv2-express-faq-row h3 a.readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: #0068b7 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    content: "+" !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #0068b7 !important;
}

.spv2-express-faq-row h3 a.readmore:hover {
    color: #005796 !important;
    text-decoration: none !important;
}

/* Expanded readmore content */
.spv2-express-info-panel .readmore-content {
    margin: 14px 0 8px !important;
    padding: 12px 14px !important;
    background: #fafafa !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

/* FAQ expanded area */
.spv2-express-info-panel #rmFAQ {
    background: #f7fbff !important;
    border-left-color: #0068b7 !important;
}

/* Individual FAQ question rows */
.spv2-express-info-panel #rmFAQ > div {
    margin: 7px 0 !important;
}

.spv2-express-info-panel #rmFAQ a.readmore {
    display: block !important;
    padding: 9px 11px !important;
    background: #ffffff !important;
    border: 1px solid #e2eaf3 !important;
    border-left: 4px solid #0068b7 !important;
    border-radius: 6px !important;
    color: #111 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-info-panel #rmFAQ a.readmore:hover {
    color: #e6007e !important;
    border-left-color: #e6007e !important;
}

/* Individual FAQ answers */
.spv2-express-info-panel #rmFAQ .readmore-content {
    background: #ffffff !important;
    border-left-color: #0068b7 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel {
        max-width: none !important;
        margin: 16px 10px 20px !important;
        border-radius: 10px !important;
    }

    .spv2-express-info-title {
        padding: 14px 16px !important;
        font-size: 18px !important;
    }

    .spv2-express-info-row {
        grid-template-columns: 42px 1fr !important;
        gap: 12px !important;
        padding: 18px 16px !important;
    }

    .spv2-express-info-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 17px !important;
    }

    .spv2-express-info-content {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .spv2-express-info-content h3 {
        font-size: 18px !important;
    }

    .spv2-express-faq-row h3 {
        display: block !important;
    }

    .spv2-express-faq-title {
        font-size: 17px !important;
        display: block !important;
        margin-bottom: 10px !important;
    }

    .spv2-express-faq-row h3 a.readmore {
        width: 100% !important;
        justify-content: center !important;
        padding: 9px 12px !important;
        background: #0068b7 !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
    }

    .spv2-express-faq-row h3 a.readmore::after {
        color: #ffffff !important;
        font-size: 20px !important;
    }
}

/* V2 express panel - final mockup direction */

.spv2-clean-express-section,
.spv2-original-express-info,
.spv2-express-original-compact {
    display: none !important;
}

.spv2-express-info-panel {
    max-width: 940px !important;
    margin: 28px auto 34px !important;
    background: #ffffff !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.055) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.spv2-express-info-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 26px !important;
    border-bottom: 1px solid #e4e8ed !important;
    background: #ffffff !important;
    color: #071d49 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.spv2-express-info-title i {
    color: #e6007e !important;
    font-size: 22px !important;
}

.spv2-express-info-row {
    display: grid !important;
    grid-template-columns: 74px 1fr !important;
    gap: 20px !important;
    padding: 26px 30px !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row {
    border-bottom: 1px solid #e8ebef !important;
}

.spv2-express-faq-row {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    align-items: center !important;
}

.spv2-express-info-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

.spv2-express-deadline-row .spv2-express-info-icon {
    background: #fff0f8 !important;
    color: #e6007e !important;
    border: 2px solid #f3a9d2 !important;
}

.spv2-express-faq-row .spv2-express-info-icon {
    background: #eef6ff !important;
    color: #0068b7 !important;
    border: 2px solid #b9d7f2 !important;
}

.spv2-express-info-panel .summary-box,
.spv2-express-info-panel .box,
.spv2-express-info-panel .box-light,
.spv2-express-info-panel .pad10,
.spv2-express-info-panel .mt-1 {
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.spv2-express-info-content {
    font-size: 16px !important;
    line-height: 1.55 !important;
    color: #222 !important;
}

.spv2-express-info-content h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #071d49 !important;
}

.spv2-express-deadline-row h3 i {
    display: none !important;
}

.spv2-express-info-content br {
    display: block !important;
    content: "" !important;
    margin: 4px 0 !important;
    line-height: 4px !important;
}

.spv2-express-info-panel a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-express-faq-row .spv2-express-info-content {
    width: 100% !important;
}

.spv2-express-faq-row h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

.spv2-express-faq-title {
    color: #071d49 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.spv2-express-faq-row h3 a.readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: #0068b7 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    content: "+" !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #0068b7 !important;
}

.spv2-express-info-panel .readmore-content {
    margin: 14px 0 8px !important;
    padding: 12px 14px !important;
    background: #fafafa !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

.spv2-express-info-panel #rmFAQ {
    background: #f7fbff !important;
    border-left-color: #0068b7 !important;
}

.spv2-express-info-panel #rmFAQ > div {
    margin: 7px 0 !important;
}

.spv2-express-info-panel #rmFAQ a.readmore {
    display: block !important;
    padding: 9px 11px !important;
    background: #ffffff !important;
    border: 1px solid #e2eaf3 !important;
    border-left: 4px solid #0068b7 !important;
    border-radius: 6px !important;
    color: #111 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.spv2-express-info-panel #rmFAQ .readmore-content {
    background: #ffffff !important;
    border-left-color: #0068b7 !important;
}

@media (max-width: 800px) {
    .spv2-express-info-panel {
        max-width: none !important;
        margin: 16px 10px 20px !important;
        border-radius: 10px !important;
    }

    .spv2-express-info-title {
        padding: 14px 16px !important;
        font-size: 18px !important;
    }

    .spv2-express-info-row {
        grid-template-columns: 42px 1fr !important;
        gap: 12px !important;
        padding: 18px 16px !important;
    }

    .spv2-express-info-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 17px !important;
    }

    .spv2-express-info-content {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .spv2-express-info-content h3 {
        font-size: 18px !important;
    }

    .spv2-express-faq-row h3 {
        display: block !important;
    }

    .spv2-express-faq-title {
        font-size: 17px !important;
        display: block !important;
        margin-bottom: 10px !important;
    }

    .spv2-express-faq-row h3 a.readmore {
        width: 100% !important;
        justify-content: center !important;
        padding: 9px 12px !important;
        background: #0068b7 !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
    }

    .spv2-express-faq-row h3 a.readmore::after {
        color: #ffffff !important;
        font-size: 20px !important;
    }
}

/* V2: express info should be wide and compact like the old layout */

/* Main panel: match normal page width, not narrow mockup width */
.spv2-express-info-panel {
    max-width: 1120px !important;
    width: calc(100% - 32px) !important;
    margin: 18px auto 26px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.035) !important;
}

/* Compact title */
.spv2-express-info-title {
    padding: 11px 18px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
}

/* Compact rows */
.spv2-express-info-row {
    grid-template-columns: 46px 1fr !important;
    gap: 14px !important;
    padding: 14px 18px !important;
}

/* Smaller icon circles */
.spv2-express-info-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
}

/* Deadline row should not be tall */
.spv2-express-deadline-row {
    padding-top: 14px !important;
    padding-bottom: 13px !important;
}

/* FAQ row should be a slim collapsed row */
.spv2-express-faq-row {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    align-items: center !important;
}

/* Text sizing closer to old page */
.spv2-express-info-content {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.spv2-express-info-content h3 {
    font-size: 18px !important;
    margin: 0 0 6px !important;
}

/* Reduce old BR spacing */
.spv2-express-info-content br {
    margin: 1px 0 !important;
    line-height: 1px !important;
}

/* Deadline link line tighter */
.spv2-express-deadline-row strong {
    line-height: 1.25 !important;
}

/* FAQ title and button on one line */
.spv2-express-faq-row h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

.spv2-express-faq-title {
    font-size: 18px !important;
    line-height: 1.25 !important;
}

/* View FAQs should be obvious but not a big chunky button */
.spv2-express-faq-row h3 a.readmore {
    font-size: 14px !important;
    padding: 0 !important;
    background: transparent !important;
    color: #0068b7 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    font-size: 22px !important;
}

/* Expanded FAQ content only takes space when opened */
.spv2-express-info-panel #rmFAQ {
    margin-top: 10px !important;
}

/* Bring pricing closer under express panel */
#pricing,
.spv2-pricing {
    margin-top: 18px !important;
}

/* On product-v2-test page, reduce excess vertical gaps before pricing */
.spv2-express-info-panel + #pricing,
.spv2-express-info-panel + .spv2-pricing {
    margin-top: 14px !important;
}

/* Mobile stays full width and readable */
@media (max-width: 800px) {
    .spv2-express-info-panel {
        width: calc(100% - 20px) !important;
        margin: 14px auto 18px !important;
    }

    .spv2-express-info-title {
        padding: 10px 12px !important;
        font-size: 16px !important;
    }

    .spv2-express-info-row {
        grid-template-columns: 34px 1fr !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    .spv2-express-info-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 14px !important;
    }

    .spv2-express-info-content {
        font-size: 13px !important;
    }

    .spv2-express-info-content h3,
    .spv2-express-faq-title {
        font-size: 16px !important;
    }

    .spv2-express-faq-row h3 {
        display: block !important;
    }

    .spv2-express-faq-row h3 a.readmore {
        display: inline-flex !important;
        margin-top: 6px !important;
    }
}

/* V2: make express information align with main page width and reduce excess gap */

/* Match the green USP/main content width */
.spv2-express-info-panel {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin: 22px auto 18px !important;
}

/* Make the panel less tall */
.spv2-express-info-title {
    padding: 10px 18px !important;
    font-size: 18px !important;
}

.spv2-express-info-row {
    grid-template-columns: 42px 1fr !important;
    gap: 12px !important;
    padding: 12px 18px !important;
}

.spv2-express-info-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 15px !important;
}

/* Compact deadline content */
.spv2-express-info-content {
    font-size: 14px !important;
    line-height: 1.32 !important;
}

.spv2-express-info-content h3 {
    font-size: 18px !important;
    margin: 0 0 5px !important;
}

/* Reduce gap between deadline row and FAQ row */
.spv2-express-deadline-row {
    padding-bottom: 11px !important;
}

.spv2-express-faq-row {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}

/* Make FAQ row compact but still clear */
.spv2-express-faq-title {
    font-size: 18px !important;
}

.spv2-express-faq-row h3 a.readmore {
    font-size: 14px !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    font-size: 20px !important;
}

/* Reduce vertical space before pricing section */
.spv2-express-info-panel + #pricing,
.spv2-express-info-panel + .spv2-pricing,
#pricing {
    margin-top: 14px !important;
}

/* The product.php layout may have wrappers/margins before pricing */
.spv2-express-info-panel ~ #pricing,
.spv2-express-info-panel ~ .spv2-pricing {
    margin-top: 14px !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        margin: 14px auto 14px !important;
    }

    .spv2-express-info-title {
        padding: 10px 12px !important;
        font-size: 16px !important;
    }

    .spv2-express-info-row {
        grid-template-columns: 32px 1fr !important;
        gap: 9px !important;
        padding: 11px 12px !important;
    }

    .spv2-express-info-icon {
        width: 28px !important;
        height: 28px !important;
        font-size: 13px !important;
    }

    .spv2-express-info-content h3,
    .spv2-express-faq-title {
        font-size: 16px !important;
    }
}

/* V2: reduce gap under express info and align pricing width */

/* Keep express box wide but not too tall */
.spv2-express-info-panel {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin: 18px auto 18px !important;
}

/* Remove excess space before the pricing block on product-v2-test */
#pricing {
    margin-top: 18px !important;
    padding-top: 0 !important;
}

/* Product.php often has row/container spacing before pricing */
#pricing.row {
    margin-top: 18px !important;
}

#pricing .container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Make the V2 pricing panel use the same width family as the green bar/express info */
#pricing .spv2-pricing,
.spv2-pricing {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Reduce top whitespace inside pricing panel */
.spv2-pricing {
    margin-top: 0 !important;
}

.spv2-pricing .spv2-pricing-inner,
.spv2-pricing .spv2-panel,
.spv2-pricing .spv2-main {
    margin-top: 0 !important;
}

/* Reduce gap above the Choose Options title */
.spv2-pricing h2,
.spv2-pricing .spv2-heading,
.spv2-pricing .spv2-title {
    margin-top: 14px !important;
}

/* Make the express section compact enough so pricing is visible sooner */
.spv2-express-info-title {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

.spv2-express-info-row {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.spv2-express-deadline-row {
    padding-bottom: 10px !important;
}

.spv2-express-faq-row {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel,
    #pricing .spv2-pricing,
    .spv2-pricing {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing,
    #pricing.row {
        margin-top: 12px !important;
    }
}

/* V2: align express/pricing widths and compact Step 1 so prices appear sooner */

/* Match green bar / express width */
.spv2-express-info-panel,
.spv2-pricing,
#pricing .spv2-pricing,
#pricing .container,
#pricing .spv2-wrap,
#pricing .spv2-card {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Remove old narrow centering from pricing parent */
#pricing {
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px !important;
    padding-top: 0 !important;
}

#pricing.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Reduce top padding inside the pricing box */
.spv2-pricing {
    padding-top: 14px !important;
    margin-top: 0 !important;
}

/* Header should not take too much vertical space */
.spv2-pricing h2,
.spv2-pricing .spv2-heading,
.spv2-pricing .spv2-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* The pink instruction strip stays useful but tighter */
.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert {
    margin-bottom: 14px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

/* Compact Step 1 panel */
.spv2-pricing .spv2-step-1,
.spv2-pricing [data-spv2-step="1"],
.spv2-pricing .spv2-stock-section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* Step 1 heading tighter */
.spv2-pricing .spv2-step-header,
.spv2-pricing .spv2-step-title,
.spv2-pricing .spv2-label.spv2-step-label {
    margin-bottom: 10px !important;
}

/* Stock/thickness buttons tighter */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill {
    min-height: 36px !important;
    padding: 8px 16px !important;
    margin-bottom: 6px !important;
}

/* Thickness label less dominant */
.spv2-pricing .spv2-thickness-label {
    margin: 8px 0 6px !important;
    font-size: 15px !important;
}

/* Stock advice should not dominate the page */
.spv2-pricing .spv2-selected-card {
    margin-top: 8px !important;
    padding: 10px 13px !important;
    min-height: 0 !important;
}

.spv2-pricing .spv2-selected-title,
.spv2-pricing .spv2-selected-card strong {
    font-size: 13px !important;
}

.spv2-pricing .spv2-selected-desc {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

/* On desktop, put Step 1 controls and advice into a more compact two-column feel where possible */
@media (min-width: 900px) {
    .spv2-pricing .spv2-stock-options,
    .spv2-pricing .spv2-stock-buttons,
    .spv2-pricing [data-spv2-stock-buttons] {
        max-width: 68% !important;
    }

    .spv2-pricing .spv2-selected-card {
        width: 100% !important;
    }
}

/* Reduce divider gap before Step 2 */
.spv2-pricing .spv2-divider,
.spv2-pricing hr {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

/* Step 2 heading compact */
.spv2-pricing .spv2-price-step,
.spv2-pricing .spv2-step-2,
.spv2-pricing [data-spv2-step="2"] {
    padding-top: 12px !important;
}

/* Quote button row should not add unnecessary height */
.spv2-pricing .spv2-quote-row,
.spv2-pricing .spv2-price-head {
    min-height: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Mobile should remain readable */
@media (max-width: 800px) {
    .spv2-express-info-panel,
    .spv2-pricing,
    #pricing .spv2-pricing,
    #pricing .container,
    #pricing .spv2-wrap,
    #pricing .spv2-card {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    .spv2-pricing .spv2-stock-options,
    .spv2-pricing .spv2-stock-buttons,
    .spv2-pricing [data-spv2-stock-buttons] {
        max-width: 100% !important;
    }
}

/* V2: FAQ heading link should be the expandable control, no separate View FAQs button */

.spv2-express-faq-row h3 {
    display: block !important;
    margin: 0 !important;
}

.spv2-express-faq-title {
    display: inline !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #071d49 !important;
}

/* Frequently Asked Questions itself is the clickable expand link */
.spv2-express-faq-row h3 a.readmore {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #e6007e !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    white-space: normal !important;
}

.spv2-express-faq-row h3 a.readmore::after {
    content: " +" !important;
    display: inline !important;
    color: #0068b7 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.spv2-express-faq-row h3 a.readmore:hover {
    color: #c9006e !important;
    background: transparent !important;
    text-decoration: underline !important;
}

/* Keep FAQ row compact */
.spv2-express-faq-row {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.spv2-express-faq-row .spv2-express-info-content {
    display: block !important;
    min-height: 0 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-faq-title,
    .spv2-express-faq-row h3 a.readmore {
        font-size: 16px !important;
    }

    .spv2-express-faq-row h3 a.readmore::after {
        font-size: 18px !important;
    }
}

/* V2: final pricing tidy */

/* Remove + after Express FAQ link */
.spv2-express-faq-row h3 a.readmore::after {
    content: "" !important;
    display: none !important;
}

/* Main pricing heading: stop shouting in uppercase */
.spv2-pricing h2,
.spv2-pricing .spv2-heading,
.spv2-pricing .spv2-title {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    margin: 0 0 16px !important;
}

/* If the heading text itself is uppercase from PHP/CSS, this at least makes it visually softer */
.spv2-pricing h2 {
    font-family: inherit !important;
}

/* Make the instruction bar look part of the pricing panel, not a random separate alert */
.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert {
    background: #fff4fa !important;
    border: 1px solid #f5b5d8 !important;
    border-left: 5px solid #e6007e !important;
    border-radius: 7px !important;
    padding: 11px 14px !important;
    margin: 0 0 18px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

/* Bring Step 1 closer to the instruction */
.spv2-pricing .spv2-step-1,
.spv2-pricing [data-spv2-step="1"],
.spv2-pricing .spv2-stock-section {
    padding-top: 8px !important;
}

/* Step panels should feel cleaner */
.spv2-pricing .spv2-step-header,
.spv2-pricing .spv2-step-title,
.spv2-pricing .spv2-label.spv2-step-label {
    border-radius: 7px !important;
    padding: 11px 14px !important;
    margin-bottom: 10px !important;
}

/* Stock buttons: slightly smaller and neater */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill {
    min-height: 38px !important;
    padding: 8px 16px !important;
    border-radius: 5px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

/* Thickness line should not feel like another big section */
.spv2-pricing .spv2-thickness-label {
    font-size: 15px !important;
    margin: 8px 0 6px !important;
}

/* Stock advice compact */
.spv2-pricing .spv2-selected-card {
    margin-top: 10px !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
}

.spv2-pricing .spv2-selected-desc {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

/* Reduce dead space before Step 2 */
.spv2-pricing .spv2-divider,
.spv2-pricing hr {
    margin: 14px 0 !important;
}

/* Step 2 header: neater, less bulky */
.spv2-pricing .spv2-price-head,
.spv2-pricing .spv2-quote-row {
    padding: 11px 14px !important;
    border-radius: 7px 7px 0 0 !important;
    min-height: 0 !important;
}

.spv2-pricing .spv2-price-head h3,
.spv2-pricing .spv2-price-head strong {
    font-size: 18px !important;
    line-height: 1.25 !important;
}

/* Quote prompt tighter */
.spv2-pricing .spv2-quote-row,
.spv2-pricing .spv2-quote-row span,
.spv2-pricing .spv2-quote-row a {
    font-size: 14px !important;
}

/* Price table: tidy and less massive */
.spv2-pricing table {
    border-collapse: collapse !important;
    width: 100% !important;
    table-layout: fixed !important;
}

.spv2-pricing table th,
.spv2-pricing table td {
    padding: 10px 8px !important;
    vertical-align: middle !important;
    border-color: #e1e1e1 !important;
}

.spv2-pricing table th {
    font-size: 16px !important;
    font-weight: 800 !important;
    background: #ffffff !important;
}

.spv2-pricing table td:first-child,
.spv2-pricing table th:first-child {
    width: 150px !important;
    text-align: left !important;
    font-weight: 800 !important;
}

/* Price buttons: less chunky, but still obvious */
.spv2-pricing table a,
.spv2-pricing .spv2-price-btn {
    min-width: 98px !important;
    max-width: 130px !important;
    min-height: 32px !important;
    padding: 7px 12px !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

/* Keep price buttons centred neatly */
.spv2-pricing table td {
    text-align: center !important;
}

/* But row labels stay left */
.spv2-pricing table td:first-child {
    text-align: left !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-pricing h2,
    .spv2-pricing .spv2-heading,
    .spv2-pricing .spv2-title {
        font-size: 20px !important;
        margin-bottom: 12px !important;
    }

    .spv2-pricing .spv2-order-help,
    .spv2-pricing .spv2-instruction,
    .spv2-pricing .spv2-alert {
        font-size: 14px !important;
        padding: 10px 12px !important;
    }

    .spv2-pricing table th,
    .spv2-pricing table td {
        padding: 8px 6px !important;
        font-size: 13px !important;
    }

    .spv2-pricing table td:first-child,
    .spv2-pricing table th:first-child {
        width: 110px !important;
    }

    .spv2-pricing table a,
    .spv2-pricing .spv2-price-btn {
        min-width: 76px !important;
        padding: 7px 8px !important;
        font-size: 13px !important;
    }
}

/* V2: mobile price list must not show on desktop */

/* Default/desktop: show normal table, hide generated mobile list */
.spv2-mobile-price-list {
    display: none !important;
}

.spv2-pricing table.spv2-price-table {
    display: table !important;
}

/* Mobile only: hide table and show vertical price cards */
@media (max-width: 800px) {
    .spv2-pricing table.spv2-price-table {
        display: none !important;
    }

    .spv2-mobile-price-list {
        display: block !important;
        margin-top: 10px !important;
    }

    .spv2-mobile-price-card {
        border: 1px solid #e1e1e1 !important;
        border-radius: 7px !important;
        background: #ffffff !important;
        margin: 0 0 10px !important;
        overflow: hidden !important;
    }

    .spv2-mobile-price-qty {
        padding: 9px 11px !important;
        background: #f7f7f7 !important;
        font-weight: 800 !important;
        font-size: 14px !important;
    }

    .spv2-mobile-price-line {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 10px 11px !important;
        border-top: 1px solid #eeeeee !important;
    }

    .spv2-mobile-price-side {
        font-weight: 800 !important;
        font-size: 14px !important;
    }

    .spv2-mobile-price-value button,
    .spv2-mobile-price-value a {
        min-width: 90px !important;
        min-height: 32px !important;
        padding: 7px 10px !important;
        border-radius: 5px !important;
        font-size: 14px !important;
    }
}

/* V2: stock advice may contain safe legacy DB HTML */
.spv2-selected-card .spv2-stock-note-red,
.spv2-selected-card font[color="red"] {
    color: #e6007e !important;
    font-weight: 800 !important;
}

.spv2-selected-card br {
    display: block !important;
    content: "" !important;
    margin: 4px 0 !important;
    line-height: 4px !important;
}

.spv2-selected-card a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-selected-card p {
    margin: 0 0 7px !important;
}

.spv2-selected-card ul,
.spv2-selected-card ol {
    margin: 7px 0 7px 22px !important;
    padding: 0 !important;
}

/* V2: rendered legacy stock advice HTML */
.spv2-selected-card .spv2-stock-note-red {
    color: #e6007e !important;
    font-weight: 800 !important;
}

.spv2-selected-card br {
    display: block !important;
    content: "" !important;
    margin: 5px 0 !important;
    line-height: 5px !important;
}

.spv2-selected-card a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* V2: stock advice decoded HTML formatting */

.spv2-selected-card .spv2-stock-advice-heading {
    display: block !important;
    margin: 0 0 7px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-selected-card .spv2-stock-advice-heading strong:first-child {
    margin-right: 10px !important;
}

.spv2-selected-card .spv2-stock-note-red {
    color: #e6007e !important;
    font-weight: 800 !important;
}

.spv2-selected-card strong,
.spv2-selected-card b {
    font-weight: 800 !important;
}

.spv2-selected-card em,
.spv2-selected-card i {
    font-style: italic !important;
}

.spv2-selected-card u {
    text-decoration: underline !important;
}

.spv2-selected-card br {
    display: block !important;
    content: "" !important;
    margin: 6px 0 !important;
    line-height: 6px !important;
}

/* V2: align main content widths */
.why-choose-us,
#why-choose-us,
.spv2-express-info-panel,
.spv2-pricing,
#pricing .spv2-pricing,
#pricing .container,
#pricing .spv2-wrap,
#pricing .spv2-card {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Make pricing sit closer to Express Information */
.spv2-express-info-panel {
    margin-bottom: 18px !important;
}

#pricing,
#pricing.row {
    width: 100% !important;
    max-width: none !important;
    margin-top: 18px !important;
    padding-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Step badges should read well after JS changes Step1 -> Step 1 */
.spv2-pricing .spv2-step-badge,
.spv2-pricing .step-badge,
.spv2-pricing .spv2-label {
    white-space: nowrap !important;
}

/* Stock buttons after removing gsm should not become too wide */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill,
.spv2-pricing a.spv2-pill {
    min-width: 120px !important;
}

/* Thickness buttons stay compact */
.spv2-pricing button,
.spv2-pricing a {
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 800px) {
    .why-choose-us,
    #why-choose-us,
    .spv2-express-info-panel,
    .spv2-pricing,
    #pricing .spv2-pricing,
    #pricing .container,
    #pricing .spv2-wrap,
    #pricing .spv2-card {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing,
    #pricing.row {
        margin-top: 12px !important;
    }

    .spv2-pricing .spv2-pill,
    .spv2-pricing button.spv2-pill,
    .spv2-pricing a.spv2-pill {
        min-width: 0 !important;
    }
}

/* V2 final: consistent widths, readable steps and lead-time cards */

/* Use one common width for green USP, express panel and pricing panel */
.why-choose-us,
#why-choose-us,
.spv2-express-info-panel,
.spv2-pricing,
#pricing .spv2-pricing,
#pricing .container,
#pricing .spv2-wrap,
#pricing .spv2-card {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Pricing parent should not re-centre narrower */
#pricing,
#pricing.row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 18px !important;
    padding-top: 0 !important;
}

/* Step labels */
.spv2-pricing .spv2-step-badge,
.spv2-pricing .step-badge,
.spv2-pricing .spv2-label {
    white-space: nowrap !important;
}

/* Stock buttons after removing gsm from family names */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill,
.spv2-pricing a.spv2-pill {
    min-width: 120px !important;
}

/* Thickness buttons stay compact */
.spv2-pricing button,
.spv2-pricing a {
    box-sizing: border-box !important;
}

/* Lead-time section: compact but informative */
.spv2-pricing h3,
.spv2-pricing h2 {
    text-transform: none !important;
}

.spv2-pricing .lead-times,
.spv2-pricing .spv2-lead-times {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.spv2-pricing p {
    line-height: 1.45 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .why-choose-us,
    #why-choose-us,
    .spv2-express-info-panel,
    .spv2-pricing,
    #pricing .spv2-pricing,
    #pricing .container,
    #pricing .spv2-wrap,
    #pricing .spv2-card {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing,
    #pricing.row {
        margin-top: 12px !important;
    }

    .spv2-pricing .spv2-pill,
    .spv2-pricing button.spv2-pill,
    .spv2-pricing a.spv2-pill {
        min-width: 0 !important;
    }
}

/* V2: one actual content width for USP, express info and pricing */
.spv2-common-content-width {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Prevent parent pricing wrappers from forcing a narrower box */
#pricing,
#pricing.row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#pricing > .container,
#pricing .container,
#pricing .spv2-wrap,
#pricing .spv2-card,
#pricing .spv2-pricing {
    width: calc(100% - 32px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Express and pricing spacing */
.spv2-express-info-panel {
    margin-bottom: 18px !important;
}

#pricing {
    margin-top: 18px !important;
}

/* Step label readability */
.spv2-pricing .spv2-step-badge,
.spv2-pricing .step-badge,
.spv2-pricing .spv2-label {
    white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-common-content-width,
    #pricing > .container,
    #pricing .container,
    #pricing .spv2-wrap,
    #pricing .spv2-card,
    #pricing .spv2-pricing {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing {
        margin-top: 12px !important;
    }
}

/* V2: final width alignment fix
   Express is 1360 wide. Pricing was 1328 because it was subtracting 32px inside a padded parent.
*/

.spv2-express-info-panel {
    max-width: 1360px !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Pricing should fill its current padded parent, not subtract another 32px */
#pricing .spv2-pricing,
.spv2-pricing {
    width: 100% !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* If a parent container is what is limiting pricing, align that parent to express width */
#pricing > .container,
#pricing .container {
    max-width: 1360px !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Remove Bootstrap-style horizontal padding only around the V2 pricing container */
#pricing > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel,
    #pricing > .container,
    #pricing .container {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing .spv2-pricing,
    .spv2-pricing {
        width: 100% !important;
        max-width: none !important;
    }
}

/* V2 FINAL WIDTH FIX
   Match the existing green "Why choose us?" width.
   Screenshot shows target is about 1440px, not 1360px.
*/

.spv2-express-info-panel,
#pricing > .container,
#pricing .container,
#pricing .spv2-pricing,
.spv2-pricing {
    width: calc(100% - 112px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Pricing was 32px narrower because Bootstrap/container padding was still active */
#pricing > .container,
#pricing .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Pricing card should fill its aligned container */
#pricing .spv2-pricing,
.spv2-pricing {
    width: 100% !important;
    max-width: 1440px !important;
}

/* Express card should be the same width as pricing/green bar */
.spv2-express-info-panel {
    max-width: 1440px !important;
}

/* Parent should not introduce another width */
#pricing,
#pricing.row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove excess gap while leaving a clear separation */
.spv2-express-info-panel {
    margin-bottom: 20px !important;
}

#pricing {
    margin-top: 20px !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-express-info-panel,
    #pricing > .container,
    #pricing .container,
    #pricing .spv2-pricing,
    .spv2-pricing {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing {
        margin-top: 12px !important;
    }
}

/* V2 FINAL: force Choose your Options box to match Express Information width */

/* The pricing section parent must be full browser width */
#pricing,
#pricing.row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* The direct pricing container must match Express Information */
#pricing > .container,
#pricing .container {
    width: calc(100% - 112px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* The actual V2 pricing card must fill that container */
#pricing .spv2-pricing,
.spv2-pricing {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Any inner V2 wrappers must not shrink the box */
.spv2-pricing .spv2-wrap,
.spv2-pricing .spv2-card,
.spv2-pricing .spv2-panel,
.spv2-pricing .spv2-inner,
.spv2-pricing .spv2-main {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Keep Express Information on the same width rule */
.spv2-express-info-panel {
    width: calc(100% - 112px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 800px) {
    #pricing > .container,
    #pricing .container,
    .spv2-express-info-panel {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }

    #pricing .spv2-pricing,
    .spv2-pricing {
        width: 100% !important;
        max-width: none !important;
    }
}

/* V2: pricing box outer width is fixed; now align inner content visually */

/* Reduce the internal left/right padding so the pricing content uses the 1440px box properly */
.spv2-pricing {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* The instruction strip should span the available inner width */
.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Step panels should also use the full inner width */
.spv2-pricing .spv2-step-header,
.spv2-pricing .spv2-step-title,
.spv2-pricing .spv2-stock-section,
.spv2-pricing .spv2-price-head,
.spv2-pricing table.spv2-price-table,
.spv2-pricing .spv2-selected-card,
.spv2-pricing .spv2-multiset {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Make the top of the pricing card less empty */
.spv2-pricing h2,
.spv2-pricing .spv2-heading,
.spv2-pricing .spv2-title {
    margin-bottom: 14px !important;
}

.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert {
    margin-bottom: 18px !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-pricing {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* V2: measured width alignment support */
.spv2-measured-width,
.spv2-measured-width-parent {
    box-sizing: border-box !important;
}

.spv2-measured-width-parent {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Pricing card inner content should use its full measured width */
.spv2-pricing .spv2-wrap,
.spv2-pricing .spv2-card,
.spv2-pricing .spv2-panel,
.spv2-pricing .spv2-inner,
.spv2-pricing .spv2-main,
.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert,
.spv2-pricing .spv2-step-header,
.spv2-pricing .spv2-step-title,
.spv2-pricing .spv2-stock-section,
.spv2-pricing .spv2-price-head,
.spv2-pricing table.spv2-price-table,
.spv2-pricing .spv2-selected-card,
.spv2-pricing .spv2-multiset {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Keep mobile natural */
@media (max-width: 800px) {
    .spv2-measured-width,
    .spv2-measured-width-parent {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .spv2-pricing {
        width: 100% !important;
        max-width: none !important;
    }
}

/* V2: make the visible Choose your Options card use the full matched width */

/* Outer pricing card is already 1440px. Remove the padding that makes the inner visible card 1400px. */
.spv2-pricing {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* The actual visible pricing card should now span the full 1440px */
.spv2-pricing > .spv2-order-card,
.spv2-pricing .spv2-order-card {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Keep readable internal spacing inside the visible card */
.spv2-pricing .spv2-order-card {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Make the major internal strips use the full available inner width */
.spv2-pricing .spv2-order-help,
.spv2-pricing .spv2-instruction,
.spv2-pricing .spv2-alert,
.spv2-pricing .spv2-step-header,
.spv2-pricing .spv2-step-title,
.spv2-pricing .spv2-stock-section,
.spv2-pricing .spv2-price-head,
.spv2-pricing table.spv2-price-table,
.spv2-pricing .spv2-selected-card,
.spv2-pricing .spv2-multiset {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-pricing .spv2-order-card {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* V2: lead-time measured width support */
.spv2-leadtime-measured-width {
    box-sizing: border-box !important;
}

/* Make inner lead-time cards use the full width of the measured wrapper */
.spv2-leadtime-measured-width > *,
.spv2-leadtime-measured-width .spv2-lead-card,
.spv2-leadtime-measured-width .spv2-card,
.spv2-leadtime-measured-width .spv2-panel {
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Mobile stays natural */
@media (max-width: 800px) {
    .spv2-leadtime-measured-width {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* V2 FINAL: force Lead times box to match green/express/pricing width */

.spv2-lead-times,
.spv2-lead-times.spv2-measured-width,
.spv2-lead-times.spv2-leadtime-measured-width {
    width: calc(100% - 480px) !important;
    max-width: 1440px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* If browser width is smaller, do not over-shrink */
@media (max-width: 1552px) {
    .spv2-lead-times,
    .spv2-lead-times.spv2-measured-width,
    .spv2-lead-times.spv2-leadtime-measured-width {
        width: calc(100% - 32px) !important;
        max-width: 1440px !important;
    }
}

/* Make inner lead-time content fill the widened box */
.spv2-lead-times > *,
.spv2-lead-times .spv2-card,
.spv2-lead-times .spv2-panel,
.spv2-lead-times .spv2-lead-card,
.spv2-lead-times .spv2-lead-grid {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 800px) {
    .spv2-lead-times,
    .spv2-lead-times.spv2-measured-width,
    .spv2-lead-times.spv2-leadtime-measured-width {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }
}

/* V2 FIX: undo bad 960px lead-time shrink */
.spv2-lead-times,
.spv2-lead-times.spv2-measured-width,
.spv2-lead-times.spv2-leadtime-measured-width {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* The measured JS will set the actual 1440px width with inline !important */
.spv2-lead-times > *,
.spv2-lead-times .spv2-card,
.spv2-lead-times .spv2-panel,
.spv2-lead-times .spv2-lead-card,
.spv2-lead-times .spv2-lead-grid {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* V2: reduce excessive gap between Express Information and pricing */
.spv2-express-info-panel {
    margin-bottom: 28px !important;
}

/* Pricing section should start sooner after express info */
#pricing,
#pricing.row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* If there is a spacer/wrapper between express and pricing, compress it */
.spv2-express-info-panel + *,
.spv2-express-info-panel + * + #pricing {
    margin-top: 0 !important;
}

/* Keep a sensible mobile gap */
@media (max-width: 800px) {
    .spv2-express-info-panel {
        margin-bottom: 18px !important;
    }

    #pricing,
    #pricing.row {
        margin-top: 0 !important;
    }
}

/* V2: reduce gap before Choose your Options section */
#getStarted.section.section-white {
    padding-top: 34px !important;
}

/* Keep enough bottom space after the pricing area */
#getStarted.section.section-white {
    padding-bottom: 60px !important;
}

/* Mobile should be tighter */
@media (max-width: 800px) {
    #getStarted.section.section-white {
        padding-top: 20px !important;
        padding-bottom: 36px !important;
    }
}

/* V2: make stock/material option buttons clearer */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill,
.spv2-pricing a.spv2-pill,
.spv2-pricing button,
.spv2-pricing a {
    font-weight: 800 !important;
}

/* Keep stock option labels bold even when inactive */
.spv2-pricing .spv2-stock-section button,
.spv2-pricing .spv2-stock-section a,
.spv2-pricing .spv2-stock-options button,
.spv2-pricing .spv2-stock-options a,
.spv2-pricing .spv2-stock-buttons button,
.spv2-pricing .spv2-stock-buttons a {
    font-weight: 800 !important;
}

/* Step badge text should be bold and readable */
.spv2-pricing .spv2-step-badge,
.spv2-pricing .step-badge,
.spv2-pricing .spv2-label {
    font-weight: 800 !important;
    white-space: nowrap !important;
}

/* V2: compact Step 1 so Step 2 pricing is more visible above the fold */

/* Reduce vertical space inside Step 1 */
.spv2-pricing .spv2-stock-section,
.spv2-pricing [data-spv2-step="1"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Stock buttons row tighter */
.spv2-pricing .spv2-stock-options,
.spv2-pricing .spv2-stock-buttons,
.spv2-pricing .spv2-pill-row {
    margin-bottom: 8px !important;
}

/* Stock and thickness buttons slightly lower height */
.spv2-pricing .spv2-pill,
.spv2-pricing button.spv2-pill,
.spv2-pricing a.spv2-pill {
    min-height: 34px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    margin-bottom: 4px !important;
}

/* Thickness heading tighter */
.spv2-pricing .spv2-thickness-label,
.spv2-pricing label {
    margin-top: 6px !important;
    margin-bottom: 5px !important;
}

/* Stock advice still visible, but less tall */
.spv2-pricing .spv2-selected-card {
    margin-top: 8px !important;
    padding: 10px 12px !important;
    line-height: 1.32 !important;
}

/* Stock advice text tighter */
.spv2-pricing .spv2-selected-desc {
    font-size: 13px !important;
    line-height: 1.32 !important;
}

/* Reduce gap before Step 2 */
.spv2-pricing hr,
.spv2-pricing .spv2-divider {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

/* Step 2 should start sooner */
.spv2-pricing .spv2-price-head,
.spv2-pricing [data-spv2-step="2"] {
    margin-top: 0 !important;
}

/* Mobile: keep stock advice collapsible/compact */
@media (max-width: 800px) {
    .spv2-pricing .spv2-selected-card {
        padding: 10px 36px 10px 11px !important;
    }

    .spv2-pricing .spv2-pill,
    .spv2-pricing button.spv2-pill,
    .spv2-pricing a.spv2-pill {
        min-height: 36px !important;
    }
}

/* Keep the number close to Step but not stuck */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    margin-left: 0 !important;
    margin-right: 6px !important;
}

/* Ensure the whole badge aligns cleanly */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* Remove separate black "Step" before the badge */
.spv2-pricing .spv2-label.spv2-step-label::before,
.spv2-pricing .spv2-step-label::before {
    content: none !important;
    display: none !important;
}

/* Make the number span itself become the full badge */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 12px 0 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Add Step with a proper space inside the blue badge */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child::before,
.spv2-pricing .spv2-step-label > span:first-child::before {
    content: "Step " !important;
    display: inline !important;
    margin: 0 !important;
}

/* Step 2 badge should stay pink if existing CSS marks it pink */
.spv2-pricing .spv2-price-head .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child,
.spv2-pricing [data-spv2-step="2"] .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing [data-spv2-step="2"] .spv2-step-label > span:first-child {
    background: #e6007e !important;
}

/* Keep label row aligned */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* Badge displays the full source text cleanly */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 12px 0 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Step 2 remains pink */
.spv2-pricing .spv2-price-head .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child {
    background: #e6007e !important;
}

/* Badge styling */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 12px 0 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Step 2 badge pink */
.spv2-pricing .spv2-price-head .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child {
    background: #e6007e !important;
}

/* Remove all parent-generated Step text */
.spv2-pricing .spv2-step-label::before,
.spv2-pricing .spv2-label.spv2-step-label::before,
.spv2-pricing .spv2-step-label::after,
.spv2-pricing .spv2-label.spv2-step-label::after {
    content: none !important;
    display: none !important;
}

/* Label row */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
}

/* The number span becomes the full badge */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Add Step inside the same blue/pink badge */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child::before,
.spv2-pricing .spv2-step-label > span:first-child::before {
    content: "Step " !important;
    display: inline !important;
}

/* No extra after text */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child::after,
.spv2-pricing .spv2-step-label > span:first-child::after {
    content: none !important;
    display: none !important;
}

/* Step 2 pink */
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child,
.spv2-pricing [data-spv2-step="2"] .spv2-step-label > span:first-child {
    background: #e6007e !important;
}

/* Undo forced-label styling from previous failed patch */
.spv2-pricing .spv2-fixed-step-pill,
.spv2-pricing .spv2-fixed-step-title {
    all: unset !important;
}

/* Kill every old CSS-generated Step label */
.spv2-pricing .spv2-step-label::before,
.spv2-pricing .spv2-step-label::after,
.spv2-pricing .spv2-step-label > span::before,
.spv2-pricing .spv2-step-label > span::after,
.spv2-pricing .spv2-label.spv2-step-label::before,
.spv2-pricing .spv2-label.spv2-step-label::after,
.spv2-pricing .spv2-label.spv2-step-label > span::before,
.spv2-pricing .spv2-label.spv2-step-label > span::after {
    content: none !important;
    display: none !important;
}

/* Whole label row */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
    color: #111 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 800 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
}

/* Badge only */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Step 2 badge pink */
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child,
.spv2-pricing .spv2-price-head .spv2-label.spv2-step-label > span:first-child {
    background: #e6007e !important;
}

/* If previous failed JS classes remain for any reason, neutralise them */
.spv2-pricing .spv2-fixed-step-label,
.spv2-pricing .spv2-fixed-step-title {
    background: transparent !important;
    color: #111 !important;
    border: 0 !important;
    padding: 0 !important;
}

.spv2-pricing .spv2-step2-final > span:first-child {
    background: #e6007e !important;
}

/* Kill all old pseudo-generated Step text */
.spv2-pricing .spv2-step-label::before,
.spv2-pricing .spv2-step-label::after,
.spv2-pricing .spv2-step-label > span::before,
.spv2-pricing .spv2-step-label > span::after,
.spv2-pricing .spv2-label.spv2-step-label::before,
.spv2-pricing .spv2-label.spv2-step-label::after,
.spv2-pricing .spv2-label.spv2-step-label > span::before,
.spv2-pricing .spv2-label.spv2-step-label > span::after {
    content: none !important;
    display: none !important;
}

/* Step row/title */
.spv2-pricing .spv2-label.spv2-step-label,
.spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #111 !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
}

/* The actual Step badge */
.spv2-pricing .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Step 2 badge */
.spv2-pricing .spv2-price-head .spv2-step-label > span:first-child,
.spv2-pricing .spv2-price-head .spv2-label.spv2-step-label > span:first-child,
.spv2-pricing .spv2-step2-final > span:first-child {
    background: #e6007e !important;
}


/* V2 STEP LABELS - CLEAN FINAL
   Source:
   Step 1 = .spv2-step-label > span = "Step 1"
   Step 2 = .spv2-price-step-title > span = "Step 2"
*/

/* Kill every old pseudo-generated Step label */
#pricing .spv2-pricing .spv2-step-label::before,
#pricing .spv2-pricing .spv2-step-label::after,
#pricing .spv2-pricing .spv2-step-label > span::before,
#pricing .spv2-pricing .spv2-step-label > span::after,
#pricing .spv2-pricing .spv2-price-step-title::before,
#pricing .spv2-pricing .spv2-price-step-title::after,
#pricing .spv2-pricing .spv2-price-step-title > span::before,
#pricing .spv2-pricing .spv2-price-step-title > span::after {
    content: none !important;
    display: none !important;
}

/* Step 1 row */
#pricing .spv2-pricing .spv2-label.spv2-step-label,
#pricing .spv2-pricing .spv2-step-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    color: #111 !important;
    font-weight: 800 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
}

/* Step 2 header row */
#pricing .spv2-pricing .spv2-price-step-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 14px 0 0 !important;
    padding: 12px 14px !important;
    background: #f7f7f7 !important;
    border: 1px solid #e2e2e2 !important;
    border-left: 5px solid #e6007e !important;
    border-bottom: 0 !important;
    border-radius: 7px 7px 0 0 !important;
    box-sizing: border-box !important;
}

/* Step 2 title layout */
#pricing .spv2-pricing .spv2-price-step-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #111 !important;
}

/* The Step 1 and Step 2 pills */
#pricing .spv2-pricing .spv2-step-label > span:first-child,
#pricing .spv2-pricing .spv2-price-step-title > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    min-width: auto !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
}

#pricing .spv2-pricing .spv2-step-label > span:first-child {
    background: #0068b7 !important;
}

#pricing .spv2-pricing .spv2-price-step-title > span:first-child {
    background: #e6007e !important;
}

/* Step 2 title text */
#pricing .spv2-pricing .spv2-price-step-title strong {
    display: block !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: #111 !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-price-step-title em {
    display: block !important;
    margin-top: 3px !important;
    font-style: normal !important;
    font-size: 13px !important;
    color: #555 !important;
    line-height: 1.25 !important;
}

/* Mobile */
@media (max-width: 800px) {
    #pricing .spv2-pricing .spv2-step-label {
        font-size: 16px !important;
        white-space: normal !important;
    }

    #pricing .spv2-pricing .spv2-price-step-head {
        display: block !important;
        padding: 12px !important;
    }

    #pricing .spv2-pricing .spv2-price-step-title {
        align-items: flex-start !important;
    }

    #pricing .spv2-pricing .spv2-price-step-title strong {
        font-size: 16px !important;
    }
}

/* V2 STEP 1 HEADER RESTORE
   Keep corrected Step 1 text, but restore the grey header strip/background.
   Do not generate Step text with CSS.
*/

#pricing .spv2-pricing .spv2-label.spv2-step-label,
#pricing .spv2-pricing .spv2-step-label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 10px !important;
    padding: 11px 14px !important;

    background: #f7f7f7 !important;
    border: 0 !important;
    border-left: 5px solid #0068b7 !important;
    border-radius: 7px !important;

    box-sizing: border-box !important;

    color: #111 !important;
    font-weight: 800 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Keep Step 1 badge as one blue pill */
#pricing .spv2-pricing .spv2-label.spv2-step-label > span:first-child,
#pricing .spv2-pricing .spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 7px 15px !important;

    border-radius: 999px !important;
    background: #0068b7 !important;
    color: #fff !important;

    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    width: auto !important;
    min-width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
}

/* Do not allow old CSS to add another "Step" */
#pricing .spv2-pricing .spv2-step-label::before,
#pricing .spv2-pricing .spv2-step-label::after,
#pricing .spv2-pricing .spv2-step-label > span::before,
#pricing .spv2-pricing .spv2-step-label > span::after {
    content: none !important;
    display: none !important;
}

/* Keep Step 2 as it currently is */
#pricing .spv2-pricing .spv2-price-step-title > span:first-child {
    background: #e6007e !important;
}


/* V2 STOCK ADVICE + LEAD TIMES FINAL */

/* Stock advice should read like a small information card */
#pricing .spv2-pricing .spv2-selected-card {
    background: #fbfbfb !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 7px !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    box-sizing: border-box !important;
}

#pricing .spv2-pricing .spv2-stock-advice-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 7px !important;
}

#pricing .spv2-pricing .spv2-selected-heading {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #eef6ff !important;
    color: #0068b7 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-name {
    display: inline !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-desc {
    display: block !important;
    margin: 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Lead times: less wordy-looking and easier to scan */
#pricing .spv2-pricing .spv2-lead-times {
    padding: 16px 18px !important;
    margin-top: 18px !important;
}

#pricing .spv2-pricing .spv2-lead-times h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#pricing .spv2-pricing .spv2-lead-card {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
}

#pricing .spv2-pricing .spv2-lead-card span {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    margin-right: 8px !important;
    background: #e6007e !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-card strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-card p {
    margin: 9px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    color: #333 !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing {
    border-color: #f4b9d7 !important;
    background: #fff9fc !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing strong {
    color: #111 !important;
}

/* Mobile lead cards */
@media (max-width: 800px) {
    #pricing .spv2-pricing .spv2-lead-grid {
        display: block !important;
    }

    #pricing .spv2-pricing .spv2-lead-card {
        margin-bottom: 10px !important;
    }
}


/* V2 STOCK ADVICE + LEAD TIMES FINAL */

/* Stock advice should read like a small information card */
#pricing .spv2-pricing .spv2-selected-card {
    background: #fbfbfb !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 7px !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    box-sizing: border-box !important;
}

#pricing .spv2-pricing .spv2-stock-advice-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 7px !important;
}

#pricing .spv2-pricing .spv2-selected-heading {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #eef6ff !important;
    color: #0068b7 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-name {
    display: inline !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-desc {
    display: block !important;
    margin: 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Lead times: less wordy-looking and easier to scan */
#pricing .spv2-pricing .spv2-lead-times {
    padding: 16px 18px !important;
    margin-top: 18px !important;
}

#pricing .spv2-pricing .spv2-lead-times h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#pricing .spv2-pricing .spv2-lead-card {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
}

#pricing .spv2-pricing .spv2-lead-card span {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    margin-right: 8px !important;
    background: #e6007e !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-card strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-card p {
    margin: 9px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    color: #333 !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing {
    border-color: #f4b9d7 !important;
    background: #fff9fc !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing strong {
    color: #111 !important;
}

/* Mobile lead cards */
@media (max-width: 800px) {
    #pricing .spv2-pricing .spv2-lead-grid {
        display: block !important;
    }

    #pricing .spv2-pricing .spv2-lead-card {
        margin-bottom: 10px !important;
    }
}

/* V2 FINAL: lead-time cards with visible timescale labels */

#pricing .spv2-pricing .spv2-lead-times {
    padding: 16px 18px !important;
    margin-top: 18px !important;
}

#pricing .spv2-pricing .spv2-lead-times h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: none !important;
}

#pricing .spv2-pricing .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#pricing .spv2-pricing .spv2-lead-card {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing {
    border-color: #f4b9d7 !important;
    background: #fff9fc !important;
}

#pricing .spv2-pricing .spv2-lead-card-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

#pricing .spv2-pricing .spv2-lead-card-head > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    margin: 0 !important;
    background: #e6007e !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

#pricing .spv2-pricing .spv2-lead-card strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

#pricing .spv2-pricing .spv2-lead-card em {
    display: block !important;
    margin-top: 3px !important;
    font-style: normal !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #e6007e !important;
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-lead-card p {
    margin: 10px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    color: #333 !important;
}

#pricing .spv2-pricing .spv2-lead-note {
    margin-top: 12px !important;
    padding: 10px 12px !important;
    border-left: 5px solid #e6007e !important;
    background: #fff4fa !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #222 !important;
}

/* V2 FINAL: stock advice as compact card */
#pricing .spv2-pricing .spv2-selected-card {
    background: #fbfbfb !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 7px !important;
    padding: 12px 14px !important;
    margin-top: 10px !important;
    box-sizing: border-box !important;
}

#pricing .spv2-pricing .spv2-stock-advice-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 7px !important;
}

#pricing .spv2-pricing .spv2-selected-heading {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #eef6ff !important;
    color: #0068b7 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-name {
    display: inline !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-selected-desc {
    display: block !important;
    margin: 7px 0 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    max-height: none !important;
    overflow: visible !important;
}

@media (max-width: 800px) {
    #pricing .spv2-pricing .spv2-lead-grid {
        display: block !important;
    }

    #pricing .spv2-pricing .spv2-lead-card {
        margin-bottom: 10px !important;
    }
}

/* V2 FINAL: clean lead-times layout */

/* Overall panel */
#pricing .spv2-pricing .spv2-lead-times {
    padding: 16px 18px !important;
    margin-top: 18px !important;
}

#pricing .spv2-pricing .spv2-lead-times h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: none !important;
}

/* Standard service: proofing full-width, printing/delivery below */
#pricing .spv2-pricing .spv2-lead-standard .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#pricing .spv2-pricing .spv2-lead-standard .spv2-lead-card-proof {
    grid-column: 1 / -1 !important;
}

/* Express can remain 3 cards */
#pricing .spv2-pricing .spv2-lead-express .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

/* Card base */
#pricing .spv2-pricing .spv2-lead-card {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

#pricing .spv2-pricing .spv2-lead-card-proof {
    border-color: #b8d7f0 !important;
    background: #f7fbff !important;
}

#pricing .spv2-pricing .spv2-lead-card-printing {
    border-color: #f4b9d7 !important;
    background: #fff9fc !important;
}

/* Header row */
#pricing .spv2-pricing .spv2-lead-card-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

#pricing .spv2-pricing .spv2-lead-card-head > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    margin: 0 !important;
    background: #e6007e !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

#pricing .spv2-pricing .spv2-lead-card-proof .spv2-lead-card-head > span {
    background: #0068b7 !important;
}

#pricing .spv2-pricing .spv2-lead-card strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

#pricing .spv2-pricing .spv2-lead-card-proof strong {
    color: #0068b7 !important;
}

#pricing .spv2-pricing .spv2-lead-card em {
    display: block !important;
    margin-top: 3px !important;
    font-style: normal !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #e6007e !important;
    font-weight: 800 !important;
}

/* Proofing USP layout */
#pricing .spv2-pricing .spv2-lead-card-proof .spv2-lead-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 16px !important;
    align-items: start !important;
    margin-top: 4px !important;
}

#pricing .spv2-pricing .spv2-proof-claim {
    background: #fff !important;
    border: 1px solid #d7e9f8 !important;
    border-left: 5px solid #0068b7 !important;
    border-radius: 7px !important;
    padding: 12px 14px !important;
}

#pricing .spv2-pricing .spv2-proof-claim strong {
    display: block !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
}

#pricing .spv2-pricing .spv2-proof-claim p {
    margin: 0 0 7px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #333 !important;
}

#pricing .spv2-pricing .spv2-proof-claim p:last-child {
    margin-bottom: 0 !important;
}

#pricing .spv2-pricing .spv2-proof-usp-link {
    font-weight: 800 !important;
    color: #e6007e !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

#pricing .spv2-pricing .spv2-uk-only {
    font-weight: 800 !important;
    color: #0068b7 !important;
}

#pricing .spv2-pricing .spv2-proof-points {
    margin: 0 !important;
    padding-left: 20px !important;
}

#pricing .spv2-pricing .spv2-proof-points li {
    margin: 0 0 6px !important;
    padding-left: 2px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #222 !important;
}

#pricing .spv2-pricing .spv2-proof-points li:last-child {
    margin-bottom: 0 !important;
}

/* Normal card text */
#pricing .spv2-pricing .spv2-lead-card > p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    color: #333 !important;
}

/* Remove older note strip if still present */
#pricing .spv2-pricing .spv2-lead-note {
    display: none !important;
}

/* Mobile */
@media (max-width: 800px) {
    #pricing .spv2-pricing .spv2-lead-standard .spv2-lead-grid,
    #pricing .spv2-pricing .spv2-lead-express .spv2-lead-grid,
    #pricing .spv2-pricing .spv2-lead-card-proof .spv2-lead-copy {
        display: block !important;
    }

    #pricing .spv2-pricing .spv2-lead-card {
        margin-bottom: 10px !important;
    }

    #pricing .spv2-pricing .spv2-proof-claim {
        margin-bottom: 10px !important;
    }
}

/* V2 FINAL: force express lead-time layout to match standard */

/* Use the same 2-column layout as standard for express business cards */
#pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-grid,
#pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

/* Proofing card full width, exactly like standard */
#pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-card-proof,
#pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-card-proof {
    grid-column: 1 / -1 !important;
}

/* Express proofing card should use the same internal structure as standard */
#pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-card-proof .spv2-lead-copy,
#pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-card-proof .spv2-lead-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 16px !important;
    align-items: start !important;
    margin-top: 4px !important;
}

/* Undo any previous express-only equal-height / cramped-card rules */
#pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-card,
#pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-card {
    min-height: 0 !important;
}

/* Keep the online designer note visually consistent with the standard card */
#pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-online-designer-note,
#pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-online-designer-note {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 8px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #222 !important;
}

/* Mobile: stack everything */
@media (max-width: 800px) {
    #pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-grid,
    #pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-grid,
    #pricing section.spv2-pricing .spv2-lead-times.spv2-lead-express .spv2-lead-card-proof .spv2-lead-copy,
    #pricing section.spv2-pricing[data-product-id="62"] .spv2-lead-times .spv2-lead-card-proof .spv2-lead-copy {
        display: block !important;
    }
}

/* V2: standard-order Express Service upsell below lead times */
#pricing .spv2-pricing .spv2-express-upsell-note {
    margin-top: 12px !important;
    padding: 10px 12px !important;
    border-left: 5px solid #e6007e !important;
    background: #fff4fa !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #222 !important;
}

#pricing .spv2-pricing .spv2-express-upsell-note strong {
    font-weight: 800 !important;
}

#pricing .spv2-pricing .spv2-express-upsell-note a {
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* V2 page heading for full product pages */
.spv2-page-prices-heading {
    text-align: center !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
    margin: 34px 0 22px 0 !important;
    color: #111 !important;
    text-transform: uppercase !important;
}


/* V2 full-page Prices & Delivery heading */
.spv2-page-prices-heading {
    text-align: center !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
    margin: 34px 0 22px 0 !important;
    color: #111 !important;
    text-transform: uppercase !important;
}

/* Product3 V2 AJAX size step */
.spv2-product3-size-step {
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}

.spv2-product3-size-step .spv2-product3-size-body {
    padding: 10px 0 0 0 !important;
    margin: 0 !important;
}

.spv2-product3-size-step .spv2-product3-size-body p {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
    color: #333 !important;
}

.spv2-product3-size-step select {
    width: 330px !important;
    max-width: 100% !important;
    height: 42px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: 2px solid #e6007e !important;
    border-radius: 6px !important;
    background-color: #fff !important;
}

.spv2-product3-updating {
    opacity: 0.55 !important;
    pointer-events: none !important;
    transition: opacity 0.12s ease-in-out !important;
}

.spv2-pricing .spv2-intro {
    display: none !important;
}


/* V2 spacing polish: stock / thickness section */
body .spv2-pricing .spv2-order-card > .spv2-label.spv2-step-label {
    margin-bottom: 14px !important;
}

body .spv2-pricing .spv2-tabs-group {
    margin-top: 10px !important;
    margin-bottom: 18px !important;
}

body .spv2-pricing .spv2-weight-title {
    margin: 24px 0 14px !important;
    padding-top: 4px !important;
    line-height: 1.35 !important;
}

body .spv2-pricing .spv2-weight-tabs {
    gap: 12px !important;
    margin-bottom: 20px !important;
}

body .spv2-pricing .spv2-stock-advice {
    margin-top: 20px !important;
}

body .spv2-product3-frame .spv2-pricing .spv2-size-step {
    margin-bottom: 26px !important;
}

body .spv2-product3-frame .spv2-pricing .spv2-size-step .spv2-size-step-body p {
    margin: 0 0 14px !important;
}

/* PRODUCT PRICING V2 CLEAN LEAD TIMES V3 */
.spv2-lead-times-clean-v3 {
    margin-top: 18px !important;
    padding: 24px 28px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.spv2-lead-times-clean-v3 h3 {
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 22px 0 !important;
}

.spv2-lead-grid-clean-v3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.spv2-lead-card-clean-v3 {
    min-width: 0 !important;
    min-height: 255px !important;
    box-sizing: border-box !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 20px !important;
    background: #fff !important;
}

.spv2-lead-card-proof-v3 {
    background: #f3f9ff !important;
    border-color: #8cc8ff !important;
}

.spv2-lead-card-printing-v3 {
    background: #fff6fb !important;
    border-color: #ff9bd1 !important;
}

.spv2-lead-card-head-v3 {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.spv2-lead-no-v3 {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.spv2-lead-no-blue-v3 {
    background: #0070c9 !important;
}

.spv2-lead-no-pink-v3 {
    background: #ec008c !important;
}

.spv2-lead-card-head-v3 strong {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-lead-card-printing-v3 .spv2-lead-card-head-v3 strong {
    color: #111 !important;
}

.spv2-lead-card-head-v3 em {
    display: block !important;
    font-style: normal !important;
    margin-top: 3px !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.spv2-lead-card-clean-v3 p {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-proof-usp-v3 {
    background: #fff !important;
    border-left: 5px solid #0070c9 !important;
    border-radius: 7px !important;
    padding: 15px 17px !important;
}

.spv2-proof-usp-v3 .spv2-proof-title-v3 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
}

.spv2-proof-usp-v3 .spv2-proof-title-v3 strong,
.spv2-proof-usp-v3 .spv2-proof-title-v3 a {
    color: #005fab !important;
    font-weight: 800 !important;
}

.spv2-proof-small-v3 {
    font-size: 13px !important;
    color: #444 !important;
}

.spv2-express-service-note-v3 {
    margin-top: 16px !important;
    background: #fff1f8 !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
    padding: 13px 16px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.spv2-express-service-note-v3 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 980px) {
    .spv2-lead-grid-clean-v3 {
        grid-template-columns: 1fr !important;
    }

    .spv2-lead-card-clean-v3 {
        min-height: 0 !important;
    }
}

/* PRODUCT PRICING V2 CLEAN LEAD TIMES V4 */
.spv2-lead-times-clean-v4 {
    margin-top: 18px !important;
    padding: 24px 28px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.spv2-lead-times-clean-v4 h3 {
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 22px 0 !important;
}

.spv2-lead-grid-clean-v4 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.spv2-lead-card-clean-v4 {
    min-width: 0 !important;
    min-height: 255px !important;
    box-sizing: border-box !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 20px !important;
    background: #fff !important;
}

.spv2-lead-card-proof-v4 {
    background: #f3f9ff !important;
    border-color: #8cc8ff !important;
}

.spv2-lead-card-printing-v4 {
    background: #fff6fb !important;
    border-color: #ff9bd1 !important;
}

.spv2-lead-card-head-v4 {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.spv2-lead-no-v4 {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.spv2-lead-no-blue-v4 {
    background: #0070c9 !important;
}

.spv2-lead-no-pink-v4 {
    background: #ec008c !important;
}

.spv2-lead-card-head-v4 strong {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-lead-card-printing-v4 .spv2-lead-card-head-v4 strong {
    color: #111 !important;
}

.spv2-lead-card-head-v4 em {
    display: block !important;
    font-style: normal !important;
    margin-top: 3px !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.spv2-lead-card-clean-v4 p {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-proof-usp-v4 {
    background: #fff !important;
    border-left: 5px solid #0070c9 !important;
    border-radius: 7px !important;
    padding: 15px 17px !important;
}

.spv2-proof-usp-v4 .spv2-proof-title-v4 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
}

.spv2-proof-usp-v4 .spv2-proof-title-v4 strong,
.spv2-proof-usp-v4 .spv2-proof-title-v4 a {
    color: #005fab !important;
    font-weight: 800 !important;
}

.spv2-proof-small-v4 {
    font-size: 13px !important;
    color: #444 !important;
}

.spv2-express-service-note-v4 {
    margin-top: 16px !important;
    background: #fff1f8 !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
    padding: 13px 16px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.spv2-express-service-note-v4 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 980px) {
    .spv2-lead-grid-clean-v4 {
        grid-template-columns: 1fr !important;
    }

    .spv2-lead-card-clean-v4 {
        min-height: 0 !important;
    }
}

/* PRODUCT PRICING V2 STACKED LEAD TIMES V5 */
.spv2-lead-times-stacked-v5 {
    margin-top: 18px !important;
    padding: 24px 28px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.spv2-lead-times-stacked-v5 h3 {
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 22px 0 !important;
}

.spv2-lead-stack-v5 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 0 !important;
}

.spv2-lead-step-v5 {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.spv2-lead-step-proof-v5 {
    background: #f3f9ff !important;
    border-color: #8cc8ff !important;
}

.spv2-lead-step-print-v5 {
    background: #fff6fb !important;
    border-color: #ff9bd1 !important;
}

.spv2-lead-step-no-v5 {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.spv2-lead-step-no-blue-v5 {
    background: #0070c9 !important;
}

.spv2-lead-step-no-pink-v5 {
    background: #ec008c !important;
}

.spv2-lead-step-head-v5 {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: baseline !important;
    margin-bottom: 10px !important;
}

.spv2-lead-step-head-v5 strong {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-lead-step-print-v5 .spv2-lead-step-head-v5 strong {
    color: #111 !important;
}

.spv2-lead-step-head-v5 em {
    display: block !important;
    flex: 0 0 auto !important;
    font-style: normal !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

.spv2-lead-step-v5 p {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-proof-usp-v5 {
    background: #fff !important;
    border-left: 5px solid #0070c9 !important;
    border-radius: 7px !important;
    padding: 14px 16px !important;
}

.spv2-proof-usp-v5 .spv2-proof-title-v5 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 9px !important;
}

.spv2-proof-usp-v5 .spv2-proof-title-v5 strong,
.spv2-proof-usp-v5 .spv2-proof-title-v5 a {
    color: #005fab !important;
    font-weight: 800 !important;
}

.spv2-express-inside-print-v5 {
    margin-top: 12px !important;
    background: #fff !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

.spv2-express-inside-print-v5 strong {
    color: #111 !important;
    font-weight: 800 !important;
}

.spv2-express-inside-print-v5 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 700px) {
    .spv2-lead-times-stacked-v5 {
        padding: 18px 16px !important;
    }

    .spv2-lead-step-v5 {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px !important;
    }

    .spv2-lead-step-head-v5 {
        display: block !important;
    }

    .spv2-lead-step-head-v5 em {
        margin-top: 4px !important;
        text-align: left !important;
    }
}

/* PRODUCT PRICING V2 COLLAPSED LEAD TIMES V6 */
.spv2-lead-times-collapsed-v6 {
    margin-top: 18px !important;
    padding: 0 !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.spv2-lead-times-collapsed-v6 summary {
    cursor: pointer !important;
    list-style: none !important;
}

.spv2-lead-times-collapsed-v6 summary::-webkit-details-marker {
    display: none !important;
}

.spv2-lead-summary-v6 {
    display: grid !important;
    grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.8fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 18px 22px !important;
    background: #fff !important;
}

.spv2-lead-summary-title-v6 {
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-lead-summary-copy-v6 {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

.spv2-lead-summary-action-v6 {
    color: #ec008c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    white-space: nowrap !important;
}

.spv2-lead-times-collapsed-v6[open] .spv2-lead-summary-action-v6 {
    visibility: hidden !important;
    position: relative !important;
}

.spv2-lead-times-collapsed-v6[open] .spv2-lead-summary-action-v6:after {
    content: "Hide timeline" !important;
    visibility: visible !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
}

.spv2-lead-stack-v6 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 22px 22px 22px !important;
    margin: 0 !important;
}

.spv2-lead-step-v6 {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.spv2-lead-step-proof-v6 {
    background: #f3f9ff !important;
    border-color: #8cc8ff !important;
}

.spv2-lead-step-print-v6 {
    background: #fff6fb !important;
    border-color: #ff9bd1 !important;
}

.spv2-lead-step-no-v6 {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.spv2-lead-step-no-blue-v6 {
    background: #0070c9 !important;
}

.spv2-lead-step-no-pink-v6 {
    background: #ec008c !important;
}

.spv2-lead-step-head-v6 {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: baseline !important;
    margin-bottom: 10px !important;
}

.spv2-lead-step-head-v6 strong {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-lead-step-print-v6 .spv2-lead-step-head-v6 strong {
    color: #111 !important;
}

.spv2-lead-step-head-v6 em {
    display: block !important;
    flex: 0 0 auto !important;
    font-style: normal !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

.spv2-lead-step-v6 p {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-proof-usp-v6 {
    background: #fff !important;
    border-left: 5px solid #0070c9 !important;
    border-radius: 7px !important;
    padding: 14px 16px !important;
}

.spv2-proof-usp-v6 .spv2-proof-title-v6 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 9px !important;
}

.spv2-proof-usp-v6 .spv2-proof-title-v6 strong,
.spv2-proof-usp-v6 .spv2-proof-title-v6 a {
    color: #005fab !important;
    font-weight: 800 !important;
}

.spv2-express-inside-print-v6 {
    margin-top: 12px !important;
    background: #fff !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

.spv2-express-inside-print-v6 strong {
    color: #111 !important;
    font-weight: 800 !important;
}

.spv2-express-inside-print-v6 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 900px) {
    .spv2-lead-summary-v6 {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .spv2-lead-summary-action-v6 {
        justify-self: start !important;
    }
}

@media (max-width: 700px) {
    .spv2-lead-summary-v6 {
        padding: 16px !important;
    }

    .spv2-lead-stack-v6 {
        padding: 0 16px 16px 16px !important;
    }

    .spv2-lead-step-v6 {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px !important;
    }

    .spv2-lead-step-head-v6 {
        display: block !important;
    }

    .spv2-lead-step-head-v6 em {
        margin-top: 4px !important;
        text-align: left !important;
    }
}

/* PRODUCT PRICING V2 OPTION B CLEAN V7 */
.spv2-time-v7 {
    margin-top: 18px !important;
    padding: 0 !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.spv2-time-v7,
.spv2-time-v7 * {
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
}

.spv2-time-v7 summary {
    cursor: pointer !important;
    list-style: none !important;
}

.spv2-time-v7 summary::-webkit-details-marker {
    display: none !important;
}

.spv2-time-summary-v7 {
    display: grid !important;
    grid-template-columns: minmax(250px, 0.85fr) minmax(0, 1.8fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 18px 22px !important;
    background: #fff !important;
}

.spv2-time-summary-title-v7 {
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-time-summary-copy-v7 {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

.spv2-time-summary-link-v7 {
    color: #ec008c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    white-space: nowrap !important;
}

.spv2-time-v7[open] .spv2-time-summary-link-v7 {
    visibility: hidden !important;
    position: relative !important;
}

.spv2-time-v7[open] .spv2-time-summary-link-v7:after {
    content: "Hide timeline" !important;
    visibility: visible !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
}

.spv2-time-body-v7 {
    display: block !important;
    padding: 0 22px 22px 22px !important;
}

.spv2-time-row-v7 {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 18px 20px !important;
    margin: 0 0 14px 0 !important;
    background: #fff !important;
}

.spv2-time-row-blue-v7 {
    background: #f3f9ff !important;
    border-color: #8cc8ff !important;
}

.spv2-time-row-pink-v7 {
    background: #fff6fb !important;
    border-color: #ff9bd1 !important;
}

.spv2-time-num-v7 {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.spv2-time-num-blue-v7 {
    background: #0070c9 !important;
}

.spv2-time-num-pink-v7 {
    background: #ec008c !important;
}

.spv2-time-content-v7 {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.spv2-time-head-v7 {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: baseline !important;
    margin: 0 0 10px 0 !important;
}

.spv2-time-head-v7 strong {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-time-row-pink-v7 .spv2-time-head-v7 strong {
    color: #111 !important;
}

.spv2-time-head-v7 em {
    display: block !important;
    flex: 0 0 auto !important;
    font-style: normal !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

.spv2-time-content-v7 p {
    display: block !important;
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-time-callout-v7 {
    display: block !important;
    background: #fff !important;
    border-left: 5px solid #0070c9 !important;
    border-radius: 7px !important;
    padding: 14px 16px !important;
}

.spv2-time-callout-v7 p:first-child {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.spv2-time-callout-v7 strong,
.spv2-time-callout-v7 a {
    color: #005fab !important;
    font-weight: 800 !important;
}

.spv2-time-express-v7 {
    display: block !important;
    width: 100% !important;
    margin-top: 12px !important;
    background: #fff !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

.spv2-time-express-v7 strong {
    color: #111 !important;
    font-weight: 800 !important;
}

.spv2-time-express-v7 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 900px) {
    .spv2-time-summary-v7 {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .spv2-time-summary-link-v7 {
        justify-self: start !important;
    }
}

@media (max-width: 700px) {
    .spv2-time-summary-v7 {
        padding: 16px !important;
    }

    .spv2-time-body-v7 {
        padding: 0 16px 16px 16px !important;
    }

    .spv2-time-row-v7 {
        padding: 16px !important;
    }

    .spv2-time-head-v7 {
        display: block !important;
    }

    .spv2-time-head-v7 em {
        margin-top: 4px !important;
        text-align: left !important;
    }
}

/* PRODUCT PRICING V2 OPTION B SIMPLE V8 */
.spv2-time2-v8 {
    margin-top: 18px !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.spv2-time2-v8,
.spv2-time2-v8 * {
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.spv2-time2-v8 summary {
    cursor: pointer !important;
    list-style: none !important;
}

.spv2-time2-v8 summary::-webkit-details-marker {
    display: none !important;
}

.spv2-time2-summary-v8 {
    display: grid !important;
    grid-template-columns: minmax(270px, 0.8fr) minmax(0, 1.7fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 22px 28px !important;
    background: #fff !important;
}

.spv2-time2-title-v8 {
    display: block !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-time2-copy-v8 {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    color: #333 !important;
}

.spv2-time2-copy-v8 span {
    display: block !important;
}

.spv2-time2-copy-v8 span + span {
    margin-top: 5px !important;
}

.spv2-time2-action-v8 {
    display: inline-block !important;
    color: #ec008c !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    white-space: nowrap !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8 {
    font-size: 0 !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8:after {
    content: "Hide timeline";
    font-size: 14px !important;
}

.spv2-time2-body-v8 {
    display: block !important;
    padding: 0 28px 24px 28px !important;
    border-top: 1px solid #eee !important;
}

.spv2-time2-row-v8 {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid #e7e7e7 !important;
    background: transparent !important;
}

.spv2-time2-row-v8:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.spv2-time2-num-v8 {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #0070c9 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.spv2-time2-num-pink-v8 {
    background: #ec008c !important;
}

.spv2-time2-row-copy-v8 {
    display: block !important;
    min-width: 0 !important;
}

.spv2-time2-row-head-v8 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    margin-bottom: 7px !important;
}

.spv2-time2-row-head-v8 strong {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0069bd !important;
}

.spv2-time2-row-head-v8 em {
    display: block !important;
    flex: 0 0 auto !important;
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #ec008c !important;
    text-align: right !important;
}

.spv2-time2-row-copy-v8 p {
    display: block !important;
    margin: 0 0 8px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #333 !important;
}

.spv2-time2-row-copy-v8 p:last-child {
    margin-bottom: 0 !important;
}

.spv2-checkfix-link-v8 {
    display: inline-block !important;
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    background: #fff1f8 !important;
    border: 1px solid #ffc4df !important;
    border-radius: 4px !important;
    padding: 0 4px !important;
}

.spv2-time2-express-v8 {
    display: block !important;
    margin-top: 8px !important;
    padding: 10px 12px !important;
    background: #fff1f8 !important;
    border-left: 5px solid #ec008c !important;
    border-radius: 6px !important;
}

.spv2-time2-express-v8 strong {
    color: #111 !important;
}

.spv2-time2-express-v8 a {
    color: #ec008c !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

@media (max-width: 900px) {
    .spv2-time2-summary-v8 {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        padding: 18px 20px !important;
    }

    .spv2-time2-action-v8 {
        justify-self: start !important;
    }
}

@media (max-width: 700px) {
    .spv2-time2-body-v8 {
        padding: 0 18px 18px 18px !important;
    }

    .spv2-time2-row-v8 {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .spv2-time2-row-head-v8 {
        display: block !important;
    }

    .spv2-time2-row-head-v8 em {
        margin-top: 4px !important;
        text-align: left !important;
    }
}

/* PRODUCT PRICING V2 FINAL OPTION B POLISH */

/* Make View timeline / Hide timeline a button, not underlined text */
.spv2-time2-action-v8 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ec008c !important;
    color: #fff !important;
    border: 1px solid #ec008c !important;
    border-radius: 999px !important;
    padding: 9px 15px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.spv2-time2-action-v8:after {
    content: " +" !important;
    font-weight: 800 !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8 {
    font-size: 0 !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8:after {
    content: "Hide timeline -" !important;
    font-size: 14px !important;
    color: #fff !important;
}

/* If old Check & Fix link remains, make it look like normal bold text */
.spv2-checkfix-link-v8 {
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

/* New Learn more pill */
.spv2-checkfix-more-v8 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 8px !important;
    background: #fff1f8 !important;
    color: #ec008c !important;
    border: 1px solid #ffc4df !important;
    border-radius: 999px !important;
    padding: 3px 9px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.spv2-checkfix-more-v8:hover,
.spv2-time2-action-v8:hover {
    text-decoration: none !important;
}

/* PRODUCT PRICING V2 FINAL OPTION B POLISH */

/* Make View timeline / Hide timeline a button, not underlined text */
.spv2-time2-action-v8 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ec008c !important;
    color: #fff !important;
    border: 1px solid #ec008c !important;
    border-radius: 999px !important;
    padding: 9px 15px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.spv2-time2-action-v8:after {
    content: " +" !important;
    font-weight: 800 !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8 {
    font-size: 0 !important;
}

.spv2-time2-v8[open] .spv2-time2-action-v8:after {
    content: "Hide timeline -" !important;
    font-size: 14px !important;
    color: #fff !important;
}

/* If old Check & Fix link remains, make it look like normal bold text */
.spv2-checkfix-link-v8 {
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

/* New Learn more pill */
.spv2-checkfix-more-v8 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 8px !important;
    background: #fff1f8 !important;
    color: #ec008c !important;
    border: 1px solid #ffc4df !important;
    border-radius: 999px !important;
    padding: 3px 9px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.spv2-checkfix-more-v8:hover,
.spv2-time2-action-v8:hover {
    text-decoration: none !important;
}

/* PRODUCT PRICING V2 CHECK FIX SIMPLE PINK LINK */
.spv2-checkfix-link-v8 {
    color: #ec008c !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-checkfix-link-v8:hover {
    color: #c60074 !important;
    text-decoration: underline !important;
}

/* In case old Learn more class remains anywhere */
.spv2-checkfix-more-v8 {
    display: none !important;
}

/* PRODUCT PRICING V2 SUMMARY RESPONSIVE POLISH */

/* Better balance for longer product names */
.spv2-time2-summary-v8 {
    grid-template-columns: minmax(260px, 0.65fr) minmax(420px, 1.65fr) auto !important;
    gap: 18px !important;
}

/* Allow long product names to wrap neatly without crushing summary copy */
.spv2-time2-title-v8 {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* Keep the summary text compact */
.spv2-time2-copy-v8 {
    max-width: 780px !important;
}

/* Fix View timeline+ spacing */
.spv2-time2-action-v8:after {
    content: " +" !important;
    margin-left: 3px !important;
    font-weight: 800 !important;
}

/* Keep button from being too wide */
.spv2-time2-action-v8 {
    min-width: 128px !important;
    padding: 9px 15px !important;
}

/* On medium widths, use two rows rather than squeezing text */
@media (max-width: 1150px) {
    .spv2-time2-summary-v8 {
        grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.4fr) auto !important;
    }

    .spv2-time2-copy-v8 {
        max-width: none !important;
    }
}

/* On smaller screens, stack cleanly */
@media (max-width: 900px) {
    .spv2-time2-summary-v8 {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .spv2-time2-action-v8 {
        justify-self: start !important;
    }
}

/* PRODUCT PRICING V2 SUMMARY USP EMPHASIS */
.spv2-time2-copy-v8 strong {
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-time2-copy-v8 .spv2-summary-usp-pink {
    color: #ec008c !important;
    font-weight: 800 !important;
}

/* PRODUCT PRICING V2 SUMMARY USP PINK FIX */
.spv2-summary-usp-pink {
    color: #ec008c !important;
    font-weight: 800 !important;
}

/* PRODUCT PRICING V2 RECEIVE SUMMARY TIDY */
.spv2-time2-summary-v8 {
    grid-template-columns: minmax(300px, 0.7fr) minmax(520px, 1.7fr) auto !important;
    padding: 22px 30px !important;
    gap: 22px !important;
}

.spv2-time2-title-v8 {
    font-size: 20px !important;
    line-height: 1.25 !important;
}

.spv2-time2-copy-v8 {
    max-width: 850px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.spv2-time2-copy-v8 span {
    display: block !important;
}

.spv2-time2-copy-v8 span + span {
    margin-top: 4px !important;
}

.spv2-summary-usp-pink {
    color: #ec008c !important;
    font-weight: 800 !important;
}

.spv2-time2-action-v8 {
    align-self: center !important;
}

@media (max-width: 1100px) {
    .spv2-time2-summary-v8 {
        grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.5fr) auto !important;
        gap: 16px !important;
    }
}

@media (max-width: 900px) {
    .spv2-time2-summary-v8 {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .spv2-time2-action-v8 {
        justify-self: start !important;
    }
}

/* SPV2 calendar stock section spacing */
.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    margin: 12px 0 14px;
    font-size: 15px;
    line-height: 1.5;
    max-width: 850px;
}

.spv2-pricing[data-product-id="81"] .spv2-thickness-label,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label {
    margin-bottom: 0;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin-top: 0;
    margin-bottom: 18px;
}

.spv2-pricing[data-product-id="81"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="82"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="83"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="84"] .spv2-advice-wrap {
    margin-top: 4px;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    padding: 18px 20px;
}

@media (max-width: 700px) {
    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        margin: 10px 0 12px;
        font-size: 14px;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-card,
    .spv2-pricing[data-product-id="82"] .spv2-selected-card,
    .spv2-pricing[data-product-id="83"] .spv2-selected-card,
    .spv2-pricing[data-product-id="84"] .spv2-selected-card {
        padding: 14px 15px;
    }
}

/* SPV2 calendar stock section polish */
.spv2-pricing[data-product-id="81"] .spv2-control-block,
.spv2-pricing[data-product-id="82"] .spv2-control-block,
.spv2-pricing[data-product-id="83"] .spv2-control-block,
.spv2-pricing[data-product-id="84"] .spv2-control-block {
    max-width: 980px;
}

.spv2-pricing[data-product-id="81"] .spv2-thickness-label,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label {
    margin-bottom: 14px;
}

.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #f8fbff;
    border: 1px solid #d8e9f8;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.45;
    max-width: 760px;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin: 0 0 18px;
}

.spv2-pricing[data-product-id="81"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="82"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="83"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="84"] .spv2-advice-wrap {
    max-width: 980px;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    padding: 16px 18px;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-desc,
.spv2-pricing[data-product-id="82"] .spv2-selected-desc,
.spv2-pricing[data-product-id="83"] .spv2-selected-desc,
.spv2-pricing[data-product-id="84"] .spv2-selected-desc {
    margin-top: 8px;
    line-height: 1.5;
    max-width: 900px;
}

@media (max-width: 700px) {
    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        padding: 11px 12px;
        font-size: 14px;
    }
}

/* SPV2 calendar stock section polish */
.spv2-pricing[data-product-id="81"] .spv2-control-block,
.spv2-pricing[data-product-id="82"] .spv2-control-block,
.spv2-pricing[data-product-id="83"] .spv2-control-block,
.spv2-pricing[data-product-id="84"] .spv2-control-block {
    max-width: 980px;
}

.spv2-pricing[data-product-id="81"] .spv2-thickness-label,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label {
    margin-bottom: 14px;
}

.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #f8fbff;
    border: 1px solid #d8e9f8;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.45;
    max-width: 760px;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin: 0 0 18px;
}

.spv2-pricing[data-product-id="81"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="82"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="83"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="84"] .spv2-advice-wrap {
    max-width: 980px;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    padding: 16px 18px;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-desc,
.spv2-pricing[data-product-id="82"] .spv2-selected-desc,
.spv2-pricing[data-product-id="83"] .spv2-selected-desc,
.spv2-pricing[data-product-id="84"] .spv2-selected-desc {
    margin-top: 8px;
    line-height: 1.5;
    max-width: 900px;
}

@media (max-width: 700px) {
    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        padding: 11px 12px;
        font-size: 14px;
    }
}


/* Fallback artwork guidance styling - not dependent on body.spv2-price-selected */
#detail .spv2-artwork-notes {
    margin: 14px 0 16px !important;
}

#detail .spv2-artwork-note-title {
    font-weight: 800 !important;
    color: #111 !important;
    margin: 0 0 8px !important;
    font-size: 14px !important;
}

#detail .spv2-microsoft-note {
    background: #eef4fb !important;
    border-left: 5px solid #4a90e2 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

#detail .spv2-canva-note {
    background: #eef8f5 !important;
    border-left: 5px solid #009688 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

#detail .spv2-warning-note {
    background: #fff4e5 !important;
    border-left: 5px solid #f39c12 !important;
    padding: 10px 12px !important;
    margin: 10px 0 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

#detail .spv2-warning-note::before {
    content: "Warning: " !important;
    font-weight: 800 !important;
    color: #b45f00 !important;
}

#detail .spv2-canva-note a,
#detail .spv2-warning-note a,
#detail .spv2-microsoft-note a {
    font-weight: 700 !important;
}

/* Calendar thickness selector spacing tidy */
.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    background: #f8fbff !important;
    border: 1px solid #d7e9ff !important;
    border-left: 4px solid #0071bc !important;
    border-radius: 7px !important;
    padding: 11px 14px !important;
    margin: 0 0 14px 0 !important;
    max-width: 760px !important;
    line-height: 1.45 !important;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin-bottom: 20px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="82"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="83"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="84"] .spv2-advice-wrap {
    margin-top: 2px !important;
}

/* Calendar thickness selector spacing tidy */
.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    display: block !important;
    background: #f8fbff !important;
    border: 1px solid #d7e9ff !important;
    border-left: 4px solid #0071bc !important;
    border-radius: 7px !important;
    padding: 12px 14px !important;
    margin: 0 0 18px 0 !important;
    max-width: 760px !important;
    line-height: 1.45 !important;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin-bottom: 24px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    padding: 18px 20px !important;
    margin-top: 4px !important;
}

/* Calendar thickness selector - final breathing room */
.spv2-pricing[data-product-id="81"] .spv2-control-block,
.spv2-pricing[data-product-id="82"] .spv2-control-block,
.spv2-pricing[data-product-id="83"] .spv2-control-block,
.spv2-pricing[data-product-id="84"] .spv2-control-block {
    margin-bottom: 26px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-thickness-label,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label {
    margin-bottom: 16px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    display: block !important;
    background: #f8fbff !important;
    border: 1px solid #d7e9ff !important;
    border-left: 4px solid #0071bc !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin: 0 0 18px 0 !important;
    max-width: 760px !important;
    line-height: 1.5 !important;
}

.spv2-pricing[data-product-id="81"] .spv2-option-group,
.spv2-pricing[data-product-id="82"] .spv2-option-group,
.spv2-pricing[data-product-id="83"] .spv2-option-group,
.spv2-pricing[data-product-id="84"] .spv2-option-group {
    margin: 0 0 26px 0 !important;
    gap: 10px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-pill,
.spv2-pricing[data-product-id="82"] .spv2-pill,
.spv2-pricing[data-product-id="83"] .spv2-pill,
.spv2-pricing[data-product-id="84"] .spv2-pill {
    padding: 12px 22px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    padding: 20px 22px !important;
    margin-top: 0 !important;
    line-height: 1.55 !important;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-desc,
.spv2-pricing[data-product-id="82"] .spv2-selected-desc,
.spv2-pricing[data-product-id="83"] .spv2-selected-desc,
.spv2-pricing[data-product-id="84"] .spv2-selected-desc {
    margin-top: 10px !important;
    line-height: 1.55 !important;
}

/* Calendar Step 1 - clearer stacked layout */
.spv2-pricing[data-product-id="81"] .spv2-order-grid,
.spv2-pricing[data-product-id="82"] .spv2-order-grid,
.spv2-pricing[data-product-id="83"] .spv2-order-grid,
.spv2-pricing[data-product-id="84"] .spv2-order-grid {
    display: block !important;
}

.spv2-pricing[data-product-id="81"] .spv2-picker-area,
.spv2-pricing[data-product-id="82"] .spv2-picker-area,
.spv2-pricing[data-product-id="83"] .spv2-picker-area,
.spv2-pricing[data-product-id="84"] .spv2-picker-area {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 20px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="82"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="83"] .spv2-advice-wrap,
.spv2-pricing[data-product-id="84"] .spv2-advice-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-top: 16px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-selected-card,
.spv2-pricing[data-product-id="82"] .spv2-selected-card,
.spv2-pricing[data-product-id="83"] .spv2-selected-card,
.spv2-pricing[data-product-id="84"] .spv2-selected-card {
    max-width: none !important;
    padding: 22px 24px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    margin-top: 14px !important;
    margin-bottom: 20px !important;
}

.spv2-pricing[data-product-id="81"] .spv2-pill-row,
.spv2-pricing[data-product-id="82"] .spv2-pill-row,
.spv2-pricing[data-product-id="83"] .spv2-pill-row,
.spv2-pricing[data-product-id="84"] .spv2-pill-row {
    margin-bottom: 26px !important;
}

/* Calendar mobile fix - prevent Step 1 heading overflow */
@media (max-width: 600px) {
    .spv2-pricing[data-product-id="81"] .spv2-order-card,
    .spv2-pricing[data-product-id="82"] .spv2-order-card,
    .spv2-pricing[data-product-id="83"] .spv2-order-card,
    .spv2-pricing[data-product-id="84"] .spv2-order-card {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        max-width: 100% !important;
        padding: 13px 14px !important;
        margin-bottom: 18px !important;
        box-sizing: border-box !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label {
        display: block !important;
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.35 !important;
        padding: 14px 16px !important;
        box-sizing: border-box !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
        display: inline-block !important;
        margin: 0 8px 6px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-pill-row,
    .spv2-pricing[data-product-id="82"] .spv2-pill-row,
    .spv2-pricing[data-product-id="83"] .spv2-pill-row,
    .spv2-pricing[data-product-id="84"] .spv2-pill-row {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-pill,
    .spv2-pricing[data-product-id="82"] .spv2-pill,
    .spv2-pricing[data-product-id="83"] .spv2-pill,
    .spv2-pricing[data-product-id="84"] .spv2-pill {
        flex: 1 1 135px !important;
        min-width: 0 !important;
        text-align: center !important;
        padding: 12px 10px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-card,
    .spv2-pricing[data-product-id="82"] .spv2-selected-card,
    .spv2-pricing[data-product-id="83"] .spv2-selected-card,
    .spv2-pricing[data-product-id="84"] .spv2-selected-card {
        padding: 16px 14px !important;
        box-sizing: border-box !important;
    }
}

/* Calendar mobile final - stack Step 1 heading and reduce congestion */
@media (max-width: 600px) {
    .spv2-pricing[data-product-id="81"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 7px !important;
        white-space: normal !important;
        overflow: hidden !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        padding: 13px 14px !important;
        margin-bottom: 12px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
        display: inline-block !important;
        margin: 0 !important;
        font-size: 13px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        font-size: 15px !important;
        line-height: 1.42 !important;
        padding: 12px 13px !important;
        margin-bottom: 14px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-pill,
    .spv2-pricing[data-product-id="82"] .spv2-pill,
    .spv2-pricing[data-product-id="83"] .spv2-pill,
    .spv2-pricing[data-product-id="84"] .spv2-pill {
        flex: 1 1 120px !important;
        font-size: 15px !important;
        padding: 11px 8px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="82"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="83"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="84"] .spv2-selected-heading {
        display: inline-block !important;
        margin-bottom: 5px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-name,
    .spv2-pricing[data-product-id="82"] .spv2-selected-name,
    .spv2-pricing[data-product-id="83"] .spv2-selected-name,
    .spv2-pricing[data-product-id="84"] .spv2-selected-name {
        display: block !important;
    }
}

/* Mobile: make V2 price table visible and usable */
@media (max-width: 900px) {
    .spv2-pricing .spv2-stock-price-panel.is-active {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
    }

    .spv2-pricing .spv2-price-panel {
        display: block !important;
        visibility: visible !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 14px 12px !important;
        margin-top: 18px !important;
    }

    .spv2-pricing .spv2-price-table {
        display: table !important;
        width: 100% !important;
        min-width: 420px !important;
        table-layout: auto !important;
    }

    .spv2-pricing .spv2-price-table th,
    .spv2-pricing .spv2-price-table td {
        display: table-cell !important;
        white-space: nowrap !important;
        padding: 8px 6px !important;
        font-size: 12px !important;
    }

    .spv2-pricing .spv2-price-btn {
        display: inline-block !important;
        min-width: 58px !important;
        padding: 7px 6px !important;
        font-size: 12px !important;
    }

    .spv2-pricing .spv2-multiset {
        display: block !important;
        margin-top: 14px !important;
        padding: 12px !important;
    }
}

/* SPV2 calendar mobile proper layout - final override */
@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"],
    .spv2-pricing[data-product-id="82"],
    .spv2-pricing[data-product-id="83"],
    .spv2-pricing[data-product-id="84"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-order-card,
    .spv2-pricing[data-product-id="82"] .spv2-order-card,
    .spv2-pricing[data-product-id="83"] .spv2-order-card,
    .spv2-pricing[data-product-id="84"] .spv2-order-card {
        padding: 16px 12px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-order-top h2,
    .spv2-pricing[data-product-id="82"] .spv2-order-top h2,
    .spv2-pricing[data-product-id="83"] .spv2-order-top h2,
    .spv2-pricing[data-product-id="84"] .spv2-order-top h2 {
        font-size: 21px !important;
        line-height: 1.2 !important;
        margin-bottom: 14px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-order-top p,
    .spv2-pricing[data-product-id="82"] .spv2-order-top p,
    .spv2-pricing[data-product-id="83"] .spv2-order-top p,
    .spv2-pricing[data-product-id="84"] .spv2-order-top p {
        font-size: 14px !important;
        line-height: 1.45 !important;
        padding: 12px 13px !important;
        margin-bottom: 18px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-order-grid,
    .spv2-pricing[data-product-id="82"] .spv2-order-grid,
    .spv2-pricing[data-product-id="83"] .spv2-order-grid,
    .spv2-pricing[data-product-id="84"] .spv2-order-grid {
        display: block !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        padding: 12px 13px !important;
        margin: 0 0 14px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label {
        display: block !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        padding: 13px 14px !important;
        margin: 0 0 12px 0 !important;
        line-height: 1.25 !important;
        font-size: 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
        display: inline-block !important;
        font-size: 13px !important;
        margin: 0 0 7px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label::after {
        content: "Choose inside page thickness" !important;
        display: block !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-pill-row,
    .spv2-pricing[data-product-id="82"] .spv2-pill-row,
    .spv2-pricing[data-product-id="83"] .spv2-pill-row,
    .spv2-pricing[data-product-id="84"] .spv2-pill-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-pill,
    .spv2-pricing[data-product-id="82"] .spv2-pill,
    .spv2-pricing[data-product-id="83"] .spv2-pill,
    .spv2-pricing[data-product-id="84"] .spv2-pill {
        width: 100% !important;
        min-width: 0 !important;
        text-align: center !important;
        font-size: 15px !important;
        padding: 11px 6px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-card,
    .spv2-pricing[data-product-id="82"] .spv2-selected-card,
    .spv2-pricing[data-product-id="83"] .spv2-selected-card,
    .spv2-pricing[data-product-id="84"] .spv2-selected-card {
        padding: 15px 13px !important;
        margin: 14px 0 18px 0 !important;
        min-height: 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-stock-advice-header,
    .spv2-pricing[data-product-id="82"] .spv2-stock-advice-header,
    .spv2-pricing[data-product-id="83"] .spv2-stock-advice-header,
    .spv2-pricing[data-product-id="84"] .spv2-stock-advice-header {
        display: block !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="82"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="83"] .spv2-selected-heading,
    .spv2-pricing[data-product-id="84"] .spv2-selected-heading {
        display: inline-block !important;
        margin: 0 0 6px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-name,
    .spv2-pricing[data-product-id="82"] .spv2-selected-name,
    .spv2-pricing[data-product-id="83"] .spv2-selected-name,
    .spv2-pricing[data-product-id="84"] .spv2-selected-name {
        display: block !important;
        font-size: 15px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-selected-desc,
    .spv2-pricing[data-product-id="82"] .spv2-selected-desc,
    .spv2-pricing[data-product-id="83"] .spv2-selected-desc,
    .spv2-pricing[data-product-id="84"] .spv2-selected-desc {
        font-size: 14px !important;
        line-height: 1.45 !important;
        margin-top: 7px !important;
    }

    /* Convert the calendar pricing table into mobile rows */
    .spv2-pricing[data-product-id="81"] .spv2-price-panel,
    .spv2-pricing[data-product-id="82"] .spv2-price-panel,
    .spv2-pricing[data-product-id="83"] .spv2-price-panel,
    .spv2-pricing[data-product-id="84"] .spv2-price-panel {
        padding: 14px 12px !important;
        margin-top: 14px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-step-head,
    .spv2-pricing[data-product-id="82"] .spv2-price-step-head,
    .spv2-pricing[data-product-id="83"] .spv2-price-step-head,
    .spv2-pricing[data-product-id="84"] .spv2-price-step-head {
        display: block !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-different-qty {
        margin-top: 10px !important;
        text-align: left !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table,
    .spv2-pricing[data-product-id="82"] .spv2-price-table,
    .spv2-pricing[data-product-id="83"] .spv2-price-table,
    .spv2-pricing[data-product-id="84"] .spv2-price-table,
    .spv2-pricing[data-product-id="81"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="82"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="83"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="84"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="81"] .spv2-price-table tbody,
    .spv2-pricing[data-product-id="82"] .spv2-price-table tbody,
    .spv2-pricing[data-product-id="83"] .spv2-price-table tbody,
    .spv2-pricing[data-product-id="84"] .spv2-price-table tbody,
    .spv2-pricing[data-product-id="81"] .spv2-price-table tr,
    .spv2-pricing[data-product-id="82"] .spv2-price-table tr,
    .spv2-pricing[data-product-id="83"] .spv2-price-table tr,
    .spv2-pricing[data-product-id="84"] .spv2-price-table tr,
    .spv2-pricing[data-product-id="81"] .spv2-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-price-table th,
    .spv2-pricing[data-product-id="81"] .spv2-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="82"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="83"] .spv2-price-table thead,
    .spv2-pricing[data-product-id="84"] .spv2-price-table thead {
        display: none !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table tbody th,
    .spv2-pricing[data-product-id="82"] .spv2-price-table tbody th,
    .spv2-pricing[data-product-id="83"] .spv2-price-table tbody th,
    .spv2-pricing[data-product-id="84"] .spv2-price-table tbody th {
        font-size: 14px !important;
        text-align: left !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border: 1px solid #f0b8d6 !important;
        border-radius: 7px !important;
        padding: 9px 10px !important;
        margin: 7px 0 !important;
        background: #fff !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td:nth-of-type(1)::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td:nth-of-type(1)::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td:nth-of-type(1)::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td:nth-of-type(1)::before {
        content: "Qty 1";
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td:nth-of-type(2)::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td:nth-of-type(2)::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td:nth-of-type(2)::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td:nth-of-type(2)::before {
        content: "Qty 5";
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td:nth-of-type(3)::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td:nth-of-type(3)::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td:nth-of-type(3)::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td:nth-of-type(3)::before {
        content: "Qty 10";
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td:nth-of-type(4)::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td:nth-of-type(4)::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td:nth-of-type(4)::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td:nth-of-type(4)::before {
        content: "Qty 25";
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td:nth-of-type(5)::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td:nth-of-type(5)::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td:nth-of-type(5)::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td:nth-of-type(5)::before {
        content: "Qty 50";
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-table td::before,
    .spv2-pricing[data-product-id="82"] .spv2-price-table td::before,
    .spv2-pricing[data-product-id="83"] .spv2-price-table td::before,
    .spv2-pricing[data-product-id="84"] .spv2-price-table td::before {
        font-weight: 800 !important;
        color: #111 !important;
        font-size: 13px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-price-btn,
    .spv2-pricing[data-product-id="82"] .spv2-price-btn,
    .spv2-pricing[data-product-id="83"] .spv2-price-btn,
    .spv2-pricing[data-product-id="84"] .spv2-price-btn {
        display: inline-block !important;
        min-width: 92px !important;
        text-align: center !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
    }
}

/* SPV2 mobile price rows - make price buttons readable */
@media (max-width: 900px) {
    .spv2-pricing .spv2-price-table td {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 46px !important;
        padding: 10px 11px !important;
        margin: 8px 0 !important;
        border: 1px solid #f0b8d6 !important;
        border-radius: 8px !important;
        background: #fff !important;
    }

    .spv2-pricing .spv2-price-table td::before {
        display: block !important;
        font-weight: 800 !important;
        font-size: 14px !important;
        color: #111 !important;
        line-height: 1.2 !important;
    }

    .spv2-pricing .spv2-price-table td .spv2-price-btn,
    .spv2-pricing .spv2-price-table td a.spv2-price-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 92px !important;
        height: 34px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        border: 2px solid #e6007e !important;
        border-radius: 4px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-pricing .spv2-price-table td .spv2-price-btn:hover,
    .spv2-pricing .spv2-price-table td a.spv2-price-btn:hover {
        background: #e6007e !important;
        color: #fff !important;
    }

    .spv2-pricing .spv2-price-table tbody th {
        display: block !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
    }

    .spv2-pricing .spv2-multiset {
        margin-top: 14px !important;
        padding: 13px !important;
        border-radius: 8px !important;
    }

    .spv2-pricing .spv2-quote-btn {
        display: block !important;
        width: 100% !important;
        margin-top: 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* SPV2 mobile price rows - make price buttons readable */
@media (max-width: 900px) {
    .spv2-pricing .spv2-price-table td {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 46px !important;
        padding: 10px 11px !important;
        margin: 8px 0 !important;
        border: 1px solid #f0b8d6 !important;
        border-radius: 8px !important;
        background: #fff !important;
    }

    .spv2-pricing .spv2-price-table td::before {
        display: block !important;
        font-weight: 800 !important;
        font-size: 14px !important;
        color: #111 !important;
        line-height: 1.2 !important;
    }

    .spv2-pricing .spv2-price-table td .spv2-price-btn,
    .spv2-pricing .spv2-price-table td a.spv2-price-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 92px !important;
        height: 34px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        border: 2px solid #e6007e !important;
        border-radius: 4px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-pricing .spv2-price-table td .spv2-price-btn:hover,
    .spv2-pricing .spv2-price-table td a.spv2-price-btn:hover {
        background: #e6007e !important;
        color: #fff !important;
    }

    .spv2-pricing .spv2-price-table tbody th {
        display: block !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
    }

    .spv2-pricing .spv2-multiset {
        margin-top: 14px !important;
        padding: 13px !important;
        border-radius: 8px !important;
    }

    .spv2-pricing .spv2-quote-btn {
        display: block !important;
        width: 100% !important;
        margin-top: 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* SPV2 mobile price cards - real mobile layout */
.spv2-mobile-price-list {
    display: none;
}

@media (max-width: 900px) {
    .spv2-pricing .spv2-thickness-label {
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.25 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label {
        font-size: 0 !important;
        padding: 13px 14px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
        display: inline-block !important;
        font-size: 13px !important;
        margin: 0 0 7px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label::after,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label::after {
        content: "Choose inside page thickness" !important;
        display: block !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    .spv2-pricing .spv2-price-table {
        display: none !important;
    }

    .spv2-pricing .spv2-mobile-price-list {
        display: block !important;
        margin-top: 12px !important;
    }

    .spv2-pricing .spv2-mobile-price-side-title {
        font-size: 14px !important;
        font-weight: 800 !important;
        margin: 0 0 10px 0 !important;
        color: #111 !important;
    }

    .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        grid-template-columns: 58px 1fr auto !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        border: 1px solid #f0b8d6 !important;
        border-radius: 8px !important;
        background: #fff !important;
        padding: 9px 10px !important;
        margin: 8px 0 !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        text-align: left !important;
    }

    .spv2-pricing .spv2-mobile-price-qty {
        font-size: 13px !important;
        font-weight: 800 !important;
        color: #111 !important;
        white-space: nowrap !important;
    }

    .spv2-pricing .spv2-mobile-price-choose {
        justify-self: start !important;
        font-size: 12px !important;
        color: #777 !important;
    }

    .spv2-pricing .spv2-mobile-price-value {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 78px !important;
        height: 32px !important;
        border: 2px solid #e6007e !important;
        border-radius: 4px !important;
        color: #e6007e !important;
        background: #fff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    .spv2-pricing .spv2-mobile-price-row:hover .spv2-mobile-price-value {
        background: #e6007e !important;
        color: #fff !important;
    }

    .spv2-pricing .spv2-price-panel {
        padding: 14px 12px !important;
        margin-top: 16px !important;
    }

    .spv2-pricing .spv2-price-step-head {
        display: block !important;
    }

    .spv2-pricing .spv2-different-qty {
        margin-top: 10px !important;
        text-align: left !important;
    }

    .spv2-pricing .spv2-multiset {
        margin-top: 14px !important;
        padding: 13px !important;
        border-radius: 8px !important;
    }

    .spv2-pricing .spv2-quote-btn {
        display: block !important;
        width: 100% !important;
        margin-top: 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}
/* SPV2 live-style mobile pricing table */
.spv2-mobile-price-table-wrap,
.spv2-mobile-different-qty {
    display: none;
}

@media (max-width: 900px) {
    /* hide the previous broken generated cards */
    .spv2-mobile-price-list {
        display: none !important;
    }

    /* hide the top Get a Quote block on mobile; we show it under the table instead */
    .spv2-price-step-head .spv2-different-qty {
        display: none !important;
    }

    .spv2-mobile-different-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin: 12px 0 0 0 !important;
        padding: 10px 0 0 0 !important;
        border-top: 1px solid #f3d2e4 !important;
        font-size: 13px !important;
    }

    .spv2-mobile-different-qty .spv2-quote-link {
        display: inline-block !important;
        background: #e6007e !important;
        color: #fff !important;
        border-radius: 4px !important;
        padding: 7px 10px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    /* use live-style vertical mobile table, not desktop wide table */
    .spv2-price-table {
        display: none !important;
    }

    .spv2-mobile-price-table-wrap {
        display: block !important;
        margin-top: 12px !important;
    }

    .spv2-mobile-price-table {
        display: table !important;
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: fixed !important;
        margin: 0 0 12px 0 !important;
        background: #fff !important;
        border: 1px solid #f2c1dc !important;
    }

    .spv2-mobile-price-table thead {
        display: table-header-group !important;
    }

    .spv2-mobile-price-table tbody {
        display: table-row-group !important;
    }

    .spv2-mobile-price-table tr {
        display: table-row !important;
    }

    .spv2-mobile-price-table th,
    .spv2-mobile-price-table td {
        display: table-cell !important;
        width: 50% !important;
        box-sizing: border-box !important;
        padding: 8px 8px !important;
        border-bottom: 1px solid #f5d4e6 !important;
        text-align: left !important;
        vertical-align: middle !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        background: #fff !important;
    }

    .spv2-mobile-price-table thead th {
        font-weight: 800 !important;
        color: #111 !important;
        background: #fff7fb !important;
    }

    .spv2-mobile-price-table tbody th {
        font-weight: 700 !important;
        color: #111 !important;
    }

    .spv2-mobile-price-table td {
        text-align: right !important;
    }

    .spv2-mobile-price-table .spv2-price-btn,
    .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 86px !important;
        padding: 7px 8px !important;
        box-sizing: border-box !important;
        border: 2px solid #e6007e !important;
        border-radius: 3px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-mobile-price-table .spv2-price-btn:hover,
    .spv2-mobile-price-table a.spv2-price-btn:hover,
    .spv2-mobile-price-table a.itemSelect:hover {
        background: #e6007e !important;
        color: #fff !important;
    }

    .spv2-price-panel {
        padding: 14px 12px !important;
        margin-top: 14px !important;
    }

    .spv2-price-step-head {
        display: block !important;
    }

    .spv2-price-step-title {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .spv2-price-step-title strong {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    .spv2-price-step-title em {
        display: block !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        margin-top: 3px !important;
    }
}
/* SPV2 mobile price table tidy - hide old cards and tighten columns */
@media (max-width: 900px) {
    .spv2-mobile-price-list {
        display: none !important;
    }

    .spv2-mobile-price-table {
        width: auto !important;
        min-width: 190px !important;
        max-width: 245px !important;
        table-layout: auto !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    .spv2-mobile-price-table th,
    .spv2-mobile-price-table td {
        width: auto !important;
        padding: 8px 7px !important;
    }

    .spv2-mobile-price-table thead th:first-child,
    .spv2-mobile-price-table tbody th {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-mobile-price-table thead th:nth-child(2),
    .spv2-mobile-price-table tbody td {
        width: auto !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-mobile-price-table a.itemSelect {
        min-width: 78px !important;
        padding: 7px 8px !important;
        text-align: center !important;
    }

    .spv2-mobile-different-qty {
        max-width: 245px !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}
/* SPV2 final mobile price table cleanup */
@media (max-width: 900px) {
    /* Hide the original desktop pricing table on mobile */
    .spv2-pricing[data-product-id="81"] table.spv2-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-price-table {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    /* Hide the older broken generated mobile cards */
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-list {
        display: none !important;
    }

    /* Keep only the newer live-style mobile table */
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table-wrap {
        display: block !important;
        width: 190px !important;
        max-width: 100% !important;
        margin: 12px 0 12px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-mobile-price-table {
        display: table !important;
        width: 190px !important;
        min-width: 0 !important;
        max-width: 190px !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        background: #fff !important;
        border: 1px solid #f2c1dc !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table thead {
        display: table-header-group !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table tbody {
        display: table-row-group !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table tr {
        display: table-row !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        display: table-cell !important;
        box-sizing: border-box !important;
        padding: 8px 7px !important;
        border-bottom: 1px solid #f5d4e6 !important;
        background: #fff !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        vertical-align: middle !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th {
        width: 72px !important;
        text-align: left !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        width: 118px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 82px !important;
        padding: 7px 8px !important;
        border: 2px solid #e6007e !important;
        border-radius: 3px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty {
        max-width: 190px !important;
        margin: 10px 0 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #f3d2e4 !important;
    }
}

/* SPV2 final mobile price table cleanup */
@media (max-width: 900px) {
    /* Hide the original desktop pricing table on mobile */
    .spv2-pricing[data-product-id="81"] table.spv2-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-price-table {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    /* Hide the older broken generated mobile cards */
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-list,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-list {
        display: none !important;
    }

    /* Keep only the newer live-style mobile table */
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table-wrap {
        display: block !important;
        width: 190px !important;
        max-width: 100% !important;
        margin: 12px 0 12px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-mobile-price-table {
        display: table !important;
        width: 190px !important;
        min-width: 0 !important;
        max-width: 190px !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        background: #fff !important;
        border: 1px solid #f2c1dc !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table thead,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table thead {
        display: table-header-group !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table tbody,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table tbody {
        display: table-row-group !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table tr,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table tr {
        display: table-row !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        display: table-cell !important;
        box-sizing: border-box !important;
        padding: 8px 7px !important;
        border-bottom: 1px solid #f5d4e6 !important;
        background: #fff !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        vertical-align: middle !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th {
        width: 72px !important;
        text-align: left !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        width: 118px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 82px !important;
        padding: 7px 8px !important;
        border: 2px solid #e6007e !important;
        border-radius: 3px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty {
        max-width: 190px !important;
        margin: 10px 0 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #f3d2e4 !important;
    }
}

/* SPV2 clean mobile price table */
.spv2-clean-mobile-price-wrap,
.spv2-clean-mobile-different-qty {
    display: none;
}

@media (max-width: 900px) {
    .spv2-mobile-price-list,
    .spv2-mobile-price-table-wrap,
    .spv2-mobile-different-qty {
        display: none !important;
    }

    .spv2-clean-mobile-price-wrap {
        display: block;
        margin: 12px 0 10px 0;
    }

    .spv2-clean-mobile-price-table {
        width: 220px !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        background: #fff !important;
        border: 1px solid #f2c1dc !important;
        margin: 0 0 12px 0 !important;
    }

    .spv2-clean-mobile-price-table th,
    .spv2-clean-mobile-price-table td {
        padding: 8px 8px !important;
        border-bottom: 1px solid #f5d4e6 !important;
        background: #fff !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        vertical-align: middle !important;
    }

    .spv2-clean-mobile-price-table thead th {
        background: #fff7fb !important;
        color: #111 !important;
        font-weight: 800 !important;
    }

    .spv2-clean-mobile-price-table th:first-child {
        width: 72px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-clean-mobile-price-table td {
        width: 148px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-clean-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 86px !important;
        padding: 7px 8px !important;
        box-sizing: border-box !important;
        border: 2px solid #e6007e !important;
        border-radius: 3px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-clean-mobile-different-qty {
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 220px !important;
        max-width: 100% !important;
        margin: 8px 0 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #f3d2e4 !important;
        font-size: 13px !important;
    }

    .spv2-clean-mobile-different-qty .spv2-quote-link {
        display: inline-block !important;
        background: #e6007e !important;
        color: #fff !important;
        border-radius: 4px !important;
        padding: 7px 10px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }
}
/* SPV2 mobile price table alignment tidy */
@media (max-width: 900px) {
    .spv2-clean-mobile-price-table {
        width: 232px !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    .spv2-clean-mobile-price-table thead th,
    .spv2-clean-mobile-price-table tbody th,
    .spv2-clean-mobile-price-table tbody td {
        padding: 8px 10px !important;
        vertical-align: middle !important;
    }

    .spv2-clean-mobile-price-table thead th {
        text-align: left !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
    }

    .spv2-clean-mobile-price-table thead th:first-child,
    .spv2-clean-mobile-price-table tbody th {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        text-align: left !important;
        white-space: nowrap !important;
        padding-right: 6px !important;
    }

    .spv2-clean-mobile-price-table thead th:nth-child(2),
    .spv2-clean-mobile-price-table tbody td {
        width: 174px !important;
        text-align: left !important;
        white-space: nowrap !important;
        padding-left: 6px !important;
    }

    .spv2-clean-mobile-price-table tbody td {
        display: table-cell !important;
    }

    .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-clean-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 84px !important;
        padding: 7px 8px !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .spv2-clean-mobile-different-qty {
        width: 232px !important;
        max-width: 100% !important;
    }
}

/* SPV2 Step 2 final alignment + per-set note card */
.spv2-price-step-title em {
    display: inline-block;
    margin-top: 8px;
    padding: 7px 11px;
    background: #fff4fa;
    border: 1px solid #f4c6df;
    border-left: 4px solid #e6007e;
    border-radius: 7px;
    color: #7c0046;
    font-style: normal;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .spv2-clean-mobile-price-table {
        width: 238px !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 0 12px 0 !important;
    }

    .spv2-clean-mobile-price-table thead th,
    .spv2-clean-mobile-price-table tbody th,
    .spv2-clean-mobile-price-table tbody td {
        vertical-align: middle !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    .spv2-clean-mobile-price-table thead th {
        background: #fff7fb !important;
        font-weight: 800 !important;
        color: #111 !important;
        text-align: left !important;
    }

    .spv2-clean-mobile-price-table thead th:first-child,
    .spv2-clean-mobile-price-table tbody th {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        padding-left: 10px !important;
        padding-right: 6px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-clean-mobile-price-table thead th:nth-child(2),
    .spv2-clean-mobile-price-table tbody td {
        width: 180px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-clean-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 86px !important;
        margin: 0 !important;
        padding: 7px 8px !important;
        text-align: center !important;
        vertical-align: middle !important;
    }

    .spv2-clean-mobile-different-qty {
        width: 238px !important;
        max-width: 100% !important;
    }

    .spv2-price-step-title em {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-top: 8px !important;
    }
}

/* SPV2 per-set note keep on one line */
.spv2-price-step-title em {
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .spv2-price-step-title em {
        font-size: 12px !important;
        padding: 6px 9px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* SPV2 Other quantity row - button on right */
.spv2-different-qty,
.spv2-clean-mobile-different-qty,
.spv2-mobile-different-qty {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.spv2-different-qty span,
.spv2-clean-mobile-different-qty span,
.spv2-mobile-different-qty span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.spv2-different-qty .spv2-quote-link,
.spv2-clean-mobile-different-qty .spv2-quote-link,
.spv2-mobile-different-qty .spv2-quote-link {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .spv2-clean-mobile-different-qty,
    .spv2-mobile-different-qty {
        width: 238px !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .spv2-clean-mobile-different-qty span,
    .spv2-mobile-different-qty span {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-mobile-different-qty .spv2-quote-link {
        padding: 7px 9px !important;
        font-size: 12px !important;
    }
}

/* SPV2 final mobile pricing presentation */
@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-wrap,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-wrap,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-wrap,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-wrap,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table-wrap,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table-wrap {
        width: 100% !important;
        max-width: 340px !important;
        margin: 12px 0 12px 0 !important;
    }

    .spv2-pricing[data-product-id="81"] table.spv2-clean-mobile-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-clean-mobile-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-clean-mobile-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-clean-mobile-price-table,
    .spv2-pricing[data-product-id="81"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="82"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="83"] table.spv2-mobile-price-table,
    .spv2-pricing[data-product-id="84"] table.spv2-mobile-price-table {
        width: 100% !important;
        max-width: 340px !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        background: #fff !important;
        border: 1px solid #f2c1dc !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table th,
    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        display: table-cell !important;
        box-sizing: border-box !important;
        padding: 9px 10px !important;
        border-bottom: 1px solid #f5d4e6 !important;
        vertical-align: middle !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        background: #fff !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table thead th,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table thead th,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table thead th,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table thead th,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table thead th,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table thead th,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table thead th,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table thead th {
        background: #fff7fb !important;
        color: #111 !important;
        font-weight: 800 !important;
        text-align: center !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table th:first-child,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table th:first-child {
        width: 42% !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table td,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table td,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table td {
        width: 58% !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.spv2-price-btn,
    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-price-table a.itemSelect,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-price-table a.itemSelect {
        display: inline-block !important;
        min-width: 92px !important;
        padding: 7px 10px !important;
        border: 2px solid #e6007e !important;
        border-radius: 3px !important;
        background: #fff !important;
        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 340px !important;
        margin: 10px 0 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #f3d2e4 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty span {
        min-width: 0 !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty .spv2-quote-link {
        justify-self: end !important;
        white-space: nowrap !important;
        padding: 7px 10px !important;
        font-size: 12px !important;
    }
}
/* SPV2 mobile other quantity closer */
@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 10px !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 10px 0 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #f3d2e4 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty span,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty span,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty span {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty .spv2-quote-link {
        flex: 0 0 auto !important;
        justify-self: auto !important;
        margin-left: 0 !important;
        white-space: nowrap !important;
    }
}

/* SPV2 force small Other quantity quote button */
@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-clean-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="81"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="82"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="83"] .spv2-mobile-different-qty .spv2-quote-link,
    .spv2-pricing[data-product-id="84"] .spv2-mobile-different-qty .spv2-quote-link {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        padding: 5px 8px !important;
        margin: 0 !important;
        border-radius: 4px !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }
}

/* SPV2 keep Options & prices heading on one line */
@media (max-width: 900px) {
    .spv2-pricing h2,
    .spv2-pricing h3,
    .spv2-price-main-title,
    .spv2-price-section-title,
    .spv2-options-title {
        white-space: nowrap !important;
    }
}
/* SPV2 keep Options & prices heading on one line */
@media (max-width: 900px) {
    .spv2-pricing h2,
    .spv2-pricing h3,
    .spv2-price-main-title,
    .spv2-price-section-title,
    .spv2-options-title {
        white-space: nowrap !important;
    }
}

/* SPV2 mobile options and cover flow */
.spv2-hide-options-heading,
.spv2-hide-old-cover-note {
    display: none !important;
}

@media (max-width: 900px) {
    .spv2-hide-options-heading,
    .spv2-hide-old-cover-note {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .spv2-calendar-cover-line {
        display: block !important;
        box-sizing: border-box !important;
        margin: 5px 0 8px 0 !important;
        padding: 5px 8px !important;
        background: #fff8e6 !important;
        border-left: 3px solid #f5a000 !important;
        border-radius: 4px !important;
        color: #372900 !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
    }

    .spv2-mobile-compact-info-note {
        margin: 7px 0 8px 0 !important;
        padding: 6px 8px !important;
        border-left-width: 3px !important;
        border-radius: 5px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .spv2-mobile-compact-info-note * {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }
}
/* END SPV2 mobile options and cover flow */

/* SPV2 final clean calendar Step 1 */
.spv2-calendar-stock-note {
    display: block !important;
    box-sizing: border-box !important;
    margin: 8px 0 14px 0 !important;
    padding: 11px 13px !important;
    max-width: 760px !important;
    border: 1px solid #d7e9ff !important;
    border-left: 4px solid #0071bc !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

.spv2-thickness-label,
.spv2-step-label {
    text-align: left !important;
}

.spv2-thickness-label span,
.spv2-step-label span {
    margin-right: 8px !important;
}

@media (max-width: 900px) {
    .spv2-calendar-stock-note {
        margin: 8px 0 12px 0 !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .spv2-thickness-label,
    .spv2-step-label {
        text-align: left !important;
    }
}
/* END SPV2 final clean calendar Step 1 */
/* SPV2 calendar Step 1 mobile tidy */
.spv2-pricing[data-product-id="81"] .spv2-thickness-label,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
}

.spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
.spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
.spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
.spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    background: #fff !important;
    border: 1px solid #d7e9ff !important;
    border-left: 4px solid #0071bc !important;
    color: #222 !important;
    font-weight: 500 !important;
}

@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        text-align: left !important;
        padding: 11px 12px !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="82"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="83"] .spv2-thickness-label span,
    .spv2-pricing[data-product-id="84"] .spv2-thickness-label span {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        background: #fff !important;
        padding: 9px 11px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;
    }
}

/* SPV2 calendar cover note as plain helper text */
.spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
.spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
    display: block !important;
    box-sizing: border-box !important;
    margin: 4px 0 12px 0 !important;
    padding: 0 !important;
    max-width: 760px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        margin: 4px 0 12px 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        color: #333 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 400 !important;
    }
}

/* SPV2 calendar helper note - tighter mobile wrapping */
@media (max-width: 900px) {
    .spv2-pricing[data-product-id="81"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="82"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="83"] .spv2-calendar-stock-note,
    .spv2-pricing[data-product-id="84"] .spv2-calendar-stock-note {
        font-size: 12px !important;
        line-height: 1.28 !important;
        letter-spacing: -0.1px !important;
        max-width: none !important;
        width: 100% !important;
    }
}

/* SPV2 price click transition and proceed cards */
#spv2-price-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(2px);
}

#spv2-price-loading-overlay.is-visible {
    display: flex;
}

.spv2-price-loading-card {
    width: 280px;
    max-width: calc(100vw - 40px);
    box-sizing: border-box;
    padding: 22px 20px;
    background: #fff;
    border: 1px solid #ead2df;
    border-radius: 12px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.14);
    text-align: center;
}

.spv2-price-loading-spinner {
    width: 34px;
    height: 34px;
    margin: 0 auto 12px auto;
    border: 4px solid #f5c5dc;
    border-top-color: #e6007e;
    border-radius: 50%;
    animation: spv2PriceSpin 0.8s linear infinite;
}

.spv2-price-loading-title {
    font-size: 16px;
    line-height: 1.25;
    font-weight: 800;
    color: #111;
}

.spv2-price-loading-text {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.3;
    color: #555;
}

@keyframes spv2PriceSpin {
    to {
        transform: rotate(360deg);
    }
}

/*
 * Make the post-price proceed boxes feel balanced.
 * Targets common layouts without depending on one exact class name.
 */
.spv2-pricing .spv2-proceed-options,
.spv2-pricing .spv2-artwork-options,
.spv2-pricing .spv2-upload-options,
.spv2-pricing .spv2-design-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.spv2-pricing .spv2-proceed-options > *,
.spv2-pricing .spv2-artwork-options > *,
.spv2-pricing .spv2-upload-options > *,
.spv2-pricing .spv2-design-options > * {
    height: 100% !important;
}

/*
 * Generic equal-card fallback for the visible “Submit my Design / Design for me” choice boxes.
 */
.spv2-pricing a[href*="upload"],
.spv2-pricing a[href*="design"],
.spv2-pricing button,
.spv2-pricing .spv2-submit-design,
.spv2-pricing .spv2-design-for-me {
    box-sizing: border-box;
}

.spv2-pricing .spv2-proceed-card,
.spv2-pricing .spv2-artwork-card,
.spv2-pricing .spv2-upload-card,
.spv2-pricing .spv2-design-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.spv2-pricing .spv2-proceed-card a,
.spv2-pricing .spv2-artwork-card a,
.spv2-pricing .spv2-upload-card a,
.spv2-pricing .spv2-design-card a {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/*
 * If the cards do not have the expected classes, align the two direct child boxes in the proceed panel.
 */
.spv2-pricing h2 + div,
.spv2-pricing h3 + div {
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .spv2-price-loading-card {
        width: 260px;
        padding: 20px 18px;
    }

    .spv2-pricing .spv2-proceed-options,
    .spv2-pricing .spv2-artwork-options,
    .spv2-pricing .spv2-upload-options,
    .spv2-pricing .spv2-design-options {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .spv2-pricing .spv2-proceed-card,
    .spv2-pricing .spv2-artwork-card,
    .spv2-pricing .spv2-upload-card,
    .spv2-pricing .spv2-design-card {
        min-height: 118px !important;
    }
}
/* END SPV2 price click transition and proceed cards */
/* SPV2 anchor offset fix */
#spv2-product-chosen-heading {
    scroll-margin-top: 115px !important;
}

@media (max-width: 900px) {
    #spv2-product-chosen-heading {
        scroll-margin-top: 95px !important;
    }
}
/* END SPV2 anchor offset fix */
/* SPV2 final equal proceed option cards */
#select_options {
    box-sizing: border-box !important;
}

#select_options .row,
#select_options .flex,
#select_options .form-row {
    align-items: stretch !important;
}

#select_options .choice,
#select_options .choice-box,
#select_options .option,
#select_options .option-box,
#select_options .card,
#select_options .spv2-proceed-choice-card,
#select_options .spv2-exact-proceed-card,
#select_options .spv2-proceed-choice-card-direct {
    box-sizing: border-box !important;
}

/* Directly equalise the two visible Submit/Design boxes */
#select_options a,
#select_options button {
    box-sizing: border-box !important;
}

#select_options a:has(.fa-cloud),
#select_options button:has(.fa-cloud) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 0 12px 0 !important;
}

/* Parent boxes of the two proceed buttons */
#select_options a:has(.fa-cloud) {
    border-radius: 6px !important;
}

#select_options a:has(.fa-cloud) + *,
#select_options button:has(.fa-cloud) + * {
    margin-top: 0 !important;
}

/* Fallback: make immediate proceed choice columns equal */
#select_options > div,
#select_options .col,
#select_options [class*="col-"] {
    box-sizing: border-box !important;
}

#select_options [class*="col-"] > div {
    height: 100% !important;
    box-sizing: border-box !important;
}

/* The visible white bordered boxes */
#select_options [class*="col-"] > div:has(a:has(.fa-cloud)),
#select_options [class*="col-"] > div:has(button:has(.fa-cloud)) {
    min-height: 128px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 18px 16px !important;
    background: #fff !important;
}

/* Make the two choice columns stretch together */
#select_options .row:has(a:has(.fa-cloud)),
#select_options .row:has(button:has(.fa-cloud)) {
    display: flex !important;
    align-items: stretch !important;
}

#select_options .row:has(a:has(.fa-cloud)) > [class*="col-"],
#select_options .row:has(button:has(.fa-cloud)) > [class*="col-"] {
    display: flex !important;
}

#select_options .row:has(a:has(.fa-cloud)) > [class*="col-"] > div,
#select_options .row:has(button:has(.fa-cloud)) > [class*="col-"] > div {
    flex: 1 1 auto !important;
}

@media (max-width: 900px) {
    #select_options .row:has(a:has(.fa-cloud)),
    #select_options .row:has(button:has(.fa-cloud)) {
        display: block !important;
    }

    #select_options [class*="col-"] > div:has(a:has(.fa-cloud)),
    #select_options [class*="col-"] > div:has(button:has(.fa-cloud)) {
        min-height: 112px !important;
        padding: 14px 12px !important;
    }
}

/* SPV2 exact select_options equal columns */
#select_options {
    box-sizing: border-box !important;
}

#select_options .content-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#select_options .content-column {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 128px !important;
    height: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 18px 16px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
}

#select_options .content-column .option.button,
#select_options .content-column a.option.button {
    width: 100% !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    margin: 0 0 12px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#select_options .content-column .text-center {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

@media (max-width: 900px) {
    #select_options .content-row {
        display: block !important;
    }

    #select_options .content-column {
        min-height: 112px !important;
        padding: 14px 12px !important;
        margin-bottom: 12px !important;
    }

    #select_options .content-column:last-child {
        margin-bottom: 0 !important;
    }
}
/* END SPV2 exact select_options equal columns */

/* SPV2 desktop selected width alignment only */
@media screen and (min-width: 1180px) {
    body.spv2-price-selected #options > .container > .row > .col-md-12 > .summary-box.roundedGreyBorder,
    body.spv2-price-selected #options > .container > .row > .col-md-12 > #select_options.product-box {
        max-width: none !important;
    }
}
/* END SPV2 desktop selected width alignment only */



/* SPV2 selected box arrow */
body.spv2-price-selected #options > .container > .row > .col-md-12 > #select_options.product-box {
    position: relative !important;
    margin-top: 42px !important;
}

body.spv2-price-selected #options > .container > .row > .col-md-12 > #select_options.product-box::before {
    content: "↓";
    position: absolute;
    top: -43px;
    left: 50%;
    transform: translateX(-50%);
    color: #555;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    z-index: 2;
    pointer-events: none;
}

@media screen and (max-width: 900px) {
    body.spv2-price-selected #options > .container > .row > .col-md-12 > #select_options.product-box {
        margin-top: 38px !important;
    }

    body.spv2-price-selected #options > .container > .row > .col-md-12 > #select_options.product-box::before {
        top: -39px;
        font-size: 34px;
    }
}
/* END SPV2 selected box arrow */

/* SPV2 mobile fallback selected arrow */
@media screen and (max-width: 900px) {
    body.spv2-price-selected #select_options {
        position: relative !important;
        margin-top: 38px !important;
    }

    body.spv2-price-selected #select_options::before {
        content: "↓";
        position: absolute;
        top: -39px;
        left: 50%;
        transform: translateX(-50%);
        color: #555;
        font-size: 34px;
        font-weight: 800;
        line-height: 1;
        z-index: 2;
        pointer-events: none;
    }
}
/* END SPV2 mobile fallback selected arrow */

/* SPV2 design for me guidance
   Source: product-v2-test.php Design for me panel.
   Canva is visible because editable links are useful; Office / AI / Figma
   warnings are collapsed so customers are informed without being overwhelmed.
*/
.spv2-design-intro {
    margin: 8px 0 12px 0;
    line-height: 1.45;
}

.spv2-design-guidance {
    margin: 10px 0 16px 0;
}

.spv2-canva-guidance {
    border: 1px solid #d7eadf;
    background: #f4fbf7;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 0 0 10px 0;
}

.spv2-guidance-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 6px 0;
}

.spv2-canva-guidance p {
    margin: 6px 0 0 0;
    line-height: 1.45;
}

.spv2-file-guidance-details {
    border: 1px solid #e3e3e3;
    background: #fafafa;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 0 0 14px 0;
}

.spv2-file-guidance-details summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35;
}

.spv2-file-guidance-details p {
    margin: 10px 0 0 0;
    line-height: 1.45;
}

.spv2-file-guidance-details strong {
    display: block;
    margin-bottom: 2px;
}

.spv2-upload-heading {
    font-weight: 700;
    margin: 14px 0 8px 0;
    line-height: 1.3;
}

.spv2-upload-control {
    margin: 0 0 16px 0;
}

@media screen and (max-width: 900px) {
    .spv2-canva-guidance,
    .spv2-file-guidance-details {
        padding: 11px 12px;
    }

    .spv2-guidance-title,
    .spv2-file-guidance-details summary {
        font-size: 15px;
    }
}
/* END SPV2 design for me guidance */



/* SPV2 Canva Step 2 emphasis
   Makes the Canva instruction visibly point customers to Step 2. */
body.spv2-price-selected #detail .spv2-canva-guidance,
.spv2-canva-guidance {
    border: 2px solid #82c6a3 !important;
    border-left: 6px solid #009688 !important;
    background: #eefaf4 !important;
    border-radius: 7px !important;
    padding: 14px 16px !important;
    margin: 0 0 14px 0 !important;
}

body.spv2-price-selected #detail .spv2-guidance-title,
.spv2-guidance-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
    color: #111 !important;
}

body.spv2-price-selected #detail .spv2-canva-guidance p,
.spv2-canva-guidance p {
    margin: 0 0 10px 0 !important;
    line-height: 1.45 !important;
    color: #111 !important;
}

body.spv2-price-selected #detail .spv2-canva-guidance a,
.spv2-canva-guidance a {
    font-weight: 800 !important;
    color: #e6007e !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-canva-step2-callout {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 2px 0 0 0 !important;
    padding: 9px 12px !important;
    background: #ffffff !important;
    border: 1px solid #009688 !important;
    border-radius: 6px !important;
    color: #111 !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.spv2-canva-step2-callout span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #009688 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

@media screen and (max-width: 900px) {
    body.spv2-price-selected #detail .spv2-canva-guidance,
    .spv2-canva-guidance {
        padding: 13px 14px !important;
    }

    .spv2-canva-step2-callout {
        display: flex !important;
        align-items: flex-start !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* END SPV2 Canva Step 2 emphasis */


/* SPV2 Canva Step 2 emphasis
   Stronger Canva guidance, but no button/pill styling so it does not look clickable. */
body.spv2-price-selected #detail .spv2-canva-guidance,
.spv2-canva-guidance {
    border: 2px solid #82c6a3 !important;
    border-left: 6px solid #009688 !important;
    background: #eefaf4 !important;
    border-radius: 7px !important;
    padding: 14px 16px !important;
    margin: 0 0 14px 0 !important;
}

body.spv2-price-selected #detail .spv2-guidance-title,
.spv2-guidance-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
    color: #111 !important;
}

body.spv2-price-selected #detail .spv2-canva-guidance p,
.spv2-canva-guidance p {
    margin: 0 0 8px 0 !important;
    line-height: 1.45 !important;
    color: #111 !important;
}

body.spv2-price-selected #detail .spv2-canva-guidance a,
.spv2-canva-guidance a {
    font-weight: 800 !important;
    color: #e6007e !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.spv2-canva-step2-line {
    display: block !important;
    margin: 10px 0 0 0 !important;
    padding: 9px 11px !important;
    background: #ffffff !important;
    border-left: 4px solid #009688 !important;
    border-radius: 4px !important;
    color: #111 !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.spv2-canva-step2-line strong {
    font-weight: 800 !important;
}

@media screen and (max-width: 900px) {
    body.spv2-price-selected #detail .spv2-canva-guidance,
    .spv2-canva-guidance {
        padding: 13px 14px !important;
    }

    .spv2-canva-step2-line {
        padding: 9px 10px !important;
    }
}
/* END SPV2 Canva Step 2 emphasis */


/* SPV2 file warning emphasis
   Makes Office / AI / Figma guidance harder to miss without making it look like an upload button. */
.spv2-file-guidance-details {
    border: 2px solid #f2c27a !important;
    border-left: 6px solid #f39c12 !important;
    background: #fff8ec !important;
    border-radius: 7px !important;
    padding: 0 !important;
    margin: 0 0 14px 0 !important;
    overflow: hidden !important;
}

.spv2-file-guidance-details summary {
    cursor: pointer !important;
    padding: 13px 15px !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #111 !important;
    background: #fff3dd !important;
    border-bottom: 1px solid #f2c27a !important;
}

.spv2-file-guidance-details summary span {
    display: block !important;
}

.spv2-file-guidance-details summary small {
    display: block !important;
    margin-top: 3px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #8a5200 !important;
}

.spv2-file-warning-row {
    margin: 12px 14px !important;
    padding: 12px 13px !important;
    background: #ffffff !important;
    border: 1px solid #ead8bd !important;
    border-left: 5px solid #f39c12 !important;
    border-radius: 6px !important;
    color: #111 !important;
}

.spv2-file-warning-row strong {
    display: block !important;
    margin: 0 0 6px 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.spv2-file-warning-row p {
    margin: 4px 0 0 0 !important;
    line-height: 1.45 !important;
    color: #222 !important;
}

.spv2-file-warning-office {
    border-left-color: #0068b7 !important;
}

.spv2-file-warning-ai,
.spv2-file-warning-figma {
    border-left-color: #f39c12 !important;
}

.spv2-file-warning-action {
    font-weight: 800 !important;
    color: #0068b7 !important;
}

.spv2-file-warning-avoid {
    font-weight: 800 !important;
    color: #b45f00 !important;
}

@media screen and (max-width: 900px) {
    .spv2-file-guidance-details summary {
        padding: 12px 13px !important;
        font-size: 15px !important;
    }

    .spv2-file-warning-row {
        margin: 10px 11px !important;
        padding: 11px 12px !important;
    }
}
/* END SPV2 file warning emphasis */

/* SPV2 file warning details arrow fix
   Replace the browser default details arrow with a controlled arrow aligned to the heading. */
.spv2-file-guidance-details summary {
    position: relative !important;
    padding-left: 38px !important;
    list-style: none !important;
}

.spv2-file-guidance-details summary::-webkit-details-marker {
    display: none !important;
}

.spv2-file-guidance-details summary::marker {
    content: "" !important;
}

.spv2-file-guidance-details summary::before {
    content: "▸" !important;
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.spv2-file-guidance-details[open] summary::before {
    content: "▾" !important;
}

@media screen and (max-width: 900px) {
    .spv2-file-guidance-details summary {
        padding-left: 34px !important;
    }

    .spv2-file-guidance-details summary::before {
        left: 14px !important;
        top: 15px !important;
    }
}
/* END SPV2 file warning details arrow fix */

/* SPV2 file warning colour unification
   Keep Office / AI / Figma guidance visually consistent. */
.spv2-file-warning-office,
.spv2-file-warning-ai,
.spv2-file-warning-figma,
.spv2-file-warning-row {
    border-left-color: #f39c12 !important;
}

.spv2-file-warning-action,
.spv2-file-warning-avoid {
    color: #b45f00 !important;
    font-weight: 800 !important;
}

/* Do not make the Office PDF instruction look like a separate blue action/link. */
.spv2-file-warning-office .spv2-file-warning-action {
    color: #b45f00 !important;
}

/* Keep block headings neutral and readable. */
.spv2-file-warning-row strong {
    color: #111 !important;
}
/* END SPV2 file warning colour unification */

/* SPV2 hide duplicate desktop Other quantity row
   Keep the header quote link on desktop.
   Keep the generated mobile quote link on mobile. */
@media screen and (min-width: 901px) {
    .spv2-price-panel > .spv2-different-qty {
        display: none !important;
    }
}
/* END SPV2 hide duplicate desktop Other quantity row */

/* SPV2 mobile stock stacked list
   Mobile should behave more like the current live accordion list:
   full-width readable stock rows, not squeezed/horizontal pills. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-pill-row {
        display: block !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 0 12px 0 !important;
    }

    #pricing .spv2-pricing .spv2-pill,
    #pricing .spv2-pricing button.spv2-pill,
    #pricing .spv2-pricing a.spv2-pill {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;

        margin: 0 0 5px 0 !important;
        padding: 10px 12px !important;

        text-align: center !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;

        border-radius: 3px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
    }

    #pricing .spv2-pricing .spv2-pill.is-active {
        background: #0068b7 !important;
        border-color: #0068b7 !important;
        color: #ffffff !important;
        font-weight: 800 !important;
    }

    /* Thickness buttons should also stack cleanly when present. */
    #pricing .spv2-pricing [data-spv2-option-group] .spv2-pill {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    /* Reduce wasted space after changing from horizontal row to stacked list. */
    #pricing .spv2-pricing .spv2-control-block {
        margin-bottom: 12px !important;
    }
}
/* END SPV2 mobile stock stacked list */


/* SPV2 mobile combined stock selector
   Mobile shows combined stock choices, similar to the current live accordion. */
.spv2-mobile-stock-combined {
    display: none !important;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-family-control,
    #pricing .spv2-pricing .spv2-option-control {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-combined {
        display: block !important;
        margin-bottom: 12px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-list {
        display: block !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-pill {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 0 5px 0 !important;
        padding: 10px 12px !important;
        border: 1px solid #cfd4dc !important;
        border-radius: 3px !important;
        background: #f7f7f7 !important;
        color: #111 !important;
        text-align: center !important;
        white-space: normal !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-pill.is-active {
        background: #0068b7 !important;
        border-color: #0068b7 !important;
        color: #ffffff !important;
        font-weight: 800 !important;
    }
}
/* END SPV2 mobile combined stock selector */


/* SPV2 mobile price max 3 columns
   Mobile pricing should not become a wide multi-column table.
   For products with Single Sided and Double Sided, keep it to:
   Quantity | Single Sided | Double Sided. */
@media screen and (max-width: 900px) {
    /* If the generated mobile price list exists, make each quantity a 3-column row. */
    #pricing .spv2-pricing .spv2-mobile-price-list {
        display: block !important;
        width: 100% !important;
        margin-top: 10px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-card {
        display: grid !important;
        grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 0 8px 0 !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px 6px !important;
        background: #f7f7f7 !important;
        border-right: 1px solid #eeeeee !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-line {
        display: block !important;
        padding: 8px 6px !important;
        border-top: 0 !important;
        border-left: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-line:nth-of-type(1) {
        grid-column: 2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-line:nth-of-type(2) {
        grid-column: 3 !important;
        border-left: 1px solid #eeeeee !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-side {
        display: block !important;
        margin: 0 0 5px 0 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-value,
    #pricing .spv2-pricing .spv2-mobile-price-value a,
    #pricing .spv2-pricing .spv2-mobile-price-value button {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-value a,
    #pricing .spv2-pricing .spv2-mobile-price-value button {
        padding-left: 5px !important;
        padding-right: 5px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    /* If the normal table is visible on mobile, constrain it so it does not sprawl. */
    #pricing .spv2-pricing table.spv2-price-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    #pricing .spv2-pricing table.spv2-price-table th,
    #pricing .spv2-pricing table.spv2-price-table td {
        padding: 8px 5px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing table.spv2-price-table th:first-child,
    #pricing .spv2-pricing table.spv2-price-table td:first-child {
        width: 74px !important;
    }
}
/* END SPV2 mobile price max 3 columns */


/* SPV2 mobile price 3 column grid final
   Hide the old mobile price layouts and show a simple grid:
   Quantity | Single Sided | Double Sided. */
.spv2-mobile-price-3col {
    display: none !important;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing table.spv2-price-table,
    #pricing .spv2-pricing .spv2-mobile-price-list {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col {
        display: block !important;
        width: 100% !important;
        margin: 10px 0 12px 0 !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-head,
    #pricing .spv2-pricing .spv2-mobile-price-3col-row {
        display: grid !important;
        grid-template-columns: 72px repeat(calc(var(--spv2-mobile-price-cols) - 1), minmax(0, 1fr)) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-head > div {
        padding: 8px 5px !important;
        background: #fff4fa !important;
        border-bottom: 1px solid #e1e1e1 !important;
        border-left: 1px solid #e1e1e1 !important;
        color: #111 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-head > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-row > div {
        padding: 9px 5px !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-row:first-of-type > div {
        border-top: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fafafa !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-3col-price a,
    #pricing .spv2-pricing .spv2-mobile-price-3col-price button,
    #pricing .spv2-pricing .spv2-mobile-price-3col-price .spv2-price-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }
}
/* END SPV2 mobile price 3 column grid final */


/* SPV2 mobile accordion pricing final
   Mobile follows the current live approach:
   each final stock opens its own price table and stock advice. */
.spv2-mobile-accordion-layout {
    display: none !important;
}

@media screen and (max-width: 900px) {
    /* Hide desktop V2 stock/pricing flow on mobile. */
    #pricing .spv2-pricing .spv2-desktop-stock-layout,
    #pricing .spv2-pricing .spv2-desktop-price-wrap,
    #pricing .spv2-pricing .spv2-mobile-stock-combined,
    #pricing .spv2-pricing .spv2-mobile-price-list,
    #pricing .spv2-pricing .spv2-mobile-price-3col,
    #pricing .spv2-pricing .spv2-mobile-price-transposed {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
        padding: 0 0 12px 0 !important;
        margin: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 0 10px !important;
        padding: 11px 14px !important;
        background: #f7f7f7 !important;
        border-left: 5px solid #0068b7 !important;
        border-radius: 7px !important;
        box-sizing: border-box !important;
        color: #111 !important;
        font-size: 19px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading > span:first-child {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 12px 0 0 !important;
        padding: 7px 15px !important;
        border-radius: 999px !important;
        background: #0068b7 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion {
        margin: 0 0 5px 0 !important;
        border: 1px solid #cfd4dc !important;
        border-radius: 3px !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        cursor: pointer !important;
        list-style: none !important;
        padding: 11px 12px !important;
        background: #f7f7f7 !important;
        color: #111 !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::-webkit-details-marker {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::marker {
        content: "" !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::after {
        content: "+" !important;
        flex: 0 0 auto !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary {
        background: #0068b7 !important;
        border-color: #0068b7 !important;
        color: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary::after {
        content: "−" !important;
        color: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-action {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-body {
        padding: 10px 10px 12px !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-panel {
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title {
        padding: 9px 10px !important;
        background: #fff4fa !important;
        border-bottom: 1px solid #e1e1e1 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title strong {
        display: block !important;
        margin: 0 !important;
        color: #111 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title em {
        display: inline-block !important;
        margin-top: 5px !important;
        padding: 4px 7px !important;
        border: 1px solid #f5b5d8 !important;
        border-radius: 5px !important;
        background: #ffffff !important;
        color: #555 !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-table {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 78px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        padding: 8px 5px !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        text-align: center !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        border-top: 0 !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a,
    #pricing .spv2-pricing .spv2-mobile-price-cell button,
    #pricing .spv2-pricing .spv2-mobile-price-cell .spv2-price-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 9px 10px !important;
        border-top: 1px solid #eeeeee !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row .spv2-quote-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 7px 10px !important;
        border: 1px solid #e6007e !important;
        border-radius: 5px !important;
        color: #e6007e !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note {
        padding: 9px 10px !important;
        border-top: 1px solid #eeeeee !important;
        background: #fff4fa !important;
        color: #333 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-advice {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 11px 12px !important;
        border: 1px solid #d8d8d8 !important;
        border-radius: 6px !important;
        background: #fbfbfb !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-advice .spv2-selected-desc {
        font-size: 13px !important;
        line-height: 1.38 !important;
    }
}

@media screen and (min-width: 901px) {
    #pricing .spv2-pricing .spv2-mobile-accordion-layout {
        display: none !important;
    }
}
/* END SPV2 mobile accordion pricing final */


/* SPV2 mobile accordion pricing repair
   Mobile now follows the live site pattern:
   each final stock is an accordion containing its own prices and stock advice. */
.spv2-mobile-accordion-layout {
    display: none !important;
}

@media screen and (max-width: 900px) {
    /* Hide desktop V2 selector/pricing only when mobile accordion exists. */
    #pricing .spv2-pricing .spv2-desktop-v2-layout,
    #pricing .spv2-pricing .spv2-desktop-stock-layout,
    #pricing .spv2-pricing .spv2-desktop-price-wrap,
    #pricing .spv2-pricing .spv2-mobile-stock-combined,
    #pricing .spv2-pricing .spv2-mobile-price-list,
    #pricing .spv2-pricing .spv2-mobile-price-3col,
    #pricing .spv2-pricing .spv2-mobile-price-transposed {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
        padding: 0 14px 14px !important;
        margin: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 0 10px !important;
        padding: 11px 14px !important;
        background: #f7f7f7 !important;
        border-left: 5px solid #0068b7 !important;
        border-radius: 7px !important;
        box-sizing: border-box !important;
        color: #111 !important;
        font-size: 19px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading > span:first-child {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 12px 0 0 !important;
        padding: 7px 15px !important;
        border-radius: 999px !important;
        background: #0068b7 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion {
        margin: 0 0 6px 0 !important;
        border: 1px solid #cfd4dc !important;
        border-radius: 3px !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        cursor: pointer !important;
        list-style: none !important;
        padding: 11px 12px !important;
        background: #f7f7f7 !important;
        color: #111 !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::-webkit-details-marker {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::marker {
        content: "" !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion > summary::after {
        content: "+" !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary {
        background: #0068b7 !important;
        color: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary::after {
        content: "−" !important;
        color: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-body {
        padding: 10px !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-panel {
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title {
        padding: 9px 10px !important;
        background: #fff4fa !important;
        border-bottom: 1px solid #e1e1e1 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title strong {
        display: block !important;
        margin: 0 !important;
        color: #111 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title em {
        display: inline-block !important;
        margin-top: 5px !important;
        padding: 4px 7px !important;
        border: 1px solid #f5b5d8 !important;
        border-radius: 5px !important;
        background: #ffffff !important;
        color: #555 !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 78px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        padding: 8px 5px !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        text-align: center !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        border-top: 0 !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 9px 10px !important;
        border-top: 1px solid #eeeeee !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row .spv2-quote-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 7px 10px !important;
        border: 1px solid #e6007e !important;
        border-radius: 5px !important;
        color: #e6007e !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note {
        padding: 9px 10px !important;
        border-top: 1px solid #eeeeee !important;
        background: #fff4fa !important;
        color: #333 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-advice {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 11px 12px !important;
        border: 1px solid #d8d8d8 !important;
        border-radius: 6px !important;
        background: #fbfbfb !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-advice .spv2-selected-desc {
        font-size: 13px !important;
        line-height: 1.38 !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

@media screen and (min-width: 901px) {
    #pricing .spv2-pricing .spv2-mobile-accordion-layout {
        display: none !important;
    }
}
/* END SPV2 mobile accordion pricing repair */

/* SPV2 mobile accordion price table tidy
   Make the mobile accordion price table look like a simple compact grid. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-price-panel {
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        border: 1px solid #dcdcdc !important;
        border-radius: 4px !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-shadow: none !important;
    }

    /* Keep this title useful but stop it looking like another large section. */
    #pricing .spv2-pricing .spv2-mobile-price-title {
        padding: 8px 9px !important;
        background: #fff8fc !important;
        border-bottom: 1px solid #e8e8e8 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title strong {
        display: inline !important;
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
        color: #111 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title em {
        display: block !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin: 5px 0 0 0 !important;
        padding: 3px 6px !important;
        border: 1px solid #f5b5d8 !important;
        border-radius: 4px !important;
        background: #ffffff !important;
        color: #555 !important;
        font-size: 11px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    /* 3-column mobile grid: Quantity | Single | Double */
    #pricing .spv2-pricing .spv2-mobile-price-table {
        width: 100% !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 62px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 54px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        min-width: 0 !important;
        padding: 6px 4px !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        border-top: 0 !important;
        background: #f7f7f7 !important;
        color: #111 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell {
        background: #ffffff !important;
    }

    /* Price buttons must not force the columns wider/taller. */
    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn,
    #pricing .spv2-pricing .spv2-mobile-price-cell .spv2-price-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 96px !important;
        min-width: 0 !important;
        min-height: 30px !important;

        margin: 0 auto !important;
        padding: 6px 4px !important;
        box-sizing: border-box !important;

        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;

        border-radius: 4px !important;
        overflow: visible !important;
    }

    /* Quote / multiset rows should be clearly below the price grid, not part of it. */
    #pricing .spv2-pricing .spv2-mobile-price-quote-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 8px 9px !important;
        border-top: 1px solid #eeeeee !important;
        background: #ffffff !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row .spv2-quote-link {
        padding: 6px 9px !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note {
        padding: 8px 9px !important;
        border-top: 1px solid #eeeeee !important;
        background: #fff8fc !important;
        color: #333 !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    /* Stock advice should visually sit below the table, not compete with it. */
    #pricing .spv2-pricing .spv2-mobile-stock-advice {
        margin-top: 10px !important;
    }
}
/* END SPV2 mobile accordion price table tidy */

/* SPV2 mobile accordion price grid widen
   The accordion structure is correct; this makes the price grid use the full
   mobile width and stops it looking thin/cramped. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-accordion-layout {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-body {
        padding: 8px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-panel {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 12px 0 !important;
        border: 1px solid #d6d6d6 !important;
        border-radius: 5px !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title {
        padding: 8px 9px !important;
        background: #fff6fb !important;
        border-bottom: 1px solid #e5e5e5 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title strong {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title em {
        margin-top: 5px !important;
        font-size: 11px !important;
        padding: 3px 6px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-table {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    /* Two price columns: Quantity | Single Sided | Double Sided */
    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    /* One price column: Quantity | Price */
    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        min-width: 0 !important;
        padding: 7px 5px !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        text-align: center !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        border-top: 0 !important;
        background: #f7f7f7 !important;
        color: #111 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fafafa !important;
        color: #111 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell {
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn,
    #pricing .spv2-pricing .spv2-mobile-price-cell .spv2-price-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 31px !important;

        margin: 0 !important;
        padding: 6px 4px !important;
        box-sizing: border-box !important;

        border-radius: 4px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        text-align: center !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row {
        padding: 8px 9px !important;
        background: #ffffff !important;
        border-top: 1px solid #eeeeee !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note {
        padding: 8px 9px !important;
        background: #fff8fc !important;
        border-top: 1px solid #eeeeee !important;
    }
}
/* END SPV2 mobile accordion price grid widen */

/* SPV2 mobile accordion price grid final clean
   Remove odd grey cards/borders and make the mobile price grid read like one table. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-price-panel {
        border: 1px solid #dddddd !important;
        border-radius: 5px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-table {
        display: block !important;
        width: 100% !important;
        border: 0 !important;
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 52px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        margin: 0 !important;
        padding: 8px 5px !important;
        border: 0 !important;
        border-top: 1px solid #eeeeee !important;
        border-left: 1px solid #eeeeee !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        color: #111 !important;
        text-align: center !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:first-child {
        border-left: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        border-top: 0 !important;
        background: #f7f7f7 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        background: #ffffff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell {
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 31px !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    /* Remove old pink/card styling accidentally applied to each row. */
    #pricing .spv2-pricing .spv2-mobile-price-row,
    #pricing .spv2-pricing .spv2-mobile-price-row:hover,
    #pricing .spv2-pricing .spv2-mobile-price-row:focus {
        outline: 0 !important;
    }
}
/* END SPV2 mobile accordion price grid final clean */

/* SPV2 mobile price grid quantity column
   Keep the mobile price layout as a grid and give Quantity enough width. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-price-table {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: none !important;
        border: 1px solid #eeeeee !important;
        border-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        padding: 8px 5px !important;
        border: 0 !important;
        border-right: 1px solid #eeeeee !important;
        border-bottom: 1px solid #eeeeee !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div:last-child {
        border-right: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        background: #f7f7f7 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        background: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 31px !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
    }
}
/* END SPV2 mobile price grid quantity column */

/* SPV2 mobile price table live-style
   Make mobile accordion pricing look closer to the current live product table:
   clean grid, pink row dividers, text prices instead of boxed buttons. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-price-panel {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        margin: 2px 0 12px 0 !important;
        padding: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title {
        background: transparent !important;
        border: 0 !important;
        padding: 0 0 8px 0 !important;
        margin: 0 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title strong {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-title em {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #333 !important;
        font-size: 12px !important;
        font-style: italic !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row {
        display: grid !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e6007e !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-3 .spv2-mobile-price-row {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cols-2 .spv2-mobile-price-row {
        grid-template-columns: 1fr 1fr !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-row > div {
        display: block !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 11px 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #111 !important;
        text-align: left !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head {
        border-bottom: 1px solid #e6007e !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-head > div {
        background: transparent !important;
        color: #111 !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        padding-top: 0 !important;
        padding-bottom: 9px !important;
        text-align: left !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-qty {
        background: transparent !important;
        color: #111 !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell {
        background: transparent !important;
        color: #e6007e !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn,
    #pricing .spv2-pricing .spv2-mobile-price-cell .spv2-price-btn {
        display: inline !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        color: #e6007e !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn:hover,
    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn:focus {
        color: #c9006e !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        text-decoration: underline !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row {
        margin-top: 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        font-size: 13px !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-quote-row .spv2-quote-link {
        border: 0 !important;
        background: transparent !important;
        color: #e6007e !important;
        padding: 0 !important;
        border-radius: 0 !important;
        font-size: 13px !important;
        text-decoration: underline !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note {
        margin-top: 10px !important;
        padding: 8px 0 0 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #333 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
}
/* END SPV2 mobile price table live-style */

/* SPV2 mobile price buttons restore
   Keep the cleaner live-style table but make prices clearly clickable. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-price-cell {
        text-align: center !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn,
    #pricing .spv2-pricing .spv2-mobile-price-cell .spv2-price-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 92% !important;
        max-width: 110px !important;
        min-width: 0 !important;
        min-height: 32px !important;

        margin: 0 auto !important;
        padding: 6px 5px !important;
        box-sizing: border-box !important;

        background: #ffffff !important;
        border: 1px solid #e6007e !important;
        border-radius: 4px !important;
        box-shadow: none !important;

        color: #e6007e !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn:hover,
    #pricing .spv2-pricing .spv2-mobile-price-cell a.spv2-price-btn:focus {
        background: #e6007e !important;
        border-color: #e6007e !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }
}
/* END SPV2 mobile price buttons restore */

/* SPV2 mobile multiset note once
   The multiset discount note belongs below all stock accordions, not inside every one. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-multiset-note-once {
        margin: 10px 0 0 0 !important;
        padding: 9px 10px !important;
        border: 1px solid #f5b5d8 !important;
        border-radius: 5px !important;
        background: #fff8fc !important;
        color: #333 !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-multiset-note-once strong {
        display: block !important;
        margin-bottom: 2px !important;
        color: #111 !important;
        font-weight: 800 !important;
    }
}
/* END SPV2 mobile multiset note once */

/* SPV2 STEP SPACING + DESKTOP/MOBILE LAYOUT FIX START */

/*
 * Fixes:
 * 1) More breathing room between Step 1 (size) and Step 2 (stock)
 * 2) Hide mobile accordion stock chooser on desktop
 * 3) Hide desktop stock/pricing layout on mobile
 */

.spv2-pricing .spv2-size-block {
    margin-bottom: 24px !important;
}

.spv2-pricing .spv2-size-block + .spv2-family-control,
.spv2-pricing .spv2-size-block + .spv2-option-control {
    margin-top: 8px !important;
}

.spv2-pricing .spv2-size-block .spv2-label {
    margin-bottom: 10px !important;
}

/* Desktop: show desktop layout, hide mobile accordion duplicate */
.spv2-pricing .spv2-desktop-v2-layout {
    display: block !important;
}

.spv2-pricing .spv2-mobile-accordion-layout {
    display: none !important;
}

/* Mobile: hide desktop layout, show accordion layout */
@media (max-width: 900px) {
    .spv2-pricing .spv2-size-block {
        margin-bottom: 18px !important;
    }

    .spv2-pricing .spv2-size-block + .spv2-family-control,
    .spv2-pricing .spv2-size-block + .spv2-option-control {
        margin-top: 6px !important;
    }

    .spv2-pricing .spv2-desktop-v2-layout {
        display: none !important;
    }

    .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
        margin-top: 6px !important;
    }
}

/* SPV2 STEP SPACING + DESKTOP/MOBILE LAYOUT FIX END */

/* SPV2 DESKTOP DUPLICATE MOBILE ACCORDION FIX START */

/*
 * PricingV2 renders two layouts:
 * - desktop layout: normal material/thickness/price table
 * - mobile layout: accordion stock/pricing cards
 *
 * The mobile accordion must never show on desktop.
 * On mobile, the size selector still needs to remain visible, so we hide only
 * desktop stock/pricing/advice parts rather than hiding the whole desktop wrapper.
 */

/* Default / desktop */
.spv2-pricing .spv2-mobile-accordion-layout {
    display: none !important;
}

.spv2-pricing .spv2-desktop-v2-layout {
    display: block !important;
}

/* More breathing room between Step 1 size and Step 2 stock */
.spv2-pricing .spv2-size-block {
    margin-bottom: 30px !important;
}

.spv2-pricing .spv2-size-block + .spv2-family-control,
.spv2-pricing .spv2-size-block + .spv2-option-control {
    margin-top: 10px !important;
}

.spv2-pricing .spv2-size-block .spv2-label {
    margin-bottom: 10px !important;
}

/* Mobile */
@media screen and (max-width: 900px) {
    /*
     * Keep the wrapper visible because product3 group pages put
     * Step 1 / size selector inside it.
     */
    .spv2-pricing .spv2-desktop-v2-layout {
        display: block !important;
    }

    /*
     * Hide desktop stock controls, advice and desktop price table on mobile.
     * Mobile accordion takes over stock/pricing.
     */
    .spv2-pricing .spv2-family-control,
    .spv2-pricing .spv2-option-control,
    .spv2-pricing .spv2-advice-wrap,
    .spv2-pricing .spv2-desktop-price-wrap {
        display: none !important;
    }

    .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
        margin-top: 8px !important;
    }

    .spv2-pricing .spv2-size-block {
        margin-bottom: 18px !important;
    }

    .spv2-pricing .spv2-size-block + .spv2-family-control,
    .spv2-pricing .spv2-size-block + .spv2-option-control {
        margin-top: 0 !important;
    }
}

/* Desktop explicit override in case old mobile CSS appears later */
@media screen and (min-width: 901px) {
    .spv2-pricing .spv2-mobile-accordion-layout {
        display: none !important;
    }

    .spv2-pricing .spv2-family-control,
    .spv2-pricing .spv2-option-control,
    .spv2-pricing .spv2-advice-wrap,
    .spv2-pricing .spv2-desktop-price-wrap {
        display: block !important;
    }
}

/* SPV2 DESKTOP DUPLICATE MOBILE ACCORDION FIX END */

/* SPV2 FINAL DESKTOP MOBILE LAYOUT FIX START */

/*
 * PricingV2 renders:
 * - desktop layout: material/thickness/advice/price table
 * - mobile layout: accordion stock/pricing cards
 *
 * Desktop must not show the mobile accordion duplicate.
 * Mobile must not show the desktop stock/pricing layout.
 */

/* Desktop/default */
.spv2-pricing .spv2-mobile-accordion-layout {
    display: none !important;
}

.spv2-pricing .spv2-desktop-v2-layout {
    display: block !important;
}

/* More spacing between Step 1 size and Step 2 stock */
.spv2-pricing .spv2-size-block {
    margin-bottom: 30px !important;
}

.spv2-pricing .spv2-size-block .spv2-label {
    margin-bottom: 11px !important;
}

.spv2-pricing .spv2-size-block + .spv2-family-control,
.spv2-pricing .spv2-size-block + .spv2-option-control {
    margin-top: 10px !important;
}

/* Mobile */
@media screen and (max-width: 900px) {
    /*
     * Keep wrapper visible because product3 group pages put
     * Step 1 / size selector inside it.
     */
    .spv2-pricing .spv2-desktop-v2-layout {
        display: block !important;
    }

    /*
     * Hide desktop-only stock/advice/pricing on mobile.
     * The accordion handles stock and pricing there.
     */
    .spv2-pricing .spv2-family-control,
    .spv2-pricing .spv2-option-control,
    .spv2-pricing .spv2-advice-wrap,
    .spv2-pricing .spv2-desktop-price-wrap {
        display: none !important;
    }

    .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
        margin-top: 8px !important;
    }

    .spv2-pricing .spv2-size-block {
        margin-bottom: 18px !important;
    }
}

/* Desktop explicit final override */
@media screen and (min-width: 901px) {
    .spv2-pricing .spv2-mobile-accordion-layout {
        display: none !important;
    }

    .spv2-pricing .spv2-family-control,
    .spv2-pricing .spv2-option-control,
    .spv2-pricing .spv2-advice-wrap,
    .spv2-pricing .spv2-desktop-price-wrap {
        display: block !important;
    }
}

/* SPV2 FINAL DESKTOP MOBILE LAYOUT FIX END */

/* SPV2 SIZE SELECTOR CLEANUP START */

/* Step 1 size selector belongs above the stock/pricing layouts */
.spv2-pricing .spv2-size-block-main {
    display: block !important;
    margin: 0 20px 32px 20px !important;
    padding: 0 !important;
}

.spv2-pricing .spv2-size-block-main .spv2-step-label {
    margin-bottom: 12px !important;
}

/* Desktop dropdown should not span the whole pricing card */
.spv2-pricing .spv2-size-block-main select,
.spv2-pricing .spv2-size-select {
    width: auto !important;
    min-width: 280px !important;
    max-width: 420px !important;
}

/* Remove unnecessary helper copy if any older markup remains */
.spv2-pricing .spv2-size-helper {
    display: none !important;
}

/* Desktop must not show mobile accordion duplicate */
@media screen and (min-width: 901px) {
    .spv2-pricing .spv2-mobile-accordion-layout {
        display: none !important;
    }
}

/* Mobile: Step 1 remains visible, dropdown becomes full width */
@media screen and (max-width: 900px) {
    .spv2-pricing .spv2-size-block-main {
        display: block !important;
        margin: 0 14px 18px 14px !important;
    }

    .spv2-pricing .spv2-size-block-main select,
    .spv2-pricing .spv2-size-select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .spv2-pricing .spv2-family-control,
    .spv2-pricing .spv2-option-control,
    .spv2-pricing .spv2-advice-wrap,
    .spv2-pricing .spv2-desktop-price-wrap {
        display: none !important;
    }

    .spv2-pricing .spv2-mobile-accordion-layout {
        display: block !important;
    }
}

/* SPV2 SIZE SELECTOR CLEANUP END */

/* SPV2 FINAL ACTIVE STOCK BUTTON COLOUR START
   Active stock/material/thickness buttons must be pink, not blue.
   Blue is reserved for Step badges. */
#pricing .spv2-pricing button.spv2-pill.is-active,
#pricing .spv2-pricing .spv2-pill.is-active,
#pricing .spv2-pricing .spv2-pill-row button.spv2-pill.is-active,
#pricing .spv2-pricing .spv2-family-control button.spv2-pill.is-active,
#pricing .spv2-pricing .spv2-option-control button.spv2-pill.is-active,
#pricing .spv2-pricing .spv2-family-control .spv2-pill.is-active,
#pricing .spv2-pricing .spv2-option-control .spv2-pill.is-active,
body #pricing .spv2-pricing button[data-spv2-stock-select].is-active {
    background: #e6007e !important;
    background-color: #e6007e !important;
    border-color: #e6007e !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

#pricing .spv2-pricing button.spv2-pill:not(.is-active),
#pricing .spv2-pricing .spv2-family-control button.spv2-pill:not(.is-active),
#pricing .spv2-pricing .spv2-option-control button.spv2-pill:not(.is-active) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #bfc7d1 !important;
    color: #111111 !important;
}

/* Keep Step badges blue. */
#pricing .spv2-pricing .spv2-step-label > span:first-child {
    background: #0072bc !important;
    background-color: #0072bc !important;
    color: #ffffff !important;
}

/* Mobile accordion selected/open stock header also pink. */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary {
        background: #e6007e !important;
        background-color: #e6007e !important;
        color: #ffffff !important;
    }
}
/* SPV2 FINAL ACTIVE STOCK BUTTON COLOUR END */

/* SPV2 FINAL STEP BADGES BLUE START
   Step badges stay blue. Selected stock/material buttons stay pink. */
#pricing .spv2-pricing .spv2-step-label > span:first-child,
#pricing .spv2-pricing .spv2-price-step-title > span:first-child,
#pricing .spv2-pricing .spv2-price-step-head .spv2-price-step-title > span:first-child {
    background: #0072bc !important;
    background-color: #0072bc !important;
    border-color: #0072bc !important;
    color: #ffffff !important;
}

/* Selected stock/material/thickness buttons remain pink */
#pricing .spv2-pricing button.spv2-pill.is-active,
#pricing .spv2-pricing .spv2-pill.is-active,
#pricing .spv2-pricing button[data-spv2-stock-select].is-active {
    background: #e6007e !important;
    background-color: #e6007e !important;
    border-color: #e6007e !important;
    color: #ffffff !important;
}
/* SPV2 FINAL STEP BADGES BLUE END */

/* SPV2 STEP3 QUOTE MOVE KEEP NOTE BOX START */

/* Step 3 header: no pink left strip */
#pricing .spv2-pricing .spv2-price-step-head {
    border-left: 1px solid #e2e2e2 !important;
    border-bottom: 0 !important;
    background: #f7f7f7 !important;
    padding: 13px 16px !important;
    align-items: flex-start !important;
}

/* Keep the per-set/design note as a pink box */
#pricing .spv2-pricing .spv2-price-step-title em {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    margin: 7px 0 0 0 !important;
    padding: 7px 11px !important;
    background: #fff4fa !important;
    border: 1px solid #f4c6df !important;
    border-left: 4px solid #e6007e !important;
    border-radius: 7px !important;
    color: #7c0046 !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* Other quantity now sits below the price grid */
#pricing .spv2-pricing .spv2-different-qty-under-table {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

#pricing .spv2-pricing .spv2-different-qty-under-table .spv2-quote-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    border: 1px solid #e6007e !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #e6007e !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#pricing .spv2-pricing .spv2-different-qty-under-table .spv2-quote-link:hover,
#pricing .spv2-pricing .spv2-different-qty-under-table .spv2-quote-link:focus {
    background: #e6007e !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

#pricing .spv2-pricing .spv2-different-qty-under-table + .spv2-multiset {
    margin-top: 14px !important;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-price-step-head {
        padding: 12px !important;
    }

    #pricing .spv2-pricing .spv2-price-step-title em {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    #pricing .spv2-pricing .spv2-different-qty-under-table {
        justify-content: space-between !important;
        margin-top: 12px !important;
        font-size: 13px !important;
    }

    #pricing .spv2-pricing .spv2-different-qty-under-table .spv2-quote-link {
        padding: 7px 11px !important;
        font-size: 13px !important;
    }
}

/* SPV2 STEP3 QUOTE MOVE KEEP NOTE BOX END */

/* SPV2 STEP3 / MATERIAL / GAP FIX START */

/* Material title above first stock row */
#pricing .spv2-pricing .spv2-material-label {
    margin: 0 0 10px 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #111 !important;
}

/* Keep family and thickness button gaps the same */
#pricing .spv2-pricing .spv2-family-control .spv2-pill-row,
#pricing .spv2-pricing .spv2-option-control .spv2-pill-row {
    gap: 10px !important;
}

/* Tighten vertical rhythm between material row and thickness section */
#pricing .spv2-pricing .spv2-family-control {
    margin-bottom: 18px !important;
}

#pricing .spv2-pricing .spv2-family-control .spv2-pill-row {
    margin-bottom: 0 !important;
}

#pricing .spv2-pricing .spv2-option-control .spv2-thickness-label {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #111 !important;
    max-width: none !important;
    box-shadow: none !important;
}

/* Step 3 header: blue left strip like Step 2 */
#pricing .spv2-pricing .spv2-price-step-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 10px 16px !important;
    border-left: 4px solid #0b6fc6 !important;
    border-bottom: 1px solid #e3e3e3 !important;
    background: #f7f7f7 !important;
    min-height: 0 !important;
}

/* Step 3 left side */
#pricing .spv2-pricing .spv2-price-step-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

#pricing .spv2-pricing .spv2-price-step-title > span:first-child {
    flex: 0 0 auto !important;
}

/* Put "Select price by quantity" and note on one line for desktop */
#pricing .spv2-pricing .spv2-price-heading-copy {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
}

#pricing .spv2-pricing .spv2-price-heading-copy strong {
    margin: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

#pricing .spv2-pricing .spv2-price-heading-copy em {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* Other quantity sits below the table, with text and button close together */
#pricing .spv2-pricing .spv2-different-qty-under-table {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    width: max-content !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

#pricing .spv2-pricing .spv2-different-qty-under-table span {
    margin: 0 !important;
    white-space: nowrap !important;
}

#pricing .spv2-pricing .spv2-different-qty-under-table .spv2-quote-link {
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Mobile: stack Step 3 heading content again */
@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-price-step-head {
        align-items: flex-start !important;
        padding: 12px !important;
    }

    #pricing .spv2-pricing .spv2-price-step-title {
        align-items: flex-start !important;
    }

    #pricing .spv2-pricing .spv2-price-heading-copy {
        display: block !important;
    }

    #pricing .spv2-pricing .spv2-price-heading-copy strong {
        display: block !important;
        margin: 0 0 6px 0 !important;
        white-space: normal !important;
    }

    #pricing .spv2-pricing .spv2-price-heading-copy em {
        display: inline-block !important;
        white-space: normal !important;
    }

    #pricing .spv2-pricing .spv2-different-qty-under-table {
        width: auto !important;
        justify-content: flex-start !important;
        margin: 12px 0 0 0 !important;
    }

    #pricing .spv2-pricing .spv2-material-label {
        margin-bottom: 10px !important;
    }

    #pricing .spv2-pricing .spv2-family-control .spv2-pill-row,
    #pricing .spv2-pricing .spv2-option-control .spv2-pill-row {
        gap: 10px !important;
    }
}

/* SPV2 STEP3 / MATERIAL / GAP FIX END */

/* SPV2 FORCE MATERIAL THICKNESS LABELS START */

#pricing .spv2-pricing .spv2-material-label,
#pricing .spv2-pricing .spv2-thickness-label {
    display: block !important;
    margin: 0 0 9px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

#pricing .spv2-pricing .spv2-family-control {
    margin-bottom: 14px !important;
}

#pricing .spv2-pricing .spv2-option-control {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

#pricing .spv2-pricing .spv2-family-control .spv2-pill-row,
#pricing .spv2-pricing .spv2-option-control .spv2-pill-row {
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#pricing .spv2-pricing .spv2-family-control .spv2-pill,
#pricing .spv2-pricing .spv2-option-control .spv2-pill {
    margin: 0 !important;
}

/* SPV2 FORCE MATERIAL THICKNESS LABELS END */

/* SPV2 HIDE INACTIVE THICKNESS GROUPS START
   Only show the thickness options for the currently selected material.
   Example: Gloss shows 130gsm/150gsm. Silk shows 170gsm only.
*/
#pricing .spv2-pricing .spv2-option-control .spv2-option-group,
#pricing .spv2-pricing .spv2-option-control .spv2-pill-row.spv2-option-group {
    display: none !important;
}

#pricing .spv2-pricing .spv2-option-control .spv2-option-group.is-active,
#pricing .spv2-pricing .spv2-option-control .spv2-pill-row.spv2-option-group.is-active {
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Keep material row always visible */
#pricing .spv2-pricing .spv2-family-control > .spv2-pill-row {
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* SPV2 HIDE INACTIVE THICKNESS GROUPS END */

/* SPV2 CALENDAR MOBILE NOTE CLEAN START */

/* Hidden by default; only shown on mobile calendar pages */
#pricing .spv2-pricing .spv2-calendar-mobile-cover-note {
    display: none !important;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-calendar-mobile-cover-note {
        display: block !important;
        margin: 0 14px 12px 14px !important;
        padding: 10px 12px !important;
        background: #ffffff !important;
        border: 1px solid #d7e9ff !important;
        border-left: 4px solid #0072bc !important;
        border-radius: 7px !important;
        color: #222 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;
    }

    #pricing .spv2-pricing .spv2-calendar-mobile-cover-note strong {
        color: #111 !important;
        font-weight: 800 !important;
    }

    /* Make closed mobile accordion rows clearer without changing layout */
    #pricing .spv2-pricing .spv2-mobile-stock-accordion:not([open]) > summary {
        background: #ffffff !important;
        border: 1px solid #0b6fc6 !important;
        border-left: 4px solid #0b6fc6 !important;
        color: #111 !important;
        font-weight: 800 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion:not([open]) > summary .spv2-mobile-stock-title {
        color: #111 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary {
        background: #e6007e !important;
        border-color: #e6007e !important;
        color: #ffffff !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-accordion[open] > summary .spv2-mobile-stock-title {
        color: #ffffff !important;
    }
}

/* SPV2 CALENDAR MOBILE NOTE CLEAN END */

/* SPV2 FLOW NOTE START */
#pricing .spv2-pricing .spv2-flow-note {
    margin: 10px 0 14px 0;
    padding: 10px 12px;
    background: #ffffff;
    border: 1px solid #d7e9ff;
    border-left: 4px solid #0072bc;
    border-radius: 7px;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-flow-note {
        margin: 10px 0 12px 0;
        font-size: 13px;
    }
}
/* SPV2 FLOW NOTE END */

/* SPV2 OFFER + CONTENT BLOCKS START */
#pricing .spv2-pricing .spv2-discount-display,
#pricing .spv2-pricing .spv2-content-blocks {
    margin: 12px 0;
}

#pricing .spv2-pricing .spv2-discount-item {
    margin: 0 0 8px 0;
    padding: 10px 12px;
    background: #fff6fb;
    border: 1px solid #ffd3ec;
    border-left: 4px solid #e6007e;
    border-radius: 7px;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
}

#pricing .spv2-pricing .spv2-discount-title {
    display: block;
    margin-bottom: 3px;
    color: #111;
    font-weight: 800;
}

#pricing .spv2-pricing .spv2-discount-text,
#pricing .spv2-pricing .spv2-discount-code,
#pricing .spv2-pricing .spv2-discount-expiry {
    display: block;
}

#pricing .spv2-pricing .spv2-content-block {
    margin: 0 0 10px 0;
    padding: 10px 12px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 4px solid #0072bc;
    border-radius: 7px;
    color: #222;
    font-size: 14px;
    line-height: 1.45;
}

#pricing .spv2-pricing .spv2-content-block h3 {
    margin: 0 0 6px 0;
    font-size: 16px;
    line-height: 1.25;
}

#pricing .spv2-pricing .spv2-content-block p {
    margin: 0 0 8px 0;
}

#pricing .spv2-pricing .spv2-content-block p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 900px) {
    #pricing .spv2-pricing .spv2-discount-item,
    #pricing .spv2-pricing .spv2-content-block {
        font-size: 13px;
    }
}
/* SPV2 OFFER + CONTENT BLOCKS END */

/* SPV2 CATEGORY PRODUCT BOX OFFERS START */
.spv2-category-product-box-offers {
    margin: 8px 0 0 0;
    padding: 8px 10px;
    background: #fff6fb;
    border: 1px solid #ffd3ec;
    border-left: 4px solid #e6007e;
    border-radius: 7px;
    color: #222;
    font-size: 13px;
    line-height: 1.35;
}

.spv2-category-product-box-offers .spv2-discount-item,
.spv2-category-product-box-offers .spv2-content-block {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.spv2-category-product-box-offers .spv2-discount-title,
.spv2-category-product-box-offers .spv2-content-block h3 {
    display: block;
    margin: 0 0 3px 0;
    font-size: 13px;
    font-weight: 800;
}
/* SPV2 CATEGORY PRODUCT BOX OFFERS END */

/* SPV2 FINAL STEP HEADER ALIGNMENT START
   2026-08-05
   - Remove separate top instruction strip from all V2 pricing blocks.
   - Make Step 1 heading match Step 2 heading treatment.
*/

/* Remove the top pink instruction bar from all V2 products */
#pricing .spv2-pricing .spv2-order-top {
    display: none !important;
}

/* Step 1 header should visually match Step 2 */
#pricing .spv2-pricing .spv2-label.spv2-step-label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 13px 16px !important;
    background: #f7f7f7 !important;
    border: 1px solid #e2e2e2 !important;
    border-left: 5px solid #0072bc !important;
    border-bottom: 0 !important;
    border-radius: 7px 7px 0 0 !important;
    box-sizing: border-box !important;
    color: #111 !important;
}

/* Keep the Step 1 badge consistent with the existing blue step badge style */
#pricing .spv2-pricing .spv2-label.spv2-step-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    background: #0072bc !important;
    border-color: #0072bc !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* The Step 1 text should sit like the Step 2 heading text */
#pricing .spv2-pricing .spv2-label.spv2-step-label {
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

/* When Step 1 is immediately followed by controls, remove awkward double spacing */
#pricing .spv2-pricing .spv2-label.spv2-step-label + .spv2-order-grid,
#pricing .spv2-pricing .spv2-label.spv2-step-label + .spv2-stock-switch-panel,
#pricing .spv2-pricing .spv2-label.spv2-step-label + .spv2-option-group {
    margin-top: 0 !important;
}

/* SPV2 FINAL STEP HEADER ALIGNMENT END */


/* SPV2_MOBILE_TAP_PRICE_INSTRUCTION_CSS */
.spv2-mobile-order-instruction {
    display: none;
}

@media (max-width: 767px) {
    .spv2-mobile-order-instruction {
        display: block !important;
        margin: 5px 0 10px 0 !important;
        color: #e6007e !important;
        font-weight: 700 !important;
        font-style: normal !important;
        line-height: 1.35 !important;
    }
}


/* SPV2_MOBILE_TAP_PRICE_LINEBREAK_FIX */
.spv2-mobile-order-instruction-break {
    display: none;
}

@media (max-width: 767px) {
    .spv2-mobile-order-instruction-break {
        display: block !important;
    }

    .spv2-mobile-order-instruction {
        display: inline !important;
        margin: 0 !important;
        color: #e6007e !important;
        font-weight: 700 !important;
        font-style: normal !important;
        line-height: 1.35 !important;
    }
}


/* SPV2_MOBILE_TAP_PRICE_CALLOUT_FINAL */
.spv2-mobile-order-instruction-break {
    display: none;
}

.spv2-mobile-order-instruction {
    display: none;
}

@media (max-width: 767px) {
    .spv2-mobile-order-instruction-break {
        display: none !important;
    }

    .spv2-mobile-order-instruction {
        display: block !important;
        margin: 8px 0 12px 0 !important;
        padding: 8px 10px !important;
        background: #fff1f8 !important;
        border: 1px solid #ff8bc4 !important;
        border-left: 4px solid #e6007e !important;
        border-radius: 4px !important;
        color: #111 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        font-style: normal !important;
        line-height: 1.35 !important;
    }
}


/* SPV2_MOBILE_MULTI_STOCK_CLOSED_HELP */
@media (max-width: 800px) {
    .spv2-pricing .spv2-mobile-stock-help {
        margin: 6px 0 10px 0 !important;
        padding: 8px 10px !important;
        background: #fff1f8 !important;
        border-left: 4px solid #e6007e !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }
}


/* SPV2 Business Cards mobile simplified heading - 2026-08-12
   Product id 1 only. Removes step styling on mobile and gives the heading
   breathing room below the card border. */
@media (max-width: 767px) {
    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-accordion-layout {
        padding-top: 14px !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-accordion-heading {
        margin-top: 12px !important;
        padding: 14px 16px !important;
        display: block !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-accordion-heading > span:first-child {
        display: none !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-stock-help {
        margin-top: 14px !important;
        margin-bottom: 12px !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-bc-mobile-step2-heading {
        display: none !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-price-title {
        margin-top: 0 !important;
        padding-top: 12px !important;
    }
}
/* SPV2 Business Cards mobile simplified heading END */


/* SPV2 Business Cards mobile card top breathing room - 2026-08-12
   Product id 1 only. Creates space between the pricing card top border and
   the "Choose your stock" mobile heading. */
@media (max-width: 767px) {
    #pricing .spv2-pricing[data-product-id="1"] .spv2-order-card {
        padding-top: 18px !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-accordion-layout {
        padding-top: 0 !important;
    }

    #pricing .spv2-pricing[data-product-id="1"] .spv2-mobile-accordion-heading {
        margin-top: 0 !important;
    }
}
/* SPV2 Business Cards mobile card top breathing room END */

/* SPV2 Express Information contrast fix - 2026-08-13
   Scoped only to the V2 Express Information panel. */
.spv2-express-info-panel,
.spv2-express-info-panel .spv2-express-info-content,
.spv2-express-info-panel .spv2-express-info-content div,
.spv2-express-info-panel .spv2-express-info-content p,
.spv2-express-info-panel .spv2-express-info-content li,
.spv2-express-info-panel .readmore-content {
    color: #222 !important;
    opacity: 1 !important;
    font-weight: 400;
}

.spv2-express-info-panel .spv2-express-info-content strong,
.spv2-express-info-panel .readmore-content strong {
    color: #000 !important;
    font-weight: 800;
}

.spv2-express-info-panel .spv2-express-info-content h3,
.spv2-express-info-panel .spv2-express-info-title,
.spv2-express-info-panel .spv2-express-faq-title {
    color: #001f4d !important;
    opacity: 1 !important;
}

.spv2-express-info-panel .spv2-express-info-content a,
.spv2-express-info-panel .readmore-content a {
    color: #e6007e !important;
    opacity: 1 !important;
}
/* SPV2 Express Information contrast fix END */

/* SPV2 global mobile accordion no-step-label safeguard - 2026-08-13
   Mobile accordion layout has no separate visible Step 2, so do not show a
   Step badge on the mobile accordion heading. Desktop is unaffected. */
@media (max-width: 767px) {
    #pricing .spv2-pricing .spv2-mobile-accordion-heading > span:first-child {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-bc-mobile-step2-heading {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading {
        display: block !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }
}
/* SPV2 global mobile accordion no-step-label safeguard END */

/* SPV2 global mobile material accordion normalisation - 2026-08-13
   Generic V2 mobile rule:
   - mobile accordion headings do not show Step badges
   - a real spacer appears above the mobile material heading
   - desktop labels are unaffected
*/
.spv2-mobile-accordion-top-spacer {
    display: none;
}

@media (max-width: 767px) {
    #pricing .spv2-pricing:not(.spv2-single-action-pricing) .spv2-mobile-accordion-top-spacer,
    .spv2-pricing:not(.spv2-single-action-pricing) .spv2-mobile-accordion-top-spacer {
        display: block !important;
        height: 18px !important;
        line-height: 18px !important;
        font-size: 0 !important;
        clear: both !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading > span:first-child,
    .spv2-pricing .spv2-mobile-accordion-heading > span:first-child {
        display: none !important;
    }

    #pricing .spv2-pricing .spv2-mobile-accordion-heading,
    .spv2-pricing .spv2-mobile-accordion-heading {
        display: block !important;
        padding: 14px 16px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    #pricing .spv2-pricing .spv2-mobile-stock-help,
    .spv2-pricing .spv2-mobile-stock-help {
        margin-top: 14px !important;
        margin-bottom: 12px !important;
    }

    #pricing .spv2-pricing .spv2-bc-mobile-step2-heading,
    .spv2-pricing .spv2-bc-mobile-step2-heading {
        display: none !important;
    }
}
/* SPV2 global mobile material accordion normalisation END */
