/*
 * ULTRA FIT / Cilupbah shop styling v4
 * Homepage design is scoped safely so WooCommerce shop/product pages stay clean.
 */

:root {
  --uf-blue: #0057ff;
  --uf-blue-2: #0071e3;
  --uf-ink: #090d16;
  --uf-muted: #677084;
  --uf-soft: #f5f7fb;
  --uf-soft-2: #eef4ff;
  --uf-line: rgba(15, 23, 42, 0.10);
  --uf-line-blue: rgba(0, 87, 255, 0.18);
  --uf-card: #ffffff;
  --uf-shadow: 0 22px 70px rgba(15, 23, 42, 0.08);
  --uf-shadow-soft: 0 14px 44px rgba(15, 23, 42, 0.06);
  --uf-radius: 24px;
  --uf-radius-lg: 34px;
  --uf-max: 1240px;
}

html { scroll-behavior: smooth; }

body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  color: var(--uf-ink);
  background: #fff;
  text-rendering: geometricPrecision;
}

body.home .site-main,
.uf-homepage {
  background:
    radial-gradient(circle at 22% 8%, rgba(0, 87, 255, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 46%, #f8fafc 100%);
}

/* Header polish for Blocksy */
[data-header*="type-1"] .ct-header [data-row*="middle"] {
  border-bottom: 1px solid var(--uf-line);
  backdrop-filter: blur(18px);
}

.ct-header .site-title,
.site-title,
.ct-header a {
  letter-spacing: -0.02em;
}

.ct-header-trigger,
.ct-button,
.wp-element-button,
button,
input[type="submit"],
.added_to_cart,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 999px !important;
}

.uf-wrap {
  width: min(calc(100% - 40px), var(--uf-max));
  margin-inline: auto;
}

.uf-section {
  padding: clamp(46px, 7vw, 92px) 0;
}

.uf-eyebrow {
  margin: 0 0 12px;
  color: var(--uf-blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.uf-lead {
  margin: 0;
  color: var(--uf-muted);
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.55;
}

.uf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.uf-button:hover { transform: translateY(-2px); }

.uf-button-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--uf-blue), var(--uf-blue-2));
  box-shadow: 0 14px 28px rgba(0, 87, 255, .24);
}

.uf-button-secondary {
  color: var(--uf-ink) !important;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--uf-line);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

.uf-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.uf-link {
  color: var(--uf-blue) !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Hero */
.uf-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(460px, 1.25fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: center;
  padding: clamp(48px, 7vw, 94px) 0 44px;
}

.uf-hero-copy h1 {
  max-width: 650px;
  margin: 0 0 18px;
  font-size: clamp(46px, 6vw, 88px);
  line-height: .94;
  letter-spacing: -.075em;
  font-weight: 900;
}

.uf-hero-copy .uf-lead { max-width: 560px; margin-bottom: 28px; }

.uf-trust-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
  max-width: 630px;
}

.uf-trust-row > div {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 62px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid var(--uf-line);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.uf-trust-row svg,
.uf-benefit-grid svg,
.uf-checkout-strip svg,
.uf-warranty-badge svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: var(--uf-blue);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}

.uf-trust-row strong { display:block; font-size: 13px; line-height: 1.1; }
.uf-trust-row small { display:block; color: var(--uf-muted); font-size: 11px; line-height: 1.25; margin-top: 3px; }

.uf-hero-visual {
  position: relative;
  min-height: 520px;
  border-radius: var(--uf-radius-lg);
  background:
    radial-gradient(circle at 70% 22%, rgba(0, 87, 255, .12), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,248,253,.92));
  border: 1px solid var(--uf-line);
  box-shadow: var(--uf-shadow);
  overflow: hidden;
}

.uf-stage {
  position: absolute;
  inset: 0;
}

.uf-stage:before {
  content: "";
  position: absolute;
  left: 8%;
  right: 6%;
  bottom: 46px;
  height: 110px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #eef2f7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 30px 55px rgba(15,23,42,.12);
}

.uf-device { position: absolute; filter: drop-shadow(0 22px 30px rgba(15,23,42,.18)); }

