/*
 * ICYLAB — Interaction contrast contract
 * Theme v0.7.22
 *
 * Source of truth for clickable surfaces. Visited, hover, focus and touch/active
 * states must never collapse foreground and background into the same colour.
 */

:root {
  --icy-action-acid: #00ff30;
  --icy-action-acid-hover: #00e72c;
  --icy-action-ink: #000;
  --icy-action-white: #fff;
}

/* Global navigation ------------------------------------------------------ */
.icy-home-nav > a:not(.icy-home-nav-cta):visited {
  color: var(--icy-action-white) !important;
}

.icy-home-nav > a:not(.icy-home-nav-cta):hover,
.icy-home-nav > a:not(.icy-home-nav-cta):focus-visible,
.icy-home-nav > a:not(.icy-home-nav-cta):active,
.icy-home-nav > a:not(.icy-home-nav-cta).icy-nav-active,
.icy-home-nav > a:not(.icy-home-nav-cta).icy-nav-active:visited {
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-acid) !important;
}

.icy-home-nav > a.icy-home-nav-cta,
.icy-home-nav > a.icy-home-nav-cta:visited,
.icy-home-nav > a.icy-home-nav-cta.icy-nav-active,
.icy-home-nav > a.icy-home-nav-cta.icy-nav-active:visited,
.icy-home-nav > a.icy-home-nav-cta:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-home-nav > a.icy-home-nav-cta:hover,
.icy-home-nav > a.icy-home-nav-cta:focus-visible {
  border-color: var(--icy-action-acid-hover) !important;
  background: var(--icy-action-acid-hover) !important;
  color: var(--icy-action-ink) !important;
}

.icy-home-nav > a.icy-home-nav-cta *,
.icy-home-nav > a.icy-home-nav-cta:visited * {
  color: inherit !important;
}

.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea,
.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea:visited,
.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea:hover,
.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea:focus-visible,
.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea span,
.icy-home-nav .icy-mobile-nav-footer .icy-mobile-nav-pilotea strong {
  color: inherit !important;
}

/* Shared interior CTAs --------------------------------------------------- */
a.icy-interior-btn.is-acid,
a.icy-interior-btn.is-acid:visited,
a.icy-interior-btn.is-acid:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

a.icy-interior-btn.is-acid:hover,
a.icy-interior-btn.is-acid:focus-visible {
  border-color: var(--icy-action-white) !important;
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

.is-ink a.icy-interior-btn.is-outline,
.is-ink a.icy-interior-btn.is-outline:visited {
  border-color: rgba(255,255,255,.62) !important;
  background: transparent !important;
  color: var(--icy-action-white) !important;
}

.is-ink a.icy-interior-btn.is-outline:hover,
.is-ink a.icy-interior-btn.is-outline:focus-visible,
.is-ink a.icy-interior-btn.is-outline:active {
  border-color: var(--icy-action-white) !important;
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

.is-paper a.icy-interior-btn.is-outline,
.is-paper a.icy-interior-btn.is-outline:visited {
  border-color: var(--icy-action-ink) !important;
  background: transparent !important;
  color: var(--icy-action-ink) !important;
}

.is-paper a.icy-interior-btn.is-outline:hover,
.is-paper a.icy-interior-btn.is-outline:focus-visible,
.is-paper a.icy-interior-btn.is-outline:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.is-acid a.icy-interior-btn.is-outline,
.is-acid a.icy-interior-btn.is-outline:visited {
  border-color: var(--icy-action-ink) !important;
  background: transparent !important;
  color: var(--icy-action-ink) !important;
}

.is-acid a.icy-interior-btn.is-outline:hover,
.is-acid a.icy-interior-btn.is-outline:focus-visible,
.is-acid a.icy-interior-btn.is-outline:active {
  border-color: var(--icy-action-ink) !important;
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-white) !important;
}

.icy-interior-btn > span { color: inherit !important; }

/* Home clickable surfaces ----------------------------------------------- */
a.icy-home-v2-btn-dark,
a.icy-home-v2-btn-dark:visited,
a.icy-home-v2-btn-dark:active {
  border-color: var(--icy-action-ink) !important;
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-white) !important;
}

