/* Scoped readability improvements. Existing prices, policies and actions are unchanged. */
.storefront .sf-product-copy h3 {font-size:16px;line-height:1.7}
.storefront .sf-variant,.sf-detail-variant {font-size:14px;color:#535c54}
.storefront .sf-price small,.storefront .sf-detail-price small {font-size:13px;color:#535c54}
.storefront .sf-badge {font-size:12px}
.storefront .sf-breadcrumb {font-size:13px}
.storefront .sf-breadcrumb a {display:inline-flex;align-items:center;min-height:44px}
.sf-detail-layout>* {min-width:0}
.sf-detail-info {overflow-wrap:anywhere}
.sf-detail .sf-description h2 {font-size:20px;line-height:1.7}
.sf-detail .sf-description p {font-size:16px;line-height:1.9}
.sf-detail .sf-fine {font-size:14px!important;line-height:1.9!important;color:#535c54}
.sf-detail .sf-fee-link,.sf-detail .sf-quantity {font-size:14px}
.sf-detail .sf-quantity select {font-size:16px}
.sf-detail .sf-variants h2,.sf-detail .sf-variants a {font-size:14px}
.sf-detail .sf-variants a {min-height:44px;display:inline-flex;align-items:center}
.sf-detail .sf-color-choice {min-width:44px;min-height:44px}
.sf-detail .sf-delivery-note {font-size:15px}
.sf-detail .sf-delivery-note strong {font-size:15px}
.sf-detail .sf-fee-link button,.sf-detail .sf-preorder-help {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.sf-detail .sf-purchase-note {font-size:14px;line-height:1.9;color:#535c54}
.sf-detail .sf-purchase-note h2 {font-size:18px;line-height:1.7;margin:0 0 16px;color:var(--sf-ink)}
.sf-detail .sf-purchase-note h3 {font-size:15px;line-height:1.7;margin:24px 0 8px;color:var(--sf-ink)}
.sf-detail .sf-purchase-note a {font-size:14px;min-height:44px;display:inline-flex;align-items:center;max-width:100%}
.sf-detail .sf-detail-help a {font-size:14px;min-height:44px}
.purchase .purchase-fine,.orders-view .purchase-fine {font-size:14px!important;line-height:1.9;color:#535c54}
.purchase .purchase-summary dt {font-size:14px}
.purchase .purchase-summary dt small {font-size:13px;color:#535c54}
.purchase .purchase-summary-note {font-size:14px;color:#535c54}
.purchase .purchase-back {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.purchase .guide-inline-links button {font-size:14px;min-height:44px;padding:8px 10px}
.purchase .guide-confirm-note p {font-size:14px;line-height:1.9}
.purchase .purchase-panel p,.orders-view .orders-info p {overflow-wrap:anywhere}
.purchase .purchase-summary-inner .guide-inline-links {display:flex;gap:4px 12px;flex-wrap:wrap}
.guide-body {font-size:15px;line-height:1.9}
.guide-period-note,.guide-draft-note,.purchase .terms-summary {font-size:14px}
.orders-view .orders-back,.orders-view .orders-help a {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.orders-view .orders-help {display:flex;gap:8px 20px;flex-wrap:wrap}
.orders-view .orders-cancel-form summary {min-height:44px;padding-block:10px;font-size:15px;cursor:pointer}
.sf-footer-column>a {font-size:14px;min-height:44px;display:flex;align-items:center;padding-block:8px;line-height:1.8}
.main-nav a {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.sf-search-form input,.sf-search-form select {font-size:16px}
.sf-detail a:focus-visible,.purchase a:focus-visible,.purchase button:focus-visible,.orders-view summary:focus-visible,.sf-footer-column>a:focus-visible {outline:2px solid var(--sf-ink);outline-offset:3px}
@media(max-width:600px){
 .storefront .sf-product-copy h3 {font-size:15px}
 .storefront .sf-variant {font-size:14px}
 .sf-detail .sf-description {padding-block:24px}
 .sf-detail .sf-purchase-note {padding-block:24px}
 .purchase .purchase-summary-inner {padding:22px}
 .purchase .guide-inline-links button {max-width:100%;text-align:left}
 .sf-footer-column {min-width:0}
}

/* Keep the shipping information action together when text wraps. */
.sf-detail .sf-fee-link {flex-wrap:wrap;gap:4px 16px}
.sf-detail .sf-fee-link button {flex-shrink:0;white-space:nowrap}

/* Claude integrated audit follow-up: no CSP relaxation or transaction changes. */
.custom-shop-document {white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.8}
.sf-eyebrow,.purchase-eyebrow,.orders-eyebrow,.sf-hero-caption,.brand-caption {font-size:12px;color:#535c54}
.sf-categories small {font-size:12px;color:#535c54}
.preview-note,.sf-shipping-banner {font-size:14px}
.category-nav {flex-wrap:wrap;gap:4px 16px}
.category-nav a {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.sf-footer-bottom small {font-size:12px;color:#535c54}
.storefront .sf-price small,.storefront .sf-detail-price small,.storefront .sf-badge {font-size:14px}
.purchase .purchase-progress li {font-size:12px;color:#535c54}
.purchase .purchase-badge {font-size:14px;color:#304e3a}
.purchase input:focus-visible,.purchase select:focus-visible,.purchase textarea:focus-visible,.purchase button:focus-visible,.purchase a:focus-visible,.member-live input:focus-visible,.member-live button:focus-visible,.member-live a:focus-visible {outline:3px solid #304e3a;outline-offset:3px}
.member-live nav a {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.member-live nav {display:flex;gap:8px 16px;flex-wrap:wrap}
.member-live p {font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.bank-transfer-instructions h2 {font-size:20px;line-height:1.5}
.bank-transfer-instructions dt {font-size:14px}
.bank-transfer-instructions dd {font-size:16px;overflow-wrap:anywhere}
.bank-transfer-instructions small,.bank-transfer-help {font-size:14px}
.bank-transfer-save {font-size:16px;line-height:1.8}
.purchase-review-overview {border:1px solid #dce1d8;background:#f4f3ee;padding:24px;margin-bottom:24px}
.purchase-review-overview h2 {font-size:20px;margin:0 0 12px;line-height:1.5}
.purchase-review-overview dl {margin:0}
.purchase-review-overview dl>div {display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.purchase-review-overview dt {font-size:14px}
.purchase-review-overview dd {margin:0;font-size:18px;font-weight:600;overflow-wrap:anywhere}
.purchase-review-overview p {font-size:14px;line-height:1.8}
@media(max-width:600px){.purchase-review-overview {padding:20px}}

/* Match the existing responsive/important selectors for these intended sizes. */
.sf-eyebrow {font-size:12px!important}
body:has(.purchase) .preview-note {font-size:14px}

/* Mobile review: keep every essential condition expanded; no content hiding. */
.purchase-review {font-size:16px;line-height:1.65}
.purchase-review .purchase-panel {padding:20px;margin-bottom:16px}
.purchase-review .purchase-panel p {font-size:16px;line-height:1.65;letter-spacing:normal;margin-block:8px}
.purchase-review .purchase-contact {font-size:16px;line-height:1.65}
.purchase-review .purchase-panel-heading {margin-bottom:12px;gap:12px}
.purchase-review .purchase-divider {margin:18px 0}
.purchase-review .terms-summary {font-size:16px;line-height:1.65}
.purchase-review .terms-summary>div {padding-block:12px;gap:8px}
.purchase-review .terms-summary dd {line-height:1.65}
.purchase-review .terms-summary .guide-draft-note {font-size:16px;color:#283b32;margin-bottom:8px}
.purchase-review .purchase-fine,.purchase-review .email-reception-note p,.purchase-review .bank-transfer-help {font-size:14px!important;line-height:1.65}
.purchase-review .purchase-products {margin-block:12px}
.purchase-review .purchase-product {padding-block:12px}
.purchase-review .purchase-product h3 {font-size:16px;line-height:1.6}
.purchase-review .purchase-product p {margin-block:4px}
.purchase-review .purchase-review-overview {padding:16px;margin-bottom:16px}
.purchase-review .purchase-review-overview h2 {margin-bottom:8px}
.purchase-review .purchase-review-overview p {margin-block:8px;line-height:1.65}
.purchase-review .purchase-summary-inner {padding:20px}
.purchase-review .purchase-summary-inner h2 {margin-bottom:16px}
.purchase-review .purchase-summary dl>div {margin-bottom:12px}
.purchase-review .purchase-summary .purchase-grand {margin-top:16px;padding-top:16px}
.purchase-review .guide-confirm-note p {margin-block:8px;line-height:1.65}
.purchase-review .purchase-review-notice {padding:12px 16px;margin-bottom:16px}
.purchase-review .purchase-summary-note {margin-block:12px}
.purchase input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.purchase select,.purchase textarea {font-size:16px}
.purchase .purchase-change {font-size:14px;min-height:44px}
.purchase .guide-draft {font-size:14px}
.purchase a:not(.button):not(.purchase-back),.storefront .sf-text-link {display:inline-flex;align-items:center;max-width:100%;min-height:44px;min-width:44px;padding:4px 6px;margin-block:4px;margin-inline-end:8px;line-height:1.65;font-size:14px;overflow-wrap:anywhere}
.purchase a:not(.button):not(.purchase-back):focus-visible,.storefront .sf-text-link:focus-visible {outline:3px solid #304e3a;outline-offset:3px}
@media(max-width:600px){.purchase-review {width:calc(100% - 24px)}.purchase-review .purchase-panel {padding:16px 12px}.purchase-review .purchase-layout {gap:4px}.purchase-review .purchase-panel h2 {font-size:18px}}

.purchase .purchase-eyebrow {font-size:12px!important}

/* Compact nested condition boxes without reducing type or concealing fees. */
.purchase-review .purchase-panel .purchase-review-notice {padding:10px 12px}
.purchase-review .cancellation-policy {line-height:1.65}
.purchase-review .cancellation-policy-section {padding-block:12px}
.purchase-review .cancellation-policy-section h3 {margin-bottom:8px}
.purchase-review .cancellation-fees {margin-block:12px;line-height:1.65}
.purchase-review .cancellation-fees th,.purchase-review .cancellation-fees td {padding:8px 6px}
.purchase-review .cancellation-fees thead th,.purchase-review .cancellation-fees caption {font-size:14px}
.purchase-review .email-reception-note {padding:12px}

/* Avoid crowded progress labels and one-character heading wraps on small screens. */
.purchase-review .purchase-progress li {font-size:14px}
.purchase-review .purchase-progress li>b {box-sizing:border-box;max-width:100%;padding-inline:4px;line-height:1.5;overflow-wrap:anywhere}
.purchase-review .purchase-heading>p:last-child {font-size:14px}
.purchase-review .purchase-terms .purchase-panel-heading {flex-wrap:wrap;align-items:flex-start}

/* Review sequence stays expanded from address to terms to final consent. */
.purchase-review {max-width:880px}
.purchase-review .purchase-layout {display:block}
.purchase-review .purchase-summary {position:static;margin-top:16px}
.purchase-review .purchase-returned-terms .cancellation-policy {font-size:16px;line-height:1.65}
.purchase-review .purchase-returned-terms .cancellation-policy-section {padding-block:12px}
.site-footer .sf-footer-column>a {margin-block:8px}
@media(max-width:600px){.site-footer {padding-top:28px;padding-bottom:20px}.site-footer .sf-footer-main {row-gap:16px;padding-bottom:24px}}

/* a7c49e21: expanded review, flat sections, address/products in two desktop columns. */
.purchase-review {max-width:1040px}
.purchase-review .purchase-panel:not(.purchase-quote-changes) {border:0;border-top:1px solid #dce1d8;background:transparent;border-radius:0;box-shadow:none;padding:20px 0;margin-bottom:12px}
.purchase-review .purchase-review-top {display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.purchase-review .purchase-review-top>* {min-width:0}
.purchase-review .purchase-divider {margin:16px 0}
.purchase-review .email-reception-note,.purchase-review .address-confirmation-notice,.purchase-review .terms-important,.purchase-review .guide-draft-note {border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}
.purchase-review .address-confirmation-notice {margin-block:16px}
.purchase-review .email-reception-note {margin-block:12px}
.purchase-review .purchase-panel .address-confirmation-notice {padding:0}
.purchase-review .purchase-panel p,.purchase-review .purchase-contact,.purchase-review .guide-confirm-note p {font-size:16px;line-height:1.65}
.purchase-review .purchase-review-overview {border:0;border-radius:0;background:#f4f3ee}
.purchase-review .purchase-summary {position:static}
.purchase-review .purchase-summary-inner {position:static;border:0;border-radius:0;background:#f4f3ee;box-shadow:none}
.purchase-review .guide-confirm-note {border:0;background:transparent;padding:0;margin-block:16px}
.purchase-review .purchase-panel-heading {gap:12px}
.purchase-review .terms-links,.purchase-review .guide-inline-links {gap:8px 12px}
@media(min-width:900px){.purchase-review .purchase-review-top {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.purchase-review .purchase-panel h2 {font-size:20px}}
@media(max-width:600px){.purchase-review .purchase-panel:not(.purchase-quote-changes) {padding:20px 0}.purchase-review .purchase-panel h2 {font-size:18px}}

.purchase-review .purchase-terms {border-top:1px solid #dce1d8!important}
.purchase-review .terms-links button {min-width:44px;min-height:44px;display:inline-flex;align-items:center}
/* c83f06b2: retain visual emphasis for incomplete and refreshed-quote notices. */
.purchase-review>.purchase-review-incomplete {border:1px solid #bcc8bc;border-left:4px solid #304e3a;background:#f4f3ee;border-radius:4px;padding:12px 16px;color:#283b32;font-size:14px;line-height:1.65}
.purchase-review>.purchase-review-incomplete strong {font-size:16px;font-weight:700}
.purchase-review .purchase-quote-changes {border:1px solid #bcc8bc;border-left:4px solid #304e3a;background:#f4f3ee;border-radius:4px;padding:20px;margin-bottom:16px;color:#283b32;font-size:16px;line-height:1.65}
.purchase-review .purchase-quote-changes h2 {margin-bottom:12px}
.purchase-review .purchase-quote-changes ul {padding-left:24px;margin-block:8px}
@media(max-width:600px){.purchase-review .purchase-quote-changes {padding:16px}}
body:has(.purchase-review) .sf-search-toggle {width:44px;height:44px;min-width:44px;min-height:44px}
body:has(.purchase-review) .main-nav a {min-width:44px}

/* f61a09de: legible supplemental text and header hit areas. */
.purchase .purchase-progress li>span {font-size:14px}
.purchase .purchase-preorder-note,.purchase .purchase-preorder-note strong {font-size:14px}
.site-header .brand {min-height:44px}
.site-header>.sf-favorites-link {width:44px;min-width:44px;min-height:44px}
.site-header .brand:focus-visible,.site-header>.sf-favorites-link:focus-visible {outline:3px solid #304e3a;outline-offset:3px}

/* Keep shipping-recipient advisory as readable as the saved review conditions. */
.purchase-review .purchase-recipient-warning,.purchase-review .purchase-recipient-warning p{font-size:16px!important;line-height:1.7}

/* mb3: respect Japanese line-start punctuation in product names. */
.sf-detail h1,.sf-product-copy h3,.purchase-product h3,.orders-products strong {line-break:strict;word-break:normal;overflow-wrap:normal}

/* Keep the entire enlarged photo and its close control within the viewport. */
.sf-image-dialog {box-sizing:border-box;width:min(96vw,1640px);max-width:96vw;max-height:95vh;max-height:95dvh;padding:8px;overflow:auto}
.sf-image-dialog img {width:auto;height:auto;max-width:100%;max-height:calc(95vh - 76px);max-height:calc(95dvh - 76px);object-fit:contain}
.sf-image-close {position:static;min-height:44px;margin:0 0 8px auto;padding:8px 20px}
@media(max-width:640px){.sf-image-dialog {width:calc(100% - 8px);max-width:calc(100% - 8px);padding:4px}.sf-image-dialog img {max-height:calc(95vh - 68px);max-height:calc(95dvh - 68px)}}
