/* Update id: WQSD */
/* Generic public V2 cart and checkout handoff. */

.v2-cart-page { min-height: 70vh; background: var(--corporate-paper); }
.v2-cart-hero { padding: 76px 0 50px; color: #fff; background: var(--corporate-deep); }
.v2-cart-hero__heading { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 60px; }
.v2-cart-hero h1 { margin: 0; font-size: clamp(3.8rem,7vw,6.4rem); line-height: .9; }
.v2-cart-hero__heading > div:first-child > p { max-width: 620px; margin: 20px 0 0; color: #aeb8be; font-size: 16px; line-height: 1.55; }
.v2-cart-steps { display: flex; align-items: center; min-width: 420px; }
.v2-cart-steps span { display: grid; grid-template-columns: 25px auto; align-items: center; gap: 7px; color: #869197; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.v2-cart-steps span b { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid #566167; border-radius: 50%; color: #aeb8be; font-size: 10px; }
.v2-cart-steps span.is-active { color: #fff; }
.v2-cart-steps span.is-active b { border-color: var(--corporate-orange); background: var(--corporate-orange); color: #fff; }
.v2-cart-steps i { width: 48px; height: 1px; margin: 0 10px; background: #475157; }
.v2-cart-body { padding: 62px 0 100px; }
.v2-cart-alert { margin-bottom: 20px; padding: 14px 17px; border-left: 3px solid #2a8052; background: #fff; color: #285b3f; font-size: 13px; }
.v2-cart-alert.is-error { border-left-color: var(--corporate-orange); color: #852d10; }
.v2-cart-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); align-items: start; gap: 28px; }
.v2-cart-items > header { display: flex; justify-content: space-between; margin-bottom: 12px; color: #737c81; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.v2-cart-items > header strong { color: var(--corporate-ink); }
.v2-cart-item { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 21px; padding: 26px; border: 1px solid var(--corporate-line); background: #fff; }
.v2-cart-item + .v2-cart-item { border-top: 0; }
.v2-cart-item__icon { display: grid; width: 46px; height: 46px; place-items: center; background: #fff0e9; color: var(--corporate-orange-dark); font-size: 19px; }
.v2-cart-item__main > span { color: var(--corporate-orange-dark); font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.v2-cart-item__main h2 { margin: 7px 0 8px; font-size: 27px; }
.v2-cart-item__main p { max-width: 560px; margin: 0; color: var(--corporate-muted); font-size: 12px; line-height: 1.5; }
.v2-cart-item__main label { display: inline-flex; align-items: center; gap: 10px; margin-top: 17px; color: #666f74; font-size: 11px; font-weight: 650; }
.v2-cart-item__main select { border: 1px solid #cfd3d5; padding: 8px 30px 8px 10px; background: #fff; color: var(--corporate-ink); font: inherit; }
.v2-cart-cloudflare-free { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 11px 18px; align-items: center; margin-top: 18px; padding: 15px 16px; border: 1px solid #f1c9b5; background: linear-gradient(112deg, #fff8f3, #fff); }
.v2-cart-cloudflare-free span { color: #8b381a !important; font-size: 10px !important; }
.v2-cart-cloudflare-free p { margin-top: 5px !important; font-size: 11px !important; }
.v2-cart-cloudflare-free form { margin: 0; }
.v2-cart-cloudflare-free button { border: 0; padding: 10px 12px; background: var(--corporate-deep); color: #fff; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.v2-cart-cloudflare-free button:disabled,.v2-cart-item__price button:disabled { cursor: wait; opacity: .72; }
.v2-cart-cloudflare-free button strong { margin-left: 8px; color: var(--corporate-orange); }
.v2-cart-cloudflare-free > a { grid-column: 1 / -1; color: #63554f; font-size: 10px; font-weight: 700; }
.v2-cart-item__price { min-width: 120px; text-align: right; }
.v2-cart-item__price > strong { display: block; font-size: 24px; }
.v2-cart-item__price > small { display: block; margin-top: 4px; color: #7d8589; font-size: 10px; }
.v2-cart-item__price button { border: 0; margin-top: 25px; padding: 0; background: transparent; color: #7b4b3b; font: inherit; font-size: 10px; text-decoration: underline; cursor: pointer; }
.v2-cart-continue-shopping { display: inline-flex; align-items: center; gap: 9px; margin-top: 20px; color: var(--corporate-ink) !important; font-size: 11px; font-weight: 700; }
.v2-cart-summary { position: sticky; top: 112px; padding: 27px; color: #fff; background: var(--corporate-deep); }
.v2-cart-summary > span { color: var(--corporate-orange); font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.v2-cart-summary h2 { margin: 24px 0 30px; font-size: 35px; }
.v2-cart-summary dl { margin: 0; }
.v2-cart-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.13); }
.v2-cart-summary dt { color: #aeb8be; font-size: 11px; }
.v2-cart-summary dd { margin: 0; font-size: 13px; font-weight: 650; text-align: right; }
.v2-cart-summary > p { margin: 22px 0; color: #9ea8ad; font-size: 11px; line-height: 1.55; }
.v2-cart-summary .corporate-button { display: flex; width: 100%; justify-content: center; }
.v2-cart-summary > small { display: block; margin-top: 15px; color: #919ca1; font-size: 9px; text-align: center; }
.v2-cart-empty { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 30px; min-height: 250px; padding: 38px; color: #fff; background: var(--corporate-deep); }
.v2-cart-empty > span { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; color: var(--corporate-orange); background: rgba(255,255,255,.04); font-size: 24px; }
.v2-cart-empty > div > p:first-child { color: #89949a; font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.v2-cart-empty h2 { margin: 14px 0 8px; font-size: 38px; }
.v2-cart-empty > div > p:last-child { max-width: 600px; color: #aeb8be; font-size: 13px; }
@media (max-width: 900px) {
    .v2-cart-hero__heading,.v2-cart-layout { grid-template-columns: 1fr; }
    .v2-cart-steps { min-width: 0; }
    .v2-cart-summary { position: static; }
    .v2-cart-empty { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .v2-cart-hero { padding-top: 56px; }
    .v2-cart-steps { overflow-x: auto; padding-bottom: 5px; }
    .v2-cart-steps i { width: 20px; }
    .v2-cart-item { grid-template-columns: 42px minmax(0,1fr); padding: 20px; }
    .v2-cart-item__price { grid-column: 2; text-align: left; }
    .v2-cart-item__price button { margin-top: 12px; }
	.v2-cart-cloudflare-free { grid-template-columns: 1fr; }
	.v2-cart-cloudflare-free button { width: 100%; }
}