a.icy-home-v2-btn-dark:hover,
a.icy-home-v2-btn-dark:focus-visible {
  border-color: var(--icy-action-white) !important;
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

.icy-home-v2-calculator-card > a,
.icy-home-v2-calculator-card > a:visited,
.icy-home-v2-calculator-card > a:hover,
.icy-home-v2-calculator-card > a:focus-visible,
.icy-home-v2-calculator-card > a:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

a.icy-home-v2-tool-card:not(.is-acid),
a.icy-home-v2-tool-card:not(.is-acid):visited,
a.icy-home-v2-tool-card:not(.is-acid):active {
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-white) !important;
}

a.icy-home-v2-tool-card:not(.is-acid):hover,
a.icy-home-v2-tool-card:not(.is-acid):focus-visible {
  border-color: var(--icy-action-acid) !important;
  background: #111 !important;
  color: var(--icy-action-white) !important;
}

a.icy-home-v2-tool-card.is-acid,
a.icy-home-v2-tool-card.is-acid:visited,
a.icy-home-v2-tool-card.is-acid:hover,
a.icy-home-v2-tool-card.is-acid:focus-visible,
a.icy-home-v2-tool-card.is-acid:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-home-v2-tool-card strong,
.icy-home-v2-tool-card u,
.icy-home-v2-tool-card b { color: inherit !important; }

/* Soluciones ------------------------------------------------------------- */
a.icy-solutions-route-card,
a.icy-solutions-route-card:visited {
  background: transparent !important;
  color: var(--icy-action-ink) !important;
}

a.icy-solutions-route-card:hover,
a.icy-solutions-route-card:focus-visible,
a.icy-solutions-route-card:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-solutions-route-card:hover > span,
.icy-solutions-route-card:focus-visible > span,
.icy-solutions-route-card:active > span,
.icy-solutions-route-card strong,
.icy-solutions-route-card b { color: inherit !important; }

.icy-solutions-calc-link,
.icy-solutions-calc-link:visited,
.icy-solutions-calc-link:hover,
.icy-solutions-calc-link:focus-visible,
.icy-solutions-calc-link:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}
.icy-solutions-calc-link span { color: inherit !important; }

/* Bloom Hopper ----------------------------------------------------------- */
a.icy-bloom-btn-acid,
a.icy-bloom-btn-acid:visited,
a.icy-bloom-btn-acid:hover,
a.icy-bloom-btn-acid:focus-visible,
a.icy-bloom-btn-acid:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-bloom-ink a.icy-bloom-btn-outline,
.icy-bloom-ink a.icy-bloom-btn-outline:visited,
.icy-bloom-final a.icy-bloom-btn-outline,
.icy-bloom-final a.icy-bloom-btn-outline:visited {
  border-color: rgba(255,255,255,.62) !important;
  background: transparent !important;
  color: var(--icy-action-white) !important;
}

.icy-bloom-ink a.icy-bloom-btn-outline:hover,
.icy-bloom-ink a.icy-bloom-btn-outline:focus-visible,
.icy-bloom-ink a.icy-bloom-btn-outline:active,
.icy-bloom-final a.icy-bloom-btn-outline:hover,
.icy-bloom-final a.icy-bloom-btn-outline:focus-visible,
.icy-bloom-final a.icy-bloom-btn-outline:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-bloom-btn > span { color: inherit !important; }

.icy-bloom-calc-card,
.icy-bloom-calc-card:visited,
.icy-bloom-calc-card:hover,
.icy-bloom-calc-card:focus-visible,
.icy-bloom-calc-card:active {
  border-color: #050505 !important;
  background: #050505 !important;
  color: var(--icy-action-white) !important;
}

