.cart-link { border:1px solid var(--line); padding:9px 12px; display:inline-flex; align-items:center; gap:9px; font-size:12px; white-space:nowrap; }
.cart-link b { min-width:20px; text-align:center; font-variant-numeric:tabular-nums; }
.header > .cart-link { position:absolute;right:24px;top:10px; }
.format-card .shop-add { width:100%;margin-top:22px;justify-content:center; }
.shop-main { max-width:1160px!important; }
.test-banner { border:1px solid var(--line); border-left:3px solid #b8955a; background:var(--panel); color:var(--soft); padding:14px 18px; margin:28px 0; font-size:13px; }
.test-banner strong { color:var(--ink); }
.shop-heading { display:flex;justify-content:space-between;align-items:end;gap:24px;margin:34px 0; }
.shop-heading h1 { margin:10px 0 0; }
.shop-steps { display:flex;gap:20px;font-size:11px;letter-spacing:1px;list-style:none;padding:0;margin:0 0 9px;flex-wrap:wrap;color:var(--soft); }
.shop-steps [aria-current] { color:var(--ink);border-bottom:2px solid #b8955a;padding-bottom:7px; }
.shop-layout { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:40px;align-items:start; }
.shop-panel { padding:clamp(22px,3vw,34px);background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ink); }
.shop-panel h2,.order-section h2 { font:28px/1.15 var(--display);margin:0 0 22px; }
.shop-items { margin:0 0 38px; }
.shop-item { display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line); }
.shop-item:first-child { padding-top:0; }
.shop-item img { width:70px;height:102px;object-fit:cover;border:1px solid var(--line); }
.shop-item h2 { font:24px/1.12 var(--display);margin:0 0 7px; }
.shop-item p { font-size:12px;color:var(--soft);margin:8px 0; }
.shop-item-price { font-weight:600;white-space:nowrap; }
.quantity-control { display:flex;align-items:center;gap:12px; }
.quantity-control button { border:1px solid var(--line);background:var(--paper);width:36px;height:36px; }
.remove-item { background:none;border:0;border-bottom:1px solid var(--line);padding:6px 0;font-size:12px;margin-top:10px; }
.shop-totals { margin:0 0 24px; }
.shop-totals div { display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px; }
.shop-totals dd { margin:0;text-align:right; }
.shop-totals .grand-total { font-size:22px;padding-top:23px; }
.welcome-promo { border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:14px; min-width:0; }
.welcome-promo h3 { font:23px/1.2 var(--display); margin:0 0 10px; }
.promo-input-row { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.promo-input-row .field { flex:1 1 145px; min-width:0; }
#logo-create-fields select { display:block; width:100%; min-width:0; box-sizing:border-box; background:var(--paper); color:var(--ink); border:1px solid var(--muted); border-radius:0; font:16px/1.5 var(--body); padding:12px 13px; }
#logo-create-fields select:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.promo-input-row input { width:100%; min-width:0; text-transform:uppercase; }
.promo-input-row button { flex:0 0 auto; }
.welcome-promo button:disabled { opacity:.5; cursor:not-allowed; }
#promo-feedback { overflow-wrap:anywhere; }
#promo-feedback[data-error=true], #quote-feedback[data-error=true] { color:#ffb7b7; }
:root[data-theme="light"] #promo-feedback[data-error=true], :root[data-theme="light"] #quote-feedback[data-error=true] { color:#a51f2d; }
#discount-total-row { color:#b8955a; }
:root[data-theme="light"] #discount-total-row { color:#805f26; }
.shop-note { font-size:12px;line-height:1.75;color:var(--soft); }
.shop-submit { width:100%;justify-content:center;border:1px solid var(--ink);margin-top:18px; }
.shop-submit:disabled,.shop-item button:disabled { opacity:.45;cursor:not-allowed;transform:none;box-shadow:none; }
.shop-assurances { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:16px;margin:18px 0 0;padding:18px 0;border-block:1px solid var(--line);list-style:none; }
.shop-assurances li { display:flex;align-items:flex-start;gap:10px;min-width:0; }
.shop-assurances svg { flex:0 0 36px;color:var(--ink);margin-top:1px; }
.shop-assurances div { min-width:0; }
.shop-assurances strong { display:block;color:var(--ink);font-size:13px;line-height:1.45;font-weight:700; }
.shop-assurances span { display:block;color:var(--soft);font-size:11px;line-height:1.6;margin-top:4px; }
.shop-check { display:flex;align-items:start;gap:10px;font-size:13px;margin:24px 0 8px; }
.shop-check input { flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:#b8955a; }
.digital-consent { min-width:0;border:1px solid var(--line);padding:14px 16px;margin:24px 0; }
.digital-consent legend { font:20px/1.2 var(--display);padding:0 7px; }
.digital-consent .shop-check { margin:16px 0;line-height:1.7; }
.digital-consent .shop-note { margin:8px 0; }
.shop-error { color:#ffb7b7;font-size:14px;line-height:1.7; }
:root[data-theme="light"] .shop-error { color:#a51f2d; }
.shop-error:empty { display:none; }
.shop-customer h2 { font:28px/1.1 var(--display);margin:32px 0 20px; }
.shop-customer fieldset { margin:25px 0 0;padding:0;border:0;min-width:0; }
.shop-customer legend { font:24px/1.1 var(--display);padding:0 0 18px; }
.shop-empty { text-align:center;border:1px solid var(--line);padding:60px 24px; }
.shop-empty h2 { font:36px/1.1 var(--display); }
.payment-card { max-width:670px;margin:40px auto; }
.payment-amount { font:56px/1 var(--display);margin:24px 0; }
.payment-options { display:grid;gap:14px; }
.secondary-button { display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px 18px;font-size:14px; }
.order-seal { width:64px;height:64px;border:1px solid #b8955a;display:grid;place-items:center;color:#b8955a;font-size:32px; }
.order-reference { font-size:13px;color:var(--soft);overflow-wrap:anywhere; }
.order-section { padding:26px 0;border-top:1px solid var(--line); }
.order-section p { color:var(--soft);font-size:14px;line-height:1.75; }
.order-section .button { margin:12px 0; }
.order-list { list-style:none;padding:0; }
.order-list li { display:flex;justify-content:space-between;gap:20px;margin:12px 0;font-size:14px; }
.email-preview { white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 var(--body);background:var(--paper);padding:20px;border:1px solid var(--line); }
.order-section summary { cursor:pointer;min-height:44px;font-size:14px;padding-block:10px; }
.shop-return { display:inline-block;margin-top:24px;border-bottom:1px solid var(--line);padding-block:8px; }
.personalization-panel { border:1px solid var(--line);border-top:3px solid #b8955a;padding:clamp(18px,3vw,30px);margin-bottom:36px;background:var(--panel); }
.personalization-panel h2 { font:32px/1.1 var(--display);margin:12px 0; }
.personalization-panel fieldset { min-width:0;border:0;padding:0;margin:24px 0 0; }
.personalization-toggle { padding:16px;background:var(--paper);border:1px solid var(--line);line-height:1.7; }
.personalization-toggle strong { display:block;color:var(--ink); }
.personalization-panel .shop-check { line-height:1.65; }
.logo-choice legend { font:22px/1.2 var(--display); }
.logo-choice small { color:var(--soft); }
.personalization-preview { margin:28px 0 18px; }
.personalization-preview figcaption { font-size:10px;letter-spacing:1px;color:var(--soft);margin-bottom:12px; }
.personalization-page { max-width:300px;margin:auto;min-height:400px;background:#faf9f6;color:#121316;box-shadow:0 8px 28px #0002;padding:32px 24px;display:flex;align-items:center;flex-direction:column;text-align:center;justify-content:space-between;gap:22px;overflow-wrap:anywhere; }
.personalization-page .small-label { font-size:9px;letter-spacing:2px;color:#625440; }
.personalization-page > strong { font:38px/1.1 var(--display);max-width:100%; }
.personalization-page > img { max-width:180px;max-height:150px;object-fit:contain; }
#preview-logo-placeholder { font:22px/1.2 var(--display);color:#756e61;padding:26px 12px;border-block:1px solid #c5bba8; }
.personalization-page > p { font-size:13px;line-height:1.6;margin:0;font-style:italic; }
.personalization-example { display:block;width:100%;max-width:340px;height:auto;margin:auto; }
.personalization-example-disclosure > summary { cursor:pointer;padding:14px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px; }
.personalization-brand { font:12px/1.3 Arial,sans-serif;color:#8f5d22;letter-spacing:0; }
.personalization-summary { white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8; }
.personalization-count { display:block;text-align:right;font-size:11px;color:var(--soft);margin-top:6px; }
.personalization-draft { border-top:1px solid var(--line);padding-top:20px;margin-top:26px; }
.personalization-draft h3,.personalization-review h3 { font:24px/1.2 var(--display);margin:0 0 12px; }
.personalization-draft-actions { display:flex;gap:10px;flex-wrap:wrap;align-items:center; }
.personalization-draft-actions button { white-space:normal; }
.personalization-draft-actions button:disabled { opacity:.45;cursor:not-allowed; }
.personalization-review { border:1px solid var(--line);padding:18px;margin:24px 0;min-width:0; }
.personalization-review dl { margin:0; }
.personalization-review dl>div { padding:10px 0;border-bottom:1px solid var(--line); }
.personalization-review dt { color:var(--soft);font-size:11px; }
.personalization-review dd { margin:5px 0 0;font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap; }
.personalization-review button { width:100%;margin-top:10px; }
.personalization-review button:disabled { opacity:.45;cursor:not-allowed; }
#personalization-validation[data-error=true],#personalization-logo-status[data-error=true],#personalization-draft-status[data-error=true],#personalization-review-status[data-error=true] { color:#ffb7b7; }
:root[data-theme="light"] #personalization-validation[data-error=true],:root[data-theme="light"] #personalization-logo-status[data-error=true],:root[data-theme="light"] #personalization-draft-status[data-error=true],:root[data-theme="light"] #personalization-review-status[data-error=true] { color:#a51f2d; }
.personalization-review[hidden],.personalization-draft [hidden] { display:none!important; }
.personalization-pdf { border:1px solid var(--line);padding:18px;margin:24px 0;min-width:0; }
.personalization-pdf h3 { font:24px/1.2 var(--display);margin:0 0 12px; }
.personalization-pdf h4 { font:20px/1.3 var(--display);margin:16px 0 8px; }
.personalization-pdf .secondary-button { display:block;width:100%;text-align:center;margin:12px 0; }
.personalization-pdf button:disabled { opacity:.45;cursor:not-allowed; }
.personalization-pdf-card:not(:empty) { border-top:1px solid var(--line);margin-top:18px; }
.personalization-pdf .shop-note { overflow-wrap:anywhere;white-space:pre-wrap; }
.personalization-pdf [data-error=true] { color:#ffb7b7; }
:root[data-theme="light"] .personalization-pdf [data-error=true] { color:#a51f2d; }
.personalization-pdf[hidden] { display:none!important; }
.personalization-artwork-progress { margin:16px 0;padding:14px;border:1px solid var(--line);background:var(--paper);font-size:12px;line-height:1.65; }
.personalization-artwork-progress p { margin:8px 0 0;color:var(--soft); }
.personalization-artwork-progress-bar { display:block;width:100%;height:10px;margin:10px 0;appearance:none;border:0;border-radius:6px;overflow:hidden;background:var(--line);accent-color:var(--accent-orange); }
.personalization-artwork-progress-bar::-webkit-progress-bar { background:var(--line); }
.personalization-artwork-progress-bar::-webkit-progress-value { background:var(--accent-orange); }
.personalization-artwork-progress-bar::-moz-progress-bar { background:var(--accent-orange); }

/* One checkout form: personalization, delivery details, then one order summary. */
.document-page .shop-checkout-main { max-width:1600px!important;padding-inline:clamp(20px,3vw,48px); }
#checkout-layout { grid-template-columns:minmax(0,1fr);grid-template-areas:"personalization" "customer" "summary";gap:24px; }
#checkout-layout > * { min-width:0; }
#checkout-layout .shop-panel > .shop-items { margin:0 0 22px; }
#checkout-layout > .shop-edition-column { grid-area:personalization; }
#checkout-layout > .shop-edition-column:has(> #personalization-section[hidden]) { display:none; }
#checkout-layout .personalization-panel { margin-bottom:0;padding:22px; }
#checkout-layout > .shop-customer { grid-area:customer;border:1px solid var(--line);border-top:3px solid var(--ink);background:var(--panel);padding:22px; }
#checkout-layout > .shop-customer h2 { margin:0 0 22px; }
#checkout-layout > .shop-panel { grid-area:summary;padding:22px; }
#checkout-layout .shop-customer > .field-grid { grid-template-columns:minmax(0,1fr); }
#checkout-layout .personalization-panel .field-grid { grid-template-columns:minmax(0,1fr);gap:20px; }
#checkout-layout input[type="file"] { max-width:100%;font-size:13px; }
#checkout-layout .shop-submit { white-space:normal;line-height:1.4;min-height:54px; }
#checkout-layout .shop-note,#checkout-layout .shop-check span { overflow-wrap:anywhere; }
@media(min-width:820px) and (max-width:1179px) {
  #checkout-layout { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"personalization customer" "personalization summary";grid-template-rows:min-content 1fr; }
}
@media(min-width:1180px) {
  #checkout-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"personalization customer summary";gap:20px; }
}
#checkout-layout:has(#personalization-section[hidden]) { grid-template-areas:"customer" "summary"; }
#checkout-layout:has(> .shop-customer[hidden]) { grid-template-areas:"personalization" "summary"; }
#checkout-layout:has(> .shop-customer[hidden]):has(#personalization-section[hidden]) { grid-template-areas:"summary"; }
@media (min-width:820px) {
  #checkout-layout:has(#personalization-section[hidden]) { grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"customer summary";grid-template-rows:auto; }
  #checkout-layout:has(> .shop-customer[hidden]) { grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"personalization summary";grid-template-rows:auto; }
  #checkout-layout:has(> .shop-customer[hidden]):has(#personalization-section[hidden]) { grid-template-columns:minmax(0,1fr);grid-template-areas:"summary"; }
}
@media(max-width:419px) {
  #checkout-layout .personalization-panel,#checkout-layout > .shop-customer,#checkout-layout > .shop-panel { padding:18px; }
  #checkout-layout .shop-customer fieldset .field-grid { grid-template-columns:minmax(0,1fr); }
}
@media(min-width:700px) { .header > .cart-link {position:static;} }
@media(min-width:700px) and (max-width:1050px) { .header nav {gap:14px;font-size:13px;} }
@media(max-width:699px) { .header {display:grid;grid-template-rows:76px 44px;height:var(--header-height);} .header nav {grid-column:1/-1;overflow-x:auto;justify-content:space-between;} .wordmark{grid-column:1/-1;} .shop-heading{display:block;} .shop-steps{margin:25px 0 0;} .shop-layout{grid-template-columns:minmax(0,1fr);gap:26px;} .shop-item{grid-template-columns:56px minmax(0,1fr);gap:14px;} .shop-item img{width:56px;height:82px;} .shop-item-price{grid-column:2;} .shop-main .page-main{padding-inline:20px;} }

/* Keep the same complete navigation visible on every public page. */
.header { position:sticky;top:0; }
.header > .wordmark,.header > .cart-link,.header > .display-controls { flex-shrink:0; }
.header nav { flex:1;min-width:0;justify-content:center;column-gap:clamp(10px,1.1vw,20px); }
.header > .member-access { display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;font-size:12px; }
.header .member-nav,.header .member-login,.header > .cart-link { display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:48px;padding:10px 12px;border:1px solid var(--muted);font:500 13px/1.2 var(--body);color:var(--ink);box-sizing:border-box;white-space:nowrap; }
.header .member-access [hidden] { display:none!important; }
.header .member-nav svg { flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.header .member-nav .member-nav-label { margin:0; }
.header .member-nav-avatar { display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;overflow:hidden;background:#d4b277;color:#08090b;font-weight:700; }
.header .member-nav-avatar img { display:block;width:100%;height:100%;object-fit:cover; }
.header .member-nav:hover,.header .member-login:hover,.header > .cart-link:hover { border-color:var(--ink);background:var(--panel); }
.header .member-nav:focus-visible,.header .member-login:focus-visible,.header > .cart-link:focus-visible { outline:2px solid var(--ink);outline-offset:3px; }
@media(max-width:1399px) {
  :root { --header-height:132px; }
  .header { display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:80px auto;height:auto;min-height:var(--header-height);padding:0 24px;gap:0; }
  .header > .wordmark { grid-column:1;grid-row:1;width:165px; }
  .header > .wordmark img { height:62px; }
  .header > nav { grid-column:1/-1;grid-row:2;min-width:0;min-height:52px;margin:0;flex-wrap:wrap;justify-content:center;gap:0 clamp(10px,2vw,24px);overflow:visible;font-size:13px; }
  .header > .member-access { grid-column:2;grid-row:1; }
  .header > .cart-link { position:static;grid-column:3;grid-row:1;margin-left:12px; }
  .header > .display-controls { position:fixed;right:14px;bottom:14px;background:var(--header);border:1px solid var(--line);padding:0 4px;margin:0; }
}
@media(max-width:899px) {
  :root { --header-height:264px; }
  .header { padding:4px 12px 24px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:88px 44px auto;gap:8px; }
  .header > .wordmark { grid-column:1/-1;grid-row:1;justify-self:center;width:min(240px,70vw);transform:none; }
  .header > .wordmark img { height:80px;transition:transform .3s; }
  .header > .wordmark:hover img { transform:scale(1.15) rotate(-2deg); }
  .header > .wordmark .wordmark-tagline { position:absolute;right:12px;bottom:8px;margin:0;white-space:nowrap;text-align:right;font-size:8px; }
  .header > .member-access { display:contents; }
  .header .member-nav,.header .member-login,.header > .cart-link { height:44px;min-height:44px;width:100%;min-width:0;padding:6px 4px;gap:4px;font-size:11px; }
  .header .member-nav { grid-column:1;grid-row:2; }
  .header .member-login { grid-column:2;grid-row:2; }
  .header:has(.member-login[hidden]) .member-nav { grid-column:1/3; }
  .header > .cart-link { grid-column:3;grid-row:2;margin-left:0; }
  .header > .cart-link::before { content:"";width:17px;height:17px;flex:none;background:currentColor;--basket:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h18l-2 11H5L3 9Zm4 0 5-7 5 7M9 13v3m6-3v3'/%3E%3C/svg%3E");-webkit-mask:var(--basket) center/contain no-repeat;mask:var(--basket) center/contain no-repeat; }
  .header > .cart-link b { min-width:14px; }
  .header > nav { grid-row:3;padding-bottom:8px;min-height:72px;column-gap:16px;font-size:12px; }
}
@media(max-width:359px) {
  .header > nav { font-size:12px;column-gap:10px; }
}

/* A compact mobile header leaves room for the offer without hiding navigation. */
@media(max-width:899px) {
  :root { --header-height:208px; }
  .header { min-height:0;padding:4px 12px 8px!important;grid-template-rows:56px 44px auto!important;gap:6px 8px; }
  .header > .wordmark { justify-self:left;width:min(180px,calc(100% - 90px)); }
  .header > .wordmark img { height:54px; }
  .header > .wordmark .wordmark-tagline { display:none; }
  .header > nav { min-height:0;padding:0;column-gap:16px; }
  .header > nav a { display:inline-flex;align-items:center;min-height:44px;padding:8px 0; }
  .header > .display-controls { bottom:8px;right:8px; }
}
/* Keep existing draft recovery visible; hide empty draft tools until opted in. */
#personalization-section:has(#personalization-enabled:not(:checked)) .personalization-draft:has(#personalization-draft-restore[hidden]):has(#personalization-draft-clear[hidden]) { display:none; }
