:root {
    --store-ink: #153834;
    --store-mint: #dff5ef;
    --store-accent: #167f70;
}

.store-shell {
    max-width: 1080px;
    margin: 0 auto;
    padding: 3rem 1.25rem 5rem;
}

.store-shell--narrow { max-width: 720px; }
.store-back { display: inline-block; margin-bottom: 1.25rem; color: var(--store-ink); }

.cart-card {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
    overflow: hidden;
    background: white;
    border: 1px solid #dbe7e4;
    border-radius: 24px;
    box-shadow: 0 22px 65px rgba(21, 56, 52, .12);
}

.cart-product-art {
    min-height: 560px;
    display: grid;
    place-items: center;
    padding: 3rem;
    background: radial-gradient(circle at 50% 35%, #fff 0, #eefaf7 38%, #cfe9e2 100%);
}

.cart-product-art img { max-width: 100%; max-height: 470px; object-fit: contain; filter: drop-shadow(0 20px 18px rgba(21,56,52,.22)); }
.cart-product-copy { padding: 3.2rem; align-self: center; }
.cart-product-copy h1, .order-result h1 { color: var(--store-ink); line-height: 1.12; margin: .2rem 0 1rem; }
.store-kicker { color: var(--store-accent); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; }
.store-includes { padding-left: 1.2rem; line-height: 1.8; }
.checkout-form { display: grid; gap: .8rem; margin-top: 1.5rem; }
.checkout-form label { font-weight: 700; color: var(--store-ink); }
.checkout-form select { width: 90px; padding: .75rem; border: 1px solid #b7cbc6; border-radius: 8px; font-size: 1rem; }
.cart-total { display: flex; justify-content: space-between; align-items: end; padding: 1rem 0; border-top: 1px solid #dbe7e4; }
.cart-total strong { color: var(--store-ink); font-size: 1.8rem; }
.store-button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: 1rem 1.4rem;
    background: var(--store-accent);
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
}
.store-button:hover { background: #10675c; }
.store-button:disabled { background: #8aa39e; cursor: not-allowed; }
.store-button--link { display: inline-block; margin-top: 1.5rem; text-decoration: none; }
.store-fineprint { color: #60716d; font-size: .82rem; line-height: 1.5; }
.store-alert { padding: .9rem 1rem; margin: 1rem 0; border-radius: 9px; }
.store-alert--error { color: #84242c; background: #fdecef; border: 1px solid #f2c4ca; }

.order-result {
    padding: 3.5rem;
    text-align: center;
    background: white;
    border: 1px solid #dbe7e4;
    border-radius: 24px;
    box-shadow: 0 22px 65px rgba(21, 56, 52, .1);
}
.result-icon { width: 64px; height: 64px; margin: 0 auto 1rem; display: grid; place-items: center; border-radius: 50%; background: var(--store-mint); color: var(--store-accent); font-size: 2rem; font-weight: 900; }
.order-summary { margin: 2rem 0 0; text-align: left; border-top: 1px solid #dbe7e4; }
.order-summary div { display: flex; justify-content: space-between; padding: .8rem 0; border-bottom: 1px solid #dbe7e4; }
.order-summary dt { color: #60716d; }
.order-summary dd { margin: 0; font-weight: 800; color: var(--store-ink); }

@media (max-width: 760px) {
    .cart-card { grid-template-columns: 1fr; }
    .cart-product-art { min-height: 360px; padding: 2rem; }
    .cart-product-art img { max-height: 320px; }
    .cart-product-copy, .order-result { padding: 2rem 1.4rem; }
}
