:root{
  --ui-black:#111111;
  --ui-dark:#1d1d1f;
  --ui-red:#ff2948;
  --ui-border:#e9e9ec;
  --ui-soft:#f7f7f7;
  --ui-muted:#70757a;
  --ui-card:#ffffff;
  --ui-gold:#f6b500;
}

html,body{
  overflow-x:hidden;
}

body.site-body{
  font-family:"Cairo", Tahoma, Arial, sans-serif;
  background:var(--ui-soft);
  color:var(--ui-black);
}

a{
  text-decoration:none;
}

img{
  max-width:100%;
}

.form-control,
.form-select,
textarea,
input,
select{
  border-radius:16px !important;
  padding:.85rem 1rem;
}

.btn{
  border-radius:999px;
  font-weight:700;
  box-shadow:none !important;
}

.btn-dark{
  background:var(--ui-black);
  border-color:var(--ui-black);
}

.btn-dark:hover{
  background:#000;
  border-color:#000;
}

.btn-outline-dark:hover{
  background:var(--ui-black);
  border-color:var(--ui-black);
}

.btn-primary{
  background:var(--brand-primary);
  border-color:var(--brand-primary);
}

.btn-primary:hover{
  background:var(--brand-secondary);
  border-color:var(--brand-secondary);
}

.store-announcement-bar{
  background:#111;
  color:#fff;
  font-size:.92rem;
  padding:.55rem 0;
}

.countdown-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  padding:.3rem .7rem;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:.78rem;
  font-weight:800;
}

.desktop-utility-bar{
  background:#fff;
  border-bottom:1px solid var(--ui-border);
  padding:.55rem 0;
}

.desktop-utility-bar a{
  color:#555;
}

.store-header{
  background:#fff;
  border-bottom:1px solid var(--ui-border);
  z-index:1040;
}

.mobile-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:.85rem 0;
}

.mobile-brand{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#111;
  min-width:0;
}

.mobile-brand img{
  width:34px;
  height:34px;
  object-fit:contain;
}

.mobile-brand span{
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.icon-btn{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f3f4f6;
  color:#111;
  border:0;
}

.mobile-header-icons{
  display:flex;
  align-items:center;
  gap:8px;
}

.desktop-header-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:1rem 0 .9rem;
}

.desktop-brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  color:#111;
}

.desktop-brand img{
  width:52px;
  height:52px;
  object-fit:contain;
}

.desktop-brand strong{
  display:block;
  font-size:1.12rem;
  font-weight:900;
}

.desktop-brand span{
  display:block;
  font-size:.8rem;
  color:var(--ui-muted);
}

.desktop-search{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  background:#f5f5f6;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:.45rem .55rem .45rem 1rem;
}

.desktop-search i{
  color:#555;
}

.desktop-search input{
  border:0 !important;
  background:transparent;
  padding:.4rem 0 !important;
  outline:none;
}

.desktop-search button{
  border:0;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:.6rem 1rem;
  font-weight:700;
}

.desktop-icons{
  display:flex;
  align-items:center;
  gap:18px;
}

.desktop-icons a{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  color:#111;
  font-size:.78rem;
  font-weight:700;
}

.desktop-icons i{
  font-size:1.2rem;
}

.desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  padding:.85rem 0 1rem;
  overflow:auto;
  white-space:nowrap;
}

.desktop-nav a{
  color:#111;
  font-size:.95rem;
  font-weight:800;
  padding:0 0 .55rem;
  position:relative;
}

.desktop-nav a:hover::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:2px;
  background:#111;
}

.mobile-search-form{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
}

.mobile-search-form input{
  border:0 !important;
  background:#f4f4f4;
}

.mobile-menu-links a{
  display:block;
  padding:1rem 1.25rem;
  color:#111;
  border-bottom:1px solid var(--ui-border);
  font-weight:700;
}

.main-content{
  min-height:60vh;
  padding-bottom:90px;
}

.section-shell{
  padding:1.2rem 0 0;
}

.section-muted{
  background:#fafafa;
}

.section-title-bar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
}

.section-title-bar.center{
  justify-content:center;
  text-align:center;
}

.section-title-bar h2,
.catalog-head h1{
  margin:0;
  font-size:clamp(1.35rem,2vw,2rem);
  font-weight:900;
}

.section-title-bar a,
.text-link-dark{
  color:#111;
  font-weight:800;
}

.section-kicker{
  display:inline-block;
  margin-bottom:.45rem;
  color:var(--ui-red);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.section-kicker.dark{
  color:#fff;
}

.mobile-home-tabs{
  display:flex;
  gap:20px;
  overflow:auto;
  white-space:nowrap;
  padding:.8rem .95rem .6rem;
  background:#fff;
  border-bottom:1px solid var(--ui-border);
}

.mobile-home-tabs a{
  color:#8a8a8a;
  font-size:1rem;
  font-weight:900;
  padding-bottom:.45rem;
  position:relative;
}

.mobile-home-tabs a.active{
  color:#111;
}

.mobile-home-tabs a.active::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:#111;
}

.shein-mobile-hero,
.desktop-fashion-hero{
  background:#fff;
}

.mobile-hero-card,
.desktop-hero-slide{
  position:relative;
}

.mobile-hero-media{
  position:relative;
  min-height:450px;
  overflow:hidden;
}

.mobile-hero-media img,
.desktop-hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.mobile-hero-overlay,
.desktop-hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
}

.mobile-hero-overlay{
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:1rem 1rem 1.2rem;
  background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.55));
  color:#fff;
}

.mobile-hero-overlay h1,
.desktop-hero-copy h1{
  font-size:clamp(1.8rem,4vw,3.4rem);
  font-weight:900;
  line-height:1.15;
  margin:.5rem 0;
}

.mobile-hero-overlay p,
.desktop-hero-copy p{
  max-width:550px;
  line-height:1.8;
  font-size:.95rem;
}

.hero-sale-copy,
.desktop-hero-sale{
  font-size:1.1rem;
  font-weight:700;
  margin:.65rem 0 1rem;
}

.hero-sale-copy strong,
.desktop-hero-sale strong{
  font-size:2.3rem;
  font-weight:900;
  color:#d5ff89;
}

.sale-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.42rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:.78rem;
  font-weight:900;
}

.mobile-hero-actions,
.desktop-hero-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.desktop-hero-slide{
  min-height:560px;
}

.desktop-hero-slide img{
  min-height:560px;
  max-height:560px;
}

.desktop-hero-overlay{
  justify-content:flex-start;
}

.desktop-hero-copy{
  max-width:540px;
  color:#fff;
}

.desktop-hero-fallback{
  min-height:560px;
  background:linear-gradient(135deg,#d4b59d,#c79f7c 45%,#b78358 100%);
}

.mobile-promo-grid,
.promo-strip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.mobile-promo-grid{
  padding:.85rem .85rem 0;
  background:#fff;
}

.mobile-promo-box,
.promo-strip-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  background:#fbf7ef;
  border:1px solid #eadfca;
  border-radius:16px;
  padding:1rem;
}

.mobile-promo-box strong,
.promo-strip-card strong{
  font-size:1rem;
  font-weight:900;
}

.mobile-promo-box span,
.promo-strip-card span{
  font-size:.82rem;
  color:#74553f;
  line-height:1.6;
}

.home-promo-strip{
  padding:1rem 0 0;
}

.promo-strip-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.mobile-circle-cats,
.shop-circle-grid{
  display:grid;
  gap:16px 12px;
}

.mobile-circle-cats{
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:1rem .85rem 0;
  background:#fff;
}

.shop-circle-grid{
  grid-template-columns:repeat(8,minmax(0,1fr));
  padding:.2rem 0 0;
}

.mobile-cat-item,
.shop-circle-grid a{
  text-align:center;
  color:#111;
}

.mobile-cat-thumb,
.shop-circle-grid span{
  width:66px;
  height:66px;
  border-radius:50%;
  margin:0 auto .55rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#f0f3f7,#e6eaf0);
  color:#26384b;
  font-size:1.35rem;
}

.mobile-cat-item span:last-child,
.shop-circle-grid small{
  display:block;
  font-size:.8rem;
  font-weight:700;
  line-height:1.35;
  min-height:32px;
}

.product-grid{
  display:grid;
  gap:18px;
}

.home-grid,
.listing-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.product-card-modern{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(0,0,0,.04);
  transition:.25s ease;
}

.product-card-modern:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(0,0,0,.08);
}

.product-media-wrap{
  position:relative;
  background:#f3f4f6;
}

.product-img-modern,
.product-placeholder-modern{
  width:100%;
  height:260px;
}

.product-img-modern{
  object-fit:contain;
  padding:16px;
}

.product-placeholder-modern{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#111;
}

.product-badges{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}

.badge-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.35rem .75rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  background:#111;
  color:#fff;
}

