/* The product card (product-card.js): the room's dark glass card, shared by every place a piece is shown.
   Each place only positions it (portal.css, journey-cards in shop-v2/tour) — the card itself looks the same everywhere. */
.ftn-card{box-sizing:border-box;width:min(calc(100vw - 32px),430px);padding:16px 18px 12px;border:1px solid #ffffff1f;border-radius:22px;background:#141412cc;
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 18px 50px #0006;color:#f1eee7;font-family:'DM Sans',sans-serif;text-align:left}
.ftn-card-kicker{display:flex;justify-content:space-between;gap:12px;margin:0 0 6px;font:600 9.5px 'DM Sans',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#b9b3a6}
.ftn-card-kicker span{flex:none;color:#8f8a80;letter-spacing:.12em}
.ftn-card h2{margin:0;font-size:19px;line-height:1.2;font-weight:600;color:#f6f3ec;letter-spacing:0;text-transform:none}
.ftn-card h2 .piece-no{color:#b9b3a6;font-weight:500;font-size:.62em;letter-spacing:.14em;vertical-align:.18em;opacity:.9;margin-right:.3em} /* Nº 01 readable, as on /journey */
.ftn-card h2 .name-colour{color:#b9b3a6;font-weight:400}
.ftn-card-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:6px 0 10px;font-size:15px;color:#f1eee7}
.ftn-card-price s{color:#8f8a80}
.ftn-card-price small{font-size:11px;color:#a59f93}
.ftn-card-swatches{display:flex;gap:9px;margin-bottom:12px}
.ftn-card-swatches button{position:relative;width:24px;height:24px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:var(--swatch);cursor:pointer}
.ftn-card-swatches button::after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--print)}
.ftn-card-swatches button[aria-pressed=true]{outline:1.5px solid #f1eee7;outline-offset:3px}
.ftn-card-swatches .is-sold-out{opacity:.4}
.ftn-card-actions{display:grid;grid-template-columns:44px 1fr auto 44px;gap:8px}
.ftn-card-actions button{height:44px;margin:0;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff0f;color:inherit;font:600 12px 'DM Sans',sans-serif;letter-spacing:.06em;cursor:pointer;box-shadow:none}
.ftn-card-actions .ftn-card-shop{white-space:nowrap;background:#f1eee7;color:#151513;border-color:#f1eee7;text-transform:uppercase;letter-spacing:.14em}
.ftn-card-actions .ftn-card-flip{padding:0 16px}
.ftn-card-actions button:disabled{opacity:.3;cursor:default}
.ftn-card-walk{display:flex;align-items:center;gap:8px;margin:10px auto 0;padding:6px 10px;border:0;background:none;color:#b9b3a6;font:500 11px 'DM Sans',sans-serif;letter-spacing:.08em;cursor:pointer}
.ftn-card :is(button):focus-visible{outline:2px solid #f1eee7;outline-offset:2px}
.ftn-card-skeleton{display:grid;gap:9px;padding:4px 0 8px}
.ftn-card-skeleton :is(i,b){display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#ffffff12,#ffffff26,#ffffff12) 0 0/200% 100%;animation:ftnCardShimmer 1.4s linear infinite}
.ftn-card-skeleton i{width:40%}.ftn-card-skeleton b:first-of-type{height:18px;width:75%}.ftn-card-skeleton b:last-of-type{width:30%}
@keyframes ftnCardShimmer{to{background-position:-200% 0}}
@media(max-height:700px){.ftn-card{padding:12px 14px 8px}.ftn-card-walk{display:none}.ftn-card h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ftn-card-skeleton :is(i,b){animation:none}}
@media(prefers-reduced-transparency:reduce){.ftn-card{background:#141412}}

/* The size guide in the product sheets (product-card.js ftnSizeGuide). */
.ftn-size-guide{margin:12px 0 4px;font-size:12px}
.ftn-size-guide summary{cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px;width:max-content}
.ftn-size-scroll{overflow-x:auto;margin-top:8px}
.ftn-size-guide{min-width:0;max-width:100%}
.ftn-size-guide table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.ftn-size-guide th,.ftn-size-guide td{padding:6px 7px;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);text-align:center;white-space:nowrap}
.ftn-size-guide thead th{font-size:10.5px;letter-spacing:.08em;opacity:.7}
.ftn-size-guide tbody th{text-align:left;font-weight:600}
.ftn-size-guide tbody th small{display:block;font-weight:400;font-size:10px;opacity:.65}
.ftn-size-guide p{margin:8px 0 0;opacity:.75;line-height:1.45}
@media(max-width:480px){.ftn-size-guide th,.ftn-size-guide td{padding:6px 3px;font-size:11px}.ftn-size-guide tbody th small{display:none}}

/* Quantity in the shop sheet (catalogue.js qtyControl). */
.qty-stepper{display:flex;align-items:center;gap:10px;margin:8px 0 18px}
.qty-stepper output{min-width:22px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.qty-stepper small{opacity:.65;font-size:12px}
.qty-stepper .size:disabled{opacity:.35;cursor:default}
.ftn-card-note{margin:8px 0 0;font-size:13px;line-height:1.5;color:#b9b3a6} /* the 'nothing released yet' card */
.ftn-card-actions:has([data-notify]){grid-template-columns:auto;justify-content:start;margin-top:14px}.ftn-card-actions [data-notify]{padding:0 22px}
