/* Shared shopping components inherit FORME typography, palette and pills. */
.size-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.size-options .filter{min-height:44px;padding:10px 22px;font-size:14px}.size-options button[aria-pressed=true],#finish-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.size-options button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.modal-quantity-label{display:flex;align-items:center;justify-content:space-between;margin:4px 0 20px;font-size:14px}.modal-quantity-label input{width:88px;border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:10px 16px;color:var(--ink)}#modal-full-details{display:block;width:fit-content;margin:16px 0}#product-dialog .modal-copy{overflow:auto}#product-dialog fieldset{margin-bottom:20px}#product-dialog #finish-options{display:flex;flex-wrap:wrap;gap:8px}#product-dialog #finish-options button{min-height:40px}#product-dialog .modal-copy>p{font-size:14px;line-height:1.6}#modal-price{display:block;margin:20px 0}#modal-dimensions{margin:16px 0}
#bag-dialog.bag-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100%);max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding:42px 30px 30px;overflow:auto;background:var(--paper)}.bag-drawer h2{font-size:34px;margin:12px 0 26px}.bag-drawer #bag-items{max-height:none;overflow:visible}.bag-drawer::backdrop{background:#20231f70;backdrop-filter:blur(3px)}.bag-empty{display:grid;gap:20px;padding:50px 0}.bag-empty h3{font-size:25px}.bag-checkout-actions{display:grid;gap:12px;margin:24px 0 14px}.button.outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}.bag-drawer .button{width:100%;justify-content:center}#continue-shopping{margin-top:18px}
.cart-line{display:grid;grid-template-columns:136px minmax(0,1fr) auto;align-items:start;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.cart-line-image{background:var(--cream);border-radius:12px;overflow:hidden;aspect-ratio:1}.cart-line-image img{width:100%;height:100%;object-fit:contain;padding:16px;opacity:1}.cart-line-title{display:inline-block;font-size:20px;line-height:1.35;font-weight:500;margin:4px 0 10px}.cart-line-copy p{font-size:14px;line-height:1.6;color:var(--muted)}.cart-line-copy .cart-dimensions{font-size:13px;margin-top:4px}.cart-line>strong{font-size:18px;margin-top:8px;white-space:nowrap}.cart-line-actions{display:flex;align-items:center;gap:20px;margin-top:18px}.cart-quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;height:42px}.cart-quantity button{width:36px;height:40px;font-size:20px}.cart-quantity button:disabled{opacity:.35;cursor:default}.cart-quantity input{width:38px;text-align:center;background:transparent;border:0;color:var(--ink);font-size:14px;appearance:textfield;-moz-appearance:textfield}.cart-quantity input::-webkit-inner-spin-button{appearance:none}.cart-line-actions .text-link{font-size:14px;padding-block:4px}.cart-line-compact{grid-template-columns:86px minmax(0,1fr) auto;gap:14px;padding:22px 0}.cart-line-compact .cart-line-title{font-size:16px;margin-top:2px;margin-bottom:6px}.cart-line-compact .cart-line-image img{padding:8px}.cart-line-compact>strong{font-size:15px;margin-top:3px}.cart-line-compact .cart-dimensions{display:none}.cart-line-compact .cart-line-actions{flex-wrap:wrap;gap:10px;margin-top:12px}.cart-line-compact .cart-quantity{height:36px}.cart-line-compact .cart-quantity button{height:34px;width:30px}.cart-line-compact .cart-quantity input{width:30px}.cart-help{font-size:14px!important;line-height:1.7!important;color:var(--muted);margin:16px 0}.checkout-section{padding-block:56px 90px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start;gap:64px}.cart-section-heading,.summary-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.cart-section-heading h2{font-size:30px}.cart-section-heading h2 span{font-size:20px}.order-summary{position:sticky;top:32px;min-width:0;padding:32px;background:var(--cream);border-radius:16px}.order-summary h2{font-size:30px;line-height:1.2;margin:12px 0 28px}.order-summary>.button,.order-summary>button{display:flex;width:100%;justify-content:center;margin-top:14px}.order-totals{margin:24px 0}.order-totals>div{display:flex;justify-content:space-between;gap:16px;margin:16px 0;font-size:14px;line-height:1.5}.order-totals dd{margin:0;font-weight:500;white-space:nowrap}.order-totals .discount-row{color:var(--blue)}.order-totals .order-total{padding-top:22px;border-top:1px solid #c9cbc1;font-size:23px;font-weight:500}.order-total dt span{font-size:12px;font-weight:400}.discount-form{border-top:1px solid #c9cbc1;padding-top:24px;margin:24px 0}.discount-form>label{font-size:14px;font-weight:500;display:block;margin-bottom:12px}.discount-form>div{display:flex;gap:8px}.discount-form input{width:100%;min-width:0;border:1px solid #babeb0;border-radius:999px;background:var(--paper);padding:12px 16px;color:var(--ink);font-size:14px}.discount-form .button{padding:12px 20px;font-size:14px}.discount-form>p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:10px}.discount-form .text-link{font-size:13px;margin-top:8px}.cart-delivery-note{display:grid;gap:14px;margin-top:40px;padding:30px;background:var(--sage);border-radius:16px}.cart-delivery-note h3{font-size:24px}.cart-delivery-note p{font-size:14px;line-height:1.7;max-width:520px}.checkout-empty{display:grid;justify-items:center;text-align:center;gap:24px;max-width:700px;margin:40px auto 70px}.checkout-empty h2{font-size:clamp(30px,4vw,48px)}.checkout-empty p{font-size:16px;line-height:1.7;max-width:500px}
.checkout-steps{display:flex;gap:16px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.checkout-steps button{display:flex;align-items:center;gap:12px;flex:1;text-align:left;font-size:14px;color:var(--muted)}.checkout-steps button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #acb09f;font-size:12px;flex-shrink:0}.checkout-steps button[aria-current=step]{color:var(--blue);font-weight:600}.checkout-steps button[aria-current=step]>span{background:var(--blue);border-color:var(--blue);color:#fff}.checkout-steps button:disabled{opacity:.5;cursor:default}.checkout-card{padding:32px;border:1px solid var(--line);border-radius:16px}.checkout-card h2{font-size:30px;line-height:1.25}.checkout-card-heading{display:flex;align-items:center;gap:22px;margin-bottom:28px}.checkout-card-heading .eyebrow{margin-bottom:12px}.step-number{width:52px;height:52px;flex-shrink:0;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:14px}#checkout-panel{scroll-margin-top:32px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin:28px 0}.checkout-fields label{display:grid;gap:10px;font-size:14px;font-weight:500}.checkout-fields .field-wide{grid-column:1/-1}.checkout-fields input,.checkout-fields select{display:block;width:100%;height:50px;min-width:0;padding:12px 16px;border:1px solid #b6bba9;border-radius:8px;background:var(--paper);font:inherit;color:var(--ink);font-size:15px}.checkout-fields input:focus-visible,.checkout-fields select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.checkout-fields input:user-invalid{border-color:#a43729}.checkout-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;flex-wrap:wrap}.checkout-actions>.button{margin-left:auto}.checkout-card form>.button{margin-top:16px}.delivery-options{border:0;padding:0;margin:30px 0}.delivery-options legend{margin-bottom:16px}.delivery-options label{display:flex;align-items:center;gap:14px;padding:22px 18px;border:1px solid #b6bba9;border-radius:12px;margin-bottom:14px;cursor:pointer}.delivery-options label:has(input:checked){border-color:var(--blue);background:#253db508;box-shadow:inset 0 0 0 1px var(--blue)}.delivery-options input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}.delivery-options label>span{flex:1;min-width:0}.delivery-options strong{font-size:15px;line-height:1.5;font-weight:500}.delivery-options small{display:block;font-size:13px;line-height:1.6;margin-top:6px}.delivery-options b{font-size:15px;font-weight:500}.review-block{padding:24px 0;border-bottom:1px solid var(--line)}.review-block>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.review-block h3{font-size:17px}.review-block p{font-size:14px;line-height:1.8;margin:12px 0}.demo-payment{margin:28px 0;padding:24px;border-radius:12px;background:var(--sage)}.demo-payment h3{font-size:24px;line-height:1.3;margin:12px 0}.demo-payment p{font-size:14px;line-height:1.7}.checkout-consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6}.checkout-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue)}#checkout-error{color:#9c3022;font-size:14px;line-height:1.6;margin-top:16px}.confirmation-top{text-align:center;max-width:900px;margin:0 auto 60px;display:grid;justify-items:center;gap:20px}.confirmation-top h2{font-size:clamp(32px,4vw,50px);max-width:700px;line-height:1.2}.confirmation-top>p{max-width:600px;line-height:1.7}.confirmation-mark{display:grid;place-items:center;width:72px;height:72px;background:var(--lime);border-radius:50%}.confirmation-mark svg{width:32px;height:32px}.confirmation-reference{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:28px 0;border-block:1px solid var(--line);margin:16px 0;width:100%}.confirmation-reference>div{display:grid;gap:10px;text-align:left}.confirmation-reference span{font-size:12px;letter-spacing:.06em;text-transform:uppercase}.confirmation-reference strong{font-size:14px;font-weight:500}
@media(prefers-reduced-motion:no-preference){.bag-drawer[open]{animation:forme-bag-in 350ms var(--ease)}@keyframes forme-bag-in{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.checkout-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(310px,360px)}.order-summary,.checkout-card{padding:24px}.cart-line{grid-template-columns:100px minmax(0,1fr) auto;gap:16px}.cart-line-compact{grid-template-columns:66px minmax(0,1fr) auto;gap:10px}.order-summary .cart-line-title{font-size:15px}.order-summary .cart-line>strong{font-size:14px}}
@media(max-width:850px){.checkout-layout{grid-template-columns:1fr;gap:36px}.order-summary{position:static}.checkout-section{padding-block:36px 60px}.checkout-steps{gap:12px}.checkout-steps button{font-size:13px;gap:8px}.checkout-card-heading h2{font-size:28px}.cart-line-compact{grid-template-columns:86px minmax(0,1fr) auto}.bag-drawer .cart-line-compact{grid-template-columns:76px minmax(0,1fr) auto}.checkout-steps{margin-bottom:24px}}
@media(max-width:560px){.checkout-section{padding-block:28px 50px}.checkout-layout{gap:28px}.checkout-card,.order-summary{padding:22px 18px;border-radius:12px}.checkout-card-heading{gap:14px;align-items:flex-start}.checkout-card-heading h2{font-size:25px}.checkout-card-heading .eyebrow{font-size:10px;line-height:1.8}.step-number{width:38px;height:38px}.checkout-fields{gap:20px 14px}.checkout-fields label{font-size:13px}.cart-line{grid-template-columns:76px minmax(0,1fr);gap:14px}.cart-line>strong{grid-column:2;font-size:16px;margin-top:-6px}.cart-line-title{font-size:17px}.cart-line-actions{gap:14px;flex-wrap:wrap}.cart-line-copy .cart-dimensions{font-size:12px}.cart-line-compact{grid-template-columns:68px minmax(0,1fr) auto;gap:12px}.cart-line-compact>strong{grid-column:auto;font-size:14px;margin-top:4px}.bag-drawer .cart-line-compact{grid-template-columns:68px minmax(0,1fr)}.bag-drawer .cart-line-compact>strong{grid-column:2;margin-top:-8px}.cart-section-heading h2{font-size:26px}.cart-section-heading .text-link{font-size:13px}.checkout-steps{gap:10px;padding-bottom:24px}.checkout-steps button{flex-direction:column;align-items:flex-start;font-size:12px;line-height:1.5}.checkout-actions{gap:20px;align-items:stretch;flex-direction:column-reverse}.checkout-actions>.button{margin:0;width:100%;justify-content:center;font-size:14px}.checkout-actions>.text-link{align-self:center}.delivery-options label{padding:18px 12px;gap:10px}.delivery-options small{font-size:12px}.delivery-options strong,.delivery-options b{font-size:14px}.demo-payment{padding:20px}.confirmation-reference{justify-content:flex-start;gap:24px;text-align:left}.confirmation-top{margin-bottom:32px}#bag-dialog.bag-drawer{padding:40px 22px 24px}.bag-drawer h2{font-size:30px}.cart-delivery-note{padding:24px}.modal-copy{max-height:none}.modal-copy h2{font-size:28px}}
@media(max-width:360px){.checkout-fields{grid-template-columns:1fr}.checkout-fields label{grid-column:1/-1}.cart-line-compact{grid-template-columns:60px minmax(0,1fr)}.cart-line-compact>strong{grid-column:2;margin-top:-4px}.order-totals>div{font-size:13px}.order-totals .order-total{font-size:21px}}
@media(prefers-reduced-motion:reduce){main.page-arriving,main.page-leaving{animation:none;transition:none;opacity:1;transform:none}}
@media print{header,.announcement,footer,.newsletter,.checkout-steps,.order-summary>.button,.order-summary>button,.hero,.toast{display:none!important}.checkout-layout{display:block}.checkout-section{padding:0}.order-summary{position:static;break-inside:avoid;background:white}.wrap{width:100%}.cart-line{break-inside:avoid}.confirmation-top{margin:0 0 20px}}
