/* =====================================================
   SHRISHA ELEMENTOR WIDGETS — main.css v1.2.0
   Typography: Montserrat (headings) · Cormorant Garamond (body)
   ===================================================== */

/* ── Google Fonts ─────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* ── CSS Variables ─────────────────────────────────── */
:root {
  --sh-primary:       #2B1464;
  --sh-secondary:     #4B2AFF;
  --sh-accent:        #4B2AFF;
  --sh-white:         #FFFFFF;
  --sh-text:          #111111;
  --sh-text-muted:    #6B7280;
  --sh-text-body:     #374151;
  --sh-bg:            #FFFFFF;
  --sh-bg-light:      #F4F3FF;
  --sh-border:        #EAEAF3;
  --sh-gold:          #F59E0B;
  --sh-dark:          #0B0B2E;
  --sh-radius:        16px;
  --sh-radius-sm:     10px;
  --sh-radius-card:   16px;
  --sh-shadow:        0 4px 24px rgba(43,20,100,0.10);
  --sh-shadow-card:   0 2px 12px rgba(43,20,100,0.08);

  /* ── Typography tokens ── */
  --sh-font-heading:  'Montserrat', sans-serif;
  --sh-font-body:     'Cormorant Garamond', 'Cambria', Georgia, serif;

  /* Legacy aliases kept for PHP references */
  --sh-font-sans:     'Montserrat', sans-serif;
  --sh-font-serif:    'Cormorant Garamond', 'Cambria', Georgia, serif;

  --sh-section-py:    64px;
  --sh-max-w:         1200px;
}

/* ── Base reset inside widgets ─────────────────────── */
.shrisha-section *,
.shrisha-stats-strip * {
  box-sizing: border-box;
}
.shrisha-section a { text-decoration: none; }

/* ── Global heading rule ── */
.shrisha-section h1,
.shrisha-section h2,
.shrisha-section h3,
.shrisha-section h4,
.shrisha-section h5,
.shrisha-section h6 {
  font-family:  var(--sh-font-heading);
  color:        var(--sh-primary);
  line-height:  1.25;
  margin:       0 0 14px;
  padding:      0;
  font-weight:  700;
}

/* ── Global paragraph rule ── */
.shrisha-section p {
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
  line-height:  1.75;
  margin:       0 0 14px;
  padding:      0;
}

/* ── Section wrapper ───────────────────────────────── */
.shrisha-section {
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  background:   var(--sh-bg);
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
  line-height:  1.75;
}

/* ── Kicker / Eyebrow ──────────────────────────────── */
.shrisha-kicker {
  display:        inline-block;
  font-family:    var(--sh-font-heading);
  font-size:      11px;
  font-weight:    700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color:          var(--sh-secondary);
  margin:         0 0 12px;
  padding:        0;
}
.shrisha-kicker--center { text-align: center; display: block; }
.shrisha-kicker--light  { color: rgba(255,255,255,.7); }

/* ── Accent colour ─────────────────────────────────── */
.shrisha-accent { color: var(--sh-secondary); }

/* ── Buttons ───────────────────────────────────────── */
.shrisha-btn {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  padding:        12px 24px;
  margin:         0;
  border-radius:  999px;
  font-family:    var(--sh-font-heading);
  font-size:      14px;
  font-weight:    600;
  cursor:         pointer;
  transition:     opacity .2s, transform .18s;
  text-decoration: none;
  border:         none;
  line-height:    1;
}
.shrisha-btn:hover { opacity: .9; transform: translateY(-1px); }

.shrisha-btn--primary {
  background: linear-gradient(90deg, var(--sh-primary), var(--sh-secondary));
  color:      var(--sh-white);
}
.shrisha-btn--outline {
  background:   transparent;
  border:       1.5px solid var(--sh-primary);
  color:        var(--sh-primary);
}
.shrisha-btn--outline-primary {
  background:   transparent;
  border:       2px solid var(--sh-secondary);
  color:        var(--sh-secondary);
}
.shrisha-btn--white {
  background:   var(--sh-white);
  color:        var(--sh-primary);
  font-weight:  700;
}


/* ============================================================
   1. HERO BANNER SLIDER
   ============================================================ */
.shrisha-hero {
  padding:      0;
  margin:       0;
  overflow:     hidden;
  background:   var(--sh-bg);
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
  min-height:   520px;
  display:      flex;
  flex-direction: column;
}