.badge-chip.success{background:#198754;}
.badge-chip.warning{background:#f6b500;color:#111;}
.badge-chip.muted{background:#efefef;color:#666;}
.badge-chip.dark{background:#111;color:#fff;}

.product-body{
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

.product-category{
  color:var(--ui-muted);
  font-size:.78rem;
  font-weight:800;
}

.product-title{
  margin:0;
  font-size:1rem;
  font-weight:900;
  line-height:1.55;
  min-height:48px;
}

.product-title a{
  color:#111;
}

.product-desc{
  margin:0;
  color:#666;
  font-size:.82rem;
  line-height:1.75;
  min-height:58px;
}

.product-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.product-meta-line span{
  background:#f5f5f6;
  border:1px solid var(--ui-border);
  color:#555;
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.72rem;
  font-weight:700;
}

.product-price-box{
  min-height:40px;
}

.price-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.price-row strong,
.detail-price-current{
  font-size:1.35rem;
  font-weight:900;
  color:#111;
}

.price-row span,
.detail-price-old{
  color:#999;
  text-decoration:line-through;
  font-size:.9rem;
}

.price-request{
  display:inline-flex;
  padding:.5rem .85rem;
  border-radius:12px;
  background:#fff2cf;
  color:#8a5d00;
  font-size:.85rem;
  font-weight:800;
}

.product-stock-line{
  font-size:.82rem;
  font-weight:800;
}

.in-stock{color:#198754;}
.out-stock{color:#dc3545;}

.product-actions-stack{
  display:grid;
  gap:.65rem;
  margin-top:auto;
}

.product-link-more{
  color:#111;
  text-align:center;
  font-size:.84rem;
  font-weight:800;
}

.empty-state-box{
  grid-column:1 / -1;
  background:#fff;
  border:1px dashed var(--ui-border);
  border-radius:24px;
  padding:1.25rem;
  text-align:center;
  color:#666;
}

.promo-banner-wide{
  background:linear-gradient(135deg,#111 0%,#232323 100%);
  color:#fff;
  border-radius:28px;
  padding:1.6rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.promo-banner-wide p{
  margin:0;
  color:rgba(255,255,255,.7);
  line-height:1.8;
}

.content-card-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:18px;
}

.showcase-card,
.testimonial-box{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(0,0,0,.04);
}

.showcase-card img,
.showcase-placeholder{
  width:100%;
  height:220px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef1f5;
  font-size:2rem;
  color:#111;
}

.showcase-body{
  padding:1rem;
}

.showcase-body h5,
.testimonial-box strong{
  font-weight:900;
}

.showcase-body p,
.testimonial-box p{
  color:#666;
  line-height:1.8;
}

.showcase-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

.testimonial-box{
  padding:1.2rem;
}

.rating-stars{
  color:#f6b500;
  letter-spacing:.08em;
  margin-bottom:.7rem;
}

.testimonial-box span{
  display:block;
  color:#777;
  font-size:.84rem;
}

.faq-shell{
  padding-bottom:1.4rem;
}

.faq-accordion .accordion-item{
  border:0;
  border-radius:20px;
  overflow:hidden;
  margin-bottom:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.faq-accordion .accordion-button{
  font-weight:800;
  background:#fff;
  box-shadow:none !important;
}

.faq-accordion .accordion-button:not(.collapsed){
  background:#fff;
  color:#111;
}

.catalog-shell,
.product-detail-shell{
  padding:1.15rem 0 0;
}

.catalog-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.catalog-head p{
  margin:.5rem 0 0;
  color:#666;
  line-height:1.9;
}

.catalog-search-bar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.75rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:999px;
  padding:.5rem .6rem .5rem 1rem;
  margin-bottom:1rem;
}

.catalog-search-bar .errorlist{display:none;}
.catalog-search-bar input{
  border:0 !important;
  padding:.5rem 0 !important;
  background:transparent;
}
.catalog-search-bar button{
  border:0;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:.7rem 1.05rem;
  font-weight:800;
}

.catalog-chip-row{
  display:flex;
  gap:10px;
  overflow:auto;
  white-space:nowrap;
  padding-bottom:.45rem;
  margin-bottom:1rem;
}

.catalog-chip-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--ui-border);
  color:#222;
  border-radius:999px;
  padding:.65rem 1rem;
  font-size:.86rem;
  font-weight:800;
}

.catalog-chip-row a.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.listing-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}

.listing-sidebar{
  width:100%;
}

.sidebar-box{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:24px;
  padding:1.15rem;
  margin-bottom:16px;
}

.sidebar-box h5{
  font-weight:900;
  margin-bottom:.75rem;
}

.sidebar-box a{
  display:block;
  padding:.6rem 0;
  color:#444;
  border-bottom:1px solid #f1f1f2;
  font-weight:700;
}

.sidebar-box a:last-child{
  border-bottom:0;
}

.listing-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:1rem;
  color:#555;
  font-size:.9rem;
  font-weight:700;
}

.breadcrumb-mini{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#666;
  margin-bottom:1rem;
  font-size:.88rem;
}

.breadcrumb-mini a,
.breadcrumb-mini strong{
  color:#111;
  font-weight:800;
}

.detail-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.detail-main-card{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:28px;
  overflow:hidden;
}

.detail-main-image,
.detail-image-placeholder{
  width:100%;
  height:440px;
  object-fit:contain;
  background:#f4f5f7;
}

.detail-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  font-weight:900;
}

.detail-thumbs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.detail-thumb{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:18px;
  overflow:hidden;
}

.detail-thumb img{
  width:100%;
  height:110px;
  object-fit:cover;
}

.detail-summary{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:28px;
  padding:1.3rem;
}

.detail-summary h1{
  font-size:clamp(1.5rem,2.2vw,2.3rem);
  font-weight:900;
  line-height:1.35;
  margin:.5rem 0;
}

.detail-subtitle{
  color:#666;
  line-height:1.9;
}

.detail-rating-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#555;
  font-size:.92rem;
  margin-bottom:1rem;
}

.detail-price-box{
  padding:1rem 0;
  border-top:1px solid #f1f1f2;
  border-bottom:1px solid #f1f1f2;
  margin-bottom:1rem;
}

.detail-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:1rem;
}

.detail-meta-grid div{
  background:#f7f7f8;
  border:1px solid var(--ui-border);
  border-radius:18px;
  padding:.85rem .95rem;
}

.detail-meta-grid strong{
  display:block;
  font-size:.82rem;
  color:#666;
  margin-bottom:.22rem;
}

.detail-meta-grid span{
  font-weight:800;
  color:#111;
}

.detail-action-box{
  display:grid;
  gap:12px;
  margin-bottom:1rem;
}

.detail-buy-form{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:12px;
}

.detail-secondary-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.detail-benefits-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.detail-benefits-row div{
  background:#f7f7f8;
  border:1px solid var(--ui-border);
  border-radius:18px;
  padding:.9rem;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#333;
}

.detail-description-shell,
.related-shell{
  margin-top:1.5rem;
}

.detail-description-content{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:24px;
  padding:1.2rem;
  line-height:2;
  color:#444;
}

.store-footer{
  background:#111;
  color:#fff;
  padding:2rem 0 1.1rem;
  margin-top:2rem;
}

.store-footer h6{
  font-weight:900;
  margin-bottom:1rem;
}

.store-footer a{
  display:block;
  color:rgba(255,255,255,.72);
  margin-bottom:.65rem;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:1rem;
}

.footer-brand img{
  width:50px;
  height:50px;
  object-fit:contain;
  background:#fff;
  border-radius:12px;
  padding:6px;
}

.footer-brand strong{
  display:block;
  font-weight:900;
}

.footer-brand span,
.footer-copy{
  color:rgba(255,255,255,.66);
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:1.2rem;
  padding-top:1rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  color:rgba(255,255,255,.58);
  font-size:.86rem;
}

.popup-modern{border-radius:24px;}

.floating-whatsapp{
  position:fixed;
  left:18px;
  bottom:90px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25d366;
  color:#fff;
  z-index:1080;
  font-size:1.5rem;
  box-shadow:0 15px 30px rgba(37,211,102,.35);
}

.chat-box{
  position:fixed;
  right:18px;
  bottom:24px;
  width:320px;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  z-index:1070;
}

.chat-header{
  background:#111;
  color:#fff;
  padding:.9rem 1rem;
  font-weight:900;
}

.chat-body{
  padding:1rem;
  max-height:440px;
  overflow-y:auto;
}

.chat-message{
  padding:.75rem .9rem;
  border-radius:16px;
  margin-bottom:.7rem;
}

.chat-message.visitor{background:#f3f4f6;}
.chat-message.staff{background:#fff5d9;}

.mobile-bottom-nav{
  position:fixed;
  right:0;
  left:0;
  bottom:0;
  background:#fff;
  border-top:1px solid var(--ui-border);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  z-index:1090;
  box-shadow:0 -8px 25px rgba(0,0,0,.08);
}

.mobile-bottom-nav a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#666;
  font-size:.75rem;
  font-weight:800;
  padding:.65rem .2rem;
}

.mobile-bottom-nav a i{
  font-size:1.15rem;
  color:#111;
}

.mobile-bottom-nav a.active,
.mobile-bottom-nav a.active i{
  color:#111;
}

@media (max-width:575.98px){
  .mobile-circle-cats{grid-template-columns:repeat(4,minmax(0,1fr));}
  .mobile-cat-thumb{width:58px;height:58px;font-size:1.2rem;}
  .mobile-promo-grid{grid-template-columns:1fr;}
  .hero-sale-copy strong{font-size:1.9rem;}
}

@media (min-width:768px){
  .content-card-grid.three-col{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-grid,
  .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:992px){
  .main-content{padding-bottom:0;}
  .section-shell{padding:1.7rem 0 0;}
  .content-card-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr));}
  .listing-layout{grid-template-columns:280px 1fr;}
  .detail-layout{grid-template-columns:1.05fr .95fr;}
  .home-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:1200px){
  .listing-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.product-detail-page{
  background:#f7f9fc;
}

.detail-gallery-card{
  position:relative;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);
  border-radius:28px;
  padding:20px;
  min-height:100%;
  box-shadow:0 16px 40px rgba(16,33,58,.07);
  border:1px solid rgba(15,61,145,.08);
}

.detail-image-badges{
  position:absolute;
  top:18px;
  right:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  z-index:2;
}

.detail-main-image{
  width:100%;
  height:520px;
  object-fit:contain;
  display:block;
}

.detail-no-image{
  height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:#edf3ff;
  color:#0f3d91;
  font-size:2rem;
  font-weight:900;
}

.detail-info-wrap{
  background:#fff;
  border-radius:28px;
  padding:28px;
  box-shadow:0 16px 40px rgba(16,33,58,.06);
  border:1px solid rgba(15,61,145,.08);
}

.detail-category{
  color:#0f3d91;
  font-weight:800;
  font-size:.9rem;
}

.detail-title{
  font-size:clamp(1.7rem,3vw,2.6rem);
  font-weight:900;
  line-height:1.35;
  margin-bottom:12px;
}

.detail-short-desc{
  color:#6b7890;
  font-size:1rem;
  line-height:1.9;
  margin-bottom:0;
}

.detail-current-price{
  font-size:2rem;
  font-weight:900;
  color:#0f3d91;
  line-height:1;
}

.detail-old-price{
  font-size:1.05rem;
  color:#8c98ab;
  text-decoration:line-through;
}

.detail-price-request{
  display:inline-block;
  background:rgba(245,180,0,.12);
  color:#a46f00;
  font-weight:800;
  padding:.75rem 1rem;
  border-radius:16px;
}

.detail-status-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.detail-status-item{
  background:#f7faff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:18px;
  padding:14px 16px;
}

.detail-status-item .label{
  display:block;
  font-size:.8rem;
  color:#7d8aa2;
  margin-bottom:4px;
}

.detail-status-item strong{
  font-size:.95rem;
  color:#20314a;
}

.detail-buy-box{
  background:#f9fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:22px;
  padding:18px;
}

.detail-mini-notes{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  color:#55657d;
  font-size:.88rem;
  font-weight:700;
}

.detail-mini-notes i{
  color:#0f3d91;
  margin-left:6px;
}

.detail-service-box{
  display:grid;
  gap:12px;
}

.service-box-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:#fff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:18px;
  padding:14px 15px;
}

.service-box-item i{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#eef4ff;
  color:#0f3d91;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}

.service-box-item strong{
  display:block;
  margin-bottom:3px;
}

.service-box-item span{
  color:#6b7890;
  font-size:.9rem;
}

.detail-content-card,
.detail-side-card{
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 16px 40px rgba(16,33,58,.05);
  border:1px solid rgba(15,61,145,.08);
  height:100%;
}

.detail-tabs .nav-link{
  border-radius:999px;
  font-weight:800;
  color:#24405e;
  padding:.7rem 1.1rem;
}

.detail-tabs .nav-link.active{
  background:#0f3d91;
  color:#fff;
}

.detail-rich-text{
  color:#45556d;
  line-height:2;
  font-size:.98rem;
}

.detail-side-list li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(15,61,145,.08);
}

.detail-side-list li:last-child{
  border-bottom:0;
}

.detail-side-list span{
  color:#73819a;
}

.detail-side-list strong{
  text-align:left;
  color:#20314a;
  font-size:.92rem;
}

.related-products-section{
  border-top:1px solid rgba(15,61,145,.08);
  margin-top:28px;
}

