:root { --ink:#173b3d; --muted:#607779; --paper:#f2f7f6; --white:#fff; --line:#d4e0dd; --coral:#da6154; --coral-deep:#bc4b40; --mint:#e7f3f0; --yellow:#f3c25b; --display:"Noto Serif TC","Microsoft JhengHei",serif; --body:"Microsoft JhengHei","Noto Sans TC",sans-serif; }
* { box-sizing:border-box; } [hidden] { display:none !important; } body { margin:0; padding-bottom:78px; background:var(--paper); color:var(--ink); font:14px/1.65 var(--body); } button,input,select { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } img { max-width:100%; } .service-strip { padding:6px 16px; background:#133f41; color:#fff; font-size:11px; text-align:center; }.site-header { align-items:center; display:flex; justify-content:space-between; max-width:1280px; margin:auto; padding:17px 24px; }.brand { font:700 19px var(--display); letter-spacing:.12em; }.brand span { font:600 9px var(--body); letter-spacing:.16em; }.site-header nav { display:flex; gap:20px; align-items:center; font-size:12px; }.header-line { border-bottom:2px solid var(--coral); padding-bottom:2px; }.breadcrumb { grid-column:1/-1; margin:0 0 12px; color:var(--muted); font-size:12px; } #product-detail { display:grid; gap:16px; max-width:1280px; margin:auto; padding:0 24px 70px; }.hero-product { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(365px,.82fr); gap:30px; padding:20px; background:var(--white); }.product-media { display:grid; grid-template-columns:74px minmax(0,1fr); gap:12px; align-self:start; }.thumbnail-list { display:grid; gap:9px; align-content:start; max-height:622px; overflow:auto; }.thumbnail { padding:0; border:1px solid transparent; background:#eef4f2; aspect-ratio:.76; overflow:hidden; }.thumbnail.active { border:2px solid var(--coral); }.thumbnail img { display:block; height:100%; width:100%; object-fit:cover; }.main-image { position:relative; margin:0; aspect-ratio:.76; background:#eef4f2; overflow:hidden; }.main-image img { display:block; height:100%; width:100%; object-fit:cover; object-position:center top; }.main-image figcaption { position:absolute; right:10px; bottom:10px; padding:4px 7px; background:rgba(23,59,61,.85); color:#fff; font-size:11px; }.purchase-column { display:grid; align-content:start; }.product-summary { padding-bottom:18px; border-bottom:1px solid var(--line); }.product-kicker,.section-kicker { margin:0 0 8px; color:var(--coral-deep); font-size:10px; font-weight:700; letter-spacing:.14em; }.product-summary h1 { margin:0 0 12px; font:700 26px/1.35 var(--display); }.product-price { margin:0 0 12px; color:var(--coral-deep); font:700 27px var(--display); }.gift-notice { margin:0 0 10px; padding:9px 11px; background:#fff5d9; color:#71520e; font-size:13px; }.gift-notice strong { margin-right:7px; }.shipping-badge { margin:0; color:var(--muted); font-size:12px; }.feature-list { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 0; padding:0; list-style:none; }.feature-list li { padding:5px 8px; border:1px solid var(--line); color:#355b5c; font-size:12px; }.product-options { padding:18px 0; border-bottom:1px solid var(--line); }.option-group { display:grid; gap:9px; margin-bottom:16px; }.option-note { color:var(--muted); font-size:12px; }.color-options,.size-options { display:flex; flex-wrap:wrap; gap:8px; }.color-choice,.size-choice { min-width:66px; padding:8px 10px; border:1px solid var(--line); background:#fff; color:var(--ink); }.color-choice[aria-pressed="true"],.size-choice[aria-pressed="true"] { border-color:var(--coral); color:var(--coral-deep); background:#fffafa; }.size-choice small { display:block; margin-top:3px; font-size:10px; }.fit-preference { display:grid; gap:6px; color:var(--muted); font-size:12px; }.fit-preference select,.size-help-grid input { min-height:40px; padding:7px 9px; border:1px solid var(--line); background:#fff; }.product-size-help { margin-top:16px; padding:16px; background:var(--mint); }.product-size-help h2 { margin:0; font:700 18px var(--display); }.size-help-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }.size-help-grid label { display:grid; gap:5px; font-size:12px; }.size-help-button,.order-button { border:1px solid var(--coral); background:var(--coral); color:#fff; font-weight:700; }.size-help-button { padding:9px; align-self:end; }.size-result { margin:7px 0 0; color:#17605d; font-weight:700; }.product-trust { display:flex; align-items:center; gap:14px; padding:13px 17px; background:#eaf4f1; }.product-trust strong { color:#174d4b; }.product-trust span { color:var(--muted); font-size:12px; }.shipping-policy,.product-detail-images,.related-products { padding:28px 24px; background:#fff; }.shipping-policy h2,.product-detail-images h2,.related-products h2 { margin:0 0 18px; font:700 21px var(--display); }.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.info-grid article { border-top:2px solid var(--ink); padding-top:9px; }.info-grid h3 { margin:0 0 6px; font-size:14px; }.info-grid p { margin:0; color:var(--muted); font-size:12px; }.detail-image-stack { display:grid; justify-content:center; gap:16px; }.detail-image-stack img { display:block; width:min(100%,820px); margin:auto; }.related-products { display:grid; gap:28px; }.related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.related-product { border:1px solid var(--line); background:#fff; }.related-product img { display:block; aspect-ratio:.8; width:100%; object-fit:cover; }.related-product h3 { min-height:46px; margin:10px 10px 5px; font:700 15px/1.45 var(--display); }.related-product p { margin:0 10px 9px; color:var(--coral-deep); font-weight:700; }.related-product a { display:block; padding:9px 10px; border-top:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:700; }.catalog-cta { justify-self:center; padding:12px 22px; border:1px solid var(--ink); font-weight:700; }.purchase-bar { position:fixed; z-index:20; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr 1fr; max-width:620px; margin:auto; background:#fff; box-shadow:0 -4px 18px rgba(20,50,51,.13); }.purchase-bar>* { display:grid; min-height:56px; place-items:center; }.line-button { border:1px solid var(--coral); color:var(--coral-deep); font-weight:700; }.order-status { position:fixed; z-index:21; bottom:72px; left:50%; transform:translateX(-50%); color:#9a352e; font-size:12px; }.empty-media,.missing-product { padding:60px 20px; background:#fff; text-align:center; color:var(--muted); }.missing-product { grid-column:1/-1; } dialog { width:min(580px,calc(100% - 30px)); border:0; padding:26px; color:var(--ink); box-shadow:0 18px 60px rgba(0,0,0,.22); }.dialog-close { position:absolute; top:10px; right:12px; border:0; background:transparent; font-size:25px; }.dialog-kicker { color:var(--coral-deep); font-size:11px; letter-spacing:.14em; }.wide-field { grid-column:1/-1; } #cod-order-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; } #cod-order-form label { display:grid; gap:6px; font-size:12px; font-weight:700; } #cod-order-form input,#cod-order-form select { min-height:40px; border:1px solid var(--line); padding:7px 9px; } .policy-check,#cod-order-form button,#order-form-status { grid-column:1/-1; }.policy-check { display:flex !important; align-items:center; }.policy-check input { width:auto; min-height:auto !important; }.order-button { padding:11px; }.order-button:hover,.size-help-button:hover { background:var(--coral-deep); }.catalog-cta:hover { background:var(--ink); color:#fff; }
@media (max-width:800px) { .service-strip { font-size:10px; }.site-header,#product-detail { padding-left:14px; padding-right:14px; }.site-header { gap:8px; }.brand { flex:0 0 auto; font-size:17px; letter-spacing:.08em; }.brand span { display:none; }.site-header nav { display:flex; flex:1 1 auto; max-width:calc(100vw - 100px); min-width:0; justify-content:flex-end; gap:10px; overflow-x:auto; font-size:10px; white-space:nowrap; }.hero-product { grid-template-columns:1fr; padding:0; gap:0; }.hero-product,.purchase-column,.product-summary { min-width:0; }.product-media { grid-template-columns:1fr; min-width:0; }.thumbnail-list { grid-template-columns:repeat(6,72px); grid-auto-flow:column; overflow-x:auto; overflow-y:hidden; max-height:none; order:2; padding:10px; }.main-image { order:1; aspect-ratio:.82; }.purchase-column { padding:18px; }.product-summary h1 { overflow-wrap:anywhere; }.product-trust { align-items:start; flex-direction:column; gap:3px; }.shipping-policy,.product-detail-images,.related-products { padding:24px 16px; }.info-grid,.related-grid { grid-template-columns:repeat(2,1fr); }.info-grid { gap:14px; }.detail-image-stack { gap:10px; } }

.cod-badge { display:inline-block; margin:0 0 10px; padding:4px 8px; background:#e7f3f0; color:#17605d; font-size:12px; font-weight:700; }.purchase-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding-top:18px; }.purchase-actions .line-button { grid-column:1/-1; display:grid; min-height:42px; place-items:center; }.add-cart-button { border:1px solid var(--ink); background:#fff; color:var(--ink); font-weight:700; padding:8px; }.add-cart-button small { display:block; color:var(--muted); font-size:10px; font-weight:400; }.cart-order-summary { margin:14px 0; border-block:1px solid var(--line); padding:10px 0; }.cart-lines p { display:flex; gap:8px; justify-content:space-between; margin:7px 0; font-size:12px; }.order-total { display:flex; justify-content:space-between; font-size:15px; }.gift-summary { margin:0; color:#71520e; font-size:12px; }.store-help { color:var(--muted); font-size:12px; }.purchase-bar .line-button { background:#fff; }.purchase-bar button { font:inherit; }.header-line { background:transparent; border:0; }.header-line span { color:var(--coral-deep); }.catalog-cta { display:inline-grid; place-items:center; }.related-products .catalog-cta { justify-self:center; }
@media (max-width:800px) { .purchase-actions { grid-template-columns:1fr; }.purchase-actions .line-button { grid-column:auto; } }

/* Product content stays primary; recommendations remain visible without crowding purchase controls. */
.product-layout { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) 282px; grid-column:1/-1; }
.product-content { display:grid; gap:16px; min-width:0; }
.product-layout .hero-product { grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); }
.recommendation-sidebar { background:var(--white); display:grid; gap:20px; padding:18px; position:sticky; top:16px; }
.recommendation-sidebar .section-kicker { margin-bottom:5px; }
.recommendation-sidebar h2 { font-size:19px; margin-bottom:10px; }
.recommendation-sidebar .related-grid { display:grid; gap:9px; grid-template-columns:1fr; }
.recommendation-sidebar .related-product { align-items:center; display:grid; gap:9px; grid-template-columns:68px minmax(0,1fr); }
.recommendation-sidebar .related-product img { aspect-ratio:.8; grid-row:1/4; height:82px; object-fit:cover; width:68px; }
.recommendation-sidebar .related-product h3 { font:700 13px/1.35 var(--body); margin:0; min-height:0; overflow:hidden; }
.recommendation-sidebar .related-product p { font-size:12px; margin:0; }
.recommendation-sidebar .related-product { border-top:0; font-size:12px; padding:0; }
.recommendation-sidebar .catalog-cta { border-color:var(--coral); color:var(--coral-deep); justify-self:stretch; text-align:center; }
.shipping-badge { align-items:center; background:#fff2d7; color:#6c4800; display:flex; gap:9px; margin:0 0 12px; padding:9px 11px; }
.shipping-badge strong { background:#d88919; color:#fff; font-size:13px; padding:2px 6px; }
.shipping-badge span { font-size:11px; }
.option-group.is-invalid { background:#fff2f1; border:1px solid var(--coral); margin-left:-10px; margin-right:-10px; padding:10px; }
.option-group.is-invalid b::after { color:var(--coral-deep); content:"　請先選擇"; font-size:12px; }
.order-status { background:rgba(255,255,255,.96); border-radius:2px; max-width:min(520px,calc(100vw - 28px)); padding:8px 12px; text-align:center; }
.order-status.is-error { background:#fff0ee; border:1px solid var(--coral); color:#a43830; font-size:14px; font-weight:700; }
@media (max-width:1100px) {
  .product-layout { grid-template-columns:1fr; }
  .recommendation-sidebar { position:static; }
  .recommendation-sidebar .related-grid { display:grid; grid-auto-columns:minmax(185px, 30vw); grid-auto-flow:column; grid-template-columns:none; overflow-x:auto; padding-bottom:4px; }
  .recommendation-sidebar .related-product { align-items:stretch; grid-template-columns:1fr; min-height:100%; }
  .recommendation-sidebar .related-product img { grid-row:auto; height:auto; width:100%; }
  .recommendation-sidebar .related-product h3 { min-height:36px; padding:0 9px; }
  .recommendation-sidebar .related-product p,.recommendation-sidebar .related-product a { padding:0 9px 9px; }
}
@media (max-width:800px) {
  .product-layout .hero-product { grid-template-columns:1fr; }
  .recommendation-sidebar { margin:0 -14px; padding:20px 14px; }
  .shipping-badge { align-items:flex-start; flex-direction:column; }
}

/* Purchase controls remain compact while making the three header actions unmistakable. */
.nav-action { align-items:center; border:1px solid var(--line); display:inline-flex; justify-content:center; min-height:36px; padding:8px 11px; font-weight:700; }
.catalog-link.nav-action { border-color:#aec3bf; }
.cart-action { background:var(--coral); border-color:var(--coral); color:#fff; }
.cart-action span { align-items:center; background:#fff; border-radius:50%; color:var(--coral-deep); display:inline-flex; font-size:11px; height:19px; justify-content:center; margin-left:5px; min-width:19px; }
.line-action { background:#e8f7f3; border-color:#0a8c78; color:#075e52; }
.quantity-picker { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:14px 0; }
.quantity-picker > div,.cart-quantity { align-items:center; display:flex; gap:8px; }
.quantity-picker button,.cart-quantity button { border:1px solid var(--line); background:#fff; color:var(--ink); font-size:18px; height:32px; line-height:1; width:32px; }
.quantity-picker output,.cart-quantity output { display:inline-grid; font-weight:700; min-width:24px; place-items:center; }
.multi-item-hint { margin:10px 0 0; padding:10px 12px; border-left:3px solid #0c7372; background:#edf6f2; color:#315856; font-size:12px; line-height:1.6; }
.line-quick-card { align-items:center; border-top:1px solid var(--line); display:grid; gap:10px; grid-template-columns:62px 1fr; margin-top:18px; padding-top:16px; }
.line-quick-card img { aspect-ratio:1; border:1px solid var(--line); width:62px; }
.line-quick-card div { display:grid; gap:2px; font-size:12px; }
.line-quick-card span { color:var(--muted); }
.line-quick-card a { color:#087865; font-weight:700; }
.line-quick-card button { padding:0; border:0; background:transparent; color:#087865; font:inherit; font-weight:700; text-align:left; }
.line-qr { display:block; width:180px; height:180px; margin:18px auto 14px; border:1px solid var(--line); object-fit:contain; }
#line-dialog .order-button { display:block; width:100%; text-align:center; }
.cart-section-title { color:var(--coral-deep); font-size:12px; font-weight:700; letter-spacing:.1em; margin:0 0 10px; }
.cart-line { align-items:center; display:grid; gap:10px; grid-template-columns:52px minmax(0,1fr) auto; margin:0; padding:10px 0; }
.cart-line + .cart-line { border-top:1px solid var(--line); }
.cart-line > div { display:grid; gap:3px; min-width:0; }
.cart-line span { color:var(--muted); font-size:12px; }
.cart-thumbnail { aspect-ratio:.8; background:var(--mint); height:66px; object-fit:cover; width:52px; }
.cart-quantity { margin-top:3px; }
.cart-quantity button { height:26px; width:26px; }
.cart-quantity .cart-remove { border:0; color:var(--coral-deep); font-size:12px; margin-left:4px; width:auto; }
@media (max-width:800px) { html,body { max-width:100%; overflow-x:hidden; }.service-strip { line-height:1.45; white-space:normal; }.site-header { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100vw; max-width:100vw; min-width:0; overflow:hidden; padding-top:12px; }.site-header .brand { grid-column:1/-1; }.site-header nav { display:contents; }.site-header nav > * { width:100%; min-width:0; overflow-wrap:anywhere; }.site-header nav > :first-child { grid-column:1; }.site-header nav > :nth-child(2) { grid-column:2; }.site-header > #line-consultation { grid-column:1/-1; justify-self:stretch; width:calc(100vw - 28px); }.nav-action { min-width:0; min-height:38px; padding:6px 4px; white-space:normal; text-align:center; }.cart-action span { margin-left:3px; }.line-quick-card { margin-bottom:6px; }.cart-line { grid-template-columns:46px minmax(0,1fr); }.cart-line > strong { grid-column:2; }.cart-thumbnail { height:58px; width:46px; } }
.thumbnail { position:relative; }
.thumbnail-badge,.media-kind-label { position:absolute; z-index:1; padding:3px 5px; background:rgba(23,59,61,.9); color:#fff; font-size:10px; font-weight:700; line-height:1; }
.thumbnail-badge { right:2px; bottom:2px; }
.media-kind-label { top:10px; left:10px; }
.main-image.is-specification { background:#fff; }
.main-image.is-specification img { object-fit:contain; object-position:center; }
.product-delivery { margin-top:16px; padding:15px; border:1px solid var(--line); background:#fbfdfc; }
.product-delivery h2 { margin:0 0 6px; font:700 18px var(--display); }
.product-delivery p { margin:0 0 5px; color:var(--muted); font-size:12px; }
.product-delivery .delivery-date { color:#17605d; font-weight:700; }
.product-delivery small { color:var(--muted); font-size:11px; }
.address-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
@media (max-width:800px) { .address-grid { grid-template-columns:1fr; } }

/* Same selector is used by the catalogue and product detail page. */
.variant-selector-dialog { width:min(690px,calc(100vw - 32px)); max-width:none; max-height:calc(100vh - 34px); overflow:auto; padding:28px; }
.selector-product { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:13px; grid-template-columns:74px minmax(0,1fr); padding:0 28px 16px 0; }.selector-product img { aspect-ratio:.78; background:var(--mint); height:94px; object-fit:cover; width:74px; }.selector-product strong,.selector-product span { display:block; }.selector-product span { color:var(--coral-deep); font-weight:700; }
.selector-colors { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }.selector-color { background:#fff; border:1px solid var(--line); color:var(--ink); padding:7px 11px; }.selector-color.is-selected { background:#fff7f5; border-color:var(--coral); color:var(--coral-deep); }.selector-variants { border-top:1px solid var(--line); }.selector-variant { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:9px; grid-template-columns:minmax(0,1fr) auto; padding:12px 0; }.selector-variant strong,.selector-variant small { display:block; }.selector-variant small { color:var(--muted); font-size:11px; }.selector-stock { color:#17605d; font-size:11px; }.selector-stock.sold-out { color:var(--coral-deep); }.selector-stepper { align-items:center; display:grid; gap:7px; grid-template-columns:32px 28px 32px; }.selector-stepper button { background:#fff; border:1px solid var(--line); color:var(--ink); font-size:18px; height:32px; line-height:1; }.selector-stepper button:disabled { background:#f3f6f5; color:#a2b3b1; cursor:not-allowed; }.selector-stepper output { font-weight:700; text-align:center; }.selector-summary { background:#edf6f2; margin-top:16px; padding:13px; }.selector-summary > p { margin:0 0 5px; }.selector-summary-lines { display:grid; gap:6px; margin:8px 0 11px; }.selector-summary-line { align-items:baseline; border-top:1px solid rgba(23,59,61,.12); display:flex; gap:12px; justify-content:space-between; margin:0; padding-top:6px; }.selector-summary-line span { min-width:0; overflow-wrap:anywhere; }.selector-summary-line strong { flex:0 0 auto; }.selector-summary .selector-summary-total { color:var(--ink); display:block; font-size:16px; font-weight:700; }.selector-summary .selector-summary-empty { color:var(--coral-deep); font-weight:700; }.selector-summary small { color:var(--muted); }.selector-submit { margin-top:14px; width:100%; }.selector-submit:disabled { background:#aab9b7; border-color:#aab9b7; cursor:not-allowed; }
@media (max-width:600px) { .variant-selector-dialog { border-radius:16px 16px 0 0; margin:auto 0 0; max-height:88vh; min-height:0; width:100%; }.selector-product { grid-template-columns:58px minmax(0,1fr); }.selector-product img { height:74px; width:58px; } }

/* All SKU pages share this shell. Keep every responsive column inside the mobile viewport. */
@media (max-width:800px) {
  .product-layout,.product-content,.hero-product,.purchase-column { max-width:100%; min-width:0; width:100%; }
  .product-summary,.product-options,.product-size-help,.product-delivery,.shipping-policy,.product-detail-images { min-width:0; overflow-wrap:anywhere; }
  .purchase-bar { max-width:100vw; width:100%; }
  .purchase-bar > * { min-width:0; padding-inline:8px; text-align:center; }
}

/* Portrait layout owns the final cascade. Desktop and tablet rules above remain unchanged. */
@media (max-width:800px) {
  html,body { max-inline-size:100%; overflow-x:visible; }
  .site-header,#product-detail { inline-size:100%; max-inline-size:100%; min-inline-size:0; }
  .site-header { grid-template-columns:repeat(2,minmax(0,1fr)); width:auto; }
  .site-header > #line-consultation { inline-size:auto; max-inline-size:100%; width:auto; }
  .product-layout { grid-template-columns:minmax(0,1fr); inline-size:100%; max-inline-size:100%; min-inline-size:0; }
  .product-content,.product-layout .hero-product,.product-media,.purchase-column { grid-template-columns:minmax(0,1fr); inline-size:100%; max-inline-size:100%; min-inline-size:0; }
  .product-layout .hero-product { gap:0; padding:0; }
  .purchase-column { padding:18px; }
  .product-summary,.product-options,.product-size-help,.product-delivery,.shipping-policy,.product-detail-images,.line-quick-card { inline-size:100%; max-inline-size:100%; min-inline-size:0; overflow-wrap:anywhere; }
  .product-summary h1,.product-delivery .delivery-date,.purchase-bar > * { overflow-wrap:anywhere; word-break:normal; }
  .recommendation-sidebar { inline-size:100%; max-inline-size:100%; margin:0; padding:20px 14px; position:static; }
  .recommendation-sidebar .related-grid { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-columns:auto; grid-auto-flow:row; overflow:visible; padding-bottom:0; }
  .recommendation-sidebar .related-product { align-items:center; display:grid; gap:12px; grid-template-columns:92px minmax(0,1fr); min-block-size:0; min-inline-size:0; overflow:hidden; }
  .recommendation-sidebar .related-product img { grid-row:1/3; block-size:112px; inline-size:92px; max-inline-size:100%; }
  .recommendation-sidebar .related-product h3 { min-block-size:0; overflow-wrap:anywhere; }
  .recommendation-sidebar .related-product p { padding:0; }
  .purchase-bar { inset-inline:0; inline-size:auto; max-inline-size:none; width:auto; }
}

.related-product { transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.related-product:hover,.related-product:focus-visible { border-color:var(--coral); box-shadow:0 4px 14px rgba(20,50,51,.12); outline:0; transform:translateY(-1px); }
.success-order-summary { margin:15px 0; }.receipt-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 0 12px; }.receipt-meta div { padding:9px; background:var(--mint); }.receipt-meta dt { color:var(--muted); font-size:10px; }.receipt-meta dd { margin:4px 0 0; color:var(--ink); font-size:12px; font-weight:700; }.receipt-lines { border-top:1px solid var(--line); }.receipt-line { display:grid; grid-template-columns:46px 1fr auto; gap:9px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); font-size:12px; }.receipt-line img { width:46px; height:58px; object-fit:cover; background:var(--mint); }.receipt-line span { display:block; color:var(--muted); font-size:11px; }.receipt-actions { display:flex; flex-wrap:wrap; gap:8px; margin:13px 0; }.receipt-actions .line-button,.receipt-actions .catalog-cta { min-height:39px; padding:8px 11px; font-size:12px; }
@media (max-width:540px) { .receipt-meta { grid-template-columns:1fr; }.receipt-line { grid-template-columns:40px 1fr; }.receipt-line > strong { grid-column:2; }.receipt-line img { width:40px; height:50px; } }
.policy-check { gap:8px; }
.policy-check a,.shipping-policy a { color:#087865; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Keep approved product-detail artwork at its intrinsic proportions. */
.detail-image-stack img { width:min(100%,820px); height:auto; }
