/* REP shared storefront foundation. Portal-specific behavior remains in portal.css. */

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  src: url('../fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
}

/* 1. Tokens */
:root {
  --rep-color-text: #26364a; --rep-color-text-muted: #607086; --rep-color-heading: #10233f;
  --rep-color-background: #fff; --rep-color-surface: #fff; --rep-color-surface-subtle: #f4f7fb;
  --rep-color-border: #dce3ec; --rep-color-primary: #1666d8; --rep-color-primary-hover: #0f52b5;
  --rep-color-link: #155fc7; --rep-color-success: #216e45; --rep-color-warning: #8a4b08;
  --rep-color-danger: #b42318; --rep-color-info: #245b91;
  --rep-color-success-soft: #edf8f2; --rep-color-warning-soft: #fff7e6;
  --rep-color-danger-soft: #fff1f0; --rep-color-info-soft: #eef6ff;
  --rep-font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  --rep-font-size-xs: .75rem; --rep-font-size-sm: .875rem; --rep-font-size-base: 1rem;
  --rep-font-size-lg: 1.125rem; --rep-font-size-xl: 1.25rem; --rep-font-size-2xl: 1.5rem;
  --rep-font-size-3xl: clamp(1.75rem, 3vw, 2.25rem); --rep-font-size-display: clamp(2rem, 4vw, 3.25rem);
  --rep-font-weight-regular: 400; --rep-font-weight-medium: 600; --rep-font-weight-bold: 700;
  --rep-line-height-tight: 1.2; --rep-line-height-body: 1.6;
  --rep-space-xs: .25rem; --rep-space-sm: .5rem; --rep-space-md: 1rem; --rep-space-lg: 1.5rem;
  --rep-space-xl: 2rem; --rep-space-2xl: 3rem; --rep-space-3xl: 4rem;
  --rep-container-content: 75rem; --rep-container-wide: 1600px; --rep-page-gutter: clamp(1rem, 3vw, 2rem);
  --rep-radius-sm: .375rem; --rep-radius-md: .625rem; --rep-radius-pill: 999px;
  --rep-border: 1px solid var(--rep-color-border); --rep-shadow-sm: 0 1px 2px rgba(16,35,63,.08);
  --rep-shadow-md: 0 10px 28px rgba(16,35,63,.1); --rep-focus-ring: 0 0 0 3px rgba(22,102,216,.28);
  --rep-transition: 160ms ease;
  --rep-color-muted: var(--rep-color-text-muted); --rep-gutter: var(--rep-page-gutter);
  --rep-radius-lg: .875rem; --rep-shadow-lg: 0 18px 44px rgba(16,35,63,.14);
}

/* Storefront Phase 1O: Shop filtering. */
.rep-shop-layout { display: grid; gap: var(--rep-space-xl); grid-template-columns: minmax(16rem,18rem) minmax(0,1fr); }
.rep-shop-layout__results { grid-column: 2; min-width: 0; }
.rep-shop-filters { grid-column: 1; grid-row: 1 / span 2; }
.rep-shop-filters__disclosure > summary { color: var(--rep-color-heading); cursor: pointer; font-size: var(--rep-font-size-lg); font-weight: var(--rep-font-weight-bold); list-style-position: inside; padding: var(--rep-space-md); }
.rep-shop-filters__form { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); display: grid; gap: var(--rep-space-md); padding: var(--rep-space-md); }
.rep-shop-filters__form h2 { font-size: var(--rep-font-size-xl); margin: 0; }
.rep-shop-filters__form > label,.rep-shop-filters__form fieldset label { display: flex; gap: var(--rep-space-xs); line-height: 1.35; overflow-wrap: anywhere; }
.rep-shop-filters__form fieldset { border: 0; border-top: var(--rep-border); display: grid; gap: var(--rep-space-sm); margin: 0; min-width: 0; padding: var(--rep-space-md) 0 0; }
.rep-shop-filters__form legend { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); padding: 0; }
.rep-shop-filters__form :where(select,input[type='number']) { max-width: 100%; min-height: 2.75rem; width: 100%; }
.rep-shop-filters__form input[type='checkbox'] { flex: 0 0 auto; margin-top: .15em; }
.rep-shop-filters__price { display: grid; gap: var(--rep-space-xs); grid-template-columns: repeat(2,minmax(0,1fr)); }
.rep-shop-filters__price label { grid-row: 1; }
.rep-shop-filters__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); }
.rep-shop-filters__actions .rep-button { flex: 1 1 9rem; }
.rep-active-filters { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rep-space-xs); grid-column: 2; margin-block: 0; }
.rep-active-filters__item { background: var(--rep-color-surface-subtle); border: var(--rep-border); border-radius: 999px; color: var(--rep-color-text); max-width: 100%; overflow-wrap: anywhere; padding: .45rem .7rem; text-decoration: none; }
.rep-active-filters__clear { margin-inline-start: var(--rep-space-xs); }
@media (min-width: 73.76rem) {
  .rep-shop-filters__disclosure > summary { display: none; }
  .rep-shop-filters__disclosure:not([open]) > .rep-shop-filters__form { display: grid; }
  .rep-shop-layout .rep-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 64rem) {
  .rep-shop-layout { display: block; }
  .rep-shop-filters { margin-bottom: var(--rep-space-lg); }
  .rep-shop-filters__disclosure { border: var(--rep-border); border-radius: var(--rep-radius-md); }
  .rep-shop-filters__form { border: 0; border-radius: 0; }
  .rep-shop-filters__form h2 { position: absolute; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; white-space: nowrap; width: 1px; }
}
@media (max-width: 36rem) {
  .rep-shop-filters__price { grid-template-columns: minmax(0,1fr); }
  .rep-shop-filters__price label { grid-row: auto; }
  .rep-shop-filters__actions > * { flex: 1 1 100%; text-align: center; }
}

/* Storefront Phase 1N: native Woo Track Order presentation. */
.page-id-361966 .rep-generic-layout { max-width: 58rem; }
.page-id-361966 .entry-content > .woocommerce { min-width: 0; }
.page-id-361966 form.woocommerce-form-track-order { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); display: grid; gap: var(--rep-space-md); margin: 0; max-width: 48rem; min-width: 0; padding: clamp(1rem,3vw,2rem); }
.page-id-361966 form.woocommerce-form-track-order > p:first-child { color: var(--rep-color-text-muted); margin: 0; }
.page-id-361966 form.woocommerce-form-track-order .form-row { float: none; margin: 0; min-width: 0; padding: 0; width: 100%; }
.page-id-361966 form.woocommerce-form-track-order label { display: block; font-weight: 700; margin-bottom: var(--rep-space-xs); }
.page-id-361966 form.woocommerce-form-track-order .input-text { margin: 0; max-width: 100%; min-height: 3rem; width: 100%; }
.page-id-361966 form.woocommerce-form-track-order button[type='submit'] { min-height: 3rem; width: fit-content; }
.page-id-361966 .woocommerce-notices-wrapper,
.page-id-361966 :where(.woocommerce-error,.woocommerce-info,.woocommerce-message) { max-width: 48rem; overflow-wrap: anywhere; }
.page-id-361966 .woocommerce-order-details { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); min-width: 0; padding: clamp(1rem,3vw,2rem); }
.page-id-361966 .woocommerce-order-details table { margin: 0; table-layout: fixed; }
.page-id-361966 .woocommerce-order-details :where(th,td),
.page-id-361966 .order-info { overflow-wrap: anywhere; }
@media (max-width: 36rem) {
  .page-id-361966 form.woocommerce-form-track-order,
  .page-id-361966 .woocommerce-order-details { padding: var(--rep-space-md); }
  .page-id-361966 form.woocommerce-form-track-order button[type='submit'] { width: 100%; }
  .page-id-361966 .woocommerce-order-details :where(th,td) { padding-inline: var(--rep-space-sm); }
}

/* 16. Woo cart */
.woocommerce-cart .entry-content > .woocommerce { display: grid; gap: var(--rep-space-xl); grid-template-columns: minmax(0,1.65fr) minmax(18rem,.75fr); }
.woocommerce-cart .entry-content > .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info,.cart-empty,.return-to-shop) { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { min-width: 0; }
.woocommerce-cart table.shop_table { background: var(--rep-color-surface); border: var(--rep-border); border-collapse: separate; border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); margin: 0; overflow: hidden; }
.woocommerce-cart table.shop_table th { background: var(--rep-color-surface-subtle); color: var(--rep-color-heading); font-size: var(--rep-font-size-sm); padding: var(--rep-space-md); }
.woocommerce-cart table.shop_table td { border-top: var(--rep-border); padding: var(--rep-space-md); vertical-align: middle; }
.woocommerce-cart td.product-thumbnail { width: 7rem; }
.woocommerce-cart td.product-thumbnail img { aspect-ratio: 1; border: var(--rep-border); border-radius: var(--rep-radius-sm); object-fit: contain; width: 5.5rem; }
.woocommerce-cart td.product-name > a { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); text-decoration: none; }
.woocommerce-cart td.product-name > a:hover { color: var(--rep-color-link); text-decoration: underline; }
.rep-cart-item__sku,.woocommerce-cart .variation { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); margin: var(--rep-space-xs) 0 0; overflow-wrap: anywhere; }
.woocommerce-cart .variation { display: grid; grid-template-columns: max-content minmax(0,1fr); }
.woocommerce-cart .variation :where(dt,dd,dd p) { margin: 0; }
.woocommerce-cart .quantity .qty { min-height: 2.75rem; width: 5rem; }
.woocommerce-cart a.remove { align-items: center; border-radius: var(--rep-radius-sm); color: var(--rep-color-danger) !important; display: inline-flex; font-size: 1.5rem; gap: var(--rep-space-xs); justify-content: center; min-height: 2.75rem; min-width: 2.75rem; padding: .35rem; text-decoration: none; width: auto; }
.woocommerce-cart a.remove:hover { background: color-mix(in srgb,var(--rep-color-danger) 10%,transparent); }
.rep-cart-remove-label { font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); }
.woocommerce-cart td.actions { background: var(--rep-color-surface-subtle); }
.woocommerce-cart td.actions .coupon { align-items: stretch; display: flex; gap: var(--rep-space-sm); }
.woocommerce-cart td.actions .coupon .input-text { min-height: 2.75rem; min-width: 12rem; }
.woocommerce-cart td.actions .button { min-height: 2.75rem; }
.woocommerce-cart .cart-collaterals { min-width: 0; width: auto; }
.woocommerce-cart .cart-collaterals .cart_totals { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); float: none; overflow: hidden; width: 100%; }
.woocommerce-cart .cart_totals h2 { background: var(--rep-color-surface-subtle); font-size: var(--rep-font-size-xl); margin: 0; padding: var(--rep-space-md); }
.woocommerce-cart .cart_totals table { border: 0; border-radius: 0; box-shadow: none; }
.woocommerce-cart .cart_totals :where(th,td) { padding: var(--rep-space-md); }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--rep-space-md); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: var(--rep-font-size-base); margin: 0; min-height: 3rem; padding: .8rem var(--rep-space-md); }
.woocommerce-cart .woocommerce-shipping-calculator { margin-top: var(--rep-space-sm); }
.woocommerce-cart .shipping-calculator-form { display: grid; gap: var(--rep-space-sm); }
.woocommerce-cart .cart-empty { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); color: var(--rep-color-text-muted); margin: 0; padding: var(--rep-space-2xl); text-align: center; }
.woocommerce-cart .return-to-shop { margin: 0; text-align: center; }

@media (max-width: 64rem) {
  .woocommerce-cart .entry-content > .woocommerce { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 48rem) {
  .woocommerce-cart table.shop_table_responsive thead { display: none; }
  .woocommerce-cart table.shop_table_responsive tbody tr { border-bottom: var(--rep-border); display: grid; grid-template-columns: 5.25rem minmax(0,1fr); padding: var(--rep-space-md); position: relative; }
  .woocommerce-cart table.shop_table_responsive tbody tr:last-child { border-bottom: 0; }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td { border: 0; display: block; padding: var(--rep-space-xs) 0; text-align: left !important; }
  .woocommerce-cart table.shop_table_responsive tbody tr.cart_item td::before { color: var(--rep-color-text-muted); float: none; font-size: var(--rep-font-size-xs); margin-right: var(--rep-space-xs); }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 5; width: auto; }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail::before,.woocommerce-cart table.shop_table_responsive td.product-name::before,.woocommerce-cart table.shop_table_responsive td.product-remove::before { display: none; }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail img { width: 4.5rem; }
  .woocommerce-cart table.shop_table_responsive td:not(.product-thumbnail) { grid-column: 2; }
  .woocommerce-cart table.shop_table_responsive td.product-remove { grid-column: 2; }
  .woocommerce-cart td.actions .coupon { float: none; width: 100%; }
  .woocommerce-cart td.actions .coupon .input-text { flex: 1 1 auto; min-width: 0; width: auto; }
  .woocommerce-cart td.actions > .button { margin-top: var(--rep-space-sm); width: 100%; }
}
@media (max-width: 24.375rem) {
  .woocommerce-cart table.shop_table_responsive tbody tr { grid-template-columns: 4.25rem minmax(0,1fr); padding-inline: var(--rep-space-sm); }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail img { width: 3.5rem; }
  .woocommerce-cart td.actions .coupon { display: grid; grid-template-columns: minmax(0,1fr); }
  .woocommerce-cart .cart_totals :where(th,td) { padding-inline: var(--rep-space-sm); }
}

/* 2. Reset/base */
html { scroll-behavior: smooth; }
body:not(.rep-portal-page) { background: var(--rep-color-background); color: var(--rep-color-text); font-family: var(--rep-font-family); font-size: var(--rep-font-size-base); line-height: var(--rep-line-height-body); }
body:not(.rep-portal-page) :where(img, svg) { height: auto; max-width: 100%; }
body:not(.rep-portal-page) :where(button, input, select, textarea) { font: inherit; }

/* 3. Typography */
body:not(.rep-portal-page) :where(h1,h2,h3,h4,h5,h6) { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); line-height: var(--rep-line-height-tight); margin-block: 0 .65em; }
body:not(.rep-portal-page) h1 { font-size: 3.75rem; } body:not(.rep-portal-page) h2 { font-size: 0.8125rem; }
body:not(.rep-portal-page) h3 { font-size: inherit; } body:not(.rep-portal-page) h4 { font-size: 0.875rem; }
body:not(.rep-portal-page) h5 { font-size: var(--rep-font-size-lg); } body:not(.rep-portal-page) h6 { font-size: var(--rep-font-size-base); }
body:not(.rep-portal-page) :where(p,ul,ol) { margin-block: 0 1em; }
body:not(.rep-portal-page) a {text-underline-offset: .16em; }
body:not(.rep-portal-page) a:hover { color: var(--rep-color-primary-hover); }
.rep-meta,.rep-help-text { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); }
.rep-price { color: var(--rep-color-heading); font-size: var(--rep-font-size-xl); font-weight: var(--rep-font-weight-bold); }
.rep-price__compare { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-regular); }

/* 4. Layout */
.rep-container { box-sizing: border-box; margin-inline: auto; max-width: var(--rep-container-content); padding-inline: var(--rep-page-gutter); width: 100%; }
.rep-container--wide { max-width: var(--rep-container-wide); }
.rep-section { padding-block: var(--rep-space-2xl); }
.rep-section--subtle { background: var(--rep-color-surface-subtle); }
.rep-full-width { box-shadow: 0 0 0 100vmax var(--rep-color-surface-subtle); clip-path: inset(0 -100vmax); }
.rep-content-narrow { margin-inline: auto; max-width: 48rem; }
.rep-grid { display: grid; gap: var(--rep-space-lg); grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
.rep-layout-sidebar { display: grid; gap: var(--rep-space-xl); grid-template-columns: minmax(0,18rem) minmax(0,1fr); }
.rep-site-header { background: var(--rep-color-surface); border-bottom: var(--rep-border); }
.rep-site-header__inner { align-items: center; display: flex; min-height: 4.5rem; }
.rep-site-brand { color: var(--rep-color-heading); font-size: var(--rep-font-size-xl); font-weight: var(--rep-font-weight-bold); text-decoration: none; }
.rep-site-main { padding-block: var(--rep-space-2xl); }
.rep-site-footer { background: var(--rep-color-heading); color: #fff; margin-top: var(--rep-space-3xl); }
.rep-site-footer__inner { padding-block: var(--rep-space-xl); } .rep-site-footer__copyright { margin: 0; }

/* 5. Components */
.rep-button,body:not(.rep-portal-page) :where(button,a.button,input[type="submit"],input[type="button"]) { align-items: center; background: var(--rep-color-primary); border: 1px solid var(--rep-color-primary); border-radius: var(--rep-radius-sm); color: #fff; cursor: pointer; display: inline-flex; font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); gap: var(--rep-space-sm); justify-content: center; line-height: 1.25; min-height: 2.75rem; padding: .7rem 1.1rem; text-decoration: none; transition: background-color var(--rep-transition),border-color var(--rep-transition),box-shadow var(--rep-transition),transform var(--rep-transition); }
.rep-button:hover,body:not(.rep-portal-page) :where(button,a.button,input[type="submit"],input[type="button"]):hover { background: var(--rep-color-primary-hover); border-color: var(--rep-color-primary-hover); color: #fff; }
body:not(.rep-portal-page) a.rep-button:not(.rep-button--secondary):not(.rep-button--tertiary):hover,
body:not(.rep-portal-page) a.rep-button:not(.rep-button--secondary):not(.rep-button--tertiary):focus-visible { background: var(--rep-color-primary-hover); border-color: var(--rep-color-primary-hover); color: #fff; }
.rep-button:active { transform: translateY(1px); }
.rep-button--secondary { background: var(--rep-color-surface); border-color: var(--rep-color-border); color: var(--rep-color-heading); }
.rep-button--secondary:hover { background: var(--rep-color-surface-subtle); border-color: #b8c5d5; color: var(--rep-color-heading); }
.rep-button--tertiary { background: transparent; border-color: transparent; color: var(--rep-color-link); }
.rep-button--tertiary:hover { background: var(--rep-color-info-soft); border-color: transparent; color: var(--rep-color-primary-hover); }
.rep-button--danger { background: var(--rep-color-danger); border-color: var(--rep-color-danger); }
.rep-button[aria-busy="true"] { cursor: progress; opacity: .78; }
.rep-button:disabled,.rep-button[aria-disabled="true"],body:not(.rep-portal-page) :where(button,input[type="submit"],input[type="button"]):disabled { cursor: not-allowed; opacity: .5; pointer-events: none; }
.rep-card { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); overflow: hidden; }
.rep-card__header,.rep-card__body,.rep-card__footer { padding: var(--rep-space-lg); }
.rep-card__header { border-bottom: var(--rep-border); } .rep-card__footer { background: var(--rep-color-surface-subtle); border-top: var(--rep-border); }
.rep-alert { background: var(--rep-color-info-soft); border: 1px solid currentColor; border-left-width: .3rem; border-radius: var(--rep-radius-sm); color: var(--rep-color-info); padding: var(--rep-space-md); }
.rep-alert::before { content: "Info:"; display: block; font-weight: var(--rep-font-weight-bold); }
.rep-alert--success { background: var(--rep-color-success-soft); color: var(--rep-color-success); } .rep-alert--success::before { content: "Success:"; }
.rep-alert--warning { background: var(--rep-color-warning-soft); color: var(--rep-color-warning); } .rep-alert--warning::before { content: "Warning:"; }
.rep-alert--error { background: var(--rep-color-danger-soft); color: var(--rep-color-danger); } .rep-alert--error::before { content: "Error:"; }
.rep-badge { background: var(--rep-color-surface-subtle); border: var(--rep-border); border-radius: var(--rep-radius-pill); color: var(--rep-color-text); display: inline-flex; font-size: var(--rep-font-size-xs); font-weight: var(--rep-font-weight-bold); line-height: 1; padding: .4rem .65rem; }
.rep-badge--success { background: var(--rep-color-success-soft); color: var(--rep-color-success); } .rep-badge--warning { background: var(--rep-color-warning-soft); color: var(--rep-color-warning); } .rep-badge--danger { background: var(--rep-color-danger-soft); color: var(--rep-color-danger); }
.rep-breadcrumbs { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); }
.rep-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); list-style: none; margin: 0; padding: 0; }
.rep-breadcrumbs li:not(:last-child)::after { color: #92a0b2; content: "/"; margin-left: var(--rep-space-sm); }
.rep-pagination,.nav-links,.woocommerce-pagination ul.page-numbers { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); list-style: none; padding: 0; }
.rep-pagination :where(a,span),.nav-links .page-numbers,.woocommerce-pagination .page-numbers li > * { align-items: center; border: var(--rep-border); border-radius: var(--rep-radius-sm); display: inline-flex; justify-content: center; min-height: 2.5rem; min-width: 2.5rem; padding: .4rem .65rem; text-decoration: none; }
.rep-pagination [aria-current="page"],.nav-links .current,.woocommerce-pagination .current { background: var(--rep-color-heading); border-color: var(--rep-color-heading); color: #fff; }
.rep-table-wrap { max-width: 100%; overflow-x: auto; } .rep-table { border-collapse: collapse; width: 100%; }
.rep-table :where(th,td) { border-bottom: var(--rep-border); padding: .8rem 1rem; text-align: left; vertical-align: top; }
.rep-table th { background: var(--rep-color-surface-subtle); color: var(--rep-color-heading); font-size: var(--rep-font-size-sm); }

/* 6. Forms */
.rep-field { display: grid; gap: var(--rep-space-sm); } .rep-label { color: var(--rep-color-heading); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-medium); }
.rep-input,.rep-select,.rep-textarea,body:not(.rep-portal-page) :where(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="search"],input[type="password"],select,textarea) { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-sm); color: var(--rep-color-text); min-height: 2.75rem; padding: .65rem .75rem; width: 100%; }
.rep-textarea,body:not(.rep-portal-page) textarea { min-height: 7rem; resize: vertical; }
.rep-choice { align-items: flex-start; display: flex; gap: var(--rep-space-sm); }
.rep-choice :where(input[type="checkbox"],input[type="radio"]) { accent-color: var(--rep-color-primary); flex: 0 0 auto; height: 1.1rem; margin-top: .2rem; width: 1.1rem; }
.rep-error-text { color: var(--rep-color-danger); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-medium); }
:where(.rep-input,.rep-select,.rep-textarea)[aria-invalid="true"] { border-color: var(--rep-color-danger); box-shadow: 0 0 0 1px var(--rep-color-danger); }
:where(.rep-input,.rep-select,.rep-textarea)[data-valid="true"] { border-color: var(--rep-color-success); }

/* 7. WordPress */
body:not(.rep-portal-page) :where(.entry-content,.wp-site-blocks) > * { max-width: 100%; }
body:not(.rep-portal-page) :where(.entry-content,.wp-site-blocks) > .alignwide { margin-inline: auto; max-width: var(--rep-container-wide); }
body:not(.rep-portal-page) :where(.entry-content,.wp-site-blocks) > .alignfull { margin-inline: calc(50% - 50vw); max-width: none; width: 100vw; }

/* 8. Woo shared presentation only */
body:not(.rep-portal-page) .woocommerce :where(.woocommerce-message,.woocommerce-info,.woocommerce-error) { border: 1px solid currentColor; border-left-width: .3rem; border-radius: var(--rep-radius-sm); list-style: none; margin: 0 0 var(--rep-space-lg); padding: var(--rep-space-md); }
body:not(.rep-portal-page) .woocommerce .woocommerce-message { background: var(--rep-color-success-soft); color: var(--rep-color-success); }
body:not(.rep-portal-page) .woocommerce .woocommerce-info { background: var(--rep-color-info-soft); color: var(--rep-color-info); }
body:not(.rep-portal-page) .woocommerce .woocommerce-error { background: var(--rep-color-danger-soft); color: var(--rep-color-danger); }
body:not(.rep-portal-page) .woocommerce .woocommerce-breadcrumb { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); }

.rep-single-product .woocommerce-breadcrumb {
	align-items: center;
	background: #f8fafc;
	border-bottom: 1px solid #dce3ec;
	border-top: 1px solid #dce3ec;
	color: #0a192f;
	display: flex;
	flex-wrap: wrap;
	font-size: .75rem;
	font-weight: 700;
	gap: .45rem;
	line-height: 1.4;
	margin: 0 0 2rem;
	min-height: 3.25rem;
	padding: .7rem .85rem;
}

.rep-single-product .woocommerce-breadcrumb a {
	color: #526a89;
	font-weight: 700;
	text-decoration: none;
}

.rep-single-product .woocommerce-breadcrumb a:hover,
.rep-single-product .woocommerce-breadcrumb a:focus-visible {
	color: #065cff;
}

.rep-single-product .rep-pdp-breadcrumb__separator {
	color: #9aa8ba;
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1;
}
body:not(.rep-portal-page) .woocommerce :where(.price,.amount) { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); }
body:not(.rep-portal-page) .woocommerce table.shop_table { border-collapse: collapse; max-width: 100%; width: 100%; }

