/* SEBSS Elementor bridge styles
   Layout details the native widgets rely on. Loaded after styles.css. */

/* ---------------------------------------------------------------
   1. Release Astra's 1200px content wrapper.
   Astra wraps page-builder content in #content.site-content > .ast-container,
   which caps width and breaks full-bleed section backgrounds.
   --------------------------------------------------------------- */
.page-template-elementor_header_footer #content.site-content,
.single-elementor_library #content.site-content {
  padding: 0 !important;
  margin: 0 !important;
}

.page-template-elementor_header_footer #content.site-content > .ast-container,
.single-elementor_library #content.site-content > .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block !important;
}

.page-template-elementor_header_footer #primary,
.page-template-elementor_header_footer .entry-content,
.page-template-elementor_header_footer .ast-article-single {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  border: 0 !important;
}

/* Astra footer is replaced by the Theme Builder footer */
.page-template-elementor_header_footer .site-footer > .ast-footer-overlay,
.page-template-elementor_header_footer .ast-small-footer {
  display: none;
}

/* ---------------------------------------------------------------
   2. Header
   --------------------------------------------------------------- */
.sebss-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  transition: box-shadow .3s ease, background-color .3s ease;
}

.sebss-topbar .elementor-icon-list-items.elementor-inline-items {
  justify-content: flex-end;
  margin: 0;
}

.sebss-topbar .elementor-icon-list-item > a,
.sebss-topbar .elementor-icon-list-text {
  font-size: 12px;
}

/* ---------------------------------------------------------------
   3. Hero
   --------------------------------------------------------------- */
.sebss-hero-pill {
  display: inline-block;
  width: auto;
  align-self: flex-start;
  background-color: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-radius: 9999px;
  padding: .5rem 1.25rem;
  text-transform: uppercase;
}

/* ---------------------------------------------------------------
   4. Cards
   --------------------------------------------------------------- */
.sebss-card-img img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.sebss-project-card .sebss-card-img img,
.sebss-insight-card .sebss-card-img img {
  height: 210px;
}

.sebss-service-card,
.sebss-project-card,
.sebss-insight-card {
  transition: transform .3s ease, box-shadow .3s ease;
}

.sebss-service-card:hover,
.sebss-project-card:hover,
.sebss-insight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 2px 4px rgba(15, 23, 42, .04), 0 24px 48px -20px rgba(15, 23, 42, .22) !important;
}

/* ---------------------------------------------------------------
   5. About band
   --------------------------------------------------------------- */
.sebss-about-media { position: relative; }

.sebss-about-img img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  border-radius: 18px;
}

.sebss-about-badge {
  margin-top: -56px !important;
  margin-left: 24px !important;
  position: relative;
  z-index: 2;
}

/* ---------------------------------------------------------------
   6. CTA + gallery filters
   --------------------------------------------------------------- */