.shrisha-hero__inner {
  display:      grid;
  grid-template-columns: 1fr 1fr;
  min-height:   480px;
  align-items:  center;
  padding:      60px 40px 40px;
  gap:          40px;
  max-width:    var(--sh-max-w);
  margin:       0 auto;
  width:        100%;
}

.shrisha-hero__copy {
  display:        flex;
  flex-direction: column;
  gap:            16px;
}

.shrisha-hero__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(32px, 4vw, 52px);
  font-weight:  700;
  line-height:  1.15;
  color:        var(--sh-text);
  margin:       0;
  padding:      0;
}

.shrisha-hero__desc {
  font-family:  var(--sh-font-body);
  font-size:    16px;
  font-weight:  400;
  line-height:  1.70;
  color:        var(--sh-text-muted);
  margin:       0;
  padding:      0;
  max-width:    420px;
}

.shrisha-hero__btns {
  display:    flex;
  gap:        12px;
  flex-wrap:  wrap;
  margin:     4px 0 0;
  padding:    0;
}

/* Slider */
.shrisha-hero__slider-wrap {
  border-radius:  var(--sh-radius);
  overflow:       hidden;
  height:         380px;
  position:       relative;
  margin:         0;
  padding:        0;
}
.shrisha-hero-swiper { height: 100%; border-radius: var(--sh-radius); }
.shrisha-hero__slide {
  height:             100%;
  background-size:    cover;
  background-position: center;
  position:           relative;
  border-radius:      var(--sh-radius);
}
.shrisha-hero__slide-overlay {
  position:       absolute;
  inset:          0;
  border-radius:  var(--sh-radius);
}

/* Stats Bar */
.shrisha-hero__stats-bar {
  display:          flex;
  align-items:      center;
  justify-content:  space-between;
  gap:              24px;
  background:       var(--sh-white);
  border:           1px solid var(--sh-border);
  border-radius:    var(--sh-radius);
  padding:          20px 32px;
  margin:           0 40px 40px;
  box-shadow:       var(--sh-shadow-card);
  font-family:      var(--sh-font-body);
  font-size:        15px;
  color:            var(--sh-text-body);
}
.shrisha-hero__stats-items {
  display:    flex;
  gap:        32px;
  flex-wrap:  wrap;
}

.shrisha-stat-item {
  display:      flex;
  align-items:  center;
  gap:          10px;
  margin:       0;
  padding:      0;
}
.shrisha-stat-item__icon {
  font-size:  20px;
  color:      var(--sh-secondary);
}
.shrisha-stat-item__text {
  display:        flex;
  flex-direction: column;
}
.shrisha-stat-item__text strong {
  font-family:  var(--sh-font-heading);
  font-size:    20px;
  font-weight:  800;
  color:        var(--sh-primary);
  line-height:  1;
}
.shrisha-stat-item__text span {
  font-family:  var(--sh-font-body);
  font-size:    11px;
  color:        var(--sh-text-muted);
  margin-top:   2px;
}

.shrisha-hero__stats-cta {
  background:   var(--sh-secondary);
  color:        var(--sh-white);
  border-radius: var(--sh-radius-sm);
  padding:      14px 20px;
  min-width:    220px;
  text-align:   left;
  margin:       0;
}
.shrisha-hero__stats-cta p {
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--sh-white);
  margin:       0 0 6px;
  padding:      0;
  line-height:  1.4;
}
.shrisha-hero__stats-link {
  font-family:  var(--sh-font-heading);
  font-size:    12px;
  font-weight:  700;
  color:        var(--sh-white);
  display:      inline-flex;
  align-items:  center;
  gap:          4px;
}
.shrisha-hero__stats-link:hover { opacity: .8; }

/* Placeholder */
.shrisha-placeholder {
  min-height:   200px;
  display:      grid;
  place-items:  center;
  border:       2px dashed var(--sh-border);
  border-radius: var(--sh-radius);
  color:        var(--sh-text-muted);
  font-family:  var(--sh-font-body);
  font-size:    14px;
  margin:       0;
  padding:      20px;
}


/* ============================================================
   2. STATISTICS COUNTER STRIP
   ============================================================ */
.shrisha-stats-strip {
  padding:      40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    15px;
  color:        var(--sh-text-body);
  background:   var(--sh-white);
  border-top:   1px solid var(--sh-border);
  border-bottom: 1px solid var(--sh-border);
}

