.preview-price {margin:10px 0 3px;font-size:16px;font-weight:600;color:#4f3440}
.preview-price small {margin-left:5px;color:#76645d;font-size:11px;font-weight:400}
.shopping-mode > .shop-nav,.shopping-mode > .category-nav {display:none}
#shopping-page {
  max-width:1320px; min-height:65vh; margin:0 auto;
  padding:clamp(22px,3vw,45px) var(--gutter) clamp(50px,6vw,90px);
  color:#443632;
}
.back-store,.subtle-link,.basket-remove {font-size:16px;color:#68434f}
.back-store,.coupon-applied span,.commerce-next {display:inline-flex;align-items:center;gap:9px}
.back-store {min-height:32px}
.subtle-link,.basket-remove {text-decoration:underline;text-underline-offset:4px}
.purchase-heading,.form-section-head,.summary-title {display:flex;justify-content:space-between;align-items:center;gap:16px}
.purchase-heading {padding:18px 0 clamp(22px,3vw,40px);border-bottom:1px solid #dbcebf;margin-bottom:clamp(22px,3.4vw,46px)}
#shopping-page h1 {font:400 clamp(48px,5.4vw,82px)/1 var(--display);letter-spacing:-.055em}
#shopping-page h2 {font:400 clamp(26px,2.4vw,36px)/1.1 var(--display);letter-spacing:-.035em}
#shopping-page h1:focus {outline:0}
.purchase-steps {display:flex;align-items:center;gap:clamp(8px,1.5vw,24px);font-size:16px;color:#695d54}
.purchase-steps > * {display:flex;align-items:center;gap:7px}
.purchase-steps [aria-current] {color:#643d4b;font-weight:600}
.step-number {display:grid;place-items:center;width:28px;height:28px;border:1px solid #c0afa4;border-radius:50%;font-size:14px}
[aria-current] .step-number {background:#603b49;border-color:#603b49;color:#fff7ed}
.purchase-layout {display:grid;grid-template-columns:minmax(0,1.48fr) minmax(290px,1fr);align-items:start;gap:clamp(24px,4.8vw,76px)}
.purchase-main,.basket-summary,.basket-description {min-width:0}
.basket-item {display:grid;grid-template-columns:clamp(96px,9vw,140px) minmax(0,1fr) auto;align-items:start;gap:clamp(12px,1.6vw,23px);padding:20px 0;border-bottom:1px solid #dfd3c5}
.basket-item:first-child {padding-top:0}
.basket-image img {width:100%;aspect-ratio:1;object-fit:cover;background:#f1e8de;border-radius:3px}
.basket-title {text-align:left;font:400 clamp(26px,2.15vw,34px)/1.15 var(--display);color:inherit}
.basket-description p,.unit-price {font-size:16px;line-height:1.5;color:#6c5e56}
.basket-description p {margin:4px 0}
.line-total {color:#563844;white-space:nowrap;font-size:19px}
.basket-controls,.basket-qty {display:flex;gap:14px;align-items:center}
.basket-controls {margin-top:10px}
.basket-qty {gap:2px;border:1px solid #cdbeb0;border-radius:3px}
.basket-qty button {width:40px;height:40px;display:grid;place-items:center}
.basket-qty svg {width:14px;height:14px}
.basket-qty span {min-width:23px;text-align:center;font-size:17px}
.basket-remove {padding:6px}
.basket-summary {padding:clamp(22px,2.5vw,38px);background:#f4ece4;border:1px solid #dfd1c3}
.summary-title {margin-bottom:22px}
.summary-title img {object-fit:contain}
#coupon-form label,.shipping-options legend {font-weight:600;font-size:17px}
.coupon-entry {display:flex;margin:9px 0 8px;gap:7px}
.coupon-entry input,.order-form .field input,.order-form .field textarea {border:1px solid #cbbcad;border-radius:2px;background:#fffcf8;color:#43332c;padding:10px 12px;font:inherit}
.coupon-entry input {min-width:0;width:100%;text-transform:uppercase}
.coupon-entry button {font-size:16px;min-height:46px;border:1px solid #745162;padding:0 16px;color:#623f50;border-radius:2px}
#coupon-tip,.demo-caption,.empty-basket p,.receipt-card>p,.payment-details p,.test-method p {font-size:14px;line-height:1.5;color:#685951}
#coupon-tip {display:block;font-size:15px}
#coupon-status:not(:empty) {font-size:13px;margin-top:8px;color:#873845}
.coupon-applied {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#435641;background:#e6e8da;padding:11px;font-size:13px}
.price-breakdown {margin:20px 0 0}
.price-breakdown div,.summary-products li {display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.price-breakdown div {padding:8px 0;font-size:17px}
.price-breakdown dd {margin:0;text-align:right;font-variant-numeric:tabular-nums}
.discount-line {color:#425a42}
.price-breakdown .grand-total {margin:10px 0 18px;border-top:1px solid #d3c2b2;padding-top:16px;font-size:22px}
.grand-total dd {font-size:27px;font-weight:600}
#shopping-page .primary {background:#603b49;color:#fffaf2;border-radius:2px;min-height:50px;padding:12px 20px;font-size:17px;line-height:1.35;display:inline-flex;justify-content:center;align-items:center;gap:9px}
#shopping-page .primary:hover {background:#472e38}
.basket-summary .primary {width:100%}
.demo-caption {font-size:15px;margin-top:13px}
.shipping-options {margin:26px 0 18px;padding:0;border:0}
.shipping-options legend {margin-bottom:11px;padding:0}
.shipping-options label {display:flex;align-items:center;gap:9px;border:1px solid #ddd0c3;min-height:50px;padding:10px 14px;font-size:17px;cursor:pointer}
.shipping-options label+label {border-top:0}
.shipping-options label:has(input:checked) {background:#f4eee7}
.shipping-options input {accent-color:#774958}
.shipping-options strong {margin-left:auto;font-size:16px}
.cart-help {font-size:16px}
.cart-help summary {cursor:pointer;padding:10px 0;color:#614351}
.cart-help>div,.draft-links {display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.draft-links:not(:empty) {margin-top:16px}
.order-form .field {display:flex;flex-direction:column;align-items:stretch;gap:7px;font-size:16px;margin:15px 0}
.order-form .field small {display:inline;font-weight:400;font-size:14px;color:#6b5b54}
.order-form .field input,.order-form .field textarea {width:100%;min-width:0;font-size:16px;min-height:44px}
.checkout-fields {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-fields>* {min-width:0}
.order-form .commerce-next {margin-top:9px}
.pickup-place {display:flex;align-items:center;gap:7px;font-size:14px}
.summary-products {padding:0;margin:16px 0;list-style:none}
.summary-products li {padding:7px 0;font-size:16px;line-height:1.5}
.summary-products strong {font-weight:500;white-space:nowrap}
.payment-details {padding-bottom:20px;border-bottom:1px solid #dbcebf;margin-bottom:24px}
.payment-details p {margin-top:9px}
.gift-message {font-style:italic}
.test-method {display:flex;align-items:center;gap:16px;background:#f3ede5;padding:15px;margin:15px 0}
.sample-card {display:grid;place-items:end start;flex:none;width:91px;aspect-ratio:1.58;border-radius:5px;padding:10px;color:#fff6e7;background:#74505c;font-size:13px;letter-spacing:.1em}
.test-method strong {font-weight:600;font-size:15px}
.empty-basket,.receipt-card {text-align:center;margin:25px auto;max-width:560px;padding:25px clamp(12px,3vw,45px)}
.empty-basket>.icon {width:40px;height:40px;color:#825565;margin-bottom:14px}
.empty-basket p,.receipt-card>p {margin:12px 0 22px}
.receipt-card {background:#f4ece4;border:1px solid #dfd1c3}
.receipt-card>img {margin:0 auto 18px}
.receipt-card h1 em {color:#885465}
.receipt-card .summary-products,.receipt-card .price-breakdown {text-align:left}
.receipt-ref {border-block:1px solid #d7c8b9;padding:13px 0;font-size:13px}
.receipt-ref strong {margin-left:8px}
@media(max-width:760px) {
  #shopping-page {padding-inline:18px}
  .purchase-heading {align-items:flex-start;flex-direction:column;gap:17px}
  .purchase-layout {grid-template-columns:minmax(0,1fr);gap:22px}
  .purchase-steps {gap:clamp(7px,2.5vw,18px);flex-wrap:wrap;font-size:15px}
  .basket-summary {padding:20px}
  .basket-item {grid-template-columns:74px minmax(0,1fr) auto;gap:10px}
  .basket-controls {gap:4px;flex-wrap:wrap}
  .basket-qty button {width:38px;height:40px}
  .line-total {font-size:16px}
  .checkout-fields {grid-template-columns:1fr;gap:0}
  .checkout-fields .field {margin-bottom:0}
  .form-section-head {align-items:flex-start;flex-wrap:wrap;gap:8px}
}
.bag-label {display:none}
@media(min-width:900px) {
  .tools .bag-button {display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;padding-inline:8px}
  .bag-label {display:inline;font-size:13px;font-weight:400}
  .tools #cart-count:not([hidden]) {position:static;display:grid;place-items:center;min-width:18px;min-height:18px;border-radius:50%;font-size:10px}
}

#shopping-page .purchase-heading {flex-wrap:wrap}
#shopping-page .gift-intro {font-size:18px;line-height:1.5;margin:0 0 22px;max-width:52ch}
.gift-options {border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gift-options legend {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gift-option {min-width:0;display:grid;position:relative;grid-template-columns:clamp(65px,6.3vw,92px) minmax(0,1fr);align-items:center;gap:12px;padding:10px 29px 10px 10px;border:1px solid #dacbc0;background:#fcf8f3;border-radius:5px;cursor:pointer}
.gift-option:has(:checked) {outline:1px solid #75495c;border-color:#75495c;background:#f6edeb}
.gift-option:focus-within {box-shadow:0 0 0 3px #b8959c}
.gift-option img {width:100%;height:auto;aspect-ratio:1;border-radius:3px}
.gift-option>span {display:grid;gap:6px}
.gift-option strong {font:500 clamp(18px,1.5vw,24px)/1.12 var(--display);color:#4a3640}
.gift-option>span>span {font-size:16px}
.gift-option input {position:absolute;right:8px;top:9px;accent-color:#714758;width:17px;height:17px}
.gift-next {display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin-top:24px}
.summary-gifts {border-top:1px solid #d5c6b8;padding-top:9px}
.payment-details .summary-gifts {border:0;padding:0}
@media(max-width:1050px) and (min-width:761px) {
  .gift-option {grid-template-columns:minmax(0,1fr);padding:11px}
  .gift-option img {max-height:145px;object-fit:contain;background:#f7efe6}
  .gift-option input {outline:3px solid #fcf8f3;right:12px;top:14px}
}
@media(max-width:550px) {
  .gift-options {gap:10px}
  .gift-option {grid-template-columns:1fr;padding:9px;gap:10px}
  .gift-option>span {padding-block:1px 4px}
  .gift-option input {right:13px;top:13px}
  .purchase-steps>* {gap:4px}
  .step-number {width:24px;height:24px}
}
