

.gcg-v2-header,
.gcg-v2-footer {
  --gcg-v2-max: 1920px;
  --gcg-v2-pad: 22px;
  --gcg-v2-header-h: 76px;
  --gcg-v2-borde: rgba(255, 255, 255, .045);
  --gcg-v2-borde-sutil: rgba(255, 255, 255, .028);
  --gcg-v2-acento-linea: rgba(244, 166, 42, .55);
  --gcg-v2-acento-tenue: rgba(244, 166, 42, .13);
  --gcg-v2-panel: #0B1116;
}


.gcg-v2-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(180deg, rgba(11,17,22,.97), rgba(6,10,13,.96));
  backdrop-filter: blur(14px);
  border-bottom: 0;
}
.gcg-v2-header::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,
    var(--gcg-v2-acento-linea) 0,
    rgba(244,166,42,.18) 90px,
    rgba(255,255,255,.055) 240px,
    rgba(255,255,255,.03) 62%,
    transparent 100%);
}
.gcg-v2-header__inner {
  max-width: var(--gcg-v2-max);
  margin: 0 auto;
  min-height: var(--gcg-v2-header-h);
  padding: 0 var(--gcg-v2-pad);
  display: flex;
  align-items: center;
  gap: var(--gcg-space-8);
}
.gcg-v2-brand {
  display: flex;
  align-items: center;
  flex: none;
  align-self: stretch;
  padding-right: var(--gcg-space-6);
  position: relative;
}
.gcg-v2-brand::after {
  content: '';
  position: absolute;
  right: 0; top: 22%; bottom: 22%;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--gcg-v2-borde) 30%, var(--gcg-v2-borde) 70%, transparent);
}
.gcg-v2-brand img { height: 44px; width: auto; display: block; }
.gcg-v2-nav {
  flex: 1;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: stretch;
  gap: var(--gcg-space-6);
}
.gcg-v2-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding: 0 var(--gcg-space-2);
  font-size: var(--gcg-text-sm);
  font-weight: 500;
  color: var(--gcg-text-secondary);
  transition: color var(--gcg-transition-fast), background var(--gcg-transition-fast);
}
.gcg-v2-nav__link:hover { color: var(--gcg-text); background: rgba(255,255,255,.022); }
.gcg-v2-nav__link--activo { color: var(--gcg-text); font-weight: 700; }
.gcg-v2-nav__link--activo::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gcg-accent) 22%, var(--gcg-accent) 78%, transparent);
}
.gcg-v2-nav__link--activo::before {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 26px;
  background: linear-gradient(0deg, var(--gcg-v2-acento-tenue), transparent);
  pointer-events: none;
}
.gcg-v2-header__actions { flex: none; display: flex; align-items: center; gap: var(--gcg-space-2); }
.gcg-v2-header .gcg-btn { height: 42px; }
.gcg-v2-wallet {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 44px;
  border: 0;
  border-radius: var(--gcg-radius-sm);
  background: rgba(255,255,255,.028);
  box-shadow: inset 0 0 0 1px var(--gcg-v2-borde-sutil);
  overflow: hidden;
}
.gcg-v2-wallet::before {
  content: '';
  position: absolute;
  top: 0; left: 10px;
  width: 34px; height: 1px;
  background: linear-gradient(90deg, var(--gcg-v2-acento-linea), transparent);
}
.gcg-v2-wallet__item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 var(--gcg-space-3);
  font-size: var(--gcg-text-sm);
  font-weight: 600;
  font-family: var(--gcg-font-mono);
  letter-spacing: -.01em;
  color: var(--gcg-text);
  white-space: nowrap;
}
.gcg-v2-wallet__item + .gcg-v2-wallet__item { border-left: 1px solid var(--gcg-v2-borde); }
.gcg-v2-wallet__item svg { width: 15px; height: 15px; color: var(--gcg-accent); flex: none; }
.gcg-v2-perfil { position: relative; }
.gcg-v2-perfil__btn {
  display: flex;
  align-items: center;
  gap: var(--gcg-space-2);
  height: 44px;
  padding: 0 var(--gcg-space-3);
  background: rgba(255,255,255,.028);
  border: 0;
  box-shadow: inset 0 0 0 1px var(--gcg-v2-borde-sutil);
  border-radius: var(--gcg-radius-sm);
  color: var(--gcg-text);
  cursor: pointer;
  transition: box-shadow var(--gcg-transition-fast), background var(--gcg-transition-fast);
}
.gcg-v2-perfil__btn:hover { background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(244,166,42,.3); }
.gcg-v2-avatar {
  width: 30px; height: 30px; border-radius: 50%; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--gcg-accent); color: var(--gcg-bg);
  font-family: var(--gcg-font-display); font-weight: 700; font-size: var(--gcg-text-sm);
}
.gcg-v2-perfil__texto { display: grid; text-align: left; min-width: 0; }
.gcg-v2-perfil__texto strong { font-size: var(--gcg-text-xs); font-weight: 600; }
.gcg-v2-perfil__texto small { font-size: 11px; color: var(--gcg-text-muted); }
.gcg-v2-perfil__chevron { width: 14px; height: 14px; color: var(--gcg-text-muted); flex: none; }
.gcg-v2-header__toggle {
  display: none;
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  background: rgba(255,255,255,.028);
  border: 0;
  box-shadow: inset 0 0 0 1px var(--gcg-v2-borde-sutil);
  border-radius: var(--gcg-radius-sm);
  color: var(--gcg-text);
  cursor: pointer;
}
.gcg-v2-header__toggle svg { width: 20px; height: 20px; }