.shrisha-stats-grid {
  display:                grid;
  grid-template-columns:  repeat(4, 1fr);
  gap:                    0;
  max-width:              var(--sh-max-w);
  margin:                 0 auto;
  padding:                0;
}

.shrisha-stats-strip__item {
  display:      flex;
  align-items:  center;
  gap:          14px;
  padding:      16px 24px;
  margin:       0;
  border-right: 1px solid var(--sh-border);
}
.shrisha-stats-strip__item:last-child { border-right: none; }

.shrisha-stats-strip__icon {
  font-size:  24px;
  color:      var(--sh-secondary);
  flex-shrink: 0;
}
.shrisha-stats-strip__content {
  display:        flex;
  flex-direction: column;
}
.shrisha-stats-strip__number {
  font-family:  var(--sh-font-heading);
  font-size:    26px;
  font-weight:  800;
  color:        var(--sh-primary);
  line-height:  1;
  margin:       0;
  padding:      0;
}
.shrisha-stats-strip__label {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  margin-top:   3px;
  margin-bottom: 0;
  padding:      0;
  line-height:  1.4;
}


/* ============================================================
   3. WHY CHOOSE US
   ============================================================ */
.shrisha-wcu {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-wcu__inner {
  display:      grid;
  grid-template-columns: 320px 1fr;
  gap:          48px;
  max-width:    var(--sh-max-w);
  margin:       0 auto;
  padding:      0;
  align-items:  center;
}
.shrisha-wcu__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(28px, 3vw, 40px);
  font-weight:  700;
  line-height:  1.2;
  color:        var(--sh-primary);
  margin:       0 0 12px;
  padding:      0;
}
.shrisha-wcu__desc {
  font-family:  var(--sh-font-body);
  font-size:    15px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.7;
  margin:       0;
  padding:      0;
}

.shrisha-wcu__features {
  display:                grid;
  grid-template-columns:  repeat(4, 1fr);
  gap:                    16px;
  margin:                 0;
  padding:                0;
}

.shrisha-feature-box {
  background:     var(--sh-white);
  border:         1px solid var(--sh-border);
  border-radius:  var(--sh-radius-card);
  padding:        20px 16px;
  margin:         0;
  display:        flex;
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  gap:            10px;
  transition:     box-shadow .2s, transform .2s;
}
.shrisha-feature-box:hover {
  box-shadow: var(--sh-shadow);
  transform:  translateY(-2px);
}
.shrisha-feature-box__icon {
  font-size:    26px;
  color:        var(--sh-secondary);
  background:   var(--sh-bg-light);
  width:        52px;
  height:       52px;
  border-radius: 50%;
  display:      flex;
  align-items:  center;
  justify-content: center;
  margin:       0;
  padding:      0;
}
.shrisha-feature-box__title {
  font-family:  var(--sh-font-heading);
  font-size:    14px;
  font-weight:  700;
  color:        var(--sh-primary);
  margin:       0;
  padding:      0;
  line-height:  1.3;
}
.shrisha-feature-box__desc {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.55;
  margin:       0;
  padding:      0;
}


/* ============================================================
   4. PROJECT LISTING CARDS
   ============================================================ */
.shrisha-projects {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-projects__inner {
  display:      grid;
  grid-template-columns: 280px 1fr;
  gap:          48px;
  max-width:    var(--sh-max-w);
  margin:       0 auto;
  padding:      0;
  align-items:  start;
}
.shrisha-projects__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(26px, 2.5vw, 36px);
  font-weight:  700;
  line-height:  1.25;
  color:        var(--sh-primary);
  margin:       0 0 12px;
  padding:      0;
}
.shrisha-projects__desc {
  font-family:  var(--sh-font-body);
  font-size:    14px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.70;
  margin:       0 0 24px;
  padding:      0;
}

.shrisha-projects__grid {
  display:                grid;
  grid-template-columns:  repeat(4, 1fr);
  gap:                    16px;
  margin:                 0;
  padding:                0;
}

.shrisha-project-card {
  background:     var(--sh-white);
  border:         1px solid var(--sh-border);
  border-radius:  var(--sh-radius-card);
  overflow:       hidden;
  margin:         0;
  padding:        0;
  transition:     box-shadow .2s, transform .2s;
}
.shrisha-project-card:hover {
  box-shadow: var(--sh-shadow);
  transform:  translateY(-3px);
}

