/*
 * Pouso color modes
 * - blackmode preserves the current visual system and remains the default.
 * - whitemode remaps surfaces and text while keeping the green/amber identity.
 */

.pa-color-mode-toggle {
  align-items: center;
  appearance: none;
  background: #16201b;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font: inherit;
  font-size: .78rem;
  font-weight: 850;
  gap: 8px;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  padding: 0 14px;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
  white-space: nowrap;
}

.pa-color-mode-toggle:hover {
  background: #233129;
  border-color: rgba(255, 255, 255, .42);
  color: #fff;
  transform: translateY(-1px);
}

.pa-color-mode-toggle:focus-visible {
  outline: 3px solid #f2b84b;
  outline-offset: 3px;
}

.pa-color-mode-toggle__icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 18px;
  height: 18px;
  justify-content: center;
  width: 18px;
}

.pa-color-mode-toggle__icon svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 18px;
}

.pa-color-mode-toggle__icon--moon {
  display: none;
}

/* Header icon colors stay tied to their brand backgrounds in every mode. */
.pa-site-header .pa-social-link {
  color: #fff;
}

.pa-site-header .pa-social-link--whatsapp {
  color: #061009;
}

html[data-color-mode="blackmode"] {
  color-scheme: dark;
}

html[data-color-mode="whitemode"] {
  --pa-bg-dark: #f3f7f4;
  --pa-bg-graphite: #e8eeea;
  --pa-bg-ink: #eef4f0;
  --pa-bg-soft: #f7faf8;
  --pa-bg-warm: #fffaf0;
  --pa-surface: #fff;
  --pa-text: #16201b;
  --pa-text-dark: #16201b;
  --pa-muted: #52615a;
  --pa-muted-dark: #52615a;
  --pa-line: rgba(22, 32, 27, .16);
  --pa-line-dark: rgba(22, 32, 27, .16);
  --pa-green-dark: #116b32;
  --pa-amber: #8a5400;
  --pa-accent: #8a5400;
  --pa-shadow: 0 20px 55px rgba(22, 32, 27, .13);
  color-scheme: light;
}

