:root {
  --bs-card-radius: 10px;
  --bs-panel-radius: 12px;
  --bs-soft-shadow: 0 16px 38px rgba(15, 56, 48, .10);
  --bs-hover-shadow: 0 22px 50px rgba(15, 56, 48, .16);
  --bs-fast: .24s ease;
  --text-primary: #1A1F1C;
  --text-secondary: #3F4A45;
  --text-muted: #596860;
  --text-on-dark-primary: #FFFFFF;
  --text-on-dark-secondary: #E8F0EC;
  --text-on-dark-muted: #C7D5CF;
  --bg-dark: #0F3830;
  --brand-green: #0F3830;
  --brand-orange: #F27C22;
  --brand-orange-readable: #B84F00;
}

img { max-width: 100%; }
picture { display: block; width: 100%; height: 100%; }
picture > img { display: block; width: 100%; height: 100%; object-fit: cover; }

body {
  color: var(--text-primary);
}

.section-kicker,
.eyebrow,
.news-card span,
.product-meta span,
.landing-meta span,
.breadcrumb-link,
.read-more {
  color: var(--brand-orange-readable);
}

.heading-note,
.product-card p,
.core-product-card p,
.news-card p,
.about-info-card p,
.about-certification-card p,
.company-highlight-card p,
.article-body p,
.landing-prose,
.technical-table dd,
.product-param-table dd {
  color: var(--text-secondary);
}

.dark-bg,
.hero,
.bright-hero,
.about-hero,
.news-hero,
.product-detail-hero,
.quote-shell.inquiry-section,
.contact-cta,
.site-footer {
  background-color: var(--bg-dark);
  color: var(--text-on-dark-primary);
}

.dark-bg h1,
.dark-bg h2,
.dark-bg h3,
.hero h1,
.hero h2,
.hero h3,
.bright-hero h1,
.bright-hero h2,
.bright-hero h3,
.about-hero h1,
.about-hero h2,
.about-hero h3,
.news-hero h1,
.news-hero h2,
.news-hero h3,
.product-detail-hero h1,
.product-detail-hero h2,
.product-detail-hero h3,
.quote-shell .inquiry-copy h1,
.quote-shell .inquiry-copy h2,
.quote-shell .inquiry-copy h3,
.contact-cta h1,
.contact-cta h2,
.contact-cta h3,
.site-footer strong,
.site-footer h2,
.site-footer h3 {
  color: var(--text-on-dark-primary) !important;
}

.dark-bg p,
.dark-bg li,
.dark-bg span,
.hero-copy > p:not(.eyebrow),
.hero-note,
.hero-feature p,
.about-hero-copy > p:not(.section-kicker),
.about-hero-copy strong,
.news-hero > p:not(.section-kicker),
.product-detail-hero-copy > p:not(.section-kicker),
.quote-shell .inquiry-copy > p:not(.section-kicker),
.quote-shell .quote-steps,
.quote-shell .quote-steps li,
.contact-cta p,
.site-footer,
.site-footer p,
.site-footer address,
.site-footer address p,
.site-footer small {
  color: var(--text-on-dark-secondary) !important;
}

.dark-bg .text-muted,
.hero-feature span,
.about-hero .about-english-title,
.site-footer .footer-tag,
.site-footer .footer-certifications small {
  color: var(--text-on-dark-muted) !important;
}

.dark-bg .section-kicker,
.hero .eyebrow,
.about-hero .section-kicker,
.news-hero .section-kicker,
.product-detail-hero .section-kicker,
.quote-shell .section-kicker,
.contact-cta .section-kicker,
.site-footer i {
  color: #FFB15C !important;
}

.quote-shell.inquiry-section {
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 177, 92, .14), transparent 30%),
    linear-gradient(135deg, #0F3830 0%, #08251F 62%, #061C18 100%),
    #0F3830 !important;
  background-color: #0F3830 !important;
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 24px 58px rgba(7, 35, 29, .18);
}

.quote-shell .inquiry-copy {
  color: var(--text-on-dark-primary);
}

.quote-shell .inquiry-highlights span {
  border-left-color: #FFB15C;
  background: #1D4A41 !important;
  color: var(--text-on-dark-secondary) !important;
}

.quote-shell .inquiry-highlights i {
  color: #FFB15C !important;
}

.quote-shell .quote-form,
.quote-shell .inquiry-form,
.quote-shell .about-company-highlights,
.quote-shell .company-highlight-card {
  color: var(--text-primary);
}

.quote-shell .quote-form label,
.quote-shell .inquiry-form label,
.quote-shell .quote-form input,
.quote-shell .quote-form textarea,
.quote-shell .quote-form select,
.quote-shell .inquiry-form input,
.quote-shell .inquiry-form textarea,
.quote-shell .inquiry-form select {
  color: var(--text-primary) !important;
}

.quote-shell .quote-form input::placeholder,
.quote-shell .quote-form textarea::placeholder,
.quote-shell .inquiry-form input::placeholder,
.quote-shell .inquiry-form textarea::placeholder {
  color: var(--text-muted) !important;
  opacity: 1;
}

.site-footer a,
.site-footer .footer-tag {
  color: var(--text-on-dark-primary) !important;
}

.site-footer .footer-tag {
  border-color: rgba(255, 255, 255, .26);
  background: rgba(255, 255, 255, .12);
}

.main-nav a {
  color: var(--brand-green) !important;
}

.main-nav a:hover,
.main-nav a.is-active,
.header-translate.is-open,
.header-translate.is-hovering {
  color: #0A3328 !important;
}