/* 9. Utilities/accessibility */
.rep-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.rep-skip-link { background: var(--rep-color-heading); border-radius: 0 0 var(--rep-radius-sm) var(--rep-radius-sm); color: #fff; left: var(--rep-space-md); padding: .75rem 1rem; position: fixed; top: 0; transform: translateY(-120%); transition: transform var(--rep-transition); z-index: 100000; }
.rep-skip-link:focus { color: #fff; transform: translateY(0); }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { box-shadow: var(--rep-focus-ring); outline: 2px solid var(--rep-color-primary); outline-offset: 2px; }

/* 10. Responsive: compact <= 64rem; narrow/mobile <= 48rem. */
@media (max-width: 64rem) { .rep-layout-sidebar { grid-template-columns: 1fr; } }
@media (max-width: 48rem) { .rep-section,.rep-site-main { padding-block: var(--rep-space-xl); } .rep-card__header,.rep-card__body,.rep-card__footer { padding: var(--rep-space-md); } .rep-button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms; animation-iteration-count: 1; scroll-behavior: auto; transition-duration: .01ms; } }

/* 11. Storefront header */
.rep-site-header { position: relative; z-index: 100; }
.rep-header-utility { background: var(--rep-color-heading); color: #fff; font-size: var(--rep-font-size-xs); }
.rep-header-utility .rep-container { display: flex; justify-content: flex-end; min-height: 2rem; }
.rep-utility-menu,.rep-primary-menu,.rep-footer-menu { list-style: none; margin: 0; padding: 0; }
.rep-utility-menu { align-items: center; display: flex; gap: var(--rep-space-lg); }
.rep-utility-menu a { color: #fff; text-decoration: none; }
.rep-site-header__inner { display: grid; gap: var(--rep-space-lg); grid-template-columns: minmax(12rem,auto) minmax(16rem,1fr) auto; }
.rep-site-brand { align-items: center; display: inline-flex; gap: .65rem; min-width: 0; }
.rep-site-brand__image { display: block; max-height: 3rem; max-width: min(17rem,100%); width: auto; }
.rep-site-brand__mark { align-items: center; background: var(--rep-color-primary); border-radius: var(--rep-radius-sm); color: #fff; display: inline-flex; flex: 0 0 auto; font-size: var(--rep-font-size-sm); height: 2.5rem; justify-content: center; width: 2.75rem; }
.rep-site-brand__name { overflow-wrap: anywhere; }
.rep-header-search { min-width: 0; }
.rep-product-search { display: flex; margin: 0; max-width: 48rem; width: 100%; }
.rep-product-search input[type="search"] { border-radius: var(--rep-radius-sm) 0 0 var(--rep-radius-sm); min-width: 0; }
.rep-product-search button { border-radius: 0 var(--rep-radius-sm) var(--rep-radius-sm) 0; flex: 0 0 auto; }
.rep-product-search .rep-icon { height: 1.1rem; width: 1.1rem; }
.rep-header-actions { align-items: center; display: flex; gap: var(--rep-space-sm); }
.rep-header-control,.rep-menu-toggle { align-items: center; background: transparent; border: 0; border-radius: var(--rep-radius-sm); color: var(--rep-color-heading); display: inline-flex; font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-medium); gap: .4rem; min-height: 2.75rem; padding: .5rem .6rem; position: relative; text-decoration: none; }
.rep-header-control:hover,.rep-menu-toggle:hover { background: var(--rep-color-surface-subtle); color: var(--rep-color-primary); }
.rep-icon { flex: 0 0 auto; }
.rep-header-cart__count { align-items: center; background: var(--rep-color-primary); border-radius: var(--rep-radius-pill); color: #fff; display: inline-flex; font-size: .6875rem; height: 1.25rem; justify-content: center; min-width: 1.25rem; padding-inline: .25rem; }
.rep-menu-toggle { display: none; }
.rep-header-panel { background: var(--rep-color-heading); color: #fff; }
.rep-header-panel__inner { align-items: stretch; display: flex; gap: var(--rep-space-xl); }
.rep-header-panel__mobile-heading { display: none; }
.rep-category-menu { position: relative; }
.rep-category-menu summary { align-items: center; background: var(--rep-color-primary); cursor: pointer; display: flex; font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); gap: var(--rep-space-sm); min-height: 3rem; padding: .65rem 1rem; }
.rep-category-menu summary::marker { content: ""; }
.rep-category-menu ul { background: #fff; border: var(--rep-border); border-radius: 0 0 var(--rep-radius-sm) var(--rep-radius-sm); box-shadow: var(--rep-shadow-md); display: grid; left: 0; list-style: none; margin: 0; min-width: 17rem; padding: var(--rep-space-sm); position: absolute; top: 100%; z-index: 10; }
.rep-category-menu:not([open]) ul { display: none; }
.rep-category-menu a { border-radius: var(--rep-radius-sm); color: var(--rep-color-text); display: block; padding: .55rem .65rem; text-decoration: none; }
.rep-category-menu a:hover,.rep-category-menu a:focus-visible { background: var(--rep-color-surface-subtle); color: var(--rep-color-primary); }
.rep-primary-navigation { flex: 1; min-width: 0; }
.rep-primary-menu { align-items: stretch; display: flex; flex-wrap: wrap; }
.rep-primary-menu > li { position: relative; }
.rep-primary-menu a { align-items: center; color: #fff; display: flex; font-size: var(--rep-font-size-sm); min-height: 3rem; padding: .65rem .85rem; text-decoration: none; }
.rep-primary-menu a:hover,.rep-primary-menu a:focus-visible,.rep-primary-menu .current-menu-item > a { background: rgba(255,255,255,.12); }
.rep-primary-menu .sub-menu { background: #fff; border: var(--rep-border); border-radius: 0 0 var(--rep-radius-sm) var(--rep-radius-sm); box-shadow: var(--rep-shadow-md); display: none; left: 0; list-style: none; margin: 0; min-width: 14rem; padding: var(--rep-space-sm); position: absolute; top: 100%; z-index: 10; }
.rep-primary-menu .sub-menu a { border-radius: var(--rep-radius-sm); color: var(--rep-color-text); min-height: 2.5rem; }
.rep-primary-menu li:hover > .sub-menu,.rep-primary-menu li:focus-within > .sub-menu { display: block; }

/* 12. Storefront footer */
.rep-site-footer__inner { display: grid; gap: var(--rep-space-2xl); grid-template-columns: minmax(14rem,1.15fr) minmax(18rem,2fr) minmax(10rem,.65fr); }
.rep-site-footer .rep-site-brand { color: #fff; }
.rep-site-footer__brand p { color: #c8d2df; font-size: var(--rep-font-size-sm); margin: var(--rep-space-md) 0 0; max-width: 34rem; }
.rep-footer-menu { display: grid; gap: var(--rep-space-lg); grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); }
.rep-footer-menu > li > a { color: #fff; font-weight: var(--rep-font-weight-bold); }
.rep-footer-menu .sub-menu { display: grid; gap: var(--rep-space-sm); list-style: none; margin: var(--rep-space-md) 0 0; padding: 0; }
.rep-footer-menu a { color: #c8d2df; font-size: var(--rep-font-size-sm); text-decoration: none; }
.rep-footer-menu a:hover,.rep-footer-menu a:focus-visible { color: #fff; text-decoration: underline; }
.rep-site-footer__legal { border-top: 1px solid rgba(255,255,255,.18); padding-block: var(--rep-space-md); }
.rep-site-footer__copyright { color: #c8d2df; font-size: var(--rep-font-size-xs); }
.rep-footer-service h2 { color: #fff; font-size: var(--rep-font-size-base); margin: 0 0 var(--rep-space-md); }
.rep-footer-service ul { display: grid; gap: .55rem; list-style: none; margin: 0; padding: 0; }
.rep-footer-service a { color: #c8d2df; font-size: var(--rep-font-size-sm); text-decoration: none; }
.rep-footer-service a:hover { color: #fff; text-decoration: underline; }

@media (max-width: 64rem) {
  .rep-site-header__inner { gap: var(--rep-space-md); grid-template-columns: minmax(10rem,auto) minmax(12rem,1fr) auto; }
  .rep-header-control span:not(.rep-header-cart__count):not(.rep-header-wishlist__count) { display: none; }
}
@media (max-width: 48rem) {
  body.rep-menu-open { overflow: hidden; }
  .rep-header-utility { display: none; }
  .rep-site-header__inner { grid-template-columns: minmax(0,1fr) auto; padding-block: .65rem; }
  .rep-site-brand__image { max-height: 2.5rem; max-width: 12rem; }
  .rep-site-brand__name { font-size: var(--rep-font-size-sm); }
  .rep-header-search { grid-column: 1 / -1; grid-row: 2; }
  .rep-product-search button { padding-inline: .8rem; width: auto; }
  .rep-product-search button span { display: none; }
  .rep-header-actions { gap: var(--rep-space-xs); }
  .rep-menu-toggle { display: inline-flex; width: auto; }
  .rep-menu-toggle span { display: none; }
  .rep-header-panel { display: none; max-height: calc(100vh - 7rem); overflow-y: auto; }
  .rep-header-panel[data-open="true"] { display: block; }
  .rep-header-panel__inner { align-items: stretch; display: grid; gap: var(--rep-space-md); padding-block: var(--rep-space-md); }
  .rep-header-panel__mobile-heading { align-items: center; display: flex; justify-content: space-between; }
  .rep-header-panel__mobile-heading button { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; min-height: 2.5rem; padding: .4rem; width: auto; }
  .rep-category-menu summary { border-radius: var(--rep-radius-sm); }
  .rep-category-menu ul,.rep-primary-menu .sub-menu { background: transparent; border: 0; box-shadow: none; min-width: 0; padding-inline: var(--rep-space-md); position: static; }
  .rep-category-menu a,.rep-primary-menu .sub-menu a { color: #fff; }
  .rep-primary-menu { align-items: stretch; display: grid; }
  .rep-primary-menu .sub-menu { display: grid; }
  .rep-primary-menu a { border-bottom: 1px solid rgba(255,255,255,.14); padding-inline: 0; }
  .rep-site-footer__inner { grid-template-columns: 1fr; }
  .rep-footer-menu { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 24rem) {
  .rep-header-control { padding-inline: .35rem; }
  .rep-site-brand__mark { height: 2.25rem; width: 2.4rem; }
  .rep-footer-menu { grid-template-columns: 1fr; }
}

/* 13. Reusable Woo Product Card */
.rep-product-card { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); display: flex; flex-direction: column; height: 100%; min-width: 0; overflow: hidden; transition: border-color var(--rep-transition),box-shadow var(--rep-transition); }
.rep-product-card:hover { border-color: #b8c5d5; box-shadow: var(--rep-shadow-md); }
.rep-product-card__media { aspect-ratio: 4 / 3; background: var(--rep-color-surface); border-bottom: var(--rep-border); overflow: hidden; padding: var(--rep-space-md); position: relative; }
.rep-product-card__image-link { align-items: center; display: flex; height: 100%; justify-content: center; width: 100%; }
.rep-product-card__image { display: block; height: 100%; max-height: 100%; object-fit: contain; width: 100%; }
.rep-product-card__badges { align-items: flex-start; display: flex; flex-direction: column; gap: var(--rep-space-xs); left: var(--rep-space-sm); max-width: calc(100% - 1rem); position: absolute; top: var(--rep-space-sm); z-index: 1; }
.rep-product-card__badge { border: 0; box-shadow: var(--rep-shadow-sm); text-transform: uppercase; }
.rep-product-card__badge--sale { background: var(--rep-color-danger-soft); color: var(--rep-color-danger); }
.rep-product-card__badge--condition { background: var(--rep-color-warning-soft); color: var(--rep-color-warning); }
.rep-product-card__badge--freight { background: var(--rep-color-info-soft); color: var(--rep-color-info); }
.rep-product-card__content { display: flex; flex: 1; flex-direction: column; gap: var(--rep-space-sm); padding: var(--rep-space-md); }
.rep-product-card__sku { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-xs); margin: 0; overflow-wrap: anywhere; }
.rep-product-card__title { display: -webkit-box; font-size: var(--rep-font-size-base); line-height: 1.35; margin: 0; min-height: 4.05em; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.rep-product-card__title a { color: var(--rep-color-heading); text-decoration: none; }
.rep-product-card__title a:hover { color: var(--rep-color-primary); text-decoration: underline; }
.rep-product-card__price { color: var(--rep-color-heading); font-size: var(--rep-font-size-lg); font-weight: var(--rep-font-weight-bold); min-height: 1.75rem; }
.rep-product-card__price :where(del,.woocommerce-Price-amount) { white-space: nowrap; }
.rep-product-card__price del { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-regular); }
.rep-product-card__price ins { text-decoration: none; }
.rep-product-card__price-unavailable { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-medium); }
.rep-product-card__availability { align-items: center; display: flex; font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-medium); gap: var(--rep-space-sm); margin: 0; }
.rep-product-card__availability::before { background: currentColor; border-radius: 50%; content: ""; display: inline-block; height: .5rem; width: .5rem; }
.rep-product-card__availability--available { color: var(--rep-color-success); }
.rep-product-card__availability--backorder { color: var(--rep-color-warning); }
.rep-product-card__availability--unavailable { color: var(--rep-color-danger); }
.rep-shop-filters label.rep-filter-term { display: flex; align-items: center; gap: 6px; width: 100%; }
.rep-shop-filters .rep-filter-term > input { flex: 0 0 auto; }
.rep-shop-filters .rep-filter-term__count { margin-left: auto; padding-left: 6px; color: #8491a4; font-size: 11px; font-weight: 400; white-space: nowrap; }
.rep-product-card__actions { margin-top: auto; padding-top: var(--rep-space-sm); }
.rep-product-card__action { width: 100%; }

@media (max-width: 48rem) {
  .rep-product-card__media { padding: var(--rep-space-sm); }
  .rep-product-card__content { padding: .875rem; }
}

/* 14. Woo Shop and Product Category archives */
.rep-product-archive { background: var(--rep-color-surface-subtle); }
.rep-product-archive .rep-breadcrumbs { margin-bottom: var(--rep-space-lg); }
.rep-product-archive__header { max-width: 64rem; }
.rep-product-archive__header .woocommerce-products-header__title { margin-bottom: var(--rep-space-sm); }
.rep-product-search-results .woocommerce-products-header__title { overflow-wrap: anywhere; }
.rep-product-archive__header .term-description { color: var(--rep-color-text-muted); max-width: 58rem; }
.rep-product-archive__header .term-description > :last-child { margin-bottom: 0; }
.rep-product-archive__toolbar { align-items: center; background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); display: grid; gap: var(--rep-space-md); grid-template-columns: minmax(0,1fr) auto; margin-block: var(--rep-space-xl); padding: var(--rep-space-md); }
.rep-product-archive__toolbar .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.rep-product-archive__toolbar .woocommerce-result-count,.rep-product-archive__toolbar .woocommerce-ordering { margin: 0; }
.rep-product-archive__toolbar .woocommerce-result-count { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); }
.rep-product-archive__toolbar .woocommerce-ordering select { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-sm); color: var(--rep-color-text); min-height: 2.75rem; padding: .55rem 2.5rem .55rem .75rem; }
.rep-product-grid { display: grid; gap: var(--rep-space-lg); grid-template-columns: repeat(4,minmax(0,1fr)); }
.rep-product-grid__item { min-width: 0; }
.rep-product-archive__pagination { margin-top: var(--rep-space-2xl); }
.rep-product-archive__pagination .woocommerce-pagination ul.page-numbers { align-items: center; border: 0; display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); justify-content: center; margin: 0; }
.rep-product-archive__pagination .woocommerce-pagination ul.page-numbers li { border: 0; float: none; }
.rep-product-archive__pagination .page-numbers :where(a,span) { align-items: center; background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-sm); color: var(--rep-color-link); display: inline-flex; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; padding: .5rem .75rem; text-decoration: none; }
.rep-product-archive__pagination .page-numbers .current { background: var(--rep-color-primary); border-color: var(--rep-color-primary); color: #fff; }
.rep-product-archive__empty { align-items: center; background: linear-gradient(145deg,var(--rep-color-surface),#f5f9ff); border: 1px solid #d9e5f5; border-radius: 1rem; box-shadow: 0 10px 30px rgba(15,45,85,.06); display: flex; flex-direction: column; margin-top: var(--rep-space-xl); min-height: 22rem; padding: clamp(2rem,5vw,4rem); text-align: center; }
.rep-product-archive__empty-icon { align-items: center; background: #e9f2ff; border-radius: 50%; color: var(--rep-color-primary); display: inline-flex; height: 4.5rem; justify-content: center; margin-bottom: 1.25rem; width: 4.5rem; }
.rep-product-archive__empty-icon svg { fill: none; height: 2.25rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 2.25rem; }
.rep-product-archive__empty h2 { font-size: clamp(1.25rem,2vw,1.5rem); margin: 0 0 .65rem; }
.rep-product-archive__empty p { color: var(--rep-color-text-muted); line-height: 1.6; margin: 0 auto 1.5rem; max-width: 35rem; }
.rep-product-archive__empty .rep-button { min-width: 12rem; }

@media (max-width: 64rem) {
  .rep-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 36rem) {
  .rep-product-archive__toolbar { align-items: stretch; grid-template-columns: 1fr; }
  .rep-product-archive__toolbar .woocommerce-ordering select { width: 100%; }
  .rep-product-grid { grid-template-columns: minmax(0,1fr); }
  .rep-product-archive__empty { padding: var(--rep-space-xl) var(--rep-space-md); }
}

/* 20. Home */
.rep-home { background: var(--rep-color-background); }
.rep-home-hero { background: linear-gradient(135deg,var(--rep-color-surface-subtle),#eaf2fd); border-bottom: var(--rep-border); padding-block: clamp(2.5rem,6vw,5.5rem); }
.rep-home-hero__layout { align-items: center; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); }
.rep-home-hero__content { max-width: 44rem; }
.rep-home-hero__content h1 { font-size: clamp(2.25rem,5vw,4.5rem); letter-spacing: -.035em; margin: 0; overflow-wrap: anywhere; }
.rep-home-hero__content > p:not(.rep-eyebrow) { font-size: clamp(1rem,2vw,1.25rem); margin-block: var(--rep-space-lg); max-width: 40rem; }
.rep-home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); }
.rep-home-hero__visual { aspect-ratio: 4 / 3; background: var(--rep-color-heading); border: .5rem solid rgba(255,255,255,.75); border-radius: var(--rep-radius-lg); box-shadow: var(--rep-shadow-lg); color: var(--rep-color-surface); overflow: hidden; padding: clamp(1.5rem,4vw,3rem); position: relative; }
.rep-home-hero__visual::before { background: radial-gradient(circle at top right,rgba(66,153,225,.55),transparent 55%); content: ''; inset: 0; position: absolute; }
.rep-home-hero__visual-label { font-size: clamp(3rem,9vw,7rem); font-weight: var(--rep-font-weight-bold); letter-spacing: -.08em; opacity: .92; position: relative; }
.rep-home-hero__visual-grid { bottom: clamp(1.5rem,4vw,3rem); display: grid; gap: var(--rep-space-sm); grid-template-columns: repeat(2,1fr); left: clamp(1.5rem,4vw,3rem); position: absolute; right: clamp(1.5rem,4vw,3rem); }
.rep-home-hero__visual-grid span { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.28); border-radius: var(--rep-radius-sm); min-height: clamp(2.25rem,6vw,4rem); }
.rep-home-section { padding-block: clamp(2.5rem,5vw,4.5rem); }
.rep-home-section + .rep-home-section { border-top: var(--rep-border); }
.rep-home-section__header { align-items: end; display: flex; gap: var(--rep-space-lg); justify-content: space-between; margin-bottom: var(--rep-space-xl); }
.rep-home-section__header h2 { margin: 0; }
.rep-home-section__header > a { flex: 0 0 auto; font-weight: var(--rep-font-weight-bold); }
.rep-home-category-grid { display: grid; gap: var(--rep-space-md); grid-template-columns: repeat(4,minmax(0,1fr)); }
.rep-home-category-card { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); color: var(--rep-color-heading); display: grid; gap: var(--rep-space-sm); min-width: 0; padding: var(--rep-space-md); text-decoration: none; transition: border-color var(--rep-transition),box-shadow var(--rep-transition),transform var(--rep-transition); }
.rep-home-category-card:hover { border-color: var(--rep-color-primary); box-shadow: var(--rep-shadow-md); transform: translateY(-2px); }
.rep-home-category-card__media { align-items: center; aspect-ratio: 16 / 8; background: linear-gradient(135deg,var(--rep-color-surface-subtle),#e8eef7); border-radius: var(--rep-radius-sm); color: var(--rep-color-primary); display: flex; font-size: clamp(2rem,5vw,3.5rem); font-weight: var(--rep-font-weight-bold); justify-content: center; overflow: hidden; }
.rep-home-category-card__media img { height: 100%; object-fit: contain; width: 100%; }
.rep-home-category-card__name {
  color: rgb(10 25 47 / 1);
  font-weight: var(--rep-font-weight-bold);
  overflow-wrap: anywhere;
  text-decoration: none;
  text-underline-offset: .18em;
}
.rep-home-category-card:hover .rep-home-category-card__name {
  color: #075ff7;
}
.rep-home-category-card__count { color: var(--rep-color-muted); font-size: var(--rep-font-size-sm); }
.rep-home-category-card__name,
.rep-home-category-card__count { justify-self: center; text-align: center; }
.rep-home-products { background: var(--rep-color-surface-subtle); }
.rep-home-value { background: var(--rep-color-heading); color: var(--rep-color-surface); padding-block: var(--rep-space-xl); }
.rep-home-value__grid { display: grid; gap: var(--rep-space-lg); grid-template-columns: repeat(3,minmax(0,1fr)); }
.rep-home-value__grid > div { display: grid; gap: var(--rep-space-xs); min-width: 0; }
.rep-home-value__grid strong { color: inherit; font-size: var(--rep-font-size-lg); }
.rep-home-value__grid span { color: rgba(255,255,255,.78); overflow-wrap: anywhere; }
.rep-home-final { padding-block: clamp(3rem,7vw,6rem); }
.rep-home-final__inner { align-items: center; background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-lg); box-shadow: var(--rep-shadow-md); display: flex; gap: var(--rep-space-xl); justify-content: space-between; padding: clamp(1.5rem,5vw,3rem); }
.rep-home-final__inner h2 { margin: 0; overflow-wrap: anywhere; }
.rep-home-final__inner .rep-button { flex: 0 0 auto; }

@media (max-width: 64rem) {
  .rep-home-hero__layout { grid-template-columns: minmax(0,1fr); }
  .rep-home-hero__visual { margin-inline: auto; max-width: 38rem; width: 100%; }
  .rep-home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 48rem) {
  .rep-home-section__header,.rep-home-final__inner { align-items: stretch; flex-direction: column; }
  .rep-home-value__grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-final__inner .rep-button { width: 100%; }
}
@media (max-width: 36rem) {
  .rep-home-hero { padding-block: var(--rep-space-xl); }
  .rep-home-hero__content h1 { font-size: clamp(2rem,11vw,3rem); }
  .rep-home-hero__visual { border-width: .3rem; }
  .rep-home-category-grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-section__header > a { align-self: flex-start; }
}

/* 19. Generic WordPress content, search, and not-found states */
.rep-generic-layout,
.rep-generic-search { padding-block: clamp(2rem,5vw,4.5rem); }
.rep-content-shell,
.rep-generic-heading,
.rep-search-results,
.rep-generic-search > .rep-pagination,
.rep-generic-search > .rep-empty-state { margin-inline: auto; max-width: 52rem; }
.rep-content-shell__header,
.rep-generic-heading { margin-bottom: var(--rep-space-xl); }
.rep-content-shell__title,
.rep-generic-heading h1,
.rep-not-found h1 { margin: 0; overflow-wrap: anywhere; }
.rep-content-shell__featured { margin: 0 0 var(--rep-space-xl); }
.rep-content-shell__featured img,
.rep-entry-content img,
.rep-entry-content video,
.rep-entry-content iframe { height: auto; max-width: 100%; }
.rep-entry-content { overflow-wrap: anywhere; }
.rep-entry-content > * { margin-block: 0 var(--rep-space-md); }
.rep-entry-content > :where(h2,h3,h4,h5,h6) { margin-block: var(--rep-space-xl) var(--rep-space-sm); }
.rep-entry-content :where(ul,ol) { padding-left: 1.4rem; }
.rep-entry-content blockquote,
.wp-block-quote { border-left: .25rem solid var(--rep-color-primary); color: var(--rep-color-muted); margin-inline: 0; padding: var(--rep-space-sm) var(--rep-space-lg); }
.rep-entry-content figure { max-width: 100%; }
.rep-entry-content :where(.wp-block-table,table) { max-width: 100%; overflow-x: auto; }
.rep-entry-content table { border-collapse: collapse; display: block; width: max-content; }
.rep-entry-content table :where(th,td) { border: var(--rep-border); padding: var(--rep-space-sm); text-align: left; }
.rep-entry-content :where(pre,.wp-block-code) { background: var(--rep-color-heading); border-radius: var(--rep-radius-sm); color: var(--rep-color-surface); max-width: 100%; overflow-x: auto; padding: var(--rep-space-md); white-space: pre; }
.rep-entry-content :not(pre) > code { background: var(--rep-color-surface-subtle); border-radius: .2rem; padding: .1em .3em; }
.rep-entry-content hr { border: 0; border-top: var(--rep-border); margin-block: var(--rep-space-xl); }
.rep-entry-content :where(.wp-block-buttons,.wp-block-columns) { gap: var(--rep-space-md); }
.rep-entry-content .wp-block-button__link { border-radius: var(--rep-radius-sm); }
.rep-entry-content > :where(.alignwide,.alignfull) { left: 50%; margin-inline: 0; max-width: none; position: relative; transform: translateX(-50%); }
.rep-entry-content > .alignwide { width: min(72rem,calc(100vw - 2 * var(--rep-gutter))); }
.rep-entry-content > .alignfull { width: calc(100vw - 2 * var(--rep-gutter)); }
.rep-search-results { display: grid; gap: var(--rep-space-md); }
.rep-search-result { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); min-width: 0; padding: clamp(1rem,2.5vw,1.5rem); }
.rep-search-result__type,
.rep-eyebrow { color: var(--rep-color-muted); font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); letter-spacing: .04em; margin: 0 0 var(--rep-space-xs); text-transform: uppercase; }
.rep-search-result__title { font-size: clamp(1.2rem,3vw,1.5rem); margin: 0 0 var(--rep-space-sm); overflow-wrap: anywhere; }
.rep-search-result__excerpt > :last-child { margin-bottom: var(--rep-space-sm); }
.rep-search-result__link { font-weight: var(--rep-font-weight-bold); }
.rep-generic-search > .rep-pagination { margin-top: var(--rep-space-xl); }
.rep-empty-state,
.rep-not-found { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-lg); box-shadow: var(--rep-shadow-md); padding: clamp(1.5rem,5vw,3rem); text-align: center; }
.rep-not-found { margin: clamp(2rem,7vw,6rem) auto; max-width: 48rem; }
.rep-not-found > p:not(.rep-eyebrow) { color: var(--rep-color-muted); font-size: var(--rep-font-size-lg); }
.rep-not-found__actions { display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); justify-content: center; margin-block: var(--rep-space-xl); }
.rep-generic-search-form { margin: var(--rep-space-xl) auto 0; max-width: 34rem; text-align: left; }
.rep-generic-search-form h2 { font-size: var(--rep-font-size-lg); }
.rep-generic-search-form .search-form { align-items: end; display: grid; gap: var(--rep-space-sm); grid-template-columns: minmax(0,1fr) auto; }
.rep-generic-search-form .search-form label { margin: 0; min-width: 0; }
.rep-generic-search-form .search-field { width: 100%; }

@media (max-width: 36rem) {
  .rep-generic-layout,.rep-generic-search { padding-block: var(--rep-space-xl); }
  .rep-generic-layout .rep-entry-content table,

  .rep-generic-search-form .search-form { grid-template-columns: minmax(0,1fr); }
  .rep-generic-search-form .search-submit { width: 100%; }
  .rep-not-found__actions { align-items: stretch; flex-direction: column; }
  .rep-not-found__actions .rep-button { width: 100%; }
}

/* 15. Woo single product */
.rep-single-product .woocommerce { min-width: 0; }
.rep-single-product div.product { display: grid; gap: var(--rep-space-2xl); grid-template-columns: minmax(0,1.08fr) minmax(19rem,.92fr); margin-bottom: var(--rep-space-3xl); }
.rep-single-product div.product :where(.woocommerce-product-gallery,.summary) { float: none; margin: 0; min-width: 0; width: auto; }
.rep-single-product div.product .woocommerce-product-gallery { align-self: start; }
.rep-single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.rep-single-product .woocommerce-product-gallery__image { align-items: center; background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); display: flex; justify-content: center; min-height: 30rem; overflow: hidden; }
.rep-single-product .woocommerce-product-gallery__image a { align-items: center; display: flex; height: 100%; justify-content: center; width: 100%; }
.rep-single-product .woocommerce-product-gallery__image img { height: auto; max-height: 34rem; object-fit: contain; width: 100%; }
.rep-single-product .flex-control-thumbs { display: grid; gap: var(--rep-space-sm); grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: var(--rep-space-md) !important; }
.rep-single-product .flex-control-thumbs li { border: var(--rep-border); border-radius: var(--rep-radius-sm); float: none !important; overflow: hidden; width: auto !important; }
.rep-single-product .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; }
.rep-single-product .woocommerce span.onsale { background: var(--rep-color-danger); border-radius: var(--rep-radius-pill); color: #fff; font-size: var(--rep-font-size-xs); font-weight: var(--rep-font-weight-bold); left: var(--rep-space-md); line-height: 1; min-height: 0; min-width: 0; padding: .45rem .7rem; top: var(--rep-space-md); }
.rep-single-product div.product .summary { align-self: start; background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); padding: clamp(1.25rem,3vw,2rem); }
.rep-single-product .summary .product_title { font-size: clamp(1.75rem,3vw,2.5rem); line-height: 1.12; margin: 0 0 var(--rep-space-md); overflow-wrap: anywhere; }
.rep-pdp__identity { display: grid; gap: var(--rep-space-sm); margin-bottom: var(--rep-space-sm); }
.rep-pdp__badges { display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); }
.rep-pdp__sku { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); margin: 0; overflow-wrap: anywhere; }
.rep-single-product .summary .price { color: var(--rep-color-heading); font-size: clamp(1.5rem,3vw,2rem); font-weight: var(--rep-font-weight-bold); margin-block: var(--rep-space-md); }
.rep-single-product .summary .price del { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-base); font-weight: var(--rep-font-weight-regular); }
.rep-single-product .summary .price ins { text-decoration: none; }
.rep-pdp__price-unavailable { color: var(--rep-color-text-muted) !important; font-size: var(--rep-font-size-base) !important; }
.rep-single-product .woocommerce-product-details__short-description { color: var(--rep-color-text-muted); margin-bottom: var(--rep-space-lg); }
.rep-single-product .summary .stock { font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); }
.rep-single-product .summary .in-stock { color: var(--rep-color-success); }
.rep-single-product .summary .out-of-stock { color: var(--rep-color-danger); }
.rep-single-product .summary form.cart { align-items: stretch; display: flex; flex-wrap: wrap; gap: var(--rep-space-sm); margin-block: var(--rep-space-lg) 0; }
.rep-single-product .summary form.cart::before,.rep-single-product .summary form.cart::after { display: none; }
.rep-single-product .summary form.cart .quantity { float: none; margin: 0; }
.rep-single-product .summary form.cart .qty { min-height: 3rem; width: 5rem; }
.rep-single-product .summary form.cart .single_add_to_cart_button { flex: 1 1 12rem; min-height: 3rem; }
.rep-single-product div.product :where(.woocommerce-tabs,.upsells,.rep-pdp-related) { grid-column: 1 / -1; min-width: 0; }
.rep-single-product .woocommerce-tabs { padding-top: var(--rep-space-xl); }
.rep-single-product .woocommerce-tabs ul.tabs { border-bottom: var(--rep-border); display: flex; gap: var(--rep-space-lg); margin: 0 0 var(--rep-space-xl) !important; overflow-x: auto; padding: 0 !important; }
.rep-single-product .woocommerce-tabs ul.tabs::before,.rep-single-product .woocommerce-tabs ul.tabs li::before,.rep-single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.rep-single-product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.rep-single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--rep-color-primary) !important; }
.rep-single-product .woocommerce-tabs ul.tabs li a { color: var(--rep-color-text-muted) !important; padding: .8rem .1rem !important; white-space: nowrap; }
.rep-single-product .woocommerce-tabs ul.tabs li.active a { color: var(--rep-color-heading) !important; }
.rep-single-product .woocommerce-Tabs-panel { max-width: 64rem; }
.rep-single-product .woocommerce-Tabs-panel > h2:first-child { margin-bottom: var(--rep-space-lg); }
.rep-pdp-specifications__list { border: var(--rep-border); border-radius: var(--rep-radius-md); margin: 0; overflow: hidden; }
.rep-pdp-specifications__row { display: grid; gap: var(--rep-space-md); grid-template-columns: minmax(9rem,.75fr) minmax(0,1.25fr); padding: .8rem var(--rep-space-md); }
.rep-pdp-specifications__row:nth-child(even) { background: var(--rep-color-surface-subtle); }
.rep-pdp-specifications__row dt { color: var(--rep-color-text-muted); font-weight: var(--rep-font-weight-medium); }
.rep-pdp-specifications__row dd { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); margin: 0; overflow-wrap: anywhere; }
.rep-pdp-specifications__row dd { display: flex; align-items: center; gap: 6px; }
.rep-pdp-specifications__value-list { align-items: flex-end; display: flex; flex-direction: column; gap: .2rem; width: 100%; }
.rep-pdp-specifications__value-list > span { display: block; }
.rep-spec-help { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 16px; width: 16px; height: 16px; border: 1px solid #8491a4; border-radius: 50%; color: #526681; cursor: help; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1; }
.rep-spec-help__bubble { position: absolute; right: -6px; bottom: calc(100% + 8px); z-index: 20; box-sizing: border-box; display: none; align-items: center; width: min(250px, calc(100vw - 48px)); min-height: 48px; height: auto; padding: 12px 14px; border: 1px solid #ccd9eb; border-radius: 6px; background: #001f3f; color: #fff; box-shadow: 0 5px 18px #001f3f26; font-size: 11px; font-weight: 400; line-height: 1.5; text-align: left; white-space: normal; }
.rep-spec-help__bubble::after { content: ''; position: absolute; right: 8px; top: 100%; border: 5px solid transparent; border-top-color: #001f3f; }
.rep-spec-help:is(:hover,:focus,:focus-visible) .rep-spec-help__bubble { display: grid; }
.rep-spec-help:focus-visible { outline: 2px solid #075ff7; outline-offset: 2px; }
.rep-single-product .rep-pdp-specifications .rep-pdp-specifications__list { overflow: visible !important; }
.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  overflow: visible !important;
  position: relative !important;
  z-index: 3;
}
.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__list {
  overflow: visible !important;
}
.rep-single-product .rep-spec-help:is(:hover,:focus,:focus-visible) {
  z-index: 100;
}
@media (max-width: 36rem) { .rep-spec-help__bubble { width: min(160px, calc(100vw - 48px)); } }
.rep-pdp-documents__list { display: grid; gap: var(--rep-space-sm); list-style: none; margin: 0; padding: 0; }
.rep-pdp-documents__list a { align-items: center; border: var(--rep-border); border-radius: var(--rep-radius-sm); display: flex; font-weight: var(--rep-font-weight-bold); min-height: 3rem; padding: .75rem var(--rep-space-md); text-decoration: none; }
.rep-pdp-documents__list a:hover { background: var(--rep-color-surface-subtle); text-decoration: underline; }
.rep-pdp-related { border-top: var(--rep-border); padding-top: var(--rep-space-2xl); }
.rep-pdp-related > h2 { margin-bottom: var(--rep-space-lg); }
.rep-pdp-related .rep-product-grid { list-style: none; margin: 0; padding: 0; }

@media (max-width: 64rem) {
  .rep-single-product div.product { grid-template-columns: minmax(0,1fr); }
  .rep-single-product div.product :where(.woocommerce-product-gallery,.summary,.woocommerce-tabs,.upsells,.rep-pdp-related) { grid-column: 1; }
  .rep-single-product .woocommerce-product-gallery__image { min-height: 24rem; }
}
@media (max-width: 36rem) {
  .rep-single-product div.product { gap: var(--rep-space-xl); }
  .rep-single-product .woocommerce-product-gallery__image { min-height: 18rem; }
  .rep-single-product .summary { padding: var(--rep-space-md) !important; }
  .rep-single-product .summary form.cart { display: grid; grid-template-columns: 1fr; }
  .rep-single-product .summary form.cart .quantity,.rep-single-product .summary form.cart .qty,.rep-single-product .summary form.cart .single_add_to_cart_button { width: 100%; }
  .rep-pdp-specifications__row { grid-template-columns: minmax(0,1fr); gap: var(--rep-space-xs); }
}

/* 17. Woo checkout */
.woocommerce-checkout .entry-content > .woocommerce { min-width: 0; }
.woocommerce-checkout :where(.woocommerce-form-login-toggle,.woocommerce-form-coupon-toggle,.woocommerce-notices-wrapper) { margin-bottom: var(--rep-space-lg); }
.woocommerce-checkout :where(.woocommerce-error,.woocommerce-message,.woocommerce-info) { border-radius: var(--rep-radius-sm); margin-bottom: var(--rep-space-md); overflow-wrap: anywhere; }
.woocommerce-checkout form.checkout { align-items: start; display: grid; gap: var(--rep-space-xl); grid-template-columns: minmax(0,1.35fr) minmax(20rem,.8fr); }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.woocommerce-checkout form.checkout > #order_review_heading { align-self: end; grid-column: 2; margin: 0; }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; min-width: 0; }
.woocommerce-checkout #customer_details :where(.col-1,.col-2) { float: none; width: 100%; }
.woocommerce-checkout #customer_details .col-2 { margin-top: var(--rep-space-xl); }
.woocommerce-checkout :where(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); padding: clamp(1rem,2.5vw,1.75rem); }
.woocommerce-checkout :where(.woocommerce-billing-fields > h3,.woocommerce-shipping-fields > h3,.woocommerce-additional-fields > h3) { font-size: var(--rep-font-size-xl); margin: 0 0 var(--rep-space-lg); }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: flow-root; }
.woocommerce-checkout .form-row { margin: 0 0 var(--rep-space-md); padding: 0; }
.woocommerce-checkout .form-row label { color: var(--rep-color-heading); display: block; font-size: var(--rep-font-size-sm); font-weight: var(--rep-font-weight-bold); margin-bottom: var(--rep-space-xs); }
.woocommerce-checkout .form-row .required { color: var(--rep-color-danger); font-weight: var(--rep-font-weight-bold); text-decoration: none; }
.woocommerce-checkout .form-row :where(input.input-text,textarea,select,.select2-container .select2-selection) { border: var(--rep-border); border-radius: var(--rep-radius-sm); min-height: 2.75rem; width: 100%; }
.woocommerce-checkout .form-row :where(input.input-text,textarea,select) { padding: .65rem .75rem; }
.woocommerce-checkout .form-row textarea { min-height: 7rem; resize: vertical; }
.woocommerce-checkout .select2-container { max-width: 100%; width: 100% !important; }
.woocommerce-checkout .select2-container .select2-selection { align-items: center; display: flex; }
.woocommerce-checkout .select2-container .select2-selection__rendered { overflow: hidden; padding-inline: .75rem 2rem; text-overflow: ellipsis; }
.woocommerce-checkout .woocommerce-invalid :where(input.input-text,select,.select2-selection) { border-color: var(--rep-color-danger); }
.woocommerce-checkout .woocommerce-validated :where(input.input-text,select,.select2-selection) { border-color: var(--rep-color-success); }
.woocommerce-checkout #ship-to-different-address { font-size: var(--rep-font-size-base); }
.woocommerce-checkout #ship-to-different-address label { align-items: flex-start; display: flex; gap: var(--rep-space-sm); }
.woocommerce-checkout #ship-to-different-address-checkbox { flex: 0 0 auto; margin-top: .2rem; }
.woocommerce-checkout #order_review_heading { font-size: var(--rep-font-size-xl); }
.woocommerce-checkout #order_review { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); overflow: hidden; }
.woocommerce-checkout #order_review table.shop_table { border: 0; border-radius: 0; margin: 0; table-layout: fixed; }
.woocommerce-checkout #order_review table.shop_table :where(th,td) { overflow-wrap: anywhere; padding: .8rem var(--rep-space-md); }
.woocommerce-checkout #order_review table.shop_table .product-name { width: 65%; }
.woocommerce-checkout #order_review table.shop_table .product-total { text-align: right; width: 35%; }
.woocommerce-checkout #payment { background: var(--rep-color-surface-subtle); border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: var(--rep-border); padding: var(--rep-space-md); }
.woocommerce-checkout #payment ul.payment_methods li { margin-bottom: var(--rep-space-sm); }
.woocommerce-checkout #payment ul.payment_methods li:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li > :where(input,label) { vertical-align: middle; }
.woocommerce-checkout #payment ul.payment_methods li > label { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); margin-left: var(--rep-space-xs); }
.woocommerce-checkout #payment div.payment_box { border-radius: var(--rep-radius-sm); margin-block: var(--rep-space-sm); overflow-wrap: anywhere; padding: var(--rep-space-md); width: 100%; }
.woocommerce-checkout #payment div.payment_box::before { left: 1rem; }
.woocommerce-checkout #payment .place-order { margin: 0; padding: var(--rep-space-md); }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { color: var(--rep-color-text-muted); font-size: var(--rep-font-size-sm); }
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox { align-items: flex-start; display: flex; gap: var(--rep-space-sm); }
.woocommerce-checkout #payment #place_order { float: none; font-size: var(--rep-font-size-base); min-height: 3rem; width: 100%; }

@media (max-width: 64rem) {
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0,1fr); }
  .woocommerce-checkout form.checkout > #customer_details,.woocommerce-checkout form.checkout > #order_review_heading,.woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; }
  .woocommerce-checkout form.checkout > #order_review_heading { margin-top: var(--rep-space-md); }
}
@media (max-width: 36rem) {
  .woocommerce-checkout :where(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) { padding: var(--rep-space-md); }
  .woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last { float: none; width: 100%; }
  .woocommerce-checkout #order_review table.shop_table :where(th,td) { padding-inline: var(--rep-space-sm); }
  .woocommerce-checkout #payment ul.payment_methods,.woocommerce-checkout #payment .place-order { padding: var(--rep-space-sm); }
  .woocommerce-checkout #payment div.payment_box { padding: var(--rep-space-sm); }
}

/* 18. Woo order pay and order received */
.woocommerce-order-pay .entry-content > .woocommerce,
.woocommerce-order-received .entry-content > .woocommerce { min-width: 0; }
.woocommerce-order-pay :where(.woocommerce-error,.woocommerce-message,.woocommerce-info),
.woocommerce-order-received :where(.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-notice) { border-radius: var(--rep-radius-sm); overflow-wrap: anywhere; }
.woocommerce-order-pay form#order_review { align-items: start; display: grid; gap: var(--rep-space-xl); grid-template-columns: minmax(0,1.25fr) minmax(20rem,.75fr); }
.woocommerce-order-pay form#order_review > table.shop_table,
.woocommerce-order-pay form#order_review > #payment { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); margin: 0; min-width: 0; overflow: hidden; }
.woocommerce-order-pay form#order_review > table.shop_table { table-layout: fixed; }
.woocommerce-order-pay form#order_review > table.shop_table :where(th,td) { overflow-wrap: anywhere; padding: .8rem var(--rep-space-md); }
.woocommerce-order-pay form#order_review > table.shop_table .product-name { width: 55%; }
.woocommerce-order-pay form#order_review > table.shop_table :where(.product-quantity,.product-total,.product-subtotal) { text-align: right; }
.woocommerce-order-pay #payment { background: var(--rep-color-surface-subtle); border-radius: var(--rep-radius-md); }
.woocommerce-order-pay #payment ul.payment_methods { border-bottom: var(--rep-border); padding: var(--rep-space-md); }
.woocommerce-order-pay #payment ul.payment_methods li { margin-bottom: var(--rep-space-sm); }
.woocommerce-order-pay #payment ul.payment_methods li > label { color: var(--rep-color-heading); font-weight: var(--rep-font-weight-bold); margin-left: var(--rep-space-xs); }
.woocommerce-order-pay #payment div.payment_box { border-radius: var(--rep-radius-sm); margin-block: var(--rep-space-sm); max-width: 100%; overflow-wrap: anywhere; padding: var(--rep-space-md); width: 100%; }
.woocommerce-order-pay #payment .form-row { margin: 0; padding: var(--rep-space-md); }
.woocommerce-order-pay #payment #place_order { float: none; min-height: 3rem; width: 100%; }
.woocommerce-order-received .woocommerce-order { display: grid; gap: var(--rep-space-xl); }
.woocommerce-order-received .woocommerce-order > :where(.woocommerce-notice,.woocommerce-thankyou-order-received,.woocommerce-thankyou-order-failed,.woocommerce-thankyou-order-failed-actions) { margin: 0; }
.woocommerce-order-received .woocommerce-order > .woocommerce-notice,
.woocommerce-order-received .woocommerce-order > .woocommerce-thankyou-order-received { background: var(--rep-color-surface); border: var(--rep-border); border-left: .3rem solid var(--rep-color-success); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); color: var(--rep-color-heading); font-size: var(--rep-font-size-lg); font-weight: var(--rep-font-weight-bold); padding: var(--rep-space-lg); }
.woocommerce-order-received .woocommerce-order > .woocommerce-notice--error,
.woocommerce-order-received .woocommerce-order > .woocommerce-thankyou-order-failed { border-left-color: var(--rep-color-danger); }
.woocommerce-order-received ul.woocommerce-order-overview { background: var(--rep-color-surface-subtle); border: var(--rep-border); border-radius: var(--rep-radius-md); display: grid; gap: 0; grid-template-columns: repeat(auto-fit,minmax(10rem,1fr)); margin: 0; padding: 0; }
.woocommerce-order-received ul.woocommerce-order-overview li { border: 0; border-right: var(--rep-border); float: none; margin: 0; min-width: 0; overflow-wrap: anywhere; padding: var(--rep-space-md); text-transform: none; }
.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce-order-received :where(.woocommerce-order-details,.woocommerce-customer-details) { background: var(--rep-color-surface); border: var(--rep-border); border-radius: var(--rep-radius-md); box-shadow: var(--rep-shadow-sm); margin: 0; min-width: 0; padding: clamp(1rem,2.5vw,1.75rem); }
.woocommerce-order-received :where(.woocommerce-order-details__title,.woocommerce-column__title) { margin-top: 0; }
.woocommerce-order-received .woocommerce-order-details table.order_details { border: 0; margin: 0; table-layout: fixed; }
.woocommerce-order-received .woocommerce-order-details table.order_details :where(th,td) { overflow-wrap: anywhere; padding: .8rem var(--rep-space-md); }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { display: grid; gap: var(--rep-space-lg); grid-template-columns: repeat(2,minmax(0,1fr)); }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column { float: none; min-width: 0; width: 100%; }
.woocommerce-order-received .woocommerce-customer-details address { border: var(--rep-border); border-radius: var(--rep-radius-sm); font-style: normal; line-height: 1.7; margin: 0; overflow-wrap: anywhere; padding: var(--rep-space-md); }

@media (max-width: 64rem) {
  .woocommerce-order-pay form#order_review { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 36rem) {
  .woocommerce-order-pay form#order_review > table.shop_table :where(th,td),
  .woocommerce-order-received .woocommerce-order-details table.order_details :where(th,td) { padding-inline: var(--rep-space-sm); }
  .woocommerce-order-pay #payment ul.payment_methods,
  .woocommerce-order-pay #payment .form-row { padding: var(--rep-space-sm); }
  .woocommerce-order-pay #payment div.payment_box { padding: var(--rep-space-sm); }
  .woocommerce-order-received ul.woocommerce-order-overview { grid-template-columns: minmax(0,1fr); }
  .woocommerce-order-received ul.woocommerce-order-overview li { border-bottom: var(--rep-border); border-right: 0; }
  .woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-bottom: 0; }
  .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { grid-template-columns: minmax(0,1fr); }
  .woocommerce-order-received :where(.woocommerce-order-details,.woocommerce-customer-details) { padding: var(--rep-space-md); }
}

