/* Brazilcomp unified light interface.
   Loaded last so every public screen shares the same surface hierarchy. */

:root {
  --bc-canvas: #f3f7fa;
  --bc-paper: #fff;
  --bc-paper-soft: #f8fafb;
  --bc-ink: #0a2039;
  --bc-copy: #526979;
  --bc-rule: #d7e3e9;
  --bc-rule-strong: #bccdd6;
  --bc-accent-soft: #e9f5f7;
  --bc-orange: #ef9200;
  --bc-light-shadow: 0 18px 48px rgba(8, 31, 51, .08);
}

body,
.site-shell,
.brazilcomp-internal-dark,
.brazilcomp-internal-dark .site-shell,
body.single-product,
body.woocommerce-page {
  color: var(--bc-ink);
  background: var(--bc-canvas);
}

body.single-product .site-header,
body.woocommerce-page .site-header,
.brazilcomp-internal-dark .site-header {
  color: var(--bc-ink);
  background: rgba(255, 255, 255, .985);
  border-bottom-color: var(--bc-rule);
  box-shadow: 0 8px 28px rgba(8, 31, 51, .06);
}

body.single-product .header-logo-text,
body.single-product .primary-menu > li > a,
body.single-product .icon-button,
body.single-product .menu-toggle,
body.woocommerce-page .header-logo-text,
body.woocommerce-page .primary-menu > li > a,
body.woocommerce-page .icon-button,
body.woocommerce-page .menu-toggle,
.brazilcomp-internal-dark .header-logo-text,
.brazilcomp-internal-dark .primary-menu > li > a,
.brazilcomp-internal-dark .icon-button,
.brazilcomp-internal-dark .menu-toggle {
  color: var(--bc-ink);
}

body.single-product .header-left .custom-logo,
body.woocommerce-page .header-left .custom-logo,
.brazilcomp-internal-dark .header-left .custom-logo {
  filter: none;
}

body.single-product .icon-button:hover,
body.single-product .menu-toggle:hover,
body.woocommerce-page .icon-button:hover,
body.woocommerce-page .menu-toggle:hover,
.brazilcomp-internal-dark .icon-button:hover,
.brazilcomp-internal-dark .menu-toggle:hover {
  background: var(--bc-accent-soft);
}

body.single-product .search-panel,
body.woocommerce-page .search-panel {
  background: var(--bc-paper);
  border-top-color: var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

body.single-product .search-panel label,
body.woocommerce-page .search-panel label,
body.single-product .search-field input,
body.woocommerce-page .search-field input {
  color: var(--bc-ink);
}

body.single-product .search-field,
body.woocommerce-page .search-field {
  background: var(--bc-paper);
  border-color: var(--bc-rule-strong);
}

body.single-product .search-field input::placeholder,
body.woocommerce-page .search-field input::placeholder {
  color: #7a8e9c;
}

/* Pale technical grid replaces full-screen dark mastheads. */
.bc-page-hero,
.bc-legal-hero,
html body.woocommerce-account:not(.logged-in) .page-hero,
html body.woocommerce-account .bc-account__header,
body.woocommerce-checkout .bc-commerce-intro--checkout {
  color: var(--bc-ink);
  background-color: #edf4f7;
  background-image:
    linear-gradient(rgba(8, 117, 173, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 117, 173, .055) 1px, transparent 1px),
    radial-gradient(circle at 82% 18%, rgba(0, 169, 197, .13), transparent 30%);
  background-size: 56px 56px, 56px 56px, auto;
  border-color: var(--bc-rule);
  box-shadow: none;
}

.bc-page-hero::after,
html body.woocommerce-account:not(.logged-in) .page-hero::after,
html body.woocommerce-account .bc-account__header::after {
  opacity: 0;
}

.bc-page-hero .eyebrow,
.bc-legal-hero .eyebrow,
.bc-company-kicker,
html body.woocommerce-account .bc-auth__intro span,
html body.woocommerce-account .bc-account__header span,
body.woocommerce-checkout .bc-commerce-intro span {
  color: var(--blue-700);
}

.bc-page-hero h1,
.bc-legal-hero h1,
.bc-page-hero__copy > p:last-child,
.bc-legal-hero > .container > p:last-of-type,
html body.woocommerce-account:not(.logged-in) .page-hero h1,
html body.woocommerce-account .bc-account__header h2,
html body.woocommerce-account .bc-account__header > p,
body.woocommerce-checkout .bc-commerce-intro--checkout h2,
body.woocommerce-checkout .bc-commerce-intro--checkout > p {
  color: var(--bc-ink);
}

.bc-legal-breadcrumb,
.bc-legal-breadcrumb a,
.bc-legal-hero time {
  color: var(--blue-700);
}

.bc-page-section,
.bc-legal-page,
.bc-contact-page .bc-contact-location,
body.single-product .site-main,
body.single-product #primary,
body.single-product .woocommerce,
body.woocommerce-page .content-area,
body.woocommerce-page .site-main,
body.woocommerce-page #primary {
  color: var(--bc-ink);
  background: var(--bc-canvas);
}