.header-cta,
.primary-link,
.inquiry-btn,
.product-card-actions .inquiry-btn,
.product-action-quote,
.whatsapp-text-link,
button[type="submit"],
.quote-submit {
  background: #A84400 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: transparent;
}

.header-cta:hover,
.primary-link:hover,
.inquiry-btn:hover,
.product-card-actions .inquiry-btn:hover,
.product-action-quote:hover,
.whatsapp-text-link:hover,
button[type="submit"]:hover,
.quote-submit:hover {
  background: #873800 !important;
  background-image: none !important;
  color: #FFFFFF !important;
}

.product-card-actions .inquiry-btn span,
.product-action-quote span,
.product-action-quote i {
  color: #FFFFFF !important;
}

.secondary-link,
.secondary-detail-link,
.product-card-actions .secondary-detail-link,
.landing-action-secondary,
.language-button,
.news-category-filter button,
.news-pagination button {
  color: var(--brand-green);
  border-color: rgba(15, 56, 48, .34);
}

.core-products-more a {
  color: var(--brand-orange-readable) !important;
  border-color: var(--brand-orange-readable) !important;
}

.core-products-more a:hover {
  background: #A84400 !important;
  color: #FFFFFF !important;
}

.dark-bg .secondary-link,
.hero .secondary-link,
.about-hero .secondary-link,
.product-detail-hero .landing-action-secondary,
.contact-cta .whatsapp-text-link {
  color: var(--text-on-dark-primary) !important;
  border-color: rgba(255, 255, 255, .46);
  background: #1D4A41 !important;
}

.language-button.is-selected,
.news-category-filter button.is-active,
.news-category-filter button.active {
  background: #A84400 !important;
  color: #FFFFFF !important;
}

input,
select,
textarea {
  color: var(--text-primary);
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted);
  opacity: 1;
}

.form-help,
.quote-form small,
.inquiry-form small {
  color: var(--text-muted);
}

.product-card,
.core-product-card,
.news-card,
.about-info-card,
.about-certification-card,
.company-highlight-card {
  border-radius: var(--bs-card-radius);
  box-shadow: var(--bs-soft-shadow);
  transition: transform var(--bs-fast), box-shadow var(--bs-fast), border-color var(--bs-fast);
}

.product-card:hover,
.core-product-card:hover,
.news-card:hover,
.about-info-card:hover,
.about-certification-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--bs-hover-shadow);
}

.product-image,
.core-product-image,
.news-card > picture,
.article-hero > picture,
.product-detail-hero-media,
.product-detail-gallery picture,
.application-card picture {
  overflow: hidden;
  border-radius: var(--bs-card-radius);
  background: #e7eee9;
}

.product-image img,
.core-product-image img,
.news-card img,
.article-hero img,
.product-detail-gallery img,
.application-card img {
  transition: transform .45s ease, opacity .25s ease;
}

.product-card:hover .product-image img,
.core-product-card:hover .core-product-image img,
.news-card:hover .news-card-image,
.application-card:hover img {
  transform: scale(1.045);
}

.core-product-image,
.product-image {
  aspect-ratio: 16 / 10;
}

.news-card > picture,
.news-card > img {
  aspect-ratio: 4 / 3;
}

.product-detail-gallery {
  align-items: stretch;
}

.product-detail-gallery picture {
  aspect-ratio: 3 / 2;
  min-height: 220px;
}

.article-body figure picture {
  aspect-ratio: 16 / 9;
  border-radius: var(--bs-card-radius);
  overflow: hidden;
}

.primary-link,
.secondary-link,
.header-cta,
.inquiry-btn,
.secondary-detail-link,
.landing-action-secondary,
.whatsapp-text-link,
button,
input,
select,
textarea {
  min-height: 44px;
}

.primary-link,
.secondary-link,
.header-cta,
.inquiry-btn,
.secondary-detail-link,
.landing-action-secondary,
.whatsapp-text-link {
  transition: transform var(--bs-fast), box-shadow var(--bs-fast), background-color var(--bs-fast), color var(--bs-fast);
}

.primary-link:hover,
.header-cta:hover,
.inquiry-btn:hover,
.whatsapp-text-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(242, 124, 34, .22);
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(242, 124, 34, .34);
  outline-offset: 2px;
  border-color: #F27C22;
}

.technical-table,
.product-param-table {
  overflow-x: auto;
}

.technical-table > div {
  min-width: 0;
}

.about-hero,
.news-hero,
.product-detail-hero {
  background-size: cover;
  background-position: center;
}

.about-hero::before,
.news-hero::before {
  background: linear-gradient(90deg, rgba(5, 26, 23, .82), rgba(5, 26, 23, .44));
}

.image-fade,
.news-card-image,
.core-product-img {
  animation: bsImageFade .32s ease both;
}

@keyframes bsImageFade {
  from { opacity: .72; }
  to { opacity: 1; }
}

@media (max-width: 1100px) {
  .core-product-grid,
  .featured-grid,
  .dense-grid,
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .core-product-grid,
  .featured-grid,
  .dense-grid,
  .news-grid,
  .about-card-grid,
  .about-company-highlights {
    grid-template-columns: 1fr !important;
  }
  .product-detail-layout {
    grid-template-columns: 1fr;
  }
  .product-detail-side-nav {
    position: static;
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 8px;
  }
  .product-detail-side-nav a {
    white-space: nowrap;
  }
  .technical-table > div,
  .product-param-table > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .primary-link,
  .secondary-link,
  .header-cta,
  .inquiry-btn,
  .secondary-detail-link {
    width: 100%;
    justify-content: center;
  }
}