@media (max-width: 991.98px){
  .detail-main-image,
  .detail-no-image{
    height:360px;
  }

  .detail-info-wrap,
  .detail-content-card,
  .detail-side-card{
    padding:20px;
    border-radius:22px;
  }

  .detail-status-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 575.98px){
  .product-detail-page{
    padding-top:1rem !important;
  }

  .detail-gallery-card{
    padding:12px;
    border-radius:20px;
  }

  .detail-main-image,
  .detail-no-image{
    height:280px;
  }

  .detail-info-wrap{
    padding:16px;
    border-radius:20px;
  }

  .detail-title{
    font-size:1.35rem;
  }

  .detail-current-price{
    font-size:1.5rem;
  }

  .detail-status-grid{
    grid-template-columns:1fr;
  }

  .detail-content-card,
  .detail-side-card{
    padding:16px;
    border-radius:20px;
  }

  .detail-tabs{
    gap:8px;
  }

  .detail-tabs .nav-link{
    font-size:.88rem;
    padding:.55rem .9rem;
  }

  .detail-mini-notes{
    flex-direction:column;
    gap:8px;
  }
}
.catalog-page{
  background:#f7f9fc;
}

.catalog-topbar{
  background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%);
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 16px 40px rgba(16,33,58,.05);
  border-radius:28px;
  padding:24px;
}

.catalog-page-title{
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:900;
}

.catalog-page-subtitle{
  color:#6b7890;
  line-height:1.9;
}

.catalog-search-box .input-group{
  background:#fff;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 10px 28px rgba(16,33,58,.04);
}

.catalog-search-box .form-control,
.catalog-search-box .input-group-text{
  background:#fff;
}

.catalog-sidebar{
  position:sticky;
  top:110px;
}

.catalog-filter-card{
  background:#fff;
  border-radius:24px;
  padding:20px;
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 14px 35px rgba(16,33,58,.05);
}

.filter-title{
  font-size:1rem;
  font-weight:900;
  margin-bottom:1rem;
}

.filter-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.filter-links a{
  text-decoration:none;
  color:#30425d;
  font-weight:700;
  background:#f7faff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:16px;
  padding:.75rem .9rem;
  transition:.2s ease;
}

.filter-links a:hover,
.filter-links a.active{
  background:#0f3d91;
  color:#fff;
  border-color:#0f3d91;
}

.filter-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.filter-tags span{
  display:inline-flex;
  align-items:center;
  background:#f4f7fc;
  border:1px solid rgba(15,61,145,.08);
  color:#43556f;
  border-radius:999px;
  padding:.5rem .8rem;
  font-size:.82rem;
  font-weight:700;
}

.sidebar-service-list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:.45rem 0;
  color:#42536c;
  font-weight:700;
}

.sidebar-service-list i{
  color:#0f3d91;
}

.catalog-toolbar{
  background:#fff;
  border-radius:22px;
  padding:16px 18px;
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 10px 28px rgba(16,33,58,.04);
}

.catalog-results-count{
  color:#51627c;
  font-weight:700;
}

.catalog-results-count strong{
  color:#0f3d91;
}

.catalog-sort-form .form-select{
  min-width:180px;
  border:1px solid rgba(15,61,145,.12);
  padding-right:1rem;
  padding-left:2rem;
}

.catalog-promo-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.promo-strip-item{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:18px;
  padding:14px 16px;
  color:#31435e;
  font-weight:700;
  box-shadow:0 10px 24px rgba(16,33,58,.04);
}

.promo-strip-item i{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#eef4ff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0f3d91;
  font-size:1rem;
  flex-shrink:0;
}

.catalog-pagination .page-link{
  border:none;
  padding:.7rem 1rem;
  color:#0f3d91;
  font-weight:800;
  box-shadow:0 8px 20px rgba(16,33,58,.05);
}

.catalog-pagination .page-item.active .page-link{
  background:#0f3d91;
  color:#fff;
}

@media (max-width: 1199.98px){
  .catalog-topbar{
    border-radius:22px;
    padding:18px;
  }

  .catalog-promo-strip{
    grid-template-columns:1fr;
  }
}

@media (max-width: 991.98px){
  .catalog-topbar{
    padding:16px;
  }

  .catalog-page-title{
    font-size:1.5rem;
  }

  .catalog-page-subtitle{
    font-size:.92rem;
  }

  .catalog-toolbar{
    padding:14px;
  }

  .catalog-sort-form{
    width:100%;
  }

  .catalog-sort-form .form-select{
    width:100%;
  }
}

@media (max-width: 575.98px){
  .catalog-page{
    padding-top:1rem !important;
  }

  .catalog-topbar{
    padding:14px;
    border-radius:18px;
  }

  .catalog-page-title{
    font-size:1.3rem;
  }

  .catalog-page-subtitle{
    font-size:.88rem;
    line-height:1.75;
  }

  .catalog-toolbar{
    border-radius:16px;
    padding:12px;
  }

  .promo-strip-item{
    border-radius:14px;
    padding:12px;
    font-size:.84rem;
  }

  .promo-strip-item i{
    width:34px;
    height:34px;
  }
}
.cart-page,
.checkout-page{
  background:#f7f9fc;
}

.cart-list-card,
.cart-summary-card,
.checkout-form-card,
.checkout-summary-card{
  background:#fff;
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 16px 40px rgba(16,33,58,.05);
}

.cart-list-head{
  display:grid;
  grid-template-columns:5fr 2fr 3fr 2fr;
  gap:12px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(15,61,145,.08);
  color:#708099;
  font-weight:800;
  font-size:.88rem;
}

.cart-item-row{
  padding:18px 0;
  border-bottom:1px solid rgba(15,61,145,.08);
}

.cart-item-row:last-child{
  border-bottom:0;
}

.cart-product-box{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.cart-thumb{
  width:92px;
  height:92px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}

.cart-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
}

.cart-thumb span{
  font-weight:900;
  color:#0f3d91;
}

.cart-product-category{
  color:#0f3d91;
  font-weight:800;
}

.cart-product-title{
  font-size:1rem;
  font-weight:900;
  line-height:1.6;
}

.cart-product-desc{
  color:#6b7890;
  font-size:.86rem;
  line-height:1.7;
}

.cart-price{
  font-weight:800;
  color:#23344d;
}

.cart-total-price{
  font-size:1rem;
  font-weight:900;
  color:#0f3d91;
}

.cart-remove-link{
  color:#dc3545;
  text-decoration:none;
  font-size:.88rem;
  font-weight:700;
  margin-top:6px;
}

.cart-remove-link:hover{
  color:#b02a37;
}

.cart-qty-form{
  display:flex;
  align-items:center;
  gap:8px;
}

.cart-qty-form input{
  border-radius:999px;
  min-width:90px;
  border:1px solid rgba(15,61,145,.12);
}

.cart-mobile-label{
  color:#7b8aa0;
  font-size:.75rem;
  font-weight:800;
  margin-bottom:6px;
}

.summary-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:.75rem 0;
  border-bottom:1px solid rgba(15,61,145,.08);
}

.summary-line:last-child{
  border-bottom:0;
}

.summary-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#f7faff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:16px;
  padding:12px 14px;
  color:#5f7088;
  font-size:.9rem;
  line-height:1.7;
  margin-top:14px;
}

.summary-note i{
  color:#0f3d91;
  margin-top:3px;
}

.summary-cta{
  margin-top:20px;
}

.checkout-card-head{
  margin-bottom:18px;
}

.checkout-label{
  font-weight:800;
  color:#22344c;
  margin-bottom:.55rem;
}

.checkout-form-card input,
.checkout-form-card select,
.checkout-form-card textarea{
  width:100%;
  border:1px solid rgba(15,61,145,.12);
  border-radius:16px;
  padding:.9rem 1rem;
  box-shadow:none !important;
}

.checkout-form-card textarea{
  min-height:120px;
}

.checkout-items-mini{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.checkout-mini-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
}

.checkout-mini-name{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.checkout-mini-name strong{
  font-size:.92rem;
  color:#21334c;
}

.checkout-mini-name span{
  font-size:.8rem;
  color:#708099;
}

.checkout-mini-price{
  font-weight:800;
  color:#0f3d91;
  white-space:nowrap;
}

.checkout-summary-lines{
  margin-top:8px;
}

.checkout-total-box{
  margin-top:16px;
  background:linear-gradient(135deg,#0f3d91 0%,#123f91 100%);
  color:#fff;
  border-radius:20px;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.checkout-total-box strong{
  font-size:1.25rem;
  font-weight:900;
}

.checkout-trust-box{
  margin-top:16px;
  display:grid;
  gap:10px;
}

.trust-line{
  display:flex;
  align-items:center;
  gap:10px;
  color:#4e607a;
  font-weight:700;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:14px;
  padding:12px 14px;
}

.trust-line i{
  color:#0f3d91;
}

@media (max-width: 991.98px){
  .cart-list-card,
  .cart-summary-card,
  .checkout-form-card,
  .checkout-summary-card{
    border-radius:20px;
    padding:18px;
  }
}

@media (max-width: 575.98px){
  .cart-page,
  .checkout-page{
    padding-top:1rem !important;
  }

  .cart-list-card,
  .cart-summary-card,
  .checkout-form-card,
  .checkout-summary-card{
    border-radius:18px;
    padding:14px;
  }

  .cart-thumb{
    width:78px;
    height:78px;
    border-radius:14px;
  }

  .cart-product-title{
    font-size:.94rem;
  }

  .cart-product-desc{
    font-size:.8rem;
  }

  .cart-qty-form{
    flex-wrap:wrap;
  }

  .cart-qty-form input{
    min-width:100%;
  }

  .checkout-total-box{
    flex-direction:column;
    align-items:flex-start;
  }
}
.order-success-page,
.quote-page,
.dashboard-page{
  background:#f7f9fc;
}

.success-card,
.quote-form-card,
.quote-side-card,
.account-side-menu,
.dashboard-card,
.dash-stat-card{
  background:#fff;
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(15,61,145,.08);
  box-shadow:0 16px 40px rgba(16,33,58,.05);
}

.success-card{
  max-width:760px;
  margin:0 auto;
}

.success-icon{
  font-size:4rem;
  color:#198754;
  line-height:1;
}

.success-order-box{
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:20px;
  padding:16px 18px;
  margin:0 auto;
  max-width:520px;
}

.success-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:.75rem 0;
  border-bottom:1px solid rgba(15,61,145,.08);
}

.success-line:last-child{
  border-bottom:0;
}

.success-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

.quote-side-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(15,61,145,.08);
}

.quote-side-item:last-child{
  border-bottom:0;
}

.quote-side-item i{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#eef4ff;
  color:#0f3d91;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}

.quote-side-item strong{
  display:block;
  margin-bottom:3px;
}

.quote-side-item span{
  color:#6b7890;
  font-size:.9rem;
  line-height:1.7;
}

.account-user-box{
  display:flex;
  align-items:center;
  gap:12px;
}

.account-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,#0f3d91,#1548a3);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.2rem;
}

.account-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.account-links a{
  text-decoration:none;
  color:#2f425d;
  font-weight:700;
  background:#f7faff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:16px;
  padding:.85rem 1rem;
}

.account-links a.active,
.account-links a:hover{
  background:#0f3d91;
  color:#fff;
  border-color:#0f3d91;
}

.account-links i{
  margin-left:8px;
}

.dash-stat-card{
  text-align:center;
}

.dash-stat-card span{
  display:block;
  color:#6b7890;
  font-weight:700;
  margin-bottom:6px;
}

.dash-stat-card strong{
  font-size:1.8rem;
  font-weight:900;
  color:#0f3d91;
}

.dashboard-table thead th{
  color:#708099;
  font-size:.85rem;
  font-weight:800;
}

.dashboard-table tbody td{
  font-weight:700;
  color:#2a3c56;
}

.dashboard-mini-list{
  display:grid;
  gap:10px;
}

.mini-list-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:16px;
}

