.checkout-main{max-width:1080px;margin:auto;padding:22px 28px 48px}.back-design{font-size:14px;color:#536d55;text-decoration:none;display:inline-block;padding:10px 0}.checkout-main h1{font-size:30px;margin:12px 0 28px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}.bag-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dae1d2;padding-bottom:14px}.bag-heading h2,.checkout-form h2{font-size:20px;margin:0}.bag-heading span{color:#74816b}.bag-line{display:flex;gap:16px;padding:23px 0;border-bottom:1px solid #e0e5d8;align-items:center}.bag-line>img{width:95px;height:90px;object-fit:contain;flex-shrink:0}.bag-content{flex:1;min-width:0}.bag-item-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.bag-item-heading h3{font-size:16px;margin:0}.bag-item-heading strong{white-space:nowrap;font-size:15px}.bag-colors{font-size:12px;color:#6e7e67;line-height:1.6;margin:6px 0 12px}.bag-actions{display:flex;align-items:center;gap:17px;font-size:13px}.bag-actions a{color:#405c46;text-underline-offset:4px}.quantity-control{display:flex;align-items:center;border:1px solid #cbd5c2;border-radius:9px;overflow:hidden;direction:ltr}.quantity-control button{width:38px;height:40px;background:transparent;border:0;font-size:20px;color:inherit;padding:0;cursor:pointer}.quantity-control button:disabled{opacity:.3;cursor:default}.quantity-control span{min-width:23px;text-align:center;font-weight:700}.remove-item{color:#a45246;border:0;background:transparent;font:inherit;padding:10px 0;min-height:44px;cursor:pointer}#add-design{display:inline-block;font-size:14px;color:#42644c;margin:16px 0;text-underline-offset:4px}.checkout-form{margin:0}.checkout-form h2{margin-bottom:20px}.checkout-form .order-fields{display:grid;grid-template-columns:1fr;gap:18px}.checkout-form label{display:block;font-size:14px;margin-bottom:8px}.checkout-form input:not([type=radio]){width:100%;min-height:48px;border:1px solid #cdd7c4;border-radius:9px;background:#fffefa;padding:11px 12px;color:inherit;font:inherit;font-size:16px}.checkout-form .phone-control{display:flex;border:1px solid #cdd7c4;border-radius:9px;align-items:center;background:#fffefa}.checkout-form .phone-control input{border:0;min-width:0;background:transparent}.phone-prefix{padding:0 12px;border-right:1px solid #dce3d5;font-size:14px}.checkout-form .fulfillment-options{gap:10px;margin:26px 0 20px}.checkout-form .fulfillment-options label{display:flex;gap:9px;margin:0;border-radius:9px;padding:13px}.checkout-form .fulfillment-options input{flex-shrink:0}.checkout-form .fulfillment-options legend{font-size:14px}.checkout-form .order-help{font-size:12px;line-height:1.6;color:#697962}.checkout-form .order-pricing{background:none;border:0;border-top:1px solid #dce3d5;border-radius:0;padding:19px 0;margin:22px 0 8px}.checkout-form .order-pricing h3{display:none}.checkout-form .price-row{margin:9px 0;font-size:14px}.checkout-form .price-total{font-size:19px;padding-top:13px;border-top:0}.checkout-page .button{font:inherit;padding:13px 18px;border:1px solid #cbd5c3;border-radius:10px;cursor:pointer;color:inherit;background:transparent;min-height:48px}.checkout-page .button-primary{background:#45664d;color:#fff;border:0;font-weight:700}.checkout-page .button:disabled{opacity:.45;cursor:default}.checkout-form .action-row button{width:100%;margin-top:10px}#choose-location{margin-top:12px;width:100%}#selected-location{font-size:13px}.item-error,#checkout-error{font-size:13px;color:#a74434}.empty-bag{padding:25px 0;color:#78856d}#bag-notice{font-size:12px;color:#7a7253}.checkout-form input:focus-visible,.checkout-page button:focus-visible,.checkout-page a:focus-visible{outline:2px solid #7e66aa;outline-offset:3px}
.customize-page .your-design{background:none;box-shadow:none;border:0;border-radius:0;padding:18px 0 0;margin-top:15px}.customize-page .collection-section{margin-top:20px}.checkout-bar{display:flex;gap:14px;align-items:center;margin-top:20px}.checkout-bar #save-image{flex:1;min-height:50px}.checkout-bar #cart-summary{font-size:13px;white-space:nowrap}.customize-page .customizer-section{padding-top:18px}.customize-page .intro{margin-bottom:20px}.customize-page .screen-note{margin-top:12px}.customize-page .price-section{padding-top:32px}.customize-page .customer-back{margin-top:0}
@media(max-width:760px){.checkout-main{padding:14px 20px 32px}.checkout-main h1{font-size:26px;margin:8px 0 22px}.checkout-layout{grid-template-columns:1fr;gap:28px}.checkout-form{border-top:1px solid #dce3d5;padding-top:25px}.bag-line{gap:10px;padding:17px 0}.bag-line>img{width:78px;height:78px}.bag-actions{gap:14px}.quantity-control button{width:36px}.bag-item-heading h3{font-size:15px}.bag-colors{font-size:11px}.checkout-page .customer-header{padding:15px 20px}.customize-page .studio-grid{gap:22px}.customize-page .parts-heading{margin-top:0}.customize-page .intro h1{font-size:27px}.customize-page .stage{min-height:300px;height:350px}.customize-page .your-design .placed-sticker{display:none}.customize-page .checkout-bar{position:sticky;bottom:12px;background:var(--surface,#fffdf7);padding:10px;border-radius:14px;box-shadow:0 3px 18px #203d251a;z-index:3}.customize-page .checkout-bar #save-image{font-size:15px}.customize-page .summary{margin-bottom:10px}}

/* Checkout details: approved glass cards and a quiet ready cue. */
html[lang=ar] .checkout-page #order-name:placeholder-shown{direction:rtl;text-align:right}
html[lang=en] .checkout-page #order-name:placeholder-shown{direction:ltr;text-align:left}
.checkout-page #order-details .fulfillment-options label{position:relative;isolation:isolate;border:1px solid #ffffff40;border-radius:14px;background:var(--customer-box-fill,#ffffff0a);color:var(--customer-box-ink,#343d44);box-shadow:var(--customer-box-highlight);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);transition:box-shadow .2s ease,border-color .2s ease;cursor:pointer}
.checkout-page #order-details .fulfillment-options label::before,
.checkout-page #order-details #save-image::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#a1e4efc9 0%,#b6b5ef9e 18%,#edb9d3bd 34%,#ecd69cb8 49%,#ffffffd9 58%,#b3e4e7c4 73%,#b9bbecb0 87%,#f4d3e4b8 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.checkout-page #order-details .fulfillment-options label::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--customer-box-fade);pointer-events:none}
.checkout-page #order-details .fulfillment-options label:has(input:checked)::before{padding:3px}
.checkout-page #order-details .fulfillment-options label:has(input:checked) span{font-weight:800}
.checkout-page #order-details .fulfillment-options label:has(input:focus-visible){outline:3px solid #9984be;outline-offset:3px}
.checkout-page #order-details .fulfillment-options input{accent-color:var(--customer-box-ink,#343d44)}
.checkout-page #order-details #save-image{transition:transform .18s ease,opacity .18s ease;transform-origin:center}
.checkout-page #order-details #save-image:not(:disabled){font-weight:800;box-shadow:var(--customer-box-highlight),0 0 0 2px #91ac7e26;animation:checkout-ready-pulse 1.8s ease-out 2}
.checkout-page #order-details #save-image:not(:disabled):active{transform:scale(.985)}
.checkout-page #order-details #save-image:disabled{animation:none;transform:none}
@keyframes checkout-ready-pulse{0%,100%{box-shadow:var(--customer-box-highlight),0 0 0 2px #91ac7e26}50%{box-shadow:var(--customer-box-highlight),0 0 0 6px #91ac7e00,0 0 18px #a7c3a52b}}
@media(prefers-reduced-motion:reduce){.checkout-page #order-details #save-image,.checkout-page #order-details #save-image:not(:disabled){animation:none;transition:none}.checkout-page #order-details .fulfillment-options label{transition:none}}

/* Fields follow the tracking form; number controls and dividers use the pastel rim. */
.checkout-page{--checkout-input:#ffffff70;--checkout-line:#cbd4de;--checkout-divider:linear-gradient(90deg,#a1e4efc9 0%,#b6b5efb8 20%,#edb9d3cf 40%,#ecd69cc9 60%,#b3e4e7d6 80%,#b9bbecbf 100%)}
html[data-theme=dark] .checkout-page{--checkout-input:#ffffff08;--checkout-line:#606d79}
.checkout-page #order-details .order-field input:not([type=radio]),
.checkout-page #order-details .phone-control{min-height:52px;border:1px solid var(--checkout-line);border-radius:14px;background:var(--checkout-input);color:var(--customer-box-ink,#343d44);box-shadow:none;font-size:16px}
.checkout-page #order-details .order-field input:not([type=radio]){padding:12px 14px}
.checkout-page #order-details .phone-control{overflow:hidden}
.checkout-page #order-details .order-field .phone-control input:not([type=radio]){border:0;border-radius:0;background:transparent;min-height:50px;text-align:center}
.checkout-page #order-details .phone-prefix{flex:none;color:inherit;border-right-color:var(--checkout-line)}
.checkout-page .bag-heading,.checkout-page .bag-line,.checkout-page .checkout-form,.checkout-page .order-pricing{border-image:var(--checkout-divider) 1}
.checkout-page .quantity-control{position:relative;isolation:isolate;border:1px solid #ffffff40;border-radius:12px;background:var(--customer-box-fill,#ffffff0a);box-shadow:var(--customer-box-highlight);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}
.checkout-page .quantity-control::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#a1e4efc9 0%,#b6b5ef9e 18%,#edb9d3bd 34%,#ecd69cb8 49%,#ffffffd9 58%,#b3e4e7c4 73%,#b9bbecb0 87%,#f4d3e4b8 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.checkout-page .quantity-control::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--customer-box-fade);pointer-events:none}
.checkout-page .quantity-control button{min-width:40px;height:44px}
.checkout-page .quantity-control button:not(:disabled):active{background:#ffffff30}

/* Keep submission feedback visible until the confirmation page takes over. */
.checkout-page #order-details #save-image[aria-busy=true]{opacity:1;cursor:wait;gap:14px;min-height:50px}
.checkout-loading-dots{display:inline-flex;direction:ltr;align-items:center;gap:5px;height:18px}
.checkout-loading-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#94cdd8}
.checkout-loading-dots i:nth-child(2){background:#d5add0;animation-delay:.14s}
.checkout-loading-dots i:nth-child(3){background:#daca8f;animation-delay:.28s}
@media(prefers-reduced-motion:no-preference){.checkout-loading-dots i{animation:checkout-loading-dot .9s ease-in-out infinite}@keyframes checkout-loading-dot{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}}

/* Contact and optional discount share one row, above fulfillment. */
.checkout-page #order-details .order-fields{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px 12px}
.checkout-page #order-details .order-name-field{grid-column:1/-1}
.checkout-page #order-details .order-field{min-width:0}
.checkout-page #order-details .phone-prefix{padding:0 9px;font-size:13px}
.checkout-page #order-details .order-field .phone-control input{padding:12px 6px}
.checkout-page #order-details .promo-control{display:flex;direction:ltr;align-items:center;min-height:52px;border:1px solid var(--checkout-line);border-radius:14px;background:var(--checkout-input);overflow:hidden}
.checkout-page #order-details .promo-control input:not([type=radio]){min-width:0;min-height:50px;border:0;border-radius:0;background:transparent;text-align:center;padding:12px 6px}
.checkout-page #order-details #apply-promo{flex:none;min-width:47px;min-height:44px;margin:3px;border:0;border-radius:10px;background:#c3d6dd26;color:inherit;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,opacity .2s}
.checkout-page #order-details #apply-promo:disabled{opacity:.45;cursor:default}
.checkout-page #order-details #apply-promo:not(:disabled):hover{background:#c3d6dd4a}
.checkout-page #order-details .promo-feedback{margin:9px 0 0;overflow-wrap:anywhere}
.checkout-page #order-details .promo-feedback[data-state=applied]{color:#4f7059}
.checkout-page #order-details .promo-feedback[data-state=error]{color:#b34b43}
html[data-theme=dark] .checkout-page #order-details .promo-feedback[data-state=applied]{color:#b2d8ba}
html[data-theme=dark] .checkout-page #order-details .promo-feedback[data-state=error]{color:#f3aaa2}
.checkout-page #add-design{display:flex;position:relative;isolation:isolate;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;margin:18px 0 0;padding:13px 18px;border:1px solid #ffffff40;border-radius:16px;text-decoration:none;color:var(--customer-box-ink,#343d44);font-size:16px;font-weight:700;line-height:1.4;background:var(--customer-box-fill,#ffffff0a);box-shadow:var(--customer-box-highlight);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);transition:transform .18s,filter .18s}
.checkout-page #add-design::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#a1e4efc9 0%,#b6b5ef9e 18%,#edb9d3bd 34%,#ecd69cb8 49%,#ffffffd9 58%,#b3e4e7c4 73%,#b9bbecb0 87%,#f4d3e4b8 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.checkout-page #add-design::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--customer-box-fade);pointer-events:none}
.checkout-page #add-design .ui-icon{display:block;flex:none;width:25px;height:25px}
.checkout-page #add-design .ui-label{line-height:1.4;transform:none}
.checkout-page #add-design:hover{filter:brightness(1.025)}
.checkout-page #add-design:active{transform:scale(.985)}
@media(max-width:380px){.checkout-page #order-details .order-fields{gap:18px 8px}.checkout-page #order-details .phone-prefix{padding:0 5px;font-size:12px}.checkout-page #order-details .order-field .phone-control input{padding:12px 3px}.checkout-page #order-details #apply-promo{min-width:42px;margin:2px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.checkout-page #add-design,.checkout-page #order-details #apply-promo{transition:none}}

/* Field errors identify the exact correction without blocking access to submit. */
.checkout-page #order-details .field-error{margin:7px 0 0;font-size:12px;line-height:1.65;color:#a83e3d;overflow-wrap:anywhere}
.checkout-page #order-details .field-hint{margin:6px 0 0;font-size:12px;line-height:1.65;color:#68767d}
.checkout-page #order-details .order-field input[aria-invalid=true]:not([type=radio]),
.checkout-page #order-details .phone-control:has(input[aria-invalid=true]),
.checkout-page #order-details #choose-location[aria-invalid=true]{border-color:#c86b67;background-color:#c86b6708}
.checkout-page #order-details .phone-control input[aria-invalid=true]{border:0}
.checkout-page #order-details #fulfillment-field[aria-invalid=true] legend{color:#a83e3d}
.checkout-page #order-details #save-image[data-ready=false]{animation:none;box-shadow:var(--customer-box-highlight)}
html[data-theme=dark] .checkout-page #order-details .field-error{color:#ffb6ae}
html[data-theme=dark] .checkout-page #order-details .field-hint{color:#b8c2ca}
.checkout-page #order-details input,#choose-location,#fulfillment-field{scroll-margin-block:110px}