body.woocommerce-page .page-hero h1,
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page .woocommerce-products-header .term-description {
  color: var(--bc-ink);
}

/* Home: light industrial editorial direction. */
.hero {
  color: var(--bc-ink);
  background: #eaf1f4;
}

.hero__media img {
  opacity: .42;
  filter: saturate(.62) contrast(.9);
}

.hero__overlay {
  background:
    linear-gradient(90deg, rgba(247, 250, 252, .98) 0%, rgba(247, 250, 252, .92) 45%, rgba(247, 250, 252, .62) 72%, rgba(247, 250, 252, .42) 100%),
    linear-gradient(0deg, rgba(247, 250, 252, .7), transparent 45%);
}

.hero h1,
.hero h1 span {
  color: var(--bc-ink);
}

.hero h1 span {
  text-decoration-color: rgba(0, 169, 197, .35);
  text-decoration-line: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .09em;
}

.hero .eyebrow,
.solutions-section .eyebrow,
.numbers-section .eyebrow,
.cta-card .eyebrow,
.bc-page-cta .eyebrow {
  color: var(--blue-700);
}

.hero__lead,
.hero__proof {
  color: var(--bc-copy);
}

.hero .button--white,
.solutions-section .button--white,
.cta-card .button--white,
.bc-page-cta .button--white,
.bc-contact-location .button--white {
  color: #fff;
  background: var(--blue-600);
}

.hero .button--outline-light,
.cta-card .button--outline-light {
  color: var(--bc-ink);
  background: rgba(255, 255, 255, .72);
  border-color: var(--bc-rule-strong);
}

.hero-search {
  border-color: var(--bc-rule);
  box-shadow: 0 24px 60px rgba(8, 31, 51, .13);
}

.solutions-section,
.numbers-section {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-block: 1px solid var(--bc-rule);
}

.solutions-section::before {
  opacity: .55;
  background-image:
    linear-gradient(rgba(8, 117, 173, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 117, 173, .055) 1px, transparent 1px);
}

.solutions-copy h2,
.solutions-list h3,
.numbers-copy h2,
.metric strong {
  color: var(--bc-ink);
}

.solutions-copy > p:not(.eyebrow),
.solutions-list p,
.metric p {
  color: var(--bc-copy);
}

.solutions-list,
.solutions-list article,
.metric {
  border-color: var(--bc-rule);
}

.solutions-list article > span,
.metric strong span {
  color: var(--blue-600);
}

