/**
 * Inner pages layout fidelity — loaded last.
 * Fixes SiteOrigin stretch JS that injects padding-right:1000px and
 * restores WP-like hero paddings + content gutters under fixed chrome.
 */

/* Kill SO before-js ±1000px placeholder on inner pages too */
html
  body.siteorigin-panels-before-js:not(.siteorigin-panels-css-container)
  .siteorigin-panels-stretch {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* About / case image carousel — slick clones break nth-child odd/even widths */
.ab_slide_inner .slick-list {
  overflow: hidden;
}
.about_top_sections .ab_slide_inner,
.about_slider .ab_slide_inner {
  overflow: hidden;
}
.ab_slide_inner .slick-slide .sow-image-container .so-widget-image {
  height: 362px !important;
  object-fit: cover;
  border-radius: 30px;
}
.ab_slide_inner .slick-slide[data-slick-index] .sow-image-container .so-widget-image {
  width: 767px !important;
}
.ab_slide_inner
  .slick-slide[data-slick-index$="1"]
  .sow-image-container
  .so-widget-image,
.ab_slide_inner
  .slick-slide[data-slick-index$="3"]
  .sow-image-container
  .so-widget-image,
.ab_slide_inner
  .slick-slide[data-slick-index$="5"]
  .sow-image-container
  .so-widget-image,
.ab_slide_inner
  .slick-slide[data-slick-index$="7"]
  .sow-image-container
  .so-widget-image,
.ab_slide_inner
  .slick-slide[data-slick-index$="9"]
  .sow-image-container
  .so-widget-image,
.ab_slide_inner
  .slick-slide[data-slick-index="-1"]
  .sow-image-container
  .so-widget-image {
  width: 373px !important;
}

/* ---- Chrome: overlay model like WP (no body pad on inner pages) ---- */
html body:not(.home) {
  padding-top: 0 !important;
}

html body.home {
  padding-top: var(--corsel-chrome-h, 136px) !important;
}

@media (max-width: 991px) {
  html body.home {
    padding-top: var(--corsel-chrome-h, 132px) !important;
  }

  html body:not(.home) {
    padding-top: 0 !important;
  }
}

@media (min-width: 1280px) {
  body:not(.home) .container {
    max-width: 1254px;
  }
}

/* ---- Kill broken SiteOrigin stretch inline paddings; add real container gutters ----
   ONLY the page's root panel-layout stretch rows (not nested builders). */
body:not(.home)
  .corsel-wp-page
  > .entry-content
  > .panel-layout
  > .panel-grid
  > .panel-row-style.siteorigin-panels-stretch {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  left: auto !important;
  right: auto !important;
  /* Gutters match Bootstrap .container (outer offset + 15px inner pad) */
  padding-left: max(15px, calc((100vw - 1140px) / 2 + 15px)) !important;
  padding-right: max(15px, calc((100vw - 1140px) / 2 + 15px)) !important;
}

@media (min-width: 1280px) {
  body:not(.home)
    .corsel-wp-page
    > .entry-content
    > .panel-layout
    > .panel-grid
    > .panel-row-style.siteorigin-panels-stretch {
    padding-left: max(15px, calc((100vw - 1254px) / 2 + 15px)) !important;
    padding-right: max(15px, calc((100vw - 1254px) / 2 + 15px)) !important;
  }
}

/* Nested stretch rows: never inherit the page gutters */
body:not(.home)
  .corsel-wp-page
  .panel-layout
  .panel-layout
  .panel-row-style.siteorigin-panels-stretch {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Nested builders fill the padded row */
body:not(.home) .siteorigin-panels-stretch .panel-layout,
body:not(.home) .siteorigin-panels-stretch .panel-grid {
  width: 100% !important;
  max-width: 100% !important;
}

body:not(.home) .siteorigin-panels-stretch > .panel-grid-cell {
  box-sizing: border-box !important;
}

body:not(.home) .corsel-wp-page {
  width: 100%;
  max-width: none;
  overflow-x: clip;
}

body:not(.home) .corsel-wp-page .entry-content,
body:not(.home) .corsel-wp-page .panel-layout,
body:not(.home) .corsel-wp-page .elementor {
  width: 100%;
  max-width: none;
}

body:not(.home) .site-main {
  overflow: visible;
}

/* ---- Restore original WP first-row vertical paddings (longhands only) ---- */
body.page-id-28 #pg-28-0 > .panel-row-style,
body.corsel-route-about-us #pg-28-0 > .panel-row-style {
  padding-top: 199px !important;
  padding-bottom: 60px !important;
}

body.page-id-29 #pg-29-0 > .panel-row-style,
body.corsel-route-contact-us #pg-29-0 > .panel-row-style {
  padding-top: 201px !important;
  padding-bottom: 227px !important;
}

