/* The shopping journey has its own scope so the atelier dialogs stay independent. */
dialog.at-shop-dialog {
  --at-shop-forest: #15382d;
  --at-shop-ivory: #f8f5ee;
  --at-shop-gold: #a68c61;
  --at-shop-muted: #6f786d;
  --at-shop-line: #d9ded1;
  width: min(1120px, calc(100vw - 48px));
  max-width: none;
  max-height: 90vh;
  max-height: 90dvh;
  margin: auto;
  padding: 0;
  border: 1px solid #d6ddcf;
  border-radius: 0;
  background: var(--at-shop-ivory);
  color: var(--at-shop-forest);
  font: 14px/1.5 Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  overflow: hidden;
  box-shadow: 0 28px 100px #102d2561;
}
.at-shop-dialog::backdrop { background: #0b211dc9; backdrop-filter: blur(5px); }
.at-shop-dialog *, .at-shop-dialog *::before, .at-shop-dialog *::after { box-sizing: border-box; }
.at-shop-dialog [hidden] { display: none !important; }
.at-shop-dialog h2, .at-shop-dialog h3, .at-shop-dialog h4, .at-shop-dialog p,
.at-shop-dialog dl, .at-shop-dialog dd, .at-shop-dialog ol { margin: 0; }
.at-shop-dialog button, .at-shop-dialog input, .at-shop-dialog select { font: inherit; }
.at-shop-dialog button { color: inherit; cursor: pointer; }
.at-shop-dialog button:disabled { cursor: default; opacity: .4; }
.at-shop-dialog :is(button, input, select, a):focus-visible { outline: 2px solid var(--at-shop-gold); outline-offset: 4px; }
.at-shop-dialog img { display: block; object-fit: cover; }
.at-shop-shell { display: flex; flex-direction: column; height: min(820px, 90vh); height: min(820px, 90dvh); min-height: 0; }
.at-shop-header { flex: 0 0 auto; display: flex; align-items: center; gap: 20px; padding: 21px 32px; border-bottom: 1px solid var(--at-shop-line); }
.at-shop-brand { font: 31px/1.05 Georgia, 'Songti SC', serif; letter-spacing: -.8px; }
.at-shop-brand small { display: block; margin-top: 7px; font: 9px/1.4 Arial, 'PingFang SC', sans-serif; letter-spacing: 1.8px; }
.at-shop-header-meta { margin-left: auto; color: var(--at-shop-muted); font-size: 12px; }
.at-shop-close { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--at-shop-line); border-radius: 50%; background: transparent; font: 29px/1 Georgia, serif !important; transition: background .18s, border-color .18s; }
.at-shop-close:hover { background: #e8ecdf; border-color: #a5b49e; }
.at-shop-stepbar { flex: 0 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0 32px; border-bottom: 1px solid var(--at-shop-line); background: #f1f0e7; }
.at-shop-stepbar li { min-width: 0; }
.at-shop-step { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 61px; padding: 12px 8px; border: 0; background: transparent; font-size: 12px !important; text-align: center; color: var(--at-shop-muted) !important; }
.at-shop-step > span { display: grid; place-items: center; flex: 0 0 23px; width: 23px; height: 23px; border: 1px solid #bac6b3; border-radius: 50%; font-size: 10px; }
.at-shop-step[aria-current='step'] { color: var(--at-shop-forest) !important; }
.at-shop-step[aria-current='step']::after { content: ''; position: absolute; bottom: -1px; left: 10%; right: 10%; height: 2px; background: var(--at-shop-forest); }
.at-shop-step[aria-current='step'] > span { border-color: var(--at-shop-forest); background: var(--at-shop-forest); color: var(--at-shop-ivory); }
.at-shop-step:not(:disabled):hover { background: #e9ebdf; }
.at-shop-body { display: grid; grid-template-columns: minmax(0, 1fr) 324px; flex: 1 1 auto; min-height: 0; align-items: start; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #a6b49e #f2f0e7; }
.at-shop-main { min-width: 0; padding: 34px 32px 38px; }
.at-shop-kicker { color: #8c7650; font-size: 10px; letter-spacing: 1.5px; line-height: 1.6; }
.at-shop-dialog .at-shop-panel-title { margin-top: 14px; font: 400 38px/1.15 Georgia, 'Songti SC', serif; letter-spacing: -1px; }
.at-shop-dialog .at-shop-description { margin-top: 16px; margin-bottom: 29px; max-width: 560px; color: var(--at-shop-muted); font-size: 13px; line-height: 1.85; }
.at-shop-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 13px 22px; border: 1px solid var(--at-shop-forest); background: var(--at-shop-forest); color: var(--at-shop-ivory) !important; font-size: 12px !important; line-height: 1.5; text-align: center; text-decoration: none; transition: background .18s, border-color .18s; }
.at-shop-button:hover { background: #285143; border-color: #285143; }
.at-shop-button-outline { background: transparent; color: var(--at-shop-forest) !important; border-color: #aebba6; }
.at-shop-button-outline:hover { background: #e9ede0; border-color: #8e9f84; }
.at-shop-button-small { min-height: 40px; padding: 9px 15px; }
.at-shop-link { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 0; border: 0; border-bottom: 1px solid #aab89f; background: transparent; font-size: 12px !important; line-height: 1.5; text-align: left; text-decoration: none; }
.at-shop-link:hover { border-color: var(--at-shop-forest); color: #386048; }
.at-shop-line { display: grid; grid-template-columns: 100px minmax(0, 1fr) 102px; gap: 20px; align-items: start; padding: 23px 0; border-top: 1px solid var(--at-shop-line); }
.at-shop-line-image { width: 100px; height: 124px; background: #e9e7dc; }
.at-shop-line-copy { min-width: 0; }
.at-shop-dialog .at-shop-line-copy h3 { margin: 9px 0 10px; font: 400 24px/1.25 Georgia, 'Songti SC', serif; letter-spacing: -.4px; overflow-wrap: anywhere; }
.at-shop-line-meta { color: var(--at-shop-muted); font-size: 11px; line-height: 1.6; }
.at-shop-line-copy > div.at-shop-line-meta { font-size: 9px; letter-spacing: .6px; }
.at-shop-line-copy .at-shop-link { display: flex; width: fit-content; font-size: 11px !important; margin-top: 5px; }
.at-shop-line-copy .at-shop-duplicate { margin-top: 3px; color: #72826a; border-bottom-color: transparent; }
.at-shop-line-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.at-shop-line-price { padding-top: 2px; font: 400 23px/1.3 Georgia, serif; white-space: nowrap; }
.at-shop-quantity { display: flex; align-items: center; border: 1px solid #c6d0bd; }
.at-shop-quantity > span { display: grid; place-items: center; min-width: 28px; min-height: 38px; font-size: 12px; font-variant-numeric: tabular-nums; }
.at-shop-qty-button { display: grid; place-items: center; min-width: 38px; min-height: 38px; border: 0; padding: 0; background: transparent; font-size: 18px !important; }
.at-shop-qty-button:not(:disabled):hover { background: #e3e9d9; }
.at-shop-line-actions .at-shop-link { color: var(--at-shop-muted); font-size: 11px !important; border-bottom-color: transparent; }
.at-shop-line-rule { border: 0; border-top: 1px solid var(--at-shop-line); margin: 24px 0; }
.at-shop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.at-shop-grid-wide { grid-column: 1 / -1; }
.at-shop-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-size: 12px; line-height: 1.5; }
.at-shop-field > span:first-child { color: var(--at-shop-forest); }
.at-shop-field :is(input:not([type='radio']), select) { width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; border: 1px solid #c3ccba; border-radius: 0; background: #fcfbf7; color: var(--at-shop-forest); font-size: 14px; line-height: 1.5; box-shadow: none; }
.at-shop-field select { padding-right: 28px; }
.at-shop-field input::placeholder { color: #92998b; opacity: 1; }
.at-shop-field :is(input, select):hover { border-color: #94a68a; }
.at-shop-field :is(input, select):focus { border-color: var(--at-shop-forest); }
.at-shop-field [aria-invalid='true'] { border-color: #a95b4c !important; background: #fff8f3 !important; }
.at-shop-field small { color: var(--at-shop-muted); font-size: 11px; line-height: 1.6; }
.at-shop-field-error { display: block; color: #9b463a; font-size: 11px; line-height: 1.6; }
.at-shop-field-error:empty { display: none; }
.at-shop-error { padding: 13px 16px; margin-bottom: 23px; background: #f4e5dc; border-left: 2px solid #aa604f; color: #8d4436; font-size: 13px; line-height: 1.7; }
.at-shop-notice { padding: 16px 18px; margin-bottom: 24px; border: 1px solid #d2dbc7; background: #edf0e4; color: #5c7055; font-size: 12px; line-height: 1.85; }
.at-shop-editing-banner{display:flex;align-items:start;justify-content:space-between;gap:18px;margin:0 0 22px;padding:17px 19px;border:1px solid #ccb98f;background:#f2ecdc;color:#5d4a2d}
.at-shop-editing-banner span{display:block;font-size:9px;letter-spacing:1.6px}
.at-shop-editing-banner strong{display:block;margin-top:5px;font:400 21px/1.2 Georgia,'Songti SC',serif;overflow-wrap:anywhere}
.at-shop-editing-banner p{max-width:630px;margin:8px 0 0;font-size:11px;line-height:1.7}
.at-shop-editing-banner .at-shop-link{flex:none;color:#5d4a2d}
.at-shop-leave-confirm{margin:-8px 0 22px;padding:15px 18px;border-left:2px solid #a4684d;background:#f5e9df;color:#754d3b}
.at-shop-leave-confirm p{margin:0 0 12px;font-size:12px;line-height:1.7}
.at-shop-leave-confirm>div{display:flex;align-items:center;flex-wrap:wrap;gap:15px}
.at-shop-trust-note { margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--at-shop-line); font-size: 12px; line-height: 1.8; color: var(--at-shop-muted); }
.at-shop-trust-note .at-shop-link { margin-top: 5px; }
.at-shop-profile { margin-top: 25px; padding: 23px 22px 24px; border: 1px solid var(--at-shop-line); background: #faf9f3; }
.at-shop-profile-head { display: flex; align-items: center; gap: 17px; padding-bottom: 23px; margin-bottom: 23px; border-bottom: 1px solid var(--at-shop-line); }
.at-shop-profile-head > img { flex: 0 0 65px; width: 65px; height: 79px; background: #e7e5d8; }
.at-shop-profile-head > div { min-width: 0; }
.at-shop-profile-head .at-shop-kicker { font-size: 9px; }
.at-shop-dialog .at-shop-profile-head h3 { margin-top: 6px; font: 400 24px/1.25 Georgia, 'Songti SC', serif; letter-spacing: -.4px; }
.at-shop-profile-head p { margin-top: 7px; color: var(--at-shop-muted); font-size: 11px; }
.at-shop-dialog :is(.at-shop-size-fieldset, .at-shop-payment-fieldset) { min-width: 0; margin: 22px 0 0; padding: 0; border: 0; }
.at-shop-dialog :is(.at-shop-size-fieldset, .at-shop-payment-fieldset) > legend { float: none; width: 100%; margin-bottom: 10px; padding: 0; font-size: 12px; }
.at-shop-size-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.at-shop-size-options > label { position: relative; display: block; min-width: 0; cursor: pointer; }
.at-shop-size-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.at-shop-size-options label > span { display: grid; place-items: center; width: 100%; min-height: 44px; padding: 10px 5px; border: 1px solid #c3ccba; background: #fcfbf7; font-size: 12px; line-height: 1.5; }
.at-shop-size-options label:hover > span { border-color: #91a387; }
.at-shop-size-options input:checked + span { border-color: var(--at-shop-forest); background: var(--at-shop-forest); color: var(--at-shop-ivory); }
.at-shop-size-options input:focus-visible + span { outline: 2px solid var(--at-shop-gold); outline-offset: 3px; }
.at-shop-size-fieldset > .at-shop-field-error { margin-top: 8px; }
.at-shop-dimension-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 24px 0 16px; }
.at-shop-dialog .at-shop-dimension-heading h4 { font: 400 20px/1.35 Georgia, 'Songti SC', serif; }
.at-shop-units { flex: 0 0 auto; display: inline-flex; border: 1px solid #bdc9b4; }
.at-shop-units button { min-width: 43px; min-height: 38px; padding: 7px 10px; background: transparent; border: 0; font-size: 11px !important; }
.at-shop-units button[aria-pressed='true'] { background: var(--at-shop-forest); color: var(--at-shop-ivory); }
.at-shop-units button:not([aria-pressed='true']):hover { background: #e5e9dc; }
.at-shop-dimension-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.at-shop-dimension-control { position: relative; }
.at-shop-dimension-control > input { padding-right: 35px !important; -moz-appearance: textfield; appearance: textfield; }
.at-shop-dimension-control > input::-webkit-inner-spin-button, .at-shop-dimension-control > input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.at-shop-dimension-control > span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #7a866f; font-size: 11px; pointer-events: none; }
.at-shop-required-note { margin-bottom: 20px !important; color: var(--at-shop-muted); font-size: 11px; }
.at-shop-payment-notice { background: #f0eadc; border-color: #ddd1b6; color: #746249; }
.at-shop-payment-notice strong { display: block; margin-bottom: 6px; font-size: 11px; letter-spacing: .8px; }
.at-shop-payment-options { display: grid; gap: 12px; }
.at-shop-choice { display: flex; align-items: center; gap: 14px; min-height: 86px; padding: 18px; border: 1px solid #c9d1c0; background: #fcfbf6; cursor: pointer; transition: border-color .18s, background .18s; }
.at-shop-choice:hover { border-color: #8d9f83; }
.at-shop-choice:has(input:checked) { border-color: var(--at-shop-forest); background: #e8ede0; }
.at-shop-choice:has(input:focus-visible) { outline: 2px solid var(--at-shop-gold); outline-offset: 3px; }
.at-shop-choice > input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--at-shop-forest); }
.at-shop-choice > span:last-child { min-width: 0; }
.at-shop-choice strong { display: block; font-size: 13px; font-weight: 500; }
.at-shop-choice small { display: block; margin-top: 6px; color: var(--at-shop-muted); font-size: 11px; line-height: 1.7; }
.at-shop-payment-icon { flex: 0 0 30px; text-align: center; font: 24px/1 Georgia, serif; }
.at-shop-delivery-review { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-top: 29px; padding-top: 24px; border-top: 1px solid var(--at-shop-line); }
.at-shop-delivery-review > div { min-width: 0; }
.at-shop-dialog .at-shop-delivery-review h3 { margin-bottom: 12px; font: 400 22px/1.3 Georgia, 'Songti SC', serif; }
.at-shop-delivery-review p { margin-top: 12px; color: var(--at-shop-muted); font-size: 12px; line-height: 1.85; overflow-wrap: anywhere; }
.at-shop-delivery-review .at-shop-link { flex-shrink: 0; }
.at-shop-summary { position: sticky; top: 28px; min-width: 0; margin: 28px 24px 28px 0; padding: 25px 22px; border: 1px solid #d7dccd; background: #efefe5; }
.at-shop-dialog .at-shop-summary-title { margin-bottom: 22px; font: 11px/1.5 Arial, 'PingFang SC', sans-serif; letter-spacing: 1.5px; }
.at-shop-summary-lines { display: grid; gap: 20px; margin-bottom: 25px; }
.at-shop-summary-line { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: start; gap: 11px; min-width: 0; }
.at-shop-summary-line > img { width: 44px; height: 55px; background: #e0e1d4; }
.at-shop-summary-line > span { padding-top: 1px; font: 15px/1.35 Georgia, 'Songti SC', serif; overflow-wrap: anywhere; }
.at-shop-summary-line small { display: block; margin-top: 7px; color: var(--at-shop-muted); font: 10px/1.6 Arial, 'PingFang SC', sans-serif; }
.at-shop-summary-line > b { padding-top: 3px; font-size: 11px; font-weight: 400; white-space: nowrap; }
.at-shop-totals { padding-top: 20px; border-top: 1px solid #d1d7c8; }
.at-shop-totals > div { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-top: 14px; font-size: 11px; line-height: 1.6; }
.at-shop-totals > div:first-child { margin-top: 0; }
.at-shop-totals dt { flex: 0 1 auto; color: var(--at-shop-muted); }
.at-shop-totals dd { flex: 0 1 auto; max-width: 60%; text-align: right; }
.at-shop-totals > .at-shop-total { align-items: baseline; margin-top: 23px; padding-top: 21px; border-top: 1px solid #d1d7c8; }
.at-shop-total dt { color: var(--at-shop-forest); font-size: 13px; }
.at-shop-total dd { color: var(--at-shop-forest); font: 28px/1.2 Georgia, serif; white-space: nowrap; }
.at-shop-dialog .at-shop-summary-note { margin-top: 16px; color: #79846f; font-size: 10px; line-height: 1.8; }
.at-shop-summary-preview { display: flex; align-items: center; gap: 9px; margin-top: 23px; padding-top: 17px; border-top: 1px solid #d1d7c8; font-size: 10px; line-height: 1.7; color: #65765b; }
.at-shop-summary-preview > span { font-size: 19px; color: var(--at-shop-gold); }
.at-shop-footer { flex: 0 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 82px; padding: 16px 32px; border-top: 1px solid var(--at-shop-line); background: var(--at-shop-ivory); box-shadow: 0 -5px 16px #15382d03; }
.at-shop-footer > span { margin-left: auto; color: #88907f; font-size: 10px; }
.at-shop-footer > .at-shop-button { flex: 0 0 auto; }
.at-shop-body-empty { display: flex; }
.at-shop-body-empty .at-shop-main { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 420px; }
.at-shop-empty { max-width: 530px; padding: 25px 10px 35px; text-align: center; }
.at-shop-empty-icon { margin-bottom: 24px; font: 62px/1 Georgia, serif; color: #9aab8d; }
.at-shop-dialog .at-shop-empty h2 { font: 400 39px/1.2 Georgia, 'Songti SC', serif; letter-spacing: -.8px; }
.at-shop-empty p { max-width: 360px; margin: 20px auto 27px; color: var(--at-shop-muted); font-size: 13px; line-height: 1.85; }
.at-shop-success { padding-top: 10px; }
.at-shop-success-mark { display: grid; place-items: center; width: 53px; height: 53px; margin-bottom: 26px; border: 1px solid #a4b395; border-radius: 50%; font-size: 24px; background: #e7eddd; }
.at-shop-order-id { margin: 24px 0; padding: 19px 20px; border: 1px solid var(--at-shop-line); background: #efefe6; }
.at-shop-order-id > span { display: block; margin-bottom: 8px; color: var(--at-shop-muted); font-size: 11px; }
.at-shop-order-id > strong { font-size: 16px; font-weight: 500; letter-spacing: .8px; overflow-wrap: anywhere; }
.at-shop-success-facts { margin-bottom: 28px !important; }
.at-shop-success-facts > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--at-shop-line); font-size: 12px; }
.at-shop-success-facts dt { color: var(--at-shop-muted); }
.at-shop-success-facts dd { text-align: right; }
.at-shop-success > .at-shop-button { margin: 0 8px 10px 0; }

@media (max-width: 960px) {
  .at-shop-header, .at-shop-footer { padding-left: 25px; padding-right: 25px; }
  .at-shop-stepbar { padding-left: 25px; padding-right: 25px; }
  .at-shop-body { grid-template-columns: minmax(0, 1fr) 280px; }
  .at-shop-main { padding-left: 25px; padding-right: 25px; }
  .at-shop-summary { margin-right: 20px; padding: 22px 18px; }
  .at-shop-line { grid-template-columns: 79px minmax(0, 1fr); gap: 18px; }
  .at-shop-line-image { width: 79px; height: 101px; }
  .at-shop-line-actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
  .at-shop-line-actions .at-shop-link { margin-left: auto; }
  .at-shop-dialog .at-shop-panel-title { font-size: 34px; }
  .at-shop-profile { padding: 20px 18px; }
  .at-shop-dimension-grid { gap: 11px; }
  .at-shop-footer > span { display: none; }
}

@media (max-width: 760px) {
  .at-shop-body { display: block; }
  .at-shop-main { padding: 30px; }
  .at-shop-summary { position: static; margin: 0 30px 30px; padding: 25px; }
  .at-shop-summary-line { grid-template-columns: 50px minmax(0, 1fr) auto; }
  .at-shop-summary-line > img { width: 50px; height: 60px; }
  .at-shop-summary-line > span { font-size: 17px; }
  .at-shop-summary-line small, .at-shop-summary-line > b { font-size: 11px; }
  .at-shop-line { grid-template-columns: 96px minmax(0, 1fr) 106px; }
  .at-shop-line-image { width: 96px; height: 120px; }
  .at-shop-line-actions { grid-column: auto; flex-direction: column; align-items: flex-end; }
  .at-shop-body-empty .at-shop-main { min-height: 420px; }
}

@media (max-width: 600px) {
  dialog.at-shop-dialog { width: 100vw; max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; margin: 0; border: 0; }
  .at-shop-shell { height: 100vh; height: 100dvh; }
  .at-shop-header { gap: 12px; padding: calc(14px + env(safe-area-inset-top)) 20px 15px; }
  .at-shop-brand { font-size: 27px; }
  .at-shop-brand small { margin-top: 6px; font-size: 8px; letter-spacing: 1.4px; }
  .at-shop-header-meta { font-size: 11px; }
  .at-shop-close { flex-basis: 40px; width: 40px; height: 40px; }
  .at-shop-stepbar { padding: 0 10px; }
  .at-shop-step { flex-direction: column; gap: 5px; min-height: 66px; padding: 9px 3px 10px; font-size: 10px !important; line-height: 1.4; }
  .at-shop-step > span { flex-basis: 21px; width: 21px; height: 21px; }
  .at-shop-step[aria-current='step']::after { left: 12%; right: 12%; }
  .at-shop-main { padding: 27px 20px 30px; }
  .at-shop-kicker { font-size: 9px; letter-spacing: 1.1px; }
  .at-shop-dialog .at-shop-panel-title { margin-top: 12px; font-size: 31px; line-height: 1.25; letter-spacing: -.6px; }
  .at-shop-dialog .at-shop-description { margin-top: 13px; margin-bottom: 23px; font-size: 12px; line-height: 1.85; }
  .at-shop-line { grid-template-columns: 82px minmax(0, 1fr); gap: 15px; padding: 22px 0; }
  .at-shop-line-image { width: 82px; height: 103px; }
  .at-shop-dialog .at-shop-line-copy h3 { font-size: 22px; margin-top: 7px; }
  .at-shop-line-copy > div.at-shop-line-meta { font-size: 8px; }
  .at-shop-line-copy .at-shop-link { font-size: 11px !important; }
  .at-shop-line-meta { font-size: 11px; }
  .at-shop-line-actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 10px 14px; }
  .at-shop-line-price { font-size: 22px; margin-right: auto; }
  .at-shop-line-actions .at-shop-link { margin-left: 0; }
  .at-shop-quantity > span { min-width: 23px; }
  .at-shop-profile { padding: 20px 16px; margin-top: 23px; }
  .at-shop-profile-head { gap: 14px; padding-bottom: 20px; margin-bottom: 20px; }
  .at-shop-profile-head > img { flex-basis: 57px; width: 57px; height: 72px; }
  .at-shop-dialog .at-shop-profile-head h3 { font-size: 23px; }
  .at-shop-grid { gap: 18px 13px; }
  .at-shop-field { font-size: 12px; gap: 8px; }
  .at-shop-field :is(input:not([type='radio']), select) { font-size: 16px; min-height: 48px; padding: 11px 10px; }
  .at-shop-grid-wide { grid-column: 1 / -1; }
  .at-shop-size-options { gap: 6px; }
  .at-shop-size-options label > span { font-size: 11px; min-height: 44px; padding: 10px 3px; }
  .at-shop-dimension-heading { margin-top: 23px; gap: 12px; }
  .at-shop-dialog .at-shop-dimension-heading h4 { font-size: 20px; }
  .at-shop-dimension-grid { grid-template-columns: 1fr; gap: 20px; }
  .at-shop-notice { padding: 15px; font-size: 12px; }
  .at-shop-editing-banner{flex-direction:column;padding:15px}
  .at-shop-choice { padding: 16px 14px; gap: 12px; }
  .at-shop-choice small { font-size: 11px; }
  .at-shop-payment-icon { flex-basis: 24px; font-size: 22px; }
  .at-shop-summary { margin: 0 20px 26px; padding: 23px 19px; }
  .at-shop-summary-title { margin-bottom: 20px !important; }
  .at-shop-summary-line { gap: 12px; }
  .at-shop-totals > div { font-size: 12px; }
  .at-shop-total dd { font-size: 28px; }
  .at-shop-summary-note, .at-shop-summary-preview { font-size: 11px !important; }
  .at-shop-footer { gap: 14px; min-height: 81px; padding: 15px 20px calc(15px + env(safe-area-inset-bottom)); }
  .at-shop-footer > .at-shop-link { flex: 0 0 auto; max-width: 29%; font-size: 11px !important; }
  .at-shop-footer > .at-shop-button { flex: 0 1 auto; min-width: 0; max-width: 71%; padding: 13px 17px; font-size: 11px !important; }
  .at-shop-empty { padding: 30px 0; }
  .at-shop-dialog .at-shop-empty h2 { font-size: 32px; }
  .at-shop-body-empty .at-shop-main { min-height: 360px; }
  .at-shop-success { padding-top: 5px; }
  .at-shop-success > .at-shop-button { display: flex; width: 100%; margin-right: 0; margin-bottom: 12px; }
  .at-shop-success-facts > div { gap: 16px; }
}

@media (max-width: 360px) {
  .at-shop-header { padding-left: 16px; padding-right: 16px; }
  .at-shop-main { padding-left: 16px; padding-right: 16px; }
  .at-shop-summary { margin-left: 16px; margin-right: 16px; }
  .at-shop-profile .at-shop-grid { grid-template-columns: 1fr; }
  .at-shop-line { grid-template-columns: 68px minmax(0, 1fr); gap: 13px; }
  .at-shop-line-image { width: 68px; height: 90px; }
  .at-shop-line-copy > div.at-shop-line-meta { letter-spacing: 0; }
  .at-shop-footer { padding-left: 16px; padding-right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .at-shop-dialog *, .at-shop-dialog *::before, .at-shop-dialog *::after { transition: none !important; animation: none !important; }
}

/* Size prices, an always visible total, and recoverable local preview orders. */
.at-shop-header-actions { display:flex; align-items:center; gap:17px; margin-left:auto; min-width:0; }
.at-shop-header-actions .at-shop-header-meta { margin-left:0; white-space:nowrap; }
.at-shop-orders-button { min-height:40px; padding:6px 2px; border:0; border-bottom:1px solid #b4c0aa; background:transparent; color:var(--at-shop-forest); font-size:11px !important; line-height:1.4; }
.at-shop-orders-button:hover { border-bottom-color:var(--at-shop-forest); }
.at-shop-price-pending { display:inline-block; margin:3px 0 7px; color:#977b4e; font-size:10px; line-height:1.5; }
.at-shop-line-price small { display:block; margin-bottom:2px; font:9px/1.4 Arial,sans-serif; letter-spacing:.4px; color:#8b7958; }
.at-shop-flow-note { margin:0 0 18px; padding:9px 12px; border-left:2px solid var(--at-shop-gold); color:#78816e; background:#f0eee4; font-size:11px; line-height:1.65; }
.at-shop-profile { margin-top:19px; padding:18px 20px; }
.at-shop-profile-head { padding-bottom:14px; margin-bottom:14px; }
.at-shop-profile-head > img { height:64px; }
.at-shop-profile .at-shop-size-fieldset { margin-top:0; }
.at-shop-size-fieldset legend small { display:inline-block; margin-left:8px; color:var(--at-shop-muted); font-size:10px; font-weight:400; }
.at-shop-size-options label > span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:64px; padding:9px 5px; }
.at-shop-size-options label > span strong { font-size:12px; font-weight:500; }
.at-shop-size-options label > span small { color:inherit; font-size:11px; line-height:1.4; opacity:.8; font-variant-numeric:tabular-nums; }
.at-shop-profile > .at-shop-grid { margin-top:17px; }
.at-shop-selected-price { font-size:11px; line-height:1.6; color:#81704f !important; }
.at-shop-profile-progress { display:block; margin-top:5px; color:#7c896f; font-size:10px; line-height:1.5; }
.at-shop-reuse { min-width:0; margin:0 0 16px; }
.at-shop-reuse-toggle { display:inline-flex; align-items:center; gap:9px; min-height:38px; padding:5px 0; border:0; border-bottom:1px solid #b1bda8; background:transparent; color:var(--at-shop-forest); font-size:11px !important; text-align:left; }
.at-shop-reuse-toggle:hover { border-bottom-color:var(--at-shop-forest); }
.at-shop-reuse-toggle > span { font-size:17px; line-height:1; }
.at-shop-reuse-applied { margin:9px 0 0 !important; padding:9px 11px; border-left:2px solid #6e946f; background:#e8efe4; color:#416a48; font-size:10px; line-height:1.6; }
.at-shop-reuse-panel { min-width:0; margin-top:13px; padding:16px; border:1px solid #c9d3c1; background:#edf1e8; }
.at-shop-reuse-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 12px; margin-bottom:12px; }
.at-shop-reuse-heading strong { font-size:12px; font-weight:500; }
.at-shop-reuse-heading small { color:var(--at-shop-muted); font-size:10px; }
.at-shop-reuse-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.at-shop-reuse-option { display:flex; align-items:flex-start; gap:10px; min-width:0; min-height:62px; padding:11px; border:1px solid #c5d0bd; background:#fbfaf5; text-align:left; }
.at-shop-reuse-option:hover { border-color:#8ea388; }
.at-shop-reuse-option[aria-pressed='true'] { border-color:var(--at-shop-forest); background:#e4ebdf; }
.at-shop-reuse-option > span:last-child { min-width:0; overflow-wrap:anywhere; }
.at-shop-reuse-option strong { display:block; font-size:11px; font-weight:500; }
.at-shop-reuse-option small { display:block; margin-top:3px; color:var(--at-shop-muted); font-size:10px; line-height:1.45; }
.at-shop-reuse-choice { display:grid; place-items:center; flex:0 0 17px; width:17px; height:17px; margin-top:1px; border:1px solid #9aab92; border-radius:50%; color:white; font-size:10px; }
.at-shop-reuse-option[aria-pressed='true'] .at-shop-reuse-choice { border-color:var(--at-shop-forest); background:var(--at-shop-forest); }
.at-shop-reuse-note,.at-shop-reuse-empty { margin-top:12px !important; color:#66765d; font-size:10px; line-height:1.65; }
.at-shop-reuse-error { margin-top:10px !important; color:#9b463a; font-size:11px; }
.at-shop-reuse-actions,.at-shop-reuse-confirm > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-top:13px; }
.at-shop-reuse-confirm { margin-top:13px; padding:13px; border-left:2px solid #a46d50; background:#f5e9db; }
.at-shop-reuse-confirm p { color:#744e37; font-size:11px; line-height:1.6; }
.at-shop-dialog .at-shop-measurement-note { margin:14px 0 0; color:var(--at-shop-muted); font-size:10px; line-height:1.7; }
.at-shop-profile .at-shop-trust-note { margin-top:14px; padding-top:12px; }
.at-shop-footer-total { flex:0 0 auto; margin-left:auto; text-align:right; }
.at-shop-footer-total small { display:block; color:var(--at-shop-muted); font-size:10px; line-height:1.4; }
.at-shop-footer-total b { display:block; font:400 23px/1.2 Georgia,serif; white-space:nowrap; }
.at-shop-totals dt small { display:block; color:#87937e; font-size:9px; margin-top:3px; }
.at-shop-dialog .at-shop-shipping-rule, .at-shop-region-warning { margin-top:18px; padding:13px 15px; border:1px solid #d7ddcc; background:#eff1e5; color:#647758; font-size:11px; line-height:1.7; }
.at-shop-region-warning { margin-top:0; border-color:#d8c8a9; background:#f4eedf; color:#8d7249; }
.at-shop-body-history { grid-template-columns:1fr; }
.at-shop-body-history .at-shop-main { max-width:100%; }
.at-shop-history-notice { margin:0 0 22px; padding:14px 17px; background:#ecefe2; border:1px solid #d6ddca; color:#718064; font-size:11px; line-height:1.75; }
.at-shop-history-list { display:grid; gap:13px; margin:0 0 24px; }
.at-shop-order-record { border:1px solid #d6ddcd; background:#fcfaf4; }
.at-shop-order-record > summary { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:20px; padding:20px 49px 20px 20px; cursor:pointer; list-style:none; }
.at-shop-order-record > summary::-webkit-details-marker { display:none; }
.at-shop-order-record > summary::after { content:'⌄'; position:absolute; right:20px; top:50%; transform:translateY(-50%); color:#849576; font-size:17px; }
.at-shop-order-record[open] > summary { background:#edf0e4; border-bottom:1px solid #d6ddcd; }
.at-shop-order-record[open] > summary::after { transform:translateY(-50%) rotate(180deg); }
.at-shop-order-record > summary:focus-visible { outline:2px solid var(--at-shop-gold); outline-offset:3px; }
.at-shop-order-record-title { min-width:0; }
.at-shop-order-record-title strong { display:block; font-size:13px; font-weight:500; letter-spacing:.6px; overflow-wrap:anywhere; }
.at-shop-order-record-title small { display:block; margin-top:5px; color:var(--at-shop-muted); font-size:10px; }
.at-shop-order-record-status { font-size:10px; color:#89906e; white-space:nowrap; }
.at-shop-order-record > summary > b { font:400 22px/1.2 Georgia,serif; white-space:nowrap; }
.at-shop-order-record > summary > b small { display:block; margin-top:4px; font:9px/1.4 Arial,sans-serif; color:#8d7a57; }
.at-shop-order-details { padding:7px 20px 20px; }
.at-shop-order-item { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid #dee3d4; }
.at-shop-order-item > span { min-width:0; }
.at-shop-order-item strong { display:block; font:400 20px/1.3 Georgia,'Songti SC',serif; }
.at-shop-order-item small { display:block; margin-top:5px; color:var(--at-shop-muted); font-size:11px; line-height:1.6; }
.at-shop-order-item > b { font-weight:400; font-size:12px; white-space:nowrap; }
.at-shop-order-charges { padding:14px 0; border-bottom:1px solid #dde3d3; }
.at-shop-order-charges > div { display:flex; justify-content:space-between; gap:20px; margin-top:8px; font-size:11px; }
.at-shop-order-charges dt { color:var(--at-shop-muted); }
.at-shop-order-charges dd { text-align:right; }
.at-shop-order-contact { margin:17px 0 20px; font-size:11px; line-height:1.8; }
.at-shop-order-contact strong { font-weight:500; }
.at-shop-order-contact small { display:block; margin-top:6px; color:#879377; font-size:10px; }
.at-shop-history-empty { padding:35px 0 45px; }
.at-shop-dialog .at-shop-history-empty h3 { font:400 26px/1.3 Georgia,'Songti SC',serif; }
.at-shop-history-empty p { margin-top:15px; color:var(--at-shop-muted); font-size:12px; }
@media(max-width:600px) {
 .at-shop-header-actions { gap:10px; }
 .at-shop-header-actions .at-shop-header-meta { display:none; }
 .at-shop-orders-button { max-width:100px; font-size:10px !important; }
 .at-shop-profile { padding:17px 14px; }
 .at-shop-profile-head { gap:12px; padding-bottom:12px; margin-bottom:13px; }
 .at-shop-profile-head > img { height:62px; }
 .at-shop-reuse-panel { padding:13px; }
 .at-shop-reuse-options { grid-template-columns:1fr; }
 .at-shop-selected-price { font-size:10px; }
 .at-shop-size-fieldset legend small { display:block; margin:4px 0 0; }
 .at-shop-size-options label > span { min-height:62px; }
 .at-shop-size-options label > span strong { font-size:11px; }
 .at-shop-size-options label > span small { font-size:10px; }
 .at-shop-footer { gap:10px; }
 .at-shop-footer > .at-shop-link { max-width:17%; }
 .at-shop-footer > .at-shop-button { max-width:48%; padding:12px 13px; }
 .at-shop-footer-total { margin-left:auto; }
 .at-shop-footer-total small { max-width:93px; font-size:9px; }
 .at-shop-footer-total b { font-size:20px; }
 .at-shop-order-record > summary { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:17px 39px 17px 14px; }
 .at-shop-order-record > summary::after { right:13px; }
 .at-shop-order-record-status { grid-column:1; grid-row:2; font-size:9px; }
 .at-shop-order-record > summary > b { grid-column:2; grid-row:1 / 3; font-size:20px; }
 .at-shop-order-record-title strong { font-size:11px; }
 .at-shop-order-details { padding:5px 14px 17px; }
 .at-shop-order-item { gap:12px; }
 .at-shop-order-item strong { font-size:19px; }
 .at-shop-order-item small { font-size:10px; }
 .at-shop-order-charges > div { gap:12px; font-size:10px; }
 .at-shop-history-notice { padding:12px 13px; font-size:11px; }
}

/* Shared review and local-draft components also used by the homepage shopping dialog. */
.at-shop-review-status{display:flex;gap:15px;padding:18px 20px;margin:0 0 24px;border:1px solid #c9b990;background:#f1eadb;color:#5b4a2f}
.at-shop-review-status-mark{font:29px/1 Georgia,serif;color:#9c8356}
.at-shop-review-status strong{display:block;font-size:11px;letter-spacing:1.1px}
.at-shop-review-status p{margin:6px 0 0;font-size:11px;line-height:1.7}
.at-shop-review-block,.at-shop-review-timing{padding:22px 0;border-top:1px solid #d7dccf}
.at-shop-review-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px}
.at-shop-review-block-head h3{margin:0;font:400 27px/1.2 Georgia,'Songti SC',serif}
.at-shop-review-block-head .at-shop-link{white-space:nowrap}
.at-shop-review-pieces{display:grid;gap:14px}
.at-shop-review-piece{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:start;gap:16px;padding:15px;border:1px solid #e0e2d8;background:#f5f4ed}
.at-shop-review-piece img{width:70px;height:88px;object-fit:cover;background:#e7e9df}
.at-shop-review-piece h4{margin:2px 0 5px;font:400 19px/1.25 Georgia,'Songti SC',serif}
.at-shop-review-piece p{margin:0;color:#556c5d;font-size:11px;line-height:1.6}
.at-shop-review-piece small{display:block;margin-top:8px;color:#798479;font-size:10px;line-height:1.6}
.at-shop-review-piece>strong{font:400 13px/1.4 Arial,sans-serif;white-space:nowrap}
.at-shop-review-delivery{display:grid;grid-template-columns:1fr 1fr;gap:18px;color:#4f6657;font-size:12px;line-height:1.85}
.at-shop-review-delivery p{margin:0;overflow-wrap:anywhere}
.at-shop-review-delivery strong{color:#173b30}
.at-shop-timing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.at-shop-timing-grid>div{display:flex;gap:11px;padding:14px;border:1px solid #dce1d4;background:#eef1e9}
.at-shop-timing-grid strong{font:20px/1 Georgia,serif;color:#a68c61}
.at-shop-timing-grid p{margin:0;font-size:11px;line-height:1.65}
.at-shop-review-small{margin:12px 0 0;color:#657565;font-size:11px;line-height:1.7}
.at-shop-review-terms{display:grid;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid #e0e2d8}
.at-shop-review-terms p{margin:0;color:#6b7869;font-size:11px;line-height:1.7}
.at-shop-preference{margin-top:25px;padding-top:23px;border-top:1px solid #cbd4c7}
.at-shop-preference-selected{margin-top:13px;padding:13px 15px;border-left:2px solid #a68c61;background:#f6f4eb}
.at-shop-preference-selected>span{font-size:9px;letter-spacing:1.1px;color:#917650}
.at-shop-preference-selected p{margin:4px 0 5px;font-size:11px;line-height:1.6}
.at-shop-preference-selected small{color:#6e796b;font-size:10px;line-height:1.5}
.at-shop-order-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:16px}
.at-shop-delete-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px;padding:14px;border:1px solid #d9c8b4;background:#f5eee4}
.at-shop-delete-confirm p{flex:1 1 100%;margin:0;color:#754d39;font-size:11px;line-height:1.6}
.at-shop-save-error{border-left-width:3px}
@media(max-width:760px){
 .at-shop-review-delivery,.at-shop-timing-grid{grid-template-columns:1fr}
 .at-shop-review-piece{grid-template-columns:62px minmax(0,1fr)}
 .at-shop-review-piece img{width:62px;height:78px}
 .at-shop-review-piece>strong{grid-column:2}
}
.at-sizing-mode{border:1px solid #d7d9cc;padding:18px;margin:18px 0;background:#fbfaf4}.at-sizing-mode legend{font-weight:600;color:#163b30}.at-sizing-mode small{display:block;margin-top:10px;color:#697569;line-height:1.6}.at-shop-custom-size-notice{border-left:3px solid #a68a58;background:#f4f0e6;padding:15px 18px;margin:0 0 22px;color:#163b30}.at-shop-custom-size-notice strong{display:block}.at-shop-custom-size-notice p{margin:6px 0 0;line-height:1.6;color:#5f6e62}
