/* Loaded only by customer cart, checkout and account views, never admin views. */
.cart-add-ons { clear: both; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #605344; }
.cart-add-ons > p { color: #c4baaa; }
.cart-add-ons__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 1rem; }
.cart-add-on { display: flex; gap: 1rem; padding: 1rem; border: 1px solid #605344; background: #1b1915; min-width: 0; }
.cart-add-on__image { width: 90px; flex: 0 0 90px; align-self: flex-start; aspect-ratio: 4 / 5; background: #211e19; display: grid; place-items: center; }
.cart-add-on__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.cart-add-on__body { min-width: 0; flex: 1; }
.cart-add-on__body h3 { font-size: 1.1rem; overflow-wrap: anywhere; }
.cart-add-on__body form { display: grid; gap: .6rem; }
.cart-add-on__price { margin: 0; }
.atelier-home .cart-add-on .button-link { font-size: .65rem; padding: .65rem; gap: .5rem; width: 100%; }
.cart-add-ons__confirmation { clear: both; padding-top: 1rem; color: #c1e3cc; }
.billing-address-fields { display: grid; gap: .5rem; }
.billing-address-fields[hidden] { display: none; }
body.atelier-home { --hov-forest: #b8a17c; --hov-line: #605344; }
.atelier-home > .container { max-width: 1320px; padding-inline: clamp(1rem, 4vw, 3rem); }
.atelier-home :is(.cart-page, .checkout-page, .customer-orders) { display: flow-root; margin-block: 2rem 4rem; }
.atelier-home :is(.login-panel, .cart-lines, .shipping-option, .checkout-summary, .customer-order-card, .customer-order-lines) { background: #1b1915; border: 1px solid #605344; border-radius: 0; color: #eee7db; box-shadow: none; }
.atelier-home .login-panel { margin-block: 2.5rem 4rem; max-width: 540px; padding: clamp(1.25rem, 4vw, 2.5rem); }
.atelier-home :is(.login-panel, .checkout-page, .cart-page, .customer-orders) h1 { color: #eee7db; font-weight: 400; overflow-wrap: anywhere; }
.atelier-home :is(.cart-line p, .shipping-option p, .login-panel small, .customer-order-card small, .customer-order-lines small, .eyebrow) { color: #c4baaa; }
.atelier-home .cart-line { border-color: #605344; }
.atelier-home .cart-line h2 a { color: #eee7db; }
.atelier-home .cart-line__product { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; min-width: 0; }
.atelier-home .cart-line__product h2 { overflow-wrap: anywhere; }
.atelier-home .cart-line__product p { margin: 0; white-space: nowrap; }
.atelier-home .cart-page .cart-icon-button { min-width: 44px; min-height: 44px; padding: .65rem; font-size: 1.1rem; letter-spacing: normal; text-decoration: none; }
.atelier-home main .cart-icon-button:focus-visible { outline: 2px solid #e0c495; outline-offset: 3px; }
.atelier-home main :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { background: #11100e; color: #eee7db; border: 1px solid #887454; border-radius: 0; padding: .75rem; min-height: 44px; max-width: 100%; color-scheme: dark; }
.atelier-home main input[readonly] { background: #29251f; color: #c4baaa; }
.atelier-home main :is(input, select, textarea):focus-visible { outline: 2px solid #e0c495; outline-offset: 3px; }
.atelier-home main :is(input[type="checkbox"], input[type="radio"]) { accent-color: #d5c09b; }
.atelier-home main :is(.button-link, button:not(.link-button)) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.4rem; background: #d5c09b; color: #17140f; border: 1px solid #b8a17c; border-radius: 0; box-shadow: none; font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; white-space: normal; }
.atelier-home main :is(.button-link, button:not(.link-button)):hover { background: #eee0c6; color: #17140f; transform: none; }
.atelier-home main .button-link--secondary { background: transparent; color: #eee7db; }
.atelier-home .checkout-page [data-payment-form] { display: flex; justify-content: flex-end; }
.atelier-home .checkout-page .confirmation-payment-message { margin-top: 1.5rem; }
.atelier-home .checkout-page .confirmation-account-link { color: #e0c495; text-underline-offset: .2em; }
.atelier-home .checkout-page .confirmation-payment-button { margin-block: 1rem; background: #287344; border-color: #287344; color: #fff; }
.atelier-home .checkout-page .confirmation-payment-button:hover { background: #205e38; border-color: #205e38; color: #fff; }
.atelier-home .checkout-page .confirmation-outline-button { background: transparent; border-color: #b8a17c; color: #eee7db; }
.atelier-home .checkout-page .confirmation-outline-button:hover { background: #d5c09b; color: #17140f; }
.atelier-home .checkout-page :is(.confirmation-payment-button, .confirmation-outline-button):focus-visible { outline: 2px solid #e0c495; outline-offset: 3px; }
.atelier-home main .link-button { background: transparent; border: 0; color: #e0c495; min-height: 44px; text-decoration: underline; }
.atelier-home .account-address { border-color: #605344; min-width: 0; }
.atelier-home .account-address legend { font-family: "Cormorant Garamond", Georgia, serif; color: #eee7db; font-size: 1.5rem; }
.atelier-home .checkout-page .admin-form { max-width: none; }
.atelier-home .checkout-page fieldset { min-width: 0; background: #1b1915; color: #eee7db; border-color: #605344; border-radius: 0; }
.atelier-home .checkout-page .admin-form :is(label, legend) { color: #eee7db; font-size: 1rem; font-weight: 500; line-height: 1.5; }
.atelier-home :is(.validation-summary-errors, .field-validation-error) { color: #ffb4a9; }
.atelier-home .input-validation-error { border-color: #ffb4a9 !important; }
.atelier-home .empty-state { background: #1b1915; color: #c4baaa; border-color: #605344; }
.atelier-home .alert-success { background: #1d3025; color: #c1e3cc; border-color: #63816c; }
.atelier-home .alert-danger { background: #381f1d; color: #ffb4a9; border-color: #a26c62; }
.atelier-home .customer-orders .customer-order-card { background: #fff; color: #000; border-color: #d0d0d0; }
.atelier-home .customer-orders .customer-order-card :is(small, a) { color: #000; }
.atelier-home .paper-order { background: #fff; color: #000; border-color: #d0d0d0; box-shadow: none; }
.atelier-home .customer-orders .paper-order :is(h1, h2, h3) { color: #000; }
.atelier-home .paper-order::after { display: none; }
.atelier-home .paper-order :is(small, .paper-order__table-head, .paper-order__footer) { color: #000; }
.atelier-home .paper-order :is(.paper-order__header, .paper-order__meta, .paper-order__table-head, .paper-order__line, .paper-order__lower, .paper-order__total, .paper-order__footer) { border-color: #d0d0d0; }
.atelier-home .paper-order__brand strong, .atelier-home .paper-order__total strong { font-family: "Cormorant Garamond", Georgia, serif; }
.atelier-home .paper-order__brand strong { font-weight: 400; text-transform: uppercase; letter-spacing: .35em; }
.atelier-home .paper-order__logo { width: 64px; height: auto; max-height: 80px; object-fit: contain; flex-shrink: 0; }
.paper-order__costs { display: grid; grid-template-columns: auto auto; gap: .4rem 1rem; margin: 0 0 1rem; font-size: .8rem; }
.paper-order__costs dt { text-align: left; font-weight: 400; }
.paper-order__costs dd { margin: 0; white-space: nowrap; }
.atelier-home .paper-order__brand > span { background: #fff; color: #000; border: 1px solid #000; }
.atelier-home .paper-order__stamp { color: #000; border-color: #000; }
.atelier-home .paper-order__stamp--cancelled { color: #000; border-color: #000; }
.atelier-home .paper-order__line [data-label]::before { color: #000; }
.atelier-home .paper-order__action button { background: transparent; border-color: #df998d; color: #ffb4a9; }
.atelier-home .paper-order__action button:hover { background: #381f1d; color: #ffb4a9; }
.atelier-home .customer-order-card > *, .atelier-home .paper-order__meta > *, .atelier-home .paper-order__lower > * { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 650px) {
    .atelier-home .shipping-option { grid-template-columns: 1fr; }
    .atelier-home .shipping-option button { width: 100%; }
    .atelier-home .checkout-summary { padding: 1rem; overflow-wrap: anywhere; }
    .atelier-home .checkout-summary dl { gap: .5rem; }
    .atelier-home .checkout-link { float: none; display: flex; width: 100%; }
    .atelier-home .cart-total { gap: 1rem; flex-wrap: wrap; padding-inline: 0; }
}