body.page-id-1475 #pg-1475-0 > .panel-row-style,
body.corsel-route-performance-marketing #pg-1475-0 > .panel-row-style {
  padding-top: 163px !important;
  padding-bottom: 155px !important;
}

body.page-id-616 #pg-616-0 > .panel-row-style,
body.corsel-route-case-studies #pg-616-0 > .panel-row-style {
  padding-top: 222px !important;
  padding-bottom: 110px !important;
}

/* Case study singles */
body.single-case_study .case_study_top_sec {
  padding-top: 176px !important;
  padding-bottom: 60px !important;
  background-size: cover !important;
}

body.single-case_study .heading_logo img {
  max-width: 260px !important;
  height: auto !important;
}

body.single-case_study img,
body:not(.home) .corsel-wp-page img {
  max-width: 100%;
  height: auto;
}

body.single-case_study .top_blocks {
  min-height: 120px;
}

/* Clients (Elementor) */
body.elementor-page .elementor {
  max-width: 100%;
}

body.elementor-page .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1140px;
}

body.elementor-page .elementor > .elementor-section:first-child,
body.elementor-page .elementor > .e-con:first-child {
  padding-top: 156px !important;
}

body.elementor-page .elementor-widget-image img,
body.elementor-page .elementor-image-box-img img {
  max-width: 100%;
  height: auto;
}

/* ---- Blog listing ---- */
.corsel-blog-page {
  padding: 176px 0 100px;
}

.corsel-blog-hero {
  text-align: center;
  margin-bottom: 48px;
}

.corsel-blog-hero h1 {
  font-size: clamp(28px, 4vw, 42px);
  color: #081420;
  margin: 8px 0 12px;
}

.corsel-blog-hero p {
  color: #70798b;
  max-width: 640px;
  margin: 0 auto;
}

.corsel-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 28px;
}

.corsel-blog-card {
  background: #fff;
  border: 1px solid #e8eaef;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 8px 24px rgb(0 0 0 / 4%);
}

.corsel-blog-card-title {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 12px;
}

.corsel-blog-card-title a {
  color: #081420 !important;
  text-decoration: none;
}

.corsel-blog-card-title a:hover {
  color: #e51100 !important;
}

.corsel-blog-card-excerpt {
  color: #70798b;
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 16px;
}

.corsel-blog-card-link {
  color: #e51100 !important;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
}

.corsel-legal-page {
  padding: 140px 0 80px;
}

.corsel-legal-page h1 {
  margin-bottom: 16px;
  color: #081420;
}

/* Forms */
body:not(.home) .wpcf7-form input[type="text"],
body:not(.home) .wpcf7-form input[type="email"],
body:not(.home) .wpcf7-form input[type="tel"],
body:not(.home) .wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .corsel-sticky-social {
    display: none !important;
  }

  body.page-id-28 #pg-28-0 > .panel-row-style,
  body.page-id-29 #pg-29-0 > .panel-row-style,
  body.page-id-1475 #pg-1475-0 > .panel-row-style,
  body.page-id-616 #pg-616-0 > .panel-row-style {
    padding-top: 140px !important;
  }

  body.single-case_study .case_study_top_sec {
    padding-top: 140px !important;
  }

  body.elementor-page .elementor > .elementor-section:first-child {
    padding-top: 130px !important;
  }
}

/* Footer social absolute rails from theme */
body:not(.home) .footer_main .social-media-button-container {
  position: relative !important;
  top: auto !important;
  right: auto !important;
}
