

:root{
  --dg-bg:#ffffff;
  --dg-surface:#ffffff;
  --dg-soft:#f8fafc;
  --dg-soft-2:#f1f5f9;
  --dg-text:#172033;
  --dg-muted:#64748b;
  --dg-subtle:#94a3b8;
  --dg-line:#e5eaf0;
  --dg-line-strong:#d8e1ea;
  --dg-primary:#0f766e;
  --dg-primary-soft:#ecfdf5;
  --dg-danger:#e11d48;
  --dg-warning:#f59e0b;
  --dg-radius-sm:10px;
  --dg-radius-md:14px;
  --dg-radius-lg:20px;
  --dg-radius-xl:24px;
  --dg-shadow-sm:0 4px 14px rgba(15,23,42,.045);
  --dg-shadow-md:0 12px 30px rgba(15,23,42,.075);
  --dg-shadow-hover:0 15px 36px rgba(15,23,42,.09);
  --dg-section-space:34px;
  --dg-section-space-mobile:22px;
  --dg-card-gap:14px;
  --dg-transition:.18s ease;
}

html{scroll-behavior:smooth}
body{
  background:var(--dg-bg);
  color:var(--dg-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.dg-page-shell,.category-page,.product-page,.otc-page,main{
  color:var(--dg-text);
}
.dg-section,.section{
  margin-block:var(--dg-section-space);
}
.section-head h1,.section-head h2,.page-title,.category-title,.product-title{
  color:var(--dg-text);
  letter-spacing:-.2px;
}
.section-head p,.page-subtitle,.category-desc,.product-subtitle{
  color:var(--dg-muted);
}

.dg-card,
.category-card,
.product-card,
.product,
.otc-card{
  background:var(--dg-surface);
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-lg);
  box-shadow:var(--dg-shadow-sm);
}
@media(hover:hover){
  .dg-card:hover,
  .category-card:hover,
  .product-card:hover,
  .product:hover,
  .otc-card:hover{
    border-color:var(--dg-line-strong);
    box-shadow:var(--dg-shadow-hover);
  }
}

.product-img,.product-image,.product-gallery-main,.otc-card .media{
  background:#fff;
  overflow:hidden;
}
.product-img img,.product-image img,.product-gallery-main img{
  object-fit:contain;
  object-position:center;
}

.dg-brand-status-row,
.home-brand-commerce-row,
.category-card .brand-status-row,
.product-card .brand-status-row{
  direction:rtl;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:28px;
}
.dg-brand-name,.brand,.brand-name,.product-brand{
  color:var(--dg-muted);
  font-size:10px;
  font-weight:750;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.dg-status-badge,
.v113-commerce-badge,
.stock-badge,
.availability-badge{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:none;
}

.price,.product-price,.price-box{
  font-variant-numeric:tabular-nums;
}
.current-price,.final-price,.price strong{
  color:var(--dg-text);
  font-weight:900;
}
.old-price,del{
  color:var(--dg-subtle);
  font-size:.82em;
  text-decoration-thickness:1px;
}

.btn,button,.add-to-cart,.cta-button{
  border-radius:12px;
  font-weight:800;
  transition:transform var(--dg-transition),box-shadow var(--dg-transition),opacity var(--dg-transition),background var(--dg-transition);
}
@media(hover:hover){
  .btn:hover,button:hover,.add-to-cart:hover,.cta-button:hover{
    transform:translateY(-1px);
  }
}

input,select,textarea{
  border-radius:12px;
}
.filter-box,.filters,.sidebar-filter,.product-options,.product-tabs{
  border-color:var(--dg-line)!important;
  border-radius:var(--dg-radius-lg)!important;
}

.tabs,.product-tabs,.tab-nav{
  gap:6px;
}
.tab,.tab-btn,.product-tabs button{
  border-radius:11px!important;
}

.dg-ui-state{border-radius:var(--dg-radius-lg)}

@media(max-width:640px){
  :root{
    --dg-section-space:var(--dg-section-space-mobile);
    --dg-card-gap:10px;
  }
  .dg-card,.category-card,.product-card,.product,.otc-card{
    border-radius:17px;
  }
  .dg-brand-status-row,
  .home-brand-commerce-row,
  .category-card .brand-status-row,
  .product-card .brand-status-row{
    min-height:26px;
    gap:5px;
  }
  .dg-status-badge,
  .v113-commerce-badge,
  .stock-badge,
  .availability-badge{
    min-height:19px;
    padding:3px 5px;
    font-size:8px;
  }
}