.sebss-final-cta {
  background-image: linear-gradient(100deg, #1B5E20, #2E8B43 55%, #F5A300) !important;
}

.sebss-gallery-filters button {
  font-family: Inter, sans-serif;
  font-size: .875rem;
  transition: all .2s ease;
}

.sebss-gallery-filters button:hover {
  border-color: #2e8b43 !important;
  color: #2e8b43;
}

.sebss-gallery-filters button.is-active {
  border-color: #2e8b43 !important;
  background: #2e8b43 !important;
  color: #fff !important;
}

/* ---------------------------------------------------------------
   7. Accordion
   --------------------------------------------------------------- */
.elementor-accordion .elementor-accordion-item {
  border-radius: 14px;
  margin-bottom: 1rem;
  overflow: hidden;
}

.elementor-accordion .elementor-tab-title { padding: 1.25rem 1.5rem; }

.elementor-accordion .elementor-tab-content {
  padding: 0 1.5rem 1.35rem;
  border-top: 0;
}

/* ---------------------------------------------------------------
   8. Testimonial carousel
   --------------------------------------------------------------- */
.elementor-testimonial__text {
  font-style: italic;
  color: rgba(255, 255, 255, .9);
}

.elementor-testimonial__name { color: #fff; }
.elementor-testimonial__title { color: #F5A300; }

.elementor-testimonial__image img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 50%;
}

/* ---------------------------------------------------------------
   9. Responsive
   --------------------------------------------------------------- */
@media (max-width: 1024px) {
  .sebss-about-img img { height: 320px; }
}

@media (max-width: 767px) {
  .sebss-card-img img,
  .sebss-project-card .sebss-card-img img,
  .sebss-insight-card .sebss-card-img img { height: 200px; }

  .sebss-about-img img { height: 260px; }

  .sebss-about-badge {
    margin-top: -40px !important;
    margin-left: 16px !important;
  }

  .sebss-hero-pill { font-size: 11px; }

  .sebss-topbar .elementor-icon-list-items.elementor-inline-items {
    justify-content: flex-start;
  }
}
/* === SEBSS HEADER BLOCK v2 === */
.sebss-topbar .elementor-icon-list-items.elementor-inline-items{margin:0;flex-wrap:wrap;gap:0 24px;justify-content:flex-end}
.sebss-topbar .elementor-icon-list-item{margin:0!important}
.sebss-topbar .elementor-icon-list-item:after{border:0!important}
.sebss-topbar .elementor-icon-list-icon{display:none}
.sebss-topbar p{margin:0}
.sebss-site-header{position:sticky;top:0;z-index:50;transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.sebss-site-header.is-scrolled{background-color:rgba(255,255,255,.88)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.12)}
.sebss-brand .elementor-widget-image{width:auto}
.sebss-brand img{height:4.25rem;max-height:4.5rem;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05));transition:transform .25s ease}
.sebss-brand a:hover img{transform:scale(1.03)}
.sebss-nav .elementor-nav-menu--main .elementor-nav-menu>li{margin:0}
.sebss-nav .elementor-nav-menu--main .elementor-item{font-size:.875rem;font-weight:600;border-radius:11px;transition:all .25s ease}
.sebss-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{font-weight:700}
.sebss-header-cta .elementor-button{white-space:nowrap}
.sebss-brand,.sebss-header-cta{flex-shrink:0}
.sebss-nav .elementor-nav-menu--dropdown{border-radius:0 0 14px 14px;overflow:hidden}
.sebss-nav .elementor-menu-toggle{background:transparent;padding:8px}
@media(max-width:1024px){.sebss-nav .elementor-nav-menu--main{display:none}}
@media(max-width:767px){.sebss-brand img{height:3.25rem}.sebss-topbar{font-size:11px}.sebss-topbar .elementor-icon-list-items.elementor-inline-items{justify-content:flex-start}.sebss-header-cta{display:none}}
/* === SEBSS GRADIENT FIDELITY v1 === */
.sebss-hero>.e-con-inner{position:relative;z-index:1}
.sebss-hero:before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(135deg,rgba(15,23,42,.92) 0%,rgba(12,74,110,.7) 45%,rgba(27,94,32,.55) 100%)}
.sebss-hero{position:relative}
.sebss-hero h1 .sebss-gold-text{background-image:linear-gradient(100deg,#fbc02d,#f5a300);-webkit-background-clip:text;background-clip:text;color:transparent}
.sebss-hero-copy{max-width:48rem}
.sebss-final-cta{background-image:linear-gradient(100deg,#1b5e20,#2e8b43 55%,#f5a300)!important;border-radius:2rem!important}
/* === SEBSS EFFECTS v1 === */
.sebss-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1)}
.sebss-btn-lg .elementor-button{min-height:2.75rem;padding:0 1.75rem;font-size:.875rem}
.sebss-btn-xl .elementor-button{min-height:3.5rem;padding:0 2rem;font-size:1rem}
.sebss-btn-primary .elementor-button{box-shadow:0 20px 60px -24px rgba(46,139,67,.45)}
.sebss-btn-primary .elementor-button:hover{transform:translateY(-2px);background-image:linear-gradient(100deg,#fbc02d,#f5a300);color:#1a1000}
.sebss-btn-gold .elementor-button{background-image:linear-gradient(100deg,#fbc02d,#f5a300);color:#1a1000;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.12)}
.sebss-btn-gold .elementor-button:hover{transform:translateY(-2px);filter:brightness(1.05)}
.sebss-btn-outline .elementor-button{border-width:2px}
.sebss-btn-outline .elementor-button:hover{transform:translateY(-2px);background-color:#e6f4ea}
.sebss-btn-glass .elementor-button{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.sebss-btn-glass .elementor-button:hover{transform:translateY(-2px);background-color:rgba(255,255,255,.2)}
.sebss-lift{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}
.sebss-lift:hover{transform:translateY(-6px);box-shadow:0 2px 4px rgba(15,23,42,.04),0 24px 48px -20px rgba(15,23,42,.22)!important}
.sebss-hero{position:relative}
.sebss-hero:before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(135deg,rgba(15,23,42,.92) 0%,rgba(12,74,110,.7) 45%,rgba(27,94,32,.55) 100%),linear-gradient(rgba(255,255,255,.65),rgba(255,255,255,.65))}
.sebss-hero>.e-con-inner{position:relative;z-index:1}
.sebss-hero h1 .sebss-gold-text{background-image:linear-gradient(100deg,#fbc02d,#f5a300);-webkit-background-clip:text;background-clip:text;color:transparent}
.sebss-hero-copy{max-width:48rem}
.sebss-final-cta{background-image:linear-gradient(100deg,#1b5e20,#2e8b43 55%,#f5a300)!important;border-radius:2rem!important}
/* === SEBSS NAV v2 === */
.sebss-site-header{background-color:#fff}
.sebss-nav .elementor-nav-menu--main .elementor-nav-menu{gap:.75rem}
.sebss-nav .elementor-nav-menu--main .elementor-nav-menu>li{margin:0}
.sebss-nav .elementor-nav-menu--main .elementor-item{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:11px;font-size:.875rem;font-weight:600;color:#64748b;fill:#64748b;transition:all .25s ease}
.sebss-nav .elementor-nav-menu--main .elementor-item:hover,.sebss-nav .elementor-nav-menu--main .elementor-item:focus{background-color:#e6f4ea;color:#2e8b43}
.sebss-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{background-color:#e6f4ea;color:#2e8b43;font-weight:700}
.sebss-nav .elementor-nav-menu--main .elementor-item:before,.sebss-nav .elementor-nav-menu--main .elementor-item:after{display:none!important}
.sebss-brand,.sebss-header-cta{flex-shrink:0}
.sebss-brand .elementor-widget-image{width:auto}
.sebss-brand img{height:4.25rem;max-height:4.5rem;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05));transition:transform .25s ease}
.sebss-brand a:hover img{transform:scale(1.03)}
.sebss-nav .elementor-menu-toggle{background:transparent;padding:8px}
@media(max-width:1024px){.sebss-nav .elementor-nav-menu--main{display:none}}
@media(max-width:767px){.sebss-brand img{height:3.25rem}.sebss-header-cta{display:none}.sebss-topbar .elementor-icon-list-items.elementor-inline-items{justify-content:flex-start}}
.sebss-marquee{background:#f8fafc!important;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
/* === SEBSS TESTIMONIAL HEADLINE === */
.sebss-tq{display:block;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800;line-height:1.25;color:#fff;font-style:normal;margin-bottom:1rem;letter-spacing:-.025em}
@media(max-width:767px){.sebss-tq{font-size:1.2rem}}
/* === SEBSS INNER PAGES v1 === */
.sebss-ink-hero{position:relative}
.sebss-ink-hero:before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(160deg,#0f172a,#0c4a6e),linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,.75))}
.sebss-ink-hero>.e-con-inner{position:relative;z-index:1}
.sebss-svc-hero-copy{max-width:52rem}
.sebss-svc-hero-copy .elementor-widget-text-editor{max-width:44rem}
.sebss-grad-primary{background-image:linear-gradient(100deg,#1b5e20,#2e8b43 55%,#f5a300)!important}
/* === SEBSS ABOUT v1 === */
.sebss-about-hero-copy{max-width:52rem}
.sebss-about-hero-copy .elementor-widget-text-editor{max-width:42rem}
.sebss-tall-img img{width:100%;height:440px;object-fit:cover;border-radius:24px;box-shadow:0 2px 4px rgba(15,23,42,.04),0 24px 48px -20px rgba(15,23,42,.22);border:1px solid #e2e8f0}
.sebss-owner-img img{width:100%;height:340px;object-fit:cover;object-position:center top;border-radius:16px;background:#fff}
.sebss-owners-wrap{max-width:56rem;margin-inline:auto}
.sebss-compliance-media{position:relative}
.sebss-compliance-img img{width:100%;height:360px;object-fit:cover;border-radius:24px;box-shadow:0 2px 4px rgba(15,23,42,.04),0 24px 48px -20px rgba(15,23,42,.22);border:1px solid #e2e8f0}
.sebss-compliance-badge{position:absolute!important;bottom:-1rem;right:-.5rem;max-width:13rem;z-index:2}
.sebss-brand-chip{width:auto!important;flex:0 0 auto}
@media(max-width:1024px){.sebss-tall-img img{height:360px}.sebss-owner-img img{height:300px}}
@media(max-width:767px){.sebss-tall-img img{height:260px}.sebss-owner-img img{height:280px}.sebss-compliance-img img{height:260px}.sebss-compliance-badge{position:relative!important;bottom:auto;right:auto;margin-top:-2rem;margin-left:1rem}}
/* === SEBSS CASE STUDIES v1 === */
.sebss-cs-hero-copy{max-width:56rem}
.sebss-cs-hero-copy .elementor-widget-text-editor{max-width:46rem}
.sebss-cs-stats{max-width:60rem}
.sebss-case-img img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:16px}
.sebss-case-media{align-self:stretch}
.sebss-case-media .elementor-widget-image,.sebss-case-media .elementor-widget-container{height:100%}
@media(max-width:767px){.sebss-case-img img{min-height:200px}}
/* === SEBSS BLOG + CONTACT v1 === */
.sebss-blog-hero-copy{max-width:52rem}
.sebss-blog-hero-copy .elementor-widget-text-editor{max-width:44rem}
.sebss-gal-hero-copy{max-width:50rem}
.sebss-gal-hero-copy .elementor-widget-text-editor{max-width:36rem}
.sebss-contact-hero-copy{max-width:45rem}
.sebss-blog-media{position:relative}
.sebss-blog-badge{position:absolute!important;top:1rem;left:1rem;z-index:2;background:#f5a300;color:#0f172a!important;padding:.25rem .65rem;border-radius:1rem;width:auto}
.sebss-blog-card .sebss-card-img img{height:210px}
.sebss-contact-form .elementor-field-group{margin-bottom:0}
.sebss-contact-form .elementor-field-textual{min-height:2.75rem;padding:.65rem .85rem}
.sebss-contact-form textarea.elementor-field-textual{min-height:7rem}
.sebss-contact-form .elementor-field-textual:focus{border-color:#2e8b43;box-shadow:0 0 0 3px rgba(46,139,67,.15);outline:none}
.sebss-contact-form .elementor-button{min-height:3.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 60px -24px rgba(46,139,67,.45)}
.sebss-contact-form .elementor-button:hover{transform:translateY(-2px);background-image:linear-gradient(100deg,#fbc02d,#f5a300);color:#1a1000}
.sebss-contact-form .elementor-message-success{background:#e6f4ea;border:2px solid #2e8b43;border-radius:1rem;padding:1.5rem;color:#0f172a}
/* === SEBSS SERVICE DETAIL + LEGAL === */
.sebss-sd-hero-copy{max-width:50rem}.sebss-sd-hero-copy .elementor-widget-text-editor{max-width:36rem}
.sebss-quote-hero-copy{max-width:36rem}
.sebss-legal-hero-copy{max-width:44rem}
.sebss-sd-img img{width:100%;height:220px;object-fit:cover;border-radius:16px}
.sebss-legal-body h2{scroll-margin-top:120px}
.sebss-legal-body .elementor-widget-text-editor a{color:#2e8b43;text-decoration:underline}
.sebss-legal-body .elementor-widget-text-editor ul{padding-left:1.25rem;margin:.75rem 0}
.sebss-legal-body .elementor-widget-text-editor li{margin-bottom:.5rem}
/* === SEBSS POSTS === */
.sebss-post-hero-copy{max-width:48rem}
.sebss-post-cover img{width:100%;height:360px;object-fit:cover;border-radius:20px}
.sebss-post-body .elementor-widget-text-editor a{color:#2e8b43;text-decoration:underline}
.sebss-post-body .elementor-widget-text-editor ul{padding-left:1.25rem;margin:.75rem 0}
.sebss-post-body .elementor-widget-text-editor li{margin-bottom:.5rem}
.sebss-post-body .elementor-widget-text-editor img{max-width:100%;height:auto;border-radius:16px;margin:1.5rem 0}
@media(max-width:767px){.sebss-post-cover img{height:220px}}
/* === SEBSS HEADER-FOOTER POLISH v3 === */
.sebss-site-header{background-color:#fff}
.sebss-site-header>.e-con-inner{flex-wrap:nowrap;align-items:center}
.sebss-brand,.sebss-header-cta{flex:0 0 auto}
.sebss-nav{flex:1 1 auto;min-width:0;justify-content:center}
.sebss-nav .elementor-widget-container{width:100%}
.sebss-nav .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap!important;justify-content:center;gap:.25rem}
.sebss-nav .elementor-nav-menu--main .elementor-nav-menu>li{margin:0;flex:0 0 auto}
.sebss-nav .elementor-nav-menu--main .elementor-item{white-space:nowrap;padding:.5rem .85rem;border-radius:11px;font-size:.875rem;font-weight:600;color:#64748b;transition:all .25s ease}
.sebss-nav .elementor-nav-menu--main .elementor-item:hover{background-color:#e6f4ea;color:#2e8b43}
.sebss-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{background-color:#e6f4ea;color:#2e8b43;font-weight:700}
.sebss-nav .elementor-nav-menu--main .elementor-item:before,.sebss-nav .elementor-nav-menu--main .elementor-item:after{display:none!important}
.sebss-brand img{height:3.75rem;width:auto;max-width:230px;object-fit:contain;transition:transform .25s ease}
.sebss-brand a:hover img{transform:scale(1.03)}
.sebss-header-cta .elementor-button{white-space:nowrap}
@media(max-width:1280px){.sebss-nav .elementor-nav-menu--main .elementor-item{padding:.5rem .6rem;font-size:.8125rem}.sebss-brand img{height:3.25rem}}
@media(max-width:1024px){.sebss-nav .elementor-nav-menu--main{display:none}.sebss-nav{flex:0 0 auto}}
.sebss-topbar>.e-con-inner{flex-wrap:nowrap;gap:1.5rem;align-items:center}
.sebss-topbar p{margin:0;line-height:1.4}
.sebss-topbar .elementor-icon-list-items.elementor-inline-items{margin:0;flex-wrap:nowrap;gap:0 1.5rem;justify-content:flex-end}
.sebss-topbar .elementor-icon-list-item{margin:0!important;white-space:nowrap}
.sebss-topbar .elementor-icon-list-item:after{border:0!important}
.sebss-topbar .elementor-icon-list-icon{display:none}
@media(max-width:900px){.sebss-topbar>.e-con-inner{flex-wrap:wrap;justify-content:center;gap:.35rem}.sebss-topbar .elementor-icon-list-items.elementor-inline-items{justify-content:center}.sebss-topbar p{text-align:center;font-size:11px}}
@media(max-width:600px){.sebss-topbar .sebss-topbar-note{display:none}}
/* === SEBSS FOOTER POLISH v2 === */
.sebss-foot-head{text-transform:uppercase}
.sebss-footer .elementor-icon-list-items{margin:0}
.sebss-footer .elementor-icon-list-item{margin:0!important;align-items:flex-start}
.sebss-footer .elementor-icon-list-item:after{border:0!important}
.sebss-footer .elementor-icon-list-item a,.sebss-footer .elementor-icon-list-text{transition:color .2s ease}
.sebss-footer .elementor-icon-list-icon{padding-top:.2em}
.sebss-foot-brand .elementor-widget-image{width:auto}
.sebss-foot-logo img{max-width:200px;height:auto}
.sebss-foot-brand .elementor-widget-text-editor{max-width:30rem}
.sebss-foot-contact .elementor-button{width:100%;justify-content:center}
.sebss-footer p{margin:0}
@media(max-width:1024px){.sebss-foot-cols{row-gap:44px}}
@media(max-width:767px){.sebss-foot-legal .elementor-widget-container,.sebss-foot-legal{text-align:left!important}.sebss-foot-bottom{row-gap:10px}}
