/* GoToGym Editorial System
   Opt-in product layer. Marketing landings are intentionally excluded by JS. */

body.gtg-editorial-app {
  --editorial-champagne: #f0d087;
  --editorial-champagne-soft: rgba(240, 208, 135, 0.72);
  --editorial-teal: #0fbfb0;
  --editorial-ink: #f8f9fa;
  --editorial-muted: rgba(224, 227, 230, 0.68);
  --editorial-rule: rgba(212, 180, 106, 0.15);
  --editorial-surface: rgba(16, 16, 18, 0.76);
  --editorial-display: clamp(1.9rem, 6vw, 3.4rem);
  --editorial-title: clamp(1.55rem, 4vw, 2.15rem);
  --editorial-section: clamp(1.05rem, 2.4vw, 1.28rem);
  --editorial-body: 1rem;
  --editorial-compact: 0.875rem;
  --editorial-meta: 0.75rem;
  --editorial-leading: 1.62;
  --editorial-measure: 68ch;
  --editorial-ease: cubic-bezier(0.16, 1, 0.3, 1);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.gtg-editorial-app :where(main, .container, .content, .page-content) {
  --editorial-flow: clamp(18px, 3vw, 30px);
}

body.gtg-editorial-app :where(h1, .page-title, .screen-title) {
  color: var(--editorial-ink);
  font-size: var(--editorial-title);
  font-weight: 680;
  line-height: 1.08;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

body.gtg-editorial-app :where(h2, .section-title) {
  color: rgba(255, 246, 224, 0.94);
  font-size: var(--editorial-section);
  font-weight: 640;
  line-height: 1.22;
  letter-spacing: -0.022em;
  text-wrap: balance;
}

body.gtg-editorial-app :where(h3, .card-title) {
  color: var(--editorial-champagne-soft);
  font-weight: 620;
  line-height: 1.28;
  letter-spacing: -0.012em;
}

body.gtg-editorial-app :where(.eyebrow, .kicker, .section-label, .overline) {
  color: var(--editorial-champagne-soft);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.gtg-editorial-app :where(p, .description, .helper-text, .subtitle) {
  line-height: var(--editorial-leading);
}

body.gtg-editorial-app :where(.meta, .metadata, time, .timestamp) {
  color: var(--editorial-muted);
  font-size: var(--editorial-meta);
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
}

body.gtg-editorial-app :where(article, .legal-content, .info-content) p {
  max-width: var(--editorial-measure);
}

body.gtg-editorial-app :where(a:not(.btn):not([class*="button"])) {
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-skip-ink: auto;
}

/* Buttons: preserve page geometry while standardizing feedback and semantics. */
body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button) {
  position: relative;
  overflow: hidden;
  min-height: 44px;
  border-radius: 14px;
  font-weight: 620;
  letter-spacing: -0.008em;
  transition:
    transform 160ms var(--editorial-ease),
    border-color 160ms ease,
    background-color 160ms ease,
    color 160ms ease,
    box-shadow 180ms ease;
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button):hover:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(-1px);
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button):active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(0) scale(0.985);
  transition-duration: 90ms;
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button):focus-visible {
  outline: 2px solid rgba(15, 191, 176, 0.9);
  outline-offset: 3px;
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button):disabled,
body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .secondary-button, .action-button)[aria-disabled="true"] {
  filter: saturate(0.45);
  opacity: 0.52;
  box-shadow: none;
  transform: none;
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .action-button)[aria-busy="true"] {
  color: transparent !important;
  pointer-events: none;
}

body.gtg-editorial-app :where(.btn, .submit-btn, .primary-button, .action-button)[aria-busy="true"]::after {
  content: "";
  position: absolute;
  left: calc(50% - 8px);
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: editorial-button-spin 720ms linear infinite;
}