.industry-card--featured {
  color: var(--bc-ink);
  background: linear-gradient(145deg, #e4f1f4, #fff);
  border: 1px solid #c9dfe5;
}

.industry-card--featured h3,
.industry-card--featured div > span {
  color: var(--bc-ink);
}

.industry-card--featured p,
.industry-card--featured .industry-card__index {
  color: var(--blue-700);
}

.industry-card--featured::after {
  border-color: rgba(8, 117, 173, .13);
  box-shadow: 0 0 0 30px rgba(8, 117, 173, .035), 0 0 0 60px rgba(8, 117, 173, .025);
}

.cta-card,
.bc-page-cta {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border: 1px solid var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

.cta-card::after {
  border-color: rgba(8, 117, 173, .12);
  box-shadow: 0 0 0 55px rgba(8, 117, 173, .025), 0 0 0 110px rgba(8, 117, 173, .018);
}

.cta-card h2,
.bc-page-cta h2,
.cta-card p:not(.eyebrow) {
  color: var(--bc-ink);
}

/* Blog, contact and legal documents. */
.bc-insights-page .bc-content-search,
.bc-contact-page .bc-contact-availability {
  background: var(--bc-paper);
  border-color: var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

.bc-insights-page .bc-content-search label,
.bc-contact-availability strong,
.bc-contact-availability small {
  color: var(--bc-copy);
}

.bc-insights-page .bc-content-search input {
  color: var(--bc-ink);
  background: var(--bc-paper-soft);
  border-color: var(--bc-rule-strong);
}

.bc-legal-summary,
.bc-contact-location__grid,
.bc-contact-location address {
  color: var(--bc-copy);
  background: var(--bc-paper);
  border-color: var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

.bc-legal-summary > span,
.bc-legal-summary a,
.bc-contact-location address span {
  color: var(--blue-700);
}

.bc-legal-summary strong,
.bc-legal-document h2,
.bc-contact-location h2 {
  color: var(--bc-ink);
}

.bc-legal-summary p,
.bc-legal-document p,
.bc-legal-document li,
.bc-contact-location p:not(.eyebrow),
.bc-contact-location address {
  color: var(--bc-copy);
}

.bc-legal-summary a,
.bc-legal-document section {
  border-color: var(--bc-rule);
}

.bc-legal-document a {
  color: var(--blue-700);
}

.bc-contact-location .button--outline-light {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule-strong);
}

/* Company: photography remains expressive, full-width reading areas stay light. */
.bc-company-principles,
.bc-company-global {
  color: var(--bc-copy);
  background: var(--bc-canvas);
  border-block: 1px solid var(--bc-rule);
}

.bc-company-principles h2,
.bc-company-principles h3,
.bc-company-global h2 {
  color: var(--bc-ink);
}

.bc-company-principles p,
.bc-company-principles li,
.bc-company-global__copy > p:not(.bc-company-kicker) {
  color: var(--bc-copy);
}

.bc-company-principles article {
  border-color: var(--bc-rule);
}

.bc-company-global__cities span {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border: 1px solid var(--bc-rule);
}

.bc-company-global__visual::before {
  background: linear-gradient(90deg, var(--bc-canvas), transparent 70%);
}

.bc-company-hero,
.bc-shop-hero {
  color: var(--bc-ink);
  background-image:
    linear-gradient(90deg, rgba(247, 250, 252, .97) 0%, rgba(247, 250, 252, .9) 46%, rgba(247, 250, 252, .48) 78%, rgba(247, 250, 252, .24) 100%),
    var(--bc-company-hero, var(--bc-shop-hero));
}

.bc-shop-hero {
  background-image:
    linear-gradient(90deg, rgba(247, 250, 252, .97) 0%, rgba(247, 250, 252, .9) 46%, rgba(247, 250, 252, .48) 78%, rgba(247, 250, 252, .24) 100%),
    var(--bc-shop-hero);
}

.bc-company-hero h1,
.bc-company-hero__copy > p:last-child,
.bc-company-breadcrumb,
.bc-company-breadcrumb a,
.bc-shop-hero h1,
.bc-shop-hero__description {
  color: var(--bc-ink);
}

.bc-company-hero .bc-company-kicker,
.bc-shop-hero__eyebrow {
  color: var(--bc-orange);
}

/* WooCommerce shared controls and notifications. */
body.woocommerce-page .woocommerce input.input-text,
body.woocommerce-page .woocommerce input[type="text"],
body.woocommerce-page .woocommerce input[type="email"],
body.woocommerce-page .woocommerce input[type="tel"],
body.woocommerce-page .woocommerce input[type="password"],
body.woocommerce-page .woocommerce input[type="number"],
body.woocommerce-page .woocommerce textarea,
body.woocommerce-page .woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select .wc-block-components-select__select {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule-strong);
}

body.woocommerce-page .woocommerce input:focus,
body.woocommerce-page .woocommerce textarea:focus,
body.woocommerce-page .woocommerce select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wc-block-components-select .wc-block-components-select__select:focus {
  background: var(--bc-paper);
  border-color: var(--cyan-500);
}

body.woocommerce-page .woocommerce label {
  color: #304a5d;
}

body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
.wc-block-components-notice-banner {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule);
  border-left-color: var(--cyan-500);
}

body.woocommerce-page .woocommerce-message a,
body.woocommerce-page .woocommerce-info a,
body.woocommerce-page .woocommerce-error a,
.wc-block-components-notice-banner a {
  color: var(--blue-700);
}

/* Product detail page. */
.brazilcomp-pdp {
  color: var(--bc-ink);
  background:
    radial-gradient(circle at 88% 3%, rgba(0, 169, 197, .09), transparent 24%),
    var(--bc-canvas);
}

.brazilcomp-pdp::before {
  opacity: .34;
  background-image:
    linear-gradient(rgba(8, 117, 173, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 117, 173, .045) 1px, transparent 1px);
}

body.single-product .woocommerce-breadcrumb,
.brazilcomp-pdp__rating .woocommerce-product-rating,
.brazilcomp-pdp__excerpt,
.brazilcomp-pdp__assurances,
.brazilcomp-pdp__technical-header > span,
.brazilcomp-pdp__empty-specs {
  color: var(--bc-copy);
}

body.single-product .woocommerce-breadcrumb a,
.brazilcomp-pdp__category,
.brazilcomp-pdp__category a,
.brazilcomp-pdp__purchase .reset_variations {
  color: var(--blue-700);
}

.brazilcomp-pdp__category a:hover,
.brazilcomp-pdp__summary .product_title,
.brazilcomp-pdp__price .price,
.brazilcomp-pdp__purchase .variations th,
.brazilcomp-pdp__purchase .variations td,
.brazilcomp-pdp__technical-header h2,
.brazilcomp-pdp__table,
.brazilcomp-pdp__details,
.brazilcomp-pdp .related > h2,
.brazilcomp-pdp .up-sells > h2 {
  color: var(--bc-ink) !important;
}

.brazilcomp-pdp__sku {
  color: var(--blue-700);
  background: var(--bc-accent-soft);
  border-color: #b7dce3;
}

.brazilcomp-pdp__sku > span {
  color: #78a9b5;
}

.brazilcomp-pdp__excerpt,
.brazilcomp-pdp__technical-header,
.brazilcomp-pdp__details .woocommerce-tabs ul.tabs {
  border-color: var(--bc-rule);
}

.brazilcomp-pdp__gallery .woocommerce-product-gallery__image,
.brazilcomp-pdp__technical,
.brazilcomp-pdp__details .woocommerce-tabs,
.brazilcomp-pdp__details #review_form_wrapper,
.brazilcomp-pdp__details .comment_container,
.brazilcomp-pdp .related ul.products li.product,
.brazilcomp-pdp .up-sells ul.products li.product {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

.brazilcomp-pdp__purchase .quantity .qty,
.brazilcomp-pdp__purchase .variations select {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule-strong);
}

.brazilcomp-pdp__datasheet {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule-strong);
}