/* 21. Full storefront visual completion */
body:not(.rep-portal-page) {
  -webkit-font-smoothing: antialiased;
  background: #f7f9fc;
}
body:not(.rep-portal-page) :where(h1,h2,h3) { letter-spacing: -.018em; }
.rep-site-main:not(.rep-home):not(.rep-product-archive) { min-height: 48vh; }
.rep-site-header {
  box-shadow: 0 1px 0 rgba(16,35,63,.04);
}
.rep-site-header__inner { min-height: 4.25rem; }
.rep-site-brand__mark {
  background: linear-gradient(145deg,#1666d8,#0f52b5);
  box-shadow: 0 4px 12px rgba(22,102,216,.22);
  font-weight: 800;
}
.rep-site-brand__name { letter-spacing: -.02em; line-height: 1.1; }
.rep-product-search {
  border-radius: var(--rep-radius-sm);
  box-shadow: 0 0 0 1px rgba(16,35,63,.02);
}
.rep-product-search input[type='search'] {
  border-color: #b8c5d5;
  min-height: 2.875rem;
  padding-inline: .9rem;
}
.rep-product-search input[type='search']:focus { border-color: var(--rep-color-primary); }
.rep-product-search button { min-height: 2.875rem; padding-inline: 1.15rem; }
.rep-header-control,.rep-menu-toggle { white-space: nowrap; }
.rep-header-panel {
  background: #0d203a;
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}
.rep-category-menu summary,.rep-primary-menu a { min-height: 2.75rem; }
.rep-site-footer { background: #0d203a; margin-top: clamp(2.5rem,5vw,4.5rem); }
.rep-site-footer__inner { padding-block: clamp(2rem,4vw,3rem); }
.rep-site-footer__brand p { line-height: 1.6; margin-top: .75rem; }
.rep-footer-menu { align-content: start; }

.rep-button,
body:not(.rep-portal-page) :where(button,a.button,input[type='submit'],input[type='button']) {
  box-shadow: 0 1px 2px rgba(16,35,63,.1);
  letter-spacing: .005em;
}
.rep-button:hover,
body:not(.rep-portal-page) :where(button,a.button,input[type='submit'],input[type='button']):hover {
  box-shadow: 0 5px 14px rgba(16,35,63,.14);
}
.rep-card,.rep-product-card,
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  box-shadow: 0 2px 8px rgba(16,35,63,.055);
}
body:not(.rep-portal-page) :where(input[type='text'],input[type='email'],input[type='tel'],input[type='number'],input[type='search'],input[type='password'],select,textarea):focus {
  border-color: var(--rep-color-primary);
  box-shadow: var(--rep-focus-ring);
  outline: 2px solid var(--rep-color-primary);
  outline-offset: 2px;
}
.woocommerce :where(.woocommerce-error,.woocommerce-info,.woocommerce-message) {
  background: var(--rep-color-surface);
  border: var(--rep-border);
  border-left: .25rem solid var(--rep-color-info);
  border-radius: var(--rep-radius-sm);
  box-shadow: var(--rep-shadow-sm);
  color: var(--rep-color-text);
  padding: .9rem 1rem .9rem 2.75rem;
}
.woocommerce .woocommerce-error { border-left-color: var(--rep-color-danger); }
.woocommerce .woocommerce-message { border-left-color: var(--rep-color-success); }

/* Product added-to-cart confirmation. */
body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message {
  align-items: center;
  background: #f4fbf7;
  border: 1px solid #b9dfc8;
  border-left: 4px solid #16803c;
  border-radius: .625rem;
  box-shadow: 0 5px 16px rgba(16,35,63,.08);
  color: #26364a;
  display: grid;
  font-size: .9375rem;
  gap: .75rem;
  grid-template-columns: 2rem minmax(0,1fr) auto;
  line-height: 1.5;
  min-height: 4.75rem;
  padding: .875rem 1rem;
}
body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message::before {
  align-items: center;
  align-self: center;
  background: #16803c;
  border-radius: 50%;
  color: #fff;
  content: "\2713";
  display: inline-flex;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 800;
  grid-column: 1;
  height: 2rem;
  justify-content: center;
  left: auto;
  line-height: 1;
  margin: 0;
  position: static;
  top: auto;
  width: 2rem;
}
body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message .button.wc-forward {
  align-items: center;
  align-self: center;
  background: var(--rep-color-primary) !important;
  border: 1px solid var(--rep-color-primary) !important;
  border-radius: .375rem !important;
  box-shadow: 0 3px 8px rgba(22,102,216,.2) !important;
  color: #fff !important;
  display: inline-flex;
  float: none;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  grid-column: 3;
  grid-row: 1;
  justify-content: center;
  line-height: 1.2;
  margin: 0;
  min-height: 2.75rem !important;
  padding: .65rem 1rem !important;
  text-decoration: none !important;
  white-space: nowrap;
}
body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message .button.wc-forward:hover,
body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message .button.wc-forward:focus-visible {
  background: var(--rep-color-primary-hover) !important;
  border-color: var(--rep-color-primary-hover) !important;
  color: #fff !important;
}
@media (max-width: 36rem) {
  body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message {
    align-items: start;
    font-size: .875rem;
    grid-template-columns: 2rem minmax(0,1fr);
    padding: .875rem;
  }
  body:not(.rep-portal-page) .woocommerce-notices-wrapper > .woocommerce-message .button.wc-forward {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    white-space: normal;
  }
}

.rep-home-hero {
  background:
    linear-gradient(105deg,rgba(255,255,255,.96) 0%,rgba(244,247,251,.92) 54%,rgba(232,240,251,.96) 100%);
  padding-block: clamp(2.25rem,4.5vw,4.25rem);
}
.rep-home-hero__layout { gap: clamp(2rem,4vw,4rem); }
.rep-home-hero__content h1 {
  font-size: clamp(2.35rem,4.3vw,4rem);
  line-height: 1.04;
  max-width: 14ch;
}
.rep-home-hero__content > p:not(.rep-eyebrow) { font-size: clamp(1rem,1.4vw,1.125rem); }
.rep-home-hero__visual {
  aspect-ratio: 16 / 10;
  background: linear-gradient(145deg,#10233f,#183d68);
  border-width: .35rem;
}
.rep-home-hero__visual-label { font-size: clamp(3.5rem,8vw,6.5rem); }
.rep-home-section { padding-block: clamp(2.25rem,4vw,3.75rem); }
.rep-home-section__header { margin-bottom: 1.35rem; }
.rep-home-category-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.rep-home-category-card { gap: .6rem; padding: .75rem; }
.rep-home-category-card__media { aspect-ratio: 16 / 7; }
.rep-home-category-card__name { line-height: 1.25; }
.rep-home-value { padding-block: 1.4rem; }
.rep-home-value__grid > div { border-left: 2px solid rgba(255,255,255,.2); padding-left: 1rem; }
.rep-home-final { padding-block: clamp(2.5rem,5vw,4.25rem); }
.rep-home-final__inner { background: linear-gradient(100deg,#fff,#f4f7fb); }

.rep-product-archive { padding-block: clamp(1.5rem,3vw,2.5rem); }
.rep-product-archive .rep-breadcrumbs { margin-bottom: 1rem; }
.rep-product-archive__header { margin-bottom: 1.25rem; }
.rep-product-archive__header .woocommerce-products-header__title { font-size: clamp(1.8rem,3vw,2.35rem); }
.rep-shop-layout { gap: 1.25rem; }
.rep-shop-filters__form {
  box-shadow: 0 2px 8px rgba(16,35,63,.045);
  gap: .85rem;
  padding: 1.1rem;
}
.rep-shop-filters__form fieldset { gap: .55rem; padding-top: .85rem; }
.rep-shop-filters__form fieldset label { align-items: flex-start; font-size: var(--rep-font-size-sm); }
.rep-active-filters { padding-bottom: .25rem; }
.rep-active-filters__item { background: #fff; font-size: var(--rep-font-size-sm); }
.rep-product-archive__toolbar { margin-block: 0 1rem; min-height: 3.75rem; }
.rep-product-grid { gap: 1rem; }
.rep-product-card { border-color: #d7e0ea; }
.rep-product-card:hover { box-shadow: 0 9px 22px rgba(16,35,63,.11); }
.rep-product-card__media {
  aspect-ratio: 4 / 3;
  background: linear-gradient(180deg,#fff,#fbfcfe);
  padding: .85rem;
}
.rep-product-card__content { gap: .45rem; padding: .9rem; }
.rep-product-card__title { font-size: .9375rem; min-height: 3.8em; }
.rep-product-card__price { margin-top: .15rem; }
.rep-product-card__availability { font-size: .8125rem; }
.rep-product-card__actions { padding-top: .4rem; }
.rep-product-card__action { min-height: 2.625rem; }
.rep-product-archive__pagination { margin-top: 1.75rem; }

.rep-single-product div.product { gap: clamp(1.5rem,3vw,3rem); }
.rep-single-product .woocommerce-product-gallery__image {
  background: linear-gradient(180deg,#fff,#fafcff);
  box-shadow: inset 0 0 0 1px rgba(16,35,63,.02);
}
.rep-single-product div.product .summary {
  border-top: .25rem solid var(--rep-color-primary);
  box-shadow: 0 8px 24px rgba(16,35,63,.08);
}
.rep-single-product .summary .product_title { font-size: clamp(1.7rem,2.7vw,2.35rem); }
.rep-single-product .summary .price {
  border-block: var(--rep-border);
  padding-block: .75rem;
}
.rep-single-product .woocommerce-product-details__short-description { color: var(--rep-color-text); }
.rep-single-product .summary form.cart {
  background: var(--rep-color-surface-subtle);
  border-radius: var(--rep-radius-sm);
  padding: .75rem;
}
.rep-single-product .woocommerce-tabs { padding-top: 1.5rem; }
.rep-single-product .woocommerce-tabs .panel {
  background: #fff;
  border: var(--rep-border);
  border-radius: var(--rep-radius-md);
  padding: clamp(1rem,2.5vw,1.75rem);
}
.rep-pdp-specifications__row:nth-child(even) { background: var(--rep-color-surface-subtle); }
.rep-pdp-specifications__row :where(dt,dd) { padding-block: .7rem; }
.rep-pdp-documents__list li { background: var(--rep-color-surface-subtle); }

.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout form.checkout,
.woocommerce-order-pay form#order_review { gap: 1.5rem; }
.woocommerce-cart table.shop_table th,
.woocommerce-cart .cart_totals h2 { background: #eef3f8; }
.woocommerce-cart td.product-name > a { line-height: 1.35; }
.woocommerce-cart .cart-collaterals .cart_totals {
  border-top: .25rem solid var(--rep-color-heading);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 3.2rem; }
.woocommerce-checkout :where(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) {
  box-shadow: 0 2px 8px rgba(16,35,63,.05);
}
.woocommerce-checkout #order_review {
  border-top: .25rem solid var(--rep-color-heading);
}
.woocommerce-checkout #payment #place_order,
.woocommerce-order-pay #payment #place_order { font-size: 1rem; min-height: 3.25rem; }
.woocommerce-order-pay form#order_review > #payment { border-top: .25rem solid var(--rep-color-primary); }
.woocommerce-order-received .woocommerce-order > .woocommerce-notice,
.woocommerce-order-received .woocommerce-order > .woocommerce-thankyou-order-received {
  font-size: clamp(1rem,2vw,1.2rem);
}
.woocommerce-order-received ul.woocommerce-order-overview { background: #eef3f8; }
.page-id-361966 form.woocommerce-form-track-order { border-top: .25rem solid var(--rep-color-primary); }
.rep-generic-layout { max-width: 56rem; }
.rep-entry-content { background: #fff; border: var(--rep-border); border-radius: var(--rep-radius-md); padding: clamp(1.25rem,3vw,2.25rem); }
.rep-not-found { border-top: .3rem solid var(--rep-color-primary); }

@media (min-width: 80rem) {
  .rep-shop-layout .rep-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-products .rep-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 64rem) {
  .rep-site-header__inner { min-height: 4rem; }
  .rep-header-track span { display: none; }
  .rep-home-hero__visual { max-width: 32rem; }
  .rep-home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-category-card__media { aspect-ratio: 16 / 9; }
  .rep-home-value__grid { gap: 1rem; }
}
@media (max-width: 48rem) {
  .rep-site-main { padding-block: 1.5rem; }
  .rep-header-track { display: none; }
  .rep-home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-value__grid > div { border-bottom: 1px solid rgba(255,255,255,.16); border-left: 0; padding: 0 0 1rem; }
  .rep-home-value__grid > div:last-child { border-bottom: 0; padding-bottom: 0; }
  .rep-product-card__title { min-height: 0; }
  .rep-single-product .summary form.cart { padding: .65rem; }
  .woocommerce-cart table.shop_table_responsive tbody tr { background: #fff; }
}
@media (max-width: 36rem) {
  :root { --rep-page-gutter: .875rem; }
  .rep-site-header__inner { gap: .6rem; }
  .rep-site-brand__name { max-width: 10rem; }
  .rep-product-search input[type='search'] { min-height: 2.75rem; }
  .rep-home-hero__content h1 { font-size: clamp(2rem,10vw,2.65rem); }
  .rep-home-hero__visual { aspect-ratio: 16 / 9; }
  .rep-home-category-grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-category-card { padding: .65rem; }
  .rep-home-category-card__name { font-size: .9rem; }
  .rep-home-category-card__count { font-size: .75rem; }
  .rep-shop-filters__disclosure > summary { font-size: 1rem; padding: .8rem; }
  .rep-product-archive__toolbar { padding: .75rem; }
  .rep-single-product div.product .summary { padding: 1rem; }
  .rep-single-product .summary form.cart .quantity,
  .rep-single-product .summary form.cart .qty,
  .rep-single-product .summary form.cart .single_add_to_cart_button { width: 100%; }
  .rep-single-product .summary form.cart .single_add_to_cart_button { flex-basis: 100%; }
  .rep-single-product .woocommerce-tabs ul.tabs { gap: 1rem; }
  .rep-entry-content { padding: 1rem; }
}

/* 22. Approved HomePage Template 1 composition */
:root { --rep-container-wide: 1600px; }
.rep-home-popular {
  background: #fff;
  border-bottom: var(--rep-border);
  font-size: .8125rem;
}
.rep-home-popular .rep-container {
  align-items: center;
  display: flex;
  gap: .9rem;
  min-height: 2.45rem;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}
.rep-home-popular strong { color: var(--rep-color-heading); flex: 0 0 auto; }
.rep-home-popular__links {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: .9rem;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.rep-home-popular__links::-webkit-scrollbar { display: none; }
.rep-home-popular a { color: var(--rep-color-text-muted); text-decoration: none; }
.rep-home-popular a:hover { color: var(--rep-color-primary); text-decoration: underline; }
.rep-home-hero {
  background: #eef3f8;
  border-bottom: var(--rep-border);
  padding-block: clamp(1.5rem,3vw,2.5rem);
}
.rep-home-hero__layout {
  gap: clamp(1.5rem,3vw,3rem);
  grid-template-columns: minmax(0,1fr) minmax(25rem,.82fr);
}
.rep-home-hero__content { max-width: 47rem; }
.rep-home-hero__content h1 {
  font-size: clamp(2.35rem,4vw,3.75rem);
  line-height: 1.02;
  max-width: 13ch;
}
.rep-home-hero__content > p:not(.rep-eyebrow):not(.rep-home-hero__kicker) {
  font-size: 1.0625rem;
  margin-block: 1rem 1.25rem;
  max-width: 42rem;
}
.rep-home-hero__visual {
  align-content: end;
  aspect-ratio: 16 / 9;
  background: linear-gradient(145deg,#dfe7ef,#fff);
  border: var(--rep-border);
  border-radius: var(--rep-radius-md);
  box-shadow: var(--rep-shadow-md);
  color: var(--rep-color-heading);
  display: grid;
  min-height: 19rem;
  overflow: hidden;
  padding: 1.25rem;
  position: relative;
}
.rep-home-hero__visual::before {
  background: linear-gradient(180deg,rgba(255,255,255,0),rgba(16,35,63,.08));
  content: '';
  inset: 0;
  position: absolute;
}
.rep-home-hero__equipment {
  align-items: end;
  display: grid;
  gap: .75rem;
  grid-template-columns: 1.2fr .9fr 1fr;
  inset: 1.5rem 1.5rem 4.9rem;
  position: absolute;
}
.rep-home-hero__equipment span {
  background: linear-gradient(110deg,#fff,#b9c5d1 52%,#f7f9fb);
  border: 1px solid #9eacbb;
  border-radius: .25rem;
  box-shadow: 0 12px 24px rgba(16,35,63,.12);
  display: block;
  height: 67%;
  position: relative;
}
.rep-home-hero__equipment span:nth-child(2) { height: 88%; }
.rep-home-hero__equipment span:nth-child(3) { height: 76%; }
.rep-home-hero__equipment span::before {
  border-block: 2px solid rgba(16,35,63,.16);
  content: '';
  inset: 22% 8% 42%;
  position: absolute;
}
.rep-home-hero__visual p {
  align-items: center;
  background: rgba(255,255,255,.92);
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  margin: 0;
  padding: .7rem .9rem;
  position: relative;
  z-index: 1;
}
.rep-home-hero__visual p span { color: var(--rep-color-text-muted); font-size: .8125rem; }
.rep-home-section { padding-block: clamp(1.75rem,3vw,2.5rem); }
.rep-home-section__header { margin-bottom: 1rem; }
.rep-home-section__header h2 { font-size: clamp(1.45rem,2.2vw,1.85rem); }
.rep-home-category-grid { gap: .8rem; grid-template-columns: repeat(6,minmax(0,1fr)); }
.rep-home-category-card { gap: .45rem; padding: .65rem; }
.rep-home-category-card__media { aspect-ratio: 16 / 9; font-size: 2rem; }
.rep-home-category-card__name { font-size: .875rem; color: rgb(10 25 47 / var(--tw-text-opacity, 1)); }
.rep-home-category-card__count { font-size: .75rem; }
.rep-home-value { background: #0a192f; padding-block: 1.15rem; }
.rep-home-value__grid { gap: 0; grid-template-columns: repeat(6,minmax(0,1fr)); }
.rep-home-value__grid > div {
  border-left: 1px solid rgba(255,255,255,.18);
  gap: .2rem;
  padding: .15rem 1rem;
}
.rep-home-value__grid > div:first-child { border-left: 0; }
.rep-home-value__grid strong { font-size: .875rem; }
.rep-home-value__grid span { font-size: .75rem; line-height: 1.4; }
.rep-home-products { background: #fff; }
.rep-home-products .rep-product-grid { gap: .8rem; grid-template-columns: repeat(6,minmax(0,1fr)); }
.rep-home-products .rep-product-card__media { aspect-ratio: 4 / 3; padding: .65rem; }
.rep-home-products .rep-product-card__content { padding: .75rem; }
.rep-home-products .rep-product-card__title { font-size: .875rem; }
.rep-home-business { background: var(--rep-color-surface-subtle); }
.rep-home-business__grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(9,minmax(0,1fr));
}
.rep-home-business__item {
  border: 0;
  margin: 0;
  text-align: center;
}
.rep-home-business__item img {
  aspect-ratio: 2.4 / 1;
  border: 0;
  border-radius: .5rem;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.rep-home-business__item figcaption { color: #0a192f; font-size: .875rem; font-weight: 700; line-height: 1.25; padding-top: .45rem; }
.rep-home-content-note { color: var(--rep-color-text-muted); font-size: .75rem; margin: .75rem 0 0; }
.rep-home-brands__grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(8,minmax(0,1fr));
}
.rep-home-brands__grid a,
.rep-home-brands__empty {
  align-items: center;
  background: #fff;
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  color: var(--rep-color-heading);
  display: flex;
  font-weight: 700;
  justify-content: center;
  min-height: 4.5rem;
  padding: .75rem;
  text-align: center;
  text-decoration: none;
}
.rep-home-brands__grid a:hover { border-color: var(--rep-color-primary); color: var(--rep-color-primary); }
.rep-home-brands__empty { align-items: flex-start; flex-direction: column; max-width: 32rem; text-align: left; }
.rep-home-brands__empty span { color: var(--rep-color-text-muted); font-size: .8125rem; font-weight: 400; }
.rep-home-trust { background: #fff; }
.rep-home-trust__grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.rep-home-trust__grid article {
  background: #fff;
  border: var(--rep-border);
  border-radius: 0;
  min-height: 10.25rem;
  overflow: hidden;
  padding: clamp(1rem,2vw,1.5rem);
  position: relative;
}
.rep-home-trust__grid h3 { font-size: 1.125rem; margin-bottom: .35rem; }
.rep-home-trust__grid p:not(.rep-eyebrow) { color: #526a89; font-size: .75rem; }
.rep-home-trust__grid .rep-eyebrow { color: #526a89; margin-bottom: .55rem; }
.rep-home-trust__dark { background: #0a192f !important; color: #fff; }
.rep-home-trust__dark :where(h3,.rep-eyebrow) { color: #fff; }
.rep-home-trust__dark p:not(.rep-eyebrow) { color: #c8d2df; }
.rep-home-trust__score { align-items: center; display: flex; gap: .65rem; line-height: 1; margin-bottom: .65rem; }
.rep-home-trust__score strong { color: #0a192f; font-size: 1.9rem; }
.rep-home-trust__score span { color: #f5bd00; font-size: 1.25rem; letter-spacing: .05rem; }
.rep-home-trust__sources { color: #8190a5; display: flex; font-size: .6875rem; font-weight: 700; gap: 1.25rem; margin-top: .65rem; }
.rep-home-trust__sources a { color: #075ff7; text-decoration: none; }
.rep-home-trust__sources a:hover { text-decoration: underline; }
.rep-home-trust__button,
.rep-home-trust__button:visited,
.rep-home-trust__button:hover { background: #075ff7; border-color: #075ff7; color: #fff; font-size: .6875rem; margin-top: .85rem; min-height: 2.25rem; padding: .55rem 1.25rem; text-decoration: none; text-transform: uppercase; }
.rep-home-trust__dark { isolation: isolate; padding: 1.25rem !important; }
.rep-home-trust__project-image { bottom: -.65rem; height: calc(100% + 1rem); object-fit: contain; object-position: right bottom; position: absolute; right: -.85rem; width: 64%; z-index: -2; }
.rep-home-trust__dark::after { background: linear-gradient(90deg,#0a192f 0%,#0a192f 49%,rgba(10,25,47,.88) 64%,rgba(10,25,47,.08) 100%); content: ''; inset: 0; position: absolute; z-index: -1; }
.rep-home-trust__project-copy { max-width: 55%; position: relative; z-index: 1; }
.rep-home-trust__grid .rep-home-trust__dark .rep-home-trust__project-copy h3 { color: #fff; font-size: 1rem; line-height: 1.25; max-width: 15rem; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.rep-home-trust__project-copy p:not(.rep-eyebrow) { color: #fff; font-size: .625rem; line-height: 1.35; max-width: 14rem; }
.rep-home-trust__project-arrow { align-items: center; background: #fff; border-radius: 50%; bottom: .65rem; color: #0a192f; display: flex; height: 1.75rem; justify-content: center; position: absolute; right: .65rem; width: 1.75rem; z-index: 2; }
.rep-home-trust__project-arrow .rep-icon { height: .85rem; width: .85rem; }
.rep-home-trust__quote { background: #eaf2fd !important; border-color: #d7e5f7 !important; }
.rep-home-trust__quote-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem; }
.rep-home-trust__phone { align-items: center; color: #0a192f; display: inline-flex; font-size: .75rem; font-weight: 700; gap: .35rem; margin-top: .85rem; }
.rep-home-trust__phone .rep-icon { color: #075ff7; height: 1rem; width: 1rem; }
.rep-home-final { background: #eaf2fd; padding-block: 2rem; }
.rep-home-final__inner { border: 0; box-shadow: none; padding: 1.5rem; }
.rep-home-final__inner p:not(.rep-eyebrow) { color: var(--rep-color-text-muted); margin: .5rem 0 0; }
.rep-home-final-trust { background: #fff; border-block: 0; padding-block: 1rem; }
.rep-home-final-trust .rep-container {
  background: #f5f6f8;
  border-radius: .45rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5,minmax(0,1fr));
  padding: 1rem 1.25rem;
}
.rep-home-final-trust__item { align-items: flex-start; display: flex; gap: .85rem; min-width: 0; }
.rep-home-final-trust__item > div { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.rep-home-final-trust__item img { flex: 0 0 auto; height: 2rem; object-fit: contain; width: 2rem; }
.rep-home-final-trust__item strong { color: #0a192f; display: block; font-size: .75rem; line-height: 1.25; white-space: nowrap; }
.rep-home-final-trust__item span { color: #526a89; display: block; font-size: .7rem; font-weight: 400; line-height: 1.35; margin: 0; padding: 0; text-align: left; }

@media (max-width: 64rem) {
  .rep-home-hero__layout { grid-template-columns: minmax(0,1fr); }
  .rep-home-hero__content { max-width: 44rem; }
  .rep-home-hero__visual { max-width: none; }
  .rep-home-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-value__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-value__grid > div:nth-child(4) { border-left: 0; }
  .rep-home-value__grid > div:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.18); padding-top: .75rem; }
  .rep-home-products .rep-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-business__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-brands__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .rep-home-trust__grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-trust__grid article { min-height: 0; }
  .rep-home-final-trust .rep-container { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-final-trust .rep-container { gap: 1.25rem; }
}
@media (max-width: 36rem) {
  .rep-home-popular .rep-container { gap: .7rem; }
  .rep-home-hero__visual { min-height: 14rem; padding: .75rem; }
  .rep-home-hero__equipment { inset: 1rem 1rem 4.75rem; }
  .rep-home-hero__visual p { align-items: flex-start; flex-direction: column; gap: .15rem; }
  .rep-home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-value__grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-value__grid > div {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.18);
    padding: .65rem 0;
  }
  .rep-home-value__grid > div:first-child { border-top: 0; }
  .rep-home-products .rep-product-grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-business__grid,.rep-home-brands__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-final-trust .rep-container { grid-template-columns: minmax(0,1fr); }
  .rep-home-final-trust__item { border-top: var(--rep-border); padding-top: .75rem; }
  .rep-home-final-trust__item:first-child { border-top: 0; padding-top: 0; }
}

/* 23. Approved commercial masthead and photographic Home hero */
.rep-site-main.rep-home { padding-block: 0; }
.rep-header-utility { background: #071a33; }
.rep-header-utility__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 2rem;
}
.rep-header-assurances { align-items: center; display: flex; gap: 1.4rem; }
.rep-header-assurances span { align-items: center; display: inline-flex; gap: .4rem; }
.rep-header-assurances .rep-icon { color: #c6d2e2; height: .875rem; width: .875rem; }
.rep-header-utility__meta { align-items: center; display: flex; margin-left: auto; }
body:not(.rep-portal-page) .rep-header-utility a.rep-header-phone,
body:not(.rep-portal-page) .rep-header-utility a.rep-header-phone:visited { align-items: center; color: #e6edf7; display: inline-flex; gap: .4rem; text-decoration: none; }
body:not(.rep-portal-page) .rep-header-utility a.rep-header-phone:hover { color: #fff; }
.rep-header-phone .rep-icon { color: #0d6efd; height: .875rem; width: .875rem; }
.rep-site-header__inner {
  gap: 0;
  grid-template-columns: 20.5rem 9.1rem minmax(18rem,1fr) auto;
  height: 5.5rem;
  min-height: 5.5rem;
}
.rep-header-brand { gap: .55rem; width: max-content; }
.rep-header-brand__mark {
  align-items: center;
  background: #075ff7;
  border-radius: .55rem;
  color: #fff;
  display: inline-flex;
  height: 2.55rem;
  justify-content: center;
  width: 2.55rem;
}
.rep-header-brand__mark .rep-icon { height: 1.35rem; width: 1.35rem; }
.rep-header-brand__copy { display: grid; line-height: 1.05; }
.rep-header-brand__copy strong { color: #071a33; font-size: 1rem; letter-spacing: -.02em; }
.rep-header-brand__copy small { color: #075ff7; font-size: .45rem; font-weight: 800; letter-spacing: .08em; margin-top: .23rem; text-transform: uppercase; }
.rep-header-catalog { align-self: center; }
.rep-header-catalog .rep-category-menu { position: relative; }
.rep-header-catalog .rep-category-menu summary {
  background: #f7f9fc;
  border: 1px solid #c7d1df;
  border-radius: var(--rep-radius-sm) 0 0 var(--rep-radius-sm);
  color: var(--rep-color-heading);
  min-height: 2.75rem;
  font-size: .875rem;
  gap: .5rem;
  height: 2.75rem;
  padding: 0 .8rem;
  white-space: nowrap;
}
.rep-header-catalog .rep-category-menu summary::-webkit-details-marker { display: none; }
.rep-header-catalog .rep-category-menu summary::after { border-bottom: 1px solid currentColor; border-right: 1px solid currentColor; content: ''; height: .35rem; margin: -.2rem 0 0 auto; transform: rotate(45deg); width: .35rem; }
.rep-header-catalog .rep-category-menu[open] summary { border-color: var(--rep-color-primary); }
.rep-header-catalog .rep-category-menu ul {
  background: #fff;
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  box-shadow: var(--rep-shadow-lg);
  color: var(--rep-color-text);
  left: 0;
  margin: .35rem 0 0;
  min-width: 18rem;
  padding: .55rem;
  position: absolute;
  top: 100%;
  z-index: 30;
}
.rep-header-catalog .rep-category-menu li { list-style: none; }
.rep-header-catalog .rep-category-menu a { border-radius: .25rem; color: var(--rep-color-text); display: block; padding: .55rem .65rem; text-decoration: none; }
.rep-header-catalog .rep-category-menu a:hover { background: var(--rep-color-surface-subtle); color: var(--rep-color-primary); }
.rep-header-search .rep-product-search input[type='search'] { border-left: 0; border-radius: 0; }
.rep-header-search .rep-product-search { max-width: none; }
.rep-header-search .rep-product-search input[type='search'],
.rep-header-search .rep-product-search button { height: 2.75rem; min-height: 2.75rem; }
.rep-header-search .rep-product-search input[type='search']::placeholder { font-size: .875rem; }
.rep-header-search .rep-product-search button { min-width: 3.5rem; padding-inline: .9rem; }
.rep-header-actions { gap: .15rem; margin-left: .75rem; }
.rep-header-control {
  flex-direction: column;
  font-size: .75rem;
  gap: .15rem;
  justify-content: center;
  line-height: 1.1;
  min-width: 4.25rem;
  padding: .35rem .45rem;
}
.rep-header-control .rep-icon { height: 1.3rem; width: 1.3rem; }
body:not(.rep-portal-page) .rep-site-header a.rep-header-control,
body:not(.rep-portal-page) .rep-site-header a.rep-header-control:visited { color: #35445a; }
body:not(.rep-portal-page) .rep-site-header a.rep-header-control:hover { color: #075ff7; }
.rep-header-cart__count { position: absolute; right: .18rem; top: .15rem; }
.rep-header-cart.is-cart-updated .rep-icon { animation: rep-cart-added-pulse .45s ease; color: #075ff7; }
.rep-header-cart.is-cart-updated .rep-header-cart__count { background: #12a348; transform: scale(1.08); }
.rep-cart-added-toast { align-items: center; background: #fff; border: 1px solid #cfe0f3; border-radius: 6px; box-shadow: 0 10px 28px rgba(10,25,47,.18); color: #0a192f; display: flex; font-size: .78rem; gap: .55rem; max-width: calc(100vw - 24px); opacity: 0; padding: .7rem .9rem; pointer-events: none; position: fixed; transform: translateY(-6px); transition: opacity .18s ease,transform .18s ease; white-space: nowrap; z-index: 1000; }
.rep-cart-added-toast > span { align-items: center; background: #12a348; border-radius: 50%; color: #fff; display: inline-flex; font-size: .7rem; height: 20px; justify-content: center; width: 20px; }
.rep-cart-added-toast.is-visible { opacity: 1; transform: translateY(0); }
@keyframes rep-cart-added-pulse { 50% { transform: scale(1.22); } }
@media (prefers-reduced-motion: reduce) { .rep-header-cart.is-cart-updated .rep-icon { animation: none; } .rep-cart-added-toast { transition: none; } }
.rep-site-header .rep-menu-toggle { display: none; }
.rep-header-panel { display: none; }
.rep-home-popular .rep-container { min-height: 1.9rem; }
.rep-home-hero {
  background: #f4f4f3;
  overflow: hidden;
  padding-block: 0;
}
.rep-home-hero__layout {
  align-items: center;
  background: #f4f4f3;
  border-radius: 0;
  display: flex;
  min-height: 20rem;
  margin-inline: auto;
  max-width: var(--rep-container-wide);
  overflow: visible;
  padding-block: clamp(1.5rem,3vw,2.5rem);
  position: relative;
  width: min(100%,var(--rep-container-wide));
}
.rep-home-hero__layout::after {
  background: none;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.rep-home-hero__content { max-width: 35rem; position: relative; width: 48%; z-index: 2; }
.rep-home-hero__content h1 {
  color: #071f40;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
  max-width: none;
}
.rep-home-hero__content h1 span { color: #075ff7; }
.rep-home-hero__content .rep-home-hero__title {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}
.rep-home-hero__content .rep-home-hero__description {
  color: #354d6b;
  font-size: .875rem;
  line-height: 1.45;
  margin-block: .75rem 1.25rem;
  max-width: 35rem;
}
.rep-home-hero__kicker {
  align-items: center;
  background: #dbeafe;
  border-radius: var(--rep-radius-pill);
  color: #075ff7;
  display: inline-flex;
  font-size: .6875rem !important;
  font-weight: 800;
  gap: .35rem;
  margin: 0 0 .7rem !important;
  padding: .35rem .65rem;
}
.rep-home-hero__content .rep-home-hero__kicker { background: #dbeafe; color: #075ff7; }
.rep-home-hero__content .rep-home-hero__kicker .rep-icon { color: #075ff7; stroke: #075ff7; }
.rep-home-hero__kicker svg { height: .75rem; width: .75rem; }
.rep-header-brand__image {
  display: block;
  height: auto;
  max-height: 4.4375rem;
  max-width: min(18.125rem, 100%);
  object-fit: contain;
  width: auto;
}
.rep-home-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.rep-home-hero__actions .rep-button {
  font-size: .8125rem;
  min-height: 2.85rem;
  padding-inline: 1.45rem;
  text-transform: uppercase;
}
.rep-home-hero__actions .rep-button svg { height: 1rem; width: 1rem; }
.rep-home-hero__actions .rep-button--primary,
.rep-home-hero__actions .rep-button--primary:visited,
.rep-home-hero__actions .rep-button--primary:hover {
  background: rgb(29 78 216 / 1);
  border-color: rgb(29 78 216 / 1);
  color: #fff;
}
.rep-home-hero__actions .rep-button--primary svg { color: #fff; stroke: #fff; }
.rep-home-hero__actions .rep-button--secondary,
.rep-home-hero__actions .rep-button--secondary:visited,
.rep-home-hero__actions .rep-button--secondary:hover {
  background: #fff;
  border: 2px solid #000;
  box-shadow: none;
  color: #000;
}
.rep-home-hero__meta {
  align-items: center;
  color: #536b89;
  display: flex;
  font-size: .8125rem;
  gap: .45rem;
  margin-top: 1.35rem;
}
.rep-home-hero__meta span { align-items: center; display: inline-flex; gap: .45rem; line-height: 1; }
.rep-home-hero__meta svg { color: #f7bd00; fill: #f7bd00; height: .9rem; stroke: #f7bd00; width: .9rem; }
.rep-home-hero__visual {
  aspect-ratio: auto;
  background: transparent;
  border: 0;
  border-radius: .75rem;
  box-shadow: none;
  display: flex;
  height: 100%;
  bottom: 0;
  left: 0;
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: calc((100vw - 100%) / -2);
  top: 0;
  width: auto;
  z-index: 0;
}
.rep-home-hero__visual::before { display: none; }
.rep-home-hero__visual img {
  display: block;
  flex: 1 1 auto;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: left center;
  width: 100%;
}

/* The homepage hero is a full-bleed banner, not a rounded card. */
.rep-home-hero,
.rep-home-hero__layout,
.rep-home-hero__visual,
.rep-home-hero__visual img {
  border-radius: 0 !important;
}

.rep-header-catalog,
.rep-header-catalog .rep-category-menu,
.rep-header-catalog .rep-category-menu summary,
.rep-header-search,
.rep-header-search .rep-product-search,
.rep-header-search .rep-product-search input[type='search'],
.rep-header-search .rep-product-search button { box-sizing: border-box; height: 2.75rem; min-height: 2.75rem; }
.rep-header-catalog .rep-category-menu summary { color: #071f40; }
.rep-header-catalog .rep-category-menu summary > .rep-icon { color: #075ff7; height: 1rem; stroke-width: 2.25; width: 1rem; }
.rep-header-control .rep-icon { stroke-width: 1.8; }

@media (min-width: 64rem) {
  .rep-home-hero__content .rep-home-hero__title { font-size: 2rem; }
}

@media (max-width: 75rem) {
  .rep-site-header__inner { grid-template-columns: minmax(10rem,auto) 8.75rem minmax(14rem,1fr) auto; }
  .rep-header-quote span,.rep-header-track span { display: none; }
  .rep-header-control { min-width: 2.75rem; }
}
@media (max-width: 64rem) {
  .rep-header-assurances span:nth-child(3) { display: none; }
  .rep-site-header__inner { gap: .5rem; grid-template-columns: minmax(10rem,auto) minmax(12rem,1fr) auto; height: auto; padding-block: .65rem; }
  .rep-header-catalog { grid-column: 1; grid-row: 2; }
  .rep-header-search { grid-column: 2 / -1; grid-row: 2; }
  .rep-header-actions { margin-left: auto; }
  .rep-site-header .rep-menu-toggle { display: inline-flex; }
  .rep-header-panel[data-open='true'] { display: block; }
  .rep-home-hero__layout { min-height: 18rem; }
  .rep-home-hero__content { width: 56%; }
  .rep-home-hero__visual { height: 100%; max-width: none; min-height: 0; }
}
@media (max-width: 48rem) {
  .rep-header-assurances { gap: .75rem; }
  .rep-header-assurances span:nth-child(2) { display: none; }
  .rep-header-phone span { display: none; }
  .rep-site-header__inner { grid-template-columns: minmax(0,1fr) auto; }
  .rep-header-catalog { grid-column: 1; grid-row: 3; }
  .rep-header-search { grid-column: 1 / -1; grid-row: 2; }
  .rep-header-catalog .rep-category-menu summary { border-radius: var(--rep-radius-sm); }
  .rep-header-quote,.rep-header-track { display: none; }
  .rep-home-hero { padding-block: 0; }
  .rep-home-hero__layout { min-height: 24rem; }
  .rep-home-hero__layout::after { background: linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 58%,rgba(255,255,255,.45) 100%); }
  .rep-home-hero__content { max-width: 31rem; width: 82%; }
  .rep-home-hero__visual { height: 100%; min-height: 0; }
  .rep-home-hero__visual img { object-position: 62% center; }
}
@media (max-width: 36rem) {
  .rep-header-utility__inner { min-height: 1.75rem; }
  .rep-header-assurances span { font-size: .6875rem; }
  .rep-home-hero__actions { align-items: stretch; flex-direction: column; }
  .rep-home-hero__actions .rep-button { width: 100%; }
  .rep-home-hero__meta { align-items: flex-start; flex-direction: column; gap: .4rem; }
}

/* Home value proposition panel. */
.rep-home-value {
  background: #fff;
  color: #0a192f;
  padding-block: 1.5rem;
}
.rep-home-value h2 {
  color: #0a192f;
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
  font-size: 1.125rem;
  margin: 0 0 .75rem;
}
.rep-home-value__grid {
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: .5rem;
  box-shadow: 0 2px 8px rgba(10,25,47,.06);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(6,minmax(0,1fr));
  padding: .75rem 0;
}
.rep-home-value__grid > div {
  align-items: center;
  border-left: 1px solid #d9e0e9;
  display: grid;
  gap: .7rem;
  grid-template-columns: 4.75rem minmax(0,1fr);
  padding: .35rem 1rem;
}
.rep-home-value__grid > div:first-child { border-left: 0; }
.rep-home-value__icon {
  align-items: center;
  color: #075ff7;
  display: inline-flex;
  justify-content: center;
}
.rep-home-value__icon .rep-icon { height: 1.75rem; stroke-width: 1.6; width: 1.75rem; }
.rep-home-value__icon img { display: block; height: 4.5rem; width: 4.5rem; }
.rep-home-value__copy { display: grid; gap: .15rem; min-width: 0; }
.rep-home-value__copy strong { color: #0a192f; font-size: .75rem; line-height: 1.25; }
.rep-home-value__copy > span { color: #354d6b; font-size: 0.75rem; line-height: 1.35; }

@media (max-width: 64rem) {
  .rep-home-value__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rep-home-value__grid > div { border-top: 1px solid #d9e0e9; }
  .rep-home-value__grid > div:nth-child(-n+3) { border-top: 0; }
  .rep-home-value__grid > div:nth-child(4) { border-left: 0; }
}
@media (max-width: 48rem) {
  .rep-home-value__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rep-home-value__grid > div:nth-child(n) { border-left: 1px solid #d9e0e9; border-top: 1px solid #d9e0e9; }
  .rep-home-value__grid > div:nth-child(odd) { border-left: 0; }
  .rep-home-value__grid > div:nth-child(-n+2) { border-top: 0; }
}
@media (max-width: 30rem) {
  .rep-home-value__grid { grid-template-columns: minmax(0,1fr); }
  .rep-home-value__grid > div:nth-child(n) { border-left: 0; border-top: 1px solid #d9e0e9; }
  .rep-home-value__grid > div:first-child { border-top: 0; }
}

/* Reusable compact Product Card: Home, Shop, Category, Search and related products. */
.rep-product-card {
  border-color: #dce3ec;
  border-radius: .5rem;
  box-shadow: none;
}
.rep-product-card:hover { border-color: #b9c8dc; box-shadow: 0 6px 18px rgba(10,25,47,.09); }
.rep-product-card__media {
  aspect-ratio: 16 / 9;
  background: #fff;
  border-bottom: 0;
  padding: .65rem;
}
.rep-home-products .rep-product-card__media { aspect-ratio: 16 / 9; padding: .65rem; }
.rep-home-products .rep-product-card__content { gap: .35rem; padding: .65rem .75rem .75rem; }
.rep-home-products .rep-product-card__title { font-size: .8125rem; }
.rep-product-card__badges { display: flex; flex-wrap: wrap; gap: .25rem; left: .5rem; max-width: calc(100% - 3rem); top: .5rem; }
.rep-product-card__badge {
  border-radius: .15rem;
  box-shadow: none;
  font-size: .5625rem;
  padding: .22rem .38rem;
}
.rep-product-card__badge--shipping { background: #dcfce7; color: #087a3d; text-transform: uppercase; }
.rep-product-card__badge--new { background: #dbeafe; color: #075ff7; text-transform: uppercase; }
.rep-product-card__badge--sale { background: #dc2626; color: #fff; text-transform: uppercase; }
.rep-product-card__wishlist { align-items: center; background: #fff; border: 0; border-radius: 50%; color: #aab5c4; cursor: pointer; display: flex; height: 1.75rem; justify-content: center; opacity: 1; padding: .35rem; pointer-events: auto; position: absolute; right: .45rem; top: .4rem; width: 1.75rem; z-index: 5; }
.rep-product-card__wishlist svg { fill: none; height: 1.15rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 1.15rem; }
.rep-product-card__content { gap: .35rem; padding: .65rem .75rem .75rem; }
.rep-product-card__rating { align-items: center; color: #718198; display: flex; font-size: .625rem; gap: .3rem; min-height: .875rem; }
.rep-product-card__rating .star-rating { color: #f5bd00; flex: 0 0 auto; float: none; font-size: 14px; line-height: 1; height: 1em; margin: 0; width: 5.4em; }
.rep-product-card a.rep-product-card__rating { align-items: center; color: #8491a4; display: flex; gap: 6px; min-height: 16px; line-height: 16px; text-decoration: none; }
.rep-product-card__rating-summary { font-size: 11px; font-weight: 600; line-height: 14px; white-space: nowrap; }
.rep-product-card__rating:hover .rep-product-card__rating-summary { color: #075ff7; text-decoration: underline; }
.rep-product-card__rating:focus-visible { outline: 2px solid #075ff7; outline-offset: 3px; }
.rep-product-card__rating--placeholder { color: #f5bd00; }
.rep-product-card__placeholder-stars { font-size: .75rem; letter-spacing: -.05rem; line-height: 1; }
.rep-product-card__title {
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.25;
  min-height: 3.75em;
  -webkit-line-clamp: 3;
}
.rep-product-card__title a { color: #0a192f; }
.rep-product-card__title a:hover { color: #075ff7; }
.rep-product-card__sku { color: #718198; font-size: .625rem; order: initial; }
.rep-product-card__price { color: #0a192f; font-size: 1rem; font-weight: 800; margin-top: .2rem; min-height: 1.4rem; }
.rep-product-card__price del { font-size: .6875rem; }
.rep-product-card__availability { font-size: .6875rem; gap: .35rem; }
.rep-product-card__availability::before { height: .4rem; width: .4rem; }
.rep-product-card__actions { padding-top: .35rem; }
.rep-product-card__action,
.rep-product-card__action:visited,
.rep-product-card__action:hover {
  background: #075ff7;
  border-color: #075ff7;
  color: #fff;
  font-size: .75rem;
  min-height: 2rem;
  padding: .4rem .65rem;
}
body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action,
body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action:visited,
body:not(.rep-portal-page) .rep-product-card a.rep-product-card__action:hover {
  background: #075ff7;
  border-color: #075ff7;
  color: #fff;
}

/* Approved Product Page composition: native Woo data in a three-zone PDP. */
.rep-single-product .rep-site-main { padding-top: 1rem; }
.rep-single-product .woocommerce-product-gallery { opacity: 1 !important; position: relative; }
.rep-single-product div.product {
  align-items: start;
  gap: 1.25rem;
  grid-template-columns: minmax(25rem,.9fr) minmax(34rem,1.1fr);
}
.rep-single-product div.product .woocommerce-product-gallery {
  float: none !important;
  padding-left: 5.25rem;
  width: 100% !important;
}
.rep-single-product .woocommerce-product-gallery__image {
  background: #fff;
  border: 0;
  border-radius: .35rem;
  box-shadow: none;
  min-height: 31rem;
  padding: 1.5rem;
}
.rep-single-product .woocommerce-product-gallery__image img { max-height: 29rem; }
.rep-single-product .flex-control-thumbs {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  left: 0;
  margin: 0 !important;
  position: absolute;
  top: 0;
  width: 4.25rem;
}
.rep-single-product .flex-control-thumbs li {
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: .25rem;
  padding: .2rem;
  width: 100% !important;
}
.rep-single-product .flex-control-thumbs li:has(img.flex-active) { border: 2px solid #075ff7; }
.rep-single-product div.product .summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: .7rem 1.25rem;
  grid-template-columns: minmax(0,1fr) minmax(13rem,.82fr);
  padding: 0;
  position: relative;
}
.rep-single-product .summary::after {
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: .35rem;
  content: '';
  grid-column: 2;
  grid-row: 1 / 8;
  inset: 0;
  position: relative;
  z-index: 0;
}
.rep-single-product .summary > * { min-width: 0; position: relative; z-index: 1; }
.rep-single-product .summary > .rep-pdp__identity { grid-column: 1; grid-row: 1; }
.rep-single-product .summary > .product_title { grid-column: 1; grid-row: 2; }
.rep-single-product .summary > .woocommerce-product-rating { grid-column: 1; grid-row: 3; }
.rep-single-product .summary > .woocommerce-product-details__short-description { grid-column: 1; grid-row: 4 / 8; }
.rep-single-product .summary > .price { grid-column: 2; grid-row: 1; }
.rep-single-product .summary > .stock { grid-column: 2; grid-row: 2; }
.rep-single-product .summary > form.cart { grid-column: 2; grid-row: 3; }
.rep-single-product .summary > .rep-pdp__purchase-support { grid-column: 2; grid-row: 4 / 8; }
.rep-single-product .summary .product_title {
  color: #0a192f;
  font-size: 1.35rem;
  line-height: 1.18;
  margin: 0;
}
.rep-pdp__identity { gap: .35rem; margin: 0; }
.rep-pdp__sku { font-size: .6875rem; font-weight: 700; }
.rep-single-product .summary .price {
  align-self: end;
  border: 0;
  color: #0a192f;
  font-size: 1.8rem;
  margin: 0;
  padding: 1.25rem 1rem 0;
}
.rep-single-product .summary .stock { margin: 0; padding: 0 1rem; }
.rep-single-product .woocommerce-product-details__short-description {
  color: #526a89;
  font-size: 0.75rem;
  line-height: 1.65;
  margin: .25rem 0 0;
}
.rep-single-product .summary form.cart {
  background: transparent;
  display: grid;
  gap: .65rem;
  grid-template-columns: minmax(0,1fr);
  margin: .45rem 0 0;
  padding: 0 1rem;
}
.rep-single-product .summary form.cart .quantity,
.rep-single-product .summary form.cart .qty { width: 100%; }
.rep-single-product .summary form.cart .qty { border-color: #dce3ec; min-height: 2.75rem; }
.rep-single-product .summary form.cart .single_add_to_cart_button,
.rep-single-product .summary form.cart .single_add_to_cart_button:hover {
  background: #075ff7;
  border-color: #075ff7;
  color: #fff;
  font-size: .75rem;
  min-height: 2.75rem;
  width: 100%;
}
.rep-pdp__purchase-support { align-self: start; padding: 0 1rem 1rem; }
.rep-pdp__purchase-support ul { border-top: 1px solid #e4e9f0; list-style: none; margin: .9rem 0 0; padding: .7rem 0 0; }
.rep-pdp__purchase-support li { align-items: center; color: #526a89; display: flex; font-size: .6875rem; gap: .45rem; margin-top: .45rem; }
.rep-pdp__purchase-support .rep-icon { color: #075ff7; height: .85rem; width: .85rem; }
.rep-single-product .woocommerce-tabs {
  border-top: 1px solid #dce3ec;
  margin-top: .75rem;
  padding-top: 0;
}
.rep-single-product .woocommerce-tabs ul.tabs { margin-bottom: 1.25rem !important; }
.rep-single-product .woocommerce-tabs .panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: none;
  padding: 1rem 0 2rem;
}
.rep-single-product .woocommerce-Tabs-panel > h2:first-child { font-size: 1.15rem; }

@media (max-width: 72rem) {
  .rep-single-product div.product { grid-template-columns: minmax(0,1fr); }
  .rep-single-product div.product .summary { grid-template-columns: minmax(0,1fr) minmax(13rem,.65fr); }
}
@media (max-width: 48rem) {
  .rep-single-product div.product .woocommerce-product-gallery { padding-left: 0; }
  .rep-single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: .65rem !important; position: static; width: auto; }
  .rep-single-product .woocommerce-product-gallery__image { min-height: 22rem; }
  .rep-single-product div.product .summary { display: block; }
  .rep-single-product .summary::after { display: none; }
  .rep-single-product .summary > :where(.price,.stock,form.cart,.rep-pdp__purchase-support) { background: #fff; border-inline: 1px solid #dce3ec; margin: 0; padding-inline: 1rem; }
  .rep-single-product .summary > .price { border-radius: .35rem .35rem 0 0; border-top: 1px solid #dce3ec; margin-top: 1rem; padding-top: 1rem; }
  .rep-single-product .summary > .stock { padding-top: .5rem; }
  .rep-single-product .summary > form.cart { padding-block: .75rem; }
  .rep-single-product .summary > .rep-pdp__purchase-support { border-bottom: 1px solid #dce3ec; border-radius: 0 0 .35rem .35rem; padding-bottom: 1rem; }
}

@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(25rem,1fr) minmax(18rem,.72fr) minmax(15rem,.55fr);
  }
  .rep-single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1 / 8; }
  .rep-single-product div.product .summary { display: contents !important; }
  .rep-single-product .summary::after { display: none; }
  .rep-single-product .summary > .rep-pdp__identity { grid-column: 2 !important; grid-row: 1; }
  .rep-single-product .summary > .product_title { grid-column: 2 !important; grid-row: 2; }
  .rep-single-product .summary > .woocommerce-product-rating { grid-column: 2 !important; grid-row: 3; }
  .rep-single-product .summary > .woocommerce-product-details__short-description { grid-column: 2 !important; grid-row: 4 / 8; }
  .rep-single-product .summary > .price {
    background: #fff;
    border: 1px solid #dce3ec;
    border-bottom: 0;
    border-radius: .35rem .35rem 0 0;
    grid-column: 3 !important;
    grid-row: 1;
  }
  .rep-single-product .summary > .stock {
    background: #fff;
    border-inline: 1px solid #dce3ec;
    grid-column: 3 !important;
    grid-row: 2;
  }
  .rep-single-product .summary > form.cart {
    background: #fff;
    border-inline: 1px solid #dce3ec;
    grid-column: 3 !important;
    grid-row: 3;
    padding-block: .75rem;
  }
  .rep-single-product .summary > .rep-pdp__purchase-support {
    background: #fff;
    border: 1px solid #dce3ec;
    border-radius: 0 0 .35rem .35rem;
    border-top: 0;
    grid-column: 3 !important;
    grid-row: 4 / 8;
  }
}

/* Wrapper-based PDP columns keep product details independent from the buy box. */
.rep-single-product main#main {
  margin-inline: auto;
  max-width: var(--rep-container-wide);
  padding-inline: var(--rep-page-gutter);
  width: 100%;
}
.rep-single-product { background: #fff; }
.rep-single-product div.product .summary {
  display: grid !important;
  float: none !important;
  gap: 1.25rem;
  grid-template-columns: minmax(0,1fr) minmax(21.5rem,.72fr);
  width: 100% !important;
}
.rep-single-product .summary::after { display: none; }
.rep-pdp__details { min-width: 0; }
.rep-pdp__details .rep-pdp__identity { margin-bottom: .55rem; }
.rep-pdp__details .product_title { margin-bottom: .55rem !important; }
.rep-pdp__details .woocommerce-product-rating { margin-bottom: .65rem !important; }
.rep-pdp__details .woocommerce-product-details__short-description { margin-top: .65rem; }
.rep-pdp__summary-facts {
  border: 1px solid #dce3ec;
  border-radius: .3rem;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 1rem 0 0;
}
.rep-pdp__summary-facts > div { min-width: 0; padding: .75rem; }
.rep-pdp__summary-facts > div:nth-child(even) { border-left: 1px solid #dce3ec; }
.rep-pdp__summary-facts > div:nth-child(n+3) { border-top: 1px solid #dce3ec; }
.rep-pdp__summary-facts dt { color: #526a89; font-size: .625rem; font-weight: 800; text-transform: uppercase; }
.rep-pdp__summary-facts dd { color: #0a192f; font-size: .75rem; font-weight: 700; margin: .2rem 0 0; overflow-wrap: anywhere; }
.rep-pdp__buybox {
  align-self: start;
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: .35rem;
  min-width: 0;
  padding: 1rem;
}
.rep-single-product .rep-pdp__buybox .price {
  border: 0;
  color: #0a192f !important;
  font-size: 1.8rem;
  margin: 0 0 .35rem;
  padding: 0;
}
.rep-single-product .rep-pdp__buybox .stock { color: #087a3d !important; margin: 0 0 .65rem; padding: 0; }
.rep-single-product .rep-pdp__buybox form.cart { background: transparent; margin: 0; padding: .75rem 0 0; }
.rep-pdp__quantity-label { color: #0a192f; display: block; font-size: .625rem; font-weight: 800; text-transform: uppercase; }
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support { padding: .75rem 0 0; }

@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(25rem,.82fr) minmax(38rem,1.35fr);
  }
  .rep-single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: auto; }
  .rep-single-product div.product .summary { grid-column: 2; grid-row: auto; }
}
@media (max-width: 48rem) {
  .rep-single-product div.product .summary { display: block !important; }
  .rep-pdp__buybox { margin-top: 1rem; }
}

.rep-single-product .rep-pdp__details .product_title { font-size: 1.880rem; line-height: 1.25; }
.rep-single-product .woocommerce-product-gallery__image { min-height: 26.5rem; padding: 1rem; }
.rep-single-product .woocommerce-product-gallery__image img { max-height: 24.5rem; }
.rep-single-product .woocommerce-tabs ul.tabs li a { font-size: .6875rem; font-weight: 800 !important; text-transform: uppercase; }

/* Product media: compact native Woo gallery with certification artwork. */
.rep-single-product div.product .woocommerce-product-gallery { padding-left: 5.9rem; }
.rep-single-product .woocommerce-product-gallery__image {
  min-height: 27.5rem;
  padding: 2.6rem 2.75rem;
  position: relative;
}
.rep-single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  max-height: 22.3rem;
  max-width: 100%;
}
.rep-single-product .flex-control-thumbs {
  gap: .75rem;
  left: .45rem;
  top: 1.65rem;
  width: 4.45rem;
}
.rep-single-product .flex-control-thumbs li {
  align-items: center;
  display: flex;
  height: 4.45rem;
  justify-content: center;
  padding: .3rem;
  position: relative;
}
.rep-single-product .flex-control-thumbs img { height: 100%; width: 100%; }
.rep-single-product .flex-control-thumbs .rep-pdp-media__thumb-hidden { display: none; }
.rep-single-product .flex-control-thumbs .rep-pdp-media__more::after {
  align-items: center;
  background: rgba(255,255,255,.82);
  color: #0a192f;
  content: attr(data-more-count);
  display: flex;
  font-size: .75rem;
  font-weight: 800;
  inset: .3rem;
  justify-content: center;
  pointer-events: none;
  position: absolute;
}
.rep-pdp-media__thumb-arrow {
  align-items: center;
  background: transparent;
  border: 0;
  color: #526a89;
  display: flex;
  font-size: 1rem;
  height: 1.4rem;
  justify-content: center;
  left: .45rem;
  padding: 0;
  position: absolute;
  width: 4.45rem;
  z-index: 3;
}
.rep-pdp-media__thumb-arrow:hover,
.rep-pdp-media__thumb-arrow:focus-visible { color: #075ff7; }
.rep-pdp-media__thumb-arrow--up { top: 0; }
.rep-pdp-media__thumb-arrow--down { top: 21rem; }
.rep-pdp-media__certifications {
  align-items: flex-start;
  display: flex;
  gap: .35rem;
  left: 1rem;
  position: absolute;
  top: 1rem;
  z-index: 4;
}
.rep-pdp-media__certification {
  height: auto !important;
  max-height: 2rem !important;
  max-width: 6rem !important;
  object-fit: contain;
  width: auto !important;
}
.rep-pdp-media__favorite {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #71839b;
  cursor: pointer;
  display: flex;
  height: 2.45rem;
  justify-content: center;
  position: absolute;
  right: .85rem;
  top: .85rem;
  width: 2.45rem;
  z-index: 4;
}
.rep-pdp-media__favorite svg { fill: none; height: 1.1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1.1rem; }
body:not(.rep-portal-page) button.rep-pdp-media__favorite,
body:not(.rep-portal-page) button.rep-pdp-media__favorite:hover,
body:not(.rep-portal-page) button.rep-pdp-media__favorite:focus,
body:not(.rep-portal-page) button.rep-pdp-media__favorite:active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #71839b !important;
  min-height: 2.45rem;
  padding: 0;
  transform: none;
}
body:not(.rep-portal-page) button.rep-pdp-media__favorite[aria-pressed="true"],
body:not(.rep-portal-page) button.rep-pdp-media__favorite[aria-pressed="true"]:hover,
body:not(.rep-portal-page) button.rep-pdp-media__favorite[aria-pressed="true"]:focus,
body:not(.rep-portal-page) button.rep-pdp-media__favorite[aria-pressed="true"]:active { color: #e31837 !important; }
.rep-pdp-media__favorite[aria-pressed="true"] svg { fill: currentColor; }
.rep-pdp-media__zoom {
  align-items: center;
  background: #fff;
  border: 1px solid #d4dde8;
  border-radius: .25rem;
  bottom: .85rem;
  color: #0a192f;
  display: flex;
  font-size: .6875rem;
  font-weight: 700;
  gap: .4rem;
  min-height: 2.2rem;
  padding: .45rem .7rem;
  position: absolute;
  right: .85rem;
  z-index: 4;
}
.rep-pdp-media__zoom:hover,
.rep-pdp-media__zoom:focus-visible { background: #f8fafc; border-color: #9eacbd; color: #075ff7; }
.rep-pdp-media__zoom svg { fill: none; height: .9rem; stroke: currentColor; stroke-linecap: round; stroke-width: 2; width: .9rem; }
.rep-product-certification-control { align-items: center; display: inline-flex; gap: .65rem; }
.rep-product-certification-preview img { background: #fff; border: 1px solid #dcdcde; height: 3rem; object-fit: contain; width: 5rem; }

@media (max-width: 48rem) {
  .rep-single-product div.product .woocommerce-product-gallery { padding-left: 0; }
  .rep-single-product .woocommerce-product-gallery__image { padding: 2.5rem 1.25rem; }
  .rep-single-product .flex-control-thumbs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .rep-pdp-media__thumb-arrow { display: none; }
}

/* Product media layout: 600px image with a two-column thumbnail rail. */
@media (min-width: 75rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(38rem,1.1fr) minmax(34rem,1fr);
  }
}
.rep-single-product div.product .woocommerce-product-gallery {
  height: 610px;
  max-width: 100%;
  padding-left: 0;
  padding-right: 11.5rem;
}
.rep-single-product .woocommerce-product-gallery .flex-viewport,
.rep-single-product .woocommerce-product-gallery__wrapper {
  height: 600px !important;
  overflow: hidden !important;
}
.rep-single-product .woocommerce-product-gallery__image {
  box-sizing: border-box;
  height: 600px;
  min-height: 600px;
  padding: 2rem;
}
.rep-single-product .woocommerce-product-gallery__image a {
  height: 100%;
  overflow: hidden;
}
.rep-single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  height: 100% !important;
  max-height: 100%;
  object-fit: contain;
  width: 100% !important;
}
.rep-single-product .flex-control-thumbs {
  align-content: start;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
  left: auto;
  margin: 0 !important;
  max-height: 600px;
  overflow: hidden;
  right: 0;
  top: 0;
  width: 10.5rem;
}
.rep-single-product .flex-control-thumbs li {
  height: 5rem;
  width: 100% !important;
}
.rep-single-product .flex-control-thumbs li:nth-child(n+13) { display: none; }
.rep-single-product .flex-control-thumbs .rep-pdp-media__thumb-hidden { display: flex; }
.rep-single-product .flex-control-thumbs .rep-pdp-media__more::after { display: none; }
.rep-pdp-media__thumb-arrow { display: none !important; }
.rep-single-product .woocommerce-product-gallery__trigger { display: none !important; }
.rep-pdp-media__zoom {
  background: #fff !important;
  border-color: #aeb9c7 !important;
  color: #0a192f !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.25rem);
  transition: opacity .16s ease, transform .16s ease;
  visibility: hidden;
}
.rep-single-product .woocommerce-product-gallery__image:hover .rep-pdp-media__zoom,
.rep-single-product .woocommerce-product-gallery__image:focus-within .rep-pdp-media__zoom,
.rep-pdp-media__zoom:focus-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
.rep-pdp-media__zoom:hover,
.rep-pdp-media__zoom:focus-visible {
  background: #fff !important;
  border-color: #7c899a !important;
  color: #0a192f !important;
}

@media (max-width: 48rem) {
  .rep-single-product div.product .woocommerce-product-gallery {
    height: auto;
    padding-right: 0;
  }
  .rep-single-product .woocommerce-product-gallery .flex-viewport,
  .rep-single-product .woocommerce-product-gallery__wrapper,
  .rep-single-product .woocommerce-product-gallery__image {
    height: min(100vw,600px) !important;
    min-height: min(100vw,600px);
  }
  .rep-single-product .flex-control-thumbs {
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: .75rem !important;
    max-height: 10.75rem;
    position: static;
    width: 100%;
  }
  .rep-single-product .flex-control-thumbs li:nth-child(n+9) { display: none; }
}

/* Product media layout override: left thumbnail rail and REP lightbox. */
.rep-single-product div.product .woocommerce-product-gallery {
  height: 610px;
  max-width: 100%;
  padding-left: 11.5rem;
  padding-right: 0;
  position: relative;
}
.rep-single-product .woocommerce-product-gallery .flex-viewport {
  height: 600px !important;
  overflow: hidden !important;
}
.rep-single-product .woocommerce-product-gallery__wrapper {
  height: 600px !important;
  overflow: hidden !important;
  position: relative;
}
.rep-single-product .woocommerce-product-gallery__image {
  box-sizing: border-box;
  height: 600px;
  left: 0;
  min-height: 600px;
  opacity: 0;
  padding: 2rem;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
}
.rep-single-product .woocommerce-product-gallery__image.rep-is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.rep-single-product .woocommerce-product-gallery__image a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}
.rep-single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  height: auto !important;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto !important;
}
.rep-single-product .flex-control-thumbs {
  align-content: start;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
  left: 0;
  margin: 0 !important;
  max-height: 600px;
  overflow: hidden;
  right: auto;
  top: 0;
  width: 10.5rem;
}
.rep-single-product .flex-control-thumbs li {
  height: 5rem;
  width: 100% !important;
}
.rep-single-product .flex-control-thumbs li:nth-child(n+13) {
  display: none;
}
.rep-single-product .flex-control-thumbs li.rep-is-active,
.rep-single-product .flex-control-thumbs li:has(img.flex-active) {
  border: 2px solid #075ff7;
}
.rep-single-product .rep-pdp-media__favorite {
  left: .85rem;
  right: auto;
}
.rep-single-product .woocommerce-product-gallery__trigger {
  display: none !important;
}
.rep-pdp-media__zoom {
  background: #fff !important;
  border-color: #aeb9c7 !important;
  color: #0a192f !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.25rem);
  transition: opacity .16s ease, transform .16s ease;
  visibility: hidden;
}
.rep-single-product .woocommerce-product-gallery__image:hover .rep-pdp-media__zoom,
.rep-single-product .woocommerce-product-gallery__image:focus-within .rep-pdp-media__zoom,
.rep-pdp-media__zoom:focus-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
.rep-pdp-media__zoom:hover,
.rep-pdp-media__zoom:focus-visible {
  background: #fff !important;
  border-color: #7c899a !important;
  color: #0a192f !important;
}
body.rep-lightbox-open {
  overflow: hidden;
}
.rep-pdp-lightbox {
  align-items: center;
  background: rgba(10,25,47,.88);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 1.5rem;
  position: fixed;
  z-index: 9999;
}
.rep-pdp-lightbox[data-open='true'] {
  display: flex;
}
.rep-pdp-lightbox__dialog {
  align-items: stretch;
  background: transparent;
  border-radius: .5rem;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 11rem minmax(0,1fr) auto;
  height: min(92vh, 56rem);
  max-width: min(96vw, 90rem);
  padding: 1.25rem;
  width: 100%;
}
.rep-pdp-lightbox__sidebar {
  border-right: 1px solid #dce3ec;
  overflow: hidden;
  padding-right: 1rem;
}
.rep-pdp-lightbox__thumbs {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-height: 100%;
  overflow: auto;
  padding-right: .2rem;
}
.rep-pdp-lightbox__thumb {
  align-items: center;
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: .35rem;
  cursor: pointer;
  display: flex;
  height: 5rem;
  justify-content: center;
  padding: .35rem;
}
.rep-pdp-lightbox__thumb.is-active {
  border: 2px solid #075ff7;
}
.rep-pdp-lightbox__thumb img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.rep-pdp-lightbox__main {
  align-items: center;
  display: flex;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
}
.rep-pdp-lightbox__main img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.rep-pdp-lightbox__close {
  align-self: start;
  background: #fff;
  border: 1px solid #c7d2df;
  border-radius: .35rem;
  color: #0a192f;
  cursor: pointer;
  font-size: .875rem;
  font-weight: 700;
  min-height: 2.75rem;
  padding: .75rem 1rem;
}
@media (max-width: 48rem) {
  .rep-single-product div.product .woocommerce-product-gallery {
    height: auto;
    padding-left: 0;
  }
  .rep-single-product .woocommerce-product-gallery .flex-viewport,
  .rep-single-product .woocommerce-product-gallery__wrapper,
  .rep-single-product .woocommerce-product-gallery__image {
    height: min(100vw,600px) !important;
    min-height: min(100vw,600px);
  }
  .rep-single-product .woocommerce-product-gallery__image {
    position: absolute;
  }
  .rep-single-product .flex-control-thumbs {
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: .75rem !important;
    max-height: 10.75rem;
    position: static;
    width: 100%;
  }
  .rep-single-product .flex-control-thumbs li:nth-child(n+9) {
    display: none;
  }
  .rep-pdp-lightbox {
    padding: .75rem;
  }
  .rep-pdp-lightbox__dialog {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto minmax(0,1fr) auto;
    height: min(96vh, 60rem);
    padding: 1rem;
  }
  .rep-pdp-lightbox__sidebar {
    border-right: 0;
    overflow: auto;
    padding-right: 0;
  }
  .rep-pdp-lightbox__thumbs {
    grid-template-columns: repeat(4,minmax(0,1fr));
    max-height: 12rem;
  }
}
/* Product media hotfix: keep favorite and Zoom inside the active main image. */
.rep-single-product .woocommerce-product-gallery__image {
  position: absolute;
}
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__favorite {
  left: auto;
  right: .85rem;
  top: .85rem;
  z-index: 6;
}
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__zoom {
  bottom: .85rem;
  left: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: .85rem;
  z-index: 6;
}
.rep-single-product .woocommerce-product-gallery__image.rep-is-active:hover .rep-pdp-media__zoom,
.rep-single-product .woocommerce-product-gallery__image.rep-is-active:focus-within .rep-pdp-media__zoom,
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__zoom:focus-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
.rep-pdp-lightbox__thumb,
.rep-single-product .flex-control-thumbs li {
  background: transparent;
  border: 1px solid #dce3ec;
  border-radius: .35rem;
  padding: .35rem;
}
.rep-pdp-lightbox__thumb img,
.rep-single-product .flex-control-thumbs img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
/* Lightbox visual override: match PDP thumbnail rail and neutral controls. */
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__dialog {
  background: #ffffff !important;
  border-radius: .5rem !important;
  gap: 1.5rem !important;
  grid-template-columns: 10.5rem minmax(0,1fr) auto !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__sidebar {
  border-right: 1px solid #dce3ec !important;
  padding-right: 1rem !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumbs {
  display: grid !important;
  gap: .75rem !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  justify-content: start !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #dce3ec !important;
  border-radius: .35rem !important;
  box-shadow: none !important;
  display: flex !important;
  height: 5rem !important;
  justify-content: center !important;
  padding: .35rem !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb:hover,
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb:focus-visible {
  background: #ffffff !important;
  border-color: #9fb0c3 !important;
  outline: 0 !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb.is-active {
  background: #ffffff !important;
  border: 2px solid #075ff7 !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb img {
  display: block !important;
  height: auto !important;
  margin: 0 auto !important;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: auto !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__main {
  align-items: center !important;
  background: #ffffff !important;
  display: flex !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__main img {
  display: block !important;
  height: auto !important;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: auto !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__close {
  align-self: start !important;
  background: #ffffff !important;
  border: 1px solid #c7d2df !important;
  border-radius: .35rem !important;
  box-shadow: none !important;
  color: #0a192f !important;
}
@media (max-width: 48rem) {
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__dialog {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumbs {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
}
/* Lightbox thumbnail dimensions: mirror the PDP media rail. */
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumbs {
  grid-template-columns: repeat(2,78px) !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumb {
  height: 80px !important;
  width: 78px !important;
}
/* Lightbox sidebar: room for two 78px thumbnails without a visible scrollbar. */
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__dialog {
  grid-template-columns: 12.5rem minmax(0,1fr) auto !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__sidebar {
  min-width: 0;
  overflow: hidden !important;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumbs {
  max-width: 100%;
  overflow-y: auto !important;
  scrollbar-width: none;
}
.rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__thumbs::-webkit-scrollbar {
  display: none;
}
/* Mobile lightbox: show the selected image only, with Close above it. */
@media (max-width: 48rem) {
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__dialog {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: minmax(0,1fr) !important;
    position: relative;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__sidebar {
    display: none !important;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__main {
    grid-column: 1;
    grid-row: 1;
    height: 100%;
    width: 100%;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__close {
    position: absolute !important;
    right: 1rem;
    top: 1rem;
    z-index: 2;
  }
}
/* Mobile lightbox gallery navigation. */
.rep-pdp-lightbox__nav {
  display: none;
}
@media (max-width: 48rem) {
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav {
    align-items: center;
    background: rgba(255,255,255,.94);
    border: 1px solid #dce3ec;
    border-radius: 999px;
    color: #0a192f;
    cursor: pointer;
    display: inline-flex;
    font-size: 2rem;
    height: 2.75rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav--previous { left: .75rem; }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav--next { right: .75rem; }
}
/* Mobile lightbox: centered circular previous/next controls. */
@media (max-width: 48rem) {
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__main {
    position: relative;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav {
    background: #fff;
    border-color: #dce3ec;
    box-shadow: 0 1px 3px rgba(10,25,47,.12);
    height: 2.875rem;
    top: 50%;
    width: 2.875rem;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav svg {
    fill: none;
    height: 1.25rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.75;
    width: 1.25rem;
  }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav--previous { left: .5rem; }
  .rep-pdp-lightbox[data-open='true'] .rep-pdp-lightbox__nav--next { right: .5rem; }
}
/* PDP purchase card: WooCommerce data presented as the approved buy-box design. */
.rep-single-product .rep-pdp__buybox {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 1.25rem;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability {
  align-items: center;
  color: #087a3d !important;
  display: flex;
  font-size: .75rem;
  font-weight: 700;
  gap: .45rem;
  margin: 0 0 .7rem;
  order: 1;
  text-transform: uppercase;
}
.rep-single-product .rep-pdp__availability-status::before {
  background: #11a96a;
  border-radius: 999px;
  content: '\2713';
  color: #fff;
  display: inline-flex;
  font-size: .55rem;
  height: .8rem;
  justify-content: center;
  line-height: .8rem;
  margin-right: .35rem;
  text-align: center;
  width: .8rem;
}
.rep-single-product .rep-pdp__availability-count {
  border-left: 1px solid #9eacbd;
  color: #607086;
  padding-left: .45rem;
  text-transform: none;
}
.rep-single-product .rep-pdp__buybox .price {
  color: #0a192f !important;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 .15rem;
  order: 2;
}
.rep-single-product .rep-pdp__buybox form.cart {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
  order: 3;
}
.rep-single-product .rep-pdp__buybox .quantity {
  align-items: stretch;
  display: flex;
  height: 2.5rem;
  margin: 0;
  width: max-content;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__quantity-label {
  flex-basis: 100%;
  margin-bottom: .2rem;
}
.rep-single-product .rep-pdp__buybox .quantity .qty {
  border: 1px solid #dce3ec;
  border-inline: 0;
  border-radius: 0;
  min-height: 2.5rem;
  text-align: center;
  width: 2.6rem;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__quantity-button {
  align-items: center;
  background: #fff;
  border: 1px solid #dce3ec;
  color: #0a192f;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 800;
  justify-content: center;
  min-height: 2.5rem;
  width: 2.35rem;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__quantity-button:first-child { border-radius: .3rem 0 0 .3rem; }
.rep-single-product .rep-pdp__buybox .rep-pdp__quantity-button:last-child { border-radius: 0 .3rem .3rem 0; }
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button {
  align-items: center;
  display: inline-flex;
  gap: .5rem;
  justify-content: center;
  min-height: 2.75rem;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button::before { content: '\1F6D2'; font-size: .9rem; }
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support {
  margin-top: .9rem;
  order: 4;
  padding: .75rem 0 0;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support ul { margin-top: .9rem; }
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support li { font-size: .72rem; font-weight: 600; margin-top: .65rem; }
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support .rep-icon { height: .9rem; width: .9rem; }
/* PDP buy-box refinement: one availability status, compact quantity control and aligned actions. */
.rep-single-product .rep-pdp__details > .stock { display: none !important; }
.rep-single-product .rep-pdp__buybox .price {
  font-size: 2.25rem;
  text-align: left;
}
.rep-single-product .rep-pdp__price-note {
  color: #607086;
  font-size: .72rem;
  font-weight: 700;
  margin: 0;
  order: 2;
}
.rep-single-product .rep-pdp__buybox form.cart { margin-top: 1rem; }
.rep-single-product .rep-pdp__buybox .quantity {
  align-self: start;
  flex: 0 0 auto !important;
  max-width: 7.3rem;
  width: 7.3rem !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__quantity-label {
  grid-column: 1 / -1;
  margin: 0 0 .25rem;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button::before {
  content: '\f07a';
  font-family: 'Font Awesome 6 Free';
  font-size: .9rem;
  font-weight: 900;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support {
  margin-top: .65rem;
  padding-top: 0;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button {
  box-sizing: border-box;
  min-height: 2.75rem;
  width: 100%;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support ul { margin-top: .9rem; }
/* Exact buy-box overrides for the native WooCommerce availability element. */
.rep-single-product .rep-pdp__buybox > .stock.in-stock:not(.rep-pdp__availability) {
  display: none !important;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button::before {
  content: none !important;
  display: none !important;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button .rep-pdp__cart-icon {
  flex: 0 0 auto;
  height: 1.25rem;
  margin-right: .15rem;
  width: 1.25rem;
}
.rep-single-product .rep-pdp__buybox form.cart {
  display: grid !important;
  grid-template-columns: minmax(0,1fr);
}
.rep-single-product .rep-pdp__buybox form.cart > .rep-pdp__quantity-label {
  font-size: .75rem;
  letter-spacing: .01em;
  margin: 0;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper {
  display: flex !important;
  grid-column: 1;
  max-width: none;
  width: max-content !important;
}
/* PDP quantity stepper: three equal cells matching the reference. */
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper {
  border: 1px solid #d8e1ec;
  border-radius: 6px;
  height: 2.25rem;
  overflow: hidden;
  width: 7.125rem !important;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .rep-pdp__quantity-button,
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty {
  background: #fff;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  height: 2.375rem;
  min-height: 2.375rem;
  padding: 0;
  width: 2.375rem;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty {
  border-inline: 1px solid #dce3ec;
  font-size: .875rem;
  font-weight: 700;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .rep-pdp__quantity-button {
  font-size: 1rem;
  font-weight: 800;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty {
  line-height: 2.375rem;
  text-align: center !important;
}
.rep-single-product .rep-pdp__buybox > .price {
  align-self: flex-start;
  font-size: 30px !important;
  text-align: left !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability,
.rep-single-product .rep-pdp__buybox .rep-pdp__availability-status {
  color: rgb(16 185 129 / var(--tw-text-opacity, 1)) !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability-status::before {
  background: #10b981;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability-count {
  color: #64748b !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability-status {
  align-items: center;
  display: inline-flex;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability-status::before {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  margin-right: .35rem;
}
.rep-single-product .rep-pdp__buybox .single_add_to_cart_button {
  align-items: center;
  border-radius: .25rem !important;
  box-sizing: border-box;
  display: inline-flex;
  font-size: 16px;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  min-height: 2.75rem;
  padding: .75rem 1rem;
  width: 100%;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support {
  align-self: stretch !important;
  width: 100% !important;
}
.woocommerce.rep-single-product div.product .rep-pdp__buybox form.cart {
  margin-bottom: 0 !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__purchase-support {
  margin-top: .5rem !important;
}
/* Product certification labels displayed over the primary image only. */
.rep-single-product .rep-pdp-media__certifications {
  left: .85rem;
  top: .85rem;
  z-index: 7;
}
.rep-single-product .rep-pdp-media__certification {
  align-items: center;
  background: #0cad6d;
  border-radius: .25rem;
  color: #fff;
  display: inline-flex;
  font-size: .625rem;
  font-weight: 800;
  height: 1.5rem !important;
  justify-content: center;
  letter-spacing: .02em;
  max-width: none !important;
  min-width: 3.75rem;
  padding: 0 .5rem;
  width: auto !important;
}
.rep-single-product .rep-pdp-media__certification--pdi { background: #075ff7; }
/* PDP details hierarchy: product title, then rating/reviews and SKU. */
.rep-single-product .summary > .product_title {
  grid-row: 1 !important;
}
.rep-single-product .summary > .rep-pdp__identity {
  grid-row: 2 !important;
}
.rep-single-product .rep-pdp__details .product_title {
  color: #0a192f;
  font-size: 1.880rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 .6rem !important;
}
.rep-single-product .rep-pdp__details .rep-pdp__identity {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 .75rem;
}
.rep-single-product .rep-pdp__rating-row {
  align-items: center;
  display: inline-flex;
  gap: .35rem;
}
.rep-single-product .rep-pdp__stars {
  display: inline-flex;
  gap: .08rem;
}
.rep-single-product .rep-pdp__star {
  color: #d7dee8;
  font-size: 1rem;
  line-height: 1;
}
.rep-single-product .rep-pdp__star.is-full { color: #fbbf24; }
.rep-single-product .rep-pdp__star.is-half {
  background: linear-gradient(90deg,#fbbf24 50%,#d7dee8 50%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rep-single-product .rep-pdp__rating-score,
.rep-single-product .rep-pdp__rating-count {
  color: #075ff7;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
}
.rep-single-product .rep-pdp__rating-count { border-right: 1px solid #9eacbd; padding-right: .65rem; }
.rep-single-product .rep-pdp__details .rep-pdp__sku {
  color: #526a89;
  font-size: .75rem;
  font-weight: 700;
  margin: 0;
}
/* PDP desktop layout matching the revised product-page reference. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    align-items: start;
    column-gap: 2rem;
    grid-template-columns: 30.125rem minmax(0,1fr) 20.75rem !important;
    row-gap: .65rem;
  }
  .rep-single-product div.product .summary,
  .rep-single-product .rep-pdp__details {
    display: contents !important;
  }
  .rep-single-product .summary > .product_title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .rep-single-product .summary > .rep-pdp__identity {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  .rep-single-product div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 3 / span 3 !important;
    height: 27.75rem !important;
    padding-left: 4.75rem !important;
    width: 30.125rem !important;
  }
  .rep-single-product .woocommerce-product-gallery .flex-viewport,
  .rep-single-product .woocommerce-product-gallery__wrapper,
  .rep-single-product .woocommerce-product-gallery__image {
    height: 23.75rem !important;
  }
  .rep-single-product .woocommerce-product-gallery .flex-viewport {
    border: 1px solid #dce3ec;
    border-radius: .3rem;
    width: 25.375rem !important;
  }
  .rep-single-product .woocommerce-product-gallery__image {
    min-height: 0 !important;
    padding: .75rem !important;
    width: 25.375rem !important;
  }
  .rep-single-product .flex-control-thumbs {
    gap: .65rem !important;
    grid-template-columns: 4rem !important;
    max-height: 23.75rem !important;
    overflow: hidden;
    width: 4rem !important;
  }
  .rep-single-product .flex-control-thumbs li {
    height: 4rem !important;
    width: 4rem !important;
  }
  .rep-single-product .flex-control-thumbs li:nth-child(n+6) { display: none !important; }
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: 0 !important;
  }
  .rep-single-product .rep-pdp__summary-facts {
    grid-column: 2 !important;
    grid-row: 4 !important;
    margin: .85rem 0 0 !important;
  }
  .rep-single-product .rep-pdp__buybox {
    grid-column: 3 !important;
    grid-row: 3 / span 3 !important;
  }
  .rep-single-product .rep-pdp__gallery-actions {
    align-items: center;
    display: flex;
    gap: 1rem;
    left: 0;
    position: absolute;
    top: 25.15rem;
  }
}
.rep-pdp__gallery-actions a {
  align-items: center;
  color: #526a89;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 700;
  gap: .35rem;
  text-decoration: none;
}
.rep-pdp__gallery-actions a:hover { color: #075ff7; }
.rep-pdp__gallery-actions .rep-icon { color: #075ff7; height: .9rem; width: .9rem; }
/* Full-width white breadcrumb strip on product pages. */
.rep-single-product .woocommerce-breadcrumb {
  background: transparent;
  border-block: 0;
  isolation: isolate;
  position: relative;
}
.rep-single-product .woocommerce-breadcrumb::before {
  background: #fff;
  border-bottom: 1px solid #dce3ec;
  border-top: 1px solid #dce3ec;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}
.rep-single-product .woocommerce-tabs,
.rep-single-product .woocommerce-tabs .wc-tab,
.rep-single-product .woocommerce-tabs ul.tabs {
  background: #fff !important;
}
body.rep-single-product #primary.content-area {
  background: #fff;
}
/* Revised PDP title strip: brand / item number, title, then rating row. */
.rep-single-product .rep-pdp__brand-line {
  align-items: center;
  display: flex;
  gap: .55rem;
  margin: 0;
}
.rep-single-product .rep-pdp__brand {
  color: #075ff7;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.rep-single-product .rep-pdp__item-number {
  color: #607086;
  font-size: .6875rem;
  font-weight: 700;
}
.rep-single-product .rep-pdp__questions {
  border-inline: 1px solid #9eacbd;
  color: #075ff7;
  font-size: .75rem;
  font-weight: 700;
  padding-inline: .65rem;
}
.rep-single-product .rep-pdp__header-stock {
  align-items: center;
  color: #10b981;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  gap: .3rem;
  text-transform: uppercase;
}
.rep-single-product .rep-pdp__header-stock .rep-icon { height: .85rem; width: .85rem; }
@media (min-width: 73.76rem) {
  .rep-single-product .summary > .rep-pdp__brand-line {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .rep-single-product .summary > .product_title { grid-row: 2 !important; }
  .rep-single-product .summary > .rep-pdp__identity { grid-row: 3 !important; }
  .rep-single-product div.product .woocommerce-product-gallery { grid-row: 4 / span 3 !important; }
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description { grid-row: 4 !important; }
  .rep-single-product .rep-pdp__summary-facts { grid-row: 5 !important; }
  .rep-single-product .rep-pdp__buybox { grid-row: 4 / span 3 !important; }
}
/* PDP header: title first, one compact metadata line underneath. */
.rep-single-product .rep-pdp__brand-line { display: none !important; }
.rep-single-product .rep-pdp__details .product_title {
  grid-column: 1 / -1;
  width: 100%;
}
.rep-single-product .rep-pdp__details .rep-pdp__identity {
  align-items: center;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: .65rem;
  white-space: nowrap;
  width: max-content;
}
.rep-single-product .rep-pdp__rating-row { gap: .4rem; }
.rep-single-product .rep-pdp__rating-count {
  border-right: 0;
  padding-right: 0;
}
.rep-single-product .rep-pdp__questions {
  border-left: 1px solid #9eacbd;
  border-right: 1px solid #9eacbd;
  padding-inline: .65rem;
}
@media (min-width: 73.76rem) {
  .rep-single-product .summary > .product_title {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .rep-single-product .summary > .rep-pdp__identity {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  .rep-single-product div.product .woocommerce-product-gallery { grid-row: 3 / span 3 !important; }
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description { grid-row: 3 !important; }
  .rep-single-product .rep-pdp__summary-facts { grid-row: 4 !important; }
  .rep-single-product .rep-pdp__buybox { grid-row: 3 / span 3 !important; }
}
.rep-pdp-lightbox .rep-pdp-lightbox__nav {
  display: none !important;
}
/* Out-of-stock buy-box status. Keep only the REP status row. */
.rep-single-product .rep-pdp__buybox > .stock:not(.rep-pdp__availability) {
  display: none !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability.out-of-stock,
.rep-single-product .rep-pdp__buybox .rep-pdp__availability.out-of-stock .rep-pdp__availability-status {
  color: #dc2626 !important;
}
.rep-single-product .rep-pdp__buybox .rep-pdp__availability.out-of-stock::before {
  align-items: center;
  background: #dc2626;
  border-radius: 999px;
  color: #fff;
  content: '\00D7';
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  height: .9rem;
  justify-content: center;
  line-height: 1;
  width: .9rem;
}
.rep-single-product .rep-pdp__details .rep-pdp__identity {
  border-bottom: 1px solid #dce3ec;
  display: flex;
  padding-bottom: .75rem;
  width: 100%;
}
@media (min-width: 73.76rem) {
  .rep-single-product div.product::before {
    border-top: 1px solid #dce3ec;
    content: '';
    grid-column: 1 / -1;
    grid-row: 3;
    height: 0;
    margin-top: .1rem;
  }
  .rep-single-product .rep-pdp__details .rep-pdp__identity {
    border-bottom: 0;
    padding-bottom: .5rem;
  }
  .rep-single-product div.product .woocommerce-product-gallery { grid-row: 4 / span 3 !important; }
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description { grid-row: 4 !important; }
  .rep-single-product .rep-pdp__summary-facts { grid-row: 5 !important; }
  .rep-single-product .rep-pdp__buybox { grid-row: 4 / span 3 !important; }
}
/* PDP SKU and WooCommerce sale pricing. */
.rep-single-product .rep-pdp__header-sku {
  color: #526a89;
  font-size: .75rem;
  font-weight: 700;
}
.rep-single-product .rep-pdp__buybox > .price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.rep-single-product .rep-pdp__buybox > .price ins {
  color: #0a192f;
  font-size: 30px;
  font-weight: 800;
  order: 1;
  text-decoration: none;
}
.rep-single-product .rep-pdp__buybox > .price del {
  color: #64748b;
  font-size: .8rem;
  font-weight: 700;
  order: 2;
}
.rep-single-product .rep-pdp__sale-savings {
  color: #ea580c;
  font-size: .72rem;
  font-weight: 800;
  margin: .1rem 0 0;
  order: 2;
}
.rep-single-product .rep-pdp__price-note { order: 3; }
/* Sale badge belongs to the primary product image, above certifications. */
.rep-single-product .woocommerce-product-gallery .rep-pdp-media__sale {
  align-items: center;
  background: #dc2626;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  height: 3rem;
  justify-content: center;
  left: .85rem;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: .85rem;
  width: 3rem;
  z-index: 8;
}
.rep-single-product .woocommerce-product-gallery:has(.rep-pdp-media__sale) .rep-pdp-media__certifications {
  top: 4.2rem;
}
/* Related product rail and standalone description. */
.rep-single-product .woocommerce-tabs { display: none !important; }
.rep-pdp-related,.rep-pdp-description { background:#fff; border-top:1px solid #dce3ec; margin-top:2rem; padding-top:1.5rem; }
.rep-pdp-related__header { align-items:center; display:flex; justify-content:space-between; margin-bottom:1rem; }
.rep-pdp-related__header h2,.rep-pdp-description h2 { color:#0a192f; font-size:1.25rem; margin:0; }
.rep-pdp-related__header a { color:#075ff7; font-size:.875rem; font-weight:700; }
.rep-pdp-related__rail { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr)); }
.rep-pdp-related__item { border:1px solid #dce3ec; border-radius:.35rem; display:grid; grid-template-columns:5rem minmax(0,1fr); overflow:hidden; padding:1rem; }
.rep-pdp-related__image { align-items:center; display:flex; justify-content:center; }
.rep-pdp-related__image img { height:5rem; object-fit:contain; width:5rem; }
.rep-pdp-related__content { min-width:0; padding-left:.75rem; }
.rep-pdp-related__title { color:#075ff7; font-size:.875rem; font-weight:700; text-decoration:none; }
.rep-pdp-related__price { color:#0a192f; font-size:1rem; font-weight:800; margin:.5rem 0 0; }
.rep-pdp-related__cart { border-top:1px solid #dce3ec; display:flex; gap:.65rem; grid-column:1/-1; margin-top:1rem; padding-top:1rem; }
.rep-pdp-related__cart label { align-items:center; display:flex; gap:.35rem; font-size:.75rem; font-weight:700; }
.rep-pdp-related__cart input { border:1px solid #dce3ec; border-radius:.25rem; height:2.5rem; text-align:center; width:3.25rem; }
.rep-pdp-related__cart button { background:#075ff7; border:1px solid #075ff7; border-radius:.25rem; color:#fff; flex:1; font-size:.75rem; font-weight:800; }
.rep-pdp-description { padding-bottom:2rem; }
.rep-pdp-description > div { color:#26364a; line-height:1.7; margin-top:1rem; }
.rep-pdp-description img { height:auto; max-width:100%; }
.rep-pdp-related__fallback-cart{align-items:center;background:#075ff7;border-radius:.25rem;color:#fff;display:flex;font-size:.75rem;font-weight:800;justify-content:center;min-height:2.5rem;text-decoration:none}.rep-pdp-related__cart form + .rep-pdp-related__fallback-cart{display:none}

.rep-pdp-related__cart:has(form) .rep-pdp-related__fallback-cart{display:none!important}

.rep-related-skus-results{background:#fff;border:1px solid #ccd0d4;box-shadow:0 3px 10px rgba(0,0,0,.12);max-width:500px;padding:4px;position:absolute;z-index:9999}.rep-related-skus-results button{background:#fff;border:0;cursor:pointer;display:block;padding:7px;text-align:left;width:100%}.rep-related-skus-results button:hover{background:#f0f6fc}

.rep-single-product .rep-pdp-description{grid-column:1/-1!important;width:100%}

/* PDP two-column lower content: media/description left, purchase/specifications right. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(0, 1fr) minmax(20.75rem, .62fr) !important;
  }
  .rep-single-product div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description,
  .rep-single-product .rep-pdp__summary-facts {
    grid-column: 1 !important;
  }
  .rep-single-product .rep-pdp__buybox {
    grid-column: 2 !important;
    grid-row: 4 !important;
  }
  .rep-single-product .rep-pdp-description {
    grid-column: 1 !important;
    grid-row: 5 !important;
    margin-top: 0;
  }
  .rep-single-product .rep-pdp-specifications {
    grid-column: 2 !important;
    grid-row: 5 !important;
    align-self: start;
    background: #fff;
    border-top: 1px solid #dce3ec;
    margin-top: 0;
    padding-top: 1.5rem;
  }
}
@media (max-width: 64rem) {
  .rep-single-product .rep-pdp-description,
  .rep-single-product .rep-pdp-specifications { grid-column: 1 !important; }
}@media (min-width: 54.01rem) {
  .rep-single-product .rep-pdp__details .woocommerce-product-details__short-description,
  .rep-single-product .rep-pdp__summary-facts { display: none !important; }
}
@media (min-width: 73.76rem) {
  .rep-single-product div.product { grid-template-columns: minmax(0, 1fr) 350px !important; }
}
.rep-single-product .rep-pdp-specifications h2 { font-size: 1.05rem; margin-bottom: .65rem; }
.rep-single-product .rep-pdp-specifications__row { gap: .75rem; grid-template-columns: minmax(6.5rem, .8fr) minmax(0, 1.2fr); padding: .55rem .9rem; }
.rep-single-product .rep-pdp-specifications__row :where(dt, dd) { font-size: .8125rem; padding-block: .25rem; }
.rep-single-product .rep-pdp-specifications__row dd { line-height: 1.35; }
.rep-single-product .rep-pdp-specifications h2 { font-size: .95rem; margin-bottom: .45rem; }
.rep-single-product .rep-pdp-specifications__row { gap: .55rem; grid-template-columns: minmax(5.75rem, .78fr) minmax(0, 1.22fr); padding: .4rem .7rem; }
.rep-single-product .rep-pdp-specifications__row :where(dt, dd) { font-size: .75rem; padding-block: .15rem; }
.rep-single-product .rep-pdp-description h2 { font-size: 1.05rem; margin-bottom: .55rem; }
.rep-single-product .rep-pdp-description > div { font-size: 1em; line-height: 1.55; margin-top: .55rem; }
.rep-single-product .rep-pdp-description > div p { margin: 0 0 .75rem; }
/* Compact related products on PDP. */
.rep-pdp-related {
  padding-top: 1rem;
}

.rep-pdp-related__header {
  margin-bottom: .75rem;
}

.rep-pdp-related__rail {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(auto-fill, minmax(220px, 220px));
  align-items: start;
}

.rep-pdp-related__item {
  width: 220px;
  min-height: 140px;
  padding: .55rem !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: 74px 1px 38px;
  gap: .35rem .55rem;
  border-radius: 4px;
}

.rep-pdp-related__image {
  align-self: start;
  width: 54px;
  height: 54px;
}

.rep-pdp-related__image img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain;
}

.rep-pdp-related__content {
  padding-left: 0 !important;
  min-width: 0;
}

.rep-pdp-related__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .72rem !important;
  font-weight: 600;
  line-height: 1.35;
}

.rep-pdp-related__price {
  font-size: .82rem !important;
  line-height: 1.2;
  margin-top: .2rem !important;
}

.rep-pdp-related__cart,
.rep-pdp-related__fallback-cart {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: .35rem !important;
  padding-top: .45rem !important;
  min-height: 32px;
  border-top: 1px solid #dce3ec;
}

.rep-pdp-related__cart {
  display: grid !important;
  grid-template-columns: 72px 1fr;
  gap: .4rem;
}

.rep-pdp-related__cart label {
  gap: .25rem !important;
  font-size: .65rem !important;
}

.rep-pdp-related__cart input {
  width: 32px !important;
  height: 30px !important;
  font-size: .7rem;
}

.rep-pdp-related__cart button,
.rep-pdp-related__fallback-cart {
  min-height: 30px !important;
  height: 30px;
  padding: 0 .45rem;
  font-size: .68rem !important;
  border-radius: 4px !important;
}

.rep-pdp-related__item .rep-pdp-related__fallback-cart {
  display: flex;
}

@media (max-width: 48rem) {
  .rep-pdp-related__rail {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }

  .rep-pdp-related__item {
    width: 100%;
  }
}

/* PDP related products live under the media/description column with horizontal scroll. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product .rep-pdp-related {
    grid-column: 1 !important;
    grid-row: 6 !important;
    width: 100%;
    min-width: 0;
  }
}

.rep-pdp-related__viewport {
  position: relative;
  min-width: 0;
}

.rep-pdp-related__viewport .rep-pdp-related__rail {
  display: flex !important;
  grid-template-columns: none !important;
  gap: .75rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding: 0 .125rem .25rem;
}

.rep-pdp-related__viewport .rep-pdp-related__rail::-webkit-scrollbar {
  display: none;
}

.rep-pdp-related__viewport .rep-pdp-related__item {
  flex: 0 0 220px;
  scroll-snap-align: start;
}

.rep-pdp-related__nav {
  align-items: center;
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(10, 25, 47, .14);
  color: #0a192f;
  cursor: pointer;
  display: flex;
  font-size: 1.35rem;
  font-weight: 800;
  height: 2rem;
  justify-content: center;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  z-index: 3;
}

.rep-pdp-related__nav[hidden] {
  display: none !important;
}

.rep-pdp-related__nav--prev {
  left: .25rem;
}

.rep-pdp-related__nav--next {
  right: .25rem;
}

@media (max-width: 64rem) {
  .rep-pdp-related__nav {
    display: none !important;
  }
}

/* Put related products before the description block on PDP. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product .rep-pdp-related {
    grid-column: 1 !important;
    grid-row: 5 !important;
    margin-top: 1rem !important;
  }

  .rep-single-product div.product .rep-pdp-description {
    grid-column: 1 !important;
    grid-row: 6 !important;
    margin-top: 1.25rem !important;
  }

  .rep-single-product div.product .rep-pdp-specifications {
    grid-column: 2 !important;
    grid-row: 5 / span 2 !important;
  }
}

/* Tighten vertical alignment inside compact related cards. */
.rep-pdp-related__viewport .rep-pdp-related__item {
  min-height: 140px;
  height: 140px;
  grid-template-rows: auto 1px auto !important;
  align-content: start;
  row-gap: .3rem;
}

.rep-pdp-related__viewport .rep-pdp-related__cart,
.rep-pdp-related__viewport .rep-pdp-related__fallback-cart {
  align-self: start;
  margin-top: .25rem !important;
  padding-top: .35rem !important;
}

.rep-pdp-related__viewport .rep-pdp-related__image {
  align-self: start;
}

.rep-pdp-related__viewport .rep-pdp-related__content {
  align-self: start;
}

/* Align related product quantity controls in one centered row. */
.rep-pdp-related__viewport .rep-pdp-related__cart {
  align-items: center !important;
  display: flex !important;
  gap: .45rem !important;
  grid-template-columns: none !important;
}

.rep-pdp-related__viewport .rep-pdp-related__cart label {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto;
  gap: .35rem !important;
  margin: 0 !important;
  white-space: nowrap;
}

.rep-pdp-related__viewport .rep-pdp-related__cart input[type="number"] {
  box-sizing: border-box;
  flex: 0 0 44px;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 .25rem !important;
  text-align: center;
  width: 44px !important;
}

.rep-pdp-related__viewport .rep-pdp-related__cart button {
  align-items: center;
  display: inline-flex;
  flex: 1 1 auto;
  height: 32px !important;
  justify-content: center;
  line-height: 1;
  min-width: 0;
}

/* Fix PDP quantity minus glyph and center qty value. */
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper {
  align-items: center !important;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 5.75rem !important;
}
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty {
  -moz-appearance: textfield;
  appearance: textfield;
  display: block !important;
  flex: 0 0 2.25rem;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  height: 2.125rem !important;
  line-height: 2.125rem !important;
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  width: 100% !important;
}

.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty::-webkit-inner-spin-button,
.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rep-single-product .rep-pdp__buybox .quantity.rep-pdp__quantity-stepper .rep-pdp__quantity-button {
  align-items: center !important;
  display: grid !important;
  background: #f5f7fa !important;
  color: #526681 !important;
  flex: none;
  font-size: .9375rem !important;
  font-weight: 700 !important;
  height: 2.125rem !important;
  justify-items: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* PDP right column: selected specs, NSF banner, and shipping calculator. */
.rep-pdp-details-attributes-control {
  display: block;
  max-width: 520px;
}

.rep-pdp-details-attributes-control input[type="search"] {
  margin-bottom: .5rem;
  width: 100% !important;
}

.rep-pdp-details-attributes-list {
  background: #fff;
  border: 1px solid #dcdcde;
  display: grid;
  gap: .25rem .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 220px;
  overflow: auto;
  padding: .5rem;
}

.rep-pdp-details-attributes-list label {
  display: block;
  margin: 0;
}

.rep-single-product .rep-pdp-specifications {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.rep-single-product .rep-pdp-specifications__nsf-banner {
  align-items: center;
  background: #12b981;
  border-radius: 6px;
  color: #fff;
  display: flex;
  font-size: .86rem;
  font-weight: 800;
  justify-content: center;
  letter-spacing: .02em;
  margin-bottom: .75rem;
  min-height: 42px;
  text-transform: uppercase;
}

.rep-single-product .rep-pdp-specifications__list {
  border: 1px solid #dce3ec;
  border-radius: 5px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 1rem;
  overflow: hidden;
}

.rep-single-product .rep-pdp-specifications__row {
  border: 0 !important;
  border-bottom: 1px solid #dce3ec !important;
  display: block !important;
  min-height: 64px;
  padding: .65rem .75rem !important;
}

.rep-single-product .rep-pdp-specifications__row:nth-child(odd) {
  border-right: 1px solid #dce3ec !important;
}

.rep-single-product .rep-pdp-specifications__row:nth-last-child(-n+2) {
  border-bottom: 0 !important;
}

.rep-single-product .rep-pdp-specifications__row dt {
  color: #607089;
  display: block;
  font-size: .68rem !important;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 .25rem;
  text-transform: uppercase;
}

.rep-single-product .rep-pdp-specifications__row dd {
  color: #06152b;
  display: block;
  font-size: .82rem !important;
  font-weight: 500;
  line-height: 1.35 !important;
  margin: 0;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc {
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: 12px;
  padding: 1rem;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__title {
  color: #0a192f;
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: .8rem;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__country-wrap {
  margin-bottom: .7rem;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__country,
.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__zip,
.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__qty {
  background: #fff;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  color: #0a192f;
  font-size: .86rem;
  font-weight: 700;
  height: 44px;
  padding: 0 .75rem;
  width: 100%;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__row {
  display: grid;
  gap: .6rem;
  grid-template-columns: minmax(0, 1fr) 80px 110px;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__btn {
  align-items: center;
  background: #16a34a;
  border: 1px solid #16a34a;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: .86rem;
  font-weight: 800;
  height: 44px;
  justify-content: center;
  padding: 0 .8rem;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__hint {
  color: #50627a;
  font-size: .875rem;
  line-height: 1.45;
  margin: .65rem 0 0;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__fallback {
  display: none !important;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__detecting {
  align-items: center;
  color: #50627a;
  display: flex;
  font-size: .78rem;
  gap: .45rem;
  margin-top: .75rem;
}

.rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__spinner {
  animation: repSpin .7s linear infinite;
  border: 2px solid #dce3ec;
  border-top-color: #075ff7;
  border-radius: 999px;
  display: inline-block;
  height: 16px;
  width: 16px;
}

@keyframes repSpin { to { transform: rotate(360deg); } }

@media (max-width: 30rem) {
  .rep-single-product .rep-pdp-specifications__list,
  .rep-pdp-details-attributes-list {
    grid-template-columns: 1fr;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__row {
    grid-template-columns: 1fr;
  }
}

/* PDP three-column top layout: media, details/specs, buybox. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(0, 406px) minmax(260px, 1fr) 350px !important;
    column-gap: 1.5rem !important;
    align-items: start;
  }

  .rep-single-product div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 4 !important;
    width: 100% !important;
  }

  .rep-single-product div.product .rep-pdp-specifications {
    grid-column: 2 !important;
    grid-row: 4 !important;
    align-self: start;
    margin-top: 0 !important;
    width: 100%;
  }

  .rep-single-product div.product .rep-pdp__buybox {
    grid-column: 3 !important;
    grid-row: 4 !important;
    width: 350px !important;
  }

  .rep-single-product div.product .rep-pdp-related {
    grid-column: 1 / 3 !important;
    grid-row: 5 !important;
  }

  .rep-single-product div.product .rep-pdp-description {
    grid-column: 1 / 3 !important;
    grid-row: 6 !important;
  }
}

/* Admin PDP Details panel layout, loaded immediately with the admin script. */
#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-field {
  display: grid !important;
  grid-template-columns: 150px minmax(260px, 560px) !important;
  gap: 8px 12px !important;
  align-items: start !important;
  padding: 12px !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-field > label {
  float: none !important;
  margin: 0 !important;
  padding: 6px 0 0 !important;
  width: auto !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-control {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-control input[type="search"] {
  box-sizing: border-box !important;
  display: block !important;
  margin: 0 0 8px !important;
  max-width: none !important;
  width: 100% !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-list {
  background: #fff !important;
  border: 1px solid #dcdcde !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 6px 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: 190px !important;
  overflow: auto !important;
  padding: 8px !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-list label {
  align-items: flex-start !important;
  display: flex !important;
  float: none !important;
  gap: 6px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  width: auto !important;
}

#woocommerce-product-data #rep_pdp_details_product_data .rep-pdp-details-attributes-field > .description {
  display: block !important;
  grid-column: 2 !important;
  margin: 0 !important;
}

/* PDP media-info wrapper: left media plus right specs/calculator, then buybox. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(0, 1fr) 350px !important;
    column-gap: 1.5rem !important;
  }

  .rep-single-product div.product .rep-pdp-media-info {
    display: grid;
    grid-column: 1 !important;
    grid-row: 4 !important;
    grid-template-columns: minmax(0, 406px) minmax(280px, 1fr);
    gap: 1.5rem;
    min-width: 0;
    align-items: start;
  }

  .rep-single-product div.product .rep-pdp-media-info .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  .rep-single-product div.product .rep-pdp-media-info .rep-pdp-specifications {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    width: 100%;
  }

  .rep-single-product div.product .rep-pdp__buybox {
    grid-column: 2 !important;
    grid-row: 4 !important;
    width: 350px !important;
  }

  .rep-single-product div.product .rep-pdp-related,
  .rep-single-product div.product .rep-pdp-description {
    grid-column: 1 !important;
  }
}

.rep-single-product .rep-pdp-specifications__nsf-banner {
  display: none !important;
}

.rep-single-product .rep-pdp-specifications__nsf-card {
  align-items: center;
  background: #fff;
  border: 1px solid #dce3ec;
  border-radius: 6px;
  display: flex;
  gap: .7rem;
  margin-bottom: .85rem;
  padding: .75rem .85rem;
}

.rep-single-product .rep-pdp-specifications__nsf-card img {
  flex: 0 0 auto;
  height: 50px;
  object-fit: contain;
  width: 50px;
}

.rep-single-product .rep-pdp-specifications__nsf-card strong {
  color: #06152b;
  display: block;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: .25rem;
}

.rep-single-product .rep-pdp-specifications__nsf-card span {
  color: #06152b;
  display: block;
  font-size: .75rem;
  line-height: 1.45;
}

/* Fix wrapper scope: summary/title/buybox stay outside the media-info area. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product {
    grid-template-columns: minmax(0, 1fr) 350px !important;
    column-gap: 1.5rem !important;
    align-items: start !important;
  }

  .rep-single-product div.product .summary {
    display: contents !important;
  }

  .rep-single-product div.product .summary > .product_title {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .rep-single-product div.product .summary > .rep-pdp__identity {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  .rep-single-product div.product .rep-pdp-media-info {
    display: grid !important;
    grid-column: 1 !important;
    grid-row: 4 !important;
    grid-template-columns: minmax(0, 406px) minmax(300px, 1fr) !important;
    gap: 1.5rem !important;
    align-items: start !important;
    min-width: 0 !important;
  }

  .rep-single-product div.product .rep-pdp-media-info > .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-left: 5.9rem !important;
    width: 100% !important;
  }

  .rep-single-product div.product .rep-pdp-media-info > .rep-pdp-specifications {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    width: 100% !important;
  }

  .rep-single-product div.product .summary > .rep-pdp__buybox {
    grid-column: 2 !important;
    grid-row: 4 !important;
    width: 350px !important;
  }

  .rep-single-product div.product .rep-pdp-related {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }

  .rep-single-product div.product .rep-pdp-description {
    grid-column: 1 !important;
    grid-row: 6 !important;
  }
}

/* Keep PDP specs/calculator narrow enough between media and buybox. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product .rep-pdp-media-info {
    grid-template-columns: minmax(0, 406px) minmax(240px, 320px) !important;
    gap: 1rem !important;
    justify-content: start !important;
  }

  .rep-single-product div.product .rep-pdp-media-info > .rep-pdp-specifications {
    max-width: 320px !important;
    min-width: 0 !important;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__row {
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Account for thumbnail rail width so specs do not slide under the gallery. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product .rep-pdp-media-info {
    grid-template-columns: minmax(0, 500px) minmax(240px, 320px) !important;
    gap: 1.25rem !important;
  }

  .rep-single-product div.product .rep-pdp-media-info > .woocommerce-product-gallery {
    max-width: 500px !important;
  }
}

/* Stretch PDP specs/calculator across the space between media and buybox. */
@media (min-width: 73.76rem) {
  .rep-single-product div.product .rep-pdp-media-info {
    grid-template-columns: minmax(0, 500px) minmax(0, 1fr) !important;
    width: 100% !important;
  }

  .rep-single-product div.product .rep-pdp-media-info > .rep-pdp-specifications {
    max-width: none !important;
    width: 100% !important;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__row {
    grid-template-columns: minmax(0, 1fr) 78px 110px !important;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__btn {
    grid-column: auto !important;
    width: auto !important;
  }
}
/* REP PDP clean layout v2: one source of truth for the custom product page. */
.rep-single-product div.product {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

.rep-single-product div.product::before,
.rep-single-product div.product::after {
  content: none !important;
  display: none !important;
}

.rep-single-product .rep-pdp-product-header {
  width: 100%;
  margin: 0 0 1.75rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid var(--rep-border, #d7e0ec);
  background: #fff;
}

.rep-single-product .rep-pdp-product-header .product_title {
  width: 100%;
  margin: 0 0 .7rem;
  font-size: clamp(1.35rem, 1.7vw, 1.8rem);
  line-height: 1.2;
}

.rep-single-product .rep-pdp-section-1 {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: none !important;
  clear: both !important;
}

.rep-single-product .left-section-1-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 374px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

.rep-single-product .right-section-1-main {
  flex: 0 0 350px !important;
  width: 350px !important;
  min-width: 350px !important;
  max-width: 350px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1rem !important;
  float: none !important;
  clear: none !important;
}

.rep-single-product .rep-pdp-section-2-main {
  display: grid !important;
  grid-template-columns: minmax(380px, 500px) minmax(280px, 1fr) !important;
  gap: 1.5rem !important;
  align-items: start !important;
  width: 100% !important;
}

.rep-single-product .left-section-2,
.rep-single-product .right-section-2 {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
}

.rep-single-product .left-section-2 .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 !important;
  float: none !important;
}

.rep-single-product .right-section-2 {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.rep-single-product .right-section-2 > .rep-pdp-specifications,
.rep-single-product .right-section-1-main > .rep-pdp__buybox,
.rep-single-product .right-section-1-main > .rep-pdp-documents-resources,
.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.rep-single-product .right-section-1-main > .rep-pdp__buybox {
  order: 1 !important;
}

.rep-single-product .right-section-1-main > .rep-pdp-documents-resources {
  order: 2 !important;
  padding: 1rem;
  border: var(--rep-border, 1px solid #d7e0ec);
  border-radius: 8px;
  background: #fff;
}

.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  order: 3 !important;
}

.rep-single-product .rep-pdp-documents-resources h2,
.rep-single-product .rep-pdp-specifications--full-sidebar h2 {
  margin: 0 0 .8rem;
  font-size: 1rem;
  line-height: 1.25;
}

.rep-single-product .rep-pdp-documents-resources__empty {
  margin: 0;
  color: var(--rep-muted, #526681);
}

.rep-single-product .right-section-1-main .rep-pdp__buybox .single_add_to_cart_button {
  background: #075ff7 !important;
  border-color: #075ff7 !important;
  color: #fff !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.rep-single-product .right-section-1-main .rep-pdp__buybox .single_add_to_cart_button:hover {
  background: #064dcc !important;
  border-color: #064dcc !important;
}

.rep-single-product .right-section-1-main .rep-pdp__buybox form.cart,
.rep-single-product .right-section-1-main .rep-pdp__buybox .cart {
  width: 100% !important;
}

.rep-single-product .right-section-1-main .rep-pdp-specifications--full-sidebar .single_add_to_cart_button,
.rep-single-product .right-section-1-main .rep-pdp-specifications--full-sidebar form.cart,
.rep-single-product .right-section-1-main .rep-pdp-specifications--full-sidebar .cart {
  display: none !important;
}

.rep-single-product .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__list {
  display: block !important;
  border: var(--rep-border, 1px solid #d7e0ec);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.rep-single-product .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: .75rem !important;
  align-items: center !important;
  min-height: 42px;
  padding: .7rem .8rem;
  border-bottom: 1px solid var(--rep-border, #d7e0ec);
}

.rep-single-product .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__row:nth-child(odd) {
  background: #f5f6f7;
}

.rep-single-product .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__row:nth-child(even) {
  background: #fff;
}

.rep-single-product .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__row:last-child {
  border-bottom: 0;
}

.rep-single-product .rep-pdp-specifications--full-sidebar dt,
.rep-single-product .rep-pdp-specifications--full-sidebar dd {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.rep-single-product .rep-pdp-specifications--full-sidebar dt {
  color: var(--rep-muted, #526681);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.rep-single-product .rep-pdp-specifications--full-sidebar dd {
  color: var(--rep-ink, #001f3f);
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: right;
}

.rep-single-product .left-section-1-main > .rep-pdp-related,
.rep-single-product .left-section-1-main > .rep-pdp-description,
.rep-single-product .left-section-1-main > .rep-pdp-customer-reviews {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

@media (max-width: 1180px) {
  .rep-single-product .rep-pdp-section-1 {
    flex-direction: column !important;
  }

  .rep-single-product .left-section-1-main,
  .rep-single-product .right-section-1-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
}

@media (max-width: 860px) {
  .rep-single-product .rep-pdp-section-2-main {
    grid-template-columns: 1fr !important;
  }

  .rep-single-product .left-section-2 .woocommerce-product-gallery {
    max-width: none !important;
  }
}
/* REP PDP header meta + right sidebar card borders. */
.rep-single-product .rep-pdp-product-header .rep-pdp__identity {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__rating-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  margin: 0 !important;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__questions,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-upc {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 1rem !important;
  margin: 0 !important;
  color: #065cff;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-upc {
  color: #526681;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__rating-row::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__questions::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 1rem;
  margin: 0 .75rem;
  background: #aebacc;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__header-upc:last-child::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku:last-child::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__questions:last-child::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__rating-row:last-child::after {
  content: none;
}

.rep-single-product .right-section-1-main > .rep-pdp-documents-resources,
.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  padding: 0rem !important;
}

.rep-single-product .right-section-1-main > .rep-pdp-documents-resources {
  padding: 1rem !important;
}

.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__list {
  margin: 0 !important;
}
/* REP PDP Customer Reviews + Q&A restored design block. */
.rep-single-product .rep-pdp-customer-reviews {
  width: 100% !important;
  margin: 0 !important;
  padding-top: 1rem;
  border-top: var(--rep-border, 1px solid #d7e0ec);
  background: #fff;
}

.rep-single-product .rep-pdp-customer-reviews__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .88fr) !important;
  gap: 2rem !important;
  align-items: start !important;
}

.rep-single-product .rep-pdp-customer-reviews h2,
.rep-single-product .rep-pdp-qa-column h2 {
  margin: 0 0 1rem !important;
  color: var(--rep-ink, #001f3f);
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.rep-single-product .rep-pdp-reviews-column,
.rep-single-product .rep-pdp-qa-column {
  min-width: 0 !important;
}

.rep-single-product .rep-pdp-review-summary,
.rep-single-product .rep-pdp-qa-form,
.rep-single-product .rep-pdp-review-card,
.rep-single-product .rep-pdp-qa-card {
  border: var(--rep-border, 1px solid #d7e0ec) !important;
  border-radius: 6px !important;
  background: #fff !important;
}

.rep-single-product .rep-pdp-review-summary {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 1.4rem !important;
  align-items: center !important;
  min-height: 148px;
  margin-bottom: 1.5rem !important;
  padding: 1.5rem !important;
}

.rep-single-product .rep-pdp-review-summary__score {
  display: grid !important;
  justify-items: start !important;
  gap: .25rem !important;
  padding-right: 1.4rem !important;
  border-right: 0 !important;
  text-align: left !important;
}

.rep-single-product .rep-pdp-review-summary__score > strong {
  color: #454b54 !important;
  font-size: 2.45rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.rep-single-product .rep-pdp-review-summary__stars,
.rep-single-product .rep-pdp-review-card__stars {
  color: #ffbd00 !important;
  letter-spacing: .08em;
  line-height: 1;
}

.rep-single-product .rep-pdp-review-summary__score > span:last-child {
  color: #526681 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}

.rep-single-product .rep-pdp-review-summary__bars,
.rep-single-product .rep-pdp-review-list,
.rep-single-product .rep-pdp-qa-list {
  display: grid !important;
  gap: .75rem !important;
}

.rep-single-product .rep-pdp-review-bar {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 36px !important;
  gap: .6rem !important;
  align-items: center !important;
  color: #526681 !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
}

.rep-single-product .rep-pdp-review-bar i {
  display: block !important;
  height: 7px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e2e8f0 !important;
}

.rep-single-product .rep-pdp-review-bar b {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: var(--rep-rating-color, #80b400) !important;
}

.rep-single-product .rep-pdp-review-bar em {
  font-style: normal !important;
  text-align: right !important;
}

.rep-single-product .rep-pdp-review-card,
.rep-single-product .rep-pdp-qa-card {
  padding: 1rem 1.25rem !important;
}

.rep-single-product .rep-pdp-review-card__head {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  gap: .8rem !important;
  align-items: start !important;
  margin-bottom: .65rem !important;
}

.rep-single-product .rep-pdp-review-card__avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
}

.rep-single-product .rep-pdp-review-card__head strong,
.rep-single-product .rep-pdp-qa-card strong {
  color: var(--rep-ink, #001f3f) !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
}

.rep-single-product .rep-pdp-review-card__head span {
  margin-left: .35rem;
  color: #00a66a !important;
  font-size: .62rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.rep-single-product .rep-pdp-review-card__head time {
  color: #526681 !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.rep-single-product .rep-pdp-review-card__content,
.rep-single-product .rep-pdp-review-card__content p,
.rep-single-product .rep-pdp-qa-card p {
  margin: 0 !important;
  color: #526681 !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

.rep-single-product .rep-pdp-reviews-load {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
  margin-top: 1rem !important;
  padding: .65rem 1.2rem !important;
  border: var(--rep-border, 1px solid #d7e0ec) !important;
  border-radius: 4px !important;
  color: var(--rep-ink, #001f3f) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.rep-single-product .rep-pdp-qa-form {
  display: grid !important;
  gap: .8rem !important;
  margin: 0 0 1rem !important;
  padding: 1.25rem !important;
}

.rep-single-product .rep-pdp-qa-form input[type='text'],
.rep-single-product .rep-pdp-qa-form input[type='email'] {
  width: 100% !important;
  min-height: 42px !important;
  border: var(--rep-border, 1px solid #d7e0ec) !important;
  border-radius: 4px !important;
  padding: .75rem 1rem !important;
  color: var(--rep-ink, #001f3f) !important;
  box-sizing: border-box !important;
}

.rep-single-product .rep-pdp-qa-form button {
  width: 100% !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #071a33 !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.rep-single-product .rep-pdp-qa-card {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: .7rem !important;
}

.rep-single-product .rep-pdp-qa-card > span {
  color: #526681 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.rep-single-product .rep-pdp-qa-card strong {
  display: block !important;
  margin-bottom: .5rem !important;
}

.rep-single-product .rep-pdp-qa-form__trap {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.rep-single-product .rep-pdp-qa-form__notify {
  display: flex !important;
  align-items: flex-start !important;
  gap: .45rem !important;
  color: #526681 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rep-single-product .rep-pdp-qa-form__notify input {
  width: auto !important;
  min-height: 0 !important;
  margin-top: .15rem !important;
}

.rep-single-product .rep-pdp-qa-form__captcha {
  display: grid !important;
  gap: .35rem !important;
  color: #526681 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rep-single-product .rep-pdp-qa-form__status {
  margin: 0 !important;
  color: #526681 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

@media (max-width: 980px) {
  .rep-single-product .rep-pdp-customer-reviews__grid,
  .rep-single-product .rep-pdp-review-summary {
    grid-template-columns: 1fr !important;
  }

  .rep-single-product .rep-pdp-review-summary__score {
    padding-right: 0 !important;
    padding-bottom: 1rem !important;
    border-right: 0 !important;
    border-bottom: var(--rep-border, 1px solid #d7e0ec) !important;
  }
}
/* REP PDP Documents & Resources card layout restore. */
.rep-single-product .right-section-1-main .rep-pdp-documents {
  width: 100% !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .7rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__card {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: .55rem !important;
  align-items: start !important;
  justify-content: stretch !important;
  min-height: 0 !important;
  padding: .65rem .75rem !important;
  border: var(--rep-border, 1px solid #d7e0ec) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--rep-ink, #001f3f) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__card:hover,
.rep-single-product .right-section-1-main .rep-pdp-documents__card:focus-visible {
  border-color: #075ff7 !important;
  box-shadow: 0 0 0 1px #075ff7 !important;
  background: #fbfdff !important;
  color: var(--rep-ink, #001f3f) !important;
  text-decoration: none !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__thumb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 72px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background: #eef5ff !important;
  color: #075ff7 !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__thumb--pdf {
  background: #fff1f1 !important;
  color: #dc2626 !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__thumb--image {
  background: #f1f5f9 !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__thumb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

@media (max-width: 30rem) {
  .rep-single-product .right-section-1-main .rep-pdp-documents__card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .rep-single-product .right-section-1-main .rep-pdp-documents__thumb {
    width: 48px !important;
    height: 62px !important;
  }
}

.rep-single-product .right-section-1-main .rep-pdp-documents__file-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .62rem !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  line-height: 1 !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__body {
  display: grid !important;
  gap: .15rem !important;
  min-width: 0 !important;
  width: 100% !important;
  align-self: center !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__title {
  display: block !important;
  overflow: hidden !important;
  color: var(--rep-ink, #001f3f) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.rep-single-product .right-section-1-main .rep-pdp-documents__meta {
  display: block !important;
  color: #526681 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
/* REP PDP footer spacing: remove the stray gray band before footer. */
body.single-product:not(.rep-portal-page),
body.single-product:not(.rep-portal-page) .rep-site-main {
  background: #fff !important;
}

body.single-product:not(.rep-portal-page) .rep-site-main {
  padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

body.single-product:not(.rep-portal-page) .rep-site-footer {
  margin-top: 0 !important;
}

/* REP PDP header meta: use one clean separator between items only. */
.rep-single-product .rep-pdp-product-header .rep-pdp__identity {
  gap: 0 !important;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__rating-row::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__questions::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku::after,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-upc::after {
  content: none !important;
  display: none !important;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__rating-count,
.rep-single-product .rep-pdp-product-header .rep-pdp__questions,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-sku,
.rep-single-product .rep-pdp-product-header .rep-pdp__header-upc {
  border: 0 !important;
}

.rep-single-product .rep-pdp-product-header .rep-pdp__identity > * + * {
  margin-left: .7rem !important;
  padding-left: .7rem !important;
  border-left: 1px solid #c7d1df !important;
}

/* REP PDP mobile header meta spacing. */
@media (max-width: 560px) {
  .rep-single-product .rep-pdp-product-header .rep-pdp__identity {
    row-gap: .45rem !important;
    column-gap: 0 !important;
  }

  .rep-single-product .rep-pdp-product-header .rep-pdp__identity > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .rep-single-product .rep-pdp-product-header .rep-pdp__header-upc {
    margin-top: .1rem !important;
  }
}

/* REP header product search: restore one continuous border around the field. */
.rep-header-search .rep-product-search {
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border: 1px solid #c7d1df !important;
  border-radius: 6px !important;
  background: #fff !important;
}

.rep-header-search .rep-product-search:focus-within {
  border-color: #075ff7 !important;
  box-shadow: 0 0 0 2px rgba(7, 95, 247, .12) !important;
}

.rep-header-search .rep-product-search input[type='search'] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.rep-header-search .rep-product-search button {
  flex: 0 0 56px !important;
  border: 0 !important;
  border-left: 1px solid #c7d1df !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* REP header mega menu. */
.rep-header-catalog .rep-mega-menu {
  position: relative !important;
}

.rep-header-catalog .rep-mega-menu summary {
  position: relative;
  z-index: 61;
}

.rep-header-catalog .rep-mega-menu__panel {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  z-index: 60;
  display: none;
  width: min(1180px, calc(100vw - 2rem));
  min-height: 470px;
  overflow: hidden;
  border: 1px solid #cfd8e5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 26, 51, .18);
  color: #001f3f;
}

.rep-header-catalog .rep-mega-menu[open] .rep-mega-menu__panel {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
}

.rep-header-catalog .rep-mega-menu__rail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-right: 1px solid #e1e7f0;
  background: #fbfcfe;
}

.rep-header-catalog .rep-mega-menu__rail ul,
.rep-header-catalog .rep-mega-menu__group ul {
  position: static !important;
  display: grid !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

.rep-header-catalog .rep-mega-menu__rail ul {
  flex: 1 1 auto;
}

.rep-header-catalog .rep-mega-menu__rail-item {
  list-style: none !important;
  border-bottom: 1px solid #edf1f6;
}

.rep-header-catalog .rep-mega-menu__rail-item > a {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  min-height: 54px;
  padding: .55rem .9rem !important;
  border-radius: 0 !important;
  color: #001f3f !important;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none !important;
}

.rep-header-catalog .rep-mega-menu__rail-item:first-child > a,
.rep-header-catalog .rep-mega-menu__rail-item:hover > a,
.rep-header-catalog .rep-mega-menu__rail-item:focus-within > a {
  background: #eef5ff !important;
  color: #075ff7 !important;
}

.rep-header-catalog .rep-mega-menu__rail-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #526681;
}

.rep-header-catalog .rep-mega-menu__rail-thumb img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.rep-header-catalog .rep-mega-menu__rail-thumb .rep-icon {
  width: 25px;
  height: 25px;
}

.rep-header-catalog .rep-mega-menu__chevron,
.rep-header-catalog .rep-mega-menu__all span,
.rep-header-catalog .rep-mega-menu__view-all span {
  color: #075ff7;
  font-size: 1.1rem;
  line-height: 1;
}

.rep-header-catalog .rep-mega-menu__all {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: .75rem .9rem !important;
  border-top: 1px solid #e1e7f0;
  color: #075ff7 !important;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none !important;
}

.rep-header-catalog .rep-mega-menu__content {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.55rem 1.35rem 1.2rem;
}

.rep-header-catalog .rep-mega-menu__category {
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.15rem;
  min-width: 0;
}

.rep-header-catalog .rep-mega-menu__category:first-of-type,
.rep-header-catalog .rep-mega-menu__category.is-active {
  display: grid;
}

.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(1):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(2):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(3):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(4):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(5):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(6):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(7):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(8):hover) .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(9):hover) .rep-mega-menu__category {
  display: none;
}

.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(1):hover) .rep-mega-menu__category:nth-child(1),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(2):hover) .rep-mega-menu__category:nth-child(2),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(3):hover) .rep-mega-menu__category:nth-child(3),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(4):hover) .rep-mega-menu__category:nth-child(4),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(5):hover) .rep-mega-menu__category:nth-child(5),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(6):hover) .rep-mega-menu__category:nth-child(6),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(7):hover) .rep-mega-menu__category:nth-child(7),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(8):hover) .rep-mega-menu__category:nth-child(8),
.rep-header-catalog .rep-mega-menu__panel:has(.rep-mega-menu__rail-item:nth-child(9):hover) .rep-mega-menu__category:nth-child(9) {
  display: grid;
}

.rep-header-catalog .rep-mega-menu__group {
  min-width: 0;
}

.rep-header-catalog .rep-mega-menu__group-title {
  display: inline-flex !important;
  min-height: 0 !important;
  margin-bottom: .75rem;
  padding: 0 !important;
  color: #001f3f !important;
  font-size: .8rem;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none !important;
}

.rep-header-catalog .rep-mega-menu__image {
  display: block !important;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: .75rem;
  overflow: hidden;
  border-radius: 4px !important;
  background: linear-gradient(135deg, #edf2f8, #f8fafc);
  padding: 0 !important;
}

.rep-header-catalog .rep-mega-menu__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rep-header-catalog .rep-mega-menu__image > span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e7edf5, #f9fbfd);
}

.rep-header-catalog .rep-mega-menu__group ul {
  gap: .55rem;
}

.rep-header-catalog .rep-mega-menu__group li {
  list-style: none !important;
}

.rep-header-catalog .rep-mega-menu__group li a,
.rep-header-catalog .rep-mega-menu__view-all {
  display: inline-flex !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #001f3f !important;
  font-size: .74rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none !important;
}

.rep-header-catalog .rep-mega-menu__group li a:hover,
.rep-header-catalog .rep-mega-menu__group-title:hover,
.rep-header-catalog .rep-mega-menu__view-all:hover {
  color: #075ff7 !important;
  text-decoration: underline !important;
}

.rep-header-catalog .rep-mega-menu__view-all {
  margin-top: .9rem;
  color: #075ff7 !important;
  font-weight: 800;
}

.rep-header-catalog .rep-mega-menu__help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1.4rem;
  margin-top: auto;
  padding: 1rem 1.1rem;
  border: 1px solid #dce3ec;
  border-radius: 6px;
  background: #f7f9fc;
}

.rep-header-catalog .rep-mega-menu__help-copy {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
}

.rep-header-catalog .rep-mega-menu__help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #075ff7;
  color: #fff;
  flex: 0 0 auto;
}

.rep-header-catalog .rep-mega-menu__help-icon .rep-icon {
  width: 21px;
  height: 21px;
}

.rep-header-catalog .rep-mega-menu__help p {
  display: grid;
  gap: .22rem;
  margin: 0;
}

.rep-header-catalog .rep-mega-menu__help strong {
  color: #001f3f;
  font-size: .86rem;
  font-weight: 900;
}

.rep-header-catalog .rep-mega-menu__help span {
  color: #526681;
  font-size: .75rem;
}

.rep-header-catalog .rep-mega-menu__phone {
  display: grid !important;
  gap: .15rem;
  min-height: 0 !important;
  padding: 0 1.4rem !important;
  border-left: 1px solid #dce3ec;
  color: #001f3f !important;
  font-size: .86rem;
  font-weight: 900;
  text-decoration: none !important;
}

.rep-header-catalog .rep-mega-menu__phone span {
  color: #526681;
  font-size: .68rem;
  font-weight: 700;
}

.rep-header-catalog .rep-mega-menu__chat {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px !important;
  padding: .65rem 1.25rem !important;
  border-radius: 5px !important;
  background: #075ff7 !important;
  color: #fff !important;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none !important;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .rep-header-catalog .rep-mega-menu__panel {
    position: static;
    width: 100%;
    min-height: 0;
    margin-top: .5rem;
    box-shadow: none;
  }

  .rep-header-catalog .rep-mega-menu[open] .rep-mega-menu__panel {
    grid-template-columns: 1fr;
  }

  .rep-header-catalog .rep-mega-menu__rail {
    border-right: 0;
  }

  .rep-header-catalog .rep-mega-menu__content {
    display: none;
  }
}

/* REP mega menu mobile subcategories and JS active-state support. */
.rep-header-catalog .rep-mega-menu__mobile-subcats {
  display: none !important;
}

.rep-header-catalog .rep-mega-menu__rail-item.is-active > a {
  background: #eef5ff !important;
  color: #075ff7 !important;
}

@media (max-width: 980px) {
  .rep-header-catalog .rep-mega-menu__mobile-subcats {
    display: grid !important;
    gap: .2rem !important;
    margin: 0 !important;
    padding: .2rem 0 .7rem 4.4rem !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none !important;
  }

  .rep-header-catalog .rep-mega-menu__mobile-subcats li {
    list-style: none !important;
  }

  .rep-header-catalog .rep-mega-menu__mobile-subcats a {
    display: block !important;
    min-height: 0 !important;
    padding: .35rem 0 !important;
    color: #526681 !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .rep-header-catalog .rep-mega-menu__mobile-subcats a:hover,
  .rep-header-catalog .rep-mega-menu__mobile-subcats a:focus-visible {
    color: #075ff7 !important;
    text-decoration: underline !important;
  }
}

/* REP mega menu: JS controls the active desktop panel. */
.rep-header-catalog .rep-mega-menu__category,
.rep-header-catalog .rep-mega-menu__category:first-of-type {
  display: none !important;
}

.rep-header-catalog .rep-mega-menu__category.is-active {
  display: grid !important;
}

/* REP mega menu mobile accordion refinement. */
.rep-header-catalog .rep-mega-menu__mobile-toggle {
  display: none;
}

@media (max-width: 980px) {
  .rep-header-catalog .rep-mega-menu__rail-item > a {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    padding-right: .25rem !important;
  }

  .rep-header-catalog .rep-mega-menu__mobile-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin-left: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #075ff7 !important;
    box-shadow: none !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
  }

  .rep-header-catalog .rep-mega-menu__mobile-toggle:hover,
  .rep-header-catalog .rep-mega-menu__mobile-toggle:focus-visible {
    background: #e8f1ff !important;
  }

  .rep-header-catalog .rep-mega-menu__rail-item > a + .rep-mega-menu__mobile-subcats,
  .rep-header-catalog .rep-mega-menu__mobile-subcats {
    display: none !important;
  }

  .rep-header-catalog .rep-mega-menu__rail-item.is-mobile-open > .rep-mega-menu__mobile-subcats {
    display: grid !important;
  }

  .rep-header-catalog .rep-mega-menu__rail-item.is-mobile-open .rep-mega-menu__mobile-toggle span {
    transform: rotate(90deg);
  }
}

/* REP mega menu mobile: separate category link and expand button. */
@media (max-width: 980px) {
  .rep-header-catalog .rep-mega-menu__rail-item {
    position: relative;
  }

  .rep-header-catalog .rep-mega-menu__rail-item > a {
    padding-right: 3rem !important;
  }

  .rep-header-catalog .rep-mega-menu__rail-item > a .rep-mega-menu__chevron {
    display: none !important;
  }

  .rep-header-catalog .rep-mega-menu__rail-item > .rep-mega-menu__mobile-toggle {
    position: absolute;
    top: .55rem;
    right: .55rem;
    z-index: 2;
  }
}

/* REP category menu rollback: keep the stable simple dropdown while mega menu is redesigned. */
.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) {
  position: relative !important;
}

.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 60 !important;
  display: grid !important;
  min-width: 18rem !important;
  margin: .35rem 0 0 !important;
  padding: .55rem !important;
  border: 1px solid #dce3ec !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 16px 35px rgba(7, 26, 51, .14) !important;
  list-style: none !important;
}

.rep-header-catalog .rep-category-menu:not(.rep-mega-menu):not([open]) > ul {
  display: none !important;
}

.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul li {
  list-style: none !important;
}

.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul a {
  display: block !important;
  min-height: 0 !important;
  padding: .55rem .65rem !important;
  border-radius: 4px !important;
  color: #001f3f !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul a:hover,
.rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul a:focus-visible {
  background: #f4f7fb !important;
  color: #075ff7 !important;
}

@media (max-width: 48rem) {
  .rep-header-catalog .rep-category-menu:not(.rep-mega-menu) > ul {
    position: static !important;
    min-width: 0 !important;
    margin: .5rem 0 0 !important;
    box-shadow: none !important;
  }
}

/* REP header categories v2: separate desktop mega menu and mobile accordion. */
.rep-header-categories {
  position: relative;
}

.rep-header-categories__trigger {
  align-items: center !important;
  display: inline-flex !important;
  gap: .5rem !important;
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  padding: 0 .9rem !important;
  border: 1px solid #c7d1df !important;
  border-radius: 6px 0 0 6px !important;
  background: #f7f9fc !important;
  color: #001f3f !important;
  box-shadow: none !important;
  font-size: .875rem !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.rep-header-categories__trigger .rep-icon {
  width: 1.05rem;
  height: 1.05rem;
}

.rep-header-categories__trigger::after {
  content: '';
  width: .38rem;
  height: .38rem;
  margin-left: .25rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
}

.rep-header-categories__trigger[aria-expanded='true'] {
  border-color: #075ff7 !important;
}

.rep-header-megamenu {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  z-index: 90;
  width: min(1180px, calc(100vw - 2rem));
  min-height: 470px;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #cfd8e5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 26, 51, .18);
  color: #001f3f;
}

.rep-header-megamenu[hidden],
.rep-header-mobile-cats[hidden] {
  display: none !important;
}

.rep-header-megamenu__rail {
  display: flex;
  flex-direction: column;
  border-right: 1px solid #e1e7f0;
  background: #fbfcfe;
}

.rep-header-megamenu__tab {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  width: 100% !important;
  min-height: 54px !important;
  padding: .55rem .9rem !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #001f3f !important;
  box-shadow: none !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  text-align: left !important;
  text-decoration: none !important;
}

.rep-header-megamenu__tab.is-active,
.rep-header-megamenu__tab:hover,
.rep-header-megamenu__tab:focus-visible {
  background: #eef5ff !important;
  color: #075ff7 !important;
}

.rep-header-megamenu__tab-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #526681;
}

.rep-header-megamenu__tab-thumb img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.rep-header-megamenu__all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  min-height: 52px;
  padding: .75rem .9rem;
  border-top: 1px solid #e1e7f0;
  color: #075ff7 !important;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none !important;
}

.rep-header-megamenu__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.55rem 1.35rem 1.2rem;
}

.rep-header-megamenu__panel {
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.15rem;
}

.rep-header-megamenu__panel.is-active {
  display: grid;
}

.rep-header-megamenu__group {
  min-width: 0;
}

.rep-header-megamenu__title {
  align-items: flex-start !important;
  display: -webkit-box !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #001f3f !important;
  font-family: var(--rep-font-family) !important;
  font-size: .780rem;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rep-header-megamenu__image {
  align-self: start;
  display: block;
  flex: 0 0 auto;
  justify-self: start;
  width: 100%;
  max-width: 358px;
  height: auto;
  aspect-ratio: 358 / 201;
  margin: 0;
  padding: 0;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: transparent;
  clip-path: inset(0 round 8px);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.rep-header-megamenu__image img,
.rep-header-megamenu__image > span {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: 100%;
}

.rep-header-megamenu__image img {
  object-fit: contain;
  object-position: center;
  border-radius: 8px !important;
  background: transparent;
}

.rep-header-megamenu__group ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rep-header-megamenu__group ul a {
  color: #001f3f !important;
  font-size: .725rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none !important;
  padding: 0;
}

.rep-header-megamenu__view-all {
  display: inline-flex !important;
  margin-top: .35rem !important;
  color: #0a4dc6 !important;
  font-family: var(--rep-font-family) !important;
  font-size: .725rem;
  font-weight: 500 !important;
  line-height: 1.35;
  text-decoration: none !important;
  padding: .35rem 0 0;
  position: relative !important;
  z-index: 1 !important;
}

.rep-header-megamenu__title:hover,
.rep-header-megamenu__group a:hover,
.rep-header-megamenu__view-all:hover {
  color: #075ff7 !important;
  text-decoration: underline !important;
}

.rep-header-megamenu__help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1.4rem;
  margin-top: 25px;
  padding: 1rem 1.1rem;
  border: 1px solid #dce3ec;
  border-radius: 6px;
  background: #f7f9fc;
}

.rep-header-megamenu__help strong,
.rep-header-megamenu__help span,
.rep-header-megamenu__help a {
  display: block;
}

.rep-header-megamenu__help strong {
  color: #001f3f;
  font-size: .86rem;
  font-weight: 600;
}

.rep-header-megamenu__help span {
  color: #526681;
  font-size: .72rem;
}

.rep-header-megamenu__help a {
  color: #ffffff !important;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none !important;
}

.rep-header-megamenu__chat {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .65rem 1.25rem;
  border-radius: 5px;
  background: #075ff7;
  color: #fff !important;
  white-space: nowrap;
}

.rep-header-megamenu__help-intro {
  align-items: center;
  display: grid;
  gap: .8rem;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  min-width: 0;
}

.rep-header-megamenu__help .rep-header-megamenu__help-icon {
  align-items: center;
  background: #075ff7;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.rep-header-megamenu__help-icon .rep-icon {
  color: currentColor;
  height: 1.25rem;
  width: 1.25rem;
}

.rep-header-megamenu__help-copy {
  min-width: 0;
}

.rep-header-megamenu__help a.rep-header-megamenu__phone {
  align-items: center;
  border-left: 1px solid #dce3ec;
  color: #001f3f !important;
  display: grid;
  gap: .7rem;
  grid-template-columns: 1.5rem auto;
  padding: 0 1.4rem;
  white-space: nowrap;
}

.rep-header-megamenu__phone > .rep-icon {
  color: #001f3f;
  height: 1.35rem;
  width: 1.35rem;
}

.rep-header-megamenu__help .rep-header-megamenu__phone-copy strong {
  color: #001f3f;
  font-size: .86rem;
  font-weight: 700;
}

.rep-header-megamenu__help .rep-header-megamenu__phone-copy > span {
  color: #526681;
  font-size: .68rem;
  font-weight: 500;
  margin-top: .12rem;
}

.rep-header-mobile-cats {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  z-index: 90;
  width: min(360px, calc(100vw - 2rem));
  overflow: hidden;
  border: 1px solid #dce3ec;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 16px 35px rgba(7, 26, 51, .16);
}

.rep-header-mobile-cats__item + .rep-header-mobile-cats__item {
  border-top: 1px solid #edf1f6;
}

.rep-header-mobile-cats__toggle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-height: 48px !important;
  padding: .75rem .9rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #001f3f !important;
  box-shadow: none !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  text-align: left !important;
}

.rep-header-mobile-cats__item.is-open .rep-header-mobile-cats__toggle,
.rep-header-mobile-cats__toggle:hover,
.rep-header-mobile-cats__toggle:focus-visible {
  background: #eef5ff !important;
  color: #075ff7 !important;
}

.rep-header-mobile-cats__item.is-open .rep-header-mobile-cats__toggle span:last-child {
  transform: rotate(90deg);
}

.rep-header-mobile-cats__panel {
  padding: .25rem .9rem .85rem;
  background: #fbfcfe;
}

.rep-header-mobile-cats__panel ul {
  display: grid;
  gap: .45rem;
  margin: .55rem 0 0;
  padding: 0;
  list-style: none;
}

.rep-header-mobile-cats__panel a,
.rep-header-mobile-cats__all {
  color: #526681 !important;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
}

.rep-header-mobile-cats__view,
.rep-header-mobile-cats__all {
  color: #075ff7 !important;
  font-weight: 900 !important;
}

@media (max-width: 47.99rem) {
  .rep-header-mobile-cats__view {
    display: none !important;
  }
}

.rep-header-mobile-cats__all {
  display: block;
  padding: .85rem .9rem;
  border-top: 1px solid #edf1f6;
}

@media (max-width: 980px) {
  .rep-header-megamenu {
    display: none !important;
  }
}

@media (min-width: 981px) {
  .rep-header-mobile-cats {
    display: none !important;
  }
}

/* REP mobile categories: left-align category rows. */
@media (max-width: 980px) {
  .rep-header-mobile-cats__toggle {
    justify-content: space-between !important;
    text-align: left !important;
  }

  .rep-header-mobile-cats__toggle span:first-child {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
  }

  .rep-header-mobile-cats__toggle span:last-child {
    flex: 0 0 auto;
    margin-left: .75rem;
    text-align: right !important;
  }

  .rep-header-mobile-cats__view,
  .rep-header-mobile-cats__panel a,
  .rep-header-mobile-cats__all {
    text-align: left !important;
  }
}

/* REP category tiles: remove gray image tile background. */
.rep-home-category-card__media {
  background: transparent !important;
}

.rep-home-category-card__media img {
  background: transparent !important;
}

.rep-home-category-card__media {
  border-radius: .25rem;
}

.rep-home-category-card__media img {
  display: block;
}

.rep-home-category-card__media > img.attachment-medium {
  border-radius: .25rem !important;
  clip-path: inset(0 round .25rem);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* REP footer v2: dark managed footer menus. */
.rep-site-footer {
  background: #0b1d33 !important;
  border-top: 0 !important;
  color: #a9bed7 !important;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.rep-site-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.35fr) minmax(0, 2.65fr) !important;
  gap: clamp(3rem, 8vw, 7rem) !important;
  padding-block: clamp(2.7rem, 5vw, 4rem) 2.6rem !important;
}

.rep-site-footer__brand {
  min-width: 0;
}

.rep-site-footer__logo {
  display: inline-flex !important;
  align-items: center;
  gap: .65rem;
  color: #fff !important;
  text-decoration: none !important;
}

.rep-site-footer__logo-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: .45rem;
  background: #075ff7;
  color: #fff;
}

.rep-site-footer__logo-mark .rep-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.rep-site-footer__logo-main {
  color: #fff !important;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1;
}

.rep-site-footer__brand p {
  max-width: 22rem;
  margin: 1.3rem 0 0 !important;
  color: #a9bed7 !important;
  font-size: .86rem !important;
  line-height: 1.45 !important;
}

.rep-site-footer__social,
.rep-site-footer__payments,
.rep-site-footer__legal-links a {
  display: none !important;
}

.rep-site-footer__nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 6vw, 5rem) !important;
  align-items: start;
}

.rep-site-footer__column h2 {
  margin: 0 0 1.1rem !important;
  color: #fff !important;
  font-size: .95rem !important;

  letter-spacing: 0 !important;
  line-height: 1.2;
  text-transform: none !important;
}

.rep-site-footer__menu {
  display: grid !important;
  gap: .72rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.rep-site-footer__menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.rep-site-footer__menu a,
.rep-site-footer__menu a:visited {
  color: #a9bed7 !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  line-height: 1.25;
  text-decoration: none !important;
}

.rep-site-footer__menu a:hover,
.rep-site-footer__menu a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
}

.rep-site-footer__legal {
  display: block !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  padding-block: 1.1rem 1.35rem !important;
}

.rep-site-footer__copyright {
  margin: 0 !important;
  color: #a9bed7 !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.3;
  text-transform: none !important;
}

body.single-product:not(.rep-portal-page) .rep-site-footer {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .rep-site-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 2.25rem !important;
  }

  .rep-site-footer__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 620.01px) and (max-width: 900px) {
  .rep-site-footer__brand {
    align-items: center;
    display: flex;
    gap: clamp(1.5rem, 5vw, 3rem);
  }

  .rep-site-footer__logo {
    flex: 0 0 auto;
  }

  .rep-site-footer__brand p {
    flex: 1 1 auto;
    margin: 0 !important;
    max-width: 30rem;
  }
}

@media (max-width: 620px) {
  .rep-site-footer__nav {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
}

/* REP footer logo image support. */
.rep-site-footer__logo-image {
  display: block;
  height: auto;
  width: min(240px, 100%);
  max-width: 100%;
  max-height: 59px;
  object-fit: contain;
}

/* REP mega menu category cards: align titles and images in rows. */
.rep-header-megamenu__group {
  display: grid !important;
  grid-template-rows: 42px 200px auto auto !important;
  align-items: start !important;
}

/* REP mega menu layout fix: prevent category cards from overlapping. */
.rep-header-megamenu__panel {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  align-items: start !important;
}

.rep-header-megamenu__group {
  display: grid !important;
  grid-template-rows: 52px 200px auto auto !important;
  min-width: 0 !important;
  row-gap: .85rem !important;
}

.rep-header-megamenu__group ul {
  margin-top: .1rem !important;
}



@media (max-width: 1180px) {
  .rep-header-megamenu__panel {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
  }
}


/* REP mega menu final spacing guard: keep image, title and links separated. */
.rep-header-megamenu__content {
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.rep-header-megamenu__panel.is-active {
  display: grid !important;
}

.rep-header-megamenu__group {
  min-width: 0 !important;
}

.rep-header-megamenu__group ul {
  position: relative !important;
  z-index: 1 !important;
}

/* Mega-menu cards use content height; do not reserve empty rows. */
.rep-header-megamenu__group {
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  align-content: start !important;
  row-gap: .65rem !important;
}

.rep-header-megamenu__group.has-no-subcategories .rep-header-megamenu__view-all {
  margin-top: 0 !important;
}

/* Mega-menu typography, chevrons and taller category photography. */
.rep-header-megamenu__tab,
.rep-header-megamenu__tab > span:nth-child(2) {
  font-family: var(--rep-font-family) !important;
}

.rep-header-megamenu__tab > span:nth-child(2) {
  font-size: .8rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.rep-header-megamenu__tab > span:last-child,
.rep-header-megamenu__all > span:last-child,
.rep-header-megamenu__view-all > span:last-child {
  display: inline-block !important;
  width: .62rem !important;
  height: .62rem !important;
  flex: 0 0 .62rem !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: rotate(45deg) !important;
}

.rep-header-megamenu__tab > span:last-child {
  margin-right: .15rem;
}

.rep-header-megamenu {
  width: min(1320px, calc(100vw - 2rem)) !important;
  grid-template-columns: 270px minmax(0, 1fr) !important;
}

.rep-header-megamenu__tab {
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  min-height: 64px !important;
}

.rep-header-megamenu__tab-thumb,
.rep-header-megamenu__tab-thumb img {
  width: 46px !important;
  height: 50px !important;
}

.rep-header-megamenu__tab-thumb img {
  object-fit: contain !important;
  object-position: center !important;
}

/* Anchor the desktop mega menu to the full header container, not the Categories button. */
@media (min-width: 48.01rem) {
  .rep-site-header__inner {
    position: relative;
  }

  .rep-header-catalog,
  .rep-header-categories {
    position: static !important;
  }

  .rep-header-megamenu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100vh - 8rem);
    min-height: min(470px, calc(100vh - 8rem));
    overflow: hidden;
    overscroll-behavior: contain;
  }

  .rep-header-megamenu__rail,
  .rep-header-megamenu__content {
    max-height: calc(100vh - 8rem);
    min-height: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  @supports (height: 100dvh) {
    .rep-header-megamenu {
      max-height: calc(100dvh - 8rem);
      min-height: min(470px, calc(100dvh - 8rem));
    }

    .rep-header-megamenu__rail,
    .rep-header-megamenu__content {
      max-height: calc(100dvh - 8rem);
    }
  }

  .rep-header-megamenu__rail::-webkit-scrollbar,
  .rep-header-megamenu__content::-webkit-scrollbar { width: 9px; }
  .rep-header-megamenu__rail::-webkit-scrollbar-track,
  .rep-header-megamenu__content::-webkit-scrollbar-track { background: #f3f6fa; }
  .rep-header-megamenu__rail::-webkit-scrollbar-thumb,
  .rep-header-megamenu__content::-webkit-scrollbar-thumb { background: #9fb0c5; border: 2px solid #f3f6fa; border-radius: 999px; }
  .rep-header-megamenu__rail::-webkit-scrollbar-thumb:hover,
  .rep-header-megamenu__content::-webkit-scrollbar-thumb:hover { background: #71859e; }
}

/* REP Shopping Cart redesign from approved UX reference. WooCommerce remains cart authority. */
.woocommerce-cart .rep-site-main.rep-container {
  max-width: var(--rep-container-wide);
  padding-block: 1.25rem 2rem;
}

.woocommerce-cart .rep-generic-layout {
  max-width: none !important;
  padding-block: 0;
}

body.woocommerce-cart .rep-site-footer {
  margin-top: 0;
}

.woocommerce-cart .rep-content-shell--page {
  max-width: none;
  width: 100%;
}

.woocommerce-cart .rep-content-shell__header {
  border-bottom: var(--rep-border);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.woocommerce-cart .rep-content-shell__title {
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  margin-bottom: .25rem;
}

.woocommerce-cart .rep-entry-content {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .entry-content > .woocommerce {
  align-items: start;
  display: grid !important;
  gap: clamp(1.25rem, 2vw, 2rem) !important;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem) !important;
}

.woocommerce-cart .entry-content > .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info,.cart-empty,.return-to-shop,.rep-cart-intro,.rep-cart-stock-notice) {
  grid-column: 1 / -1;
}

.woocommerce-cart .rep-cart-intro {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: -.35rem;
}

.woocommerce-cart .rep-cart-intro__count {
  color: var(--rep-color-text-muted);
  font-size: var(--rep-font-size-sm);
  margin: 0;
}

.woocommerce-cart .rep-cart-intro__continue {
  color: var(--rep-color-primary);
  font-size: var(--rep-font-size-sm);
  font-weight: 700;
  text-decoration: none;
}

.woocommerce-cart .rep-cart-intro__continue::before {
  content: '\2190';
  margin-right: .4rem;
}

.woocommerce-cart .rep-cart-stock-notice {
  align-items: flex-start;
  background: #fff8e8;
  border: 1px solid #f4d79a;
  border-radius: var(--rep-radius-md);
  color: #7a4a08;
  display: flex;
  gap: .65rem;
  margin: 0;
  padding: .75rem .9rem;
}

.woocommerce-cart .rep-cart-stock-notice > span {
  align-items: center;
  background: #f59e0b;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  height: 1.25rem;
  justify-content: center;
  line-height: 1;
  margin-top: .1rem;
  width: 1.25rem;
}

.woocommerce-cart .rep-cart-stock-notice p {
  font-size: .8125rem;
  margin: 0;
}

.woocommerce-cart form.woocommerce-cart-form {
  min-width: 0;
}

.woocommerce-cart .rep-cart-items-heading {
  align-items: center;
  background: var(--rep-color-surface-subtle);
  border: var(--rep-border);
  border-bottom: 0;
  border-radius: var(--rep-radius-md) var(--rep-radius-md) 0 0;
  color: var(--rep-color-heading);
  display: flex;
  font-size: var(--rep-font-size-sm);
  gap: .55rem;
  min-height: 3rem;
  padding: 0 1rem;
}

.woocommerce-cart table.shop_table.cart {
  border-color: var(--rep-color-border) !important;
  border-radius: 0 0 var(--rep-radius-md) var(--rep-radius-md) !important;
  box-shadow: 0 2px 10px rgba(16,35,63,.055) !important;
  overflow: hidden;
}

.woocommerce-cart table.shop_table.cart th {
  background: #f5f7f8 !important;
  color: rgba(16,35,63,.72);
  font-size: .75rem;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.woocommerce-cart table.shop_table.cart td {
  padding: 1rem !important;
}

.woocommerce-cart table.shop_table.cart tr.cart_item td {
  background: #fff;
}

.woocommerce-cart table.shop_table.cart tr.cart_item + tr.cart_item td {
  border-top: var(--rep-border);
}

.woocommerce-cart td.product-thumbnail {
  width: 8.25rem !important;
}

.woocommerce-cart td.product-thumbnail img {
  background: #fff;
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  height: 6.875rem;
  object-fit: contain;
  padding: .35rem;
  width: 6.875rem !important;
}

.woocommerce-cart td.product-name > a {
  color: var(--rep-color-heading);
  display: inline-block;
  font-size: .9375rem;
  font-weight: 800;
  line-height: 1.35;
  max-width: 38rem;
  text-decoration: none;
}

.woocommerce-cart .rep-cart-item__sku,
.woocommerce-cart .variation {
  color: rgba(38,54,74,.62);
  font-size: .75rem;
}

.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
  color: var(--rep-color-heading);
  font-weight: 800;
  white-space: nowrap;
}

.woocommerce-cart td.product-price {
  font-size: .925rem;
}

.woocommerce-cart td.product-subtotal {
  font-size: 1rem;
}

.woocommerce-cart .quantity .qty {
  border-color: var(--rep-color-border);
  border-radius: var(--rep-radius-sm);
  font-weight: 700;
  min-height: 2.55rem;
  text-align: center;
  width: 4.75rem;
}

.woocommerce-cart a.remove {
  color: var(--rep-color-danger) !important;
  font-size: 1.1rem !important;
  min-height: 2.35rem !important;
  min-width: 2.35rem !important;
}

.woocommerce-cart .rep-cart-remove-label {
  font-size: .75rem;
  font-weight: 700;
}

.woocommerce-cart td.actions {
  background: #f5f7f8 !important;
  padding: 1rem !important;
}

.woocommerce-cart td.actions .coupon .input-text {
  border-radius: var(--rep-radius-sm);
  min-height: 2.75rem;
}

.woocommerce-cart td.actions .button {
  border-radius: var(--rep-radius-sm);
  font-weight: 800;
  min-height: 2.75rem;
}

.woocommerce-cart .cart-collaterals {
  position: sticky;
  top: 1rem;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  border: var(--rep-border) !important;
  border-radius: var(--rep-radius-md) !important;
  box-shadow: 0 2px 10px rgba(16,35,63,.07) !important;
  overflow: hidden;
}

.woocommerce-cart .cart_totals h2 {
  background: #fff !important;
  border-bottom: var(--rep-border);
  font-size: 1.125rem;
  margin: 0 !important;
  padding: 0 0 0.5rem 0 !important;
}

.woocommerce-cart .cart_totals table {
  margin: 0 !important;
}

.woocommerce-cart .cart_totals :where(th,td) {
  border-top: 0 !important;
  padding: .7rem 1rem !important;
}

.woocommerce-cart .cart_totals tr.order-total :where(th,td) {
  border-top: var(--rep-border) !important;
  color: var(--rep-color-heading);
  font-size: 1.05rem;
  padding-top: 1rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 1rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  align-items: center;
  background: var(--rep-color-primary) !important;
  border-radius: var(--rep-radius-sm);
  display: flex;
  font-size: .9375rem !important;
  font-weight: 800;
  justify-content: center;
  min-height: 3.25rem !important;
}

.woocommerce-cart .rep-cart-summary-actions {
  padding: 0 1rem 1rem;
}

.woocommerce-cart .rep-cart-summary-actions__quote {
  align-items: center;
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  color: var(--rep-color-heading);
  display: flex;
  font-size: .875rem;
  font-weight: 800;
  justify-content: center;
  min-height: 3rem;
  text-decoration: none;
}

.woocommerce-cart .rep-cart-summary-actions__quote:hover {
  background: var(--rep-color-surface-subtle);
  color: var(--rep-color-heading);
}

.woocommerce-cart .rep-cart-trust {
  border-top: var(--rep-border);
  display: grid;
  gap: .7rem .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1rem;
}

.woocommerce-cart .rep-cart-trust span {
  color: rgba(38,54,74,.68);
  font-size: .875rem;
  line-height: 1.3;
}

.woocommerce-cart .rep-cart-trust span::before {
  color: var(--rep-color-primary);
  content: '\2713';
  font-weight: 900;
  margin-right: .35rem;
}

.woocommerce-cart .cart-empty {
  padding: clamp(2.25rem, 5vw, 4rem) !important;
}

/* REP empty cart */
.woocommerce-cart { overflow-x: clip; }
.woocommerce-cart :is(.rep-site-main,.rep-generic-layout,.rep-content-shell,.rep-entry-content) { max-width: 100%; min-width: 0; }
.woocommerce-cart .rep-content-shell { overflow-x: clip; }
.woocommerce-cart .rep-entry-content > .woocommerce:has(.rep-empty-cart-layout) { display: block !important; max-width: 100%; min-width: 0; overflow: hidden; width: 100%; }
.rep-empty-cart-layout { align-items: start; display: grid; gap: 2rem; grid-template-columns: minmax(0,1fr) minmax(17rem,20rem); max-width: 100%; min-width: 0; overflow: hidden; width: 100%; }
.rep-empty-cart-main { contain: inline-size; display: grid; gap: 2.5rem; max-width: 100%; min-width: 0; overflow: hidden; width: 100%; }
.rep-empty-cart-hero { align-items: center; background: #fff; border: 1px solid #dce4ee; border-radius: 8px; display: flex; flex-direction: column; padding: clamp(2.5rem,6vw,4rem) 1.5rem; text-align: center; }
.rep-empty-cart-hero__icon { align-items: center; background: #f1f5f9; border-radius: 50%; color: #b3bfce; display: flex; height: 88px; justify-content: center; margin-bottom: 1.25rem; width: 88px; }
.rep-empty-cart-hero__icon svg { height: 38px; width: 38px; }
.rep-empty-cart-hero h2 { color: #0a192f; font-size: clamp(1.45rem,3vw,1.85rem); margin: 0 0 .65rem; }
.rep-empty-cart-hero p { color: #64748b; font-size: .875rem; line-height: 1.65; margin: 0 0 1.5rem; max-width: 34rem; }
.rep-empty-cart-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.rep-empty-cart-hero__actions .rep-button { min-width: 11rem; text-transform: uppercase; }
.woocommerce-cart .rep-empty-cart-hero__actions a.rep-button:hover,
.woocommerce-cart .rep-empty-cart-hero__actions a.rep-button:focus-visible,
.woocommerce-cart .return-to-shop a.rep-button:hover,
.woocommerce-cart .return-to-shop a.rep-button:focus-visible { background: var(--rep-color-primary-hover); border-color: var(--rep-color-primary-hover); color: #fff; }
.rep-empty-cart-products { contain: inline-size; max-width: 100%; min-width: 0; overflow: hidden; width: 100%; }
.rep-empty-cart-products > header { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.rep-empty-cart-products > header h2 { color: #0a192f; font-size: 1.05rem; margin: 0; text-transform: uppercase; }
.rep-empty-cart-products > header a { color: #075ff7; font-size: .72rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.rep-empty-cart-products__actions { align-items: center; display: flex; gap: .45rem; }
.rep-empty-cart-products__actions button { align-items: center; background: #fff; border: 1px solid #d7e0ea; border-radius: 50%; color: #075ff7; display: inline-flex; font-size: 1rem; height: 34px; justify-content: center; min-height: 34px; padding: 0; width: 34px; }
.rep-empty-cart-products__actions button:disabled { color: #aab6c5; cursor: default; opacity: .55; }
.rep-empty-cart-products .rep-empty-cart-carousel { box-sizing: border-box; contain: inline-size; display: flex; flex-wrap: nowrap; gap: 1rem; max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; padding: 2px 2px .65rem; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; width: 100%; }
.rep-empty-cart-carousel::-webkit-scrollbar { display: none; }
.rep-empty-cart-carousel .rep-product-grid__item { display: flex; flex: 0 0 min(240px,calc((100% - 4rem) / 5)); max-width: 240px; min-width: 0; scroll-snap-align: start; width: min(240px,calc((100% - 4rem) / 5)); }
.rep-empty-cart-sidebar { display: grid; gap: 1rem; min-width: 0; position: relative; width: 100%; }
.rep-empty-cart-help,.rep-empty-cart-side-card { border-radius: 8px; padding: 1.5rem; }
.rep-empty-cart-help { background: #0a192f; color: #fff; overflow: hidden; }
.rep-empty-cart-help > span { align-items: center; background: #075ff7; border-radius: 50%; display: flex; height: 44px; justify-content: center; margin-bottom: 1.1rem; width: 44px; }
.rep-empty-cart-help svg { height: 20px; width: 20px; }
.rep-empty-cart-help h2 { color: #fff; font-size: 1.1rem; margin: 0 0 .6rem; }
.rep-empty-cart-help p { color: #b9c7d9; font-size: .78rem; line-height: 1.6; margin: 0 0 1.25rem; }
.rep-empty-cart-help .rep-button { width: 100%; }
.woocommerce-cart .rep-empty-cart-help a.rep-button:hover,
.woocommerce-cart .rep-empty-cart-help a.rep-button:focus-visible { background: var(--rep-color-primary-hover); border-color: var(--rep-color-primary-hover); color: #fff; }
.rep-empty-cart-side-card { background: #fff; border: 1px solid #dce4ee; }
.rep-empty-cart-side-card h2 { color: #0a192f; font-size: .78rem; letter-spacing: .08em; margin: 0 0 .75rem; text-transform: uppercase; }
.rep-empty-cart-side-card p { color: #64748b; font-size: .76rem; line-height: 1.6; margin: 0 0 1rem; }
.rep-empty-cart-side-card a { color: #075ff7; font-size: .73rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.rep-empty-cart-links { display: grid; gap: .75rem; }
.rep-empty-cart-links h2 { margin-bottom: .15rem; }
.rep-empty-cart-links a { color: #526681; text-transform: none; }
.woocommerce-cart .rep-empty-cart-layout + .rep-saved-later-region { margin-top: 2.5rem; }
@media (max-width: 64rem) { .rep-empty-cart-layout { grid-template-columns: minmax(0,1fr); } .rep-empty-cart-sidebar { grid-template-columns: repeat(3,minmax(0,1fr)); } .rep-empty-cart-carousel .rep-product-grid__item { flex-basis: min(240px,calc((100% - 2rem) / 3)); width: min(240px,calc((100% - 2rem) / 3)); } }
@media (max-width: 48rem) { .rep-empty-cart-sidebar { grid-template-columns: minmax(0,1fr); } .rep-empty-cart-carousel .rep-product-grid__item { flex-basis: min(240px,calc((100% - 1rem) / 2)); width: min(240px,calc((100% - 1rem) / 2)); } }
@media (max-width: 36rem) { .rep-empty-cart-carousel .rep-product-grid__item { flex-basis: min(240px,calc(100vw - 3rem)); width: min(240px,calc(100vw - 3rem)); } .rep-empty-cart-products > header { align-items: flex-start; } .rep-empty-cart-products__actions > a { display: none; } .rep-empty-cart-hero__actions,.rep-empty-cart-hero__actions .rep-button { width: 100%; } }

@media (max-width: 64rem) {
  .woocommerce-cart .entry-content > .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .woocommerce-cart .cart-collaterals {
    position: static;
  }
}

@media (max-width: 48rem) {
  .woocommerce-cart .rep-cart-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }

  .woocommerce-cart .rep-cart-items-heading {
    border-bottom: var(--rep-border);
    border-radius: var(--rep-radius-md) var(--rep-radius-md) 0 0;
  }

  .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item {
    background: #fff;
    border: var(--rep-border);
    border-radius: var(--rep-radius-md);
    box-shadow: 0 2px 8px rgba(16,35,63,.045);
    display: grid;
    gap: .15rem .9rem;
    grid-template-columns: 5.25rem minmax(0,1fr);
    margin: .85rem 0;
    padding: .85rem;
  }

  .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td {
    border: 0 !important;
    padding: .15rem 0 !important;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail {
    grid-row: 1 / span 6;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail img {
    height: 4.75rem;
    width: 4.75rem !important;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-name > a {
    font-size: .875rem;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-price::before,
  .woocommerce-cart table.shop_table_responsive.cart td.product-quantity::before,
  .woocommerce-cart table.shop_table_responsive.cart td.product-subtotal::before {
    color: var(--rep-color-text-muted);
    display: inline-block;
    float: none;
    font-size: .75rem;
    font-weight: 700;
    margin-right: .35rem;
    min-width: 4.6rem;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-remove {
    margin-top: .3rem;
  }

  .woocommerce-cart td.actions .coupon {
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .woocommerce-cart td.actions .coupon .input-text,
  .woocommerce-cart td.actions .coupon .button,
  .woocommerce-cart td.actions > .button {
    margin: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 24.375rem) {
  .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item {
    grid-template-columns: 4.25rem minmax(0,1fr);
    padding: .75rem;
  }

  .woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail img {
    height: 3.8rem;
    width: 3.8rem !important;
  }

  .woocommerce-cart .rep-cart-trust {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* REP cart selector compatibility for custom page content wrapper. */
.woocommerce-cart .rep-entry-content > .woocommerce {
  align-items: start;
  display: grid !important;
  gap: clamp(1.25rem, 2vw, 2rem) !important;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem) !important;
}

.woocommerce-cart .rep-entry-content > .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info,.cart-empty,.return-to-shop,.rep-cart-intro,.rep-cart-stock-notice) {
  grid-column: 1 / -1;
}

.woocommerce-cart .rep-entry-content > .woocommerce > form.woocommerce-cart-form {
  grid-column: 1;
}

.woocommerce-cart .rep-entry-content > .woocommerce > .cart-collaterals {
  grid-column: 2;
  grid-row: 3 / span 2;
}

.woocommerce-cart .rep-entry-content table.shop_table.cart {
  display: table !important;
  width: 100% !important;
}

@media (max-width: 64rem) {
  .woocommerce-cart .rep-entry-content > .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .woocommerce-cart .rep-entry-content > .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .rep-entry-content > .woocommerce > .cart-collaterals {
    grid-column: 1;
    grid-row: auto;
  }
}

/* REP cart emergency layout guard: prevent narrow desktop table collapse. */
.woocommerce-cart .rep-entry-content > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce {
  grid-template-columns: minmax(42rem, 1fr) minmax(18rem, 24rem) !important;
}

.woocommerce-cart table.shop_table.cart {
  table-layout: auto !important;
}

.woocommerce-cart table.shop_table.cart .product-name {
  min-width: 18rem !important;
}

.woocommerce-cart table.shop_table.cart .product-price,
.woocommerce-cart table.shop_table.cart .product-quantity,
.woocommerce-cart table.shop_table.cart .product-subtotal {
  min-width: 6.5rem !important;
}

.woocommerce-cart table.shop_table.cart .product-remove {
  min-width: 4.5rem !important;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail {
  min-width: 7rem !important;
}

.woocommerce-cart .rep-cart-trust span::before {
  content: '\2713' !important;
}

@media (max-width: 80rem) {
  .woocommerce-cart .rep-entry-content > .woocommerce,
  .woocommerce-cart .entry-content > .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .woocommerce-cart .rep-entry-content > .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .rep-entry-content > .woocommerce > .cart-collaterals,
  .woocommerce-cart .entry-content > .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .entry-content > .woocommerce > .cart-collaterals {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .woocommerce-cart .cart-collaterals {
    position: static !important;
  }
}

@media (min-width: 48.01rem) and (max-width: 80rem) {
  .woocommerce-cart form.woocommerce-cart-form {
    overflow-x: auto;
  }

  .woocommerce-cart table.shop_table.cart {
    min-width: 46rem;
  }
}

/* REP cart definitive placement fix after live markup inspection. */
.woocommerce-cart .rep-entry-content > .woocommerce {
  grid-template-areas:
    "intro intro"
    "notice notice"
    "items totals" !important;
  grid-template-columns: minmax(42rem, 1fr) minmax(18rem, 24rem) !important;
}

.woocommerce-cart .rep-entry-content > .woocommerce > .rep-cart-intro {
  grid-area: intro !important;
}

.woocommerce-cart .rep-entry-content > .woocommerce > .rep-cart-stock-notice {
  grid-area: notice !important;
}

.woocommerce-cart .rep-entry-content > .woocommerce > form.woocommerce-cart-form {
  grid-area: items !important;
}

.woocommerce-cart .rep-entry-content > .woocommerce > .cart-collaterals {
  grid-area: totals !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin-top: 0 !important;
}

.woocommerce-cart .rep-cart-intro__continue::before {
  content: none !important;
}

.woocommerce-cart .rep-cart-intro__continue {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}

.woocommerce-cart .rep-cart-intro__continue::after {
  content: '';
}

.woocommerce-cart .rep-cart-items-heading span[aria-hidden='true'] {
  color: var(--rep-color-primary);
  font-size: .85rem;
  line-height: 1;
}

@media (max-width: 80rem) {
  .woocommerce-cart .rep-entry-content > .woocommerce {
    grid-template-areas:
      "intro"
      "notice"
      "items"
      "totals" !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* REP cart item card treatment on desktop/tablet, preserving native Woo table form/actions. */
@media (min-width: 48.01rem) {
  .woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.shop_table.cart tbody,
  .woocommerce-cart table.shop_table.cart tr,
  .woocommerce-cart table.shop_table.cart td {
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart tbody {
    background: #fff;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item {
    align-items: center;
    border-bottom: var(--rep-border);
    display: grid !important;
    gap: 1rem;
    grid-template-columns: 2.75rem 7rem minmax(0, 1fr) 6rem 6rem 7rem;
    padding: 1rem;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item td {
    border: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-remove,
  .woocommerce-cart table.shop_table.cart td.product-thumbnail,
  .woocommerce-cart table.shop_table.cart td.product-name,
  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-cart table.shop_table.cart td.product-quantity,
  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    width: auto !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name {
    min-width: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name > a {
    max-width: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    height: 6.25rem;
    width: 6.25rem !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    text-align: right;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity {
    text-align: center;
  }

  .woocommerce-cart table.shop_table.cart tr:last-child td.actions {
    display: block !important;
  }
}

@media (min-width: 48.01rem) and (max-width: 80rem) {
  .woocommerce-cart form.woocommerce-cart-form {
    overflow-x: visible !important;
  }

  .woocommerce-cart table.shop_table.cart {
    min-width: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item {
    grid-template-columns: 2.5rem 6.25rem minmax(14rem, 1fr) 5.5rem 5.5rem 6.25rem;
  }
}

/* REP cart block implementation: card list aligned to Shopping Cart UX reference. */
.woocommerce-cart .rep-cart-item .rep-cart-quantity-limit { flex-basis: 100%; order: 10; color: #dc2626; font-size: .75rem; line-height: 1.4; margin: .15rem 0 0; }
.woocommerce-cart .rep-cart-quantity-limit[hidden] { display: none; }
.woocommerce-cart .rep-cart-layout [data-rep-cart-step]:disabled { opacity: 1; background: #f1f5f9; color: #b3bcc9; cursor: not-allowed; }
.woocommerce-cart .rep-cart-item .rep-cart-item__stock-warning { display: flex; align-items: center; gap: .35rem; color: #dc2626; font-size: .75rem; line-height: 1.4; margin: .4rem 0 0; }
.woocommerce-cart .rep-cart-item__stock-warning > span { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 12px; width: 12px; height: 12px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 9px; font-weight: 700; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table .rep-summary-discount :where(th,td,.amount,a) { color: #075ff7; }
.woocommerce-cart .rep-summary-coupon { display: block; font-size: .7rem; margin-top: .2rem; }
.woocommerce-cart .rep-cart-header-meta { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .25rem; }
.woocommerce-cart .rep-cart-header-meta .rep-cart-header-count { margin: 0; }
.woocommerce-cart .rep-cart-header-meta .rep-cart-intro { position: static; margin: 0; }
.woocommerce-cart .rep-cart-header-meta .rep-cart-intro__continue { font-size: .875rem; }
.woocommerce-cart .rep-cart-notices { width: 100%; min-width: 0; }
.woocommerce-cart .rep-cart-notices:empty { display: none; }
.woocommerce-cart .rep-cart-notices > :last-child { margin-bottom: 1rem; }
.woocommerce-cart .rep-entry-content .rep-cart-summary-column .rep-cart-intro { position: static; display: flex; justify-content: flex-end; margin: 0 0 .65rem; }
.woocommerce-cart .rep-cart-summary-column .rep-cart-intro__continue { gap: .4rem; font-size: .8125rem; }
.woocommerce-cart .rep-cart-intro__continue svg { flex: 0 0 16px; width: 16px; height: 16px; }
.woocommerce-cart .rep-order-summary .rep-summary-save-cart { text-align: center; margin: .5rem 0 0; }
.woocommerce-cart .rep-order-summary .rep-summary-save-cart button { background: none; border: 0; color: #64748b; font-size: .875rem; font-weight: 400; padding: .25rem .5rem; min-height: 28px; box-shadow: none; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-cart .rep-order-summary .rep-summary-save-cart button:hover { color: #075ff7; }
.woocommerce-cart .rep-order-summary .rep-cart-trust { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem .75rem; }
.woocommerce-cart .rep-order-summary .rep-cart-trust > span { display: flex; align-items: center; gap: .35rem; }
.woocommerce-cart .rep-order-summary .rep-cart-trust > span::before { content: none !important; }
.woocommerce-cart .rep-order-summary .rep-cart-trust svg { width: 13px; height: 13px; flex: 0 0 13px; fill: none; stroke: #9ca3af; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce-cart .rep-summary-promo { margin: .75rem 0 1rem; font-size: .875rem; }
.woocommerce-cart .rep-summary-promo summary { display: flex; align-items: center; gap: .4rem; color: #64748b; cursor: pointer; list-style: none; }
.woocommerce-cart .rep-summary-promo summary::-webkit-details-marker { display: none; }
.woocommerce-cart .rep-promo-chevron { width: 6px; height: 6px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-left: auto; }
.woocommerce-cart .rep-summary-promo[open] .rep-promo-chevron { transform: rotate(225deg); }
.woocommerce-cart .rep-summary-promo__form { display: flex; align-items: center; gap: .5rem; margin: .5rem 0 0; }
.woocommerce-cart .rep-order-summary .rep-summary-promo__form input[type=text],
.woocommerce-cart .rep-order-summary .rep-summary-promo__form button { box-sizing: border-box; height: 36px !important; min-height: 36px !important; max-height: 36px; margin: 0; padding: 0 .65rem !important; line-height: 1.2; box-shadow: none; }
.woocommerce-cart .rep-summary-promo__form input[type=text] { min-width: 0; flex: 1; width: 100%; height: 36px; padding: .5rem .65rem; border: 1px solid #d6e1ee; border-radius: 5px; font-size: .75rem; }
.woocommerce-cart .rep-summary-promo__form button { background: white; color: #10233f; border: 1px solid #cdd9e7; border-radius: 5px; padding: .4rem .8rem; min-height: 36px; font-size: .75rem; }
.woocommerce-cart .rep-summary-promo__note { font-size: .75rem; color: #64748b; margin: .4rem 0 0; }
.woocommerce-cart .rep-cart-layout .cart_totals.rep-order-summary { border-radius: 8px; padding: 1rem; box-shadow: none; }
.woocommerce-cart .rep-cart-layout .rep-order-summary h2 { padding: 0; margin: 0 0 .75rem; border: 0; background: transparent; font-size: 1rem; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table { display: table !important; width: 100% !important; margin: 0 0 .75rem; border: 0; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table tbody { display: table-row-group !important; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table tr { display: table-row !important; background: transparent !important; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table :where(th,td) { display: table-cell !important; padding: .3rem 0 !important; border: 0 !important; background: transparent !important; font-size: .875rem; vertical-align: top; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table th { width: 52%; text-align: left; font-weight: 400; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table td { text-align: right; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table td::before { display: none !important; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table .order-total :where(th,td) { border-top: var(--rep-border) !important; padding-top: .85rem !important; font-size: 1rem; font-weight: 700; }
.woocommerce-cart .rep-cart-layout .rep-order-summary table .order-total td { font-size: 1.2rem; }
.woocommerce-cart .rep-cart-layout .rep-order-summary .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .rep-cart-layout .rep-order-summary .checkout-button { margin: 0; min-height: 46px; font-size: .875rem; }
.woocommerce-cart .rep-cart-layout .rep-order-summary .rep-cart-summary-actions { padding: .5rem 0 0; }
.woocommerce-cart .rep-cart-layout .rep-order-summary .rep-cart-trust { padding: 1rem 0 0; margin-top: 1rem; font-size: .7rem; }
.woocommerce-cart #rep-cart-destination button[name=calc_shipping] { border: 0 !important; box-shadow: none !important; }
.woocommerce-cart #rep-cart-destination .rep-cart-destination__header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem; }
.woocommerce-cart #rep-cart-destination .rep-cart-destination-badge { border: 1px solid #d6e1ee; border-radius: 6px; padding: .35rem .65rem; background: #f7faff; color: #334155; font-size: .75rem; }
.woocommerce-cart #rep-cart-destination .rep-cart-destination-badge[hidden] { display: none; }
.woocommerce-cart #rep-cart-destination .rep-cart-destination-badge p { margin: 0; font-size: inherit; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods li:has(.ups-local-pickup-info) > input[type=radio] { top: 1.05rem; transform: none; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods label:has(.ups-local-pickup-info) > br { display: none; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods .ups-local-pickup-info { grid-column: 1 / -1; grid-row: 2; margin: .2rem 0 0; font-size: .75rem; font-weight: 400; color: #64748b; }
.woocommerce-cart #rep-cart-destination .rep-cart-calculating[hidden] { display: none !important; }
.woocommerce-cart #rep-cart-destination .rep-cart-calculating { padding: .6rem .75rem; margin-top: .75rem; font-size: .8125rem; border-width: 1px; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-calculator > .blockUI { display: none !important; }
.woocommerce-cart #rep-cart-destination .rep-cart-shipping-cost { margin-top: .75rem; padding-top: .75rem; }
.woocommerce-cart #rep-cart-destination .rep-cart-shipping-cost h2 { font-size: .875rem; margin: 0 0 .5rem; }
.woocommerce-cart #rep-cart-destination .rep-cart-shipping-cost :where(table,tbody,tr,th,td) { display: block; width: 100% !important; max-width: none; border: 0 !important; padding: 0 !important; margin: 0; background: transparent !important; box-shadow: none; }
.woocommerce-cart #rep-cart-destination .rep-cart-shipping-cost th { font-size: .75rem; color: #64748b; text-align: left; margin-bottom: .4rem; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods { display: grid !important; grid-template-columns: minmax(0,1fr); gap: .5rem; width: 100% !important; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods li { position: relative; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; min-width: 0; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods li > label { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 1rem; align-content: center; min-height: 66px; height: 100%; padding: .75rem .9rem .75rem 2.4rem !important; margin: 0 !important; border: 1px solid #d6e1ee !important; border-radius: 4px !important; box-shadow: none !important; font-size: .8125rem; line-height: 1.5; color: #10233f; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods li > input[type=radio] { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; margin: 0; opacity: 1; visibility: visible; pointer-events: auto; accent-color: #075ff7; z-index: 2; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods label > .woocommerce-Price-amount { grid-column: 2; grid-row: 1 / span 2; align-self: center; justify-self: end; white-space: nowrap; font-weight: 800; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods label .ups-eta-inline { grid-column: 1; font-size: .75rem; font-weight: 400; color: #64748b; margin: 0; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods label .ups-eta-inline small { font-size: inherit; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods label .ups-eta-inline strong { font-weight: 400; }
.woocommerce-cart #rep-cart-destination .rep-cart-rate-title { display: flex; align-items: center; gap: .5rem; }
.woocommerce-cart #rep-cart-destination .rep-cart-rate-title svg { width: 18px; height: 18px; color: #075ff7; flex: none; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods input:checked + label { border-color: #075ff7 !important; background: #eff5ff !important; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods input:checked + label::before { content: none !important; }
.woocommerce-cart #rep-cart-destination .woocommerce-shipping-methods input:focus-visible + label { outline: 2px solid #075ff7; outline-offset: 2px; }
.woocommerce-cart #rep-cart-destination :where(input.input-text,select) { border: 1px solid #cdd9e7 !important; border-radius: 6px; }
.woocommerce-cart .rep-cart-layout .rep-cart-destination { display: block; padding: 1rem; background: #fff; border-radius: 8px; box-shadow: none; }
.woocommerce-cart .rep-cart-destination__title { grid-column: 1 / -1; margin: 0; font-size: 1rem; }
.woocommerce-cart .rep-cart-destination h3 { font-size: .875rem; margin: 0 0 .75rem; }
.woocommerce-cart .rep-cart-address-status { font-size: .8125rem; color: #64748b; line-height: 1.6; }
.woocommerce-cart .rep-cart-address-status .ups-addr-type { display: block; border: 1px solid #075ff7; border-radius: 5px; background: #eaf1ff; color: #075ff7; padding: .75rem; }
.woocommerce-cart .rep-cart-address-status .ups-addr-type--commercial::before { content: '\1F3E2'; margin-right: .5rem; }
.woocommerce-cart .rep-cart-address-status .ups-addr-type--residential::before { content: '\2302'; margin-right: .5rem; }
.woocommerce-cart .rep-cart-calculator { min-width: 0; }
.woocommerce-cart .rep-cart-calculator-intro { color: #64748b; font-size: .875rem; margin: .25rem 0 .75rem; }
.woocommerce-cart .rep-cart-zip-fields { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; gap: .75rem; align-items: end; }
.woocommerce-cart .rep-cart-zip-fields label { display: block; font-size: .75rem; font-weight: 600; color: #334155; margin: 0 0 .4rem; }
.woocommerce-cart .rep-cart-zip-fields :where(input, select) { border: 1px solid #cdd9e7; border-radius: 7px; padding: .7rem .8rem; background: #fff; color: #10233f; font-size: .875rem; height: 46px; }
.woocommerce-cart .rep-cart-zip-fields :where(input, select):focus-visible { outline: 2px solid #075ff7; outline-offset: 2px; }
.woocommerce-cart .rep-cart-zip-fields button { height: 46px; font-weight: 700; transition: background .15s ease; }
.woocommerce-cart .rep-cart-zip-fields button:hover { background: #0b873b; }
@media (max-width: 40rem) {
  .woocommerce-cart .rep-cart-zip-fields { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart .rep-cart-zip-fields button { width: 100%; }
}
.woocommerce-cart .rep-cart-calculator .shipping-calculator-button { display: none; }
.woocommerce-cart .rep-cart-calculator .shipping-calculator-form { display: grid !important; gap: .7rem; margin: 0; }
.woocommerce-cart .rep-cart-calculator .form-row { margin: 0; padding: 0; width: 100%; }
.woocommerce-cart .rep-cart-calculator :where(select,input.input-text) { width: 100%; min-height: 44px; }
.woocommerce-cart .rep-cart-calculator button[name=calc_shipping] { background: #12a348; color: #fff; border-radius: 8px; padding: .75rem 1.25rem; }
.woocommerce-cart .rep-cart-calculator .woocommerce-shipping-methods { list-style: none; padding: 0; margin: 0; }
.woocommerce-cart .rep-cart-calculator .woocommerce-shipping-methods li { padding: .75rem; margin: .5rem 0; border: var(--rep-border); border-radius: 7px; }
.woocommerce-cart .rep-cart-calculator .woocommerce-shipping-methods li:has(input:checked) { border-color: #075ff7; background: #eef4ff; }
.woocommerce-cart .rep-cart-calculator .woocommerce-shipping-methods label { cursor: pointer; }
.woocommerce-cart .rep-cart-layout .rep-cart-actions button[name=update_cart] { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: .5rem 1rem; border: 1px solid #cdd9e7; border-radius: 5px; background: #fff; color: #10233f; font-size: .8125rem; font-weight: 600; line-height: 1.25; box-shadow: none; transition: background .15s ease, border-color .15s ease; }
.woocommerce-cart .rep-cart-layout .rep-cart-actions button[name=update_cart]:disabled { opacity: 1; background: #f8fafc; border-color: #e2e8f0; color: #94a3b8; }
.woocommerce-cart .rep-cart-layout .rep-cart-form.rep-cart-has-changes button[name=update_cart]:not(:disabled) { background: #075ff7; border-color: #075ff7; color: #fff; }
.woocommerce-cart .rep-cart-layout .rep-cart-actions button[name=update_cart]:not(:disabled):hover { background: #064dcc; border-color: #064dcc; color: #fff; }
.woocommerce-cart .rep-cart-update-hint { color: #92400e; background: #fffbeb; padding: .65rem; border: 1px solid #fcd34d; border-radius: 5px; font-size: .8125rem; margin: 0; }
.woocommerce-cart .rep-cart-update-hint[hidden] { display: none; }
@media (max-width: 48rem) { .woocommerce-cart .rep-cart-layout .rep-cart-destination { grid-template-columns: minmax(0, 1fr); } }
.woocommerce-cart #rep-later-action-form { display: none; }
.woocommerce-cart .rep-cart-layout .rep-cart-save-link,
.woocommerce-cart .rep-saved-for-later .rep-cart-save-link { background: transparent; border: 0; padding: .25rem 0; color: #64748b; font-size: .875rem; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; box-shadow: none; min-height: 2.5rem; }
.woocommerce-cart .rep-cart-save-link:hover { color: #005bff; }
.woocommerce-cart .rep-saved-for-later { margin-top: 1.5rem; padding: 1rem; background: #fff; border: var(--rep-border); border-radius: 8px; }
.woocommerce-cart .rep-saved-for-later h2 { font-size: 1.1rem; margin: 0 0 1rem; }
.woocommerce-cart .rep-saved-item { display: flex; gap: 1rem; padding: 1rem 0; border-top: var(--rep-border); }
.woocommerce-cart .rep-saved-item > img { width: 110px; height: 110px; object-fit: contain; }
.woocommerce-cart .rep-saved-item__body { min-width: 0; }
.woocommerce-cart .rep-saved-item h3 { font-size: .9rem; margin: 0; }
.woocommerce-cart .rep-saved-item p { margin: .3rem 0; font-size: .8rem; }
.woocommerce-cart .rep-saved-item form { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .5rem; }
@media (max-width: 36rem) { .woocommerce-cart .rep-saved-item > img { width: 70px; height: 70px; } }
.woocommerce-cart .rep-content-shell--page { position: relative; }
.woocommerce-cart .rep-content-shell--page .rep-content-shell__header { border: 0; padding-bottom: 0; margin-bottom: 1rem; }
.woocommerce-cart .rep-content-shell--page .rep-content-shell__title { font-size: 1.5rem; line-height: 1.3; margin: 0; }
.woocommerce-cart .rep-cart-breadcrumb { display: flex; gap: .4rem; align-items: center; font-size: .75rem; margin-bottom: .6rem; }
.woocommerce-cart .rep-cart-breadcrumb a { color: var(--rep-color-text-muted); text-decoration: none; }
.woocommerce-cart .rep-cart-breadcrumb a:hover { text-decoration: underline; }
.woocommerce-cart .rep-cart-header-count { color: var(--rep-color-text-muted); font-size: .875rem; margin: .25rem 0 0; }
.woocommerce-cart .rep-entry-content .rep-cart-intro { position: absolute; top: 2.25rem; right: 0; margin: 0; }
.woocommerce-cart .rep-entry-content .rep-cart-stock-notice { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; border-radius: 6px; padding: .7rem .85rem; margin: 0 0 1rem; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce :where(.woocommerce-error,.woocommerce-info,.woocommerce-message) { border: 1px solid; border-radius: 6px; padding: .75rem 1rem .75rem 2.5rem; font-size: .8125rem; margin: 0 0 1rem; box-shadow: none; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce .woocommerce-error { color: #991b1b; background: #fef2f2; border-color: #fca5a5; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce .woocommerce-message { color: #166534; background: #f0fdf4; border-color: #86efac; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce .woocommerce-info { color: #1e40af; background: #eff6ff; border-color: #93c5fd; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce :where(.woocommerce-error,.woocommerce-info,.woocommerce-message)::before { top: .75rem; left: .85rem; color: inherit; }
body.woocommerce-cart:not(.rep-portal-page) .woocommerce :where(.woocommerce-error,.woocommerce-info,.woocommerce-message) a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 48rem) {
  .woocommerce-cart .rep-entry-content .rep-cart-intro { position: static; justify-content: flex-start; margin-bottom: 1rem; }
}
.woocommerce-cart .rep-cart-layout > .rep-cart-form { grid-column: 1; grid-row: 1; }
.woocommerce-cart .rep-cart-layout > .rep-cart-summary-column { grid-column: 2; grid-row: 1 / span 2; }
.woocommerce-cart .rep-cart-destination { grid-column: 1; min-width: 0; background: #fff; border: var(--rep-border); border-radius: 8px; padding: 1rem; }
.woocommerce-cart .rep-cart-destination .woocommerce-shipping-calculator { margin: 0; }
.woocommerce-cart .rep-cart-shipping-cost { margin-top: 1rem; border-top: var(--rep-border); padding-top: 1rem; }
.woocommerce-cart .rep-cart-shipping-cost[hidden] { display: none; }
.woocommerce-cart .rep-cart-shipping-cost h2 { font-size: 1rem; }
.woocommerce-cart .rep-cart-shipping-cost table { width: 100%; }
.woocommerce-cart .rep-cart-shipping-cost :where(th, td) { padding: .75rem; text-align: left; }
.woocommerce-cart .rep-cart-shipment { border: var(--rep-border); border-radius: 8px; overflow: hidden; background: #fff; margin-bottom: 1rem; }
.woocommerce-cart .rep-cart-shipment__heading { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; margin: 0; background: #f5f7f8; border-bottom: var(--rep-border); font-size: .875rem; }
.woocommerce-cart .rep-cart-shipment__heading small { font-weight: 500; color: var(--rep-color-text-muted); font-size: .875rem; }
.woocommerce-cart .rep-cart-layout .rep-cart-list { border: 0; background: transparent; overflow: visible; box-shadow: none; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__quantity { flex-wrap: wrap; gap: 1rem; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__quantity .quantity { display: inline-flex; align-items: center; border: var(--rep-border); border-radius: 5px; overflow: hidden; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__quantity .qty { width: 3rem; min-height: 2.5rem; border: 0; border-inline: var(--rep-border); border-radius: 0; padding: 0; appearance: textfield; }
.woocommerce-cart .rep-cart-layout .qty::-webkit-inner-spin-button { appearance: none; }
.woocommerce-cart .rep-cart-layout [data-rep-cart-step] { width: 2.25rem; min-height: 2.5rem; border: 0; border-radius: 0; padding: 0; color: #64748b; background: #fff; font-size: 1.1rem; }
.woocommerce-cart .rep-cart-layout [data-rep-cart-step]:hover { background: #edf3fa; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__quantity .rep-cart-item__remove { flex: none; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__remove a.remove { font-size: 0 !important; color: #d32727 !important; background: transparent !important; }
.woocommerce-cart .rep-cart-layout .rep-cart-remove-label { font-weight: 400; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-cart .rep-cart-layout .rep-cart-item__unit-price > span,
.woocommerce-cart .rep-cart-layout .rep-cart-item__subtotal > span,
.woocommerce-cart .rep-cart-layout .rep-cart-item__quantity > span { display: none; }
@media (max-width: 64rem) {
  .woocommerce-cart .rep-cart-layout > .rep-cart-summary-column { grid-column: 1; grid-row: 3; }
  .woocommerce-cart .rep-cart-layout > .rep-cart-destination { grid-row: 2; }
}
/* The shortcode wrapper also contains notices: only the inner layout owns columns. */
.woocommerce-cart .rep-entry-content > .woocommerce:has(.rep-cart-layout) {
  display: block !important;
}

.woocommerce-cart .rep-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.125fr) minmax(18rem, 1fr);
  align-items: start;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.woocommerce-cart .rep-cart-layout > .rep-cart-form,
.woocommerce-cart .rep-cart-layout > .rep-cart-summary-column {
  float: none;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.woocommerce-cart .rep-cart-layout > .rep-cart-summary-column {
  position: static !important;
}

@media (min-width: 73.76rem) {
  .woocommerce-cart .rep-cart-layout > .rep-cart-summary-column {
    position: sticky !important;
    top: 1rem;
    align-self: start;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    scrollbar-width: thin;
  }

  body.woocommerce-cart.admin-bar .rep-cart-layout > .rep-cart-summary-column {
    top: 3rem;
    max-height: calc(100dvh - 4rem);
  }
}

.woocommerce-cart .rep-cart-layout .cart_totals {
  float: none;
  width: 100%;
}

.woocommerce-cart .rep-cart-layout .cart_totals table {
  width: 100%;
  table-layout: auto;
}

.woocommerce-cart .rep-cart-layout .cart_totals table :where(th, td) {
  background: transparent;
  border-inline: 0;
  padding: .8rem 1rem;
}

.woocommerce-cart .rep-cart-layout .cart_totals table td {
  text-align: right;
}

.woocommerce-cart .rep-cart-layout .cart_totals table th {
  width: 45%;
}

.woocommerce-cart .rep-cart-layout .cart_totals .order-total td {
  font-size: 1.25rem;
}
.woocommerce-cart .rep-summary-shipping-action td { padding-top: 0 !important; }
.woocommerce-cart .rep-recalculate-shipping { background: #fff; border: 1px solid #075ff7; border-radius: 5px; color: #075ff7; font-size: .75rem; font-weight: 700; min-height: 38px; padding: .5rem .8rem; width: 100%; }
.woocommerce-cart .rep-recalculate-shipping:hover { background: #eef4ff; }

.woocommerce-cart .rep-cart-intro + .rep-cart-stock-notice {
  margin-top: 1rem;
}

.woocommerce-cart .rep-cart-layout .rep-cart-item__remove a.remove {
  display: inline-flex;
  width: auto;
  height: auto;
  white-space: nowrap;
  word-break: normal;
}

.woocommerce-cart .rep-cart-layout .rep-cart-remove-label {
  white-space: nowrap;
  font-size: .875rem;
}

@media (max-width: 64rem) {
  .woocommerce-cart .rep-cart-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.woocommerce-cart .rep-cart-form {
  min-width: 0;
}

.woocommerce-cart .rep-cart-list {
  background: #fff;
  border: var(--rep-border);
  border-radius: 0 0 var(--rep-radius-md) var(--rep-radius-md);
  box-shadow: 0 2px 10px rgba(16,35,63,.055);
  overflow: hidden;
}

.woocommerce-cart .rep-cart-item {
  display: flex;
  gap: 1rem;
  padding: 1rem;
}
.woocommerce-cart .rep-cart-item.is-removing { opacity: .55; pointer-events: none; transition: opacity .15s ease; }

.woocommerce-cart .rep-cart-item + .rep-cart-item {
  border-top: var(--rep-border);
}

.woocommerce-cart .rep-cart-item__remove {
  align-items: center;
  display: flex;
  flex: 0 0 3rem;
  justify-content: center;
}

.woocommerce-cart .rep-cart-item__remove a.remove {
  flex-direction: column;
  font-size: 1rem !important;
  gap: .15rem;
  line-height: 1;
  min-height: 2.75rem !important;
  min-width: 2.75rem !important;
  text-align: center;
}

.woocommerce-cart .rep-cart-item__media {
  align-items: center;
  background: var(--rep-color-surface-subtle);
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  display: flex;
  flex: 0 0 7rem;
  height: 7rem;
  justify-content: center;
  overflow: hidden;
}

.woocommerce-cart .rep-cart-item__media a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.woocommerce-cart .rep-cart-item__media img {
  border: 0 !important;
  border-radius: 0 !important;
  height: 100% !important;
  max-height: 6.35rem;
  object-fit: contain;
  padding: .45rem;
  width: 100% !important;
}

.woocommerce-cart .rep-cart-item__body {
  display: grid;
  flex: 1 1 auto;
  gap: .85rem;
  min-width: 0;
}

.woocommerce-cart .rep-cart-item__top,
.woocommerce-cart .rep-cart-item__bottom {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-width: 0;
}

.woocommerce-cart .rep-cart-item__identity {
  min-width: 0;
}

.woocommerce-cart .rep-cart-item__name {
  font-size: .95rem !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.woocommerce-cart .rep-cart-item__name a {
  color: var(--rep-color-heading);
  text-decoration: none;
}

.woocommerce-cart .rep-cart-item__name a:hover {
  color: var(--rep-color-primary);
  text-decoration: underline;
}

.woocommerce-cart .rep-cart-item__sku,
.woocommerce-cart .rep-cart-item .variation,
.woocommerce-cart .rep-cart-item .backorder_notification {
  color: rgba(38,54,74,.62);
  font-size: .875rem;
  margin: .35rem 0 0;
  font-weight: 500;
}

.woocommerce-cart .rep-cart-item__freight {
  align-items: center;
  align-self: flex-start;
  background: #eef5ff;
  border: 1px solid #bfd6ff;
  border-radius: 999px;
  color: #075ff7;
  display: inline-flex;
  font-size: .65rem;
  font-weight: 800;
  line-height: 1.2;
  margin-top: .35rem;
  padding: .2rem .5rem;
  white-space: nowrap;
}

.woocommerce-cart .rep-cart-item .variation {
  display: grid;
  gap: .1rem .35rem;
  grid-template-columns: max-content minmax(0,1fr);
}

.woocommerce-cart .rep-cart-item .variation :where(dt,dd,dd p) {
  margin: 0;
}

.woocommerce-cart .rep-cart-item__unit-price,
.woocommerce-cart .rep-cart-item__subtotal {
  flex: 0 0 auto;
  text-align: right;
}

.woocommerce-cart .rep-cart-item__unit-price > span,
.woocommerce-cart .rep-cart-item__quantity > span,
.woocommerce-cart .rep-cart-item__subtotal > span {
  color: rgba(38,54,74,.55);
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: .2rem;
  text-transform: uppercase;
}

.woocommerce-cart .rep-cart-item__unit-price strong,
.woocommerce-cart .rep-cart-item__subtotal strong {
  color: var(--rep-color-heading);
  display: block;
  font-size: .98rem;
  font-weight: 900;
  white-space: nowrap;
}

.woocommerce-cart .rep-cart-item__unit-price small {
  color: rgba(38,54,74,.45);
  display: block;
  font-size: .75rem;
}

.woocommerce-cart .rep-cart-item__quantity {
  align-items: center;
  display: flex;
  gap: .7rem;
}

.woocommerce-cart .rep-cart-item__quantity > span {
  margin: 0;
}

.woocommerce-cart .rep-cart-item__quantity .quantity {
  margin: 0 !important;
}

.woocommerce-cart .rep-cart-item__quantity .qty {
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  font-weight: 500;
  min-height: 2.65rem;
  text-align: center;
  width: 4.75rem;
}

.woocommerce-cart .rep-cart-actions {
  align-items: center;
  background: #f5f7f8;
  border-top: var(--rep-border);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: space-between;
  padding: 1rem;
}

.woocommerce-cart .rep-cart-actions .coupon {
  align-items: center;
  display: flex;
  gap: .65rem;
}

.woocommerce-cart .rep-cart-actions .input-text {
  min-height: 2.75rem;
}

.woocommerce-cart .rep-cart-actions .button {
  border-radius: var(--rep-radius-sm);
  font-weight: 800;
  min-height: 2.75rem;
}

.woocommerce-cart .rep-cart-delivery-card,
.woocommerce-cart .rep-cart-suggestion-card {
  align-items: center;
  background: #fff;
  border: var(--rep-border);
  border-radius: var(--rep-radius-md);
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  padding: .9rem 1rem;
}

.woocommerce-cart .rep-cart-delivery-card {
  justify-content: space-between;
}

.woocommerce-cart .rep-cart-delivery-card__copy {
  align-items: center;
  color: rgba(38,54,74,.8);
  display: flex;
  gap: .6rem;
  font-size: .9rem;
}

.woocommerce-cart .rep-cart-delivery-card__icon,
.woocommerce-cart .rep-cart-suggestion-card__media,
.woocommerce-cart .rep-cart-items-heading__icon {
  background: var(--rep-color-primary);
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
}

.woocommerce-cart .rep-cart-delivery-card__icon {
  height: .75rem;
  width: .75rem;
}

.woocommerce-cart .rep-cart-delivery-card a {
  color: var(--rep-color-primary);
  font-size: .8125rem;
  font-weight: 800;
  text-decoration: none;
}

.woocommerce-cart .rep-cart-suggestion-card {
  border-style: dashed;
}

.woocommerce-cart .rep-cart-suggestion-card__media {
  background: var(--rep-color-surface-subtle);
  border: var(--rep-border);
  border-radius: var(--rep-radius-sm);
  height: 3.5rem;
  width: 3.5rem;
}

.woocommerce-cart .rep-cart-suggestion-card__body {
  min-width: 0;
}

.woocommerce-cart .rep-cart-suggestion-card__body p {
  color: rgba(38,54,74,.55);
  font-size: .78rem;
  margin: 0 0 .1rem;
}

.woocommerce-cart .rep-cart-suggestion-card__body strong {
  color: var(--rep-color-heading);
  display: block;
  font-size: .9rem;
  overflow-wrap: anywhere;
}

.woocommerce-cart .rep-cart-items-heading__icon {
  background: transparent;
  border: 2px solid var(--rep-color-primary);
  border-radius: 2px;
  height: .7rem;
  width: .7rem;
}

.woocommerce-cart .rep-cart-mobile-checkout {
  display: none;
}

@media (max-width: 64rem) {
  .woocommerce-cart .rep-cart-item {
    align-items: flex-start;
  }

  .woocommerce-cart .rep-cart-item__top,
  .woocommerce-cart .rep-cart-item__bottom {
    flex-direction: column;
    gap: .75rem;
  }

  .woocommerce-cart .rep-cart-item__unit-price,
  .woocommerce-cart .rep-cart-item__subtotal {
    text-align: left;
  }
}

@media (max-width: 48rem) {
  .woocommerce-cart .rep-cart-item {
    display: grid;
    grid-template-columns: 4.75rem minmax(0,1fr);
    padding: .85rem;
  }

  .woocommerce-cart .rep-cart-item__remove {
    align-items: flex-start;
    flex: none;
    grid-column: 2;
    grid-row: 4;
    justify-content: flex-start;
  }

  .woocommerce-cart .rep-cart-item__media {
    flex: none;
    grid-column: 1;
    grid-row: 1 / span 3;
    height: 4.75rem;
    width: 4.75rem;
  }

  .woocommerce-cart .rep-cart-item__body {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  .woocommerce-cart .rep-cart-actions,
  .woocommerce-cart .rep-cart-actions .coupon {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0,1fr);
  }

  .woocommerce-cart .rep-cart-actions :where(.input-text,.button) {
    width: 100% !important;
  }

  .woocommerce-cart .rep-cart-delivery-card,
  .woocommerce-cart .rep-cart-suggestion-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .woocommerce-cart .rep-cart-mobile-checkout {
    align-items: center;
    background: #fff;
    border-top: var(--rep-border);
    bottom: 0;
    box-shadow: 0 -8px 24px rgba(16,35,63,.12);
    display: flex;
    gap: .85rem;
    justify-content: space-between;
    left: 0;
    padding: .75rem var(--rep-page-gutter) max(.75rem, env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 60;
  }

  .woocommerce-cart .rep-cart-mobile-checkout span {
    color: rgba(38,54,74,.55);
    display: block;
    font-size: .72rem;
    font-weight: 700;
  }

  .woocommerce-cart .rep-cart-mobile-checkout strong {
    color: var(--rep-color-heading);
    display: block;
    font-size: 1rem;
    font-weight: 900;
  }

  .woocommerce-cart .rep-cart-mobile-checkout a {
    align-items: center;
    background: var(--rep-color-primary);
    border-radius: var(--rep-radius-sm);
    color: #fff;
    display: flex;
    flex: 0 0 min(12rem, 52vw);
    font-size: .9rem;
    font-weight: 900;
    justify-content: center;
    min-height: 3rem;
    text-decoration: none;
  }

  body.woocommerce-cart:not(.rep-portal-page) {
    padding-bottom: 5rem;
  }
}

/* Keep the Dimensions help bubble above adjacent PDP sidebar cards. */
.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
  overflow: visible !important;
  position: relative !important;
  z-index: 3;
}

.rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar .rep-pdp-specifications__list {
  overflow: visible !important;
}

/* Live product and SKU search in the storefront header. */
.rep-header-search{position:relative;z-index:50}.rep-header-search .rep-product-search{position:relative!important;overflow:visible!important}.rep-product-search-results-panel[hidden]{display:none!important}.rep-product-search-results-panel{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;width:min(48rem,calc(100vw - 2rem));max-height:min(34rem,calc(100vh - 8rem));overflow:auto;padding:.65rem;background:#f2f5f7;border:1px solid #cbd5df;border-radius:.5rem;box-shadow:0 12px 30px rgba(15,35,60,.2)}.rep-product-search-results-panel__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.rep-product-search-result{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.7rem;align-items:center;min-width:0;padding:.55rem;background:#fff;border:1px solid transparent;border-radius:.4rem;color:#16263a;text-decoration:none}.rep-product-search-result:hover,.rep-product-search-result.is-active{border-color:#8fb3de;background:#f8fbff;color:#075ff7;outline:none}.rep-product-search-result img{display:block;width:72px;height:72px;object-fit:contain;object-position:center;background:#fff;border-radius:.25rem}.rep-product-search-result__body{display:block;min-width:0}.rep-product-search-result__body strong{display:-webkit-box;overflow:hidden;color:#172033;font-size:.86rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rep-product-search-result__body small{display:block;margin-top:.3rem;color:#607083;font-size:.75rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rep-product-search-results-panel__state{margin:0;padding:1rem;color:#607083;text-align:center}.rep-product-search-results-panel__all{display:block;margin-top:.6rem;padding:.7rem;background:#fff;border-radius:.35rem;color:#075ff7;font-size:.82rem;font-weight:800;text-align:center;text-decoration:none}.rep-product-search-results-panel__all:hover{background:#e7f0ff}@media(max-width:48rem){.rep-product-search-results-panel{right:0;left:auto;width:min(34rem,calc(100vw - 1.75rem))}.rep-product-search-results-panel__list{grid-template-columns:minmax(0,1fr)}}
/* Rich live-search rows: identifiers, inventory, price and direct cart action. */
.rep-product-search-results-panel { width: min(44rem, calc(100vw - 2rem)); }
.rep-product-search-results-panel__list { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
.rep-product-search-result {
  align-items: center;
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: .55rem;
}
.rep-product-search-result__link {
  align-items: center;
  color: inherit;
  display: grid;
  gap: .7rem;
  grid-template-columns: 58px minmax(0, 1fr);
  min-width: 0;
  text-decoration: none;
}
.rep-product-search-result__link img { border: 1px solid #dce4ed; height: 58px; width: 58px; }
.rep-product-search-result__identifiers { display: flex; flex-wrap: wrap; gap: .15rem .65rem; margin-top: .2rem; }
.rep-product-search-result__body .rep-product-search-result__identifiers small { margin-top: 0; }
.rep-product-search-result__stock { border: 1px solid; border-radius: 3px; display: inline-flex; font-size: .67rem; font-weight: 800; line-height: 1; margin-top: .35rem; padding: .22rem .38rem; text-transform: uppercase; }
.rep-product-search-result__stock.is-in-stock { background: #ecfdf3; border-color: #86e2ad; color: #08783e; }
.rep-product-search-result__stock.is-out-of-stock { background: #fff1f2; border-color: #fda4af; color: #d71937; }
.rep-product-search-result__aside { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; min-width: 7.25rem; }
.rep-product-search-result__price { align-items: flex-end; color: #0a192f; display: flex; flex-direction: column; font-size: .88rem; gap: .15rem; white-space: nowrap; }
.rep-product-search-result__sale-price { color: #dc2626; }
.rep-product-search-result__price del { color: #64748b; font-size: .78rem; font-weight: 600; }
@media (max-width: 35.99rem) {
  .rep-product-search-result { grid-template-columns: minmax(0, 1fr); }
  .rep-product-search-result__aside { align-items: center; flex-direction: row; justify-content: space-between; padding-left: 4.25rem; width: 100%; }
}

/* Image-led 404 page; the global header search remains available. */
.error404 .rep-404-page { padding-block: clamp(1rem, 3vw, 2.5rem); }
.error404 .rep-not-found {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1000px;
  padding: 0 1.5rem 2rem;
  text-align: center;
}
.error404 .rep-not-found::before {
  background: url('/media/main-page-images/404-images/404-error.png') center / contain no-repeat;
  content: '';
  display: block;
  height: clamp(280px, 40vw, 440px);
  opacity: .5;
  pointer-events: none;
  width: 100%;
}
.error404 .rep-not-found__content { max-width: 680px; text-align: center; }
.error404 .rep-not-found__content h1 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin: .25rem 0; }
.error404 .rep-not-found__content > p:not(.rep-eyebrow) { color: #526681; margin: 0; }
.error404 .rep-not-found__actions { margin: 1rem 0 0; }
@media (max-width: 40rem) {
  .error404 .rep-not-found { padding: 0 1rem 1rem; }
  .error404 .rep-not-found::before { height: clamp(220px, 66vw, 320px); }
}


/* Keep the header search controls inside the form border. */
.rep-header-search .rep-product-search input[type='search'],
.rep-header-search .rep-product-search button {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
}


/* Reframe the wide home hero artwork on tablet-sized screens. */
@media (min-width: 48.01rem) and (max-width: 64rem) {
  .rep-home-hero__visual img {
    object-position: 72% center;
  }
}

/* REP mobile storefront refinement: header, PDP order and related carousel. */
@media (max-width: 48rem) {
  .rep-site-header__inner {
    align-items: center;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .65rem;
    padding-block: .65rem;
  }

  .rep-site-header .rep-menu-toggle {
    align-items: center;
    display: inline-flex !important;
    flex-direction: row;
    gap: .3rem;
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
    min-width: 4.25rem;
    padding-inline: 0;
  }

  .rep-site-header .rep-menu-toggle span { display: inline !important; font-size: .8rem; font-weight: 800; }
  .rep-site-header .rep-menu-toggle .rep-icon { height: 1.25rem; width: 1.25rem; }

  .rep-header-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    min-width: 0;
    width: auto;
  }

  .rep-header-brand__image { max-height: 3.2rem; max-width: min(12.5rem, 100%); }

  .rep-header-actions {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
  }

  .rep-header-actions > :not(.rep-header-cart) { display: none !important; }
  .rep-header-actions .rep-header-cart { min-width: 2.75rem; padding-inline: .25rem; }
  .rep-header-actions .rep-header-cart > span:not(.rep-header-cart__count) { display: none; }
  .rep-header-cart__count { right: 0; top: 0; }

  .rep-header-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100%;
  }

  .rep-header-catalog { display: none !important; }

  .rep-header-panel {
    background: #fff;
    border-top: 1px solid #dce3ec;
    color: #0a192f;
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    width: 100%;
  }

  .rep-header-panel[data-open='false'] { display: none !important; }
  .rep-header-panel[data-open='true'] { display: block !important; }
  .rep-header-panel__inner { display: block; padding-block: .75rem 1.25rem; }
  .rep-header-panel__mobile-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: .65rem; }
  .rep-header-panel__mobile-heading strong { font-size: 1rem; }
  .rep-header-panel__mobile-heading button { align-items: center; background: transparent; border: 0; color: #0a192f; display: inline-flex; height: 2.5rem; justify-content: center; padding: 0; width: 2.5rem; }

  .rep-header-panel__mobile-links { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1rem; }
  .rep-header-panel__mobile-links a { align-items: center; border: 1px solid #dce3ec; border-radius: 6px; color: #0a192f; display: flex; font-size: .8rem; font-weight: 800; gap: .5rem; min-height: 46px; padding: .65rem .75rem; text-decoration: none; }
  .rep-header-panel__mobile-links .rep-icon { height: 1.1rem; width: 1.1rem; }
  .rep-header-panel .rep-primary-menu { align-items: stretch; display: grid; }
  .rep-header-panel .rep-primary-menu a { border-bottom: 1px solid #edf1f6; color: #0a192f; min-height: 46px; padding: .7rem .25rem; }

  body.rep-menu-open { overflow: hidden; }

  .rep-single-product .rep-pdp-section-1 { display: flex !important; flex-direction: column !important; }
  .rep-single-product .left-section-1-main,
  .rep-single-product .rep-pdp-section-2-main,
  .rep-single-product .right-section-1-main { display: contents !important; }
  .rep-single-product .left-section-2 { order: 1; }
  .rep-single-product .right-section-2 { order: 2; }
  .rep-single-product .right-section-1-main > .rep-pdp__buybox { order: 3 !important; }
  .rep-single-product .left-section-1-main > .rep-pdp-related { order: 4; }
  .rep-single-product .left-section-1-main > .rep-pdp-description { order: 5; }
  .rep-single-product .right-section-1-main > .rep-pdp-documents-resources { order: 6 !important; }
  .rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar { order: 7 !important; }
  .rep-single-product .left-section-1-main > .rep-pdp-customer-reviews { order: 99; }

  .rep-single-product :is(.left-section-2,.right-section-2,.rep-pdp__buybox,.rep-pdp-related,.rep-pdp-description,.rep-pdp-documents-resources,.rep-pdp-specifications--full-sidebar,.rep-pdp-customer-reviews) {
    box-sizing: border-box;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .rep-pdp-related__viewport { padding-inline: 2.35rem; }
  .rep-pdp-related__viewport .rep-pdp-related__rail { gap: 0; scroll-snap-type: x mandatory; }
  .rep-pdp-related__viewport .rep-pdp-related__item { flex: 0 0 100%; width: 100% !important; scroll-snap-align: start; }
  .rep-pdp-related__nav { display: flex !important; height: 2rem; width: 2rem; }
  .rep-pdp-related__nav--prev { left: .1rem; }
  .rep-pdp-related__nav--next { right: .1rem; }
}
/* Disabled related carousel direction remains visible on mobile. */
.rep-pdp-related__nav:disabled { cursor: default; opacity: .35; }

/* Mobile department list generated from WooCommerce categories. */
@media (max-width: 48rem) {
  .rep-header-panel__departments { border-top: 1px solid #dce3ec; padding-top: .9rem; }
  .rep-header-panel__departments h2 { color: #0a192f; font-size: 1rem; margin: 0 0 .45rem; }
  .rep-header-panel__departments ul { display: grid; list-style: none; margin: 0; padding: 0; }
  .rep-header-panel__departments li { margin: 0; }
  .rep-header-panel__departments li a { align-items: center; border-bottom: 1px solid #edf1f6; color: #0a192f; display: flex; font-size: .82rem; justify-content: space-between; min-height: 44px; padding: .65rem .1rem; text-decoration: none; }
  .rep-header-panel__departments li a span:last-child { color: #526681; font-size: 1.15rem; }
  .rep-header-panel__shop-all { color: #075ff7; display: inline-flex; font-size: .82rem; font-weight: 800; margin-top: .85rem; text-decoration: none; }
  .rep-header-panel .rep-primary-navigation { border-top: 1px solid #dce3ec; margin-top: 1rem; padding-top: .5rem; }
}
/* Mobile department accordion and child category list. */
@media (max-width: 48rem) {
  .rep-header-panel__department > button {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0a192f !important;
    cursor: pointer;
    display: flex !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    justify-content: space-between;
    min-height: 44px !important;
    padding: .65rem .1rem !important;
    text-align: left;
    width: 100% !important;
  }
  .rep-header-panel__department > button > span:last-child { color: #526681; font-size: 1.15rem; transition: transform .18s ease; }
  .rep-header-panel__department.is-open > button { color: #075ff7 !important; }
  .rep-header-panel__department.is-open > button > span:last-child { color: #075ff7; transform: rotate(90deg); }
  .rep-header-panel__department-children[hidden] { display: none !important; }
  .rep-header-panel__department-children { background: #f7f9fc; border-bottom: 1px solid #dce3ec; padding: .45rem .75rem .7rem; }
  .rep-header-panel__department-children > ul { gap: 0; }
  .rep-header-panel__department-children li a { border-bottom: 1px solid #e5ebf3; color: #172b45; font-size: .78rem; font-weight: 500; min-height: 39px; padding: .5rem .2rem; }
  .rep-header-panel__department-children li:last-child a { border-bottom: 0; }
  .rep-header-panel__department-all { color: #075ff7 !important; display: block !important; font-size: .76rem !important; font-weight: 800 !important; min-height: 0 !important; padding: .45rem .2rem .55rem !important; }
}
/* Related products use the shared catalogue card presentation. */
.rep-single-product .rep-pdp-related {
  background: #f5f7fa;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  padding: 1rem;
}
.rep-single-product .rep-pdp-related__header { margin-bottom: 1rem; }
.rep-single-product .rep-pdp-related__header h2 { font-size: 1.1rem; }
.rep-single-product .rep-pdp-related__header a { font-size: .78rem; }
.rep-single-product .rep-pdp-related__viewport { padding-inline: 2.75rem; }
.rep-single-product .rep-pdp-related__viewport .rep-pdp-related__rail { gap: 1rem; padding: .1rem .1rem .35rem; }
.rep-single-product .rep-pdp-related__viewport .rep-pdp-related__item {
  align-content: initial;
  display: block !important;
  flex: 0 0 240px;
  gap: 0;
  grid-template-columns: none;
  grid-template-rows: none !important;
  height: auto;
  min-height: 0;
  padding: 0 !important;
  width: 240px;
}
.rep-single-product .rep-pdp-related__item > .rep-product-card { background: #fff; height: 100%; min-height: 333px; }
.rep-single-product .rep-pdp-related__nav {
  background: #eef1f5 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 3px 9px rgba(15, 35, 60, .1);
  color: #1e3a5f !important;
  font-size: 1.8rem;
  font-weight: 500;
  height: 2.45rem;
  width: 2.45rem;
}
.rep-single-product .rep-pdp-related__nav:hover:not(:disabled),
.rep-single-product .rep-pdp-related__nav:focus-visible:not(:disabled) {
  background: #e2e8f0 !important;
  border-color: #94a3b8 !important;
  color: #075ff7 !important;
}
.rep-single-product .rep-pdp-related__nav:disabled { background: #f3f4f6 !important; color: #94a3b8 !important; opacity: .65; }
.rep-single-product .rep-pdp-related__nav--prev { left: .1rem; }
.rep-single-product .rep-pdp-related__nav--next { right: .1rem; }

@media (max-width: 48rem) {
  .rep-single-product .rep-pdp-related { padding: .85rem .65rem; }
  .rep-single-product .rep-pdp-related__header { align-items: flex-start; gap: .65rem; }
  .rep-single-product .rep-pdp-related__header h2 { font-size: 1rem; }
  .rep-single-product .rep-pdp-related__viewport { padding-inline: 2.65rem; }
  .rep-single-product .rep-pdp-related__viewport .rep-pdp-related__rail { gap: 0; }
  .rep-single-product .rep-pdp-related__viewport .rep-pdp-related__item {
    flex-basis: 100%;
    width: 100% !important;
  }
  .rep-single-product .rep-pdp-related__item > .rep-product-card { margin-inline: auto; max-width: 260px; min-height: 333px; }
}
/* Related products: show two carousel cards on tablet portrait widths. */
@media (min-width: 40.01rem) and (max-width: 64rem) {
  .rep-single-product .rep-pdp-related__viewport .rep-pdp-related__rail {
    gap: 1rem;
  }

  .rep-single-product .rep-pdp-related__viewport .rep-pdp-related__item {
    flex: 0 0 calc((100% - 1rem) / 2);
    width: calc((100% - 1rem) / 2) !important;
  }

  .rep-single-product .rep-pdp-related__item > .rep-product-card {
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }
}

/* PhotoSwipe: keep one unambiguous close control. */
.pswp .pswp__button--zoom,
.pswp .pswp__button--fs,
.pswp .pswp__button--share {
  display: none !important;
}
.pswp .pswp__button--close {
  background: rgba(15, 23, 42, .72) !important;
  border: 1px solid rgba(255, 255, 255, .55) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  height: 40px !important;
  margin: 2px 4px 0 0 !important;
  opacity: 1 !important;
  padding: 0 !important;
  position: relative;
  width: 40px !important;
}
.pswp .pswp__button--close::before,
.pswp .pswp__button--close::after {
  background: #fff;
  border-radius: 2px;
  content: '';
  height: 2px;
  left: 9px;
  position: absolute;
  top: 18px;
  width: 20px;
}
.pswp .pswp__button--close::before { transform: rotate(45deg); }
.pswp .pswp__button--close::after { transform: rotate(-45deg); }
.pswp .pswp__button--close:hover,
.pswp .pswp__button--close:focus-visible {
  background: rgba(220, 38, 38, .9) !important;
  border-color: #fff !important;
}

/* Product image opens only from the explicit Zoom control. */
.rep-single-product .woocommerce-product-gallery__image > a { cursor: default; }
/* Tablet landscape / iPad Pro: keep the desktop header while giving dense content room. */
@media (min-width: 61.3125rem) and (max-width: 68.75rem) {
  .rep-site-header__inner {
    grid-template-columns: minmax(13.5rem, auto) 8.5rem minmax(12rem, 1fr) auto;
  }

  .rep-header-brand {
    margin-right: 1rem;
  }

  .rep-header-brand__image {
    max-height: 3.5rem;
    max-width: 14rem;
  }

  .rep-header-actions {
    gap: .1rem;
    margin-left: .35rem;
  }

  .rep-header-control {
    min-width: 2.65rem;
    padding-inline: .3rem;
  }

  .rep-header-control > span:not(.rep-header-cart__count):not(.rep-header-wishlist__count) {
    display: none !important;
  }

  .rep-header-megamenu {
    left: -14rem;
    width: calc(100vw - 4rem);
    grid-template-columns: 200px minmax(0, 1fr);
  }

  .rep-header-megamenu__content {
    padding: 1.1rem;
  }

  .rep-header-megamenu__panel {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
  }

  .rep-home-value__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .rep-home-value__grid > div {
    align-content: start;
    gap: .45rem;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    padding: .65rem .55rem;
    text-align: center;
  }

  .rep-home-value__icon img {
    height: 3.25rem;
    width: 3.25rem;
  }

  .rep-home-value__copy {
    justify-items: center;
  }

  .rep-home-value__copy > span {
    overflow-wrap: normal;
    word-break: normal;
  }

  .rep-home-products .rep-product-grid {
    gap: .75rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 48rem) {
  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle,
  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle:hover,
  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle:focus,
  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle:active,
  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle[aria-expanded="true"] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #075ff7 !important;
    outline: 0;
    transform: none;
  }

  body:not(.rep-portal-page) .rep-site-header button.rep-menu-toggle:focus-visible span {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .rep-site-header .rep-menu-toggle .rep-icon {
    color: #075ff7;
    stroke: currentColor;
  }
}
@media (max-width: 48rem) {
  .rep-home-popular { display: none; }
}
/* Managed footer menus become an accordion on phones. */
.rep-site-footer__toggle {
  align-items: center;
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: default;
  display: flex;
  font: inherit;
  font-weight: inherit;
  justify-content: flex-start !important;
  min-height: 0;
  padding: 0 !important;
  text-align: left;
  width: 100%;
}
.rep-site-footer__toggle-icon { display: none; }

@media (max-width: 38.75rem) {
  .rep-site-footer__nav { gap: 0 !important; }
  .rep-site-footer__column { border-top: 1px solid rgba(255, 255, 255, .16); }
  .rep-site-footer__column:last-child { border-bottom: 1px solid rgba(255, 255, 255, .16); }
  .rep-site-footer__column h2 { margin: 0 !important; text-align: left !important; }
  .rep-site-footer__toggle > span:first-child { flex: 1 1 auto; text-align: left !important; }
  .rep-site-footer__toggle {
    cursor: pointer;
    justify-content: space-between !important;
    min-height: 3.25rem;
    padding: .75rem 0 !important;
  }
  .rep-site-footer__toggle:hover,
  .rep-site-footer__toggle:focus-visible { color: #8fbdff !important; }
  .rep-site-footer__toggle:focus-visible { outline: 2px solid #8fbdff; outline-offset: -2px; }
  .rep-site-footer__toggle-icon {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    display: block;
    flex: 0 0 auto;
    height: .55rem;
    margin-right: .2rem;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .18s ease;
    width: .55rem;
  }
  .rep-site-footer__toggle[aria-expanded="true"] .rep-site-footer__toggle-icon {
    transform: rotate(225deg) translate(-1px, -1px);
  }
  .rep-site-footer__panel { padding: 0 0 1.1rem; }
  .rep-site-footer__panel[hidden] { display: none !important; }
}
/* Keep the homepage full-width when WooCommerce/tablet layout rules are active. */
body:not(.rep-portal-page) .rep-site-main.rep-home {
  clear: both !important;
  float: none !important;
  margin-inline: 0 !important;
  max-width: none !important;
  min-width: 0;
  overflow-x: clip;
  width: 100% !important;
}

body:not(.rep-portal-page) .rep-home > :is(section, nav) {
  max-width: none;
  width: 100%;
}

/* Tablet portrait layouts: 768px and 960px wide viewports. */
@media (min-width: 48.01rem) and (max-width: 64rem) {
  .rep-home .rep-container,
  .rep-home .rep-home-hero__layout {
    max-width: 100%;
    width: 100%;
  }

  .rep-home-hero__layout {
    min-height: 19rem;
    padding: 1.4rem var(--rep-page-gutter);
  }

  .rep-home-hero__layout::after {
    background: linear-gradient(90deg, #f4f4f3 0%, rgba(244,244,243,.98) 42%, rgba(244,244,243,.72) 58%, rgba(244,244,243,0) 76%);
  }

  .rep-home-hero__content {
    max-width: 31rem;
    width: 54%;
  }

  .rep-home-hero__visual {
    left: 30%;
    right: 0;
    width: 70%;
  }

  .rep-home-hero__visual img {
    object-position: center center;
  }

  .rep-home-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 36.01rem) and (max-width: 48rem) {
  .rep-home .rep-container,
  .rep-home .rep-home-hero__layout {
    max-width: 100%;
    width: 100%;
  }

  .rep-home-hero__layout::after {
    background: linear-gradient(90deg, rgba(244,244,243,1) 0%, rgba(244,244,243,.97) 48%, rgba(244,244,243,.64) 70%, rgba(244,244,243,.15) 100%);
  }

  .rep-home-hero__content {
    max-width: 29rem;
    width: 62%;
  }

  .rep-home-hero__visual {
    left: 34%;
    right: 0;
    width: 66%;
  }

  .rep-home-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* Tablet header (769-1024px): desktop actions, two-row catalog/search, no mobile Menu button. */
@media (min-width: 48.01rem) and (max-width: 64rem) {
  .rep-site-header__inner {
    column-gap: .85rem;
    grid-template-columns: minmax(14rem, auto) minmax(0, 1fr) auto;
    row-gap: .55rem;
  }

  .rep-site-header .rep-menu-toggle,
  .rep-header-panel {
    display: none !important;
  }

  .rep-header-brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin: 0;
  }

  .rep-header-brand__image {
    max-height: 4rem;
    max-width: 17rem;
  }

  .rep-header-actions {
    align-self: center;
    gap: .25rem;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
  }

  .rep-header-control {
    flex-direction: column;
    gap: .15rem;
    min-width: 3.7rem;
    padding: .3rem .35rem;
  }

  .rep-header-control > span:not(.rep-header-cart__count):not(.rep-header-wishlist__count),
  .rep-header-track > span,
  .rep-header-quote > span {
    display: inline !important;
    font-size: .68rem;
    line-height: 1.1;
    white-space: nowrap;
  }

  .rep-header-catalog {
    grid-column: 1;
    grid-row: 2;
  }

  .rep-header-search {
    grid-column: 2 / -1;
    grid-row: 2;
  }
}
/* PDP tablet layout: keep the purchase card directly below Shipping Calculator. */
@media (min-width: 53.81rem) and (max-width: 73.75rem) {
  .rep-single-product .rep-pdp-section-1 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
    gap: 1.5rem !important;
  }

  .rep-single-product .left-section-1-main,
  .rep-single-product .rep-pdp-section-2-main,
  .rep-single-product .right-section-1-main {
    display: contents !important;
  }

  .rep-single-product .left-section-2 {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .rep-single-product .right-section-2 {
    grid-column: 2;
    grid-row: 1;
  }

  .rep-single-product .right-section-1-main > .rep-pdp__buybox {
    align-self: start;
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .rep-single-product .left-section-1-main > .rep-pdp-related {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  .rep-single-product .left-section-1-main > .rep-pdp-description {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
  }

  .rep-single-product .right-section-1-main > .rep-pdp-documents-resources {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
  }

  .rep-single-product .right-section-1-main > .rep-pdp-specifications--full-sidebar {
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
  }

  .rep-single-product .left-section-1-main > .rep-pdp-customer-reviews {
    grid-column: 1 / -1 !important;
    grid-row: 7 !important;
  }
}
/* Stabilize the custom PDP gallery against FlexSlider inline positioning. */
.rep-single-product .woocommerce-product-gallery .flex-viewport {
  overflow: hidden !important;
}
.rep-single-product .woocommerce-product-gallery__wrapper {
  margin-left: 0 !important;
  transform: none !important;
  width: 100% !important;
}
.rep-single-product .woocommerce-product-gallery__image {
  float: none !important;
  margin: 0 !important;
  transform: none !important;
  width: 100% !important;
}
.rep-single-product .woocommerce-product-gallery__image.rep-is-active {
  display: flex !important;
}
/* PDP gallery interaction: only the explicit Zoom button opens enlargement. */
.rep-single-product .woocommerce-product-gallery__image .zoomImg {
  display: none !important;
}
.rep-single-product .woocommerce-product-gallery__image > a {
  cursor: default !important;
  pointer-events: none;
}
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__favorite,
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__zoom {
  pointer-events: auto;
}
.rep-single-product .woocommerce-product-gallery__image .rep-pdp-media__zoom {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
/* PDP tablet media: thumbnails below the main image and a wider details column. */
@media (min-width: 53.81rem) and (max-width: 73.75rem) {
  .rep-single-product .rep-pdp-section-1 {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
  }

  .rep-single-product .left-section-2 .woocommerce-product-gallery {
    height: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    width: 100% !important;
  }

  .rep-single-product .woocommerce-product-gallery .flex-viewport,
  .rep-single-product .woocommerce-product-gallery__wrapper,
  .rep-single-product .woocommerce-product-gallery__image {
    height: 430px !important;
    min-height: 430px !important;
    width: 100% !important;
  }

  .rep-single-product .woocommerce-product-gallery__image {
    padding: 1.25rem !important;
  }

  .rep-single-product .flex-control-thumbs {
    display: grid !important;
    gap: .6rem !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    left: auto !important;
    margin-top: .8rem !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  .rep-single-product .flex-control-thumbs li {
    aspect-ratio: 1;
    height: auto !important;
    min-width: 0;
    width: 100% !important;
  }

  .rep-single-product .flex-control-thumbs li:nth-child(n+13) {
    display: none !important;
  }

  .rep-single-product .rep-pdp-specifications__shipping .ups-pcalc__row {
    grid-template-columns: minmax(0, 1fr) 64px 104px !important;
  }
}
/* PDP gallery selection and tablet related-product carousel controls. */
.rep-single-product .flex-control-thumbs li,
.rep-single-product .flex-control-thumbs li:has(img.flex-active) {
  border: 1px solid #dce3ec !important;
}
.rep-single-product .flex-control-thumbs li.rep-is-active,
.rep-single-product .flex-control-thumbs li.rep-is-active:has(img.flex-active) {
  border: 2px solid #075ff7 !important;
}

@media (min-width: 48.01rem) and (max-width: 64rem) {
  .rep-single-product .rep-pdp-related__nav {
    display: flex !important;
  }
  .rep-single-product .rep-pdp-related__nav[hidden] {
    display: none !important;
  }
}
/* Shared carousel arrow presentation. */
.rep-carousel-arrow {
  align-items: center !important;
  background: #eef1f5 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
  box-sizing: border-box;
  box-shadow: 0 3px 9px rgba(15, 35, 60, .12) !important;
  color: #1e3a5f !important;
  display: flex;
  flex: 0 0 2.5rem;
  height: 2.5rem !important;
  max-height: 2.5rem;
  max-width: 2.5rem;
  min-height: 2.5rem !important;
  min-width: 2.5rem !important;
  justify-content: center;
  padding: 0 !important;
  width: 2.5rem !important;
}
.rep-carousel-arrow svg {
  fill: none;
  height: 1.25rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1.25rem;
}
.rep-carousel-arrow:hover:not(:disabled),
.rep-carousel-arrow:focus-visible:not(:disabled) {
  background: #e2e8f0 !important;
  border-color: #94a3b8 !important;
  color: #075ff7 !important;
}
.rep-carousel-arrow:disabled {
  background: #f3f4f6 !important;
  color: #94a3b8 !important;
  cursor: default;
  opacity: .65;
}
/* Tablet PDP main image fills its framed canvas without an empty side gutter. */
@media (min-width: 53.81rem) and (max-width: 73.75rem) {
  .rep-single-product .woocommerce-product-gallery__image > a {
    height: 100% !important;
    width: 100% !important;
  }

  .rep-single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
    width: 100% !important;
  }
}
/* Desktop PDP main image also fills its framed canvas. */
@media (min-width: 73.76rem) {
  .rep-single-product .woocommerce-product-gallery__image > a {
    height: 100% !important;
    width: 100% !important;
  }

  .rep-single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
    width: 100% !important;
  }
}
/* iPad Pro 13 portrait: pull the full-bleed hero artwork toward the content. */
@media (min-width: 64.01rem) and (max-width: 68.75rem) {
  .rep-home-hero__visual {
    right: auto;
    transform: translateX(-24.6875rem);
    width: calc(100% + 24.6875rem);
  }
}
/* Mobile cart summary: contain recalculation controls and long total labels. */
@media (max-width: 0rem) {
  .woocommerce-cart .rep-cart-layout .rep-order-summary {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table {
    box-sizing: border-box;
    display: table !important;
    margin-inline: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table tbody,
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table tr {
    max-width: 100%;
    width: 100%;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table th {
    width: 42% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table td {
    width: 58% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table .rep-summary-shipping-action td[colspan='2'] {
    width: 100% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table :where(th, td) {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: normal;
  }
  .woocommerce-cart .rep-summary-shipping-action td {
    width: 100% !important;
  }
  .woocommerce-cart .rep-recalculate-shipping {
    box-sizing: border-box;
    display: flex;
    max-width: 100%;
    white-space: normal;
    width: 100% !important;
  }
}
/* Use an explicit row grid on mobile; the native table algorithm lets colspan widen the card. */
@media (max-width: 0rem) {
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table,
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table tbody {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100% !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table th,
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table td {
    box-sizing: border-box !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table :where(th, td) {
    box-sizing: border-box !important;
    display: block !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table td {
    padding-top: .15rem !important;
    text-align: left !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table .rep-summary-shipping-action td[colspan='2'] {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none !important;
    width: auto !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary table.shop_table :is(.rep-summary-shipping, .rep-estimated-tax) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .woocommerce-cart .rep-cart-layout .rep-order-summary :is(.rep-summary-shipping, .rep-estimated-tax) td {
    line-height: 1.35;
    padding-top: .15rem !important;
    text-align: left !important;
    white-space: normal !important;
  }
}
@media (min-width:64.01rem){.rep-single-product .rep-pdp-related__viewport .rep-pdp-related__item{flex:0 0 195px;width:190px}.rep-single-product .rep-pdp-related__item>.rep-product-card{min-height:305px}}

/* Preserve complete 200x140 category artwork without cropping. */
.rep-home-category-card__media{aspect-ratio:10/7}.rep-home-category-card__media>img.attachment-medium{height:100%;object-fit:contain;width:100%}