.mini-list-item strong{
  color:#22344c;
}

.mini-list-item span{
  color:#0f3d91;
  font-weight:800;
  white-space:nowrap;
}

.quick-links-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.quick-links-grid a{
  text-decoration:none;
  text-align:center;
  padding:14px 12px;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  color:#20314a;
  font-weight:800;
}

.quick-links-grid a:hover{
  background:#0f3d91;
  color:#fff;
  border-color:#0f3d91;
}

@media (max-width: 991.98px){
  .success-card,
  .quote-form-card,
  .quote-side-card,
  .account-side-menu,
  .dashboard-card,
  .dash-stat-card{
    border-radius:20px;
    padding:18px;
  }
}

@media (max-width: 575.98px){
  .success-card,
  .quote-form-card,
  .quote-side-card,
  .account-side-menu,
  .dashboard-card,
  .dash-stat-card{
    border-radius:18px;
    padding:14px;
  }

  .success-actions{
    flex-direction:column;
  }

  .success-actions .btn{
    width:100%;
  }

  .quick-links-grid{
    grid-template-columns:1fr;
  }
}
.auth-page{
  background:
    radial-gradient(circle at top left, rgba(245,180,0,.12), transparent 28%),
    linear-gradient(180deg,#f7f9fc 0%,#f2f6fd 100%);
  min-height:70vh;
}

.auth-wrap{
  background:#fff;
  border-radius:30px;
  box-shadow:0 24px 60px rgba(16,33,58,.08);
  border:1px solid rgba(15,61,145,.08);
}

.auth-side-panel{
  height:100%;
  min-height:100%;
  padding:42px 34px;
  background:linear-gradient(135deg,#0f3d91 0%,#1548a3 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.auth-side-panel-register{
  background:linear-gradient(135deg,#0d3277 0%,#1a4fb1 100%);
}

.auth-side-panel-reset{
  background:linear-gradient(135deg,#123a88 0%,#2459bb 100%);
}

.auth-side-title{
  font-size:clamp(1.9rem,3vw,2.6rem);
  font-weight:900;
  line-height:1.35;
  margin:16px 0 14px;
}

.auth-side-text{
  color:rgba(255,255,255,.82);
  line-height:1.95;
  margin-bottom:1.5rem;
}

.auth-side-points{
  display:grid;
  gap:12px;
}

.auth-side-points span{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:#fff;
}

.auth-side-points i{
  color:#f5b400;
}

.auth-form-panel{
  padding:38px 34px;
}

.auth-label{
  font-weight:800;
  color:#22344c;
  margin-bottom:.55rem;
}

.auth-form input,
.auth-form select,
.auth-form textarea{
  width:100%;
  border:1px solid rgba(15,61,145,.12);
  border-radius:16px;
  padding:.95rem 1rem;
  box-shadow:none !important;
  background:#fff;
}

.auth-form input:focus,
.auth-form select:focus,
.auth-form textarea:focus{
  border-color:#0f3d91;
}

.auth-link{
  color:#0f3d91;
  text-decoration:none;
}

.auth-link:hover{
  color:#0c3277;
}

.auth-divider{
  position:relative;
  text-align:center;
  margin:24px 0 18px;
}

.auth-divider::before{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  left:0;
  height:1px;
  background:rgba(15,61,145,.10);
}

.auth-divider span{
  position:relative;
  display:inline-block;
  background:#fff;
  padding:0 12px;
  color:#7b8aa0;
  font-weight:700;
}

.auth-bottom{
  font-size:.98rem;
}

@media (max-width: 991.98px){
  .auth-wrap{
    border-radius:22px;
  }

  .auth-form-panel{
    padding:24px 18px;
  }
}

@media (max-width: 575.98px){
  .auth-page{
    padding-top:1rem !important;
  }

  .auth-wrap{
    border-radius:18px;
  }

  .auth-form-panel{
    padding:18px 14px;
  }
}
.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.45rem .8rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  background:#eef4ff;
  color:#0f3d91;
  border:1px solid rgba(15,61,145,.10);
}

.priority-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.45rem .8rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  background:#fff4db;
  color:#9a6a00;
  border:1px solid rgba(245,180,0,.18);
}

.support-ticket-list{
  display:grid;
  gap:16px;
}

.support-ticket-item{
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:20px;
  padding:18px;
}

.support-ticket-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:10px;
}

.support-ticket-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.support-ticket-excerpt{
  color:#66758c;
  line-height:1.85;
}

@media (max-width: 575.98px){
  .support-ticket-item{
    border-radius:16px;
    padding:14px;
  }

  .support-ticket-main{
    flex-direction:column;
    align-items:flex-start;
  }
}
.detail-header-box{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}

.attachment-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.attachment-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#20314a;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:999px;
  padding:.65rem 1rem;
  font-weight:700;
}

.attachment-chip:hover{
  background:#0f3d91;
  color:#fff;
  border-color:#0f3d91;
}

.reply-thread{
  display:grid;
  gap:14px;
}

.reply-bubble{
  border-radius:20px;
  padding:16px 18px;
  border:1px solid rgba(15,61,145,.08);
}

.reply-bubble.staff{
  background:#f8fbff;
}

.reply-bubble.customer{
  background:#fffdf7;
  border-color:rgba(245,180,0,.18);
}

.reply-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.reply-head strong{
  color:#20314a;
}

.reply-head span{
  color:#7a889e;
  font-size:.85rem;
}

.reply-body{
  color:#4d5f79;
  line-height:1.9;
}

.order-detail-items{
  display:grid;
  gap:14px;
}

.order-detail-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
}

.order-detail-main{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.order-detail-thumb{
  width:84px;
  height:84px;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}

.order-detail-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}

.order-detail-thumb span{
  font-weight:900;
  color:#0f3d91;
}

.order-detail-info h5{
  margin:0 0 4px;
  font-size:1rem;
  font-weight:900;
  line-height:1.5;
}

.order-detail-total{
  font-size:1rem;
  font-weight:900;
  color:#0f3d91;
  white-space:nowrap;
}

.profile-side-stats{
  display:grid;
  gap:10px;
}

@media (max-width: 575.98px){
  .reply-bubble{
    border-radius:16px;
    padding:14px;
  }

  .order-detail-item{
    flex-direction:column;
    align-items:flex-start;
    border-radius:16px;
    padding:12px;
  }

  .order-detail-thumb{
    width:72px;
    height:72px;
    border-radius:14px;
  }
}
.address-lines{
  display:grid;
  gap:8px;
  color:#53647d;
  line-height:1.8;
  font-size:.92rem;
}

.conversation-list{
  display:grid;
  gap:12px;
}

.conversation-item{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
  border-radius:18px;
  padding:12px;
  color:#20314a;
  transition:.2s ease;
}

.conversation-item:hover,
.conversation-item.active{
  background:#0f3d91;
  color:#fff;
  border-color:#0f3d91;
}

.conversation-item.active span,
.conversation-item:hover span{
  color:rgba(255,255,255,.8);
}

.conversation-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,#0f3d91,#1548a3);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  flex-shrink:0;
}

.conversation-content{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.conversation-content strong{
  font-size:.95rem;
}

.conversation-content span{
  font-size:.82rem;
  color:#6f8098;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.conversation-count{
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#f5b400;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  font-weight:900;
  margin-right:auto;
}

.chat-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(15,61,145,.08);
  margin-bottom:16px;
}

.chat-thread{
  display:grid;
  gap:14px;
  max-height:520px;
  overflow:auto;
  padding-left:4px;
}

.chat-msg{
  display:flex;
}

.chat-msg.customer{
  justify-content:flex-start;
}

.chat-msg.staff{
  justify-content:flex-end;
}

.chat-msg-bubble{
  max-width:min(78%, 560px);
  border-radius:20px;
  padding:14px 16px;
  box-shadow:0 8px 18px rgba(16,33,58,.04);
}

.chat-msg.customer .chat-msg-bubble{
  background:#f8fbff;
  border:1px solid rgba(15,61,145,.08);
}

.chat-msg.staff .chat-msg-bubble{
  background:#0f3d91;
  color:#fff;
}

.chat-msg-text{
  line-height:1.9;
  font-size:.94rem;
}

.chat-msg-time{
  font-size:.76rem;
  opacity:.7;
  margin-top:8px;
}

.chat-form textarea,
.chat-form input{
  width:100%;
  border:1px solid rgba(15,61,145,.12);
  border-radius:18px;
  padding:1rem;
  min-height:58px;
  box-shadow:none !important;
}

@media (max-width: 575.98px){
  .conversation-item{
    border-radius:14px;
    padding:10px;
  }

  .conversation-avatar{
    width:42px;
    height:42px;
  }

  .chat-msg-bubble{
    max-width:90%;
    border-radius:16px;
    padding:12px 14px;
  }

  .chat-thread{
    max-height:420px;
  }
}
.product-card-compact{
  background:#fff;
  transition:.25s ease;
  box-shadow:0 8px 20px rgba(16,33,58,.06);
}

.product-card-compact:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(16,33,58,.10);
}

.product-media-compact{
  position:relative;
  background:#f5f7fb;
  border-bottom:1px solid rgba(15,61,145,.06);
}

.product-img-compact{
  height:180px;
  object-fit:contain;
  padding:12px;
  display:block;
}

.product-placeholder-compact{
  height:180px;
  background:#eef3fb;
  color:#0f3d91;
  font-weight:800;
  font-size:1rem;
}

.product-badge-top{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
}

.product-cat-compact{
  font-size:.78rem;
  color:#7a889f;
  font-weight:700;
}

.product-title-compact{
  font-size:.98rem;
  line-height:1.45;
  font-weight:800;
  min-height:46px;
  margin:0;
}

.product-meta-compact{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:.78rem;
  color:#6b7890;
  font-weight:700;
}

.product-meta-compact .in-stock{
  color:#198754;
}

.product-meta-compact .out-stock{
  color:#dc3545;
}

.current-price-compact{
  font-size:1.25rem;
  font-weight:900;
  color:#111;
  line-height:1;
}

.old-price-compact{
  font-size:.82rem;
  color:#9aa4b2;
  text-decoration:line-through;
}

.price-request-compact{
  display:inline-block;
  font-size:.85rem;
  font-weight:800;
  color:#9a6a00;
  background:#fff4db;
  border-radius:999px;
  padding:.45rem .75rem;
}

.product-details-link{
  font-size:.92rem;
  font-weight:800;
  color:#111;
  text-decoration:none;
}

.product-details-link:hover{
  color:#0f3d91;
}

@media (max-width: 575.98px){
  .product-img-compact,
  .product-placeholder-compact{
    height:130px;
    padding:10px;
  }

  .product-card-compact .card-body{
    padding:12px !important;
  }

  .product-title-compact{
    font-size:.88rem;
    min-height:40px;
  }

  .product-meta-compact{
    font-size:.72rem;
    gap:6px;
  }

  .current-price-compact{
    font-size:1.05rem;
  }

  .old-price-compact{
    font-size:.75rem;
  }

  .product-details-link{
    font-size:.82rem;
  }
}
.catalog-page-shein{
  background:#f5f6f8;
}

.catalog-head-shein{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:22px;
  padding:14px 16px;
  box-shadow:0 8px 20px rgba(16,33,58,.04);
}

.catalog-title-shein{
  font-size:1.5rem;
  font-weight:900;
  color:#111;
}

