.cart-saved-money-wrap {
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px;
    border: 1px solid #e4e4e4;
    border-radius: 3px;
    background-color: #f7f7f7;
    color: #1b9f35;
    font-size: 1.125em;
    font-weight: 700;
}

.cart-campaign-saving {
    color: #1b9f35;
}

.cart-dynamic-discount-row td {
    border-top: 1px solid #e9eee9;
    background-color: #fbfdfb;
}

.cart-dynamic-discount-label,
.cart-dynamic-discount-amount {
    color: #1b9f35;
    font-weight: 700;
}

.cart-dynamic-saving-pill,
.cart-dynamic-summary-saving {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid #d9e7d9;
    border-radius: 5px;
    background-color: #f0f7ed;
    color: #1b9f35;
    font-weight: 600;
    line-height: 1.2;
}

.cart-dynamic-summary-row {
    color: #666;
}

.cart-dynamic-summary-saving {
    width: 100%;
    margin-bottom: 12px;
}

.cart-dynamic-summary-saving-compact {
    display: flex;
    width: max-content;
    margin-left: auto;
}

@media (max-width: 767px) {
    .cart-dynamic-discount-row td {
        white-space: nowrap;
    }

    .cart-dynamic-saving-pill {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Neutral product content blocks (landing-page types rendered outside the beauty template) */
.pcb { padding: 40px 0; }
.pcb .pcb-eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .12em; margin-bottom: 8px; opacity: .75; text-transform: uppercase; }
.pcb .pcb-title { font-size: 28px; margin: 0 0 12px; }
.pcb .pcb-text { margin: 0 0 16px; }
.pcb .pcb-text-muted { opacity: .75; }
.pcb .pcb-grid { display: grid; gap: 16px; }
.pcb .pcb-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcb .pcb-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pcb .pcb-card { background: #fff; border: 1px solid rgba(0, 0, 0, .1); border-radius: 12px; display: flex; flex-direction: column; gap: 6px; padding: 18px; }
.pcb .pcb-card-icon { flex-direction: row; gap: 12px; }
.pcb .pcb-card-center { align-items: center; text-align: center; }
.pcb .pcb-card small { display: block; opacity: .75; }
.pcb .pcb-icon { align-items: center; display: inline-flex; flex: 0 0 40px; height: 40px; justify-content: center; width: 40px; }
.pcb .pcb-icon svg { height: 24px; width: 24px; }
.pcb .pcb-stat-value { font-size: 32px; }
.pcb .pcb-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 12px; padding: 0; }
.pcb .pcb-chips li { background: rgba(0, 0, 0, .06); border-radius: 999px; font-size: 13px; padding: 4px 12px; }
.pcb .pcb-bullets { list-style: disc; margin: 0 0 12px; padding-left: 20px; }
.pcb .pcb-split { display: grid; gap: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pcb-split-feature-reverse .pcb-split-image { order: -1; }
.pcb .pcb-split-image img { border-radius: 12px; display: block; height: auto; width: 100%; }
.pcb .pcb-steps { counter-reset: none; display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0 0 16px; padding: 0; }
.pcb .pcb-steps li { background: #fff; border: 1px solid rgba(0, 0, 0, .1); border-radius: 12px; padding: 18px; }
.pcb .pcb-step-number { display: inline-block; font-weight: 700; margin-bottom: 6px; }
.pcb .pcb-notice { border: 1px solid rgba(0, 0, 0, .15); border-radius: 12px; padding: 16px; }
.pcb .pcb-details { border-bottom: 1px solid rgba(0, 0, 0, .1); padding: 10px 0; }
.pcb .pcb-table table { border-collapse: collapse; width: 100%; }
.pcb .pcb-table td { border-bottom: 1px solid rgba(0, 0, 0, .08); padding: 8px 0; }
.pcb .pcb-table td:last-child { font-weight: 700; text-align: right; }
@media (max-width: 991.98px) {
    .pcb .pcb-grid-3, .pcb .pcb-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pcb .pcb-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pcb .pcb-split { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .pcb .pcb-grid-3, .pcb .pcb-steps, .pcb .pcb-grid-6 { grid-template-columns: 1fr; }
}

/* Product variants switch on the page (assets/front/js/product-variants.js): the wrappers of the parts that
   change with the variant do not take part in the layout, and the parameter values are buttons that keep
   the look their templates give them. */
[data-variant-region] {
    display: contents;
}

:where(button[data-variant-option]) {
    appearance: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    width: 100%;
}

/* Label pill on a parameter value (Book Nook, default): rounder on the chosen value. */
.variant-option-label {
    border-radius: 8px;
}

.selected > [data-variant-option] .variant-option-label {
    border-radius: 20px;
}
