/* ==========================================================================
   PRODUCTION UNIFIED STYLE ENGINE ISOLATION LAYERS
   ========================================================================== */
.srm-master-scope-container,
.srm-master-scope-container * {
  box-sizing: border-box !important;
}

.srm-master-scope-container {
  width: 100% !important;
  max-width: 100% !important;
  background-color: #F8FAFC !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: #1E293B !important;
}

/* CONTAINER BLOCKS */
.modern-white-card {
  background: #ffffff !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
  margin-bottom: 24px !important;
}

.layout-grid-hero-split {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

@media (min-width: 768px) {
  .layout-grid-hero-split {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  }
  .gallery-panel-column { grid-column: span 5 / span 5 !important; }
  .identity-panel-column { grid-column: span 7 / span 7 !important; }
}

.gallery-image-frame {
  border-radius: 12px !important;
  overflow: hidden !important;
  width: 100% !important;
  aspect-ratio: 1.12 / 1 !important;
  position: relative !important;
  border: 1px solid #E2E8F0 !important;
}
.gallery-image-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ==========================================================================
   PROTECTED VENDOR CARDS SECTION - FIXED GRID HYDRAULICS ENGINE
   ========================================================================== */
.srm-vendor-card-engine {
  background: #ffffff !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
  
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
}

/* Left Image Slice Container Frame */
.srm-vendor-thumb-side {
  width: 100% !important;
  height: 200px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
.srm-vendor-thumb-side img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Center Details Text Slice Container Frame */
.srm-vendor-details-side {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Right Actions Button Stack Slice Container Frame */
.srm-vendor-actions-side {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  justify-content: center !important;
}

/* Fluid Resilient Desktop Optimization Media Query Layers */
@media(min-width: 992px) {
  .srm-vendor-card-engine {
    flex-direction: row !important;
    align-items: stretch !important;
  }
  .srm-vendor-thumb-side {
    width: 28% !important;
    height: 180px !important;
  }
  .srm-vendor-details-side {
    width: 48% !important;
    padding: 0 12px !important;
  }
  .srm-vendor-actions-side {
    width: 24% !important;
  }
}

/* BADGES AND LABELS VIEWPORTS CUES */
.contractor-verified-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: #2563EB !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  letter-spacing: 0.03em !important;
}

.contractor-stars-badge {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  background: rgba(15, 23, 42, 0.85) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center;
  backdrop-filter: blur(4px) !important;
}
.srm-badge-count-inline {
  color: #94A3B8 !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  margin-left: 4px !important;
}

.srm-vendor-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.contractor-title-header {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 !important;
}

.contractor-tags-inline-flex {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 !important;
}
.contractor-pill-tag {
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.contractor-pill-tag.rate-pill {
  background: #F0FDF4 !important;
  color: #166534 !important;
  border: 1px solid #DCFCE7 !important;
}
.contractor-pill-tag.moq-pill {
  background: #F5F3FF !important;
  color: #5B21B6 !important;
  border: 1px solid #EDE9FE !important;
}

.contractor-prose-summary {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin: 0 0 14px 0 !important;
}

.contractor-location-marker {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.contractor-location-marker i { color: #6366F1 !important; font-size: 14px !important; }

/* ACTION SYSTEMS UTILITIES HOOKS */
.contractor-action-btns-box .btn-action-unit {
  width: 100% !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  border: none !important;
}
.btn-call-solid { background: #4338CA !important; color: #ffffff !important; }
.btn-call-solid:hover { background: #3730A3 !important; }
.btn-inquiry-outline { background: #ffffff !important; color: #2563EB !important; border: 1px solid #2563EB !important; }
.btn-inquiry-outline:hover { background: #EFF6FF !important; }
.btn-details-orange { background: #EA580C !important; color: #ffffff !important; }
.btn-details-orange:hover { background: #C2410C !important; }

/* REUSABLE STYLES FALLBACK */
.custom-breadcrumb-nav { margin: 4px 0 16px 0 !important; }
.breadcrumb-list { display: flex !important; list-style: none !important; padding: 0 !important; gap: 6px !important; align-items: center !important; }
.breadcrumb-list li { font-size: 13px !important; font-weight: 500 !important; }
.breadcrumb-list li a { color: #0F172A !important; text-decoration: underline !important; }
.breadcrumb-list .separator { color: #64748B !important; }

.hero-main-title { font-size: 32px !important; font-weight: 800 !important; color: #001C3D !important; margin: 0 0 14px 0 !important; }
.meta-badges-flex-row { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; margin-bottom: 20px !important; }
.rating-pill-green-badge { background: #00875A !important; color: #ffffff !important; font-size: 13px !important; font-weight: 700 !important; padding: 4px 10px !important; border-radius: 6px !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.reviews-count-meta-text { font-size: 13px !important; color: #475569 !important; font-weight: 600 !important; }
.action-write-review-trigger-btn { background: none !important; border: none !important; color: #0252D7 !important; font-weight: 600 !important; font-size: 13px !important; text-decoration: underline !important; }
.verified-jobs-count-badge { font-size: 13px !important; color: #1E293B !important; font-weight: 600 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.verified-jobs-count-badge i { color: #00875A !important; }

.asymmetric-blockquote-summary-box { background: #F8FAFC !important; border-radius: 12px !important; padding: 20px 24px 20px 64px !important; position: relative !important; margin-bottom: 24px !important; }
.asymmetric-blockquote-summary-box::before { content: "\f10d" !important; font-family: "FontAwesome" !important; position: absolute !important; left: 22px !important; top: 20px !important; font-size: 24px !important; color: #001C3D !important; }
.asymmetric-blockquote-summary-box p { font-size: 14px !important; line-height: 1.65 !important; color: #334155 !important; margin: 0 !important; }
.main-hero-inspection-action-btn { width: 100% !important; height: 48px !important; background: #001C3D !important; color: #ffffff !important; font-size: 15px !important; font-weight: 700 !important; border: none !important; border-radius: 8px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; }

.rates-and-trust-strip-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; margin-bottom: 28px !important; }
@media(min-width: 768px) { .rates-and-trust-strip-grid { grid-template-columns: 4fr 8fr !important; } }
.estimated-rate-badge-card { background: #EFF6FF !important; border-radius: 12px !important; padding: 16px 24px !important; display: flex !important; align-items: center !important; gap: 16px !important; }
.rate-currency-circle-icon { width: 44px !important; height: 44px !important; background: #001C3D !important; color: #ffffff !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 20px !important; font-weight: 700 !important; }
.rate-labels-stack { display: flex !important; flex-direction: column !important; }
.rate-labels-stack span { font-size: 11px !important; color: #1E3A8A !important; text-transform: uppercase !important; font-weight: 700 !important; }
.rate-labels-stack strong { font-size: 28px !important; color: #001C3D !important; font-weight: 800 !important; line-height: 1.1 !important; }
.rate-labels-stack strong small { font-size: 12px !important; color: #64748B !important; font-weight: 400 !important; }

.trust-badges-horizontal-flex-row { background: #ffffff !important; border: 1px solid #E2E8F0 !important; border-radius: 12px !important; padding: 16px 24px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.trust-badge-unit-item { display: inline-flex !important; align-items: center !important; gap: 10px !important; }
.trust-badge-unit-item i { font-size: 26px !important; }
.trust-badge-unit-item.t-verified i { color: #3B82F6 !important; }
.trust-badge-unit-item.t-quick i { color: #10B981 !important; }
.trust-badge-unit-item.t-trusted i { color: #F59E0B !important; }
.trust-badge-unit-item div { font-size: 13px !important; font-weight: 700 !important; color: #0F172A !important; }
.trust-badge-unit-item div span { display: block !important; font-weight: 500 !important; color: #64748B !important; font-size: 11px !important; }

.custom-navigation-tabs-bar { display: flex !important; list-style: none !important; padding: 0 !important; margin: 0 !important; gap: 4px !important; flex-wrap: wrap !important; }
.custom-navigation-tabs-bar li { padding: 14px 28px !important; font-weight: 700 !important; font-size: 14px !important; color: #475569 !important; cursor: pointer !important; border-top-left-radius: 12px !important; border-top-right-radius: 12px !important; }
.custom-navigation-tabs-bar li.tab-c1 { background: #DCE7F9 !important; color: #1E40AF !important; }
.custom-navigation-tabs-bar li.tab-c1.active-mode-node { background: #2563EB !important; color: #ffffff !important; }
.custom-navigation-tabs-bar li.tab-c2 { background: #E0F2FE !important; color: #0369A1 !important; }
.custom-navigation-tabs-bar li.tab-c2.active-mode-node { background: #0EA5E9 !important; color: #ffffff !important; }
.custom-navigation-tabs-bar li.tab-c3 { background: #F3E8FF !important; color: #6B21A8 !important; }
.custom-navigation-tabs-bar li.tab-c3.active-mode-node { background: #A855F7 !important; color: #ffffff !important; }
.custom-navigation-tabs-bar li.tab-c4 { background: #FEF3C7 !important; color: #92400E !important; }
.custom-navigation-tabs-bar li.tab-c4.active-mode-node { background: #F59E0B !important; color: #ffffff !important; }

.srm-tab-panel-sheet { display: none !important; }
.srm-tab-panel-sheet.active-panel-sheet { display: block !important; }
.tab-sheet-split-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; }
@media(min-width: 992px) { .tab-sheet-split-grid { grid-template-columns: 7fr 5fr !important; } }
.tab-sheet-left-prose h2 { font-size: 22px !important; font-weight: 700 !important; color: #0F172A !important; }

.included-services-checklist-box { background: #F8FAFC !important; border: 1px solid #E2E8F0 !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 24px !important; }
.included-services-checklist-box h3 { font-size: 16px !important; font-weight: 700 !important; color: #0F172A !important; }
.checklist-vertical-stack { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.checklist-unit-row { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 13px !important; font-weight: 600; color: #334155 !important; }
.checklist-unit-row i { color: #00875A !important; font-size: 16px !important; }

.modern-product-slider-section { margin-top: 0 !important; margin-bottom: 24px !important; }
.section-main-heading-title { font-size: 18px !important; font-weight: 800 !important; color: #001C3D !important; margin: 0 0 14px 0 !important; }
.grid-matrix-four-columns-track { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; gap: 12px !important; width: 100% !important; }
.portfolio-item-card-frame { background: #ffffff !important; border: 1px solid #E2E8F0 !important; border-radius: 12px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; position: relative !important; }

.asymmetric-ribbon-tag { position: absolute !important; top: 0 !important; left: 0 !important; padding: 4px 10px !important; font-size: 11px !important; font-weight: 800 !important; color: #ffffff !important; border-bottom-right-radius: 12px !important; z-index: 5 !important; }
.portfolio-card-image-anchor { display: block !important; width: 100% !important; aspect-ratio: 1.15 / 1 !important; overflow: hidden !important; background: #F8FAFC !important; }
.portfolio-card-image-anchor img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.portfolio-card-content-body { padding: 12px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex-grow: 1 !important; }
.portfolio-card-content-body h3 { font-size: 13px !important; font-weight: 700 !important; line-height: 1.35 !important; height: 36px !important; overflow: hidden !important; }
.portfolio-card-content-body h3 a { text-decoration: none !important; color: #0F172A !important; }
.portfolio-card-price-value { font-weight: 800 !important; color: #0252D7 !important; font-size: 14px !important; margin-bottom: 8px !important; }
.portfolio-card-action-inquiry-btn { display: block !important; text-align: center !important; background: #001C3D !important; color: #ffffff !important; padding: 8px !important; font-size: 12px !important; font-weight: 700 !important; border-radius: 6px !important; }

.related-cities-section { background: #ffffff !important; border: 1px solid #E2E8F0 !important; border-radius: 12px !important; padding: 24px !important; margin-top: 30px !important; }
.related-city-grid { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.related-city-item { background: #F8FAFC !important; border: 1px solid #E2E8F0 !important; color: #475569 !important; padding: 8px 14px !important; font-size: 13px !important; border-radius: 6px !important; font-weight: 600 !important; }