.icy-bloom-variety-card,
.icy-bloom-variety-card:focus,
.icy-bloom-variety-card:active {
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

.icy-bloom-variety-card:hover:not(.is-hover-suppressed) {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-bloom-mobile-catalog-toggle,
.icy-bloom-mobile-catalog-toggle:hover,
.icy-bloom-mobile-catalog-toggle:focus-visible,
.icy-bloom-mobile-catalog-toggle:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-bloom-show-all,
.icy-bloom-show-all:focus-visible {
  background: transparent !important;
  color: var(--icy-action-ink) !important;
}
.icy-bloom-show-all:hover,
.icy-bloom-show-all:active {
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-white) !important;
}

/* Editorial / search ----------------------------------------------------- */
.icy-editorial-cta a,
.icy-editorial-cta a:visited,
.icy-editorial-cta a:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}
.icy-editorial-cta a:hover,
.icy-editorial-cta a:focus-visible {
  border-color: var(--icy-action-white) !important;
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

.icy-editorial-archive-hero .search-submit,
.icy-editorial-archive-hero .search-submit:hover,
.icy-editorial-archive-hero .search-submit:focus-visible,
.icy-editorial-archive-hero .search-submit:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

/* Pilotea submit --------------------------------------------------------- */
.icy-pilotea-submit,
.icy-pilotea-submit:active {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}
.icy-pilotea-submit:hover,
.icy-pilotea-submit:focus-visible {
  border-color: var(--icy-action-white) !important;
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}
.icy-pilotea-submit > span { color: inherit !important; }

/* Legacy Gutenberg CTA patterns ---------------------------------------- */
.icy-btn-primary .wp-block-button__link,
.icy-btn-primary .wp-block-button__link:visited,
.icy-btn-primary .wp-block-button__link:hover,
.icy-btn-primary .wp-block-button__link:focus-visible,
.icy-btn-primary .wp-block-button__link:active {
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}

.icy-btn-dark .wp-block-button__link,
.icy-btn-dark .wp-block-button__link:visited,
.icy-btn-dark .wp-block-button__link:active {
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-white) !important;
}

.icy-btn-ghost .wp-block-button__link,
.icy-btn-ghost .wp-block-button__link:visited {
  background: transparent !important;
  color: var(--icy-action-white) !important;
}
.icy-btn-ghost .wp-block-button__link:hover,
.icy-btn-ghost .wp-block-button__link:focus-visible,
.icy-btn-ghost .wp-block-button__link:active {
  background: var(--icy-action-white) !important;
  color: var(--icy-action-ink) !important;
}

@media (hover: none) {
  a,
  button {
    -webkit-tap-highlight-color: rgba(0,255,48,.18);
  }
}

/* Pilotea current-page state ---------------------------------------------
 * The primary navigation CTA behaves as a destination, not a submit action.
 * When Pilotea is the current page it becomes an outlined active tab so its
 * label can never disappear into the acid background. This contract applies
 * in desktop navigation and in the mobile/tablet drawer.
 */
body.icy-pilotea-page .icy-home-nav > a.icy-home-nav-cta.icy-nav-active,
body.icy-pilotea-page .icy-home-nav > a.icy-home-nav-cta.icy-nav-active:visited,
body.icy-pilotea-page .icy-home-nav > a.icy-home-nav-cta.icy-nav-active:active {
  border: 1px solid var(--icy-action-acid) !important;
  background: var(--icy-action-ink) !important;
  color: var(--icy-action-acid) !important;
}

body.icy-pilotea-page .icy-home-nav > a.icy-home-nav-cta.icy-nav-active:hover,
body.icy-pilotea-page .icy-home-nav > a.icy-home-nav-cta.icy-nav-active:focus-visible {
  border-color: var(--icy-action-acid) !important;
  background: var(--icy-action-acid) !important;
  color: var(--icy-action-ink) !important;
}
