/* ========================================================================== 
   POLY SMART — RED COMMERCE UI
   Visual direction based on the supplied retail reference while preserving
   Poly Smart branding, routes, data and business logic.
   ========================================================================== */

:root {
  --ps-red: #e0001b;
  --ps-red-dark: #ba0016;
  --ps-red-soft: #fff1f3;
  --ps-ink: #111827;
  --ps-navy: #081829;
  --ps-muted: #667085;
  --ps-line: #e7e9ee;
  --ps-surface: #ffffff;
  --ps-soft: #f6f7f9;
  --ps-yellow: #f4b400;
  --ps-green: #16803b;
  --ps-radius: 10px;
  --ps-shadow: 0 8px 24px rgba(15, 23, 42, .06);
  --color-primary: var(--ps-red);
  --color-primary-dark: var(--ps-red-dark);
  --color-danger: var(--ps-red);
  --primary: var(--ps-red);
  --primary-hover: var(--ps-red-dark);
  --primary-light: var(--ps-red-soft);
  --secondary: var(--ps-navy);
  --accent: var(--ps-red);
  --sale: var(--ps-red);
  --bg: #fff;
  --border: var(--ps-line);
  --text: var(--ps-ink);
}

html { scroll-behavior: smooth; }

body.shop-page {
  margin: 0 !important;
  background: #fff !important;
  color: var(--ps-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px;
  line-height: 1.55;
}

body.shop-page *, body.shop-page *::before, body.shop-page *::after { box-sizing: border-box; }
body.shop-page a { color: inherit; }
body.shop-page img { max-width: 100%; }
.et-shell { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; margin-inline: auto !important; }

/* Header */
.et-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--ps-line) !important;
  box-shadow: 0 2px 14px rgba(15,23,42,.05) !important;
  backdrop-filter: blur(10px);
}
.et-promo { display: none !important; }
.et-topbar { background: #fff !important; border: 0 !important; }
.et-topbar-inner {
  min-height: 76px !important;
  padding: 14px 0 !important;
  display: grid !important;
  grid-template-columns: 205px minmax(300px, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
}
.et-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: max-content;
  color: var(--ps-ink) !important;
  text-decoration: none !important;
  letter-spacing: -.04em;
}
.et-brand-mark {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border: 2px solid var(--ps-red) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--ps-red) !important;
  font-size: 18px !important;
  box-shadow: none !important;
}
.et-brand strong, .et-brand em { font-size: 21px !important; line-height: 1 !important; }
.et-brand strong { color: var(--ps-ink) !important; font-weight: 800 !important; }
.et-brand em { color: var(--ps-red) !important; font-style: normal !important; font-weight: 800 !important; }

