/* Customer pages share the homepage's Inter font and a deliberate type scale. */

:root {

  --stw-ui-font: "Inter", "Inter Fallback", Roboto, Arial, sans-serif;

  --stw-ui-caption: 12px;

  --stw-ui-copy: 14px;

  --stw-ui-input: 16px;

  --stw-ui-emphasis: 18px;

  --stw-ui-title: 24px;

}



.stw-customer-main, .stw-auth-main,

html body.stw-cart-route, html body.stw-checkout-route {

  font-family: var(--stw-ui-font);

  font-size: var(--stw-ui-input);

  font-weight: 400;

  line-height: 1.5;

}

.stw-customer-main :is(button, input, select, textarea),

.stw-auth-main :is(button, input, select, textarea) { font-family: inherit; }



/* Account identity, navigation and content use the same hierarchy on each route. */

.stw-customer-main .stw-customer-user strong { font-size:16px; font-weight:600; line-height:1.5; }

.stw-customer-main .stw-customer-user small { font-size:12px; font-weight:400; line-height:1.5; }

.stw-customer-main .stw-customer-logout { font-size:14px; font-weight:500; line-height:1.5; }

.stw-customer-main .stw-customer-avatar { font-size:18px; font-weight:600; }

.stw-customer-main .stw-customer-nav a { font-size:14px; font-weight:500; line-height:1.4; }

.stw-customer-main .stw-customer-nav a.is-active { font-weight:600; }

.stw-customer-main .stw-customer-content > header { min-height:0; padding:16px 24px; gap:8px; }

.stw-customer-main .stw-customer-content > header h1 { font-size:24px; font-weight:700; line-height:1.3; letter-spacing:-.3px; }

.stw-customer-main .stw-customer-content > header span { display:none; }

.stw-customer-main .stw-customer-content > header h1 { margin:0; }

.stw-customer-main .stw-customer-profile-grid { gap:12px 18px; }

.stw-customer-main :is(.stw-customer-profile-grid > label, .stw-profile-field, .stw-address-field label) { font-size:14px; font-weight:600; line-height:1.5; }

.stw-customer-main :is(.stw-customer-profile-grid input, .stw-customer-profile-grid select, .stw-address-field input, .stw-address-field select, .stw-address-field textarea) { font-size:16px; font-weight:400; line-height:1.5; }

.stw-customer-main :is(.stw-address-field-error, .stw-customer-profile-grid small, .stw-address-field label small) { font-size:12px; line-height:1.5; }

.stw-customer-main :is(.stw-auth-submit, .stw-address-add, .stw-address-card-actions button, .stw-address-form-actions button) { min-height:44px; font-size:14px; font-weight:600; line-height:1.4; }

.stw-customer-main .stw-account-shortcuts { display:none; }

.stw-customer-main .stw-account-shortcuts strong { font-size:14px; font-weight:600; }

.stw-customer-main .stw-account-shortcuts span { font-size:12px; line-height:1.5; }

.stw-customer-main .stw-addresses-body { padding:20px 24px; }



