/*
 Theme Name: Astra Child - Fangpower GBB
 Template: astra
 Description: Technical additions for the native Elementor layout.
 Version: 2.5.7
*/

:root {
  --brand-fangpower: var(--e-global-color-fangpwr, #f19437);
  --brand-gbb: var(--e-global-color-gbbred1, #d72429);
  --page-brand: var(--brand-fangpower);
  --page-brand-hover: #f6a653;
  --page-brand-contrast: #211307;
}

html,
body {
  overflow-x: clip;
}

body {
  margin: 0;
  background: #0b0e0c;
}

.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .2);
}

.elementor-location-header .elementor-element,
.elementor-location-footer .elementor-element,
.native-single-post-content,
.native-single-post-content > .elementor-widget-container {
  margin-block-end: 0;
}

.native-single-shell,
.native-single-post-content,
.native-single-post-content > .elementor-widget-container {
  width: 100%;
  max-width: none;
  padding: 0;
}

/* Astra's single-post wrapper must stay neutral around the Elementor vehicle template. */
.single-pojazd .site-content > .ast-container,
.single-pojazd #primary,
.single-pojazd .site-main,
.single-pojazd .ast-article-single,
.single-pojazd .entry-content {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.page-template-elementor_header_footer .site-content > .ast-container {
  width: 100%;
  max-width: none;
  padding: 0;
}

.native-photo-panel > .elementor-background-overlay {
  z-index: 0;
}

.native-photo-panel > .elementor-element {
  position: relative;
  z-index: 1;
}

.native-brand-copy-right {
  margin-left: auto;
  text-align: right;
}

.native-logo-link,
.native-model-card,
.native-gallery-thumb,
.elementor-button {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}

.native-logo-link:hover,
.elementor-button:hover,
.native-gallery-thumb:hover,
.native-gallery-thumb:focus-visible {
  transform: translateY(-2px);
}

.native-logo-link:hover {
  filter: brightness(1.08);
}

.native-logo-link:has(img[src*="fangpower-logo"]):hover {
  outline: 1px solid var(--brand-fangpower);
}

.native-logo-link:has(img[src*="gbb-logo"]):hover {
  outline: 1px solid var(--brand-gbb);
}

.native-fangpower-panel .native-kicker,
.native-fangpower-panel .native-kicker p,
.native-model-card:has(img[src*="fangpower-"]) .native-card-meta,
.native-model-card:has(img[src*="fangpower-"]) .native-card-meta p {
  color: var(--brand-fangpower) !important;
}

.native-gbb-panel .native-kicker,
.native-gbb-panel .native-kicker p,
.native-model-card:has(img[src*="gbb-"]) .native-card-meta,
.native-model-card:has(img[src*="gbb-"]) .native-card-meta p {
  color: var(--brand-gbb) !important;
}

body:has([id^="native-capacity-fangpower-"]),
body:has(.native-product-logo img[src*="fangpower-logo"]) {
  --page-brand: var(--brand-fangpower);
  --page-brand-hover: #f6a653;
  --page-brand-contrast: #211307;
}

body:has([id^="native-capacity-gbb-"]),
body:has(.native-product-logo img[src*="gbb-logo"]) {
  --page-brand: var(--brand-gbb);
  --page-brand-hover: #e64449;
  --page-brand-contrast: #fff;
}

.native-model-card {
  overflow: hidden;
}

.native-model-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 48px rgba(21, 25, 21, .14) !important;
}

.native-model-card::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--page-brand);
  transition: width .25s ease;
}

.native-model-card:has(img[src*="fangpower-"])::after {
  background: var(--brand-fangpower);
}

.native-model-card:has(img[src*="gbb-"])::after {
  background: var(--brand-gbb);
}

.native-model-card:hover::after {
  width: 100%;
}

.native-card-image .elementor-widget-container,
.native-card-image a,
.native-card-image img,
.native-product-image .elementor-widget-container,
.native-product-image img,
.native-gallery-main .elementor-widget-container,
.native-gallery-main img,
.native-gallery-thumb .elementor-widget-container,
.native-gallery-thumb img {
  width: 100%;
  height: 100%;
}

.native-card-image img,
.native-product-image img,
.native-gallery-main img,
.native-gallery-thumb img {
  object-fit: contain;
}

.native-card-image img:is([src*="gbb-sw580el.png"], [src*="gbb-sw680el.png"], [src*="gbb-sw680s-plus.png"]),
.native-product-image img:is([src*="gbb-sw580el.png"], [src*="gbb-sw680el.png"], [src*="gbb-sw680s-plus.png"]),
.native-gallery-main img:is([src*="gbb-sw580el.png"], [src*="gbb-sw680el.png"], [src*="gbb-sw680s-plus.png"]),
.native-gallery-thumb img:is([src*="gbb-sw580el.png"], [src*="gbb-sw680el.png"], [src*="gbb-sw680s-plus.png"]) {
  transform: scale(1.72);
}