.shrisha-project-card__img {
  height:             180px;
  background-size:    cover;
  background-position: center;
  position:           relative;
  margin:             0;
  padding:            0;
}
.shrisha-project-card__badge {
  position:       absolute;
  top:            10px;
  left:           10px;
  background:     rgba(43,20,100,.85);
  color:          var(--sh-white);
  font-family:    var(--sh-font-heading);
  font-size:      10px;
  font-weight:    700;
  padding:        3px 10px;
  margin:         0;
  border-radius:  999px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.shrisha-project-card__body {
  padding: 14px 14px 16px;
  margin:  0;
}
.shrisha-project-card__name {
  font-family:  var(--sh-font-heading);
  font-size:    15px;
  font-weight:  700;
  color:        var(--sh-primary);
  margin:       0 0 4px;
  padding:      0;
  line-height:  1.3;
}
.shrisha-project-card__location {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  display:      flex;
  align-items:  center;
  gap:          4px;
  margin:       0 0 3px;
  padding:      0;
  line-height:  1.4;
}
.shrisha-project-card__cat {
  font-family:  var(--sh-font-body);
  font-size:    12px;
  color:        var(--sh-text-muted);
  margin:       0 0 10px;
  padding:      0;
}
.shrisha-project-card__link {
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--sh-secondary);
  display:      inline-flex;
  align-items:  center;
  gap:          4px;
  margin:       0;
  padding:      0;
  transition:   gap .15s;
}
.shrisha-project-card__link:hover { gap: 8px; }


/* ============================================================
   5. INFRASTRUCTURE SHOWCASE SLIDER
   ============================================================ */
.shrisha-infra {
  background:   var(--sh-dark);
  color:        var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    16px;
  line-height:  1.7;
}
.shrisha-infra__inner {
  display:      grid;
  grid-template-columns: 280px 1fr;
  gap:          48px;
  max-width:    var(--sh-max-w);
  margin:       0 auto;
  padding:      0;
  align-items:  center;
}
.shrisha-infra__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(22px, 2.5vw, 34px);
  font-weight:  700;
  color:        var(--sh-white);
  margin:       0 0 10px;
  padding:      0;
  line-height:  1.25;
}
.shrisha-infra__desc {
  font-family:  var(--sh-font-body);
  font-size:    14px;
  font-weight:  400;
  color:        rgba(255,255,255,.65);
  line-height:  1.7;
  margin:       0;
  padding:      0;
}

.shrisha-infra__slider-wrap {
  overflow:   hidden;
  margin:     0;
  padding:    0;
}

.shrisha-infra-swiper { overflow: hidden; }
.shrisha-infra__slide { margin: 0; padding: 0; }
.shrisha-infra__slide-img {
  height:             200px;
  background-size:    cover;
  background-position: center;
  border-radius:      var(--sh-radius-sm);
  margin:             0;
  padding:            0;
}
.shrisha-infra__slide-caption {
  font-family:  var(--sh-font-heading);
  font-size:    12px;
  font-weight:  600;
  color:        rgba(255,255,255,.8);
  margin:       8px 0 0;
  padding:      0;
  text-align:   center;
  line-height:  1.4;
}

/* Swiper nav overrides for dark bg */
.shrisha-infra .swiper-button-prev,
.shrisha-infra .swiper-button-next {
  color:            var(--sh-white);
  background:       rgba(255,255,255,.15);
  width:            36px;
  height:           36px;
  border-radius:    50%;
  backdrop-filter:  blur(4px);
}
.shrisha-infra .swiper-button-prev::after,
.shrisha-infra .swiper-button-next::after { font-size: 14px; }


/* ============================================================
   6. INVESTMENT BENEFITS
   ============================================================ */
.shrisha-inv {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-inv__inner {
  max-width:  var(--sh-max-w);
  margin:     0 auto;
  padding:    0;
}
.shrisha-inv__intro {
  margin-bottom:  40px;
  padding:        0;
}
.shrisha-inv__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(26px, 2.5vw, 38px);
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.2;
  margin:       0;
  padding:      0;
}

.shrisha-inv__grid {
  display:                grid;
  grid-template-columns:  repeat(5, 1fr);
  gap:                    16px;
  align-items:            stretch;
  margin:                 0;
  padding:                0;
}

.shrisha-benefit {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  gap:            10px;
  padding:        24px 16px;
  margin:         0;
  border:         1px solid var(--sh-border);
  border-radius:  var(--sh-radius-card);
  background:     var(--sh-white);
  transition:     box-shadow .2s;
}
.shrisha-benefit:hover { box-shadow: var(--sh-shadow-card); }

