:root{
  --navy:#031a38;
  --navy-2:#062b58;
  --blue:#0b6bff;
  --ink:#071833;
  --muted:#5f6f87;
  --line:#dce5f1;
  --soft:#f7f9fc;
  --green:#16a34a;
  --red:#ef233c;
  --shadow:0 14px 36px rgba(5,24,52,.075);
  --radius:10px;
}

*{box-sizing:border-box}
html{overflow-x:hidden}
body.shop-ui{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  overflow-x:hidden;
  padding-top:116px;
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit}
svg{width:20px;height:20px;fill:currentColor;display:block}

.shop-container{
  width:calc(100% - 96px);
  max-width:none;
  margin-inline:auto;
}
.shop-main{min-height:65vh}
.alert-container{padding-top:12px}

.shop-top-strip{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
  height:38px;
  background:linear-gradient(90deg,#021831,#062b55);
  color:#fff;
  font-size:13px;
  font-weight:850;
}
.shop-top-strip-inner{
  height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.shop-top-strip span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.shop-top-strip svg{width:17px;height:17px}

.shop-navbar{
  position:fixed;
  top:38px;
  left:0;
  right:0;
  width:100%;
  z-index:999;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--line);
  box-shadow:0 5px 18px rgba(8,25,54,.045);
}
.shop-nav-inner{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.shop-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--navy);
  font-weight:950;
  font-size:31px;
  letter-spacing:-.05em;
  flex:0 0 auto;
}
.shop-brand-mark{
  width:43px;
  height:43px;
  border:4px solid var(--navy);
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--navy);
}
.shop-brand-mark svg{width:30px;height:30px}
.shop-nav-links{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2.25vw,34px);
  font-size:14px;
  font-weight:850;
}
.shop-nav-links a{color:#0b1f3d;white-space:nowrap}
.shop-nav-links a.active,.shop-nav-links a:hover{color:var(--blue)}
.shop-nav-links .sale{color:var(--red)}
.shop-nav-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.shop-icon-btn{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:var(--navy);
  position:relative;
}
.shop-icon-btn:hover{background:#eef5ff}
.cart-icon b{
  position:absolute;
  right:2px;
  top:1px;
  width:19px;
  height:19px;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  font-size:11px;
  display:grid;
  place-items:center;
  line-height:1;
}
.shop-login-btn{
  border:0;
  background:#fff;
  color:var(--navy);
  font-weight:850;
  border-radius:10px;
  padding:10px 12px;
}
.shop-login-btn:hover{background:#eef5ff}
.shop-login-btn.danger{color:#dc2626}

/* Home */
.shop-home-page{padding-top:22px}
.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 384px;
  gap:18px;
  margin:0 0 16px;
}
.home-main-hero{
  min-height:338px;
  border-radius:12px;
  overflow:hidden;
  background:radial-gradient(circle at 76% 44%,rgba(27,110,255,.33),transparent 34%),linear-gradient(135deg,#031935,#05264d);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);
  position:relative;
  box-shadow:var(--shadow);
  border:1px solid #0c315f;
}
.hero-copy{
  padding:48px 0 48px 34px;
  color:#fff;
  z-index:2;
}
.hero-copy span{
  display:block;
  color:#b8d7ff;
  font-weight:950;
  letter-spacing:.13em;
  font-size:14px;
  margin-bottom:10px;
}
.hero-copy h1{
  font-size:52px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.06em;
  margin:0 0 18px;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.17);
}
.hero-copy p{
  font-size:17px;
  color:#d8e7ff;
  max-width:455px;
  line-height:1.5;
  margin-bottom:28px;
}
.hero-copy strong{
  display:inline-flex;
  align-items:center;
  background:var(--blue);
  color:#fff;
  border-radius:9px;
  padding:13px 26px;
  font-weight:950;
}
.hero-product-image{
  height:338px;
  display:grid;
  place-items:center;
  padding:18px 30px 18px 0;
  overflow:hidden;
}
.hero-product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.38));
}
.home-side-banners{
  display:grid;
  gap:14px;
}
.side-banner{
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:162px;
  overflow:hidden;
  padding:22px 24px;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}