.native-card-desc {
  min-height: 68px;
}

.native-card-footer {
  margin-top: auto !important;
}

.native-quick-spec-pair + .native-quick-spec-pair {
  border-left: 1px solid rgba(255, 255, 255, .12);
}

.native-card-spec p,
.native-quick-spec p {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}

.native-card-spec span,
.native-quick-spec span {
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  opacity: .52;
}

.native-card-spec strong,
.native-quick-spec strong {
  font-size: 1rem;
}

.native-card-spec + .native-card-spec,
.native-quick-spec-cell + .native-quick-spec-cell {
  border-left: 1px solid rgba(255, 255, 255, .12);
}

.native-card-spec + .native-card-spec {
  border-left-color: rgba(18, 22, 18, .13);
}

.native-section-kicker p,
.native-kicker p,
.native-card-meta p,
.native-path-kicker p,
.native-story-kicker p,
.native-hero-count p,
.native-section-copy p,
.native-card-desc p,
.native-product-desc p,
.native-category-desc p,
.native-breadcrumb p,
.native-path-description p,
.native-path-models p,
.native-story-lead p,
.native-story-point-copy p,
.native-footer-copy p,
.native-dealers-copy p,
.native-dealers-cta-copy p,
.native-data-label p,
.native-story-number p,
.native-path-number p,
.native-dealers-empty-index p {
  margin: 0;
}

.native-section-kicker p::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  margin-right: 10px;
  vertical-align: middle;
  background: currentColor;
}

.native-capacity-nav::before {
  margin-right: 8px;
  color: rgba(255, 255, 255, .46);
  font: 900 .66rem/1 Inter, sans-serif;
}

.native-capacity-button .elementor-button:hover,
.native-path-button .elementor-button:hover,
body:has([id^="native-capacity-"]) .native-button-orange .elementor-button,
body:has(.native-product-logo) .native-button-orange .elementor-button {
  border-color: var(--page-brand) !important;
  background: var(--page-brand) !important;
  color: var(--page-brand-contrast) !important;
}

body:has([id^="native-capacity-"]) .native-button-orange .elementor-button:hover,
body:has(.native-product-logo) .native-button-orange .elementor-button:hover {
  background: var(--page-brand-hover) !important;
}

body:has([id^="native-capacity-"]) .native-section-kicker,
body:has([id^="native-capacity-"]) .native-section-kicker p,
body:has(.native-product-logo) .native-section-kicker,
body:has(.native-product-logo) .native-section-kicker p,
body:has(.native-product-logo) .native-story-kicker,
body:has(.native-product-logo) .native-story-kicker p,
body:has(.native-product-logo) .native-story-number,
body:has(.native-product-logo) .native-story-number p {
  color: var(--page-brand) !important;
}

body:has(.native-product-logo) .native-product-stage,
body:has(.native-product-logo) .native-cta {
  border-top-color: var(--page-brand) !important;
}

.native-category-hero > .elementor-background-overlay {
  background: linear-gradient(90deg, rgba(7, 9, 8, .96), rgba(7, 9, 8, .72) 48%, rgba(7, 9, 8, .3));
}

.native-product-stage {
  overflow: hidden;
}


.native-gallery-thumb {
  cursor: pointer;
}

.native-gallery-thumb:first-child,
.native-gallery-thumb.is-active {
  border-color: var(--page-brand) !important;
}

.native-gallery-thumb:focus-visible {
  outline: 2px solid var(--page-brand);
  outline-offset: 2px;
}

.native-gallery-description {
  margin-top: 18px;
  padding-top: 18px;
}

.native-gallery-description-kicker {
  color: var(--page-brand);
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.native-gallery-description-copy {
  color: #626a62;
}

.native-story-point:last-child {
  border-bottom: 1px solid rgba(18, 22, 18, .18);
}

.native-path-row:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.native-contact-form .elementor-field-label {
  text-transform: uppercase;
}

.native-contact-form .elementor-field::placeholder {
  color: rgba(255, 255, 255, .34);
}

@media (max-width: 767px) {
  .elementor-location-header {
    position: relative;
  }

  .native-brand-copy-right {
    margin-left: 0;
    text-align: left;
  }

  .native-capacity-nav::before {
    display: none;
  }

  .native-card-desc {
    min-height: 0;
  }

  .native-quick-spec-pair + .native-quick-spec-pair {
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-left: 0;
  }

  .native-path-row {
    flex-wrap: wrap;
  }

  .native-path-button {
    width: 100%;
  }

  .native-product-logo {
    margin-bottom: 10px;
  }
}