.shrisha-benefit__icon {
  font-size:      26px;
  color:          var(--sh-secondary);
  background:     var(--sh-bg-light);
  width:          56px;
  height:         56px;
  border-radius:  50%;
  display:        flex;
  align-items:    center;
  justify-content: center;
  margin:         0;
  padding:        0;
}
.shrisha-benefit__title {
  font-family:  var(--sh-font-heading);
  font-size:    15px;
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.3;
  margin:       0;
  padding:      0;
}
.shrisha-benefit__desc {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.55;
  margin:       0;
  padding:      0;
}

.shrisha-inv__highlight {
  background:     var(--sh-bg-light);
  border-radius:  var(--sh-radius-card);
  padding:        24px 20px;
  margin:         0;
  display:        flex;
  flex-direction: column;
  align-items:    flex-start;
  gap:            8px;
}
.shrisha-inv__hl-title {
  font-family:  var(--sh-font-heading);
  font-size:    15px;
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.3;
  margin:       0;
  padding:      0;
}
.shrisha-inv__hl-desc {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.55;
  margin:       0;
  padding:      0;
}
.shrisha-inv__hl-link {
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--sh-secondary);
  display:      inline-flex;
  align-items:  center;
  gap:          4px;
  margin-top:   4px;
  margin-bottom: 0;
  padding:      0;
}


/* ============================================================
   7. TESTIMONIALS SLIDER
   ============================================================ */
.shrisha-testi {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-testi__inner {
  max-width:  var(--sh-max-w);
  margin:     0 auto;
  padding:    0;
}
.shrisha-testi__intro {
  display:      grid;
  grid-template-columns: 260px auto 1fr;
  gap:          40px;
  align-items:  start;
  margin:       0 0 32px;
  padding:      0;
}
.shrisha-testi__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(22px, 2vw, 30px);
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.25;
  margin:       0;
  padding:      0;
}
.shrisha-testi__quote-icon {
  padding-top:  8px;
  margin:       0;
}

.shrisha-testi-swiper { overflow: hidden; }
.shrisha-testi__slide {
  background:     var(--sh-white);
  border:         1px solid var(--sh-border);
  border-radius:  var(--sh-radius-card);
  padding:        24px;
  margin:         0;
  min-height:     180px;
}
.shrisha-testi__stars {
  font-size:      18px;
  color:          var(--sh-gold);
  margin-bottom:  12px;
  padding:        0;
  line-height:    1;
}
.shrisha-testi__review {
  font-family:  var(--sh-font-body);
  font-size:    15px;
  font-weight:  400;
  font-style:   italic;
  color:        var(--sh-text-body);
  line-height:  1.75;
  margin:       0 0 20px;
  padding:      0;
}
.shrisha-testi__author {
  display:      flex;
  align-items:  center;
  gap:          12px;
  margin:       0;
  padding:      0;
}
.shrisha-testi__avatar {
  width:          44px;
  height:         44px;
  border-radius:  50%;
  object-fit:     cover;
  border:         2px solid var(--sh-border);
  margin:         0;
  padding:        0;
  display:        block;
}
.shrisha-testi__name {
  display:      block;
  font-family:  var(--sh-font-heading);
  font-size:    14px;
  font-weight:  700;
  color:        var(--sh-primary);
  margin:       0;
  padding:      0;
  line-height:  1.3;
}
.shrisha-testi__location {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  margin:       0;
  padding:      0;
  line-height:  1.4;
}


/* ============================================================
   8. LOCATION ADVANTAGE
   ============================================================ */
.shrisha-loc {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-loc__inner {
  display:      grid;
  grid-template-columns: 1fr 1fr;
  gap:          56px;
  max-width:    var(--sh-max-w);
  margin:       0 auto;
  padding:      0;
  align-items:  center;
}
.shrisha-loc__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(26px, 2.5vw, 36px);
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.2;
  margin:       0 0 24px;
  padding:      0;
}
.shrisha-loc__features {
  display:        flex;
  flex-direction: column;
  gap:            14px;
  margin:         0;
  padding:        0;
}
.shrisha-loc__feat {
  display:      flex;
  align-items:  flex-start;
  gap:          12px;
  margin:       0;
  padding:      0;
}
.shrisha-loc__feat-icon {
  font-size:    16px;
  color:        var(--sh-secondary);
  margin-top:   2px;
  flex-shrink:  0;
}
.shrisha-loc__feat-title {
  font-family:  var(--sh-font-body);
  font-size:    15px;
  font-weight:  400;
  color:        var(--sh-text-body);
  line-height:  1.6;
  margin:       0;
  padding:      0;
}