.gcg-v2-footer { position: relative; border-top: 0; background: var(--gcg-v2-panel); }
.gcg-v2-footer::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    var(--gcg-v2-acento-linea) 0,
    rgba(244,166,42,.16) 80px,
    rgba(255,255,255,.05) 220px,
    transparent 70%);
}
.gcg-v2-footer__inner {
  max-width: var(--gcg-v2-max);
  margin: 0 auto;
  min-height: 74px;
  padding: var(--gcg-space-4) var(--gcg-v2-pad);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gcg-space-5);
}
.gcg-v2-footer__brand img { height: 30px; width: auto; display: block; }
.gcg-v2-footer__nav { display: flex; flex-wrap: wrap; gap: var(--gcg-space-5); margin-right: auto; }
.gcg-v2-footer__link {
  padding: 0;
  background: none;
  border: 0;
  font-family: inherit;
  font-size: var(--gcg-text-xs);
  color: var(--gcg-text-muted);
  cursor: pointer;
}
.gcg-v2-footer__link:hover { color: var(--gcg-accent); }
.gcg-v2-footer__social { display: flex; gap: var(--gcg-space-3); }
.gcg-v2-footer__social a { color: var(--gcg-text-muted); }
.gcg-v2-footer__social a:hover { color: var(--gcg-accent); }
.gcg-v2-footer__social svg { width: 18px; height: 18px; display: block; }
.gcg-v2-footer__legal { font-size: var(--gcg-text-xs); color: var(--gcg-text-muted); }
.gcg-v2-footer__firma { font-size: var(--gcg-text-xs); font-weight: 500; color: var(--gcg-accent); }


.gcg-shell { margin-left: 0 !important; min-height: 100vh; position: relative; }

@media (max-width:1500px) {
  .gcg-v2-header__inner { gap: var(--gcg-space-5); }
  .gcg-v2-nav { gap: var(--gcg-space-4); }
}
@media (max-width:1279px) {
  .gcg-v2-nav { gap: var(--gcg-space-3); }
  .gcg-v2-nav__link { font-size: var(--gcg-text-xs); }
  .gcg-v2-perfil__texto { display: none; }
}
@media (max-width:1099px) {
  .gcg-v2-nav { gap: var(--gcg-space-3); overflow-x: auto; scrollbar-width: none; }
  .gcg-v2-nav::-webkit-scrollbar { display: none; }
}
@media (max-width:767px) {
  .gcg-v2-header, .gcg-v2-footer { --gcg-v2-pad: 14px; }
  .gcg-v2-nav { display: none; }
  .gcg-v2-header__toggle { display: flex; }
  .gcg-v2-header__actions { margin-left: auto; }
  .gcg-v2-btn-auth { display: none; }
  .gcg-v2-wallet { display: none; }
  .gcg-v2-footer__inner { gap: var(--gcg-space-3); }
  .gcg-v2-footer__social { margin-left: 0; }
}
@media (max-width:420px) {
  .gcg-v2-brand img { height: 32px; }
  .gcg-v2-wallet__item { padding: 0 var(--gcg-space-2); font-size: var(--gcg-text-xs); }
}


.gcg .gcg-btn,
.gcg-v2-header .gcg-btn,
.gcg-v2-footer__link,
.gcg-v2-nav__link,
.gcg-v2-perfil__btn,
.gcg-v2-header__toggle {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}
.gcg .gcg-btn {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.gcg .gcg-btn:hover { transform: translateY(-2px); }
.gcg .gcg-btn:active { transform: translateY(0) scale(.985); }
.gcg .gcg-btn::after {
  content: '';
  position: absolute;
  top: -80%;
  left: -40%;
  width: 36%;
  height: 260%;
  transform: rotate(18deg) translateX(-220%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.19), transparent);
  pointer-events: none;
  transition: transform .55s cubic-bezier(.2,.75,.25,1);
}
.gcg .gcg-btn:hover::after { transform: rotate(18deg) translateX(520%); }