.et-inline-search { display: flex !important; height: 42px !important; border: 1px solid #dfe3e8 !important; border-radius: 5px !important; overflow: hidden; background: #fff !important; }
.et-inline-search:focus-within { border-color: var(--ps-red) !important; box-shadow: 0 0 0 3px rgba(224,0,27,.08) !important; }
.et-inline-search input { min-width: 0; flex: 1; padding: 0 15px !important; border: 0 !important; outline: 0; background: transparent !important; color: var(--ps-ink) !important; font-size: 13px !important; }
.et-inline-search button { width: 92px !important; border: 0 !important; border-radius: 0 !important; background: var(--ps-red) !important; color: #fff !important; }
.et-inline-search button::after { content: "Tìm kiếm"; font-size: 12px; font-weight: 700; }
.et-inline-search button svg { display: none !important; }

.et-top-actions { display: flex !important; align-items: center !important; gap: 10px !important; }
.et-cart-link, .et-login-link, .et-account-menu > summary {
  min-height: 42px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ps-ink) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}
.et-cart-link:hover, .et-login-link:hover, .et-account-menu > summary:hover { background: var(--ps-soft) !important; color: var(--ps-red) !important; }
.et-cart-icon svg, .et-login-icon svg { width: 23px !important; height: 23px !important; stroke: currentColor !important; fill: none !important; }
.et-cart-link b { position: absolute !important; top: 0 !important; right: 2px !important; min-width: 17px !important; height: 17px !important; padding: 0 4px !important; border-radius: 999px !important; background: var(--ps-red) !important; color: #fff !important; font-size: 10px !important; line-height: 17px !important; text-align: center; }
.et-account-avatar { background: var(--ps-red) !important; color: #fff !important; }
.et-account-dropdown { top: calc(100% + 8px) !important; right: 0 !important; width: 245px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; box-shadow: var(--ps-shadow) !important; }

.et-categorybar { min-height: 52px !important; border-top: 1px solid var(--ps-line) !important; background: #fff !important; }
.et-category-layout { display: grid !important; grid-template-columns: 230px minmax(0,1fr) !important; gap: 20px !important; align-items: center !important; }
.et-category-toggle { width: 100% !important; height: 42px !important; padding: 0 17px !important; border: 0 !important; border-radius: 7px !important; background: var(--ps-red) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(224,0,27,.2) !important; justify-content: flex-start !important; gap: 11px !important; }
.et-category-toggle strong { font-size: 13px !important; }
.et-category-dropdown { top: calc(100% + 6px) !important; width: 230px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; box-shadow: var(--ps-shadow) !important; background: #fff !important; }
.et-category-dropdown a { min-height: 42px !important; padding: 0 15px !important; border-bottom: 1px solid #f0f1f3 !important; color: #344054 !important; font-size: 13px !important; }
.et-category-dropdown a:hover { padding-left: 19px !important; background: var(--ps-red-soft) !important; color: var(--ps-red) !important; }
.et-category-inner { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: clamp(16px, 2.2vw, 30px) !important; overflow-x: auto; scrollbar-width: none; }
.et-category-inner::-webkit-scrollbar { display: none; }
.et-category-inner a { position: relative; flex: 0 0 auto; padding: 17px 0 !important; color: #344054 !important; font-size: 12px !important; font-weight: 600 !important; white-space: nowrap; }
.et-category-inner a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 9px; height: 2px; border-radius: 2px; background: var(--ps-red); transition: right .2s; }
.et-category-inner a:hover, .et-category-inner a.active { color: var(--ps-red) !important; }
.et-category-inner a:hover::after, .et-category-inner a.active::after { right: 0; }
.et-search-strip { display: none !important; }

/* Shared section rhythm */
.et-home { display: flex !important; flex-direction: column; background: #fff !important; padding-bottom: 35px; }
.et-home > section { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; margin-inline: auto !important; }
.et-home > section:nth-of-type(1) { order: 1; }
.et-home > section:nth-of-type(6) { order: 2; }
.et-home > section:nth-of-type(3) { order: 3; }
.et-home > section:nth-of-type(2) { order: 4; }
.et-home > section:nth-of-type(4) { order: 5; }
.et-home > section:nth-of-type(5) { order: 6; }
.et-home > .home-news { order: 7; }
.et-home > .home-reviews { order: 8; }

/* Home hero */
.et-hero {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  padding: 22px 0 14px !important;
}
.et-hero-card { min-height: 340px !important; border: 1px solid var(--ps-line) !important; border-radius: 12px !important; overflow: hidden; box-shadow: none !important; }
.et-hero-main { grid-column: 1 / -1 !important; min-height: 350px !important; padding: 42px 7% !important; background: linear-gradient(108deg,#f7f7f7 0%,#f7f7f7 55%,#ececec 100%) !important; color: var(--ps-ink) !important; }
.et-hero-main::before { display: none !important; }
.et-hero-main > div { position: relative; z-index: 2; max-width: 450px; }
.et-hero-main h1 { margin: 8px 0 12px !important; color: var(--ps-ink) !important; font-size: clamp(34px, 4.3vw, 55px) !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }
.et-hero-main p { color: #475467 !important; font-size: 15px !important; }
.et-hero-main a { display: inline-flex !important; margin-top: 18px !important; padding: 11px 24px !important; border-radius: 999px !important; background: #111 !important; color: #fff !important; font-size: 13px !important; font-weight: 700 !important; }
.et-hero-main img { right: 5% !important; width: min(50%, 560px) !important; height: 92% !important; object-fit: contain !important; filter: drop-shadow(0 22px 26px rgba(15,23,42,.18)); }
.et-kicker { color: var(--ps-red) !important; font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .08em; }
.et-hero-side { display: none !important; }
.et-mini-promo { min-height: 112px !important; padding: 16px 20px !important; border: 1px solid var(--ps-line) !important; border-radius: 9px !important; background: #fff !important; box-shadow: none !important; }
.et-mini-promo img { width: 38% !important; height: 88px !important; object-fit: contain !important; }
.et-mini-promo small { color: var(--ps-muted) !important; font-size: 11px !important; }
.et-mini-promo strong { color: var(--ps-ink) !important; font-size: 15px !important; }
.et-mini-promo a { color: var(--ps-red) !important; font-size: 11px !important; font-weight: 700 !important; }

/* Home headings and products */
.et-products, .et-home-catalog { margin-top: 30px !important; padding: 0 !important; }
.et-section-heading, .et-catalog-group > header { margin-bottom: 16px !important; padding: 0 0 11px !important; border-bottom: 1px solid var(--ps-line) !important; }
.et-section-heading h2, .et-catalog-group h2 { color: var(--ps-ink) !important; font-size: 20px !important; line-height: 1.2 !important; text-transform: uppercase !important; letter-spacing: -.02em; }
.et-section-heading > div > span, .et-catalog-group header span { color: var(--ps-red) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.et-section-heading > a, .et-catalog-group header > a { color: var(--ps-red) !important; font-size: 11px !important; font-weight: 700 !important; }
#container .et-product-grid,
#container .product-container,
#container .home-product-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
  justify-content: stretch !important;
}
.et-product-card, .et-catalog-card, .product {
  min-width: 0 !important;
  padding: 13px !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.et-product-card:hover, .et-catalog-card:hover, .product:hover { transform: translateY(-4px) !important; border-color: #f3a4ae !important; box-shadow: var(--ps-shadow) !important; }
.et-product-image, .et-catalog-image, .product-image-link { display: flex !important; height: 180px !important; align-items: center !important; justify-content: center !important; background: #fff !important; overflow: hidden; }
.et-product-image img, .et-catalog-image img, .product-image-link img { width: 100% !important; height: 100% !important; object-fit: contain !important; transition: transform .25s; }
.et-product-card:hover img, .et-catalog-card:hover img, .product:hover img { transform: scale(1.04) !important; }
.et-product-card small, .product-cat-name { color: #8a94a3 !important; font-size: 10px !important; text-transform: none !important; }
.et-product-card h3, .et-catalog-card h3, .product h3 { min-height: 39px !important; margin: 7px 0 !important; color: var(--ps-ink) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.45 !important; }
.et-price, .et-catalog-price, .product-price-box { margin-top: auto !important; }
.et-price strong, .et-catalog-price strong, .price-current { color: var(--ps-red) !important; font-size: 15px !important; font-weight: 800 !important; }
.et-price del, .et-catalog-price del, .price-old { color: #98a2b3 !important; font-size: 11px !important; }
.et-rating, .product-rating { color: var(--ps-yellow) !important; font-size: 11px !important; }
.rating-count { color: #98a2b3 !important; }
.et-sale-tag, .et-catalog-sale { top: 10px !important; left: 10px !important; padding: 3px 7px !important; border-radius: 4px !important; background: var(--ps-red) !important; color: #fff !important; font-size: 9px !important; }

/* Flash-sale section is moved directly below hero */
.et-home > section:nth-of-type(6) { padding: 16px !important; border-radius: 11px !important; background: linear-gradient(135deg,#ee001d,#c90018) !important; }
.et-home > section:nth-of-type(6) .et-section-heading { border-color: rgba(255,255,255,.3) !important; }
.et-home > section:nth-of-type(6) .et-section-heading h2,
.et-home > section:nth-of-type(6) .et-section-heading span,
.et-home > section:nth-of-type(6) .et-section-heading a { color: #fff !important; }
.et-home > section:nth-of-type(6) .et-product-card { border-color: transparent !important; }
.sale-countdown-wrap, .sale-countdown { color: #fff !important; }

/* Home catalog */
#container .et-home-catalog { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; justify-content: stretch !important; }
.et-catalog-group { padding: 18px !important; border: 1px solid var(--ps-line) !important; border-radius: 9px !important; background: #fff !important; }
#container .et-catalog-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; justify-content: stretch !important; }
.et-catalog-image { height: 165px !important; }

/* Catalog page */
.product-page-heading, .catalog-filters, .product-container { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; }
.product-page-heading { margin-top: 28px !important; }
.product-page-heading .stitle { color: var(--ps-ink) !important; font-size: 24px !important; text-transform: none !important; }
.catalog-filters { margin: 16px auto 24px !important; grid-template-columns: 1.7fr 1fr 1fr 1fr 1fr auto auto !important; gap: 8px !important; padding: 14px !important; border: 1px solid var(--ps-line); border-radius: 8px; background: var(--ps-soft); }
.catalog-filters input, .catalog-filters select { min-width: 0; height: 40px; padding: 0 10px; border: 1px solid #d9dde4; border-radius: 5px; background: #fff; color: #344054; font: 12px Arial,sans-serif; outline: 0; }
.catalog-filters input:focus, .catalog-filters select:focus { border-color: var(--ps-red); box-shadow: 0 0 0 3px rgba(224,0,27,.08); }
.catalog-filters label { font-size: 12px; white-space: nowrap; }
.catalog-filters input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--ps-red); }
.shop-action-button { min-height: 40px !important; padding: 0 16px !important; border: 1px solid var(--ps-red) !important; border-radius: 5px !important; background: var(--ps-red) !important; color: #fff !important; font-weight: 700 !important; }
.product-container { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 12px !important; margin: 0 auto 40px !important; padding: 0 !important; }
.product { min-height: 330px !important; }
.product > .product-image-link { height: 190px !important; }

/* Product detail: override legacy cyan styling */
.pd-page { width: min(1180px, calc(100% - 40px)) !important; margin: 28px auto 52px !important; color: var(--ps-ink) !important; }
.pd-hero { grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr) !important; gap: 42px !important; }
.pd-main-img { min-height: 500px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; background: #fff !important; }
.pd-main-img img { height: 460px !important; }
.pd-thumb { border-radius: 6px !important; }
.pd-thumb.active, .pd-thumb:hover { border-color: var(--ps-red) !important; }
.pd-category { color: var(--ps-red) !important; }
.pd-info h1 { color: var(--ps-ink) !important; font-size: clamp(27px,2.5vw,38px) !important; font-weight: 700 !important; }
.pd-price { color: var(--ps-red) !important; }
.pd-price-current { color: var(--ps-red) !important; font-size: 27px !important; }
.pd-summary { color: var(--ps-muted) !important; }
.pd-features li::before { color: var(--ps-red) !important; }
.pd-variant-opt input:checked + span { border-color: var(--ps-red) !important; color: var(--ps-red) !important; background: var(--ps-red-soft) !important; box-shadow: 0 0 0 1px var(--ps-red) !important; }
.pd-action { height: 46px !important; border-radius: 5px !important; background: var(--ps-red) !important; }
.pd-action.secondary { border: 1px solid var(--ps-red) !important; background: #fff !important; color: var(--ps-red) !important; }
.pd-action.secondary:hover { background: var(--ps-red-soft) !important; }
.pd-benefits { border: 1px solid var(--ps-line) !important; background: var(--ps-soft) !important; }
.pd-benefits b { color: var(--ps-red) !important; }
.et-specs-card, .pd-related-card { border-radius: 8px !important; box-shadow: none !important; }
.et-specs-card h3::before { background: var(--ps-red) !important; }
.pd-related-price { color: var(--ps-red) !important; }
#reviews { padding: 22px !important; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
#reviews h2, .pd-related h2 { font-size: 21px !important; }
#reviews select, #reviews textarea { display: block; width: 100%; margin-top: 6px; padding: 10px; border: 1px solid #d9dde4; border-radius: 5px; }

/* Cart */
.cart-page-head { width: min(1180px, calc(100% - 40px)); margin: 28px auto 0; }
.cart-page-head h1 { margin: 0 0 16px; font-size: 24px; }
.commerce-steps { display: flex; max-width: 560px; margin: 0 auto 22px; padding: 0; list-style: none; counter-reset: steps; }
.commerce-steps li { position: relative; flex: 1; padding-top: 32px; color: #98a2b3; text-align: center; font-size: 11px; font-weight: 700; }
.commerce-steps li::before { counter-increment: steps; content: counter(steps); position: absolute; top: 0; left: 50%; z-index: 2; display: grid; width: 24px; height: 24px; place-items: center; transform: translateX(-50%); border-radius: 50%; background: #d7dbe2; color: #fff; }
.commerce-steps li::after { content: ""; position: absolute; top: 11px; left: -50%; width: 100%; height: 2px; background: #d7dbe2; }
.commerce-steps li:first-child::after { display: none; }
.commerce-steps li.active { color: var(--ps-red); }
.commerce-steps li.active::before { background: var(--ps-red); }
.cart-container { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; margin: 18px auto 46px !important; padding: 0 !important; gap: 24px !important; align-items: start; }
.cart-left { min-width: 0; }
.cart-table { border: 1px solid var(--ps-line) !important; border-radius: 8px !important; box-shadow: none !important; }
.cart-table th { padding: 12px 14px !important; background: var(--ps-soft) !important; color: #475467 !important; font-size: 11px !important; }
.cart-table td { padding: 14px !important; border-color: var(--ps-line) !important; font-size: 12px !important; }
.product-info img { width: 66px !important; height: 66px !important; border: 0 !important; background: #fff !important; }
.cart-remove { border: 0 !important; background: transparent !important; color: #98a2b3 !important; font-size: 12px !important; }
.cart-remove:hover { color: var(--ps-red) !important; }
.cart-update { border-radius: 5px !important; background: #344054 !important; }
.cart-coupon { margin-top: 18px !important; padding: 18px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; background: #fff !important; }
.cart-coupon-kicker { color: var(--ps-red) !important; }
.cart-coupon-input-row input,
.cart-coupon-input-row select { border-radius: 5px !important; }
.cart-coupon-input-row button { border-radius: 5px !important; background: var(--ps-red) !important; }
.cart-right { padding: 22px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; box-shadow: none !important; }
.cart-right h3 { margin-bottom: 18px !important; font-size: 17px !important; }
.total-line { font-size: 13px !important; }
.total-line.total { color: var(--ps-red) !important; }
.checkout-btn { border-radius: 5px !important; background: var(--ps-red) !important; box-shadow: none !important; text-transform: uppercase; font-size: 12px !important; }
.continue { color: var(--ps-muted) !important; font-size: 12px !important; }

/* Checkout / orders */
.checkout-page, .orders-page, .success-page { width: min(1180px, calc(100% - 40px)) !important; }
.checkout-step.current, .success-step.current { background: var(--ps-red) !important; }
.checkout-layout { grid-template-columns: minmax(0,1fr) minmax(340px,410px) !important; }
.checkout-panel, .order-summary, .success-card { border-radius: 8px !important; box-shadow: none !important; }
.checkout-panel h1, .checkout-panel h2, .orders-page h1, .success-card h2 { border-color: var(--ps-red) !important; }
.checkout-field input, .checkout-field textarea, .shipping-option-body, .payment-choice { border-radius: 5px !important; }
.checkout-field input:focus, .checkout-field textarea:focus { border-color: var(--ps-red) !important; box-shadow: 0 0 0 3px rgba(224,0,27,.08) !important; }
.shipping-option input:checked + .shipping-option-body { border-color: var(--ps-red) !important; background: var(--ps-red-soft) !important; }
.shipping-option em, .checkout-total-row.grand, .order-total, .success-row.grand { color: var(--ps-red) !important; }
.checkout-submit, .coupon-form button, .order-detail-link, .order-cancel-button { border-radius: 5px !important; background: var(--ps-red) !important; }

/* Account pages */
.auth-commerce-page {
  width: min(900px, calc(100% - 40px));
  margin: 46px auto 55px;
  display: grid;
  grid-template-columns: minmax(0,540px) minmax(240px,1fr);
  gap: 22px;
  align-items: start;
}
.auth-commerce-page.auth-commerce-compact { display: block; width: min(520px, calc(100% - 40px)); }
.auth-commerce-card, .auth-member-benefits { border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
.auth-commerce-card { padding: 34px 42px; box-shadow: var(--ps-shadow); }
.auth-commerce-heading { margin-bottom: 24px; text-align: center; }
.auth-commerce-eyebrow { display: block; margin-bottom: 6px; color: var(--ps-red); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.auth-commerce-heading h1 { margin: 0 0 7px; color: var(--ps-ink); font-size: 25px; line-height: 1.25; }
.auth-commerce-heading p { margin: 0; color: var(--ps-muted); font-size: 12px; }
.auth-commerce-form { display: grid; gap: 16px; }
.auth-commerce-form > label { position: relative; display: block; color: #344054; font-size: 12px; font-weight: 700; }
.auth-commerce-form input:not([type="checkbox"]) { display: block; width: 100%; height: 44px; margin-top: 7px; padding: 0 13px; border: 1px solid #d9dde4; border-radius: 5px; background: #fff; color: var(--ps-ink); font: 13px Arial,sans-serif; outline: 0; }
.auth-commerce-form input:focus { border-color: var(--ps-red); box-shadow: 0 0 0 3px rgba(224,0,27,.08); }
.auth-commerce-form > button { min-height: 45px; border: 0; border-radius: 5px; background: var(--ps-red); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.auth-commerce-form > button:hover { background: var(--ps-red-dark); }
.auth-label-link { float: right; font-weight: 600; }
.auth-label-link a, .auth-switch a, .auth-terms a, .auth-local-link a { color: var(--ps-red); }
.auth-switch { margin: 20px 0 0; text-align: center; color: var(--ps-muted); font-size: 12px; }
.auth-terms { display: flex !important; align-items: flex-start; gap: 8px; color: var(--ps-muted) !important; font-weight: 400 !important; line-height: 1.5; }
.auth-terms input { width: 15px; height: 15px; margin-top: 2px; accent-color: var(--ps-red); }
.auth-alert { margin-bottom: 16px; padding: 11px 13px; border: 1px solid #fecaca; border-radius: 5px; background: #fff1f2; color: #b42318; font-size: 12px; }
.auth-alert.success { border-color: #b7e4c7; background: #edf9f0; color: #166534; }
.auth-local-link { margin: -5px 0 18px; text-align: center; font-size: 12px; font-weight: 700; }
.auth-member-benefits { padding: 26px; background: linear-gradient(145deg,#fff,#f8fafc); }
.auth-member-benefits h2 { margin: 0 0 20px; font-size: 16px; }
.auth-member-benefits > div { display: flex; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--ps-line); }
.auth-member-benefits > div:last-child { border-bottom: 0; }
.auth-member-benefits > div > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 50%; background: var(--ps-red-soft); color: var(--ps-red); }
.auth-member-benefits p { margin: 0; }
.auth-member-benefits strong, .auth-member-benefits small { display: block; }
.auth-member-benefits strong { font-size: 12px; }
.auth-member-benefits small { margin-top: 3px; color: var(--ps-muted); font-size: 10px; }

.account-page { width: min(760px, calc(100% - 40px)) !important; margin: 34px auto 52px !important; }
.account-card { padding: 30px !important; border: 1px solid var(--ps-line) !important; border-radius: 8px !important; background: #fff !important; box-shadow: var(--ps-shadow) !important; }
.account-card__header { display: flex !important; gap: 16px !important; margin-bottom: 24px !important; padding-bottom: 20px !important; border-bottom: 1px solid var(--ps-line) !important; }
.account-card__icon { display: grid !important; width: 48px !important; height: 48px !important; flex: 0 0 48px; place-items: center; border-radius: 50% !important; background: var(--ps-red-soft) !important; color: var(--ps-red) !important; }
.account-card__icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.account-card__eyebrow { margin: 0 0 3px !important; color: var(--ps-red) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .08em; }
.account-card__header h1 { margin: 0 !important; font-size: 24px !important; }
.account-card__header p:last-child { margin: 5px 0 0 !important; color: var(--ps-muted); }
.account-form__grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
.account-field--wide { grid-column: 1 / -1; }
.account-field label, .account-page > form label { display: grid; gap: 7px; color: #344054; font-size: 12px; font-weight: 700; }
.account-field input, .account-field textarea, .account-page > form input { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #d9dde4; border-radius: 5px; background: #fff; color: var(--ps-ink); font: 13px Arial,sans-serif; outline: 0; }
.account-field input:focus, .account-field textarea:focus, .account-page > form input:focus { border-color: var(--ps-red); box-shadow: 0 0 0 3px rgba(224,0,27,.08); }
.account-field input:disabled { background: var(--ps-soft); color: #98a2b3; }
.account-field small { display: block; margin-top: 5px; color: #98a2b3; font-size: 10px; }
.account-form__actions { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 14px !important; margin-top: 22px !important; }
.account-password-link { display: inline-flex; align-items: center; gap: 7px; color: var(--ps-red) !important; font-weight: 700; }
.account-password-link svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }

/* News */
.news-page { width: min(1180px, calc(100% - 40px)); margin: 30px auto 50px; }
.news-page__header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.news-page__header h1 { margin: 0; font-size: 25px; }
.news-categories { display: flex; flex-wrap: wrap; gap: 8px; }
.news-categories a { padding: 7px 13px; border: 1px solid var(--ps-line); border-radius: 999px; color: #475467; font-size: 11px; font-weight: 700; }
.news-categories a:hover, .news-categories a.active { border-color: var(--ps-red); background: var(--ps-red); color: #fff; }
.news-feature { display: grid; grid-template-columns: 1.45fr .75fr; gap: 16px; margin-bottom: 34px; }
.news-lead, .news-side-card, .news-card { overflow: hidden; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
.news-lead img { width: 100%; height: 330px; object-fit: cover; }
.news-lead__body { padding: 19px; }
.news-lead h2 { margin: 6px 0 8px; font-size: 23px; line-height: 1.25; }
.news-side { display: grid; gap: 10px; }
.news-side-card { display: grid; grid-template-columns: 110px 1fr; min-height: 96px; }
.news-side-card img { width: 110px; height: 100%; object-fit: cover; }
.news-side-card div { padding: 12px; }
.news-side-card h3 { margin: 3px 0; font-size: 13px; line-height: 1.4; }
.news-kicker { color: var(--ps-red); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.news-meta { color: #98a2b3; font-size: 10px; }
.news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.news-card img { width: 100%; height: 180px; object-fit: cover; }
.news-card__body { padding: 15px; }
.news-card h2 { margin: 6px 0; font-size: 15px; line-height: 1.4; }
.news-card p, .news-lead p { color: var(--ps-muted); font-size: 12px; }
.news-detail { width: min(850px, calc(100% - 40px)); margin: 34px auto 55px; }
.news-detail article { padding: 28px; border: 1px solid var(--ps-line); border-radius: 8px; }
.news-detail h1 { margin: 7px 0 18px; font-size: clamp(28px,4vw,42px); line-height: 1.2; }
.news-detail img { width: 100%; max-height: 480px; margin-bottom: 22px; border-radius: 7px; object-fit: cover; }
.news-detail__content { color: #344054; font-size: 15px; line-height: 1.8; }
.home-news, .home-reviews { margin-top: 32px !important; }
.home-review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.home-review-card { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 20px; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
.home-review-avatar { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--ps-red-soft); color: var(--ps-red); font-weight: 800; }
.home-review-card strong, .home-review-card small, .home-review-card span { display: block; }
.home-review-card strong { font-size: 12px; }
.home-review-card small { margin: 2px 0 3px; color: var(--ps-muted); font-size: 9px; }
.home-review-card span { color: var(--ps-yellow); font-size: 11px; }
.home-review-card p { grid-column: 1/-1; margin: 5px 0 0; color: #475467; font-size: 12px; line-height: 1.65; }

/* About/contact */
.about-hero { background: var(--ps-soft) !important; }
.about-eyebrow { color: var(--ps-red) !important; }
.about-btn-primary, .contact-form button { background: var(--ps-red) !important; color: #fff !important; }
.about-value-grid article, .about-process-grid article { border-color: var(--ps-line) !important; border-radius: 8px !important; box-shadow: none !important; }
.contact { width: min(1180px, calc(100% - 40px)) !important; margin: 34px auto 52px !important; gap: 24px !important; }
.contact-info, .contact-map { border: 1px solid var(--ps-line) !important; border-radius: 8px !important; box-shadow: none !important; overflow: hidden; }
.contact-form input, .contact-form textarea { border-radius: 5px !important; }

/* Benefits and footer */
.et-benefits { margin-top: 38px !important; padding: 18px 0 !important; border-top: 1px solid var(--ps-line) !important; border-bottom: 1px solid var(--ps-line) !important; background: #fff !important; }
.et-benefits .et-shell { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; }
.et-benefits .et-shell > div { display: grid !important; grid-template-columns: 34px 1fr !important; align-items: center !important; column-gap: 8px !important; padding: 0 16px !important; border-right: 1px solid var(--ps-line); }
.et-benefits .et-shell > div:last-child { border-right: 0; }
.et-benefits span { grid-row: 1 / span 2; color: var(--ps-red) !important; font-size: 22px !important; }
.et-benefits strong { color: var(--ps-ink) !important; font-size: 12px !important; }
.et-benefits small { color: var(--ps-muted) !important; font-size: 10px !important; }
.et-footer { margin-top: 0 !important; padding: 42px 0 18px !important; background: var(--ps-navy) !important; color: #aeb8c5 !important; }
.et-footer-grid { display: grid !important; grid-template-columns: 1.35fr repeat(3,1fr) !important; gap: 45px !important; }
.et-footer h4 { margin-bottom: 14px !important; color: #fff !important; font-size: 12px !important; text-transform: uppercase; }
.et-footer a, .et-footer p { color: #aeb8c5 !important; font-size: 11px !important; line-height: 1.7 !important; }
.et-footer a:hover { color: #fff !important; }
.et-footer-brand strong { color: #fff !important; }
.et-footer-brand em { color: #ff354d !important; }
.et-copyright { margin-top: 28px !important; padding-top: 16px !important; border-top: 1px solid rgba(255,255,255,.1) !important; color: #78879a !important; font-size: 10px !important; }

/* Floating contacts and AI */
.et-floating-contact { right: 18px !important; bottom: 18px !important; gap: 8px !important; }
.et-floating-contact__item { width: 43px !important; height: 43px !important; box-shadow: 0 5px 16px rgba(15,23,42,.16) !important; }
.smart-chat { right: 18px !important; bottom: 171px !important; }
.smart-chat__toggle { width: 48px !important; height: 48px !important; border: 1px solid var(--ps-line) !important; background: #fff !important; box-shadow: 0 5px 16px rgba(15,23,42,.16) !important; }
.smart-chat__panel { width: min(370px, calc(100vw - 28px)) !important; border: 1px solid var(--ps-line) !important; border-radius: 10px !important; box-shadow: 0 16px 42px rgba(15,23,42,.2) !important; }
.smart-chat__header { background: var(--ps-navy) !important; }
.smart-chat__composer textarea:focus { border-color: var(--ps-red) !important; box-shadow: 0 0 0 3px rgba(224,0,27,.08) !important; }
.smart-chat__composer button { background: var(--ps-red) !important; }

/* Responsive */
@media (max-width: 1050px) {
  .et-topbar-inner { grid-template-columns: 180px minmax(260px,1fr) auto !important; gap: 15px !important; }
  .et-category-inner { gap: 17px !important; }
  #container .et-product-grid, #container .product-container, #container .home-product-container { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  .catalog-filters { grid-template-columns: repeat(4,1fr) !important; }
  .catalog-filters input[type="search"] { grid-column: span 2; }
}

@media (max-width: 820px) {
  .et-header { position: relative !important; }
  .et-topbar-inner { grid-template-columns: 1fr auto !important; }
  .et-inline-search { grid-column: 1 / -1; grid-row: 2; }
  .et-category-layout { grid-template-columns: 200px minmax(0,1fr) !important; }
  #container .et-product-grid, #container .product-container, #container .home-product-container { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  #container .et-home-catalog { grid-template-columns: 1fr !important; }
  .pd-hero, .checkout-layout { grid-template-columns: 1fr !important; }
  .cart-container { flex-direction: column !important; }
  .cart-left, .cart-right { width: 100% !important; }
  .news-feature { grid-template-columns: 1fr; }
  .news-side { grid-template-columns: repeat(3,1fr); }
  .news-side-card { display: block; }
  .news-side-card img { width: 100%; height: 120px; }
  .news-grid { grid-template-columns: repeat(2,1fr); }
  .home-review-grid { grid-template-columns: 1fr; }
  .et-benefits .et-shell { grid-template-columns: repeat(2,1fr) !important; }
  .et-benefits .et-shell > div:nth-child(2) { border-right: 0; }
  .et-footer-grid { grid-template-columns: repeat(2,1fr) !important; }
  .auth-commerce-page { grid-template-columns: 1fr; width: min(560px, calc(100% - 40px)); }
}

@media (max-width: 600px) {
  .et-shell, .et-home > section, .product-page-heading, .catalog-filters, .product-container,
  .pd-page, .cart-page-head, .cart-container, .checkout-page, .orders-page, .success-page,
  .account-page, .news-page, .news-detail, .contact { width: min(100% - 24px,1180px) !important; }
  .et-topbar-inner { min-height: auto !important; padding: 10px 0 !important; }
  .et-brand strong, .et-brand em { font-size: 18px !important; }
  .et-brand-mark { width: 30px !important; height: 30px !important; font-size: 15px !important; }
  .et-cart-label, .et-login-link > span:first-child, .et-account-menu summary > span:nth-child(2) { display: none !important; }
  .et-top-actions { gap: 2px !important; }
  .et-category-layout { display: block !important; padding: 7px 0 !important; }
  .et-category-menu { width: 100% !important; }
  .et-category-toggle { width: 100% !important; }
  .et-category-dropdown { width: 100% !important; }
  .et-category-inner { display: none !important; }
  .et-hero { grid-template-columns: 1fr !important; padding-top: 12px !important; }
  .et-hero-main { grid-column: auto !important; min-height: 385px !important; padding: 25px !important; align-items: flex-start !important; }
  .et-hero-main > div { max-width: 100%; }
  .et-hero-main h1 { font-size: 34px !important; }
  .et-hero-main img { right: 2% !important; bottom: 0 !important; width: 76% !important; height: 58% !important; }
  .et-mini-promo { min-height: 100px !important; }
  #container .et-product-grid, #container .product-container, #container .home-product-container { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  .et-product-card, .product { padding: 10px !important; }
  .et-product-image, .product > .product-image-link { height: 145px !important; }
  .et-product-card h3, .product h3 { font-size: 12px !important; }
  #container .et-home-catalog { display: block !important; }
  .et-catalog-group { margin-bottom: 12px; padding: 12px !important; }
  #container .et-catalog-grid { grid-template-columns: repeat(2,1fr) !important; }
  .catalog-filters { grid-template-columns: 1fr 1fr !important; }
  .catalog-filters input[type="search"] { grid-column: 1 / -1; }
  .catalog-filters .shop-action-button { grid-column: 1 / -1; }
  .product-page-heading { align-items: flex-start !important; gap: 10px; }
  .pd-main-img { min-height: 350px !important; }
  .pd-main-img img { height: 320px !important; }
  .pd-gallery { grid-template-columns: 1fr !important; }
  .pd-thumbs { order: 2; flex-direction: row !important; }
  .cart-table { display: block; overflow-x: auto; white-space: nowrap; }
  .cart-table .product-info { min-width: 230px; white-space: normal; }
  .account-card { padding: 20px !important; }
  .auth-commerce-page, .auth-commerce-page.auth-commerce-compact { width: min(100% - 24px,560px); margin: 26px auto 40px; }
  .auth-commerce-card { padding: 25px 20px; }
  .account-card__header { align-items: flex-start; }
  .account-form__grid { grid-template-columns: 1fr !important; }
  .account-field--wide { grid-column: auto; }
  .account-form__actions { align-items: stretch !important; flex-direction: column !important; }
  .news-page__header { align-items: flex-start; flex-direction: column; }
  .news-side, .news-grid { grid-template-columns: 1fr; }
  .news-lead img { height: 220px; }
  .news-card { display: grid; grid-template-columns: 125px 1fr; }
  .news-card img { height: 100%; min-height: 120px; }
  .et-benefits .et-shell, .et-footer-grid { grid-template-columns: 1fr !important; }
  .et-benefits .et-shell > div { border-right: 0; border-bottom: 1px solid var(--ps-line); padding: 11px 0 !important; }
  .et-benefits .et-shell > div:last-child { border-bottom: 0; }
  .et-footer-grid { gap: 25px !important; }
  .smart-chat { right: 12px !important; }
  .et-floating-contact { right: 12px !important; }
}

/* Final authority over the legacy global button reset. */
#container .auth-commerce-form > button,
#container .smart-chat__composer button,
#container .shop-action-button,
#container .checkout-btn,
#container .checkout-submit,
#container .coupon-form button,
#container .cart-coupon-input-row button,
#container .cart-update,
#container .pd-action:not(.secondary),
#container .order-detail-link,
#container .order-cancel-button,
#container .success-btn.primary {
  border-color: var(--ps-red) !important;
  background: var(--ps-red) !important;
  color: #fff !important;
}
#container .auth-commerce-form > button:hover,
#container .smart-chat__composer button:hover,
#container .shop-action-button:hover,
#container .checkout-btn:hover,
#container .checkout-submit:hover,
#container .coupon-form button:hover,
#container .cart-coupon-input-row button:hover,
#container .pd-action:not(.secondary):hover {
  border-color: var(--ps-red-dark) !important;
  background: var(--ps-red-dark) !important;
  color: #fff !important;
}
#container .pd-action.secondary {
  border-color: var(--ps-red) !important;
  background: #fff !important;
  color: var(--ps-red) !important;
}
#container .et-hero-main a {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

/* ========================================================================== 
   TECH RETAIL HOMEPAGE — exact structural layout from the supplied reference
   ========================================================================== */
.tz-home { padding: 18px 0 34px; background: #fff; }
.tz-home > section { margin-bottom: 24px !important; }
.tz-stage { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 14px; align-items: stretch; }
.tz-category-sidebar { min-height: 350px; padding: 8px 0; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
.tz-category-sidebar a { display: grid; grid-template-columns: 25px minmax(0,1fr) 12px; min-height: 42px; align-items: center; gap: 8px; padding: 0 14px; border-bottom: 1px solid #f1f2f4; color: #344054; font-size: 12px; text-decoration: none; }
.tz-category-sidebar a:last-child { border-bottom: 0; }
.tz-category-sidebar a:hover { background: var(--ps-red-soft); color: var(--ps-red); }
.tz-category-sidebar i { font-style: normal; color: #98a2b3; text-align: right; }
.tz-category-icon { color: #475467; font-size: 18px; text-align: center; }

.tz-main-hero { position: relative; min-height: 350px; overflow: hidden; border-radius: 9px; background: linear-gradient(100deg,#f4f4f4 0%,#f4f4f4 55%,#e8e8e8 100%); }
.tz-main-hero__copy { position: relative; z-index: 2; width: 49%; padding: 46px 0 35px 8%; }
.tz-main-hero__eyebrow { color: var(--ps-red); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.tz-main-hero h1 { margin: 7px 0 6px; color: #090909; font-size: clamp(31px,3.5vw,48px); line-height: 1.08; letter-spacing: -.04em; }
.tz-main-hero p { max-width: 440px; margin: 0; color: #667085; font-size: 12px; }
.tz-main-hero > img { position: absolute; right: 3%; bottom: 20px; width: 50%; height: 305px; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 18px 22px rgba(15,23,42,.14)); }
.tz-hero-offers { display: flex; gap: 36px; margin: 18px 0; }
.tz-hero-offers span { position: relative; display: grid; color: #475467; font-size: 10px; }
.tz-hero-offers span + span::before { content: ""; position: absolute; left: -18px; top: 0; bottom: 0; width: 1px; background: #d0d5dd; }
.tz-hero-offers strong { color: #111; font-size: 23px; line-height: 1.15; }
#container .tz-hero-button { display: inline-flex; min-width: 118px; min-height: 38px; align-items: center; justify-content: center; border-radius: 999px !important; border: 0 !important; background: #111 !important; color: #fff !important; font-size: 12px; font-weight: 700; }
.tz-hero-dots { position: absolute; bottom: 11px; left: 50%; display: flex; gap: 6px; transform: translateX(-50%); }
.tz-hero-dots b, .tz-hero-dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #c3c7cd; }
.tz-hero-dots b { background: var(--ps-red); }

.tz-promo-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.tz-promo-row > a { display: flex; min-height: 105px; align-items: center; justify-content: space-between; overflow: hidden; padding: 13px 22px; border: 1px solid var(--ps-line); border-radius: 8px; background: linear-gradient(130deg,#fff,#f7f8fa); text-decoration: none; }
.tz-promo-row > a:nth-child(2) { background: linear-gradient(130deg,#fff,#edf4ff); }
.tz-promo-row > a:nth-child(3) { background: linear-gradient(130deg,#fff,#fff4ef); }
.tz-promo-row strong, .tz-promo-row span { display: block; }
.tz-promo-row strong { color: var(--ps-ink); font-size: 13px; }
.tz-promo-row div > span { margin-top: 3px; color: var(--ps-muted); font-size: 10px; }
.tz-promo-row img { width: 105px; height: 78px; object-fit: contain; }
.tz-promo-zero { color: #2878e5; font-size: 67px; font-weight: 800; line-height: 1; letter-spacing: -.08em; }
.tz-promo-zero sup { font-size: 22px; }
.tz-promo-delivery { font-size: 55px; line-height: 1; transform: scaleX(-1); }

.tz-flash { padding: 14px !important; border-radius: 9px; background: linear-gradient(135deg,#ed001d,#c90018); }
.tz-flash-header { display: grid; grid-template-columns: 1fr auto 100px; min-height: 42px; align-items: center; gap: 16px; color: #fff; }
.tz-flash-header h2 { margin: 0; color: #fff; font-size: 20px; font-style: italic; }
.tz-flash-header > a { color: #fff; font-size: 10px; text-align: right; }
.tz-flash-header .sale-countdown-wrap { display: flex; align-items: center; gap: 10px; color: #fff !important; font-size: 10px; }
.tz-flash-header .sale-countdown { gap: 3px !important; }
.tz-flash-header .sale-countdown > span { min-width: 35px !important; padding: 4px 5px !important; border-radius: 4px !important; background: rgba(255,255,255,.18) !important; box-shadow: none !important; }
.tz-flash-header .sale-countdown b { font-size: 12px !important; }
.tz-flash-header .sale-countdown small { font-size: 6px !important; }

.tz-section { padding-top: 5px !important; }
.tz-section-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.tz-section-header h2 { margin: 0; color: var(--ps-ink); font-size: 18px; text-transform: uppercase; letter-spacing: -.02em; }
.tz-section-header a { color: var(--ps-red); font-size: 10px; font-weight: 700; }

#container .tz-product-grid { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 10px !important; }
.tz-product-card { position: relative; display: flex; min-width: 0; min-height: 330px; flex-direction: column; padding: 12px; border: 1px solid var(--ps-line); border-radius: 7px; background: #fff; transition: transform .2s,box-shadow .2s,border-color .2s; }
.tz-product-card:hover { z-index: 2; transform: translateY(-3px); border-color: #f2a8b1; box-shadow: var(--ps-shadow); }
.tz-product-card--flash { min-height: 350px; border: 0; }
.tz-product-image { display: flex; height: 180px; align-items: center; justify-content: center; overflow: hidden; padding: 5px; }
.tz-product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s; }
.tz-product-card:hover .tz-product-image img { transform: scale(1.04); }
.tz-product-card h3 { min-height: 38px; margin: 7px 0 6px; color: var(--ps-ink); font-size: 12px; font-weight: 600; line-height: 1.45; }
.tz-product-price { margin-top: auto; color: var(--ps-red); font-size: 14px; }
.tz-product-card del { color: #98a2b3; font-size: 10px; }
.tz-product-rating { margin-top: 7px; color: #f4b400; font-size: 10px; }
.tz-product-rating span { color: #98a2b3; }
.tz-product-rating--empty { color: #98a2b3; }
.tz-discount, .tz-new-badge, .tz-rank { position: absolute; top: 9px; left: 9px; z-index: 3; display: grid; min-width: 31px; height: 19px; place-items: center; padding: 0 6px; border-radius: 4px; background: var(--ps-red); color: #fff; font-size: 8px; font-weight: 800; }
.tz-rank { width: 22px; min-width: 22px; height: 22px; border-radius: 50%; background: #5b6471; }
.tz-product-card:has(.tz-rank) .tz-discount, .tz-product-card:has(.tz-rank) .tz-new-badge { left: 35px; }
.tz-product-card:has(.tz-rank:nth-child(2)) .tz-rank { background: #e3a000; }
.tz-sale-progress { position: relative; height: 15px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: #ffd4da; text-align: center; }
.tz-sale-progress span { position: absolute; inset: 0 38% 0 0; background: var(--ps-red); }
.tz-sale-progress small { position: relative; z-index: 1; color: #fff; font-size: 7px; line-height: 15px; }

.tz-category-showcase { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 10px; }
.tz-category-showcase a { display: flex; min-height: 130px; flex-direction: column; align-items: center; justify-content: center; padding: 10px 5px; border: 1px solid #f1f2f4; border-radius: 7px; background: #fafafa; text-decoration: none; }
.tz-category-showcase a:hover { border-color: #f2a8b1; background: #fff; }
.tz-category-showcase img { width: 82px; height: 76px; object-fit: contain; mix-blend-mode: multiply; }
.tz-category-showcase strong { margin-top: 8px; color: #344054; font-size: 10px; text-align: center; }
.tz-category-placeholder { color: #98a2b3; font-size: 42px; }

.tz-news-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.tz-news-grid article { overflow: hidden; border: 1px solid var(--ps-line); border-radius: 7px; background: #fff; }
.tz-news-grid img { width: 100%; height: 155px; object-fit: cover; }
.tz-news-grid h3 { min-height: 42px; margin: 11px 12px 4px; font-size: 12px; line-height: 1.45; }
.tz-news-grid small { display: block; margin: 0 12px 12px; color: #98a2b3; font-size: 9px; }
.tz-review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.tz-review-grid article { display: grid; grid-template-columns: 42px 1fr; gap: 10px; min-height: 160px; padding: 18px; border: 1px solid var(--ps-line); border-radius: 7px; background: #fff; }
.tz-review-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--ps-red-soft); color: var(--ps-red); font-weight: 800; }
.tz-review-grid strong, .tz-review-grid small, .tz-review-grid b { display: block; }
.tz-review-grid strong { font-size: 11px; }
.tz-review-grid small { margin: 2px 0; color: var(--ps-muted); font-size: 9px; }
.tz-review-grid b { color: #f4b400; font-size: 10px; }
.tz-review-grid p { grid-column: 1/-1; margin: 7px 0 0; color: #475467; font-size: 11px; line-height: 1.65; }
.tz-empty-section { padding: 28px; border: 1px dashed #d0d5dd; border-radius: 7px; background: #fafafa; color: #98a2b3; text-align: center; font-size: 12px; }

@media (max-width: 1000px) {
  .tz-stage { grid-template-columns: 190px minmax(0,1fr); }
  .tz-category-sidebar a { padding: 0 10px; }
  #container .tz-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  .tz-product-grid > article:nth-child(5) { display: none; }
  .tz-category-showcase { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 760px) {
  .tz-home { padding-top: 12px; }
  .tz-stage { display: block; }
  .tz-category-sidebar { display: none; }
  .tz-main-hero { min-height: 390px; }
  .tz-main-hero__copy { width: 100%; padding: 28px 25px; }
  .tz-main-hero h1 { max-width: 85%; font-size: 34px; }
  .tz-main-hero > img { right: 0; bottom: 10px; width: 70%; height: 210px; }
  .tz-promo-row { grid-template-columns: 1fr; }
  .tz-promo-row > a { min-height: 88px; }
  .tz-flash-header { grid-template-columns: 1fr auto; }
  .tz-flash-header .sale-countdown-wrap { grid-column: 1/-1; grid-row: 2; }
  #container .tz-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .tz-product-grid > article:nth-child(5) { display: flex; }
  .tz-product-card { min-height: 300px; padding: 9px; }
  .tz-product-image { height: 145px; }
  .tz-product-card h3 { font-size: 11px; }
  .tz-category-showcase { grid-template-columns: repeat(3,1fr); }
  .tz-news-grid { grid-template-columns: repeat(2,1fr); }
  .tz-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .tz-main-hero { min-height: 410px; }
  .tz-main-hero h1 { max-width: 100%; font-size: 29px; }
  .tz-hero-offers { gap: 26px; }
  .tz-main-hero > img { width: 82%; height: 185px; }
  .tz-section-header h2 { font-size: 15px; }
  .tz-product-card { min-height: 275px; }
  .tz-product-image { height: 130px; }
  .tz-category-showcase { grid-template-columns: repeat(2,1fr); }
  .tz-news-grid { grid-template-columns: 1fr; }
}

/* Header corrections: compact search icon, readable account and primary nav. */
#container .et-topbar-inner .et-inline-search button {
  display: grid !important;
  position: absolute !important;
  top: 50% !important;
  right: 5px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #111827 !important;
  box-shadow: none !important;
  line-height: 0 !important;
  transform: translateY(-50%) !important;
}

#container .et-topbar-inner .et-inline-search button::before,
#container .et-topbar-inner .et-inline-search button::after {
  display: none !important;
  content: none !important;
}

#container .et-topbar-inner .et-inline-search button svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#container .et-topbar-inner .et-inline-search input {
  padding-right: 48px !important;
}

#container .et-topbar-inner .et-account-menu > summary {
  justify-content: flex-start !important;
  gap: 9px !important;
  border: 1px solid #d9dee7 !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: none !important;
}

#container .et-topbar-inner .et-account-menu > summary > span:nth-child(2) {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  color: #111827 !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#container .et-topbar-inner .et-account-arrow {
  flex: 0 0 auto !important;
  color: #475467 !important;
}

#container .et-category-layout {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  height: auto !important;
}

#container .et-category-inner {
  width: 100% !important;
  margin-left: 0 !important;
  justify-content: flex-start !important;
}

@media (min-width: 901px) {
  #container .et-topbar-inner .et-top-actions {
    width: auto !important;
    min-width: 310px !important;
    max-width: none !important;
  }

  #container .et-topbar-inner .et-account-menu,
  #container .et-topbar-inner .et-account-menu > summary {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    flex-basis: 190px !important;
  }
}

@media (max-width: 600px) {
  #container .et-category-inner {
    display: flex !important;
    overflow-x: auto !important;
    gap: 20px !important;
  }
}

/* Header proportions for the exact homepage composition. */
#container .et-promo { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; }
#container .et-topbar { height: 72px !important; min-height: 72px !important; }
#container .et-topbar-inner {
  display: grid !important;
  min-height: 72px !important;
  height: 72px !important;
  padding: 10px 0 !important;
  grid-template-columns: 205px minmax(300px,1fr) auto !important;
  grid-template-rows: 52px !important;
  grid-template-areas: "brand search actions" !important;
  align-items: center !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
}
#container .et-topbar-inner > .et-brand { grid-area: brand !important; align-self: center !important; }
#container .et-topbar-inner > .et-inline-search { grid-area: search !important; width: 100% !important; max-width: none !important; align-self: center !important; justify-self: stretch !important; margin: 0 !important; }
#container .et-topbar-inner > .et-top-actions { grid-area: actions !important; width: max-content !important; min-width: 0 !important; align-self: center !important; justify-self: end !important; justify-content: flex-end !important; margin: 0 !important; }
#container .et-topbar-inner .et-cart-link,
#container .et-topbar-inner .et-login-link,
#container .et-topbar-inner .et-account-menu,
#container .et-topbar-inner .et-account-menu > summary {
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ps-ink) !important;
  box-shadow: none !important;
}
#container .et-topbar-inner .et-cart-link { width: 102px !important; min-width: 102px !important; flex-basis: 102px !important; }
#container .et-topbar-inner .et-login-link,
#container .et-topbar-inner .et-account-menu,
#container .et-topbar-inner .et-account-menu > summary { width: 118px !important; min-width: 118px !important; flex-basis: 118px !important; }
#container .et-topbar-inner .et-cart-link:hover,
#container .et-topbar-inner .et-login-link:hover,
#container .et-topbar-inner .et-account-menu > summary:hover { background: var(--ps-soft) !important; color: var(--ps-red) !important; }
#container .et-categorybar { min-height: 48px !important; height: 48px !important; background: #fff !important; border-top: 1px solid var(--ps-line) !important; border-bottom: 1px solid var(--ps-line) !important; }
#container .et-category-layout { display: grid !important; height: 48px !important; padding: 0 !important; grid-template-columns: 220px minmax(0,1fr) !important; gap: 18px !important; }
#container .et-category-toggle { height: 38px !important; }
#container .et-category-inner a { padding: 14px 0 !important; }
@media (max-width: 820px) {
  #container .et-topbar { height: auto !important; min-height: 118px !important; }
  #container .et-topbar-inner { height: auto !important; min-height: 118px !important; grid-template-columns: 1fr auto !important; grid-template-rows: 48px 44px !important; grid-template-areas: "brand actions" "search search" !important; gap: 8px 12px !important; }
  #container .et-inline-search { grid-column: 1/-1 !important; grid-row: 2 !important; }
}
@media (max-width: 600px) {
  #container .et-categorybar, #container .et-category-layout { height: auto !important; min-height: 50px !important; }
  #container .et-category-layout { display: block !important; padding: 6px 0 !important; }
}

/* Final storefront header contract. Keep this block last in the cascade. */
#container .et-category-layout {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

#container .et-category-inner {
  width: 100% !important;
  margin-left: 0 !important;
  justify-content: flex-start !important;
}

#container .et-topbar-inner .et-account-menu > summary {
  justify-content: flex-start !important;
  gap: 9px !important;
  border: 1px solid #d9dee7 !important;
  background: #ffffff !important;
  color: #111827 !important;
}

#container .et-topbar-inner .et-account-menu > summary > span:nth-child(2) {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  color: #111827 !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (min-width: 901px) {
  #container .et-topbar-inner > .et-top-actions {
    width: auto !important;
    min-width: 310px !important;
  }

  #container .et-topbar-inner .et-account-menu,
  #container .et-topbar-inner .et-account-menu > summary {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    flex: 0 0 190px !important;
  }
}

@media (max-width: 600px) {
  #container .et-category-inner {
    display: flex !important;
    gap: 20px !important;
    overflow-x: auto !important;
  }
}

/* Cart contrast and centered desktop navigation. */
#container .et-topbar-inner .et-cart-link,
#container .et-topbar-inner .et-cart-link:visited {
  border: 1px solid #e30019 !important;
  background: #e30019 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

#container .et-topbar-inner .et-cart-link .et-cart-label,
#container .et-topbar-inner .et-cart-link .et-cart-icon,
#container .et-topbar-inner .et-cart-link .et-cart-icon svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

#container .et-topbar-inner .et-cart-link:hover,
#container .et-topbar-inner .et-cart-link:focus-visible {
  border-color: #bd0015 !important;
  background: #bd0015 !important;
  color: #ffffff !important;
}

#container .et-topbar-inner .et-cart-link b {
  border: 2px solid #ffffff !important;
  background: #a90012 !important;
  color: #ffffff !important;
}

@media (min-width: 601px) {
  #container .et-category-inner {
    justify-content: center !important;
  }
}

@media (max-width: 600px) {
  #container .et-category-inner {
    justify-content: flex-start !important;
  }
}

/* Product-card typography: prevent global heading rules from oversizing names. */
#container .tz-product-card h3,
#container .tz-product-card h3 a {
  font-size: 15px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
}

#container .tz-product-card h3 {
  min-height: 42px !important;
  margin: 8px 0 7px !important;
}

@media (max-width: 600px) {
  #container .tz-product-card h3,
  #container .tz-product-card h3 a {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  #container .tz-product-card h3 {
    min-height: 36px !important;
  }
}

/* Catalog grid: cards must follow their tracks instead of overlapping. */
#container .product-container {
  column-gap: 18px !important;
  row-gap: 24px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

#container .product-container > .product {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex: none !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}

/* Catalog filters: labelled, balanced and responsive. */
#container .catalog-filters {
  display: grid !important;
  grid-template-columns:
    minmax(250px, 1.6fr)
    minmax(165px, 0.9fr)
    minmax(260px, 1.35fr)
    minmax(150px, 0.8fr)
    max-content
    126px !important;
  gap: 14px !important;
  align-items: end !important;
  margin: 18px auto 28px !important;
  padding: 18px 20px !important;
  border: 1px solid #e1e5eb !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05) !important;
}

#container .catalog-filter-field {
  display: grid !important;
  min-width: 0 !important;
  gap: 7px !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

#container .catalog-filter-field > span {
  padding-left: 2px !important;
  color: #475467 !important;
  font-size: 12px !important;
}

#container .catalog-filter-field input,
#container .catalog-filter-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid #d7dce4 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1d2939 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

#container .catalog-filter-field input::placeholder {
  color: #98a2b3 !important;
  opacity: 1 !important;
}

#container .catalog-filter-field input:focus,
#container .catalog-filter-field select:focus {
  border-color: #e30019 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(227, 0, 25, 0.09) !important;
}

#container .catalog-filter-price-inputs {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 6px !important;
}

#container .catalog-filter-price-inputs i {
  color: #98a2b3 !important;
  font-style: normal !important;
  text-align: center !important;
}

#container .catalog-sale-check {
  display: inline-flex !important;
  height: 44px !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 13px !important;
  border: 1px solid #d7dce4 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #344054 !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

#container .catalog-sale-check:hover {
  border-color: #f2a1ac !important;
  background: #fff6f7 !important;
}

#container .catalog-sale-check input {
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  accent-color: #e30019 !important;
}

#container .catalog-filter-submit {
  width: 126px !important;
  height: 44px !important;
  min-height: 44px !important;
  align-self: end !important;
  padding: 0 15px !important;
  border-radius: 8px !important;
  border-color: #e30019 !important;
  background: #e30019 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

#container .catalog-filter-submit:hover,
#container .catalog-filter-submit:focus-visible {
  border-color: #bd0015 !important;
  background: #bd0015 !important;
}

#container .catalog-filters button.catalog-filter-submit:not(:disabled) {
  border-color: #e30019 !important;
  background: #e30019 !important;
  color: #ffffff !important;
}

#container .catalog-filters button.catalog-filter-submit:not(:disabled):hover,
#container .catalog-filters button.catalog-filter-submit:not(:disabled):focus-visible {
  border-color: #bd0015 !important;
  background: #bd0015 !important;
  color: #ffffff !important;
}

@media (max-width: 1180px) {
  #container .catalog-filters {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #container .catalog-filter-search,
  #container .catalog-filter-price {
    grid-column: span 2 !important;
  }

  #container .catalog-filter-submit {
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  #container .catalog-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 16px !important;
  }

  #container .catalog-filter-search,
  #container .catalog-filter-price,
  #container .catalog-filter-submit {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px) {
  #container .catalog-filters {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #container .catalog-filter-search,
  #container .catalog-filter-price,
  #container .catalog-filter-submit {
    grid-column: auto !important;
  }
}

/* Align the Flash Sale card footer and vertically center progress text. */
#container .tz-product-card--flash .tz-sale-progress {
  display: flex !important;
  width: calc(100% - 32px) !important;
  height: 20px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 8px 32px 0 0 !important;
  overflow: hidden !important;
  border-radius: 999px !important;
}

#container .tz-product-card--flash .tz-sale-progress small {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 6px !important;
  overflow: hidden !important;
  color: #ffffff !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

#container .tz-product-card--flash .product-card-overlay::after {
  right: 10px !important;
  bottom: 7px !important;
  font-size: 27px !important;
  line-height: 27px !important;
}

/* Homepage Flash Sale: high-contrast countdown on the red banner. */
#container .tz-flash-header .sale-countdown-wrap {
  white-space: nowrap !important;
}

#container .tz-flash-header .sale-countdown > span {
  min-width: 40px !important;
  height: 42px !important;
  padding: 5px 6px !important;
  border: 1px solid rgba(255, 255, 255, .7) !important;
  background: #ffffff !important;
  box-shadow: 0 2px 7px rgba(91, 0, 12, .16) !important;
}

#container .tz-flash-header .sale-countdown > span b {
  color: #d9001b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 14px !important;
}

#container .tz-flash-header .sale-countdown > span small {
  margin-top: 2px !important;
  color: #5f6672 !important;
  font-size: 7px !important;
  font-weight: 700 !important;
  line-height: 9px !important;
}

#container .tz-flash-header .sale-countdown i {
  color: #ffffff !important;
  font-size: 13px !important;
}

/* Homepage news cards: prevent global link typography from enlarging titles. */
#container .tz-news-grid article h3,
#container .tz-news-grid article h3 a {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

#container .tz-news-grid article h3 {
  min-height: 61px !important;
  max-height: 61px !important;
  margin: 12px 13px 5px !important;
  overflow: hidden !important;
}

#container .tz-news-grid article small {
  margin: 0 13px 13px !important;
  font-size: 10px !important;
}

/* News listing: compact, consistent typography. */
#container .news-page .news-page__header h1 {
  font-size: 32px !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

#container .news-page .news-lead h2,
#container .news-page .news-lead h2 a {
  font-size: 22px !important;
  line-height: 1.35 !important;
  letter-spacing: -.01em !important;
}

#container .news-page .news-side-card h3,
#container .news-page .news-side-card h3 a {
  font-size: 15px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

#container .news-page .news-side-card h3 {
  margin: 5px 0 !important;
}

#container .news-page .news-categories a {
  font-size: 12px !important;
}

/* Dedicated Flash Sale listing; isolated from legacy product-card rules. */
#container .flash-sale-page {
  margin: 34px auto 56px !important;
}

#container .flash-sale-page__header {
  margin-bottom: 22px !important;
}

#container .flash-sale-page__header > span {
  color: var(--ps-red) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

#container .flash-sale-page__header h1 {
  margin: 6px 0 4px !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}

#container .flash-sale-page__header p {
  margin: 0 !important;
  color: var(--ps-muted) !important;
  font-size: 13px !important;
}

#container .flash-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 280px)) !important;
  align-items: stretch !important;
  justify-content: start !important;
  gap: 20px !important;
}

#container .flash-sale-card {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 450px !important;
  overflow: hidden !important;
  flex-direction: column !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 7px 24px rgba(20, 27, 45, .07) !important;
}

#container .flash-sale-card__badge {
  position: absolute !important;
  z-index: 2 !important;
  top: 12px !important;
  left: 12px !important;
  padding: 5px 9px !important;
  border-radius: 5px !important;
  background: var(--ps-red) !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

#container .flash-sale-card__image {
  display: flex !important;
  height: 220px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  background: #fafafa !important;
}

#container .flash-sale-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: transform .2s ease !important;
}

#container .flash-sale-card:hover .flash-sale-card__image img {
  transform: scale(1.04) !important;
}

#container .flash-sale-card__body {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
  padding: 16px !important;
}

#container .flash-sale-card__body > small {
  color: var(--ps-muted) !important;
  font-size: 10px !important;
}

#container .flash-sale-card h2,
#container .flash-sale-card h2 a {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

#container .flash-sale-card h2 {
  min-height: 45px !important;
  margin: 6px 0 8px !important;
}

#container .flash-sale-card__price {
  display: flex !important;
  min-height: 42px !important;
  flex-direction: column !important;
}

#container .flash-sale-card__price strong {
  color: var(--ps-red) !important;
  font-size: 18px !important;
}

#container .flash-sale-card__price del {
  margin-top: 2px !important;
  color: #98a2b3 !important;
  font-size: 11px !important;
}

#container .flash-sale-card__meta {
  display: grid !important;
  gap: 4px !important;
  margin: 10px 0 14px !important;
  padding-top: 10px !important;
  border-top: 1px solid #eef0f3 !important;
  color: var(--ps-muted) !important;
  font-size: 10px !important;
}

#container .flash-sale-card__meta span {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

#container .flash-sale-card__meta b {
  color: #344054 !important;
}

#container .flash-sale-card__action {
  display: flex !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: auto !important;
  border-radius: 6px !important;
  background: var(--ps-red) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#container .flash-sale-empty {
  max-width: 520px !important;
  padding: 34px !important;
  border: 1px dashed #ccd2da !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  text-align: center !important;
}

#container .flash-sale-empty strong { font-size: 18px !important; }
#container .flash-sale-empty p { color: var(--ps-muted) !important; }
#container .flash-sale-empty a { color: var(--ps-red) !important; font-weight: 700 !important; }

@media (max-width: 760px) {
  #container .news-page .news-page__header h1 { font-size: 27px !important; }
  #container .news-page .news-lead h2,
  #container .news-page .news-lead h2 a { font-size: 19px !important; }
  #container .news-page .news-side-card h3,
  #container .news-page .news-side-card h3 a { font-size: 14px !important; }
  #container .flash-sale-page__header h1 { font-size: 28px !important; }
  #container .flash-sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 480px) {
  #container .tz-flash-header .sale-countdown-wrap { white-space: normal !important; }
  #container .tz-news-grid article h3,
  #container .tz-news-grid article h3 a { font-size: 13px !important; }
  #container .flash-sale-grid { grid-template-columns: 1fr !important; }
  #container .flash-sale-card { min-height: 425px !important; }
}

/* Keep the Flash Sale action readable on the red banner. */
#container .tz-flash-header > a,
#container .tz-flash-header > a:visited,
#container .tz-flash-header > a:hover,
#container .tz-flash-header > a:focus-visible {
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Latest-news cards: neutralize global heading/link sizes. */
#container .news-page .news-grid .news-card h2,
#container .news-page .news-grid .news-card h2 a {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

#container .news-page .news-grid .news-card h2 {
  min-height: 47px !important;
  max-height: 47px !important;
  margin: 6px 0 !important;
  overflow: hidden !important;
}

#container .news-page .news-grid .news-card p {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* One checkout progress component shared by cart, checkout and success. */
#container .checkout-page .commerce-steps,
#container .success-page .commerce-steps {
  width: min(560px, 100%) !important;
  max-width: 560px !important;
  margin: 0 auto 28px !important;
}

#container .commerce-steps li.done {
  color: #475467 !important;
}

#container .commerce-steps li.done::before,
#container .commerce-steps li.active::before {
  background: var(--ps-red) !important;
  color: #ffffff !important;
}

#container .commerce-steps li.done::after,
#container .commerce-steps li.active::after {
  background: var(--ps-red) !important;
}

#container .commerce-steps li.active {
  color: var(--ps-red) !important;
}

@media (max-width: 620px) {
  #container .commerce-steps li {
    padding-top: 30px !important;
    font-size: 10px !important;
  }
}

/* Refined homepage countdown: one balanced, self-contained timer group. */
#container .tz-flash-header {
  grid-template-columns: minmax(260px, 1fr) auto max-content !important;
  min-height: 58px !important;
  margin-bottom: 10px !important;
  gap: 18px !important;
}

#container .tz-flash-header .sale-countdown-wrap {
  display: flex !important;
  min-height: 54px !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 6px 9px 6px 11px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 11px !important;
  background: rgba(117, 0, 15, .34) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

#container .tz-flash-header .sale-countdown-wrap > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

#container .tz-flash-header .sale-countdown-wrap > span:first-child::before {
  content: "◷" !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#container .tz-flash-header .sale-countdown {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#container .tz-flash-header .sale-countdown > span {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 5px 3px 4px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 10px rgba(85, 0, 12, .2) !important;
}

#container .tz-flash-header .sale-countdown > span b {
  color: #d9001b !important;
  font-size: 14px !important;
  line-height: 15px !important;
}

#container .tz-flash-header .sale-countdown > span small {
  color: #626b78 !important;
  font-size: 7px !important;
  line-height: 9px !important;
  letter-spacing: .02em !important;
}

#container .tz-flash-header .sale-countdown i {
  color: rgba(255, 255, 255, .78) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#container .tz-flash-header > a {
  min-width: 88px !important;
  padding: 8px 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  #container .tz-flash-header {
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  #container .tz-flash-header .sale-countdown-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: fit-content !important;
    justify-self: center !important;
  }
}

@media (max-width: 520px) {
  #container .tz-flash-header .sale-countdown-wrap {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  #container .tz-flash-header .sale-countdown-wrap > span:first-child {
    width: 100% !important;
    justify-content: center !important;
  }

  #container .tz-flash-header .sale-countdown {
    gap: 3px !important;
  }

  #container .tz-flash-header .sale-countdown > span {
    width: 39px !important;
    min-width: 39px !important;
  }
}