.shrisha-loc__image {
  width:          100%;
  height:         auto;
  border-radius:  var(--sh-radius);
  display:        block;
  object-fit:     cover;
  margin:         0;
  padding:        0;
}


/* ============================================================
   9. AMENITIES ICON GRID
   ============================================================ */
.shrisha-amenities {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-amenities__grid {
  display:                grid;
  grid-template-columns:  repeat(8, 1fr);
  gap:                    16px;
  max-width:              var(--sh-max-w);
  margin:                 20px auto 0;
  padding:                0;
}
.shrisha-amenity {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            10px;
  text-align:     center;
  margin:         0;
  padding:        0;
}
.shrisha-amenity__icon {
  font-size:      22px;
  color:          var(--sh-secondary);
  background:     var(--sh-bg-light);
  width:          56px;
  height:         56px;
  border-radius:  50%;
  display:        flex;
  align-items:    center;
  justify-content: center;
  margin:         0;
  padding:        0;
}
.shrisha-amenity__title {
  font-family:  var(--sh-font-heading);
  font-size:    12px;
  font-weight:  600;
  color:        var(--sh-text-body);
  line-height:  1.4;
  margin:       0;
  padding:      0;
}


/* ============================================================
   10. CALL TO ACTION BANNER
   ============================================================ */
.shrisha-cta {
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    16px;
  color:        var(--sh-white);
}
.shrisha-cta__inner {
  display:          flex;
  align-items:      center;
  gap:              40px;
  justify-content:  space-between;
  flex-wrap:        wrap;
  max-width:        var(--sh-max-w);
  margin:           0 auto;
  padding:          0;
}
.shrisha-cta__heading {
  font-family:  var(--sh-font-heading);
  font-size:    clamp(22px, 2.5vw, 32px);
  font-weight:  700;
  color:        var(--sh-white);
  line-height:  1.2;
  margin:       0 0 8px;
  padding:      0;
}
.shrisha-cta__desc {
  font-family:  var(--sh-font-body);
  font-size:    15px;
  font-weight:  400;
  color:        rgba(255,255,255,.8);
  line-height:  1.65;
  margin:       0;
  padding:      0;
  max-width:    320px;
}

.shrisha-cta__badges {
  display:    flex;
  gap:        20px;
  flex-wrap:  wrap;
  margin:     0;
  padding:    0;
}
.shrisha-cta__badge {
  display:      flex;
  align-items:  center;
  gap:          8px;
  color:        var(--sh-white);
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  margin:       0;
  padding:      0;
}
.shrisha-cta__badge-icon {
  font-size:  18px;
  opacity:    .9;
}
.shrisha-cta__action {
  flex-shrink: 0;
  margin:      0;
  padding:     0;
}


/* ============================================================
   11. BLOG POST SLIDER
   ============================================================ */
.shrisha-blog {
  background:   var(--sh-white);
  padding:      var(--sh-section-py) 40px;
  margin:       0;
  font-family:  var(--sh-font-body);
  font-size:    17px;
  color:        var(--sh-text-body);
}
.shrisha-blog__header {
  display:          flex;
  align-items:      center;
  justify-content:  space-between;
  margin:           0 auto 24px;
  padding:          0;
  max-width:        var(--sh-max-w);
}
.shrisha-blog__view-all {
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--sh-secondary);
  display:      inline-flex;
  align-items:  center;
  gap:          4px;
  margin:       0;
  padding:      0;
}
.shrisha-blog__no-posts {
  font-family:  var(--sh-font-body);
  color:        var(--sh-text-muted);
  font-size:    15px;
  margin:       0;
  padding:      0;
}

.shrisha-blog-swiper {
  max-width:  var(--sh-max-w);
  margin:     0 auto;
  overflow:   hidden;
  padding:    0;
}

.shrisha-blog-card {
  background:     var(--sh-white);
  border:         1px solid var(--sh-border);
  border-radius:  var(--sh-radius-card);
  overflow:       hidden;
  height:         100%;
  display:        flex;
  flex-direction: column;
  margin:         0;
  padding:        0;
  transition:     box-shadow .2s, transform .2s;
}
.shrisha-blog-card:hover {
  box-shadow: var(--sh-shadow);
  transform:  translateY(-2px);
}