.catalog-sub-shein{
  color:#7a7a7a;
  font-size:.9rem;
  font-weight:700;
}

.catalog-search-shein{
  min-width:260px;
}

.catalog-search-shein .input-group{
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.06);
  border-radius:999px;
  overflow:hidden;
}

.catalog-search-shein .input-group-text,
.catalog-search-shein .form-control{
  background:#f7f7f7;
  border:0;
  box-shadow:none !important;
}

.catalog-tabs-shein{
  display:flex;
  gap:18px;
  overflow-x:auto;
  white-space:nowrap;
  padding:0 4px 6px;
  scrollbar-width:none;
}

.catalog-tabs-shein::-webkit-scrollbar{
  display:none;
}

.catalog-tabs-shein a{
  text-decoration:none;
  color:#7a7a7a;
  font-size:.96rem;
  font-weight:800;
  padding:6px 0 10px;
  position:relative;
}

.catalog-tabs-shein a.active{
  color:#111;
}

.catalog-tabs-shein a.active::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:#111;
}

.catalog-sidebar-shein{
  position:sticky;
  top:100px;
}

.catalog-box-shein{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:20px;
  padding:16px;
  box-shadow:0 8px 20px rgba(16,33,58,.04);
}

.catalog-box-shein h5{
  font-size:.95rem;
  font-weight:900;
  margin-bottom:12px;
}