.side-banner.light{background:linear-gradient(135deg,#eaf4ff,#cce5ff)}
.side-banner.dark{background:linear-gradient(135deg,#111,#272727);color:#fff}
.side-banner span{
  font-weight:950;
  font-size:14px;
  color:inherit;
}
.side-banner h3{
  font-size:26px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.04em;
  margin:4px 0;
}
.side-banner p{margin:0 0 8px;color:#334155}
.side-banner.dark p{color:#e5e7eb}
.side-banner small{font-weight:900}
.side-banner img{
  width:168px;
  height:118px;
  flex:0 0 168px;
  object-fit:contain;
  filter:drop-shadow(0 15px 18px rgba(0,0,0,.22));
}

.service-card-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:16px 0;
}
.service-card-row>div{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  min-height:68px;
  padding:14px 18px;
  display:grid;
  grid-template-columns:44px 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  box-shadow:0 8px 20px rgba(5,24,52,.04);
}
.service-card-row i{
  grid-row:1/3;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:var(--navy);
  font-style:normal;
}
.service-card-row i svg{width:30px;height:30px}
.service-card-row b{font-size:14px;font-weight:950}
.service-card-row span{font-size:12px;color:var(--muted)}

.home-category-row{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:0;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  margin:0 0 18px;
  background:#fff;
}
.home-category-row a{
  min-height:108px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:12px 10px;
  background:#fff;
  transition:background .2s ease, transform .2s ease;
}
.home-category-row a:last-child{border-right:0}
.home-category-row a:hover{background:#f7fbff}
.cat-photo{
  width:124px;
  height:62px;
  margin-bottom:10px;
  background:#fff;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.cat-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#fff;
  padding:4px;
  filter:drop-shadow(0 8px 12px rgba(7,24,51,.12));
}
.home-category-row b{
  color:var(--navy);
  font-size:14px;
  font-weight:900;
  text-align:center;
  line-height:1.15;
  letter-spacing:-.01em;
}


.shop-section-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin:14px 0 11px;
}
.shop-section-title-row h2{
  font-size:25px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.04em;
  margin:0;
}
.shop-section-title-row a{
  color:var(--blue);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.shop-product-card-grid,
.catalog-product-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
}
.shoe-card{
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 22px rgba(5,24,52,.04);
  transition:.18s;
  display:flex;
  flex-direction:column;
  height:100%;
}
.shoe-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(5,24,52,.10);
}
.shoe-card-img{
  flex:0 0 168px;
  height:168px;
  background:#fff;
  position:relative;
  display:grid;
  place-items:center;
  padding:12px;
}
.shoe-card-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(7,24,51,.13));
}
.shoe-card-img button{
  position:absolute;
  right:12px;
  top:10px;
  width:28px;
  height:28px;
  border:0;
  background:#fff;
  color:#98a6ba;
  font-size:22px;
  line-height:1;
}
.shoe-card-body{
  padding:12px;
  min-height:178px;
  display:flex;
  flex-direction:column;
}
.shoe-card-body small{
  display:block;
  color:#061a3a;
  font-size:11px;
  line-height:1.1;
  font-weight:950;
}
.shoe-card-body h3{
  min-height:33px;
  font-size:13px;
  line-height:1.22;
  margin:2px 0 0;
  font-weight:950;
  color:#071833;
}
.shoe-card-body p{
  font-size:11px;
  color:#64748b;
  margin:0 0 7px;
}
.shoe-card-price{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.shoe-card-price b{font-size:14px;color:#071833}
.shoe-card-price span{
  font-size:10px;
  color:#94a3b8;
  text-decoration:line-through;
}
.shoe-card-meta{
  font-size:10px;
  color:#071833;
  margin-top:8px;
}
.shoe-card-meta span,.shoe-card-colors span{font-weight:900}
.shoe-card-colors{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  margin-top:6px;
}
.shoe-card-colors i{
  display:inline-block;
  width:11px;
  height:11px;
  border-radius:999px;
  border:1px solid #cbd5e1;
}
.shoe-card-colors i:nth-child(2){background:#111827}
.shoe-card-colors i:nth-child(3){background:#1d4ed8}
.shoe-card-colors i:nth-child(4){background:#e5e7eb}
.shoe-card-body strong{
  align-self:flex-start;
  margin-top:auto;
  background:#dcfce7;
  color:#047857;
  border-radius:4px;
  padding:5px 8px;
  font-size:10px;
  line-height:1;
  font-weight:950;
}

.home-brand-row{
  margin:26px 0 12px;
  padding:0 10px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:nowrap;
  color:#1f2b3d;
  font-weight:950;
  font-size:clamp(16px,1.55vw,24px);
  letter-spacing:-.03em;
}
.home-brand-row span{white-space:nowrap}

/* Footer */
.shop-footer{
  background:linear-gradient(180deg,#062145,#031934);
  color:#fff;
  margin-top:24px;
}
.shop-club-banner{
  position:relative;
  top:-1px;
  border-radius:10px;
  background:linear-gradient(90deg,#031935,#062d5a);
  min-height:88px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:18px 24px;
  padding:20px 28px;
  overflow:hidden;
}
.shop-club-copy{
  flex:1 1 420px;
  min-width:280px;
  max-width:620px;
}
.shop-club-banner > div:first-child{min-width:0;}
.shop-club-banner h3{
  font-size:22px;
  line-height:1.15;
  font-weight:950;
  margin:0;
  color:#ffffff;
}
.shop-club-banner p{
  margin:6px 0 0;
  color:#dbeafe;
}
.shop-club-form{
  flex:1 1 390px;
  max-width:430px;
  display:flex;
  align-items:center;
  gap:10px;
  z-index:2;
  min-width:280px;
  margin-left:auto;
}
.shop-club-form input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  height:42px;
  border-radius:8px;
  border:0;
  padding:0 16px;
}
.shop-club-form button,.primary-blue-btn{
  flex:0 0 auto;
  border:0;
  border-radius:8px;
  background:var(--blue);
  color:#fff;
  font-weight:950;
  padding:12px 22px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
}
.primary-blue-btn .btn-inline-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;flex:0 0 18px}
.primary-blue-btn .btn-inline-icon svg{width:18px;height:18px;display:block}
.shop-club-banner img,
.shop-club-image{
  flex:0 0 96px;
  width:96px;
  height:96px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.35));
}
.footer-grid{
  display:grid;
  grid-template-columns:1.1fr 1.4fr 1fr 1fr 1.2fr;
  gap:36px;
  padding:32px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.footer-grid h6{font-weight:950;margin-bottom:12px}
.footer-grid p{color:#d6e2f2;line-height:1.65}
.payment-logos{display:flex;flex-wrap:wrap;gap:8px}
.payment-logos span{
  background:#fff;
  color:#063160;
  border-radius:5px;
  padding:7px 10px;
  font-weight:950;
  font-size:12px;
}
.social-row{display:flex;gap:8px}
.social-row span{
  width:28px;height:28px;border-radius:999px;
  background:rgba(255,255,255,.12);
  display:grid;place-items:center;font-size:11px;
}
.footer-brand-row{
  color:#fff;
  opacity:.7;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
  display:flex;
  justify-content:center;
  gap:26px;
  flex-wrap:wrap;
  font-size:20px;
  font-weight:950;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  color:#d6e2f2;
  font-size:13px;
}

/* Catalog */
.breadcrumb-lite{
  display:flex;
  gap:11px;
  align-items:center;
  color:#64748b;
  font-size:13px;
  margin:18px 0;
}
.breadcrumb-lite a{color:var(--blue)}
.catalog-page,.product-detail-page,.cart-page,.checkout-modern-page{padding-top:18px}
.catalog-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:34px;
}
.catalog-filter-sidebar{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  align-self:start;
}
.filter-block{padding:18px;border-bottom:1px solid var(--line)}
.filter-block h6{
  display:flex;
  justify-content:space-between;
  font-weight:950;
  margin:0 0 14px;
}
.filter-block h6:after{content:'⌃';color:#64748b}
.filter-block label{
  display:block;
  margin:9px 0;
  font-size:13px;
  color:#334155;
}
.filter-block input[type=checkbox]{margin-right:8px}
.filter-search{
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  display:flex;
  align-items:center;
  padding:0 10px;
}
.filter-search input{border:0;outline:0;width:100%}
.filter-search button{border:0;background:#fff;color:var(--navy)}
.filter-more{color:var(--blue);font-size:13px;font-weight:800}
.color-filter-dots{display:flex;gap:10px;flex-wrap:wrap}
.color-filter-dots i{
  width:22px;height:22px;border-radius:999px;border:1px solid #cbd5e1;
}
.color-filter-dots i:nth-child(1){background:#000}.color-filter-dots i:nth-child(2){background:#fff}
.color-filter-dots i:nth-child(3){background:#a3a3a3}.color-filter-dots i:nth-child(4){background:#082f49}
.color-filter-dots i:nth-child(5){background:#ef4444}.color-filter-dots i:nth-child(6){background:#16a34a}
.color-filter-dots i:nth-child(7){background:#d6c1a2}
.clear-filter-btn{
  width:calc(100% - 36px);
  margin:18px;
  height:44px;
  border:1px solid #9bb6d8;
  background:#fff;
  color:var(--blue);
  border-radius:8px;
  font-weight:900;
}
.catalog-head-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.catalog-head-row h1{
  font-size:48px;
  letter-spacing:-.05em;
  font-weight:950;
  margin:0;
}
.catalog-head-row p{color:#64748b;margin:8px 0 0}
.catalog-sort-form{
  display:flex;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  padding:0 12px;
  height:42px;
  background:#fff;
}
.catalog-sort-form label{font-size:13px;color:#64748b;font-weight:800}
.catalog-sort-form select{border:0;outline:0;font-weight:850;color:#334155}
.catalog-chip-row{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.catalog-chip-row a{
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 20px;
  font-weight:850;
  color:#334155;
}
.catalog-chip-row a.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.catalog-chip-row a.sale{border-color:#ff9aa2;color:#ef233c}
.catalog-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.catalog-inline-banner{
  grid-column:1/-1;
  min-height:112px;
  border-radius:10px;
  background:linear-gradient(90deg,#031935,#052f61);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 30px;
}
.catalog-inline-banner span{font-size:16px;font-weight:850}
.catalog-inline-banner h3{font-size:30px;font-weight:950;margin:4px 0}
.catalog-inline-banner p{margin:0;color:#dbeafe}
.catalog-inline-banner b{
  background:var(--blue);
  border-radius:8px;
  padding:13px 24px;
}

/* Detail */
.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,52%) minmax(410px,1fr);
  gap:46px;
  align-items:start;
}
.detail-main-image{
  height:600px;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.detail-main-image img{
  max-width:92%;
  max-height:88%;
  object-fit:contain;
  filter:drop-shadow(0 22px 26px rgba(7,24,51,.13));
}
.detail-main-image em{
  position:absolute;left:18px;top:18px;background:#fff0f0;color:#ef233c;
  padding:8px 12px;border-radius:6px;font-style:normal;font-weight:950;
}
.detail-heart,.detail-arrow,.detail-zoom{
  border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;
  position:absolute;display:grid;place-items:center;
}
.detail-heart{right:18px;top:18px;width:42px;height:42px;font-size:24px}
.detail-arrow{top:50%;width:38px;height:38px;font-size:28px}
.detail-arrow.left{left:18px}.detail-arrow.right{right:18px}
.detail-zoom{right:18px;bottom:18px;width:36px;height:36px}
.detail-thumb-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin:18px 0 24px;
}
.detail-thumb{
  height:108px;
  border:1px solid var(--line);
  border-radius:8px;
  display:grid;
  place-items:center;
  padding:8px;
}
.detail-thumb.active{border:2px solid var(--blue)}
.detail-thumb img{width:100%;height:100%;object-fit:contain}
.detail-tabs{display:flex;border-bottom:1px solid var(--line);gap:36px;margin-bottom:18px}
.detail-tabs a{padding:0 0 14px;font-weight:900;color:#334155}
.detail-tabs a.active{color:var(--blue);border-bottom:3px solid var(--blue)}
.detail-description{color:#334155;line-height:1.65}
.detail-buy-card h1{font-size:32px;font-weight:950;letter-spacing:-.04em}
.detail-brand{color:var(--blue);font-weight:950}
.detail-subtitle{color:#64748b}
.detail-rating{display:flex;align-items:center;gap:10px;color:#f59e0b}
.detail-rating small{color:#334155}
.detail-price{display:flex;align-items:center;gap:12px;margin:18px 0}
.detail-price b{font-size:32px}
.detail-price span{text-decoration:line-through;color:#94a3b8}
.detail-price em{font-style:normal;background:#fff0f0;color:#ef233c;border-radius:6px;padding:5px 8px}
.stock-line{display:flex;gap:8px;color:#16a34a;font-weight:850;margin-bottom:26px}
.stock-line i{width:8px;height:8px;background:#16a34a;border-radius:999px;margin-top:8px}
.detail-control-block{border-top:1px solid var(--line);padding:18px 0}
.detail-control-head{display:flex;justify-content:space-between}
.detail-control-head a{color:var(--blue);font-weight:850}
.detail-size-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:12px}
.detail-size-btn{height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:900}
.detail-size-btn.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(11,107,255,.12)}
.detail-color-row{display:flex;gap:18px;margin-top:12px;flex-wrap:wrap}
.detail-color-btn{border:0;background:#fff;text-align:center;font-size:11px;color:#334155}
.detail-color-btn i{display:block;width:42px;height:42px;border-radius:999px;background:#111827;border:1px solid #cbd5e1;margin:auto auto 6px}
.detail-color-btn:nth-child(2) i{background:#bdbdbd}.detail-color-btn:nth-child(3) i{background:#17384e}.detail-color-btn:nth-child(4) i{background:#fff}
.detail-color-btn.active i{outline:3px solid var(--blue);outline-offset:3px}
.qty-control{display:flex;width:126px;height:42px;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:10px}
.qty-control button{width:40px;border:0;background:#fff;font-size:20px}
.qty-control input{border:0;text-align:center;box-shadow:none}
.add-cart-btn,.buy-now-btn{width:100%;height:48px;margin-top:10px}
.buy-now-btn{background:#fff!important;color:var(--blue)!important;border:2px solid var(--blue)}
.detail-service-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.detail-service-mini div{text-align:center;font-size:11px;color:#334155}
.detail-accordion{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.detail-accordion div{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-weight:900}
.detail-accordion div:last-child{border-bottom:0}

/* Cart & Checkout */
.cart-title-block h1,.checkout-title h1{font-size:42px;font-weight:950;letter-spacing:-.05em;margin:0}
.cart-title-block p,.checkout-title p{color:#334155}
.cart-layout,.checkout-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,430px);
  gap:28px;
  align-items:start;
}
.cart-modern-item{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:24px;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 190px;
  gap:22px;
  margin-bottom:18px;
}
.cart-modern-img{
  height:150px;border-radius:10px;background:#f8fafc;display:grid;place-items:center;padding:10px;
}
.cart-modern-img img{width:100%;height:100%;object-fit:contain}
.cart-modern-info small{font-weight:850;color:#64748b}
.cart-modern-info h3{font-size:22px;font-weight:950;margin:8px 0 18px}
.cart-modern-info p{margin:4px 0;color:#334155}
.cart-delete-btn{border:0;background:#fff;color:var(--blue);font-weight:850;margin-top:18px}
.cart-modern-side{text-align:right}
.cart-modern-side>b{font-size:22px}
.cart-qty-pill{margin:36px 0 30px auto;width:150px;height:44px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:space-around}
.cart-qty-pill button{border:0;background:#fff;font-size:20px}
.cart-modern-side strong{font-size:18px}
.continue-shopping{display:inline-block;color:var(--blue);font-weight:850;margin:12px 0 30px}
.cart-summary-modern,.checkout-summary-modern{
  position:sticky;
  top:98px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:30px;
}
.cart-summary-modern h2,.checkout-summary-modern h2{font-size:28px;font-weight:950;margin:0 0 24px}
.cart-summary-modern>div,.checkout-summary-modern>div:not(.checkout-item-list){
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:18px 0;
  color:#334155;
}
.cart-summary-modern hr,.checkout-summary-modern hr{border-color:var(--line);opacity:1}
.coupon-row{display:flex!important;gap:8px!important}
.coupon-row input{height:48px;border:1px solid var(--line);border-radius:8px;padding:0 14px;min-width:0;width:100%}
.coupon-row button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 16px;font-weight:850}
.cart-total-row b{font-size:28px;color:#071833}
.cart-summary-modern .primary-blue-btn,.checkout-summary-modern .primary-blue-btn{width:100%;height:54px;margin-top:18px}
.cart-trust p{line-height:1.55}

.checkout-title{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.checkout-title>a{width:34px;height:34px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center}
.checkout-form-stack{display:grid;gap:16px}
.checkout-step-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px;
  background:#fff;
}
.checkout-step-card h3{font-size:20px;font-weight:950;margin:0 0 18px}
.checkout-step-card h3 span{
  display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--blue);color:#fff;font-size:14px;margin-right:10px;
}
.checkout-step-card label{font-weight:850;color:#334155;margin-bottom:8px}
.form-control,.form-select{
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  min-height:42px;
  box-shadow:none!important;
}
.payment-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.payment-method-card{
  border:1px solid var(--line);
  border-radius:8px;
  padding:18px 18px 20px;
  min-height:150px;
  text-align:center;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.payment-method-card.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(11,107,255,.12)}
.payment-method-card input{position:absolute;left:12px;top:12px;accent-color:var(--blue)}
.payment-method-card .payment-icon{width:54px;height:54px;display:grid;place-items:center;margin:2px auto 10px;color:#17336b}
.payment-method-card .payment-icon svg{width:40px;height:40px;display:block}
.payment-method-card .payment-icon-qris{width:auto;height:54px}
.payment-method-card .qris-wordmark{font-size:29px;line-height:1;font-weight:1000;letter-spacing:-.06em;color:#111827}
.payment-method-card b{display:block;font-size:16px;font-weight:900;color:var(--nav)}
.payment-method-card small{display:block;color:#64748b;margin-top:8px;line-height:1.45;max-width:240px}
.payment-method-card em{display:inline-block;margin-top:10px;font-style:normal;background:#eaf2ff;color:var(--blue);padding:5px 10px;border-radius:999px;font-weight:850;font-size:12px}
.shipping-auto-box{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 150px 160px;
  gap:18px;
  align-items:center;
  background:#f4f9ff;
  border:1px solid #cfe4ff;
  border-radius:8px;
  padding:20px;
}
.shipping-auto-box i{font-size:38px;font-style:normal}
.shipping-auto-box p{margin:0;color:#334155;font-weight:850}
.shipping-auto-box span{display:block;color:#64748b}
.shipping-auto-box b{font-size:18px}
.checkout-summary-item{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:16px;
}
.checkout-summary-item>div{
  width:76px;height:76px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;padding:7px;background:#f8fafc;
}
.checkout-summary-item img{width:100%;height:100%;object-fit:contain}
.checkout-summary-item b{display:block}
.checkout-summary-item small{display:block;color:#64748b;margin-top:4px}
.checkout-grand-row b{font-size:30px;color:#071833}
.secure-note{display:block;text-align:center;color:#94a3b8;margin-top:16px}

.empty-state{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:50px;
  text-align:center;
}

/* responsive */
@media(max-width:1500px){
  .shop-container{width:calc(100% - 70px)}
  .home-hero-grid{grid-template-columns:minmax(0,1fr) 350px}
  .side-banner img{width:138px;flex-basis:138px}
}
@media(max-width:1200px){
  .shop-container{width:calc(100% - 42px)}
  .shop-nav-links{gap:16px;font-size:13px}
  .home-hero-grid{grid-template-columns:1fr}
  .home-side-banners{grid-template-columns:1fr 1fr}
  .shop-product-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-category-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-club-banner{gap:14px;padding:18px 18px}
  .shop-club-copy,.shop-club-form{flex:1 1 100%;max-width:none}
  .shop-club-form{width:100%;margin-left:0}
  .shop-club-banner img,.shop-club-image{display:none}
  .detail-layout,.cart-layout,.checkout-layout{grid-template-columns:1fr}
  .cart-summary-modern,.checkout-summary-modern{position:static}
}
@media(max-width:900px){
  body.shop-ui{padding-top:70px}
  .shop-top-strip{display:none}
  .shop-navbar{top:0}
  .shop-top-strip-inner,.shop-nav-links{display:none}
  .shop-nav-inner{height:auto;min-height:70px}
  .home-main-hero{grid-template-columns:1fr}
  .hero-copy{padding:30px}
  .hero-copy h1{font-size:42px}
  .hero-product-image{height:220px;padding:0 24px 24px}
  .home-side-banners,.service-card-row{grid-template-columns:1fr}
  .shop-product-card-grid,.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-layout{grid-template-columns:1fr}
  .payment-choice-grid{grid-template-columns:1fr}
  .shipping-auto-box{grid-template-columns:1fr}
  .cart-modern-item{grid-template-columns:150px minmax(0,1fr)}
  .cart-modern-side{grid-column:1/-1;text-align:left}
  .cart-qty-pill{margin-left:0}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
}
@media(max-width:560px){
  .shop-container{width:calc(100% - 24px)}
  .shop-brand{font-size:24px}
  .shop-nav-actions{gap:4px}
  .home-category-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border-radius:14px;
  }
  .home-category-row a{
    min-height:96px;
    padding:10px 6px;
  }
  .home-category-row a:nth-child(4n){border-right:0}
  .home-category-row a:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .cat-photo{width:72px;height:42px;margin-bottom:8px}
  .home-category-row b{font-size:12px;line-height:1.2}

  .shop-product-card-grid,.catalog-product-grid{grid-template-columns:1fr}
  .home-side-banners{grid-template-columns:1fr}
  .cart-modern-item{grid-template-columns:1fr}
  .detail-thumb-row{grid-template-columns:repeat(3,1fr)}
  .detail-size-row{grid-template-columns:repeat(3,1fr)}
  .shop-club-copy{min-width:0}
  .shop-club-form{display:block;min-width:0}
  .shop-club-form button{width:100%;margin-top:10px}
}


/* FINAL FIX 2026-07-01: remove marked promo/navigation items */
.shop-nav-links{
  gap:clamp(26px,3vw,44px)!important;
}
.home-hero-grid{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.home-main-hero{
  width:100%!important;
  min-height:338px!important;
  grid-template-columns:minmax(0,1fr) minmax(520px,.92fr)!important;
}
.home-side-banners{
  display:none!important;
}
@media(max-width:900px){
  .home-main-hero{
    grid-template-columns:1fr!important;
  }
}


/* 2026-07-01: lifestyle hero banner replacement */
.home-hero-grid{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.home-main-hero.lifestyle-hero-banner{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#031935!important;
  border:1px solid #0c315f!important;
  box-shadow:0 18px 42px rgba(5,24,52,.11)!important;
}
.home-main-hero.lifestyle-hero-banner img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .home-main-hero.lifestyle-hero-banner img{
    min-height:260px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}


/* 2026-07-01: clean 2-slide hero, no outer wrapper/bungkus */
.shop-home-page{
  padding-top:14px!important;
}
.home-hero-grid{
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0 0 16px!important;
}
.hero-slider{
  position:relative!important;
  width:100%!important;
  aspect-ratio: 3 / 1!important;
  min-height:0!important;
  border:0!important;
  outline:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#031935!important;
  box-shadow:none!important;
  padding:0!important;
}
.hero-slider .hero-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:0!important;
  transition:opacity .55s ease!important;
  pointer-events:none!important;
}
.hero-slider .hero-slide.active{
  opacity:1!important;
  pointer-events:auto!important;
}
.hero-slider img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.hero-slider-dots{
  position:absolute!important;
  left:50%!important;
  bottom:14px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  gap:8px!important;
  z-index:5!important;
}
.hero-slider-dots span{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.48)!important;
  transition:.25s!important;
}
.hero-slider-dots span.active{
  width:24px!important;
  background:#0b6bff!important;
}
.home-main-hero.lifestyle-hero-banner{
  border:0!important;
  box-shadow:none!important;
}
@media(max-width:900px){
  .hero-slider{
    aspect-ratio: 16 / 7!important;
    border-radius:14px!important;
  }
}
@media(max-width:900px){
  .hero-slider{
    aspect-ratio: 3 / 1!important;
    border-radius:16px!important;
    background:#031935!important;
  }
}
@media(max-width:560px){
  .hero-slider{
    aspect-ratio: 3 / 1!important;
    border-radius:14px!important;
    background:#031935!important;
  }
  .hero-slider .hero-slide{
    background:#031935!important;
  }
  .hero-slider img{
    object-fit:contain!important;
    object-position:center center!important;
    background:#031935!important;
  }
  .hero-slider-dots{
    bottom:10px!important;
  }
}


/* 2026-07-01: merged promo strip, desktop single row and mobile horizontal scroll */
.service-card-row{
  display:flex!important;
  align-items:stretch!important;
  gap:0!important;
  margin:16px 0 18px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 10px 26px rgba(5,24,52,.05)!important;
  overflow:hidden!important;
}
.service-card-row>div{
  flex:1 1 0!important;
  min-width:0!important;
  min-height:84px!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  border:0!important;
  border-right:1px solid #e5edf7!important;
  background:transparent!important;
  box-shadow:none!important;
}
.service-card-row>div:last-child{
  border-right:0!important;
}
.service-card-row i{
  grid-row:1/3!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0d2340 0%,#0b6bff 100%)!important;
  color:#ffffff!important;
  font-style:normal!important;
  box-shadow:0 10px 20px rgba(11,107,255,.18)!important;
}
.service-card-row i svg{
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
}
.service-card-row b{
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  color:#08254b!important;
}
.service-card-row span{
  font-size:13px!important;
  color:#5c6e87!important;
  line-height:1.35!important;
}
@media(max-width:900px){
  .service-card-row{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .service-card-row::-webkit-scrollbar{
    display:none!important;
  }
  .service-card-row>div{
    flex:0 0 78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
}
@media(max-width:560px){
  .service-card-row{
    margin:14px 0 16px!important;
    border-radius:16px!important;
  }
  .service-card-row>div{
    flex:0 0 84vw!important;
    min-width:84vw!important;
    min-height:78px!important;
    padding:16px 16px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .service-card-row b{
    font-size:15px!important;
  }
  .service-card-row span{
    font-size:12px!important;
  }
}


/* 2026-07-01 FINAL: promo/service strip tanpa bungkus, rata tengah, mobile tidak kepotong */
.service-card-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  margin:18px 0 22px!important;
  padding:12px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.service-card-row>div{
  min-width:0!important;
  width:100%!important;
  min-height:70px!important;
  padding:8px 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  border:0!important;
  border-right:1px solid #d8e3f1!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.service-card-row>div:last-child{
  border-right:0!important;
}
.service-card-row i{
  flex:0 0 54px!important;
  width:54px!important;
  height:54px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#08264a 0%,#0b6bff 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(11,107,255,.18)!important;
}
.service-card-row i svg{
  width:27px!important;
  height:27px!important;
  fill:currentColor!important;
}
.service-card-row b{
  display:block!important;
  color:#071833!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
.service-card-row span{
  display:block!important;
  margin-top:4px!important;
  color:#52657f!important;
  font-size:14px!important;
  line-height:1.25!important;
}

/* tablet: tetap satu baris, lebih rapat */
@media(max-width:900px){
  .service-card-row{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    margin:14px 0 18px!important;
    padding:8px 0!important;
    overflow:visible!important;
  }
  .service-card-row>div{
    min-width:0!important;
    flex:unset!important;
    padding:8px 8px!important;
    gap:8px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    text-align:center!important;
  }
  .service-card-row i{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  .service-card-row i svg{
    width:21px!important;
    height:21px!important;
  }
  .service-card-row b{
    font-size:13px!important;
    line-height:1.12!important;
    white-space:normal!important;
  }
  .service-card-row span{
    font-size:11px!important;
    line-height:1.2!important;
    max-width:88px!important;
    margin:2px auto 0!important;
  }
}

/* mobile kecil: tidak scroll, tidak kepotong, tetap melebar kanan-kiri */
@media(max-width:560px){
  .service-card-row{
    grid-template-columns:repeat(4,25%)!important;
    width:100%!important;
    margin:12px 0 16px!important;
    padding:7px 0!important;
  }
  .service-card-row>div{
    padding:6px 4px!important;
    gap:6px!important;
    min-height:96px!important;
    border-right:1px solid #d8e3f1!important;
  }
  .service-card-row>div:last-child{
    border-right:0!important;
  }
  .service-card-row i{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
    border-radius:12px!important;
  }
  .service-card-row i svg{
    width:18px!important;
    height:18px!important;
  }
  .service-card-row b{
    font-size:11px!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
  }
  .service-card-row span{
    font-size:10px!important;
    line-height:1.18!important;
    max-width:76px!important;
  }
}

.shop-shell,.site-shell{overflow-x:hidden}


/* 2026-07-01 FINAL CATEGORY SHOES: pakai gambar lokal putih, ukuran besar, mobile tidak scroll samping */
.home-category-row{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
}
.home-category-row a{
  min-height:128px!important;
  padding:12px 10px 14px!important;
  background:#fff!important;
  border-right:1px solid var(--line)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  cursor:pointer!important;
  transition:background-color .22s ease, box-shadow .22s ease, transform .22s ease!important;
}
.home-category-row a::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(17,96,255,.05), rgba(4,24,52,.02));
  opacity:0;
  transition:opacity .22s ease!important;
  pointer-events:none;
}
.home-category-row a:hover,
.home-category-row a:focus-visible{
  background:#f4f8ff!important;
  box-shadow:inset 0 0 0 1px rgba(17,96,255,.16)!important;
  transform:translateY(-1px)!important;
}
.home-category-row a:hover::after,
.home-category-row a:focus-visible::after{
  opacity:1;
}
.home-category-row a:hover .cat-photo img,
.home-category-row a:focus-visible .cat-photo img{
  transform:scale(1.05)!important;
  filter:drop-shadow(0 12px 16px rgba(7,24,51,.14))!important;
}
.home-category-row a:hover b,
.home-category-row a:focus-visible b{
  color:#0f5bff!important;
}
.home-category-row a:last-child{
  border-right:0!important;
}
.cat-photo{
  width:154px!important;
  max-width:94%!important;
  height:78px!important;
  margin:0 auto 10px!important;
  padding:0!important;
  background:#fff!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.cat-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 10px rgba(7,24,51,.10))!important;
  transition:transform .22s ease, filter .22s ease!important;
}
.home-category-row b{
  color:#071833!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}

/* tablet */
@media(max-width:1200px){
  .home-category-row{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .home-category-row a:nth-child(4n){
    border-right:0!important;
  }
  .home-category-row a:nth-child(-n+4){
    border-bottom:1px solid var(--line)!important;
  }
  .cat-photo{
    width:140px!important;
    height:72px!important;
  }
}

/* mobile: tetap masuk layar, tidak bisa scroll kanan-kiri */
@media(max-width:560px){
  html, body.shop-ui{
    overflow-x:hidden!important;
  }
  .home-category-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:hidden!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .home-category-row a{
    min-width:0!important;
    min-height:108px!important;
    padding:9px 4px 10px!important;
    border-right:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;
  }
  .home-category-row a:nth-child(4n){
    border-right:0!important;
  }
  .home-category-row a:nth-child(n+5){
    border-bottom:0!important;
  }
  .cat-photo{
    width:84px!important;
    max-width:100%!important;
    height:52px!important;
    margin-bottom:7px!important;
  }
  .home-category-row b{
    font-size:11px!important;
    line-height:1.12!important;
  }
}


/* 2026-07-02 FINAL PRODUCT CARD: image 1/1, text bigger, no love icon, discount badge */
.shoe-card{
  border-radius:16px!important;
  border:1px solid #d8e4f4!important;
  background:#ffffff!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(7,24,51,.045)!important;
}
.shoe-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 38px rgba(7,24,51,.10)!important;
}
.shoe-card-img{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  flex:0 0 auto!important;
  padding:18px!important;
  background:#ffffff!important;
  border-bottom:1px solid #eef3f9!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
}
.shoe-card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#ffffff!important;
  filter:drop-shadow(0 14px 18px rgba(7,24,51,.11))!important;
}
.shoe-card-img button{
  display:none!important;
}
.shoe-discount-badge{
  position:absolute!important;
  right:0!important;
  top:0!important;
  min-width:62px!important;
  height:38px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:0 15px 0 16px!important;
  background:linear-gradient(135deg,#ff3b35,#ef233c)!important;
  color:#ffffff!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
  box-shadow:0 10px 22px rgba(239,35,60,.20)!important;
}
.shoe-discount-badge.badge-new{
  background:linear-gradient(135deg,#0b6bff,#074fbf)!important;
}
.shoe-card-body{
  padding:16px!important;
  min-height:238px!important;
  display:flex!important;
  flex-direction:column!important;
  background:#ffffff!important;
}
.shoe-card-body small{
  font-size:12px!important;
  line-height:1.15!important;
  color:#64748b!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:4px!important;
}
.shoe-card-body h3{
  min-height:auto!important;
  font-size:18px!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  color:#071833!important;
  margin:0 0 7px!important;
  display:block!important;
  overflow:visible!important;
}
.shoe-card-body p{
  font-size:14px!important;
  line-height:1.25!important;
  color:#64748b!important;
  margin:0 0 12px!important;
}
.shoe-card-price{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 13px!important;
}
.shoe-card-price b{
  font-size:18px!important;
  line-height:1.1!important;
  color:#071833!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.shoe-card-price span{
  font-size:13px!important;
  color:#94a3b8!important;
  text-decoration:line-through!important;
}
.shoe-card-meta,
.shoe-card-colors{
  display:none!important;
}
.shoe-size-line,
.shoe-color-line{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:8px!important;
}
.shoe-size-line>span,
.shoe-color-line>span{
  flex:0 0 auto!important;
  color:#071833!important;
  font-size:15px!important;
  font-weight:950!important;
}
.shoe-size-line>div{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.shoe-size-line em{
  min-width:30px!important;
  height:30px!important;
  padding:0 8px!important;
  border:1px solid #d9e3f0!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffffff!important;
  color:#071833!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:850!important;
}
.shoe-color-line>div{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.shoe-color-line i{
  width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  display:inline-block!important;
  border:2px solid #ffffff!important;
  outline:1px solid #cbd5e1!important;
  box-shadow:0 4px 9px rgba(7,24,51,.10)!important;
}
.shoe-card-body .stock-pill{
  align-self:flex-start!important;
  margin-top:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 14px!important;
  background:#dcfce7!important;
  color:#15803d!important;
  border-radius:12px!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:950!important;
}
.shoe-card-body .stock-pill span{
  width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#16a34a!important;
  color:#fff!important;
  font-size:13px!important;
}
@media(max-width:1200px){
  .shoe-card-body h3{font-size:17px!important}
  .shoe-card-price b{font-size:17px!important}
  .shoe-size-line>span,
  .shoe-color-line>span{font-size:14px!important}
}
@media(max-width:560px){
  .shop-product-card-grid,.catalog-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .shop-section-title-row{
    margin:12px 0 10px!important;
  }
  .shop-section-title-row h2{
    font-size:18px!important;
  }
  .shoe-card{
    border-radius:12px!important;
  }
  .shoe-card-img{
    padding:10px!important;
  }
  .shoe-discount-badge{
    min-width:46px!important;
    height:30px!important;
    font-size:14px!important;
    border-radius:0 12px 0 12px!important;
  }
  .shoe-card-body{
    padding:10px!important;
    min-height:auto!important;
  }
  .shoe-card-body small{
    font-size:10px!important;
    margin-bottom:3px!important;
  }
  .shoe-card-body h3{
    font-size:15px!important;
    line-height:1.18!important;
    margin:0 0 5px!important;
  }
  .shoe-card-body p{
    font-size:11px!important;
    margin:0 0 8px!important;
  }
  .shoe-card-price{
    gap:6px!important;
    margin:0 0 9px!important;
  }
  .shoe-card-price b{
    font-size:15px!important;
  }
  .shoe-card-price span{
    font-size:11px!important;
  }
  .shoe-size-line,
  .shoe-color-line{
    gap:6px!important;
    margin-top:6px!important;
    align-items:flex-start!important;
  }
  .shoe-size-line>span,
  .shoe-color-line>span{
    font-size:12px!important;
  }
  .shoe-size-line>div{
    gap:4px!important;
  }
  .shoe-size-line em{
    min-width:24px!important;
    height:24px!important;
    padding:0 5px!important;
    border-radius:6px!important;
    font-size:11px!important;
  }
  .shoe-color-line>div{
    gap:6px!important;
  }
  .shoe-color-line i{
    width:14px!important;
    height:14px!important;
    border-width:1.5px!important;
  }
  .shoe-card-body .stock-pill{
    margin-top:10px!important;
    gap:6px!important;
    padding:7px 10px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }
  .shoe-card-body .stock-pill span{
    width:16px!important;
    height:16px!important;
    font-size:10px!important;
  }
}

@media(max-width:390px){
  .shop-product-card-grid,.catalog-product-grid{
    gap:10px!important;
  }
  .shoe-card-body{
    padding:9px!important;
  }
  .shoe-card-body h3{
    font-size:14px!important;
  }
  .shoe-card-price b{
    font-size:14px!important;
  }
  .shoe-size-line>span,
  .shoe-color-line>span{
    font-size:11px!important;
  }
}


/* Brand logo marquee */
.home-brand-row,.footer-brand-row{display:none!important}
.brand-logo-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  margin:26px 0 12px;
  padding:10px 0;
  border-top:1px solid #e2e8f0;
  border-bottom:1px solid #e2e8f0;
  background:transparent;
}
.shop-footer .brand-logo-marquee{
  margin:0;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.brand-logo-marquee::before,
.brand-logo-marquee::after{
  content:'';
  position:absolute;
  top:0; bottom:0;
  width:48px;
  z-index:2;
  pointer-events:none;
}
.brand-logo-marquee::before{
  left:0;
  background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%);
}
.brand-logo-marquee::after{
  right:0;
  background:linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%);
}
.shop-footer .brand-logo-marquee::before{
  background:linear-gradient(90deg, #052043 0%, rgba(5,32,67,0) 100%);
}
.shop-footer .brand-logo-marquee::after{
  background:linear-gradient(270deg, #052043 0%, rgba(5,32,67,0) 100%);
}
.brand-logo-track{
  display:flex;
  align-items:center;
  gap:26px;
  width:max-content;
  animation:brandMarquee 34s linear infinite;
}
.brand-logo-marquee:hover .brand-logo-track{
  animation-play-state:paused;
}
.brand-logo-item{
  flex:0 0 auto;
  height:52px;
  min-width:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
}
.brand-logo-item img{
  height:40px;
  width:auto;
  max-width:160px;
  display:block;
  object-fit:contain;
  filter:none;
}
.shop-footer .brand-logo-item img{
  filter:brightness(0) invert(1);
  opacity:.95;
}
@keyframes brandMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media (max-width: 768px){
  .brand-logo-marquee{
    margin:18px 0 10px;
    padding:8px 0;
  }
  .brand-logo-track{
    gap:18px;
    animation-duration:28s;
  }
  .brand-logo-item{
    min-width:110px;
    height:42px;
    padding:0 4px;
  }
  .brand-logo-item img{
    height:28px;
    max-width:120px;
  }
  .brand-logo-marquee::before,
  .brand-logo-marquee::after{width:26px}
}


/* 2026-07-02 FINAL BRAND LOGO: one row only, real logo-style SVG, no wrapper/bungkus */
.brand-logo-marquee{
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;
  margin:30px 0 20px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.brand-logo-marquee::before,
.brand-logo-marquee::after{
  display:none!important;
}
.brand-logo-track{
  display:flex!important;
  align-items:center!important;
  gap:54px!important;
  width:max-content!important;
  animation:brandMarquee 28s linear infinite!important;
}
.brand-logo-marquee:hover .brand-logo-track{
  animation-play-state:paused!important;
}
.brand-logo-item{
  flex:0 0 auto!important;
  min-width:110px!important;
  height:58px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.brand-logo-item img{
  height:44px!important;
  width:auto!important;
  max-width:150px!important;
  display:block!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}
.shop-footer .brand-logo-marquee,
.footer-brand-row{
  display:none!important;
}
@keyframes brandMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media(max-width:768px){
  .brand-logo-marquee{
    margin:20px 0 14px!important;
  }
  .brand-logo-track{
    gap:32px!important;
    animation-duration:22s!important;
  }
  .brand-logo-item{
    min-width:82px!important;
    height:44px!important;
  }
  .brand-logo-item img{
    height:32px!important;
    max-width:104px!important;
  }
}


/* 2026-07-02 FINAL MOBILE FOOTER: professional stacked layout */
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-list li,.footer-line{display:flex;align-items:flex-start;gap:12px;color:#d6e2f2;line-height:1.55;margin:0}
.footer-icon{width:24px;height:24px;flex:0 0 24px;display:inline-grid;place-items:center;color:#ffffff}
.footer-icon svg{width:24px;height:24px;fill:currentColor;display:block}
.footer-links i{font-style:normal;color:rgba(255,255,255,.62);margin:0 10px}
@media(max-width:560px){
  .shop-footer{background:linear-gradient(180deg,#062145 0%,#031934 100%)!important;margin-top:24px!important;overflow:hidden!important}
  .shop-footer .shop-container{width:100%!important;padding:0 26px!important}
  .footer-grid.mobile-footer-upgrade{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:24px 0 0!important;border-bottom:0!important}
  .mobile-footer-upgrade .footer-col{padding:0 0 28px!important;margin:0 0 28px!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .mobile-footer-upgrade .footer-col:last-child{margin-bottom:0!important}
  .footer-grid h6{font-size:24px!important;line-height:1.15!important;font-weight:950!important;margin:0 0 18px!important;color:#ffffff!important;letter-spacing:-.03em!important}
  .footer-grid p,.footer-list li{font-size:18px!important;color:#f4f8ff!important;line-height:1.55!important}
  .footer-line{font-size:18px!important;color:#f4f8ff!important}
  .footer-icon{width:30px!important;height:30px!important;flex-basis:30px!important;margin-top:1px!important;color:#ffffff!important}
  .footer-icon svg{width:30px!important;height:30px!important}
  .social-row{gap:14px!important;margin-top:22px!important}
  .social-row span{width:48px!important;height:48px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#ffffff!important;font-size:17px!important;font-weight:950!important}
  .payment-logos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;max-width:100%!important}
  .payment-logos span{height:56px!important;border-radius:10px!important;background:#ffffff!important;color:#08244b!important;font-size:17px!important;font-weight:950!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 12px!important;box-shadow:0 10px 22px rgba(0,0,0,.10)!important}
  .footer-list{gap:14px!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:14px!important;padding:24px 0 30px!important;border-top:1px solid rgba(255,255,255,.18)!important;color:#ffffff!important;font-size:16px!important;line-height:1.55!important}
  .footer-bottom span{color:#ffffff!important}
  .footer-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important}
  .footer-links i{margin:0 4px!important;color:rgba(255,255,255,.55)!important}
}
@media(max-width:390px){
  .shop-footer .shop-container{padding:0 18px!important}
  .footer-grid h6{font-size:22px!important}
  .footer-grid p,.footer-list li,.footer-line{font-size:16px!important}
  .payment-logos span{height:52px!important;font-size:15px!important}
  .social-row span{width:44px!important;height:44px!important}
}


/* DETAIL PAGE POLISH 2026-07-02 */
.product-detail-page{padding-top:26px}
.detail-layout{grid-template-columns:minmax(0,54%) minmax(380px,1fr);gap:40px}
.detail-left,.detail-right{min-width:0}
.detail-main-image{
  height:620px;
  border:1px solid #dbe5f1;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:0 18px 38px rgba(5,24,52,.06);
  padding:32px;
}
.detail-main-image img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 22px 34px rgba(6,24,42,.12))}
.detail-heart,.detail-zoom{display:none!important}
.detail-arrow{width:44px;height:44px;background:rgba(255,255,255,.94);border:1px solid #d8e3f2;box-shadow:0 8px 18px rgba(15,23,42,.08);font-size:30px;color:#0f2947}
.detail-arrow.left{left:20px}
.detail-arrow.right{right:20px}
.detail-thumb-row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 28px}
.detail-thumb{height:138px;border:1px solid #dbe5f1;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(7,24,51,.04);padding:16px;transition:.22s ease}
.detail-thumb.active,.detail-thumb:hover{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,107,255,.08),0 12px 26px rgba(7,24,51,.08)}
.detail-tabs{gap:28px;margin-bottom:16px}
.detail-description{background:#fff;border:1px solid #e5edf7;border-radius:18px;padding:20px 22px;box-shadow:0 10px 24px rgba(7,24,51,.04)}
.detail-buy-card{background:#fff;border:1px solid #e5edf7;border-radius:24px;padding:8px 0 0}
.detail-buy-card h1{font-size:clamp(34px,3vw,52px);line-height:1.04;margin:6px 0 10px;color:#183153}
.detail-brand{display:inline-block;font-size:18px;letter-spacing:.01em;margin-bottom:4px}
.detail-subtitle{font-size:18px;margin-bottom:12px}
.detail-rating{gap:12px;font-size:16px}
.detail-rating b{color:#183153}
.detail-price{gap:14px;margin:20px 0 18px;flex-wrap:wrap}
.detail-price b{font-size:clamp(36px,3vw,48px);line-height:1;color:#0f2947}
.detail-price span{font-size:20px}
.stock-line{font-size:18px;margin-bottom:12px}
.stock-line i{width:10px;height:10px;margin-top:9px}
.detail-control-block{padding:20px 0;border-top:1px solid #e7eef7}
.detail-control-head b,.detail-control-block>b{font-size:17px;color:#183153}
.detail-control-head a{font-size:14px}
.detail-size-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}
.detail-size-btn{height:50px;border-radius:14px;border:1px solid #d6e2f0;font-size:17px;color:#183153;transition:.2s ease}
.detail-size-btn:hover,.detail-size-btn.active{border-color:var(--blue);background:#eef5ff;box-shadow:0 0 0 3px rgba(11,107,255,.08)}
.detail-color-row{gap:16px;margin-top:14px}
.detail-color-btn{font-size:13px;font-weight:800;color:#183153;padding:0}
.detail-color-btn i{width:46px;height:46px;margin-bottom:8px;border:2px solid #dbe5f1;box-shadow:0 6px 16px rgba(15,23,42,.08)}
.detail-color-btn.active i{outline:3px solid rgba(11,107,255,.18);border-color:var(--blue)}
.qty-control{width:148px;height:48px;border-radius:14px;border-color:#d6e2f0;margin-top:12px}
.qty-control button{background:#f8fbff;color:#183153;font-weight:900}
.qty-control input{font-size:18px;font-weight:800;color:#183153}
.detail-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding-top:10px}
.detail-primary-btn,.detail-secondary-btn{height:54px;border-radius:14px;font-size:16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;transition:.2s ease;box-shadow:none}
.detail-primary-btn{background:linear-gradient(135deg,#0b6bff 0%,#0a56d7 100%);border:1px solid #0a56d7;color:#fff}
.detail-primary-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(11,107,255,.22)}
.detail-secondary-btn{background:#fff!important;border:1px solid #0f2947;color:#0f2947!important}
.detail-secondary-btn:hover{background:#f8fbff!important;border-color:#0b6bff;color:#0b6bff!important}
.variant-warning{margin-top:10px;border-radius:12px;background:#fff4f4;color:#c81e1e;padding:12px 14px;font-weight:700}
.selected-variant-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 4px}
.selected-variant-box div{border:1px solid #dbe5f1;border-radius:14px;padding:14px;background:#f8fbff}
.selected-variant-box span{display:block;font-size:12px;color:#64748b;margin-bottom:4px}
.selected-variant-box b{font-size:17px;color:#183153}
@media(max-width:1024px){
  .detail-layout{grid-template-columns:1fr;gap:28px}
  .detail-main-image{height:520px}
}
@media(max-width:560px){
  .product-detail-page{padding-top:16px}
  .detail-main-image{height:340px;border-radius:20px;padding:16px}
  .detail-arrow{width:38px;height:38px;font-size:24px}
  .detail-thumb-row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}
  .detail-thumb{height:106px;border-radius:16px;padding:10px}
  .detail-buy-card{border:0;padding:0}
  .detail-buy-card h1{font-size:32px;line-height:1.08}
  .detail-subtitle{font-size:16px}
  .detail-price b{font-size:34px}
  .detail-price span{font-size:16px}
  .detail-control-block{padding:16px 0}
  .detail-size-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .detail-size-btn{height:46px;font-size:16px}
  .detail-color-row{gap:12px}
  .detail-color-btn i{width:40px;height:40px}
  .detail-action-row{grid-template-columns:1fr;gap:10px}
  .detail-primary-btn,.detail-secondary-btn{height:50px;font-size:15px}
  .qty-control{width:132px;height:46px}
}


/* 2026-07-02 DETAIL PAGE FIX: thumbnail tidak rusak/overlap */
.product-detail-page{
  padding-top:24px!important;
}
.detail-layout{
  align-items:start!important;
}
.detail-left{
  min-width:0!important;
}
.detail-main-image{
  height:560px!important;
  max-height:560px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.detail-main-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.detail-thumb-row,
.detail-thumb-row-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  margin:16px 0 22px!important;
  clear:both!important;
}
.detail-thumb-row-2 .detail-thumb,
.detail-thumb-row .detail-thumb{
  height:128px!important;
  min-height:0!important;
  max-height:128px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  padding:12px!important;
  background:#fff!important;
  border:1px solid #dbe5f1!important;
  box-shadow:0 8px 22px rgba(7,24,51,.04)!important;
}
.detail-thumb-row-2 .detail-thumb.active,
.detail-thumb-row .detail-thumb.active{
  border-color:#0b6bff!important;
  box-shadow:0 0 0 3px rgba(11,107,255,.10),0 12px 24px rgba(7,24,51,.08)!important;
}
.detail-thumb-row-2 .detail-thumb img,
.detail-thumb-row .detail-thumb img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  filter:drop-shadow(0 10px 15px rgba(7,24,51,.10))!important;
}
.detail-tabs{
  display:none!important;
}
.detail-description,
.detail-description-clean{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
  margin:0 0 28px!important;
  padding:20px 22px!important;
  background:#ffffff!important;
  border:1px solid #e5edf7!important;
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(7,24,51,.045)!important;
  color:#334155!important;
}
.detail-description ul{
  margin:10px 0!important;
  padding-left:20px!important;
}
.detail-action-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  margin-top:12px!important;
}
.detail-primary-btn,
.detail-secondary-btn{
  border-radius:14px!important;
  height:54px!important;
  font-weight:950!important;
  font-size:16px!important;
  border:1px solid #0b6bff!important;
}
.detail-primary-btn{
  background:linear-gradient(135deg,#0b6bff,#0759db)!important;
  color:#fff!important;
}
.detail-secondary-btn{
  background:#fff!important;
  color:#0b315f!important;
  border-color:#0b315f!important;
}
.detail-service-mini,
.detail-accordion{
  display:none!important;
}
@media(max-width:900px){
  .detail-main-image{
    height:420px!important;
    max-height:420px!important;
  }
  .detail-thumb-row,
  .detail-thumb-row-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .product-detail-page{
    padding-top:14px!important;
  }
  .detail-main-image{
    height:320px!important;
    max-height:320px!important;
    border-radius:18px!important;
    padding:14px!important;
  }
  .detail-thumb-row,
  .detail-thumb-row-2{
    gap:10px!important;
    margin:12px 0 18px!important;
  }
  .detail-thumb-row-2 .detail-thumb,
  .detail-thumb-row .detail-thumb{
    height:88px!important;
    max-height:88px!important;
    padding:8px!important;
    border-radius:14px!important;
  }
  .detail-description,
  .detail-description-clean{
    padding:16px!important;
    border-radius:14px!important;
    margin-bottom:20px!important;
    font-size:13px!important;
  }
  .detail-action-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .detail-primary-btn,
  .detail-secondary-btn{
    height:50px!important;
    font-size:15px!important;
  }
}


/* 2026-07-02 detail image size refinement */
.detail-main-image{
  padding:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
}
.detail-main-image img{
  width:84%!important;
  height:84%!important;
  max-width:84%!important;
  max-height:84%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.detail-thumb-row-2 .detail-thumb,
.detail-thumb-row .detail-thumb{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px!important;
}
.detail-thumb-row-2 .detail-thumb img,
.detail-thumb-row .detail-thumb img{
  width:78%!important;
  height:78%!important;
  max-width:78%!important;
  max-height:78%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:900px){
  .detail-main-image{
    padding:22px!important;
  }
  .detail-main-image img{
    width:86%!important;
    height:86%!important;
    max-width:86%!important;
    max-height:86%!important;
  }
}
@media(max-width:560px){
  .detail-main-image{
    padding:14px!important;
  }
  .detail-main-image img{
    width:88%!important;
    height:88%!important;
    max-width:88%!important;
    max-height:88%!important;
  }
  .detail-thumb-row-2 .detail-thumb img,
  .detail-thumb-row .detail-thumb img{
    width:82%!important;
    height:82%!important;
    max-width:82%!important;
    max-height:82%!important;
  }
}

/* 2026-07-02 detail page spacing + quantity price + color swatch fix */
.detail-right{min-width:0!important}
.detail-buy-card{
  padding:18px 24px 24px!important;
  overflow:hidden!important;
}
.detail-control-block{
  padding:20px 0!important;
  margin:0!important;
}
.detail-control-head,
.detail-control-block > b{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.detail-color-row,
.detail-size-row{
  margin-top:14px!important;
}
.detail-size-btn,
.detail-color-btn,
.qty-control,
.detail-primary-btn,
.detail-secondary-btn{
  box-shadow:none!important;
}
.detail-size-btn,
.qty-control,
.detail-thumb,
.detail-main-image,
.detail-description,
.detail-buy-card{
  border-color:#d9e4f2!important;
}
.detail-color-btn span{
  display:block!important;
  margin-top:2px!important;
  line-height:1.15!important;
}
.qty-control{
  margin-top:12px!important;
  background:#fff!important;
}
.qty-control button{
  cursor:pointer!important;
}
.qty-control input::-webkit-outer-spin-button,
.qty-control input::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.qty-control input[type=number]{
  -moz-appearance:textfield!important;
}
@media(max-width:560px){
  .detail-buy-card{
    padding:14px 16px 18px!important;
    border:1px solid #e5edf7!important;
    border-radius:18px!important;
  }
  .detail-control-block{
    padding:16px 0!important;
  }
  .detail-control-head,
  .detail-control-block > b{
    gap:8px!important;
  }
}

/* 2026-07-02 cart page professional cleanup */
.cart-items-list{display:grid;gap:14px}
.cart-modern-item{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 20px!important;
  border:1px solid #dfe8f4!important;
  border-radius:20px!important;
  background:#fff!important;
}
.cart-modern-img{
  width:116px!important;
  height:116px!important;
  background:#fff!important;
  border:1px solid #e4ebf5!important;
  border-radius:16px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.cart-modern-img img{width:100%!important;height:100%!important;object-fit:contain!important;padding:10px!important}
.cart-modern-info{min-width:0!important;align-self:center!important}
.cart-modern-info small{display:block!important;font-size:12px!important;font-weight:900!important;color:#64748b!important;letter-spacing:.02em!important;text-transform:uppercase!important}
.cart-modern-info h3{
  margin:6px 0 10px!important;
  line-height:1.12!important;
  font-size:18px!important;
  font-weight:900!important;
  color:#0f274d!important;
}
.cart-variant-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:0}
.cart-variant-list p{margin:0!important;color:#475569!important;font-size:14px!important;line-height:1.35!important}
.cart-modern-side{
  min-width:180px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:12px!important;
}
.cart-item-price{font-size:18px!important;font-weight:900!important;color:#071833!important;line-height:1!important}
.cart-delete-btn{
  border:1px solid #f1c8cf!important;
  background:#fff7f8!important;
  color:#cf3046!important;
  font-weight:800!important;
  border-radius:12px!important;
  height:42px!important;
  min-width:118px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  transition:.2s ease!important;
  font-size:14px!important;
  line-height:1!important;
}
.cart-delete-btn svg{width:16px!important;height:16px!important;fill:currentColor!important;flex:0 0 16px!important}
.cart-delete-btn span{display:inline-block!important}
.cart-delete-btn:hover{background:#ffeef1!important;border-color:#e79cab!important;transform:translateY(-1px)}
.cart-qty-pill{
  margin:0!important;
  width:160px!important;
  height:48px!important;
  border:1px solid #d8e3f1!important;
  border-radius:14px!important;
  background:#fff!important;
  justify-content:space-between!important;
  padding:0 6px!important;
}
.cart-qty-pill span{
  min-width:40px!important;
  text-align:center!important;
  font-size:18px!important;
  font-weight:900!important;
  color:#0f274d!important;
}
.cart-qty-pill button{
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
  border:1px solid #dbe7f5!important;
  background:#f8fbff!important;
  color:#103a78!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.cart-qty-pill button:hover{background:#edf5ff!important}
.cart-qty-form{margin:0!important}
.cart-remove-form{margin:0!important}
@media(max-width:560px){
  .cart-remove-form{justify-self:start!important}
  .cart-delete-btn svg{width:14px!important;height:14px!important;flex-basis:14px!important}
}

.continue-shopping{display:none!important}
.cart-summary-modern>div{gap:16px!important}
.cart-summary-modern .coupon-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
.cart-summary-modern .coupon-row button{
  min-width:96px!important;
  border-radius:12px!important;
  border:0!important;
  background:#0f274d!important;
  color:#fff!important;
  font-weight:800!important;
}
@media(max-width:991px){
  .cart-modern-item{grid-template-columns:104px minmax(0,1fr)!important;gap:16px!important;padding:16px!important}
  .cart-modern-img{width:104px!important;height:104px!important}
  .cart-modern-side{
    grid-column:2!important;
    align-items:flex-start!important;
    min-width:0!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .cart-item-price{width:100%!important;font-size:20px!important}
  .cart-qty-pill{width:150px!important}
}
@media(max-width:560px){
  .cart-title-block h1{font-size:34px!important}
  .cart-items-list{gap:12px!important}
  .cart-modern-item{
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .cart-modern-img{
    width:86px!important;
    height:86px!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .cart-modern-img img{padding:8px!important}
  .cart-modern-info h3{font-size:17px!important;margin:4px 0 8px!important}
  .cart-modern-info small{font-size:11px!important}
  .cart-variant-list{gap:6px 10px!important}
  .cart-variant-list p{font-size:13px!important}
  .cart-modern-side{
    grid-column:2!important;
    display:grid!important;
    grid-template-columns:auto auto!important;
    align-items:center!important;
    justify-content:start!important;
    min-width:0!important;
    gap:8px 10px!important;
  }
  .cart-item-price{grid-column:1/-1!important;font-size:18px!important;margin-bottom:2px!important}
  .cart-qty-pill{width:124px!important;max-width:124px!important;height:40px!important;padding:0 4px!important}
  .cart-qty-pill span{font-size:16px!important;min-width:28px!important}
  .cart-qty-pill button{width:30px!important;height:30px!important;font-size:18px!important;border-radius:9px!important}
  .cart-delete-btn{width:auto!important;min-width:92px!important;height:40px!important;font-size:12px!important;padding:0 12px!important;border-radius:11px!important}
  .cart-summary-modern{padding:20px 18px!important;border-radius:20px!important}
}


.cart-modern-item.is-updating{opacity:.7;transition:opacity .2s ease}
.cart-modern-item.is-updating .cart-modern-img{filter:saturate(.9)}
.cart-modern-item button:disabled{opacity:.65;cursor:not-allowed}



/* Mobile catalog drawer */
.catalog-mobile-toolbar,
.catalog-mobile-filter-header,
.catalog-filter-backdrop{display:none}

@media(max-width:900px){
  .breadcrumb-lite{display:none!important}
  .catalog-page{padding-top:10px!important}
  .catalog-layout{grid-template-columns:1fr!important;gap:14px!important}
  .catalog-mobile-toolbar{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:4px 0 8px;
  }
  .catalog-mobile-filter-btn{
    border:1px solid #cfe0f4;
    background:#fff;
    color:var(--navy);
    height:46px;
    padding:0 16px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    box-shadow:0 8px 20px rgba(5,24,52,.06);
  }
  .catalog-mobile-filter-btn span{
    width:24px;height:24px;border-radius:8px;
    background:#edf4ff;color:var(--blue);
    display:grid;place-items:center;font-size:14px;font-weight:900;
  }
  .catalog-mobile-toolbar-info{
    font-size:12px;
    color:#64748b;
    font-weight:800;
    white-space:nowrap;
  }
  .catalog-filter-backdrop{
    position:fixed;
    inset:0;
    background:rgba(3,20,44,.45);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
    z-index:1198;
  }
  .catalog-filter-sidebar{
    position:fixed!important;
    left:0;right:0;bottom:0;
    top:auto;
    width:100%;
    max-height:82vh;
    border-radius:22px 22px 0 0!important;
    overflow:hidden!important;
    margin:0!important;
    box-shadow:0 -18px 44px rgba(5,24,52,.18);
    transform:translateY(105%);
    transition:transform .28s ease;
    z-index:1199;
    border:1px solid #dbe7f5!important;
  }
  .catalog-filter-sidebar form{
    display:block!important;
    max-height:calc(82vh - 78px);
    overflow:auto;
    padding-bottom:18px;
    background:#fff;
  }
  .catalog-mobile-filter-header{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 18px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .catalog-mobile-filter-header h5{
    margin:0;
    font-size:18px;
    font-weight:950;
    color:var(--navy);
  }
  .catalog-mobile-filter-header p{
    margin:4px 0 0;
    font-size:12px;
    color:#64748b;
    font-weight:600;
  }
  .catalog-mobile-filter-close{
    width:38px;height:38px;border-radius:12px;border:1px solid #d6e4f5;
    background:#fff;color:var(--navy);font-size:24px;line-height:1;
    display:grid;place-items:center;
  }
  body.mobile-filter-open{overflow:hidden}
  body.mobile-filter-open .catalog-filter-backdrop{display:block;opacity:1;visibility:visible}
  body.mobile-filter-open .catalog-filter-sidebar{transform:translateY(0)}

  .filter-block{padding:16px 18px!important}
  .filter-block h6{font-size:15px!important;margin:0 0 12px!important}
  .filter-block label{font-size:13px!important;margin:7px 0!important}
  .clear-filter-btn{
    width:calc(100% - 36px)!important;
    margin:10px 18px 0!important;
    height:48px!important;
    border-radius:14px!important;
    background:var(--blue)!important;
    border-color:var(--blue)!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(14,98,235,.22);
  }
  .catalog-head-row{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    margin-bottom:14px!important;
  }
  .catalog-head-row h1{font-size:30px!important;line-height:1.05!important}
  .catalog-head-row p{margin:6px 0 0!important;font-size:13px!important}
  .catalog-sort-form{width:100%!important;justify-content:space-between!important}
  .catalog-chip-row{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px!important;
    margin-bottom:14px!important;
  }
  .catalog-chip-row::-webkit-scrollbar{display:none}
  .catalog-chip-row a{white-space:nowrap!important;padding:8px 16px!important;font-size:13px!important}
  .catalog-inline-banner{display:none!important}
}
@media(max-width:560px){
  .catalog-page{padding-top:8px!important}
  .catalog-layout{gap:12px!important}
  .catalog-mobile-toolbar{gap:10px!important}
  .catalog-mobile-filter-btn{height:44px!important;padding:0 14px!important;border-radius:12px!important;font-size:13px!important}
  .catalog-mobile-toolbar-info{font-size:11px!important}
  .catalog-filter-sidebar{max-height:85vh!important;border-radius:18px 18px 0 0!important}
  .catalog-filter-sidebar form{max-height:calc(85vh - 74px)!important}
  .catalog-mobile-filter-header{padding:16px 16px 12px!important}
  .catalog-mobile-filter-header h5{font-size:16px!important}
  .filter-block{padding:14px 16px!important}
  .filter-search{height:44px!important}
  .catalog-head-row h1{font-size:26px!important}
  .catalog-head-row p{font-size:12px!important}
  .catalog-sort-form{height:44px!important;padding:0 10px!important}
  .catalog-sort-form label,
  .catalog-sort-form select{font-size:12px!important}
  .catalog-chip-row a{padding:8px 14px!important;font-size:12px!important}
  .shop-product-card-grid,.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}
@media(max-width:390px){
  .catalog-mobile-filter-btn{min-width:0!important;flex:1 1 auto!important;justify-content:center!important}
  .catalog-mobile-toolbar-info{font-size:10px!important}
}


/* 2026-07-03 public category banner from admin/categories */
.catalog-category-banner-card{
  position:relative;
  width:100%;
  min-height:210px;
  border-radius:20px;
  overflow:hidden;
  margin:0 0 24px;
  border:1px solid #dbe7f5;
  background:linear-gradient(135deg,#061a38,#0b2d5a);
  box-shadow:0 18px 38px rgba(6,24,52,.08);
}
.catalog-category-banner-card img{
  width:100%;
  height:100%;
  min-height:210px;
  max-height:280px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.catalog-category-banner-card:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,15,34,.86) 0%,rgba(2,15,34,.56) 35%,rgba(2,15,34,.08) 72%);
  pointer-events:none;
}
.catalog-category-banner-overlay{
  position:absolute;
  left:32px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  max-width:430px;
  color:#fff;
}
.catalog-category-banner-overlay span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.catalog-category-banner-overlay span:before{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  background:#0b6bff;
  box-shadow:0 0 0 5px rgba(11,107,255,.18);
}
.catalog-category-banner-overlay h2{
  margin:14px 0 8px;
  font-size:42px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
}
.catalog-category-banner-overlay p{
  margin:0;
  color:#dbeafe;
  font-size:15px;
  line-height:1.55;
  max-width:380px;
}
.catalog-category-banner-card.is-fallback{
  min-height:170px;
}
.catalog-category-banner-card.is-fallback img{
  display:none;
}
.catalog-category-banner-card.is-fallback:after{
  background:radial-gradient(circle at 70% 10%,rgba(11,107,255,.28),transparent 30%),linear-gradient(135deg,#061a38,#0b2d5a);
}
@media(max-width:900px){
  .catalog-category-banner-card{
    min-height:170px;
    border-radius:18px;
    margin-bottom:18px;
  }
  .catalog-category-banner-card img{
    min-height:170px;
    max-height:210px;
  }
  .catalog-category-banner-overlay{
    left:22px;
    right:22px;
    max-width:none;
  }
  .catalog-category-banner-overlay h2{
    font-size:32px;
  }
  .catalog-category-banner-overlay p{
    font-size:13px;
  }
}
@media(max-width:560px){
  .catalog-category-banner-card{
    min-height:150px;
    border-radius:16px;
    margin-bottom:16px;
  }
  .catalog-category-banner-card img{
    min-height:150px;
    max-height:180px;
  }
  .catalog-category-banner-card:after{
    background:linear-gradient(90deg,rgba(2,15,34,.88) 0%,rgba(2,15,34,.62) 52%,rgba(2,15,34,.12) 100%);
  }
  .catalog-category-banner-overlay{
    left:18px;
    right:18px;
  }
  .catalog-category-banner-overlay span{
    font-size:10px;
    padding:7px 10px;
  }
  .catalog-category-banner-overlay h2{
    font-size:28px;
    margin:10px 0 6px;
  }
  .catalog-category-banner-overlay p{
    font-size:12px;
    line-height:1.45;
    max-width:260px;
  }
}

/* === LangkahKaki brand logo update === */
.shop-brand.shop-brand-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
  min-width:180px;
  height:58px;
}
.shop-brand.shop-brand-logo img{
  display:block;
  width:190px;
  max-width:100%;
  max-height:54px;
  object-fit:contain;
}
.shop-footer .footer-col:first-child::before{
  content:"";
  display:block;
  width:170px;
  height:70px;
  margin:0 0 12px;
  background:url('../custom/brand/logo-langkahkaki-white.png') left center / contain no-repeat;
}
@media(max-width:768px){
  .shop-brand.shop-brand-logo{min-width:150px;height:52px}
  .shop-brand.shop-brand-logo img{width:155px;max-height:48px}
}

/* === LangkahKaki public store information links === */
.shop-top-strip-inner span{white-space:normal}
.footer-address b{font-weight:900;color:#fff}
.footer-address a,.footer-list a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.social-row-links{display:flex;gap:8px;flex-wrap:wrap}
.social-row-links a{min-width:42px;height:34px;padding:0 10px;border-radius:999px;display:inline-grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}
.social-row-links a:hover{background:#fff;color:#0f172a}


/* Checkout location search refined */
.raja-search-wrap{
  position:relative;
  z-index:20;
}
.raja-search-control{
  position:relative;
  display:flex;
  align-items:center;
}
.raja-search-control .form-control{
  padding-left:46px!important;
  padding-right:44px!important;
  min-height:48px;
  border-radius:14px!important;
  background:#fff!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.raja-search-control .form-control:focus{
  border-color:#0b6bff!important;
  box-shadow:0 0 0 4px rgba(11,107,255,.10)!important;
}
.raja-search-control .form-control.is-selected{
  border-color:#16a34a!important;
  background:#f8fff9!important;
  box-shadow:0 0 0 4px rgba(22,163,74,.10)!important;
}
.raja-search-icon{
  position:absolute;
  left:15px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  color:#0b6bff;
  pointer-events:none;
  z-index:2;
}
.raja-search-icon svg{
  width:20px;
  height:20px;
  fill:currentColor;
}
.raja-clear-btn{
  position:absolute;
  right:10px;
  width:30px;
  height:30px;
  border:0;
  border-radius:999px;
  background:#edf3fb;
  color:#334155;
  font-size:20px;
  line-height:1;
  display:grid;
  place-items:center;
  z-index:2;
}
.raja-clear-btn:hover{
  background:#dbeafe;
  color:#0b6bff;
}
.raja-search-help{
  display:block;
  margin-top:8px;
  color:#64748b;
  font-size:.82rem;
  line-height:1.45;
}
.raja-results{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  max-height:310px;
  overflow:auto;
  padding:8px;
  border:1px solid #dbe7f4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 50px rgba(15,23,42,.16);
  z-index:999;
}
.raja-results.show{
  display:grid;
  gap:8px;
}
.raja-result{
  width:100%;
  border:1px solid #e7edf5;
  border-radius:14px;
  background:#fff;
  padding:12px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  text-align:left;
  color:#0f172a;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.raja-result:hover{
  background:#f5f9ff;
  border-color:#bcd6ff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(11,107,255,.08);
}
.raja-result-pin{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eaf2ff;
  color:#0b6bff;
}
.raja-result-pin svg{
  width:19px;
  height:19px;
  fill:currentColor;
}
.raja-result-copy{
  min-width:0;
}
.raja-result strong,
.raja-result-copy strong{
  display:block;
  font-size:.92rem;
  line-height:1.35;
  color:#0f172a;
  font-weight:900;
  overflow-wrap:anywhere;
}
.raja-result span,
.raja-result small,
.raja-result-copy small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.8rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.raja-result.empty{
  cursor:default;
  grid-template-columns:1fr;
  padding:16px;
  text-align:center;
  background:#f8fafc;
  color:#64748b;
}
.raja-result.empty:hover{
  transform:none;
  box-shadow:none;
  border-color:#e7edf5;
}
.raja-result.empty b{
  display:block;
  color:#334155;
  font-weight:900;
  margin-bottom:4px;
}
.raja-result.empty.loading b::after{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:8px;
  border:2px solid #bfdbfe;
  border-top-color:#0b6bff;
  border-radius:999px;
  animation:rajaSpin .8s linear infinite;
}
@keyframes rajaSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .checkout-modern-page{
    padding-top:14px;
  }
  .checkout-step-card{
    padding:18px;
  }
  .raja-results{
    position:fixed;
    left:14px;
    right:14px;
    top:auto;
    bottom:18px;
    max-height:min(430px,58vh);
    border-radius:22px;
    padding:10px;
    z-index:1200;
  }
  .raja-result{
    padding:13px;
    border-radius:16px;
  }
}
@media(max-width:560px){
  .raja-search-control .form-control{
    min-height:50px;
    font-size:14px;
  }
  .raja-results{
    left:12px;
    right:12px;
    bottom:12px;
    max-height:62vh;
  }
  .raja-result{
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
  }
  .raja-result-pin{
    width:34px;
    height:34px;
  }
  .raja-result strong,
  .raja-result-copy strong{
    font-size:.88rem;
  }
  .raja-result small,
  .raja-result-copy small{
    font-size:.76rem;
  }
}


/* Product card typography refinement */
.shoe-card-price .shoe-price-current{
  font-size:18px!important;
  line-height:1.15!important;
  color:#071833!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  text-decoration:none!important;
}
.shoe-card-price .shoe-price-compare{
  font-size:13px!important;
  line-height:1.2!important;
  color:#94a3b8!important;
  font-weight:400!important;
  text-decoration:line-through!important;
}
.shoe-size-line>span,
.shoe-color-line>span{
  color:#334155!important;
  font-weight:500!important;
  font-size:14px!important;
  letter-spacing:0!important;
}
.shoe-size-line em{
  font-weight:600!important;
}
.shoe-card-body h3{
  margin-bottom:10px!important;
}
.shoe-card-price{
  margin-bottom:15px!important;
}
.shoe-size-line,
.shoe-color-line{
  gap:8px!important;
}
@media(max-width:560px){
  .shoe-card-price .shoe-price-current{
    font-size:15px!important;
    font-weight:500!important;
  }
  .shoe-card-price .shoe-price-compare{
    font-size:11px!important;
  }
  .shoe-size-line>span,
  .shoe-color-line>span{
    font-size:12px!important;
    font-weight:500!important;
  }
  .shoe-size-line em{
    font-weight:600!important;
  }
}
@media(max-width:390px){
  .shoe-card-price .shoe-price-current{
    font-size:14px!important;
  }
  .shoe-size-line>span,
  .shoe-color-line>span{
    font-size:11px!important;
  }
}


/* Catalog mobile filter button moved beside Sort by */
.catalog-sort-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.catalog-sort-actions .catalog-sort-form{
  flex:0 0 auto;
}
.catalog-mobile-filter-btn{
  display:none;
}
@media(max-width:900px){
  .catalog-sort-actions{
    width:100%;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .catalog-sort-actions .catalog-sort-form{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
  }
  .catalog-mobile-filter-btn.catalog-filter-icon-only{
    display:inline-flex!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:44px!important;
    min-width:46px!important;
    padding:0!important;
    border:1px solid #cfe0f4!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--blue)!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 8px 20px rgba(5,24,52,.06)!important;
  }
  .catalog-mobile-filter-btn.catalog-filter-icon-only span{
    width:auto!important;
    height:auto!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    display:block!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  .catalog-head-row{
    gap:10px!important;
  }
}
@media(max-width:560px){
  .catalog-sort-actions{
    gap:8px!important;
  }
  .catalog-mobile-filter-btn.catalog-filter-icon-only{
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
  }
  .catalog-sort-actions .catalog-sort-form{
    height:44px!important;
  }
}
@media(max-width:390px){
  .catalog-mobile-filter-btn.catalog-filter-icon-only{
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
  }
}


/* iPhone/mobile catalog overflow fix */
html,
body.shop-ui{
  max-width:100%;
  overflow-x:hidden!important;
}
.shop-main,
.shop-container,
.catalog-page,
.catalog-layout,
.catalog-main{
  max-width:100%;
  min-width:0;
}
@media(max-width:900px){
  body.shop-ui{
    padding-top:82px!important;
  }
  .shop-navbar{
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .shop-nav-inner{
    width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
    gap:12px!important;
  }
  .shop-brand-logo img{
    max-width:170px!important;
    height:auto!important;
  }
  .shop-nav-links{
    display:none!important;
  }
  .shop-nav-actions{
    flex:0 0 auto!important;
    gap:10px!important;
  }
  .shop-login-btn{
    white-space:nowrap!important;
  }
  .shop-container{
    width:100%!important;
    max-width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:hidden!important;
  }
  .catalog-page{
    padding-top:12px!important;
  }
  .catalog-category-banner-card{
    width:100%!important;
    min-height:145px!important;
    max-height:165px!important;
    border-radius:16px!important;
    margin-bottom:18px!important;
  }
  .catalog-category-banner-card img{
    width:100%!important;
    min-height:145px!important;
    max-height:165px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .catalog-head-row{
    width:100%!important;
    overflow:hidden!important;
  }
  .catalog-head-row h1{
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.055em!important;
    overflow-wrap:anywhere!important;
  }
  .catalog-head-row p{
    font-size:14px!important;
  }
  .catalog-sort-actions{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .catalog-mobile-filter-btn.catalog-filter-icon-only{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
  .catalog-sort-form{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    height:48px!important;
    border-radius:14px!important;
  }
  .catalog-sort-form label{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .catalog-sort-form select{
    flex:1 1 auto!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    background:transparent!important;
  }
  .catalog-chip-row{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:6px!important;
  }
  .catalog-product-grid,
  .shop-product-card-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .catalog-product-grid > *,
  .shop-product-card-grid > *{
    min-width:0!important;
    max-width:100%!important;
  }
  .shoe-card{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    border-radius:14px!important;
  }
  .shoe-card-img{
    padding:10px!important;
    min-width:0!important;
  }
  .shoe-card-body{
    padding:12px 10px!important;
    min-width:0!important;
  }
  .shoe-card-body h3{
    font-size:16px!important;
    line-height:1.18!important;
    letter-spacing:-.035em!important;
    margin-bottom:8px!important;
    overflow-wrap:anywhere!important;
  }
  .shoe-card-price{
    gap:5px!important;
    margin-bottom:10px!important;
  }
  .shoe-card-price .shoe-price-current{
    font-size:15px!important;
    font-weight:500!important;
  }
  .shoe-card-price .shoe-price-compare{
    font-size:11px!important;
  }
  .shoe-size-line,
  .shoe-color-line{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    margin-top:8px!important;
  }
  .shoe-size-line>div{
    gap:5px!important;
  }
  .shoe-size-line em{
    min-width:27px!important;
    height:25px!important;
    padding:0 6px!important;
    font-size:11px!important;
  }
}
@media(max-width:430px){
  .shop-nav-inner{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .shop-brand-logo img{
    max-width:155px!important;
  }
  .shop-container{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .catalog-category-banner-card{
    min-height:134px!important;
    max-height:150px!important;
    border-radius:15px!important;
  }
  .catalog-category-banner-card img{
    min-height:134px!important;
    max-height:150px!important;
  }
  .catalog-head-row h1{
    font-size:30px!important;
  }
  .catalog-product-grid,
  .shop-product-card-grid{
    gap:10px!important;
  }
  .shoe-card-body{
    padding:10px 9px!important;
  }
  .shoe-card-body h3{
    font-size:14.5px!important;
  }
  .shoe-discount-badge{
    min-width:42px!important;
    height:30px!important;
    padding:0 8px!important;
    font-size:13px!important;
  }
}
@media(max-width:360px){
  .catalog-product-grid,
  .shop-product-card-grid{
    grid-template-columns:1fr!important;
  }
}


/* Detail product refinement: cleaner price, no color text */
.detail-price{
  display:flex!important;
  align-items:baseline!important;
}
.detail-price .detail-price-current{
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1!important;
  color:#0f2947!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
.detail-price #detailComparePrice{
  font-size:18px!important;
  color:#94a3b8!important;
  font-weight:400!important;
  text-decoration:line-through!important;
}
.detail-color-btn{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
}
.detail-color-btn i{
  margin:0!important;
}
.detail-control-head{
  display:flex!important;
  justify-content:flex-start!important;
}
@media(max-width:560px){
  .detail-price .detail-price-current{
    font-size:32px!important;
    font-weight:500!important;
  }
  .detail-price #detailComparePrice{
    font-size:15px!important;
  }
  .detail-color-btn{
    width:46px!important;
    height:46px!important;
  }
}


/* Detail price no-strikethrough fix */
.detail-price #detailCurrentPrice,
.detail-price .detail-price-current{
  text-decoration:none!important;
  -webkit-text-decoration:none!important;
  color:#0f2947!important;
  font-weight:500!important;
}
.detail-price #detailComparePrice{
  text-decoration:line-through!important;
  color:#94a3b8!important;
  font-weight:400!important;
}