.shrisha-blog-card__img-wrap {
  display: block;
  margin:  0;
  padding: 0;
}
.shrisha-blog-card__img {
  height:             160px;
  background-size:    cover;
  background-position: center;
  margin:             0;
  padding:            0;
}
.shrisha-blog-card__img--no-thumb { background: var(--sh-bg-light); }

.shrisha-blog-card__body {
  padding:        14px;
  margin:         0;
  display:        flex;
  flex-direction: column;
  gap:            6px;
  flex:           1;
}
.shrisha-blog-card__cat {
  font-family:    var(--sh-font-heading);
  font-size:      11px;
  font-weight:    700;
  color:          var(--sh-secondary);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin:         0;
  padding:        0;
}
.shrisha-blog-card__date {
  font-family:  var(--sh-font-body);
  font-size:    12px;
  color:        var(--sh-text-muted);
  margin:       0;
  padding:      0;
}
.shrisha-blog-card__title {
  font-family:  var(--sh-font-heading);
  font-size:    15px;
  font-weight:  700;
  color:        var(--sh-primary);
  line-height:  1.35;
  margin:       4px 0;
  padding:      0;
}
.shrisha-blog-card__title a { color: inherit; }
.shrisha-blog-card__excerpt {
  font-family:  var(--sh-font-body);
  font-size:    13px;
  font-weight:  400;
  color:        var(--sh-text-muted);
  line-height:  1.65;
  margin:       0;
  padding:      0;
  flex:         1;
}
.shrisha-blog-card__link {
  font-family:  var(--sh-font-heading);
  font-size:    13px;
  font-weight:  600;
  color:        var(--sh-secondary);
  display:      inline-flex;
  align-items:  center;
  gap:          4px;
  margin-top:   auto;
  margin-bottom: 0;
  padding:      0;
  transition:   gap .15s;
}
.shrisha-blog-card__link:hover { gap: 8px; }


/* ============================================================
   SWIPER GLOBAL OVERRIDES
   ============================================================ */
.swiper-button-prev,
.swiper-button-next {
  color:          var(--sh-secondary) !important;
  background:     var(--sh-white);
  border:         1px solid var(--sh-border);
  width:          38px !important;
  height:         38px !important;
  border-radius:  50%;
  box-shadow:     0 2px 8px rgba(0,0,0,.1);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 13px !important;
  font-weight: 900;
}
.swiper-pagination-bullet-active { background: var(--sh-secondary) !important; }


/* ============================================================
   RESPONSIVE — 1024px
   ============================================================ */
@media (max-width: 1024px) {
  .shrisha-hero__inner              { grid-template-columns: 1fr; padding: 40px 24px 24px; }
  .shrisha-hero__slider-wrap        { height: 280px; }
  .shrisha-hero__stats-bar          { margin: 0 24px 32px; padding: 16px 20px; flex-wrap: wrap; }
  .shrisha-hero__stats-items        { gap: 16px; }
  .shrisha-wcu__inner               { grid-template-columns: 1fr; }
  .shrisha-wcu__features            { grid-template-columns: repeat(2, 1fr); }
  .shrisha-projects__inner          { grid-template-columns: 1fr; }
  .shrisha-projects__grid           { grid-template-columns: repeat(2, 1fr); }
  .shrisha-infra__inner             { grid-template-columns: 1fr; }
  .shrisha-inv__grid                { grid-template-columns: repeat(3, 1fr); }
  .shrisha-testi__intro             { grid-template-columns: 1fr; }
  .shrisha-loc__inner               { grid-template-columns: 1fr; }
  .shrisha-amenities__grid          { grid-template-columns: repeat(4, 1fr); }
  .shrisha-stats-grid               { grid-template-columns: repeat(2, 1fr); }
  .shrisha-stats-strip__item        { border-right: none; border-bottom: 1px solid var(--sh-border); }
  .shrisha-stats-strip__item:last-child { border-bottom: none; }
}

/* ============================================================
   RESPONSIVE — 768px
   ============================================================ */