.brazilcomp-pdp__datasheet:hover {
  background: var(--bc-accent-soft);
  border-color: var(--cyan-500);
}

.brazilcomp-pdp__table tr:nth-child(odd) {
  background: #f8fafb;
}

.brazilcomp-pdp__table tr:nth-child(even) {
  background: #f0f5f7;
}

.brazilcomp-pdp__table tr:hover {
  background: #e6f3f6;
}

.brazilcomp-pdp__table th,
.brazilcomp-pdp__table td {
  color: var(--bc-ink);
  border-bottom-color: var(--bc-rule) !important;
}

.brazilcomp-pdp__table th {
  color: var(--bc-copy);
}

.brazilcomp-pdp__details .woocommerce-tabs ul.tabs a {
  color: var(--bc-copy);
  border-color: var(--bc-rule);
}

.brazilcomp-pdp__details .woocommerce-tabs ul.tabs .active a,
.brazilcomp-pdp__details .woocommerce-tabs ul.tabs a:hover {
  color: var(--bc-ink);
  background: var(--bc-accent-soft);
  border-color: #bedde4;
}

.brazilcomp-pdp .related ul.products li.product .woocommerce-loop-product__title,
.brazilcomp-pdp .up-sells ul.products li.product .woocommerce-loop-product__title,
.brazilcomp-pdp .related ul.products li.product .price,
.brazilcomp-pdp .up-sells ul.products li.product .price {
  color: var(--bc-ink);
}

/* Checkout: calm white work surfaces instead of a dark form. */
body.woocommerce-checkout .entry {
  color: var(--bc-ink);
  background: transparent;
  border: 0;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #payment {
  color: var(--bc-ink);
  background: var(--bc-paper);
  border-color: var(--bc-rule);
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review {
  padding: clamp(24px, 4vw, 36px);
  border: 1px solid var(--bc-rule);
  border-radius: 14px;
  box-shadow: var(--bc-light-shadow);
}

body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout table.shop_table,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-checkout #payment label {
  color: var(--bc-ink);
}

body.woocommerce-checkout table.shop_table,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment div.form-row {
  border-color: var(--bc-rule);
}

body.woocommerce-checkout #payment div.payment_box {
  color: var(--bc-copy);
  background: var(--bc-accent-soft);
}

body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--bc-accent-soft);
}

/* Account was mostly light; this removes its remaining dark masthead. */
html body.woocommerce-account .bc-account__header {
  border: 1px solid var(--bc-rule);
  box-shadow: var(--bc-light-shadow);
}

@media (max-width: 900px) {
  body.single-product .primary-nav,
  body.woocommerce-page .primary-nav,
  .brazilcomp-internal-dark .primary-nav {
    color: var(--bc-ink);
    background: var(--bc-paper);
    border-top-color: var(--bc-rule);
  }

  .bc-page-cta .container,
  .cta-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 820px) {
  .hero__overlay {
    background:
      linear-gradient(90deg, rgba(247, 250, 252, .97), rgba(247, 250, 252, .78)),
      linear-gradient(0deg, rgba(247, 250, 252, .74), transparent);
  }
}

@media (max-width: 620px) {
  .hero {
    min-height: auto;
  }

  .hero__media img {
    opacity: .25;
  }

  .bc-legal-summary,
  .bc-contact-location__grid,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review {
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__media img,
  .industry-card--featured::after,
  .cta-card::after {
    transition: none;
  }
}