/* Icon navigation and hamburger controls. */
body.gtg-editorial-app :where(.menu-btn, .business-menu-btn, .back-btn, .menu-close-btn, .gtg-menu-trigger) {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(15, 191, 176, 0.28);
  border-radius: 14px;
  color: var(--editorial-teal);
  background: rgba(9, 15, 17, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 160ms var(--editorial-ease), border-color 160ms ease, background-color 160ms ease;
}

body.gtg-editorial-app :where(.menu-btn, .business-menu-btn, .back-btn, .menu-close-btn, .gtg-menu-trigger):hover {
  transform: translateY(-1px);
  border-color: rgba(15, 191, 176, 0.58);
  background: rgba(15, 191, 176, 0.09);
}

body.gtg-editorial-app :where(.menu-btn, .business-menu-btn, .back-btn, .menu-close-btn, .gtg-menu-trigger):focus-visible {
  outline: 2px solid rgba(15, 191, 176, 0.92);
  outline-offset: 3px;
}

.gtg-menu-trigger .gtg-menu-line,
body.gtg-editorial-app .hamburger-line {
  width: 20px;
  height: 1.5px;
  display: block;
  position: absolute;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 200ms var(--editorial-ease), opacity 140ms ease;
}

.gtg-menu-trigger .gtg-menu-line:nth-child(1),
body.gtg-editorial-app .hamburger-line:nth-child(1) { transform: translateY(-6px); }
.gtg-menu-trigger .gtg-menu-line:nth-child(2),
body.gtg-editorial-app .hamburger-line:nth-child(2) { transform: translateY(0); }
.gtg-menu-trigger .gtg-menu-line:nth-child(3),
body.gtg-editorial-app .hamburger-line:nth-child(3) { transform: translateY(6px); }

.gtg-menu-trigger[aria-expanded="true"] .gtg-menu-line:nth-child(1),
body.gtg-editorial-app [aria-expanded="true"] .hamburger-line:nth-child(1) { transform: rotate(45deg); }
.gtg-menu-trigger[aria-expanded="true"] .gtg-menu-line:nth-child(2),
body.gtg-editorial-app [aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
.gtg-menu-trigger[aria-expanded="true"] .gtg-menu-line:nth-child(3),
body.gtg-editorial-app [aria-expanded="true"] .hamburger-line:nth-child(3) { transform: rotate(-45deg); }

/* Shared menu treatment. Existing page markup remains authoritative. */
body.gtg-editorial-app .menu-overlay {
  align-items: stretch;
  justify-content: flex-start;
  padding: max(82px, calc(64px + env(safe-area-inset-top))) clamp(20px, 6vw, 64px) max(28px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 88% 8%, rgba(15, 191, 176, 0.09), transparent 28%),
    linear-gradient(145deg, rgba(8, 10, 12, 0.985), rgba(10, 8, 5, 0.985));
  backdrop-filter: blur(18px) saturate(0.7);
  -webkit-backdrop-filter: blur(18px) saturate(0.7);
  transition: opacity 220ms ease, visibility 220ms ease;
}

body.gtg-editorial-app .menu-overlay::before {
  content: "NAVEGACIÓN";
  width: min(100%, 560px);
  margin: 0 auto 18px;
  color: var(--editorial-champagne-soft);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

body.gtg-editorial-app .menu-links {
  width: min(100%, 560px);
  margin: 0 auto;
  text-align: left;
}

body.gtg-editorial-app .menu-links li {
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  opacity: 0;
  transform: translateY(7px);
  transition: opacity 220ms ease, transform 260ms var(--editorial-ease);
}

body.gtg-editorial-app .menu-overlay.active .menu-links li {
  opacity: 1;
  transform: translateY(0);
}

body.gtg-editorial-app .menu-overlay.active .menu-links li:nth-child(2) { transition-delay: 25ms; }
body.gtg-editorial-app .menu-overlay.active .menu-links li:nth-child(3) { transition-delay: 50ms; }
body.gtg-editorial-app .menu-overlay.active .menu-links li:nth-child(4) { transition-delay: 75ms; }
body.gtg-editorial-app .menu-overlay.active .menu-links li:nth-child(5) { transition-delay: 100ms; }
body.gtg-editorial-app .menu-overlay.active .menu-links li:nth-child(n+6) { transition-delay: 125ms; }

body.gtg-editorial-app .menu-links a {
  min-height: 54px;
  display: flex;
  align-items: center;
  position: relative;
  padding: 11px 34px 11px 2px;
  color: rgba(248, 249, 250, 0.88);
  font-size: clamp(1rem, 2.8vw, 1.2rem);
  font-weight: 540;
  line-height: 1.3;
  letter-spacing: -0.018em;
}

body.gtg-editorial-app .menu-links a::after {
  content: "›";
  position: absolute;
  right: 5px;
  color: rgba(15, 191, 176, 0.62);
  font-size: 1.35em;
  font-weight: 300;
  transition: transform 160ms var(--editorial-ease);
}

body.gtg-editorial-app .menu-links a:hover,
body.gtg-editorial-app .menu-links a:focus-visible,
body.gtg-editorial-app .menu-links a[aria-current="page"] {
  color: var(--editorial-champagne);
  outline: none;
}

body.gtg-editorial-app .menu-links a:hover::after,
body.gtg-editorial-app .menu-links a:focus-visible::after { transform: translateX(3px); }

body.gtg-editorial-app .menu-links a[aria-current="page"]::before {
  content: "";
  position: absolute;
  left: -12px;
  width: 3px;
  height: 22px;
  border-radius: 999px;
  background: var(--editorial-teal);
  box-shadow: 0 0 12px rgba(15, 191, 176, 0.35);
}

body.gtg-editorial-menu-open { overflow: hidden !important; }

@keyframes editorial-button-spin { to { transform: rotate(360deg); } }

@media (max-width: 600px) {
  body.gtg-editorial-app { --editorial-body: 0.9375rem; }
  body.gtg-editorial-app .menu-overlay { padding-inline: 22px; }
  body.gtg-editorial-app .menu-links a { min-height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  body.gtg-editorial-app *,
  body.gtg-editorial-app *::before,
  body.gtg-editorial-app *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