/* All order states stay visible; selection mirrors the account navigation. */
.stw-orders-main .status-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); height:auto; min-height:72px; overflow:visible; gap:0; border:0; border-bottom:1px solid #d6e5ef; border-radius:0; background:transparent; padding:0; }
.stw-orders-main .status-tabs .status-tab { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:100%; min-width:0; min-height:72px; padding:8px 4px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#526a7e; font-size:14px; font-weight:500; line-height:20px; white-space:normal; }
.stw-orders-main .status-tabs .status-tab.active { border-bottom-color:#0d63c8; background:#eaf5ff; color:#0b4b9f; font-weight:600; }
.stw-orders-main .status-tabs .status-tab-icon { position:relative; display:flex; align-items:center; justify-content:center; width:28px; height:28px; margin:0; }
.stw-orders-main .status-tabs .status-tab-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.stw-orders-main .status-tabs .status-tab-label { display:block; margin:0; font-size:14px; font-weight:inherit; line-height:20px; white-space:normal; }
.stw-orders-main .status-tabs .status-tab-count { position:absolute; top:-2px; left:22px; min-width:18px; padding:0 3px; border-radius:8px; background:#eaf5ff; color:#0b4b9f; font-size:12px; font-weight:600; line-height:16px; }
.stw-orders-main .stw-orders-body { gap:16px; padding:20px 24px; }

.stw-orders-main .order-header { gap:12px; padding:12px 16px; }

.stw-orders-main .order-code { font-size:12px; font-weight:600; line-height:18px; }

.stw-orders-main .order-date { font-size:12px; line-height:18px; }

.stw-orders-main .micro-status { font-size:12px; font-weight:400; line-height:18px; }

.stw-orders-main .order-status-tag { padding:3px 8px; border-radius:6px; font-size:12px; font-weight:600; line-height:18px; }

.stw-orders-main .status-placed { background:#eef5ff; color:#0b4b9f; }

.stw-orders-main .status-shipping { background:#eaf8ff; color:#086d9d; }

.stw-orders-main .status-completed { background:#eaf7ef; color:#187345; }

.stw-orders-main .status-cancelled { background:#edf1f5; color:#526578; }

.stw-orders-main .order-body { padding:0 16px; }

.stw-orders-main .order-item { gap:12px; padding:12px 0; }

.stw-orders-main .order-item-title { font-size:14px; font-weight:600; line-height:1.5; }

.stw-orders-main .order-item-sub { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; font-size:12px; font-weight:400; line-height:1.5; }
.stw-orders-main .order-item-quantity { white-space:nowrap; color:#526a7e; }


.stw-orders-main .price-sale { font-size:16px; font-weight:600; line-height:1.5; }

.stw-orders-main .order-footer { min-height:0; align-items:center; flex-wrap:wrap; padding:12px 16px; gap:12px; }
.stw-orders-main .order-actions:empty { display:none; }

.stw-orders-main .order-total-line { flex:1; flex-direction:row; align-items:baseline; justify-content:space-between; gap:12px; font-size:14px; font-weight:400; line-height:1.5; }

.stw-orders-main .order-total-amount { font-size:18px; font-weight:700; line-height:1.4; }

.stw-orders-main :is(.btn-action-sec, .btn-action-primary, .btn-modal-cancel) { min-height:44px; padding:10px 16px; font-size:14px; font-weight:600; line-height:20px; }

.stw-orders-main .empty-orders h2 { font-size:18px; font-weight:600; line-height:1.4; }

.stw-orders-main :is(.empty-orders p, .orders-feedback, .reason-item) { font-size:14px; line-height:1.5; }

.stw-orders-main .modal-title { font-size:18px; line-height:1.4; }

.stw-orders-main .retention-alert { font-size:12px; line-height:1.5; }

.stw-orders-main .stw-guest-account-prompt { padding:16px; }

.stw-orders-main .stw-guest-account-prompt strong { font-size:14px; font-weight:600; }

.stw-orders-main .stw-guest-account-prompt p { font-size:14px; }

.stw-orders-main .stw-guest-account-prompt a { font-size:14px; font-weight:600; }



.stw-auth-main .stw-auth-card h2 { font-size:24px; font-weight:700; line-height:1.3; }

.stw-auth-main :is(.stw-auth-helper, .stw-auth-field > label, .stw-auth-social, .stw-auth-submit, .stw-auth-secondary, .stw-auth-switch, .stw-auth-login-options) { font-size:14px; line-height:1.5; }

.stw-auth-main :is(.stw-auth-field > label, .stw-auth-social, .stw-auth-submit, .stw-auth-secondary) { font-weight:600; }

.stw-auth-main .stw-auth-field :is(input, select, textarea) { font-size:16px; font-weight:400; line-height:1.5; }

.stw-auth-main :is(.stw-auth-alert, .stw-auth-success, .stw-auth-card label small) { font-size:12px; line-height:1.5; }



/* Catalog/detail rules are scoped so the homepage stays visually unchanged. */

body.products-page .catalog-results__head h1,

body:is(.product-detail-page,:has(.product-detail)) .product-heading h1 { font-size:24px; font-weight:700; line-height:1.35; letter-spacing:-.3px; }

:is(body.products-page, body:is(.product-detail-page,:has(.product-detail))) .catalog-card h2 { font-size:14px; font-weight:600; line-height:1.5; }

:is(body.products-page, body:is(.product-detail-page,:has(.product-detail))) .catalog-card__category { font-size:12px; font-weight:500; line-height:1.5; }

:is(body.products-page, body:is(.product-detail-page,:has(.product-detail))) .catalog-card__price strong { font-size:18px; font-weight:700; line-height:1.4; }

:is(body.products-page, body:is(.product-detail-page,:has(.product-detail))) :is(.catalog-card__price del, .catalog-card__availability) { font-size:12px; line-height:1.5; }

body:is(.product-detail-page,:has(.product-detail)) :is(.product-description, .product-summary__meta) { font-size:14px; line-height:1.65; }

body:is(.product-detail-page,:has(.product-detail)) .product-description h2 { font-size:18px; font-weight:600; line-height:1.4; }

body:is(.product-detail-page,:has(.product-detail)) :is(.product-buy, .mobile-buy-bar__buy, .mobile-buy-bar__cart) { font-weight:600; }



/* Existing cart sheets have important declarations; keep overrides narrowly scoped. */

:is(body.stw-cart-route, body.stw-checkout-route) :is(.cart-mobile-header h1, .checkout-mobile-header h1) { font-size:20px; font-weight:700; line-height:1.3; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.cart-mobile-edit, .cart-select-all, .cart-checkout-label) { font-size:14px!important; font-weight:500!important; line-height:1.5; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.cart-item-title, .checkout-title) { font-size:14px!important; font-weight:600!important; line-height:1.5!important; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.cart-item-sale-price, .cart-item-pricing) { font-size:16px!important; font-weight:600!important; line-height:1.4; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.sum-row, .checkout-consent, .checkout-payment-method__option, .checkout-address-trigger__copy, .checkout-continue-shopping) { font-size:14px; line-height:1.5; }

:is(body.stw-cart-route, body.stw-checkout-route) .field-label { font-size:14px; font-weight:600; line-height:1.5; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.comem-input, .comem-textarea, .search-select-trigger, .dropdown-search-input) { font-size:16px!important; font-weight:400; line-height:1.5; }

:is(body.stw-cart-route, body.stw-checkout-route) :is(.btn-checkout-now, .mobile-checkout-submit, .checkout-address-save) { min-height:44px; font-size:16px!important; font-weight:600; line-height:1.4; }

body.stw-checkout-route .checkout-address-sheet__head h2 { font-size:20px; font-weight:700; line-height:1.3; }



@media(max-width:768px) {
  .stw-orders-main .status-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .stw-orders-main .status-tabs .status-tab:nth-child(n+4) { border-top:1px solid #edf1f5; }

  body .stw-customer-main { padding:0 0 72px; background:#fff; }

  .stw-customer-main .stw-customer-shell { width:100%; }

  .stw-customer-main .stw-customer-layout { gap:0; }

  .stw-customer-main :is(.stw-customer-side, .stw-customer-content) { border:0; border-radius:0; box-shadow:none; background:#fff; }

  .stw-customer-main .stw-customer-side { margin-bottom:0; padding:12px 16px 0; border-bottom:1px solid #d6e5ef; }

  .stw-customer-main .stw-customer-user { min-height:54px; padding:0 98px 10px 0; gap:12px; }

  .stw-customer-main .stw-customer-avatar { width:44px; height:44px; flex-basis:44px; }

  .stw-customer-main .stw-customer-logout { top:12px; right:12px; padding:0 4px; }

  .stw-customer-main .stw-customer-nav { margin:0 -16px; }

  .stw-customer-main .stw-customer-nav a { min-height:56px; padding:8px 4px; gap:6px; font-size:12px; line-height:16px; }

  .stw-customer-main .stw-customer-nav svg { width:20px; height:20px; }

  .stw-customer-main .stw-customer-content > header { padding:12px 16px; background:#fff; border-bottom:0; }

  .stw-customer-main .stw-customer-content > header h1 { font-size:20px; }

  .stw-customer-main .stw-customer-profile-form { padding:0 16px 20px; }

  .stw-customer-main .stw-addresses-body { padding:0 16px 20px; }

  .stw-orders-main .stw-orders-body { padding:0 16px 20px; }

  .stw-orders-main .order-header { padding:12px; }

  .stw-orders-main .order-meta-right { max-width:60%; }

  .stw-orders-main .order-body { padding:0 12px; }

  .stw-orders-main .order-item { display:grid; grid-template-columns:62px minmax(0,1fr); column-gap:12px; row-gap:0; align-items:start; }

  .stw-orders-main .order-item-img { grid-row:auto; width:62px; height:62px; }

  .stw-orders-main .order-item-info { grid-column:2; }



  .stw-orders-main .order-footer { padding:12px; }

  .stw-orders-main .order-total-line { flex-basis:100%; font-size:14px; }
  .stw-orders-main .order-actions { width:100%; justify-content:flex-end; }

  .stw-auth-main .stw-auth-card h2 { font-size:20px; }

  body.products-page .catalog-results__head h1,

  body:is(.product-detail-page,:has(.product-detail)) .product-heading h1 { font-size:20px; }

}


/* Shared product names and service history use the homepage's Inter typeface. */
body .product-content h3,body .product-content h3 a{font-family:var(--stw-ui-font);font-size:14px;font-weight:600;line-height:1.5}
.stw-service-history-page{padding-top:20px;padding-bottom:85px;max-width:900px;min-height:65vh;font-family:var(--stw-ui-font)}
.stw-service-history-page>nav{margin-bottom:18px;font-size:14px}.stw-service-history-page>p{color:#60778f;font-size:13px;line-height:1.6}
.stw-service-history{font-family:var(--stw-ui-font);color:#173f66}.stw-service-history>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.stw-service-history h2{margin:0;font-size:22px;line-height:1.35}.stw-service-history header>a,.stw-service-history button{padding:10px 12px;border:1px solid #c4d7e9;border-radius:8px;background:#fff;color:#0b56a7;font:600 14px/1.4 var(--stw-ui-font)}
.stw-service-history article{padding:18px;margin-bottom:14px;border:1px solid #d5e4f0;border-radius:12px;background:#fff}.stw-service-history-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.stw-service-history-meta>span{padding:4px 8px;border-radius:6px;background:#eaf5ff;color:#0b56a7;font-size:12px;font-weight:600}.stw-service-history-date{color:#60778f;font-size:12px}.stw-service-history h3{margin:12px 0 6px;font-size:16px;font-weight:600}.stw-service-history p{line-height:1.6;overflow-wrap:anywhere}.stw-service-history dl{margin:12px 0;font-size:14px}.stw-service-history dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;margin:7px 0}.stw-service-history dt{color:#60778f}.stw-service-history dd{margin:0;overflow-wrap:anywhere}.stw-service-history-note{padding-top:12px;border-top:1px solid #e2ebf4;color:#60778f;font-size:13px}
@media(max-width:760px){.stw-service-history-page{width:calc(100% - 24px)}.stw-service-history h2{font-size:20px}.stw-service-history article{padding:14px}.stw-service-history dl>div{grid-template-columns:1fr;gap:3px}}

.stw-customer-main .stw-customer-content>header{flex-wrap:wrap}.stw-profile-history-link{display:inline-flex;align-items:center;min-height:40px;padding:6px 0;color:#0b56a7;font-family:var(--stw-ui-font);font-size:14px;font-weight:600;line-height:1.4;text-decoration:underline;text-underline-offset:3px}