@media (max-width: 768px) {
  :root { --sh-section-py: 40px; }

  .shrisha-section                  { padding: 40px 20px; font-size: 16px; }
  .shrisha-stats-strip              { padding: 32px 20px; font-size: 15px; }
  .shrisha-infra                    { padding: 40px 20px; font-size: 15px; }
  .shrisha-cta                      { padding: 40px 20px; }

  /* Paragraph size on mobile */
  .shrisha-section p,
  .shrisha-hero__desc,
  .shrisha-wcu__desc,
  .shrisha-projects__desc,
  .shrisha-infra__desc,
  .shrisha-cta__desc,
  .shrisha-loc__feat-title          { font-size: 15px; }

  .shrisha-cta__inner               { flex-direction: column; align-items: flex-start; }
  .shrisha-wcu__features            { grid-template-columns: repeat(2, 1fr); }
  .shrisha-projects__grid           { grid-template-columns: 1fr; }
  .shrisha-inv__grid                { grid-template-columns: repeat(2, 1fr); }
  .shrisha-amenities__grid          { grid-template-columns: repeat(4, 1fr); }
  .shrisha-stats-grid               { grid-template-columns: repeat(2, 1fr); }
  .shrisha-hero__stats-bar          { flex-direction: column; align-items: flex-start; }
  .shrisha-hero__stats-cta          { width: 100%; }
  .shrisha-testi__intro             { margin-bottom: 20px; }
}

/* ============================================================
   RESPONSIVE — 480px
   ============================================================ */
@media (max-width: 480px) {
  .shrisha-wcu__features            { grid-template-columns: 1fr 1fr; }
  .shrisha-amenities__grid          { grid-template-columns: repeat(2, 1fr); }
  .shrisha-inv__grid                { grid-template-columns: 1fr 1fr; }
  .shrisha-stats-grid               { grid-template-columns: 1fr 1fr; }

  .shrisha-section p,
  .shrisha-hero__desc,
  .shrisha-infra__desc,
  .shrisha-cta__desc                { font-size: 14px; line-height: 1.65; }
}

/* ============================================================
   LARGE DESKTOP — 1366px+
   ============================================================ */
@media (min-width: 1366px) {
  .shrisha-section p,
  .shrisha-hero__desc,
  .shrisha-wcu__desc,
  .shrisha-projects__desc,
  .shrisha-loc__feat-title,
  .shrisha-testi__review            { font-size: 18px; }

  .shrisha-stats-strip__label,
  .shrisha-infra__desc              { font-size: 14px; }
}

/* ============================================================
   MISSING CLASSES — layout wrappers & counter
   ============================================================ */

/* shrisha-counter — animated number in hero stats bar & stats strip */
.shrisha-counter {
  font-family:  var(--sh-font-heading);
  font-size:    20px;
  font-weight:  800;
  color:        var(--sh-primary);
  line-height:  1;
  display:      inline-block;
  margin:       0;
  padding:      0;
}
/* When used inside stats strip number span */
.shrisha-stats-strip__number.shrisha-counter {
  font-size: 26px;
}

/* shrisha-cta__left — text column inside CTA banner */
.shrisha-cta__left {
  display:        flex;
  flex-direction: column;
  gap:            6px;
  flex:           1;
  min-width:      0;
  margin:         0;
  padding:        0;
  font-family:    var(--sh-font-body);
  font-size:      16px;
  color:          var(--sh-white);
  line-height:    1.65;
}

/* shrisha-infra__intro — left column (eyebrow + heading + desc) */
.shrisha-infra__intro {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  margin:         0;
  padding:        0;
  font-family:    var(--sh-font-body);
  font-size:      15px;
  color:          rgba(255,255,255,.75);
  line-height:    1.7;
}

/* shrisha-wcu__intro — left column (eyebrow + heading + desc) */
.shrisha-wcu__intro {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  margin:         0;
  padding:        0;
  font-family:    var(--sh-font-body);
  font-size:      16px;
  color:          var(--sh-text-body);
  line-height:    1.75;
}

/* shrisha-projects__left — left column (eyebrow + heading + desc + btn) */
.shrisha-projects__left {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  margin:         0;
  padding:        0;
  font-family:    var(--sh-font-body);
  font-size:      15px;
  color:          var(--sh-text-body);
  line-height:    1.75;
}

/* shrisha-loc__left — left column (eyebrow + heading + feature list) */
.shrisha-loc__left {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  margin:         0;
  padding:        0;
  font-family:    var(--sh-font-body);
  font-size:      16px;
  color:          var(--sh-text-body);
  line-height:    1.75;
}

/* shrisha-loc__right — right column (image or placeholder) */
.shrisha-loc__right {
  display:    block;
  margin:     0;
  padding:    0;
  background: transparent;
  line-height: 0;
}