.gcg-v2-section-hero__mark {
  animation: gcg-v2-float-mark 6.5s ease-in-out infinite;
  will-change: transform;
}
.gcg-v2-section-hero {
  background-position: center center;
  transition: background-position 1.2s ease;
}
.gcg-v2-section-hero:hover { background-position: 52% 48%; }

.gcg-motion-ready .gcg-v2-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  filter: blur(2px);
}
.gcg-motion-ready .gcg-v2-reveal.gcg-v2-reveal--left { transform: translate3d(-24px, 0, 0); }
.gcg-motion-ready .gcg-v2-reveal.gcg-v2-reveal--right { transform: translate3d(24px, 0, 0); }
.gcg-motion-ready .gcg-v2-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
  filter: blur(0);
  transition:
    opacity .62s cubic-bezier(.2,.72,.24,1),
    transform .62s cubic-bezier(.2,.72,.24,1),
    filter .5s ease;
  transition-delay: var(--gcg-reveal-delay, 0ms);
}

@keyframes gcg-v2-float-mark {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-7px,0); }
}


.gcg-cookie-lock { overflow: hidden; }
.gcg-cookie-banner {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 950;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .22s ease, transform .22s ease;
}
.gcg-cookie-banner[hidden] { display: none; }
.gcg-cookie-banner.is-visible { opacity: 1; transform: translateY(0); }
.gcg-cookie-banner__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  min-height: 92px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(244,166,42,.24);
  border-radius: 9px;
  background: rgba(7,14,18,.97);
  box-shadow: 0 18px 60px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(18px);
  position: relative;
  overflow: hidden;
}
.gcg-cookie-banner__inner::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 130px;
  height: 1px;
  background: linear-gradient(90deg,var(--gcg-accent),transparent);
  box-shadow: 0 0 10px rgba(244,166,42,.32);
}
.gcg-cookie-banner__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gcg-accent);
  background: rgba(244,166,42,.07);
  border: 1px solid rgba(244,166,42,.20);
}
.gcg-cookie-banner__icon svg { width: 22px; height: 22px; }
.gcg-cookie-banner__copy strong { display: block; color: var(--gcg-text); font-size: 14px; }
.gcg-cookie-banner__copy p { margin: 4px 0 5px; color: var(--gcg-text-secondary); font-size: 12px; line-height: 1.5; }
.gcg-cookie-banner__policy { border: 0; padding: 0; background: none; color: var(--gcg-accent); font: inherit; font-size: 11px; cursor: pointer; }
.gcg-cookie-banner__policy:hover { text-decoration: underline; text-underline-offset: 3px; }
.gcg-cookie-banner__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.gcg-cookie-banner__actions .gcg-btn { min-height: 38px; white-space: nowrap; }