.catalog-links-shein{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.catalog-links-shein a{
  text-decoration:none;
  color:#2d3b50;
  font-weight:700;
  background:#f7f8fb;
  border:1px solid rgba(0,0,0,.05);
  border-radius:14px;
  padding:.7rem .8rem;
}

.catalog-links-shein a.active,
.catalog-links-shein a:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

.catalog-tags-shein{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.catalog-tags-shein span{
  display:inline-flex;
  align-items:center;
  padding:.45rem .7rem;
  border-radius:999px;
  background:#f4f5f8;
  border:1px solid rgba(0,0,0,.05);
  font-size:.78rem;
  font-weight:700;
  color:#48576f;
}

.catalog-toolbar-shein{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:18px;
  padding:12px 14px;
  box-shadow:0 8px 20px rgba(16,33,58,.03);
}

.toolbar-note-shein{
  color:#6c7b90;
  font-size:.88rem;
  font-weight:700;
}

.toolbar-sort-shein .form-select{
  min-width:150px;
  border:1px solid rgba(0,0,0,.08);
}

.catalog-mini-promos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.mini-promo-item{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:16px;
  padding:12px;
  font-size:.84rem;
  font-weight:800;
  color:#31435e;
  box-shadow:0 8px 18px rgba(16,33,58,.03);
}

.mini-promo-item i{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#f1f4f9;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

@media (max-width: 991.98px){
  .catalog-search-shein{
    width:100%;
    min-width:100%;
  }

  .catalog-mini-promos{
    grid-template-columns:1fr;
  }
}

@media (max-width: 575.98px){
  .catalog-page-shein{
    padding-top:1rem !important;
  }

  .catalog-head-shein{
    border-radius:16px;
    padding:12px;
  }

  .catalog-title-shein{
    font-size:1.2rem;
  }

  .catalog-sub-shein{
    font-size:.8rem;
  }

  .catalog-toolbar-shein{
    border-radius:14px;
    padding:10px 12px;
  }

  .toolbar-note-shein{
    font-size:.78rem;
  }

  .mini-promo-item{
    border-radius:14px;
    padding:10px;
    font-size:.78rem;
  }
}
.videos-page{
  background:#f5f6f8;
}

.videos-head{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:22px;
  padding:16px 18px;
  box-shadow:0 8px 20px rgba(16,33,58,.04);
}

.videos-title{
  font-size:1.7rem;
  font-weight:900;
  color:#111;
}

.videos-subtitle{
  color:#7a7a7a;
  font-size:.95rem;
  line-height:1.8;
}

.videos-mini-promos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.video-promo-item{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:16px;
  padding:12px 14px;
  font-size:.88rem;
  font-weight:800;
  color:#31435e;
  box-shadow:0 8px 18px rgba(16,33,58,.03);
}

.video-promo-item i{
  width:36px;
  height:36px;
  border-radius:12px;
  background:#f1f4f9;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.video-card-modern{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(16,33,58,.05);
  transition:.25s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}

.video-card-modern:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(16,33,58,.10);
}

.video-cover-link{
  text-decoration:none;
  display:block;
}

.video-thumb-wrap{
  position:relative;
  background:#f3f5f9;
}

.video-thumb-modern{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}

.video-thumb-placeholder{
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef2f8;
  color:#111;
  font-size:2rem;
}

.video-play-badge{
  position:absolute;
  left:12px;
  bottom:12px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(0,0,0,.75);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

.video-card-body{
  padding:14px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.video-card-title{
  font-size:.98rem;
  line-height:1.5;
  font-weight:800;
  margin:0 0 8px;
  min-height:46px;
}

.video-card-title a{
  color:#111;
  text-decoration:none;
}

.video-card-title a:hover{
  color:#0f3d91;
}

.video-card-desc{
  color:#727f92;
  font-size:.82rem;
  line-height:1.7;
  margin-bottom:12px;
}

.video-card-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

@media (max-width: 991.98px){
  .videos-mini-promos{
    grid-template-columns:1fr;
  }
}

@media (max-width: 575.98px){
  .videos-page{
    padding-top:1rem !important;
  }

  .videos-head{
    border-radius:16px;
    padding:12px;
  }

  .videos-title{
    font-size:1.25rem;
  }

  .videos-subtitle{
    font-size:.84rem;
  }

  .video-thumb-modern,
  .video-thumb-placeholder{
    height:125px;
  }

  .video-card-modern{
    border-radius:16px;
  }

  .video-card-body{
    padding:10px;
  }

  .video-card-title{
    font-size:.84rem;
    min-height:38px;
  }

  .video-card-desc{
    display:none;
  }

  .video-card-actions{
    gap:6px;
  }

  .video-card-actions .btn{
    width:100%;
    font-size:.78rem;
    padding:.45rem .7rem;
  }

  .video-play-badge{
    width:36px;
    height:36px;
    font-size:1rem;
    left:10px;
    bottom:10px;
  }
}

/* ===== Almentor-style videos page ===== */
.almentor-videos-page{
  background:#07090d;
  color:#fff;
  min-height:70vh;
}

.almentor-videos-hero{
  background:linear-gradient(135deg,#12161d 0%,#0b0e13 100%);
  border:1px solid rgba(255,255,255,.06);
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}

.videos-mini-label{
  display:inline-block;
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:.45rem .9rem;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
}

.almentor-videos-title{
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:900;
  line-height:1.3;
}

.almentor-videos-subtitle{
  color:rgba(255,255,255,.72);
  line-height:1.9;
  font-size:1rem;
  margin:0;
}

.almentor-search-box .input-group{
  background:#0f131a;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  overflow:hidden;
}

.almentor-search-box .input-group-text,
.almentor-search-box .form-control{
  background:#0f131a;
  color:#fff;
  border:0;
  box-shadow:none !important;
}

.almentor-search-box .form-control::placeholder{
  color:rgba(255,255,255,.45);
}

.search-result-note{
  color:#fff;
  font-size:.92rem;
}

.almentor-hero-side{
  display:grid;
  gap:14px;
}

.hero-side-box{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:20px;
  padding:16px;
}

.hero-side-box i{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ff4d4f;
  font-size:1.15rem;
  flex-shrink:0;
}

.hero-side-box strong{
  display:block;
  margin-bottom:4px;
}

.hero-side-box span{
  color:rgba(255,255,255,.68);
  font-size:.9rem;
  line-height:1.7;
}

.videos-toolbar-dark{
  background:#11151b;
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  padding:14px 16px;
}

.toolbar-text-dark{
  color:rgba(255,255,255,.78);
  font-weight:700;
}

.toolbar-text-dark strong{
  color:#fff;
}

.almentor-video-card{
  background:#11151b;
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  transition:.25s ease;
  display:flex;
  flex-direction:column;
}

.almentor-video-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.28);
}

.almentor-video-thumb-wrap{
  position:relative;
  background:#0d1117;
  overflow:hidden;
}

.almentor-youtube-iframe{
  width:100%;
  height:210px;
  border:0;
  display:block;
  background:#000;
}

.almentor-video-thumb{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}

.almentor-video-placeholder{
  height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1a1f27;
  color:#fff;
  font-size:2rem;
}

.almentor-play-icon{
  position:absolute;
  left:14px;
  bottom:14px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(0,0,0,.72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  border:0;
  cursor:pointer;
  z-index:2;
  transition:.2s ease;
}

.almentor-play-icon:hover{
  transform:scale(1.05);
  background:#dc3545;
}

.almentor-video-body{
  padding:16px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.almentor-video-type{
  color:#c8d0dd;
  font-size:.82rem;
  margin-bottom:8px;
}

.almentor-video-card-title{
  font-size:1rem;
  line-height:1.6;
  font-weight:800;
  margin:0 0 10px;
  min-height:50px;
}

.almentor-video-card-title a,
.almentor-video-card-title span,
.video-title-play{
  color:#fff;
  text-decoration:none;
}

.video-title-play{
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  text-align:inherit;
  font:inherit;
  cursor:pointer;
}

.almentor-video-card-title a:hover,
.video-title-play:hover{
  color:#ffcccb;
}

.almentor-video-desc{
  color:rgba(255,255,255,.62);
  font-size:.84rem;
  line-height:1.8;
  margin-bottom:14px;
}

.almentor-video-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.almentor-video-actions .btn-outline-light{
  border-color:rgba(255,255,255,.25);
}

.almentor-videos-page .pagination .page-link{
  border:none;
  background:#171c24;
  color:#fff;
  font-weight:800;
}

.almentor-videos-page .pagination .page-item.active .page-link{
  background:#dc3545;
  color:#fff;
}

@media (max-width: 991.98px){
  .almentor-videos-hero{
    padding:18px;
    border-radius:22px;
  }

  .almentor-video-thumb,
  .almentor-video-placeholder,
  .almentor-youtube-iframe{
    height:180px;
  }
}

@media (max-width: 575.98px){
  .almentor-videos-page{
    padding-top:1rem !important;
  }

  .almentor-videos-hero{
    padding:14px;
    border-radius:18px;
  }

  .almentor-videos-title{
    font-size:1.4rem;
  }

  .almentor-videos-subtitle{
    font-size:.88rem;
  }

  .videos-toolbar-dark{
    border-radius:14px;
    padding:10px 12px;
  }

  .almentor-video-card{
    border-radius:18px;
  }

  .almentor-video-thumb,
  .almentor-video-placeholder,
  .almentor-youtube-iframe{
    height:145px;
  }

  .almentor-video-body{
    padding:12px;
  }

  .almentor-video-card-title{
    font-size:.88rem;
    min-height:42px;
  }

  .almentor-video-desc{
    display:none;
  }

  .almentor-video-actions .btn{
    width:100%;
    font-size:.78rem;
  }

  .almentor-play-icon{
    width:38px;
    height:38px;
    left:10px;
    bottom:10px;
  }
}


/* --- Compact product card + live search fix --- */
.desktop-search, .mobile-search-form{ position:relative; }
.live-search-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  left:0;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 18px 35px rgba(0,0,0,.10);
  z-index:1200;
  overflow:hidden;
  display:none;
  max-height:420px;
  overflow-y:auto;
}
.live-search-dropdown.show{ display:block; }
.live-search-item{
  display:flex;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid #f0f0f0;
  color:#111;
  background:#fff;
}
.live-search-item:hover{ background:#f7f9fc; }
.live-search-item:last-of-type{ border-bottom:1px solid #f0f0f0; }
.live-search-item-thumb{ width:56px; height:56px; border-radius:12px; background:#f3f5f9; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.live-search-item-thumb img{ width:100%; height:100%; object-fit:contain; padding:6px; }
.live-search-item-noimg{ font-weight:900; color:#0f3d91; }
.live-search-item-body{ min-width:0; }
.live-search-item-title{ font-size:.9rem; font-weight:800; line-height:1.45; margin-bottom:3px; }
.live-search-item-meta{ display:flex; flex-wrap:wrap; gap:6px; color:#6b7890; font-size:.74rem; font-weight:700; }
.live-search-item-meta .stock.in{ color:#198754; }
.live-search-item-meta .stock.out{ color:#dc3545; }
.live-search-item-price{ margin-top:4px; font-size:.82rem; font-weight:900; color:#111; }
.live-search-item-price.muted{ color:#9a6a00; }
.live-search-more{ display:block; text-align:center; padding:12px; font-size:.84rem; font-weight:800; color:#0f3d91; background:#fff; }
.live-search-empty{ padding:14px 12px 8px; color:#666; text-align:center; font-size:.84rem; }

.product-card-compact{ border:1px solid rgba(0,0,0,.05); border-radius:20px !important; overflow:hidden; box-shadow:0 6px 16px rgba(0,0,0,.05); }
.product-media-compact{ background:#f5f7fb; }
.product-img-compact, .product-placeholder-compact{ height:145px; }
.product-img-compact{ padding:8px; }
.product-placeholder-compact{ font-size:.9rem; }
.product-badge-top .badge{ font-size:.7rem; }
.product-title-compact{ font-size:.84rem; line-height:1.45; min-height:36px; }
.product-cat-compact{ font-size:.72rem; }
.product-meta-compact{ font-size:.68rem; gap:5px; margin-bottom:.35rem !important; }
.current-price-compact{ font-size:1rem; }
.old-price-compact{ font-size:.72rem; }
.price-request-compact{ font-size:.74rem; padding:.35rem .6rem; }
.product-card-compact .btn{ font-size:.78rem; padding-top:.45rem !important; padding-bottom:.45rem !important; }
.product-details-link{ font-size:.76rem; }

@media (max-width: 575.98px){
  .live-search-dropdown{ border-radius:14px; max-height:60vh; }
  .live-search-item{ padding:9px 10px; }
  .live-search-item-thumb{ width:48px; height:48px; border-radius:10px; }
  .product-card-compact{ border-radius:18px !important; }
  .product-card-compact .card-body{ padding:10px !important; }
  .product-img-compact, .product-placeholder-compact{ height:118px; padding:6px; }
  .product-title-compact{ font-size:.79rem; min-height:34px; }
  .product-meta-compact{ font-size:.64rem; }
  .current-price-compact{ font-size:.92rem; }
  .old-price-compact{ font-size:.68rem; }
  .product-card-compact .btn{ font-size:.74rem; }
}

/* --- V9 admin / slider / widgets / SEO polish --- */
.hero-control{
  width:54px;
  height:54px;
  top:50%;
  transform:translateY(-50%);
  background:rgba(17,17,17,.45);
  border-radius:50%;
  margin:0 24px;
}
.hero-control:hover{ background:rgba(17,17,17,.75); }
.hero-indicators-desktop{ bottom:22px; }
.hero-indicators-desktop button,
.hero-indicators-mobile button{
  width:10px !important;
  height:10px !important;
  border-radius:50%;
  border:0;
  opacity:.55;
  background:#fff;
}
.hero-indicators-desktop button.active,
.hero-indicators-mobile button.active{ opacity:1; background:var(--ui-red); }
.hero-indicators-mobile{ gap:8px; justify-content:center; }

.chat-launcher{
  position:fixed;
  right:18px;
  bottom:24px;
  width:60px;
  height:60px;
  border:0;
  border-radius:50%;
  background:#111;
  color:#fff;
  z-index:1085;
  box-shadow:0 18px 32px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.45rem;
}
.chat-panel{
  position:fixed;
  right:18px;
  bottom:95px;
  width:340px;
  max-width:calc(100vw - 24px);
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  box-shadow:0 22px 40px rgba(0,0,0,.18);
  overflow:hidden;
  z-index:1084;
  display:none;
}
.chat-panel.show{ display:block; }
.chat-form-wrap{ padding:1rem; border-top:1px solid #f1f3f5; }
.chat-form-wrap textarea{ min-height:84px; }
.live-search-dropdown{ backdrop-filter:blur(8px); }
@media (max-width:575.98px){
  .floating-whatsapp{ left:14px; bottom:84px; width:54px; height:54px; }
  .chat-launcher{ right:14px; bottom:84px; width:54px; height:54px; }
  .chat-panel{ right:12px; left:12px; bottom:148px; width:auto; max-width:none; border-radius:18px; }
  .hero-control{ display:none; }
}


body.chat-opened{overflow:hidden;}
.chat-launcher{
  position:fixed;right:18px;bottom:24px;z-index:1085;border:0;background:linear-gradient(135deg,#0f3d91,#1548a3);color:#fff;
  min-width:58px;height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;
  box-shadow:0 16px 30px rgba(15,61,145,.28);font-weight:800;
}
.chat-launcher i{font-size:1.2rem;}
.chat-launcher-label{font-size:.88rem;}
.chat-backdrop{position:fixed;inset:0;background:rgba(7,10,16,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.25s ease;z-index:1088;}
.chat-backdrop.show{opacity:1;pointer-events:auto;}
.chat-panel{position:fixed;right:18px;bottom:96px;width:390px;max-width:calc(100vw - 32px);z-index:1089;display:none;}
.chat-panel.show{display:block;}
.chat-panel-shell{background:#fff;border:1px solid rgba(15,61,145,.08);border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.20);}
.chat-header{padding:16px 18px;background:linear-gradient(135deg,#0f3d91,#1548a3);color:#fff;}
.chat-header strong{display:block;font-size:1rem;font-weight:900;}
.chat-header-note{font-size:.78rem;opacity:.82;margin-top:2px;}
.chat-start-note{padding:12px 16px;background:#f8fbff;border-bottom:1px solid rgba(15,61,145,.08);color:#55657d;font-size:.86rem;line-height:1.75;}
.chat-empty-state{padding:24px 18px;text-align:center;display:grid;gap:8px;color:#56657b;}
.chat-empty-icon{width:58px;height:58px;border-radius:50%;background:#eef4ff;color:#0f3d91;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.4rem;}
.chat-body{padding:16px;max-height:360px;overflow:auto;background:#fbfcfe;display:grid;gap:12px;}
.chat-row{display:flex;flex-direction:column;gap:4px;}
.chat-row.staff{align-items:flex-start;}
.chat-row.visitor{align-items:flex-end;}
.chat-message-meta{font-size:.72rem;color:#7c8ca3;font-weight:700;}
.chat-message{max-width:88%;padding:12px 14px;border-radius:18px;line-height:1.8;font-size:.88rem;word-break:break-word;}
.chat-message.staff{background:#eef4ff;color:#183865;border-bottom-right-radius:18px;border-top-left-radius:6px;}
.chat-message.visitor{background:#111;color:#fff;border-bottom-left-radius:18px;border-top-right-radius:6px;}
.chat-form-wrap{padding:14px 16px;border-top:1px solid #eef1f4;background:#fff;}
.chat-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px;}
.chat-full-row{grid-column:1 / -1;}
.chat-field-label{display:block;margin-bottom:6px;font-size:.78rem;font-weight:800;color:#20314a;}
.chat-textarea{min-height:96px;resize:vertical;}
.chat-send-btn{margin-top:10px;height:46px;}
.admin-chat-link{display:inline-flex;align-items:center;gap:8px;padding:.7rem 1rem;border-radius:999px;background:#0f3d91;color:#fff;font-weight:800;}
.chat-admin-hero{background:linear-gradient(135deg,#0f3d91,#1548a3);border-radius:24px;padding:20px 24px;color:#fff;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.chat-admin-kicker{font-size:.8rem;font-weight:900;opacity:.82;margin-bottom:4px;}
.chat-admin-hero h1{margin:0 0 6px;font-size:1.6rem;font-weight:900;}
.chat-admin-hero p{margin:0;opacity:.86;line-height:1.8;}
.chat-admin-help-box{background:#f8fbff;border:1px solid rgba(15,61,145,.08);border-radius:18px;padding:18px;margin:16px 0 24px;}
.chat-admin-help-box h3{margin:0 0 10px;font-size:1.1rem;font-weight:900;}
.chat-admin-help-box ul{margin:0;padding-right:18px;}
.chat-admin-help-box li{margin:.35rem 0;}
.chat-admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start;}
.chat-admin-sidebar,.chat-admin-thread-card{background:#fff;border:1px solid #e8edf3;border-radius:20px;box-shadow:0 10px 24px rgba(0,0,0,.04);overflow:hidden;}
.chat-admin-toolbar{padding:14px;border-bottom:1px solid #eef1f4;background:#fbfcfe;display:grid;gap:10px;}
.chat-admin-toolbar form{display:grid;gap:10px;}
.chat-admin-sidebar-list{max-height:72vh;overflow:auto;padding:12px;display:grid;gap:10px;}
.chat-admin-item{display:block;padding:12px 14px;border:1px solid #ecf0f4;border-radius:16px;background:#fff;color:#20314a;}
.chat-admin-item:hover,.chat-admin-item.active{background:#f6f9ff;border-color:#d6e3ff;}
.chat-admin-item strong{display:block;font-size:.95rem;font-weight:900;margin-bottom:4px;}
.chat-admin-item .meta{display:flex;gap:8px;flex-wrap:wrap;color:#6b7b91;font-size:.76rem;}
.chat-admin-item .snippet{margin-top:8px;color:#4c5c74;font-size:.82rem;line-height:1.6;}
.chat-admin-thread-head{padding:16px 18px;border-bottom:1px solid #eef1f4;background:#fbfcfe;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.chat-admin-thread-head h2{margin:0 0 6px;font-size:1.15rem;font-weight:900;}
.chat-admin-contact{display:flex;gap:10px;flex-wrap:wrap;color:#5d6d85;font-size:.82rem;font-weight:700;}
.chat-admin-status{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .75rem;border-radius:999px;font-weight:800;font-size:.75rem;background:#eef4ff;color:#0f3d91;}
.chat-admin-thread-body{padding:16px;background:#f8fafc;display:grid;gap:12px;max-height:58vh;overflow:auto;}
.chat-admin-bubble-row{display:flex;flex-direction:column;gap:4px;}
.chat-admin-bubble-row.staff{align-items:flex-start;}
.chat-admin-bubble-row.visitor{align-items:flex-end;}
.chat-admin-bubble-meta{font-size:.74rem;color:#74839a;font-weight:700;}
.chat-admin-bubble{max-width:78%;padding:12px 14px;border-radius:16px;line-height:1.9;font-size:.86rem;}
.chat-admin-bubble.staff{background:#eef4ff;color:#173866;}
.chat-admin-bubble.visitor{background:#fff4db;color:#735400;}
.chat-admin-reply{padding:16px 18px;border-top:1px solid #eef1f4;background:#fff;}
.chat-admin-reply-grid{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:start;}
.chat-admin-reply textarea,.chat-admin-reply select{width:100%;border:1px solid #dce4ee;border-radius:14px;padding:12px 14px;font-family:"Cairo",Tahoma,Arial,sans-serif !important;}
.chat-admin-empty{padding:34px 20px;text-align:center;color:#6c7b91;}
@media (max-width: 991.98px){
  .chat-admin-layout{grid-template-columns:1fr;}
  .chat-admin-sidebar-list{max-height:none;}
}
@media (max-width: 575.98px){
  .floating-whatsapp{left:14px;bottom:84px;width:54px;height:54px;}
  .chat-launcher{right:14px;bottom:84px;width:54px;min-width:54px;height:54px;padding:0;}
  .chat-launcher-label{display:none !important;}
  .chat-panel{right:0;left:0;bottom:0;top:auto;width:auto;max-width:none;padding:0 0 env(safe-area-inset-bottom);}
  .chat-panel-shell{border-radius:22px 22px 0 0;min-height:min(78vh, 700px);max-height:78vh;display:flex;flex-direction:column;}
  .chat-body{max-height:none;flex:1;min-height:0;padding:12px;}
  .chat-form-wrap{padding:12px;}
  .chat-start-grid{grid-template-columns:1fr;gap:10px;}
  .chat-message{max-width:92%;font-size:.84rem;}
  .chat-start-note{font-size:.82rem;padding:10px 12px;}
  .chat-header{padding:14px 14px 12px;}
}


.catalog-search-shein{
  position:relative;
}
.catalog-search-shein .live-search-dropdown{
  top:calc(100% + 6px);
}
@media (max-width: 575.98px){
  .catalog-search-shein .live-search-dropdown{
    max-height:55vh;
  }
}


/* --- V10.1 live search + mobile chat polish --- */
.js-live-search-form,
.catalog-search-shein,
.desktop-search,
.mobile-search-form{
  position:relative;
}
.catalog-search-shein{
  z-index:30;
}
.catalog-search-shein .live-search-dropdown,
.offcanvas .live-search-dropdown{
  top:calc(100% + 6px);
}
.offcanvas .live-search-dropdown{
  left:0;
  right:0;
  max-height:48vh;
}
.live-search-dropdown{
  z-index:2500;
}
.chat-panel-shell{
  max-height:min(78vh, 700px);
  display:flex;
  flex-direction:column;
}
.chat-body{
  flex:1 1 auto;
}
.chat-form-wrap{
  flex:0 0 auto;
}
@media (max-width:575.98px){
  .chat-launcher{
    right:12px;
    bottom:78px;
    width:50px;
    height:50px;
    min-width:50px;
    padding:0;
    border-radius:50%;
  }
  .chat-launcher-label{ display:none !important; }
  .chat-panel{
    right:8px;
    left:8px;
    bottom:10px;
    width:auto;
    max-width:none;
  }
  .chat-panel-shell{
    border-radius:18px;
    max-height:72vh;
  }
  .chat-header{
    padding:12px 14px;
  }
  .chat-header strong{
    font-size:.92rem;
  }
  .chat-header-note{
    font-size:.72rem;
  }
  .chat-start-note{
    padding:10px 12px;
    font-size:.76rem;
    line-height:1.6;
  }
  .chat-empty-state{
    padding:12px 12px 8px;
    gap:4px;
    font-size:.82rem;
  }
  .chat-empty-icon{
    width:42px;
    height:42px;
    font-size:1rem;
  }
  .chat-body{
    padding:12px;
    max-height:28vh;
    gap:10px;
  }
  .chat-message{
    max-width:92%;
    padding:10px 12px;
    font-size:.82rem;
    line-height:1.7;
  }
  .chat-message-meta{
    font-size:.68rem;
  }
  .chat-form-wrap{
    padding:10px 12px 12px;
  }
  .chat-start-grid{
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:10px;
  }
  .chat-field-label{
    font-size:.72rem;
    margin-bottom:4px;
  }
  .chat-textarea{
    min-height:70px;
  }
  .chat-send-btn{
    margin-top:8px;
    height:42px;
    font-size:.84rem;
  }
}


/* V12 Modern chat */
.chat-launcher-modern{position:fixed;right:18px;bottom:92px;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f3d91,#1548a3);color:#fff;border:0;box-shadow:0 18px 34px rgba(15,61,145,.28);z-index:1090;}
.chat-launcher-modern i{font-size:1.25rem;}
.chat-launcher-count{position:absolute;top:-3px;left:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ff2948;color:#fff;font-size:.72rem;font-weight:900;display:flex;align-items:center;justify-content:center;}
.chat-panel-modern{position:fixed;right:18px;bottom:160px;width:370px;max-width:calc(100vw - 28px);z-index:1089;display:none;}
.chat-panel-modern.show{display:block;}
.chat-panel-modern-shell{background:#fff;border:1px solid rgba(15,61,145,.08);border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.20);display:flex;flex-direction:column;max-height:min(78vh, 720px);min-height:520px;}
.chat-header-modern{padding:16px 18px;background:linear-gradient(135deg,#0f3d91,#1548a3);color:#fff;}
.chat-online-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;background:rgba(255,255,255,.16);padding:.35rem .65rem;border-radius:999px;margin-bottom:8px;}
.chat-online-pill .dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;display:inline-block;}
.chat-header-main strong{display:block;font-size:1rem;font-weight:900;}
.chat-header-main .chat-header-note{font-size:.78rem;opacity:.84;line-height:1.6;margin-top:3px;}
.chat-quick-strip{display:flex;gap:8px;overflow:auto;padding:12px 14px;background:#f8fbff;border-bottom:1px solid rgba(15,61,145,.08);scrollbar-width:none;}
.chat-quick-strip::-webkit-scrollbar{display:none;}
.chat-quick-chip{border:1px solid rgba(15,61,145,.08);background:#fff;color:#20314a;border-radius:999px;padding:.55rem .85rem;font-size:.76rem;font-weight:800;white-space:nowrap;}
.chat-quick-chip:hover{background:#0f3d91;color:#fff;border-color:#0f3d91;}
.chat-system-note{padding:10px 14px;background:#fff7e8;color:#7b5e1f;font-size:.8rem;line-height:1.7;border-bottom:1px solid #f0e3c6;}
.chat-body-modern{padding:14px;flex:1;min-height:180px;max-height:none;overflow:auto;background:#fbfcfe;display:grid;gap:12px;}
.chat-empty-state-modern{padding:18px 16px;text-align:center;display:grid;gap:8px;color:#56657b;background:#fbfcfe;}
.chat-empty-state-modern[hidden]{display:none !important;}
.chat-form-modern{padding:14px;border-top:1px solid #eef1f4;background:#fff;}
.chat-start-grid-modern{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px;}
.chat-composer-modern{display:grid;gap:8px;}
.chat-composer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.chat-status-mini{font-size:.74rem;font-weight:800;color:#6b7b91;background:#f3f6fb;border-radius:999px;padding:.35rem .65rem;}

.chat-launcher-count.pulse{animation:chatPulse 1.2s ease-in-out infinite}
@keyframes chatPulse{0%{transform:scale(1)}50%{transform:scale(1.14)}100%{transform:scale(1)}}
.chat-status-mini.is-new{background:#f3f6fb;color:#6b7b91}
.chat-status-mini.is-waiting-admin{background:#fff4db;color:#8b6100}
.chat-status-mini.is-waiting-you{background:#eef4ff;color:#0f3d91}
.chat-status-mini.is-closed{background:#e8f8ee;color:#1a7f45}

.chat-form-actions{display:flex;justify-content:flex-end;}
.chat-send-btn{min-width:118px;height:42px;}
.chat-textarea{min-height:74px;resize:vertical;}
.chat-message{box-shadow:0 8px 16px rgba(0,0,0,.03);}
.chat-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.chat-admin-stat{background:#fff;border:1px solid #e8edf3;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.04);}
.chat-admin-stat span{display:block;color:#6f8097;font-size:.8rem;font-weight:700;margin-bottom:6px;}
.chat-admin-stat strong{font-size:1.6rem;font-weight:900;color:#20314a;}
.chat-admin-item.pending{border-color:#ffe0a6;background:#fffaf0;}
.chat-admin-item .badge-mini{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800;background:#fff4db;color:#8b6100;margin-right:6px;}
.chat-admin-item .meta{align-items:center;}
.chat-admin-status.pending{background:#fff4db;color:#8b6100;}
@media (max-width: 991.98px){
  .chat-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 575.98px){
  .chat-launcher-modern{right:14px;bottom:84px;width:52px;height:52px;}
  .chat-panel-modern{right:0;left:0;bottom:0;width:auto;max-width:none;padding-bottom:env(safe-area-inset-bottom);}
  .chat-panel-modern-shell{border-radius:22px 22px 0 0;min-height:min(72vh,620px);max-height:72vh;}
  .chat-header-modern{padding:14px 14px 12px;}
  .chat-online-pill{font-size:.68rem;}
  .chat-quick-strip{padding:10px 12px;}
  .chat-quick-chip{font-size:.72rem;padding:.48rem .78rem;}
  .chat-system-note{font-size:.76rem;padding:8px 12px;}
  .chat-body-modern{padding:12px;}
  .chat-message{max-width:90%;font-size:.84rem;padding:11px 12px;}
  .chat-form-modern{padding:12px;}
  .chat-start-grid-modern{grid-template-columns:1fr;gap:8px;}
  .chat-textarea{min-height:62px;}
  .chat-send-btn{width:100%;min-width:unset;height:40px;}
  .chat-form-actions{display:block;}
}

.chat-attach-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#f1f3f5;color:#111;cursor:pointer;flex-shrink:0}
.chat-attach-name{font-size:.72rem;color:#6b7280;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-message-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chat-message-attachment{display:inline-flex;align-items:center;gap:4px;padding:.28rem .55rem;border-radius:999px;background:rgba(255,255,255,.18);color:inherit;text-decoration:none;font-size:.72rem;font-weight:700}
.chat-message.visitor .chat-message-attachment{background:#eef2f7;color:#0f3d91}
.chat-message.staff .chat-message-attachment{background:rgba(255,255,255,.18);color:#fff}

/* V14 chat polish */
.chat-message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chat-message-attachment{display:inline-flex;align-items:center;gap:6px;padding:.35rem .6rem;border-radius:12px;background:rgba(255,255,255,.16);color:inherit;text-decoration:none;font-size:.78rem;font-weight:700}
.chat-row.visitor .chat-message-attachment{background:#f1f3f5;color:#111}
.chat-message-attachment.image{padding:.35rem;flex-direction:column;align-items:flex-start;max-width:140px}
.chat-message-attachment.image img{width:100%;height:78px;object-fit:cover;border-radius:10px;display:block}
.chat-message-attachment.image span{font-size:.72rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chat-quick-strip{scrollbar-width:none}
.chat-quick-strip::-webkit-scrollbar{display:none}
.chat-online-pill{letter-spacing:0}
.chat-panel-modern .chat-header-note{max-width:240px}
@media (max-width:575.98px){
  .chat-message-attachment.image{max-width:110px}
  .chat-message-attachment.image img{height:62px}
}


/* === Chat compact fix for mobile and desktop === */
body.chat-opened .chat-launcher-modern{opacity:0 !important;pointer-events:none !important;transform:scale(.92) !important;}
.chat-panel-modern{width:320px !important;bottom:138px !important;}
.chat-panel-modern-shell{max-height:min(68vh, 600px) !important;min-height:430px !important;border-radius:20px !important;}
.chat-header-modern{padding:12px 14px !important;}
.chat-header-main strong{font-size:.92rem !important;}
.chat-online-pill{margin-bottom:4px !important;font-size:.66rem !important;padding:.28rem .55rem !important;}
.chat-quick-strip{padding:8px 10px !important;gap:6px !important;}
.chat-quick-chip{padding:.42rem .68rem !important;font-size:.7rem !important;}
.chat-body-modern{padding:10px !important;min-height:130px !important;}
.chat-empty-state-modern{padding:12px 10px !important;gap:4px !important;font-size:.8rem !important;}
.chat-empty-icon{width:44px !important;height:44px !important;font-size:1rem !important;}
.chat-form-modern{padding:10px !important;}
.chat-start-grid-modern{gap:8px 10px !important;margin-bottom:8px !important;}
.chat-field-label{font-size:.72rem !important;margin-bottom:4px !important;}
.chat-composer-modern{gap:6px !important;}
.chat-composer-top{gap:8px !important;}
.chat-status-mini{font-size:.66rem !important;padding:.28rem .5rem !important;}
.chat-textarea{min-height:54px !important;max-height:88px !important;resize:none !important;font-size:.8rem !important;}
.chat-form-modern .form-control{font-size:.8rem !important;padding:.5rem .65rem !important;border-radius:12px !important;}
.chat-form-actions{display:grid !important;grid-template-columns:36px 1fr auto !important;align-items:center !important;gap:8px !important;}
.chat-attach-btn{width:34px !important;height:34px !important;}
.chat-attach-name{max-width:100% !important;font-size:.68rem !important;}
.chat-send-btn{min-width:86px !important;height:36px !important;margin-top:0 !important;font-size:.78rem !important;padding:.42rem .8rem !important;}
.chat-message{font-size:.78rem !important;line-height:1.65 !important;padding:9px 10px !important;border-radius:14px !important;max-width:86% !important;}
.chat-message-meta{font-size:.66rem !important;}
.chat-message-attachments{gap:6px !important;margin-top:6px !important;}
.chat-message-attachment{font-size:.68rem !important;padding:.28rem .5rem !important;}
@media (max-width: 991.98px){
  .chat-launcher-modern{width:46px !important;height:46px !important;right:10px !important;bottom:78px !important;}
  .chat-launcher-modern i{font-size:1rem !important;}
  .chat-launcher-count{min-width:18px !important;height:18px !important;font-size:.62rem !important;}
  .chat-panel-modern{right:8px !important;left:8px !important;bottom:72px !important;width:auto !important;max-width:none !important;}
  .chat-panel-modern-shell{max-height:62vh !important;min-height:360px !important;border-radius:18px !important;}
  .chat-header-modern{padding:10px 12px !important;}
  .chat-header-main strong{font-size:.84rem !important;}
  .chat-quick-strip{display:grid !important;grid-template-columns:1fr 1fr !important;overflow:visible !important;padding:8px 10px !important;gap:6px !important;}
  .chat-quick-chip{width:100% !important;text-align:center !important;padding:.4rem .55rem !important;font-size:.68rem !important;white-space:normal !important;line-height:1.35 !important;}
  .chat-body-modern{padding:8px !important;min-height:110px !important;}
  .chat-form-modern{padding:8px !important;}
  .chat-start-grid-modern{grid-template-columns:1fr !important;gap:6px !important;margin-bottom:6px !important;}
  .chat-form-modern .form-control{font-size:.76rem !important;padding:.46rem .58rem !important;}
  .chat-textarea{min-height:46px !important;max-height:70px !important;font-size:.76rem !important;}
  .chat-form-actions{grid-template-columns:32px 1fr 78px !important;gap:6px !important;}
  .chat-attach-btn{width:30px !important;height:30px !important;}
  .chat-send-btn{min-width:78px !important;height:34px !important;font-size:.74rem !important;padding:.38rem .65rem !important;}
  .chat-message{font-size:.74rem !important;padding:8px 9px !important;max-width:90% !important;}
}
@media (max-width: 575.98px){
  .chat-panel-modern{right:6px !important;left:6px !important;bottom:70px !important;}
  .chat-panel-modern-shell{max-height:58vh !important;min-height:330px !important;border-radius:16px !important;}
  .chat-quick-strip{grid-template-columns:1fr 1fr !important;}
  .chat-empty-state-modern{padding:10px 8px !important;}
  .chat-empty-state-modern strong{font-size:.82rem !important;}
  .chat-empty-state-modern span{display:none !important;}
}

/* === V15.1 desktop-only chat spacing fix ===
   Fixes the empty white gap and keeps the send button visible on Windows/desktop.
   Mobile rules are intentionally untouched. */
@media (min-width: 992px){
  .chat-panel-modern{
    width:360px !important;
    bottom:110px !important;
  }
  .chat-panel-modern-shell{
    min-height:0 !important;
    max-height:calc(100vh - 135px) !important;
    overflow:hidden !important;
  }
  .chat-panel-modern .chat-body-modern:empty{
    display:none !important;
    flex:0 0 auto !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
  }
  .chat-panel-modern .chat-empty-state-modern{
    flex:0 0 auto !important;
    padding:12px 10px 10px !important;
  }
  .chat-panel-modern .chat-form-modern{
    flex:0 0 auto !important;
    padding:10px !important;
  }
  .chat-panel-modern .chat-start-grid-modern{
    grid-template-columns:1fr 1fr !important;
    gap:7px 10px !important;
    margin-bottom:7px !important;
  }
  .chat-panel-modern .chat-full-row{
    grid-column:1 / -1 !important;
  }
  .chat-panel-modern .chat-composer-modern{
    gap:6px !important;
  }
  .chat-panel-modern .chat-textarea{
    min-height:44px !important;
    max-height:58px !important;
    resize:none !important;
  }
  .chat-panel-modern .chat-form-actions{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 82px !important;
    align-items:center !important;
    gap:7px !important;
  }
  .chat-panel-modern .chat-send-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:82px !important;
    height:34px !important;
    margin-top:0 !important;
    padding:.35rem .65rem !important;
  }
}


.youtube-open-fallback{
    position:absolute;
    left:12px;
    bottom:12px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(0,0,0,.68);
    color:#fff !important;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    backdrop-filter:blur(6px);
}
.youtube-open-fallback:hover{
    background:rgba(220,53,69,.92);
    color:#fff !important;
}

/* v16.7 - مركز المحادثات: مربع الرد ثابت وإرسال AJAX بدون إعادة تحميل الصفحة */
.chat-admin-reply{
  position:sticky;
  bottom:0;
  z-index:30;
  background:#fff;
  border-top:1px solid #dfe7f5;
  box-shadow:0 -12px 26px rgba(15,61,145,.08);
}
.chat-admin-thread-card{display:flex;flex-direction:column;min-height:72vh;}
.chat-admin-thread-body{flex:1 1 auto;min-height:320px;padding-bottom:18px;}
.chat-admin-ajax-form textarea{min-height:92px;resize:vertical;}
.chat-admin-submit-btn[disabled]{opacity:.72;cursor:not-allowed;}
.chat-admin-send-status{min-height:20px;margin-top:8px;font-size:.78rem;font-weight:800;line-height:1.6;color:#6b7b91;}
.chat-admin-send-status.success{color:#1a7f45;}
.chat-admin-send-status.error{color:#b42318;}
.chat-admin-send-status.loading{color:#0f3d91;}
@media (max-width: 991.98px){.chat-admin-thread-card{min-height:auto;}.chat-admin-reply{position:relative;bottom:auto;box-shadow:none;}}


/* v16.17 performance helpers */
.mobile-hero-media img,
.desktop-hero-slide img{
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.product-img-compact,
.detail-main-image,
.detail-thumb img{
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.card-img-top{
  aspect-ratio: 16 / 9;
  object-fit: cover;
}


/* v16.18 hero picture optimization */
.mobile-hero-media picture,
.desktop-hero-slide picture{
  display:block;
  width:100%;
  height:100%;
}
.mobile-hero-media picture img,
.desktop-hero-slide picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Product Gallery Zoom & Browsing - v16.24 */
.detail-main-card.sc-product-main-card,
.sc-product-main-card {
  position: relative;
  overflow: hidden;
}

.sc-product-main-zoomable {
  cursor: zoom-in;
  transition: opacity .22s ease, transform .22s ease;
}

.sc-product-main-zoomable:hover {
  opacity: .96;
}

.sc-product-zoom-btn {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .74);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

.sc-product-zoom-btn:hover {
  background: rgba(0, 0, 0, .9);
}

.detail-thumb[data-gallery-thumb] {
  cursor: pointer;
  transition: transform .18s ease, outline-color .18s ease, opacity .18s ease;
}

.detail-thumb[data-gallery-thumb]:hover {
  transform: translateY(-2px);
  opacity: .92;
}

.detail-thumb.sc-thumb-active {
  outline: 3px solid #0d6efd;
  outline-offset: 3px;
}

.sc-lightbox-open {
  overflow: hidden !important;
}

.sc-product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, .92);
}

.sc-lightbox-image-wrap {
  width: min(92vw, 1100px);
  height: min(82vh, 760px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  overscroll-behavior: contain;
}

.sc-lightbox-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
  transition: transform .2s ease;
  border-radius: 16px;
  user-select: none;
}

.sc-lightbox-close,
.sc-lightbox-prev,
.sc-lightbox-next {
  position: fixed;
  z-index: 100000;
  border: 0;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  cursor: pointer;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
}

.sc-lightbox-close {
  top: 20px;
  left: 20px;
  width: 48px;
  height: 48px;
  font-size: 34px;
  line-height: 1;
}

.sc-lightbox-prev,
.sc-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  font-size: 46px;
  line-height: 1;
}

.sc-lightbox-prev {
  right: 20px;
}

.sc-lightbox-next {
  left: 20px;
}

.sc-lightbox-counter {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 100000;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.sc-lightbox-tools {
  position: fixed;
  bottom: 20px;
  left: 50%;
  z-index: 100000;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  transform: translateX(-50%);
}

.sc-lightbox-tools button {
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-weight: 800;
  padding: 10px 14px;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.2);
}

@media (max-width: 768px) {
  .sc-product-zoom-btn {
    width: 42px;
    height: 42px;
    top: 12px;
    left: 12px;
  }

  .sc-product-lightbox {
    padding: 12px;
  }

  .sc-lightbox-image-wrap {
    width: 96vw;
    height: 78vh;
  }

  .sc-lightbox-prev,
  .sc-lightbox-next {
    width: 44px;
    height: 44px;
    font-size: 36px;
  }

  .sc-lightbox-close {
    width: 42px;
    height: 42px;
    top: 14px;
    left: 14px;
    font-size: 30px;
  }

  .sc-lightbox-counter {
    top: 18px;
    right: 14px;
    font-size: 13px;
  }

  .sc-lightbox-tools {
    bottom: 12px;
    width: 94vw;
  }

  .sc-lightbox-tools button {
    font-size: 12px;
    padding: 9px 11px;
  }
}