html[data-color-mode="whitemode"] .pa-color-mode-toggle {
  background: #e8eeea;
  border-color: rgba(22, 32, 27, .2);
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-color-mode-toggle:hover {
  background: #dce6df;
  border-color: rgba(22, 32, 27, .38);
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-color-mode-toggle:focus-visible {
  outline-color: #8a5400;
}

html[data-color-mode="whitemode"] .pa-color-mode-toggle__icon--sun {
  display: none;
}

html[data-color-mode="whitemode"] .pa-color-mode-toggle__icon--moon {
  display: inline-flex;
}

/* Home */
html[data-color-mode="whitemode"] body.pa-home {
  background: #f3f7f4;
  color: #16201b;
}

html[data-color-mode="whitemode"] body.pa-home :focus-visible {
  outline-color: #8a5400;
}

html[data-color-mode="whitemode"] .pa-home .pa-cartesian-cursor__origin {
  background: rgba(255, 255, 255, .9);
  border-color: rgba(22, 32, 27, .7);
}

html[data-color-mode="whitemode"] .pa-home .pa-cartesian-cursor__label {
  color: rgba(22, 32, 27, .72);
}

html[data-color-mode="whitemode"] .pa-home .pa-header {
  background: rgba(255, 255, 255, .96);
  border-bottom-color: rgba(22, 32, 27, .12);
}

html[data-color-mode="whitemode"] .pa-home .pa-logo,
html[data-color-mode="whitemode"] .pa-home .pa-logo__text strong {
  color: #0b112b;
}

html[data-color-mode="whitemode"] .pa-home .pa-logo__text small,
html[data-color-mode="whitemode"] .pa-home .pa-nav {
  color: #5b6963;
}

html[data-color-mode="whitemode"] .pa-home .pa-mobile-nav a {
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-home .pa-nav a:hover,
html[data-color-mode="whitemode"] .pa-home .pa-nav a:focus,
html[data-color-mode="whitemode"] .pa-home .pa-nav a[aria-current="page"] {
  color: #17883b;
}

html[data-color-mode="whitemode"] .pa-home .pa-logo__mark {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .18), transparent 58%),
    rgba(22, 32, 27, .04);
  border-color: rgba(22, 32, 27, .14);
}

html[data-color-mode="whitemode"] .pa-home .pa-mobile-menu__toggle {
  background: #16201b;
  border-color: #16201b;
  color: #fff;
}

html[data-color-mode="whitemode"] .pa-home .pa-mobile-links {
  background: #fff;
  border-color: rgba(22, 32, 27, .16);
  box-shadow: 0 18px 40px rgba(22, 32, 27, .14);
}

html[data-color-mode="whitemode"] .pa-home .pa-mobile-nav a {
  background: #fff;
  border-color: rgba(22, 32, 27, .16);
}

html[data-color-mode="whitemode"] .pa-home .pa-mobile-nav a:hover,
html[data-color-mode="whitemode"] .pa-home .pa-mobile-nav a:focus,
html[data-color-mode="whitemode"] .pa-home .pa-mobile-nav a[aria-current="page"] {
  border-color: rgba(17, 107, 50, .42);
  color: #17883b;
}

html[data-color-mode="whitemode"] .pa-home .pa-hero {
  background:
    linear-gradient(90deg, rgba(243, 247, 244, .98), rgba(243, 247, 244, .9), rgba(232, 238, 234, .72)),
    linear-gradient(rgba(22, 32, 27, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .055) 1px, transparent 1px),
    #f3f7f4;
  background-size: auto, 64px 64px, 64px 64px, auto;
}

html[data-color-mode="whitemode"] .pa-home .pa-hero::after {
  background: linear-gradient(135deg, rgba(138, 84, 0, .1), rgba(64, 214, 111, .14));
}

html[data-color-mode="whitemode"] .pa-home .pa-hero__visual,
html[data-color-mode="whitemode"] .pa-home .pa-mobile-hero-visual {
  background:
    linear-gradient(rgba(22, 32, 27, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .045) 1px, transparent 1px),
    #fff;
  border-color: rgba(22, 32, 27, .16);
  box-shadow: var(--pa-shadow);
}

html[data-color-mode="whitemode"] .pa-home .pa-hero__visual--media {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-color-mode="whitemode"] .pa-home .pa-hero__panel {
  background: rgba(255, 255, 255, .88);
  border-color: rgba(22, 32, 27, .16);
  color: #16201b;
  box-shadow: 0 14px 34px rgba(22, 32, 27, .12);
}

html[data-color-mode="whitemode"] .pa-home .pa-hero__panel span,
html[data-color-mode="whitemode"] .pa-home .pa-lead,
html[data-color-mode="whitemode"] .pa-home .pa-proof-list li,
html[data-color-mode="whitemode"] .pa-home .pa-proof-grid li,
html[data-color-mode="whitemode"] .pa-home .pa-card p,
html[data-color-mode="whitemode"] .pa-home .pa-cases-panel p,
html[data-color-mode="whitemode"] .pa-home .ec-post-card p,
html[data-color-mode="whitemode"] .pa-home .ec-popular-list small,
html[data-color-mode="whitemode"] .pa-home .ec-muted,
html[data-color-mode="whitemode"] .pa-home .pa-final-cta p {
  color: #52615a;
}

html[data-color-mode="whitemode"] .pa-home .pa-card,
html[data-color-mode="whitemode"] .pa-home .pa-cases-panel,
html[data-color-mode="whitemode"] .pa-home .ec-post-card,
html[data-color-mode="whitemode"] .pa-home .pa-list-grid a,
html[data-color-mode="whitemode"] .pa-home .pa-list-grid span,
html[data-color-mode="whitemode"] .pa-home .pa-product-links a,
html[data-color-mode="whitemode"] .pa-home .pa-chip-row span {
  background: #fff;
  border-color: rgba(22, 32, 27, .16);
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-home .pa-card:hover,
html[data-color-mode="whitemode"] .pa-home .ec-post-card:hover {
  background: #fff;
  border-color: rgba(17, 107, 50, .38);
  box-shadow: 0 18px 38px rgba(22, 32, 27, .1);
}

html[data-color-mode="whitemode"] .pa-home .pa-blog-card__media,
html[data-color-mode="whitemode"] .pa-home .ec-post-card__media {
  background:
    linear-gradient(rgba(22, 32, 27, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .045) 1px, transparent 1px),
    #f7faf8;
  border-color: rgba(22, 32, 27, .16);
}

html[data-color-mode="whitemode"] .pa-home .ec-popular-list a,
html[data-color-mode="whitemode"] .pa-home .ec-post-card h2 {
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-home .ec-card-link,
html[data-color-mode="whitemode"] .pa-home .pa-text-link,
html[data-color-mode="whitemode"] .pa-home .pa-card h3 a:hover {
  color: #116b32;
}

html[data-color-mode="whitemode"] .pa-home .pa-card__index,
html[data-color-mode="whitemode"] .pa-home .pa-eyebrow,
html[data-color-mode="whitemode"] .pa-home .ec-post-card .pouso-kicker,
html[data-color-mode="whitemode"] .pa-home .ec-popular-list a::before {
  color: #8a5400;
}

html[data-color-mode="whitemode"] .pa-home .pa-area-card__symbol {
  color: #8a5400;
}

html[data-color-mode="whitemode"] .pa-home .pa-cases {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .12), transparent 38%),
    linear-gradient(rgba(22, 32, 27, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .045) 1px, transparent 1px),
    #eef4f0;
  background-size: auto, 48px 48px, 48px 48px, auto;
}

html[data-color-mode="whitemode"] .pa-home .pa-cases-panel--cta {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .16), transparent 48%),
    #fff;
}

