:root{
  --cl-max:1280px;
  --cl-section-y:16px;
  --cl-gap:14px;
  --cl-card-pad:16px;
  --cl-radius:18px;
  --cl-shadow:0 10px 24px rgba(30,34,56,.08);
}

/* Global width + compact spacing */
.container,.wrap,.inner,.content,.section-inner,.site-width,
.hw-wrap,.pm-wrap,.phaseb-wrapper,.dc-global-topbar-inner,.dc-global-footer-inner,
.topbar-inner,.hero-grid,.quick,.footer-grid{
  width:min(100% - 24px, var(--cl-max)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

main,section,.section,.block,.page-section,.home-section,.hw-section{
  padding-top:var(--cl-section-y) !important;
  padding-bottom:var(--cl-section-y) !important;
}

/* Typography slightly tighter */
h1{
  font-size:clamp(1.8rem, 2.8vw, 3rem) !important;
  line-height:1.06 !important;
  margin-bottom:10px !important;
}
h2{
  font-size:clamp(1.35rem, 2vw, 2.1rem) !important;
  line-height:1.1 !important;
  margin-bottom:10px !important;
}
h3{
  font-size:clamp(1.05rem, 1.4vw, 1.3rem) !important;
  margin-bottom:8px !important;
}
p{
  margin-bottom:10px !important;
  line-height:1.5 !important;
}

/* Hero compact */
.hero,.janu-hero,.dc-hero,.page-hero,.service-hero,.product-hero,.contact-hero,.admin-hero,
.hero-section,.banner{
  padding:18px !important;
  border-radius:22px !important;
}
.hero-grid,.janu-hero-grid,.dc-hero{
  gap:18px !important;
}
.visual,.dc-panel,.janu-led-panel{
  min-height:340px !important;
  max-height:420px !important;
  border-radius:22px !important;
}
.visual img,.dc-panel img,.janu-led-panel img{
  object-fit:cover !important;
}

/* Cards compact */
.card,.box,.panel,.widget,.tile,.service-card,.product-card,.feature-card,.info-box,
.dc-card,.dc-feature,.janu-card,.janu-feature,.hw-card,.hw-kpi,.hw-testimonial,.hw-service,.hw-support-box,
.pm-shell,.pm-box,.admin-card,.dashboard-card,.stat-card,.metric-card,.kpi-card,.panel-card,.crm-card{
  border-radius:var(--cl-radius) !important;
  box-shadow:var(--cl-shadow) !important;
}

.card-body,.dc-card-body,.janu-card-body,
.hw-card,.hw-kpi,.hw-testimonial,.hw-service,.hw-support-box,
.pm-shell,.pm-box,.service-card,.product-card,.feature-card,.info-box,
.admin-card,.dashboard-card,.stat-card,.metric-card,.kpi-card,.panel-card,.crm-card{
  padding:var(--cl-card-pad) !important;
}

/* Buttons slim */
.btn,.button,.dc-btn,.janu-btn,.hw-btn,.pm-btn,.pm-link,
.pc-btn,button,input[type=submit],input[type=button]{
  min-height:40px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  font-size:.95rem !important;
}

/* Topbar/footer compact */
.topbar,.dc-global-topbar,.janu-topbar{
  position:sticky;
  top:0;
}
.topbar-inner,.dc-global-topbar-inner,.janu-topbar-inner{
  min-height:64px !important;
  gap:12px !important;
}
.brand-mark,.dc-brand-badge,.janu-brand-mark{
  width:46px !important;
  height:46px !important;
  border-radius:14px !important;
}

/* Quick strips compact */
.quick,.dc-strip,.janu-contact-strip,.hw-local,.pm-contact{
  padding:14px 16px !important;
  border-radius:16px !important;
  gap:10px !important;
}

/* Widget density */
.hw-title{
  margin-bottom:12px !important;
}
.hw-grid-4,.hw-grid-3,.hw-grid-2,
.pm-grid,.service-grid,.services-grid,.product-grid,.products-grid,.grid-4,.grid-3{
  gap:14px !important;
}
.hw-icon,.icon,.dc-feature-icon,.janu-feature-icon{
  width:48px !important;
  height:48px !important;
  border-radius:14px !important;
  margin-bottom:10px !important;
  font-size:1.1rem !important;
}
.hw-kpi strong{
  font-size:1.5rem !important;
}
.hw-brand{
  min-height:68px !important;
  padding:10px !important;
  border-radius:16px !important;
}

/* Mega block tighter */
.pm-shell{
  padding:18px !important;
}
.pm-top{
  margin-bottom:12px !important;
}
.pm-links{
  gap:10px !important;
}
.pm-link{
  min-height:38px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:.92rem !important;
}

/* Contact/admin tighter */
.contact-form,.contact-box,.contact-card,.contact-info,.contact-details,.enquiry-form,.support-form{
  padding:18px !important;
  border-radius:18px !important;
}
.sidebar,.admin-sidebar,.dashboard-sidebar,.left-panel,.side-nav{
  border-radius:18px !important;
}
.admin-toolbar,.dashboard-toolbar,.page-actions,.filter-bar,.toolbar{
  padding:12px !important;
  border-radius:16px !important;
}

/* Tables/forms tighter */
table th,table td{
  padding:10px 12px !important;
}
input,select,textarea{
  min-height:42px !important;
  padding:10px 12px !important;
  border-radius:10px !important;
}
textarea{
  min-height:110px !important;
}

/* CTA bands shorter */
.hw-cta-band,.cta-band,.phaseb-cta{
  padding:20px !important;
  border-radius:22px !important;
}
.hw-btn-row,.btn-row,.dc-btns,.dc-top-actions,.janu-actions,.pm-contact{
  gap:10px !important;
  margin-top:12px !important;
}

/* Hide some excess breathing space on laptop */
@media (min-width: 992px){
  body{
    zoom:0.98;
  }
}

/* 1366-friendly grids */
@media (max-width: 1366px){
  .hw-grid-4,.grid-4,.product-grid,.products-grid,.shop-grid,.catalog-grid,.product-list-grid,.items-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .hw-grid-3,.grid-3,.service-grid,.services-grid,.service-list-grid,.service-cards,.our-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .pm-grid,.hw-grid-2,.contact-grid,.contact-layout,.contact-wrap,.contact-sections,.hero-grid,.janu-hero-grid,.dc-hero{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width: 900px){
  body{
    zoom:1 !important;
  }
  .hw-grid-4,.hw-grid-3,.grid-4,.grid-3,
  .product-grid,.products-grid,.shop-grid,.catalog-grid,.product-list-grid,.items-grid,
  .service-grid,.services-grid,.service-list-grid,.service-cards,.our-services-grid,
  .pm-grid,.hw-grid-2,.contact-grid,.contact-layout,.contact-wrap,.contact-sections,
  .hero-grid,.janu-hero-grid,.dc-hero{
    grid-template-columns:1fr !important;
  }
  .visual,.dc-panel,.janu-led-panel{
    min-height:260px !important;
    max-height:320px !important;
  }
}
