/* Shared palette: GNT navy actions, green availability, bright surfaces. */
:root {
  --gnt-action: var(--gnt-navy);
  --gnt-action-deep: #202a50;
  --gnt-action-soft: #eef0f5;
  --gnt-green: #11744d;
  --gnt-green-soft: #e8f6ef;
  --gnt-blue-soft: #edf2ff;
  --gnt-canvas: #f3f6fb;
  --warm-ivory: var(--gnt-canvas);
  --surface: var(--gnt-canvas);
  --cream: var(--gnt-canvas);
  --sand: var(--gnt-action-soft);
  --sage: var(--gnt-green-soft);
  --sandstone: var(--gnt-action);
  --sandstone-ink: var(--gnt-action-deep);
  --accent: var(--gnt-action);
  --accent-text: var(--gnt-action-deep);
  --forest: var(--gnt-green);
  --forest-dark: var(--gnt-green);
  --forest-soft: var(--gnt-green-soft);
  --focus: var(--gnt-navy);
}

/* Give the next action the strongest color on desktop and mobile. */
.gnt-site .btn:not(.btn--outline):not(.btn--soft) {
  color: var(--white);
  background: var(--gnt-action);
  border-color: var(--gnt-action);
}
.gnt-site .btn:not(.btn--outline):not(.btn--soft):hover {
  color: var(--white);
  background: var(--gnt-action-deep);
  border-color: var(--gnt-action-deep);
}
.gnt-site :is(.cta-card, .contact-card, .gnt-contact-panel, .sz-unit-contact) .btn:not(.btn--outline):not(.btn--soft) {
  color: var(--gnt-navy);
  background: var(--white);
  border-color: var(--white);
}
.gnt-site :is(.cta-card, .contact-card, .gnt-contact-panel, .sz-unit-contact) .btn:not(.btn--outline):not(.btn--soft):hover {
  color: var(--gnt-navy);
  background: var(--gnt-action-soft);
  border-color: var(--gnt-action-soft);
}
.gnt-site .btn--outline,
.gnt-site .btn--soft {
  color: var(--gnt-navy);
  background: var(--white);
  border-color: #aebad3;
}
.gnt-site .btn--outline:hover,
.gnt-site .btn--soft:hover {
  color: var(--gnt-action-deep);
  background: var(--gnt-action-soft);
  border-color: var(--gnt-action);
}
.gnt-site .cta-card .btn--outline,
.gnt-site .contact-card .btn--outline,
.gnt-site .sz-unit-contact .btn--outline {
  color: var(--white);
  background: transparent;
  border-color: rgb(255 255 255 / 65%);
}
.gnt-site .cta-card .btn--outline:hover,
.gnt-site .contact-card .btn--outline:hover,
.gnt-site .sz-unit-contact .btn--outline:hover {
  color: var(--gnt-navy);
  background: var(--white);
  border-color: var(--white);
}
.gnt-site .mobile-sales-bar .btn.btn--light {
  color: var(--gnt-navy);
  background: var(--white);
  border-color: #aebad3;
}
.gnt-site .mobile-sales-bar .btn.btn--light:hover {
  color: var(--gnt-action-deep);
  background: var(--gnt-action-soft);
  border-color: var(--gnt-action);
}

/* Highlight the offer without changing the GNT logo or property imagery. */
.gnt-site .gnt-motto,
.gnt-site .gnt-offer-tagline,
.gnt-site .gnt-project-tagline,
.gnt-site.lewkow-page .detail-hero--sales .project-tagline,
.gnt-site .sz-hero .sz-tagline,
.gnt-site .sz-unit-tagline,
.gnt-site .unit41-project-tagline,
.gnt-site .zytnia-card-heading .zytnia-tagline {
  color: var(--gnt-action-deep);
}
.gnt-site .gnt-offer-price,
.gnt-site .poludniowa-list-price dd,
.gnt-site .unit41-price strong,
.gnt-site .unit41-highlight-price strong,
.gnt-site.lewkow-page .detail-hero--sales .facts > .fact:nth-child(2) strong {
  color: var(--gnt-action);
}
.gnt-site .gnt-offer-nav a:first-child,
.gnt-site .catalog-filter[aria-pressed="true"] {
  color: var(--white);
  background: var(--gnt-action);
  border-color: var(--gnt-action);
}
.gnt-site .gnt-offer-nav a:first-child:hover,
.gnt-site .catalog-filter[aria-pressed="true"]:hover {
  background: var(--gnt-action-deep);
  border-color: var(--gnt-action-deep);
}
.gnt-site .gnt-offer-nav a:first-child span,
.gnt-site .catalog-filter[aria-pressed="true"] span { opacity: 1; }
.gnt-site .gnt-offer-nav a:not(:first-child):hover,
.gnt-site .catalog-filter:not([aria-pressed="true"]):hover {
  color: var(--gnt-action-deep);
  background: var(--gnt-action-soft);
  border-color: var(--gnt-action);
}
.gnt-site .project-nav a:hover,
.gnt-site .project-nav a[aria-current] {
  color: var(--gnt-action-deep);
  border-color: var(--gnt-action);
}
.gnt-site .gnt-menu-list a:hover,
.gnt-site .gnt-menu-list a:focus-visible { background: var(--gnt-blue-soft); }

/* Availability, planned sales and sold units keep distinct meanings. */
.gnt-site .gnt-offer-status,
.gnt-site.lewkow-page .pill,
.gnt-site .unit41-status,
.gnt-site .catalog-card[data-stage="available"] .catalog-state {
  color: var(--gnt-green);
  background: var(--gnt-green-soft);
  border-color: #a5d9c0;
}
.gnt-site .unit41-status > span { background: currentColor; }
.gnt-site .pill--muted,
.gnt-site .sz-unit-status,
.gnt-site .catalog-card[data-stage="planned"] .catalog-state {
  color: var(--gnt-navy);
  background: var(--gnt-blue-soft);
  border-color: #c3cfee;
}
.gnt-site.sz-unit-page {
  --sz-unit-planned-bg: var(--gnt-blue-soft);
  --sz-unit-planned-border: #c3cfee;
}
.gnt-site .sz-unit-stage {
  color: var(--gnt-action-deep);
  background: var(--gnt-action-soft);
  border-color: #c3cfee;
}
.gnt-site.sz-unit-page[data-stage="sold"] .sz-unit-stage,
.gnt-site.sz-unit-page[data-stage="sold"] .sz-unit-status,
.gnt-site .catalog-card[data-stage="sold"] .catalog-state {
  color: #555861;
  background: #f1f2f4;
  border-color: #d9dce4;
}

.gnt-site .catalog-filter:focus-visible,
.gnt-site .catalog-card a:focus-visible {
  outline-color: var(--gnt-navy);
}
.gnt-site .cta-card :focus-visible,
.gnt-site .contact-card :focus-visible,
.gnt-site .gnt-contact-panel :focus-visible,
.gnt-site .sz-unit-contact :focus-visible,
.gnt-site .site-footer :focus-visible { outline-color: var(--white); }

@media print {
  .gnt-site .gnt-offer-price,
  .gnt-site .poludniowa-list-price dd,
  .gnt-site .unit41-price strong,
  .gnt-site .unit41-highlight-price strong { color: var(--gnt-navy); }
}
