/* TAKEONEPY 4.2: explicit surface colors and native WordPress mobile navigation. */

/* The site is dark. A light component must set both background and text. */
.red-steps article,
.red-talent,
.red-projects article,
.red-panel,
.red-entry article:not(.red-entry-dark) {
  background: #fff;
  color: #111318;
  color-scheme: light;
}
.red-steps article h3,
.red-talent h3,
.red-projects article h3,
.red-panel :is(h1, h2, h3, p),
.red-entry article:not(.red-entry-dark) :is(h2, h3) { color: #111318; }
.red-steps article p,
.red-projects article p,
.red-entry article:not(.red-entry-dark) p { color: #454951; }
.red-steps b,
.red-entry article:not(.red-entry-dark) .red-eyebrow { color: #806800; }
.red-stats,
.red-project-type { color: #111318; }
.red-empty,
.red-single-meta,
.red-profile-body aside,
.red-alert { color: #111318; color-scheme: light; }
.red-auth,
.red-directory,
.red-form-page,
.red-public-profile,
.red-dashboard > main {
  background-color: #fff;
  color: #111318;
  color-scheme: light;
}
.red-dashboard > main { padding: clamp(20px, 3vw, 40px); border-radius: 12px; min-width: 0; }
.red-auth .red-eyebrow,
.red-directory .red-eyebrow,
.red-form-page .red-eyebrow,
.red-public-profile .red-eyebrow,
.red-dashboard > main .red-eyebrow { color: #806800; }
.red-tags { color: #111318; }
.red-entry-dark :is(h2, h3),
.red-hero :is(h1, h2, h3),
.red-cta h2 { color: #fff; }
.red-entry-dark p { color: #d7d9dc; }
.red-grid > *, .red-entry > *, .red-auth > *, .red-profile-body > * { min-width: 0; }
.red-steps article,
.red-panel,
.red-projects article,
.red-public-profile,
.red-list article { overflow-wrap: anywhere; }
.red-form fieldset { min-width: 0; }

/* A filtered sticky ancestor otherwise traps the fixed navigation dialog. */
.wp-site-blocks > header:has(.is-menu-open),
body > header:has(.is-menu-open) {
  z-index: 100000;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.topy-nav .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh;
  height: 100dvh;
  max-height: none !important;
  margin: 0 !important;
  padding: max(20px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom)) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  background: #060708 !important;
  color: #f5f5f2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  z-index: 100001;
}
.topy-nav .is-menu-open .wp-block-navigation__responsive-close {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}
.topy-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0 !important; }
.topy-nav .is-menu-open .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #17191c;
  color: #fff !important;
  border: 1px solid #ffffff40;
  border-radius: 8px;
  z-index: 2;
}
.topy-nav .is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex;
  align-items: stretch !important;
  padding: 64px 0 0 !important;
  gap: 0 !important;
}
.topy-nav .is-menu-open :is(.wp-block-navigation__container, .wp-block-page-list) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.topy-nav .is-menu-open .wp-block-navigation-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100%;
  margin: 0;
  background: transparent !important;
}
.topy-nav .is-menu-open .wp-block-navigation-item__content {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 8px !important;
  font-family: Poppins, Arial, sans-serif;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  color: #f5f5f2 !important;
  background: transparent !important;
  border-radius: 6px;
}
.topy-nav .is-menu-open .wp-block-navigation-item__content:is(:hover, :focus-visible) {
  color: #ffe500 !important;
  background: #ffffff0d !important;
}
.topy-nav .is-menu-open .wp-block-navigation__submenu-container {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  margin: 0 0 12px 8px !important;
  padding: 0 0 0 12px !important;
  gap: 0 !important;
  border: 0 !important;
  border-left: 2px solid #ffe500 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.topy-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-size: 14px !important;
  font-weight: 400;
  padding: 10px 8px !important;
  color: #d7d9dc !important;
}
.topy-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none !important; }

/* Switch to the native hamburger before the expanded navigation runs out of room. */
@media (max-width: 1100px) {
  .topy-header { padding-inline: 18px; }
  .topy-nav { min-height: 70px; padding: 12px 0; gap: 10px; }
  .topy-nav > .wp-block-navigation { margin-left: auto; flex: 0 0 auto; }
  .topy-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .topy-nav .wp-block-navigation__responsive-container-open {
    display: flex !important;
    width: 44px;
    height: 44px;
    padding: 10px;
    background: #17191c;
    border: 1px solid #ffffff40;
    border-radius: 8px;
    color: #fff !important;
  }
}
@media (max-width: 600px) {
  .red-steps { gap: 16px; margin-top: 28px; }
  .red-steps article { padding: 24px; }
  .red-steps article h3 { font-size: 19px; line-height: 1.35; margin: 20px 0 12px; }
  .red-steps article p { font-size: 15px; line-height: 1.7; margin: 0; }
  .red-list article { flex-wrap: wrap; gap: 16px; }
}

/* Formularios: texto siempre legible sobre superficies blancas. */
.red-form input:not([type="checkbox"]):not([type="radio"]),
.red-form select,.red-form textarea,.red-filter input,.red-filter select,.red-apply textarea {
  background:#fff !important;color:#111318 !important;-webkit-text-fill-color:#111318 !important;
  caret-color:#111318 !important;opacity:1 !important;border-color:#858990 !important;color-scheme:light;
}
.red-form input::placeholder,.red-form textarea::placeholder,.red-filter input::placeholder,.red-apply textarea::placeholder {
  color:#666b73 !important;-webkit-text-fill-color:#666b73 !important;opacity:1 !important;
}
.red-form select option,.red-filter select option{background:#fff!important;color:#111318!important}
.red-form input:-webkit-autofill,.red-filter input:-webkit-autofill{-webkit-text-fill-color:#111318!important;box-shadow:0 0 0 1000px #fff inset!important}

/* Rubros: los checkbox quedan contenidos dentro de chips, nunca flotando. */
.red-chips{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px!important;width:100%!important;max-width:100%!important}
.red-chips label{position:relative!important;display:inline-flex!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;cursor:pointer}
.red-chips input[type="checkbox"]{position:absolute!important;inset:auto!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.red-chips label span{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;min-height:42px;padding:9px 14px!important;border:1px solid #434851!important;border-radius:999px!important;background:#15181e!important;color:#fff!important;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
.red-chips input[type="checkbox"]:checked+span{background:#ffe500!important;border-color:#ffe500!important;color:#111318!important;box-shadow:0 0 0 2px #111318,0 0 0 4px #ffe50055}
.red-form label.red-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;width:100%!important}
.red-form label.red-check input[type="checkbox"]{position:static!important;display:block!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-height:20px!important;margin:2px 0 0!important;padding:0!important;opacity:1!important;accent-color:#ffe500}
.red-form,.red-form fieldset,.red-form-grid,.red-dashboard main{width:100%!important;max-width:100%!important;min-width:0!important}
@media(max-width:600px){.red-chips{gap:7px!important}.red-chips label span{min-height:40px;padding:8px 11px!important;font-size:13px}.red-form-grid{grid-template-columns:minmax(0,1fr)!important}.red-form input,.red-form select,.red-form textarea{font-size:16px!important}}