.uf-phone {
  width: 168px; height: 318px; left: 14%; bottom: 125px;
  border: 8px solid rgba(255,255,255,.72); border-radius: 34px;
  background: linear-gradient(145deg, #1b1f29, #4b5563);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.26);
}
.uf-phone:before { content:""; position:absolute; left:18px; top:18px; width:60px; height:60px; border-radius:22px; background:#0b0f19; box-shadow: 0 0 0 7px rgba(255,255,255,.18); }
.uf-phone span { position:absolute; left:42px; bottom:83px; width:84px; height:84px; border-radius:50%; border:7px solid rgba(255,255,255,.68); }
.uf-phone i { position:absolute; left:69px; bottom:52px; width:31px; height:9px; border-radius:99px; background:rgba(255,255,255,.7); }
.uf-phone b { position:absolute; right:23px; top:33px; width:14px; height:14px; border-radius:50%; background:#9ca3af; box-shadow: -21px 0 #6b7280, 0 22px #4b5563; }

.uf-powerbank {
  width: 180px; height: 260px; left: 36%; bottom: 122px;
  border-radius: 30px; background: linear-gradient(145deg, #20242c, #0f131a);
  transform: rotate(4deg);
}
.uf-powerbank span { position:absolute; inset: 0; display:grid; place-items:center; color:#fff; font-size:12px; letter-spacing:.06em; opacity:.75; }
.uf-powerbank i { position:absolute; left:50%; transform:translateX(-50%); bottom:36px; width:44px; height:6px; border-radius:99px; background:rgba(255,255,255,.35); box-shadow: 13px 0 rgba(255,255,255,.18), -13px 0 rgba(255,255,255,.18); }

.uf-charger {
  width: 92px; height: 112px; left: 13%; bottom: 62px;
  border-radius: 22px; background: linear-gradient(145deg, #fff, #e7ecf4);
}
.uf-charger:before, .uf-charger:after { content:""; position:absolute; top:-34px; width:10px; height:34px; border-radius:8px 8px 0 0; background:#c7d0db; }
.uf-charger:before { left:30px; } .uf-charger:after { right:30px; }
.uf-charger span { position:absolute; left:0; right:0; bottom:26px; text-align:center; font-weight:900; font-size:15px; color:#1f2937; }

.uf-earbuds { width: 154px; height: 96px; right: 24%; bottom: 147px; }
.uf-earbuds:before, .uf-earbuds:after { content:""; position:absolute; width:70px; height:70px; border-radius:50%; border:17px solid #131820; box-shadow: inset 0 0 0 7px #2d3440; }
.uf-earbuds:before { left:0; transform:rotate(-18deg); }
.uf-earbuds:after { right:0; transform:rotate(18deg); }
.uf-earbuds span, .uf-earbuds i { position:absolute; width:46px; height:30px; border-radius:999px; background:#171b22; top:39px; }
.uf-earbuds span { left:28px; } .uf-earbuds i { right:28px; }

.uf-tripod { width: 160px; height: 315px; right: 7%; bottom: 72px; }
.uf-tripod:before { content:""; position:absolute; left:56px; top:0; width:50px; height:74px; border-radius:14px; background:linear-gradient(145deg,#111827,#2d3748); }
.uf-tripod span { position:absolute; left:50px; top:70px; width:62px; height:160px; border-radius:32px; background:linear-gradient(145deg,#111827,#2b3440); }
.uf-tripod i, .uf-tripod b { position:absolute; bottom:0; width:20px; height:150px; border-radius:999px; background:#151a22; transform-origin: top center; }
.uf-tripod i { left:53px; transform:rotate(23deg); } .uf-tripod b { right:48px; transform:rotate(-23deg); }
.uf-tripod:after { content:""; position:absolute; left:70px; bottom:2px; width:20px; height:158px; border-radius:999px; background:#111827; }

.uf-cable { left: 28%; right: 25%; bottom: 70px; height: 42px; }
.uf-cable:before { content:""; position:absolute; inset:0; border-bottom: 13px solid #1f2937; border-radius: 50%; transform: rotate(-7deg); }
.uf-cable span, .uf-cable i { position:absolute; bottom:2px; width:52px; height:22px; border-radius:8px; background:#111827; }
.uf-cable span { left:0; } .uf-cable i { right:0; }

/* Sections */
.uf-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.uf-section-head h2,
.uf-center-head h2,
.uf-warranty h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(28px, 3vw, 46px);
  line-height: 1.05;
  letter-spacing: -.055em;
  font-weight: 900;
}

.uf-center-head { text-align:center; margin-bottom: 28px; }
.uf-center-head h2 { margin-inline:auto; }

.uf-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.uf-category-card {
  display: grid;
  min-height: 210px;
  padding: 18px;
  border: 1px solid var(--uf-line);
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--uf-shadow-soft);
  text-align: center;
  text-decoration: none !important;
  color: var(--uf-ink) !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.uf-category-card:hover {
  transform: translateY(-4px);
  border-color: var(--uf-line-blue);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.09);
}

.uf-category-media {
  display:grid; place-items:center;
  min-height: 138px;
  margin-bottom: 8px;
}
.uf-category-media img { max-height: 128px; width:auto; object-fit:contain; }
.uf-category-card strong { font-size: 15px; font-weight: 850; }

.uf-category-visual { position:relative; width:110px; height:118px; }
.uf-category-visual span,
.uf-category-visual i,
.uf-category-visual b { position:absolute; display:block; }
.uf-visual-protection span { left:22px; top:8px; width:62px; height:105px; border-radius:18px; background:linear-gradient(145deg,#111827,#4b5563); }
.uf-visual-protection i { right:7px; top:18px; width:50px; height:86px; border-radius:13px; border:3px solid rgba(0,87,255,.28); background:rgba(255,255,255,.45); }
.uf-visual-power span { left:12px; top:28px; width:48px; height:76px; border-radius:14px; background:#0f172a; }
.uf-visual-power i { right:15px; top:20px; width:56px; height:88px; border-radius:17px; background:linear-gradient(145deg,#2f3540,#10141b); }
.uf-visual-audio span, .uf-visual-audio i { top:25px; width:53px; height:53px; border-radius:50%; border:13px solid #111827; }
.uf-visual-audio span { left:5px; } .uf-visual-audio i { right:5px; }
.uf-visual-mounting span { left:33px; top:12px; width:48px; height:52px; border-radius:16px; background:#111827; }
.uf-visual-mounting i { left:51px; top:63px; width:12px; height:44px; background:#111827; }
.uf-visual-mounting b { left:26px; bottom:2px; width:70px; height:14px; border-radius:999px; background:#111827; }
.uf-visual-accessories span { left:18px; top:18px; width:76px; height:76px; border-radius:50%; border:12px solid #111827; }
.uf-visual-accessories i { left:43px; bottom:6px; width:28px; height:38px; border-radius:999px; background:#111827; }

/* Product grid */
.uf-product-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.uf-product-card {
  border: 1px solid var(--uf-line) !important;
  border-radius: var(--uf-radius) !important;
  background: var(--uf-card) !important;
  overflow: hidden;
  box-shadow: var(--uf-shadow-soft);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.uf-product-card:hover {
  transform: translateY(-4px);
  border-color: var(--uf-line-blue) !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10);
}

.uf-product-image {
  display:grid;
  place-items:center;
  min-height: 180px;
  padding: 18px;
  background: linear-gradient(180deg, #fff, #f6f8fb);
  text-decoration:none !important;
}
.uf-product-image img { max-height: 160px; width:auto; object-fit: contain; }

.uf-product-body { padding: 16px; }
.uf-product-brand { display:block; margin-bottom:4px; font-size:11px; font-weight:850; color:var(--uf-muted); letter-spacing:.07em; text-transform:uppercase; }
.uf-product-card h3 { margin:0 0 9px; font-size:15px; line-height:1.22; letter-spacing:-.02em; font-weight:850; }
.uf-product-card h3 a { color:var(--uf-ink) !important; text-decoration:none !important; }
.uf-product-price { min-height:27px; margin-bottom:12px; color:var(--uf-ink); font-weight:900; }
.uf-product-price del { opacity:.45; font-weight:650; }
.uf-product-price ins { text-decoration:none; }

.uf-add-cart {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height: 38px;
  border: 1px solid rgba(0,87,255,.30);
  border-radius: 12px;
  color: var(--uf-blue) !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration:none !important;
  background:#fff;
}
.uf-add-cart svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

.uf-product-placeholder { position:relative; width:110px; height:130px; }
.uf-product-placeholder span { position:absolute; left:25px; top:8px; width:62px; height:104px; border-radius:18px; background:linear-gradient(145deg,#101827,#4b5563); }
.uf-product-placeholder i { position:absolute; right:8px; bottom:10px; width:72px; height:15px; border-radius:50%; background:rgba(15,23,42,.08); }
.uf-placeholder-power span { border-radius:20px; background:linear-gradient(145deg,#222834,#0a0d12); }
.uf-placeholder-charger span { background:linear-gradient(145deg,#fff,#dce4ef); border:1px solid #d7dee9; }
.uf-placeholder-audio span { border-radius:50%; background:#111827; box-shadow:52px 0 #111827; width:46px; height:46px; top:32px; left:8px; }
.uf-placeholder-mounting span { width:32px; height:100px; border-radius:99px; transform:rotate(-14deg); background:#111827; }

/* Benefits */
.uf-why { padding-top: 52px; }
.uf-benefit-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--uf-line);
  border-radius: var(--uf-radius);
  overflow:hidden;
  background: var(--uf-line);
  box-shadow: var(--uf-shadow-soft);
}
.uf-benefit-grid article { padding: 28px; background:rgba(255,255,255,.9); }
.uf-benefit-grid h3 { margin: 16px 0 8px; font-size: 17px; letter-spacing:-.025em; }
.uf-benefit-grid p { margin:0; color:var(--uf-muted); font-size:14px; line-height:1.5; }

/* Warranty */
.uf-warranty {
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items:center;
  padding: 28px;
  border:1px solid rgba(0,87,255,.16);
  border-radius: var(--uf-radius-lg);
  background:
    radial-gradient(circle at 90% 20%, rgba(0,87,255,.18), transparent 22%),
    linear-gradient(135deg, #f4f8ff, #ffffff 56%, #edf4ff);
  box-shadow: var(--uf-shadow-soft);
}
.uf-warranty p:not(.uf-eyebrow) { margin: 10px 0 0; color:var(--uf-muted); max-width:620px; }
.uf-warranty-badge {
  display:grid;
  place-items:center;
  width: 116px;
  height: 116px;
  border-radius: 28px;
  color:#fff;
  text-align:center;
  font-size:12px;
  line-height:1.15;
  font-weight:900;
  text-transform:uppercase;
  background: linear-gradient(145deg, var(--uf-blue), #0b2f83);
  box-shadow: 0 16px 34px rgba(0, 87, 255, .23);
}
.uf-warranty-badge svg { stroke:#fff; margin-bottom:6px; }
.uf-warranty-actions { justify-content:flex-end; }

/* Checkout strip */
.uf-checkout-strip {
  display:grid;
  grid-template-columns: 1fr auto 1fr auto 1fr minmax(160px, .8fr);
  gap: 14px;
  align-items:center;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--uf-line);
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--uf-shadow-soft);
}
.uf-checkout-strip article {
  display:flex;
  align-items:center;
  gap: 13px;
  min-height: 58px;
  padding: 10px;
}
.uf-checkout-strip strong,
.uf-mini-cart strong { display:block; font-size: 14px; }
.uf-checkout-strip span:not(.uf-step-arrow),
.uf-mini-cart span { color:var(--uf-muted); font-size: 12px; }
.uf-step-arrow { color:#98a2b3; font-weight:900; }
.uf-mini-cart {
  display:grid;
  justify-content:start;
  padding: 16px 18px;
  border: 1px solid var(--uf-line-blue);
  border-radius: 18px;
  background:#fff;
  text-decoration:none !important;
  color:var(--uf-ink) !important;
}

/* Custom home footer */
.uf-home-footer {
  display:grid;
  grid-template-columns: minmax(260px, .9fr) 1.8fr;
  gap: 34px;
  margin-top: 40px;
  padding: 36px 0 44px;
  border-top: 1px solid var(--uf-line);
}
.uf-footer-brand h2 { margin:0 0 10px; font-size:26px; line-height:1; letter-spacing:-.055em; }
.uf-footer-brand h2 span { display:block; margin-top:3px; font-size:12px; letter-spacing:0; }
.uf-footer-brand p { margin:0; max-width:270px; color:var(--uf-muted); line-height:1.55; }
.uf-footer-cols { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.uf-footer-cols h3 { margin:0 0 12px; font-size:14px; }
.uf-footer-cols a { display:block; margin: 8px 0; color: var(--uf-muted) !important; font-size: 14px; text-decoration:none !important; }
.uf-footer-cols a:hover { color: var(--uf-blue) !important; }

/* Hide Blocksy default footer only on custom homepage to avoid double footer */
body.home .ct-footer { display:none; }

/* WooCommerce safe polish
 * Keep Shop/Product Detail/Cart close to Blocksy defaults.
 * v3 used global product-card rules that could break WooCommerce archive and single product layouts.
 */
body.woocommerce-page:not(.home) .site-main,
body.single-product:not(.home) .site-main {
  background: #fff;
}

body.woocommerce-page:not(.home) .ct-container,
body.single-product:not(.home) .ct-container {
  max-width: var(--theme-container-max-width, 1290px);
}

body.woocommerce-page:not(.home) ul.products li.product,
body.woocommerce-page:not(.home) .ct-woo-card,
body.woocommerce-page:not(.home) .entries .entry-card {
  transform: none !important;
  overflow: visible;
  box-shadow: none;
}

body.woocommerce-page:not(.home) ul.products li.product:hover,
body.woocommerce-page:not(.home) .ct-woo-card:hover,
body.woocommerce-page:not(.home) .entries .entry-card:hover {
  transform: none !important;
}

body.woocommerce-page:not(.home) .woocommerce ul.products li.product .button,
body.woocommerce-page:not(.home) .ct-woo-card .button {
  width: auto;
  margin: initial;
}

body.woocommerce-page:not(.home) .woocommerce-loop-product__title,
body.woocommerce-page:not(.home) .ct-woo-card .woocommerce-loop-product__title {
  letter-spacing: -0.02em;
}

body.woocommerce-page:not(.home) .price,
body.single-product:not(.home) .price {
  color: var(--uf-ink);
  font-weight: 800;
}

body.single-product:not(.home) .summary .product_title {
  font-size: clamp(28px, 3.2vw, 46px);
  letter-spacing: -0.035em;
  line-height: 1.08;
  font-weight: 850;
}

body.single-product:not(.home) .summary .price {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 850;
}

body.single-product:not(.home) .woocommerce-product-gallery,
body.single-product:not(.home) .summary {
  min-width: 0;
}

body.woocommerce-cart:not(.home) .woocommerce-cart-form,
body.woocommerce-checkout:not(.home) .woocommerce-checkout-review-order,
body.woocommerce-checkout:not(.home) .col2-set,
body.woocommerce-order-received:not(.home) .woocommerce-order {
  border: 1px solid var(--uf-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--uf-shadow-soft);
}

body.woocommerce-cart:not(.home) table.shop_table,
body.woocommerce-checkout:not(.home) table.shop_table {
  border-radius: 18px;
  overflow: hidden;
}

body.woocommerce-page:not(.home) form .form-row input.input-text,
body.woocommerce-page:not(.home) form .form-row textarea,
body.woocommerce-page:not(.home) form .form-row select,
body.woocommerce-page:not(.home) .select2-container--default .select2-selection--single {
  border-radius: 12px;
  min-height: 44px;
}

body.woocommerce-checkout:not(.home) #place_order {
  width: 100%;
  min-height: 52px;
  font-weight: 900;
  background: var(--uf-blue) !important;
}

body.woocommerce-checkout:not(.home) #place_order:hover {
  background: #0044cc !important;
}

/* Responsive */
@media (max-width: 1180px) {
  .uf-hero { grid-template-columns: 1fr; }
  .uf-hero-visual { min-height: 490px; }
  .uf-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .uf-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .uf-checkout-strip { grid-template-columns: 1fr 1fr; }
  .uf-step-arrow { display:none; }
}

@media (max-width: 768px) {
  .uf-wrap { width: min(calc(100% - 28px), var(--uf-max)); }
  .uf-section { padding: 42px 0; }
  .uf-hero { padding-top: 34px; gap: 24px; }
  .uf-hero-copy h1 { font-size: clamp(42px, 13vw, 62px); }
  .uf-actions .uf-button { width: 100%; }
  .uf-trust-row { grid-template-columns: 1fr; margin-top: 22px; }
  .uf-hero-visual { min-height: 380px; border-radius: 28px; }
  .uf-stage { transform: scale(.72); transform-origin:center bottom; }
  .uf-stage:before { left:-6%; right:-8%; }
  .uf-section-head { align-items:flex-start; flex-direction:column; gap: 10px; }
  .uf-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .uf-category-card { min-height: 176px; padding: 14px; border-radius: 20px; }
  .uf-category-media { min-height: 116px; }
  .uf-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .uf-product-image { min-height: 148px; padding: 13px; }
  .uf-product-body { padding: 13px; }
  .uf-product-card h3 { font-size: 13px; }
  .uf-benefit-grid { grid-template-columns: 1fr; }
  .uf-benefit-grid article { padding: 22px; }
  .uf-warranty { grid-template-columns: 1fr; padding: 24px; }
  .uf-warranty-badge { width: 96px; height: 96px; }
  .uf-checkout-strip { grid-template-columns: 1fr; padding: 14px; }
  .uf-home-footer { grid-template-columns:1fr; }
  .uf-footer-cols { grid-template-columns:1fr; gap: 12px; }
}

@media (max-width: 420px) {
  .uf-category-grid,
  .uf-product-grid { grid-template-columns: 1fr; }
  .uf-product-image { min-height: 180px; }
}