.gcg-cookie-modal { position: fixed; inset: 0; z-index: 980; display: grid; place-items: center; padding: 18px; }
.gcg-cookie-modal[hidden] { display: none; }
.gcg-cookie-modal__backdrop { position: absolute; inset: 0; background: rgba(2,6,8,.78); backdrop-filter: blur(7px); opacity: 0; transition: opacity .18s ease; }
.gcg-cookie-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(690px,100%);
  max-height: min(760px,calc(100vh - 36px));
  overflow: auto;
  border: 1px solid rgba(244,166,42,.20);
  border-radius: 10px;
  background: #081116;
  box-shadow: 0 30px 90px rgba(0,0,0,.62);
  opacity: 0;
  transform: translateY(14px) scale(.985);
  transition: opacity .18s ease, transform .18s ease;
}
.gcg-cookie-modal.is-visible .gcg-cookie-modal__backdrop { opacity: 1; }
.gcg-cookie-modal.is-visible .gcg-cookie-modal__dialog { opacity: 1; transform: translateY(0) scale(1); }
.gcg-cookie-modal__header { display: flex; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid rgba(132,149,160,.10); position: relative; }
.gcg-cookie-modal__header::before { content:''; position:absolute; left:24px; top:0; width:68px; height:1px; background:linear-gradient(90deg,var(--gcg-accent),transparent); }
.gcg-cookie-modal__eyebrow { color: var(--gcg-accent); font-size: 9px; letter-spacing: .14em; font-weight: 700; }
.gcg-cookie-modal__header h2 { margin: 5px 0 4px; font-family: var(--gcg-font-display); font-size: 22px; }
.gcg-cookie-modal__header p { margin: 0; color: var(--gcg-text-secondary); font-size: 12px; line-height: 1.55; max-width: 540px; }
.gcg-cookie-modal__close { width: 34px; height: 34px; flex: none; display:grid; place-items:center; border:1px solid rgba(132,149,160,.13); border-radius:5px; background:rgba(255,255,255,.025); color:var(--gcg-text-secondary); cursor:pointer; }
.gcg-cookie-modal__close:hover { color:var(--gcg-accent); border-color:rgba(244,166,42,.3); }
.gcg-cookie-modal__close svg { width:16px; height:16px; }
.gcg-cookie-modal__body { padding: 10px 24px 4px; }
.gcg-cookie-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(132,149,160,.09); }
.gcg-cookie-option:last-child { border-bottom:0; }
.gcg-cookie-option__copy { cursor:pointer; }
.gcg-cookie-option--locked .gcg-cookie-option__copy { cursor:default; }
.gcg-cookie-option__title { display:flex; align-items:center; gap:9px; margin-bottom:5px; }
.gcg-cookie-option__title strong { font-size:13px; color:var(--gcg-text); }
.gcg-cookie-option__title span { font-size:9px; color:var(--gcg-accent); border:1px solid rgba(244,166,42,.2); border-radius:999px; padding:2px 6px; }
.gcg-cookie-option p { margin:0; color:var(--gcg-text-secondary); font-size:11px; line-height:1.58; }
.gcg-cookie-switch { width:44px; height:24px; border-radius:999px; background:#1a252c; border:1px solid rgba(132,149,160,.18); padding:2px; cursor:pointer; display:block; position:relative; }
.gcg-cookie-switch input { position:absolute; opacity:0; pointer-events:none; }
.gcg-cookie-switch i { display:block; width:18px; height:18px; border-radius:50%; background:#7d8991; transition:transform .18s ease, background .18s ease; }
.gcg-cookie-switch:has(input:checked), .gcg-cookie-switch.is-on { background:rgba(244,166,42,.12); border-color:rgba(244,166,42,.42); }
.gcg-cookie-switch input:checked + i, .gcg-cookie-switch.is-on i { transform:translateX(18px); background:var(--gcg-accent); }
.gcg-cookie-option--locked .gcg-cookie-switch { cursor:default; opacity:.8; }
.gcg-cookie-modal__footer { display:flex; justify-content:flex-end; gap:9px; padding:17px 24px 22px; border-top:1px solid rgba(132,149,160,.10); }

@media (max-width: 820px) {
  .gcg-cookie-banner__inner { grid-template-columns:auto minmax(0,1fr); }
  .gcg-cookie-banner__actions { grid-column:1/-1; justify-content:flex-start; }
}
@media (max-width: 560px) {
  .gcg-cookie-banner { left:10px; right:10px; bottom:10px; }
  .gcg-cookie-banner__inner { grid-template-columns:1fr; gap:10px; padding:14px; }
  .gcg-cookie-banner__icon { display:none; }
  .gcg-cookie-banner__actions { display:grid; grid-template-columns:1fr 1fr; }
  .gcg-cookie-banner__actions #gcg-cookie-aceptar { grid-column:1/-1; }
  .gcg-cookie-modal { padding:10px; }
  .gcg-cookie-modal__header, .gcg-cookie-modal__body, .gcg-cookie-modal__footer { padding-left:16px; padding-right:16px; }
  .gcg-cookie-modal__footer { display:grid; grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .gcg-v2-section-hero__mark { animation: none !important; }
  .gcg-motion-ready .gcg-v2-reveal,
  .gcg-motion-ready .gcg-v2-reveal.is-visible { opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
}


.gcg-v2-hero__poster-marco {
  animation: gcg-v2-object-drift 7s ease-in-out infinite;
  will-change: transform;
}
.gcg-v2-banda__objeto img {
  animation: gcg-v2-object-drift 7.5s ease-in-out infinite;
  will-change: transform;
}
.gcg-v2-pase__emblema {
  animation: gcg-v2-emblem-drift 6.8s ease-in-out infinite;
  will-change: transform;
}
.gcg-v2-banda__foto { transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .8s ease; }
.gcg-v2-banda:hover .gcg-v2-banda__foto { transform: scale(1.018); filter: saturate(1.04); }
@keyframes gcg-v2-object-drift {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-5px,0); }
}
@keyframes gcg-v2-emblem-drift {
  0%,100% { transform: translateY(-50%) rotate(-6deg); }
  50% { transform: translateY(calc(-50% - 5px)) rotate(-4deg); }
}
@media (prefers-reduced-motion: reduce) {
  .gcg-v2-hero__poster-marco,
  .gcg-v2-banda__objeto img,
  .gcg-v2-pase__emblema { animation:none !important; }
  .gcg-v2-banda__foto { transition:none !important; }
}