html[data-color-mode="whitemode"] .pa-home .pa-final-cta {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .16), transparent 44%),
    linear-gradient(rgba(22, 32, 27, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .045) 1px, transparent 1px),
    #eef4f0;
  background-size: auto, 44px 44px, 44px 44px, auto;
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-home .pa-button--secondary {
  border-color: rgba(22, 32, 27, .24);
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-home .pa-button--secondary:hover {
  background: rgba(22, 32, 27, .06);
  border-color: rgba(22, 32, 27, .44);
}

/* Internal catalog, institutional, application, segment, case and contact pages. */
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-page {
  --pa-internal-bg: #f3f7f4;
  --pa-internal-ink: #fff;
  --pa-internal-panel: rgba(22, 32, 27, .04);
  --pa-internal-surface: #f7faf8;
  --pa-internal-surface-warm: #fffaf0;
  --pa-internal-text: #16201b;
  --pa-internal-text-dark: #16201b;
  --pa-internal-muted: #52615a;
  --pa-internal-muted-dark: #52615a;
  --pa-internal-line: rgba(22, 32, 27, .16);
  --pa-internal-line-dark: rgba(22, 32, 27, .16);
  --pa-internal-green-dark: #116b32;
  --pa-internal-amber: #8a5400;
  --pa-internal-shadow: 0 20px 55px rgba(22, 32, 27, .13);
  background:
    radial-gradient(circle at 82% 12%, rgba(64, 214, 111, .12), transparent 26rem),
    linear-gradient(rgba(22, 32, 27, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .04) 1px, transparent 1px),
    #f3f7f4;
  background-size: auto, 48px 48px, 48px 48px, auto;
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-hero,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-archive-hero,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-catalog-page .ec-archive-hero,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-cases-hero,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-post-hero {
  background:
    linear-gradient(90deg, rgba(243, 247, 244, .99), rgba(243, 247, 244, .92), rgba(232, 238, 234, .76)),
    linear-gradient(rgba(22, 32, 27, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .05) 1px, transparent 1px),
    #f3f7f4;
  background-size: auto, 64px 64px, 64px 64px, auto;
  border-color: rgba(22, 32, 27, .16);
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-hero::after,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-archive-hero::after,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-catalog-page .ec-archive-hero::after {
  background: linear-gradient(135deg, rgba(138, 84, 0, .1), rgba(64, 214, 111, .14));
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-button--secondary,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-button--secondary,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-catalog-hero__actions .ec-button--secondary {
  background: transparent;
  border-color: rgba(22, 32, 27, .24);
  color: #16201b !important;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-button--secondary:hover,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-button--secondary:focus,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-button--secondary:hover,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-button--secondary:focus {
  background: rgba(22, 32, 27, .06);
  border-color: rgba(22, 32, 27, .44);
  color: #16201b !important;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-pill,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-proof-strip,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-empty {
  background: rgba(255, 255, 255, .72);
  border-color: rgba(22, 32, 27, .16);
  color: #52615a;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-pill--status {
  background: rgba(64, 214, 111, .14);
  border-color: rgba(17, 107, 50, .28);
  color: #116b32;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-hero__media,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-hero-media,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-catalog-hero__image,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-archive-hero__panel {
  background:
    linear-gradient(rgba(22, 32, 27, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .045) 1px, transparent 1px),
    #fff;
  border-color: rgba(22, 32, 27, .16);
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-machine-mark {
  background:
    linear-gradient(90deg, transparent 42%, rgba(22, 32, 27, .72) 42% 58%, transparent 58%),
    linear-gradient(0deg, transparent 42%, rgba(22, 32, 27, .72) 42% 58%, transparent 58%),
    radial-gradient(circle, rgba(138, 84, 0, .9) 0 18%, transparent 19%),
    rgba(64, 214, 111, .14);
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-category-filter__button.is-active {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .18), rgba(138, 84, 0, .08)),
    #fff;
  border-color: rgba(17, 107, 50, .3);
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-category-filter__button.is-active small {
  color: #52615a;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-cta-panel,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-cta-panel {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .16), transparent 44%),
    linear-gradient(rgba(22, 32, 27, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .04) 1px, transparent 1px),
    #eef4f0;
  background-size: auto, 44px 44px, 44px 44px, auto;
  border-color: rgba(22, 32, 27, .16);
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-cta-panel h2,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-cta-panel p,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-cta-panel h2,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-cta-panel p,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-cases-section-head h2,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-related-posts h2 {
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-mobile-cta {
  background: rgba(255, 255, 255, .96);
  border-top-color: rgba(22, 32, 27, .16);
  box-shadow: 0 -10px 30px rgba(22, 32, 27, .1);
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-mobile-cta__ghost {
  border-color: rgba(22, 32, 27, .24);
  color: #16201b !important;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-contact-hero__card {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .14), transparent 56%),
    #fff;
  border-color: rgba(22, 32, 27, .16);
  box-shadow: 0 16px 38px rgba(22, 32, 27, .1);
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-contact-hero__card a {
  color: #116b32;
}

html[data-color-mode="whitemode"] body:not(.pa-home) .ec-contact-form input:not([type="checkbox"]):not([type="radio"]),
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-contact-form textarea,
html[data-color-mode="whitemode"] body:not(.pa-home) .ec-contact-form select,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-contact-form input,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-contact-form textarea,
html[data-color-mode="whitemode"] body:not(.pa-home) .pouso-contact-form select {
  background: #fff;
  color: #16201b;
}

html[data-color-mode="whitemode"] body:not(.pa-home) input::placeholder,
html[data-color-mode="whitemode"] body:not(.pa-home) textarea::placeholder {
  color: #68756e;
  opacity: 1;
}

/* Shared footer */
html[data-color-mode="whitemode"] .pa-footer {
  --pa-footer-text: #16201b;
  --pa-footer-muted: #52615a;
  --pa-footer-line: rgba(22, 32, 27, .16);
  --pa-footer-green: #116b32;
  background:
    radial-gradient(circle at 82% 18%, rgba(64, 214, 111, .14), transparent 28%),
    linear-gradient(rgba(22, 32, 27, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .04) 1px, transparent 1px),
    #eef4f0;
  background-size: auto, 48px 48px, 48px 48px, auto;
  border-top-color: rgba(22, 32, 27, .16);
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-footer .pa-logo__text strong,
html[data-color-mode="whitemode"] .pa-footer h2,
html[data-color-mode="whitemode"] .pa-footer__map {
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-footer .pa-logo__text small,
html[data-color-mode="whitemode"] .pa-footer p,
html[data-color-mode="whitemode"] .pa-footer address,
html[data-color-mode="whitemode"] .pa-footer__nav a,
html[data-color-mode="whitemode"] .pa-footer__bottom,
html[data-color-mode="whitemode"] .pa-footer__bottom a,
html[data-color-mode="whitemode"] .pa-footer__phone,
html[data-color-mode="whitemode"] .pa-footer__map-copy small {
  color: #52615a;
}

html[data-color-mode="whitemode"] .pa-footer__nav a:hover,
html[data-color-mode="whitemode"] .pa-footer__bottom a:hover,
html[data-color-mode="whitemode"] .pa-footer__phone:hover {
  color: #16201b;
}

html[data-color-mode="whitemode"] .pa-footer__map {
  background:
    linear-gradient(135deg, rgba(64, 214, 111, .2), transparent 44%),
    linear-gradient(160deg, rgba(138, 84, 0, .1), transparent 48%),
    #f7faf8;
  border-color: rgba(22, 32, 27, .16);
}

html[data-color-mode="whitemode"] .pa-footer__map-grid {
  background-image:
    linear-gradient(rgba(22, 32, 27, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 32, 27, .07) 1px, transparent 1px);
}

html[data-color-mode="whitemode"] .pa-footer__map-copy {
  background: rgba(255, 255, 255, .84);
  border-color: rgba(22, 32, 27, .16);
}

html[data-color-mode="whitemode"] .pa-footer .pa-button--secondary {
  border-color: rgba(22, 32, 27, .24);
  color: #16201b;
}

@media (min-width: 720px) and (max-width: 1240px) {
  .pa-color-mode-toggle--desktop {
    padding: 0;
    width: 44px;
  }

  .pa-color-mode-toggle--desktop .pa-color-mode-toggle__label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

@media (max-width: 719px) {
  .pa-header__inner,
  .pa-site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .pa-color-mode-toggle--mobile-top {
    align-self: center;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .pa-mobile-menu.pa-mobile-only {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 379px) {
  .pa-color-mode-toggle--mobile-top {
    padding: 0;
    width: 44px;
  }

  .pa-color-mode-toggle--mobile-top .pa-color-mode-toggle__label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pa-color-mode-toggle {
    transition: none;
  }
}
