/*
 * Galican Sport — Product CSS v2 Fase 0a
 * Linus 2026-05-20 — basado en mockup aprobado
 * Tokens: paleta, tipografía, espaciado, transiciones
 */

/* ─── Tokens ─────────────────────────────────────────────────── */
:root {
  --gal-bg:         #0a1628;
  --gal-bg-2:       #06101f;
  --gal-bg-3:       #0e1d35;
  --gal-ink:        #f3f5f8;
  --gal-ink-2:      #c5cdd9;
  --gal-ink-3:      #8893a4;
  --gal-line:       rgba(255,255,255,0.10);
  --gal-line-2:     rgba(255,255,255,0.18);
  --gal-accent:     #1E4ED8;
  --gal-accent-2:   #2A5BD7;
  --gal-accent-soft:rgba(30,78,216,0.18);
  --gal-good:       #2ECC71;
  --gal-warn:       #F2C94C;
  --gal-max:        1440px;
  --gal-pad:        clamp(20px, 4vw, 56px);
  --gal-t:          cubic-bezier(.2,.7,.2,1);
}

/* ─── Reset para el scope de Galican ─────────────────────────── */
.gal-archive, .gal-single {
  background: var(--gal-bg);
  color: var(--gal-ink);
  font-family: 'Archivo', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.gal-container {
  max-width: var(--gal-max);
  margin: 0 auto;
  padding: 0 var(--gal-pad);
}

/* ─── Breadcrumbs ────────────────────────────────────────────── */
.gal-breadcrumbs {
  padding: 22px 0 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gal-ink-3);
}
.gal-breadcrumbs a { color: var(--gal-ink-3); transition: color .2s var(--gal-t); }
.gal-breadcrumbs a:hover { color: var(--gal-accent-2); text-decoration: none; }
.gal-bc-sep { margin: 0 10px; opacity: .4; }
.gal-breadcrumbs .breadcrumb_last { color: var(--gal-ink-2); }

/* ─── Hero categoría ─────────────────────────────────────────── */
.gal-cat-hero {
  padding: 52px 0 64px;
  border-bottom: 1px solid var(--gal-line);
  background: radial-gradient(at 30% 50%, rgba(30,78,216,.10), transparent 55%);
}
.gal-cat-hero-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px; align-items: end;
}
@media (max-width: 880px) { .gal-cat-hero-inner { grid-template-columns: 1fr; gap: 32px; } }
.gal-cat-title {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: clamp(40px, 6vw, 78px);
  font-weight: 700; letter-spacing: -0.03em; line-height: 1;
  margin: 18px 0 20px;
  color: var(--gal-ink);
}
.gal-cat-desc { color: var(--gal-ink-2); font-size: 16px; line-height: 1.65; max-width: 58ch; }
.gal-cat-meta {
  margin-top: 18px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gal-ink-3);
}
.gal-cat-hero-aside {
  border: 1px solid var(--gal-line);
  border-radius: 5px; padding: 22px 24px;
  background: rgba(10,22,40,.5);
  backdrop-filter: blur(6px);
}
.gal-aside-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--gal-line);
  font-size: 14px; color: var(--gal-ink-2);
}
.gal-aside-row:last-child { border-bottom: none; }
.gal-check { color: var(--gal-good); font-weight: 700; }

/* ─── Grid de productos (listado) ────────────────────────────── */
.gal-products-section { padding: 48px 0 90px; }
.gal-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 980px) { .gal-products-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .gal-products-grid { grid-template-columns: 1fr; } }

/* ─── Product card (listado + relacionados) ──────────────────── */
.gal-product-card {
  background: var(--gal-bg-3);
  border: 1px solid var(--gal-line);
  border-radius: 5px; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .35s var(--gal-t), border-color .35s var(--gal-t);
  text-decoration: none; color: inherit;
}
.gal-product-card:hover {
  transform: translateY(-4px);
  border-color: var(--gal-accent);
  text-decoration: none; color: inherit;
}
.gal-prod-media {
  aspect-ratio: 4/3;
  background: linear-gradient(155deg, #0e1d35, #050b18);
  position: relative; overflow: hidden;
}
.gal-prod-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s var(--gal-t);
}
.gal-product-card:hover .gal-prod-media img { transform: scale(1.05); }
.gal-prod-no-img { width: 100%; height: 100%; background: var(--gal-bg-3); }
.gal-prod-badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 5px; }
.gal-badge {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  background: rgba(10,22,40,.92);
  color: #fff; border: 1px solid var(--gal-line-2);
  padding: 4px 8px; border-radius: 2px;
}
.gal-badge-cert { background: var(--gal-accent); border-color: var(--gal-accent); }
.gal-prod-body { padding: 18px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.gal-prod-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--gal-ink-3); margin-bottom: 7px;
}
.gal-prod-cat a { color: var(--gal-ink-3); text-decoration: none; }
.gal-prod-name {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: 22px; font-weight: 700;
  letter-spacing: -.01em; line-height: 1.15;
  margin-bottom: 9px; color: var(--gal-ink);
}
.gal-prod-desc {
  color: var(--gal-ink-2); font-size: 13px; line-height: 1.55;
  margin-bottom: 14px; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.gal-prod-foot {
  display: flex; justify-content: space-between; align-items: baseline;
  border-top: 1px solid var(--gal-line); padding-top: 12px; gap: 8px;
}
.gal-prod-price {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: 20px; font-weight: 700; color: var(--gal-ink);
}
.gal-prod-price small {
  font-size: 10px; color: var(--gal-ink-3); font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; margin-right: 4px;
}
.gal-prod-cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gal-accent-2);
  border-bottom: 1px solid var(--gal-accent-2); padding-bottom: 2px;
  white-space: nowrap;
}

/* ─── Single product ─────────────────────────────────────────── */
.gal-single { padding: 0 0 80px; }
.gal-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  padding: 16px 0 56px;
}
@media (max-width: 980px) { .gal-product-grid { grid-template-columns: 1fr; gap: 40px; } }

/* Galería */
.gal-gallery { position: sticky; top: 100px; }
@media (max-width: 980px) { .gal-gallery { position: static; } }
.gal-gallery-main {
  position: relative; aspect-ratio: 4/3;
  background: linear-gradient(155deg, #0e1d35, #050b18);
  border: 1px solid var(--gal-line); border-radius: 6px; overflow: hidden; isolation: isolate;
}
.gal-gallery-main img { position: relative; z-index: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--gal-t); }
.gal-gallery-main:hover img { transform: scale(1.02); transform-origin: center center; will-change: transform; }
.gal-gallery-tags { position: absolute; top: 18px; left: 18px; display: flex; gap: 6px; z-index: 5; pointer-events: none; }
.gal-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 10px; }
.gal-thumb {
  aspect-ratio: 1;
  background: var(--gal-bg-3); border: 1px solid var(--gal-line); border-radius: 4px;
  overflow: hidden; padding: 0; cursor: pointer;
  transition: border-color .2s var(--gal-t);
}
.gal-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gal-thumb.active, .gal-thumb:hover { border-color: var(--gal-accent); }
.gal-no-img { width: 100%; height: 100%; background: var(--gal-bg-3); }

/* Info */
.gal-info-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gal-ink-3); margin-bottom: 14px;
}
.gal-info-cat a { color: var(--gal-accent-2); text-decoration: none; }
.gal-info-ref { color: var(--gal-ink-3); }
.gal-info-h1 {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: clamp(32px, 4vw, 50px); font-weight: 700;
  line-height: 1.05; letter-spacing: -.02em; margin-bottom: 16px;
  color: var(--gal-ink);
}
.gal-info-sub {
  color: var(--gal-ink-2); font-size: 16px; line-height: 1.65;
  max-width: 56ch; margin-bottom: 22px;
}
.gal-info-meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: .15em; text-transform: uppercase;
}
.gal-info-meta span {
  border: 1px solid var(--gal-line-2); padding: 5px 10px; border-radius: 3px;
  color: var(--gal-ink-2);
}
.gal-meta-ok { color: var(--gal-good) !important; border-color: rgba(46,204,113,.4) !important; }

/* Precio */
.gal-price-block {
  border-top: 1px solid var(--gal-line); border-bottom: 1px solid var(--gal-line);
  padding: 20px 0; margin-bottom: 26px;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
}
.gal-price-main {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: 44px; font-weight: 700; letter-spacing: -.02em; line-height: 1;
  color: var(--gal-ink);
}
.gal-price-main small {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gal-ink-3); margin-bottom: 5px;
}
.gal-price-secondary { text-align: right; color: var(--gal-ink-3); font-size: 13px; line-height: 1.7; }
.gal-price-secondary strong { color: var(--gal-ink-2); font-weight: 500; }
.gal-b2b-link { color: var(--gal-accent-2) !important; }

/* Configurador */
.gal-configurator { margin-bottom: 22px; }
.gal-cfg-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gal-ink-2); margin-bottom: 16px;
}
.gal-cfg-step { margin-bottom: 18px; }
.gal-cfg-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 9px;
}
.gal-cfg-label {
  display: flex; align-items: center; gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--gal-ink-2);
}
.gal-cfg-num {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--gal-accent-soft); color: var(--gal-accent-2);
  font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.gal-cfg-val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--gal-ink); font-weight: 600;
}
.gal-opts-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gal-opt-chip {
  border: 1px solid var(--gal-line-2); background: transparent; color: var(--gal-ink-2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
  padding: 8px 13px; border-radius: 3px; cursor: pointer;
  transition: all .2s var(--gal-t);
}
.gal-opt-chip:hover { border-color: var(--gal-ink-3); color: var(--gal-ink); }
.gal-opt-chip.active { background: var(--gal-accent); border-color: var(--gal-accent); color: #fff; }
.gal-opt-select {
  width: 100%; background: var(--gal-bg-3); border: 1px solid var(--gal-line-2);
  color: var(--gal-ink); padding: 10px 12px; border-radius: 3px;
  font-family: 'Archivo', sans-serif; font-size: 14px; cursor: pointer;
}
.gal-cfg-result-row {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 16px; padding: 12px 16px;
  background: var(--gal-bg-3); border: 1px solid var(--gal-line); border-radius: 4px;
}
.gal-cfg-status { font-size: 13px; color: var(--gal-ink-3); }
.gal-cfg-status.ok { color: var(--gal-good); }
.gal-cfg-status.loading { font-size: 0; display: inline-block; width: 16px; height: 16px; vertical-align: middle; border: 2.5px solid var(--gal-accent-soft); border-top-color: var(--gal-accent); border-radius: 50%; animation: galSpin 0.6s linear infinite; }
@keyframes galSpin { to { transform: rotate(360deg); } }
.gal-cfg-sku {
  font-family: 'JetBrains Mono', monospace; font-size: 13px;
  font-weight: 600; color: var(--gal-ink);
}

/* Actions */
.gal-actions {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 10px; margin-top: 28px; align-items: stretch;
}
.gal-qty {
  display: flex; align-items: center;
  border: 1px solid var(--gal-line-2); border-radius: 4px;
  background: var(--gal-bg-3); overflow: hidden;
}
.gal-qty-btn {
  background: transparent; border: none; color: var(--gal-ink);
  width: 44px; height: 56px; font-size: 18px; cursor: pointer;
  transition: background .2s var(--gal-t);
}
.gal-qty-btn:hover { background: rgba(255,255,255,.05); }
.gal-qty-input {
  width: 50px; height: 56px; background: transparent; border: none;
  color: var(--gal-ink); text-align: center;
  font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 600;
}
.gal-qty-input:focus { outline: none; }
.gal-qty-input { -moz-appearance: textfield; appearance: textfield; }
.gal-qty-input::-webkit-outer-spin-button,
.gal-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }
.btn.gal-btn-primary {
  background: var(--gal-accent); color: #fff; border: 1px solid var(--gal-accent);
  border-radius: 4px; height: 56px; padding: 0 26px;
  font-family: 'Archivo', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  cursor: pointer; transition: all .25s var(--gal-t);
}
.btn.gal-btn-primary:hover { background: var(--gal-accent-2); transform: translateY(-1px); }
.gal-btn-arrow { transition: transform .25s var(--gal-t); }
.btn.gal-btn-primary:hover .gal-btn-arrow { transform: translateX(4px); }

/* Trust */
.gal-trust-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px; margin-top: 30px; padding-top: 24px;
  border-top: 1px solid var(--gal-line);
}
.gal-trust-item {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 12px; color: var(--gal-ink-2); line-height: 1.5;
}
.gal-trust-item svg { color: var(--gal-accent-2); flex-shrink: 0; margin-top: 2px; }
@media (max-width: 560px) { .gal-trust-row { grid-template-columns: 1fr; } }

/* Tabs descripción */
.gal-tabs-section { padding: 60px 0; border-top: 1px solid var(--gal-line); }
.gal-tabs-nav {
  display: flex; border-bottom: 1px solid var(--gal-line); margin-bottom: 36px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.gal-tabs-nav::-webkit-scrollbar {
  display: none;
}
.gal-tab {
  background: transparent; border: none; color: var(--gal-ink-3);
  font-family: 'Archivo', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 16px 24px; cursor: pointer;
  position: relative; transition: color .2s var(--gal-t); white-space: nowrap;
}
.gal-tab:hover, .gal-tab.active { color: var(--gal-ink); }
.gal-tab.active::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px; background: var(--gal-accent);
}
.gal-tab-content { display: none; color: var(--gal-ink-2); font-size: 15px; line-height: 1.75; max-width: 860px; }
.gal-tab-content.active { display: block; }
.gal-tab-content h1, .gal-tab-content h2, .gal-tab-content h3 {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif; font-weight: 700;
  color: var(--gal-ink); margin: 28px 0 12px; letter-spacing: -.01em;
}
.gal-tab-content p { margin-bottom: 16px; }
.gal-tab-content ul, .gal-tab-content ol { margin: 0 0 16px 20px; }
.gal-tab-content li { margin-bottom: 4px; }
.gal-docs-placeholder { color: var(--gal-ink-3); font-style: italic; }

/* Relacionados */
.gal-related { padding: 60px 0 0; border-top: 1px solid var(--gal-line); }
.gal-related-title {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: clamp(24px, 3vw, 36px); font-weight: 700;
  letter-spacing: -.02em; margin-bottom: 36px; color: var(--gal-ink);
}
.gal-related-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
@media (max-width: 980px) { .gal-related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .gal-related-grid { grid-template-columns: 1fr; } }
.gal-product-card--sm .gal-prod-name { font-size: 17px; }

/* No products */
.gal-no-products { color: var(--gal-ink-3); padding: 60px 0; text-align: center; font-size: 15px; }

/* ─── Body & globales (bypass Woodmart) ──────────────────────── */
body.gal-body {
  background: var(--gal-bg) !important;
  color: var(--gal-ink) !important;
  font-family: 'Archivo', system-ui, -apple-system, sans-serif !important;
  margin: 0; padding: 0;
  /* LINUS 2026-05-23 — Sticky footer: footer pegado al fondo si el contenido es corto */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.gal-body > .gal-footer-mini { margin-top: auto; }
body.gal-body a { color: inherit; }
body.gal-body * { box-sizing: border-box; }

/* ─── Top bar ────────────────────────────────────────────────── */
.gal-topbar {
  background: var(--gal-bg-2);
  border-bottom: 1px solid var(--gal-line);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
}
.gal-topbar-inner {
  display: flex; justify-content: space-between; align-items: center;
  height: 36px; opacity: .78;
}
.gal-topbar-left { display: flex; gap: 24px; }
.gal-topbar-right { display: flex; gap: 14px; align-items: center; }
.gal-topbar-right a {
  color: var(--gal-ink-3); text-decoration: none;
  transition: color .2s var(--gal-t);
}
.gal-topbar-right a:hover { color: var(--gal-accent-2); }
.gal-topbar-right .gal-lang-active { color: var(--gal-ink) !important; }
@media (max-width: 720px) {
  .gal-topbar-left span:not(:first-child) { display: none; }
}

/* ─── Header sticky ──────────────────────────────────────────── */
.gal-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(10,22,40,.92);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  border-bottom: 1px solid var(--gal-line);
}
.gal-header-inner {
  display: flex; justify-content: space-between; align-items: center;
  height: 76px; gap: 32px;
}
.gal-brand { display: flex; align-items: center; gap: 14px; color: var(--gal-ink); text-decoration: none; }
.gal-logo { height: 26px; width: auto; fill: currentColor; flex-shrink: 0; }
.gal-brand-tagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px; line-height: 1.4;
  letter-spacing: .18em; text-transform: uppercase;
  opacity: .55;
  border-left: 1px solid var(--gal-line-2); padding-left: 12px;
  white-space: nowrap;
}
@media (max-width: 1100px) { .gal-brand-tagline { display: none; } }
.gal-nav {
  display: flex; gap: 30px;
  font-size: 13px; font-weight: 500; letter-spacing: .04em;
}
.gal-nav-link {
  position: relative; padding: 4px 0;
  color: var(--gal-ink-2); text-decoration: none;
  transition: color .2s var(--gal-t);
}
.gal-nav-link:hover { color: var(--gal-ink); }
.gal-nav-link::after {
  content: ''; position: absolute; left: 0; bottom: -2px;
  width: 0; height: 1px; background: var(--gal-accent);
  transition: width .3s var(--gal-t);
}
.gal-nav-link:hover::after { width: 100%; }
@media (max-width: 1100px) { .gal-nav { display: none; } }
.gal-header-actions { display: flex; gap: 6px; align-items: center; }
.gal-icon-btn {
  width: 40px; height: 40px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gal-ink-2); background: transparent; border: none;
  position: relative; cursor: pointer; text-decoration: none;
  transition: background .2s var(--gal-t), color .2s var(--gal-t);
}
.gal-icon-btn:hover { background: rgba(255,255,255,.05); color: var(--gal-ink); }
.gal-icon-btn svg { width: 18px; height: 18px; }
.gal-cart-badge {
  position: absolute; top: 4px; right: 4px;
  min-width: 16px; height: 16px; padding: 0 4px;
  background: var(--gal-accent); color: #fff;
  font-size: 10px; font-weight: 700; line-height: 16px;
  border-radius: 4px; text-align: center;
}

/* ─── Footer mini ────────────────────────────────────────────── */
/* Paco 2026-05-24 v4 — Editorial 2 ejes (sin centrados mezclados).
   Layout:
     [Brand + Nav]                                            [Social]
     ───────────────────────── hairline ────────────────────────
     [© Galican · N. 43°11′ W. 8°36′]          [Legal · Privacy · Cookies]
*/
.gal-footer-mini {
  background: var(--gal-bg-2);
  border-top: 1px solid rgba(255,255,255,.04);
  padding: 40px 0 32px;
  margin-top: 64px;
  color: var(--gal-ink-3);
  font-family: 'JetBrains Mono', monospace;
}
.gal-footer-mini a {
  color: inherit;
  text-decoration: none;
  transition: color .2s var(--gal-t), opacity .2s var(--gal-t);
}
.gal-footer-mini-inner {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* ─── Fila 1: [brand + nav] · social ─── */
.gal-footer-row--top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

/* Bloque izquierdo: marca y nav comparten línea-baseline */
.gal-footer-left {
  display: flex;
  align-items: baseline;
  gap: 36px;
  flex-wrap: wrap;
}

/* Brand: nombre dominante + est subordinado */
.gal-footer-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
}
.gal-footer-brand-name {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: var(--gal-ink);
}
.gal-footer-brand-est {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gal-ink-3);
  opacity: .5;
}

/* Nav: a continuación de la marca, mismo eje izquierdo */
.gal-footer-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: clamp(20px, 2.4vw, 32px);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.gal-footer-nav a {
  color: var(--gal-ink-2);
  position: relative;
  padding-bottom: 3px;
  transition: color .2s var(--gal-t);
}
.gal-footer-nav a:hover { color: var(--gal-ink); }
.gal-footer-nav a::after {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 0; height: 1px;
  background: var(--gal-accent-2);
  transition: width .25s var(--gal-t);
}
.gal-footer-nav a:hover::after { width: 100%; }

/* Social: extremo derecho del mismo eje */
.gal-footer-social {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.gal-footer-social .gal-social__list { gap: 14px; }
.gal-footer-social .gal-social__btn { width: 18px; height: 18px; opacity: .55; transition: opacity .2s var(--gal-t); }
.gal-footer-social .gal-social__btn:hover { opacity: 1; }

/* ─── Separador hairline (casi imperceptible) ─── */
.gal-footer-rule {
  height: 1px;
  background: rgba(255,255,255,.05);
  width: 100%;
  margin: 0;
}

/* ─── Fila 2: [© + coords] · [legal] ─── */
.gal-footer-row--bottom {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px 32px;
  flex-wrap: wrap;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gal-ink-3);
  opacity: .55;
  margin-top: 0;
}
.gal-footer-copy {
  display: inline-flex;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap;
}
.gal-footer-coords {
  /* Mismo estilo que en la home (.footer-coords): sin italic, mismo tracking */
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-style: normal;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gal-ink-3);
  opacity: .8;
}
.gal-footer-legal {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.gal-footer-legal a {
  position: relative;
  padding: 0 14px;
  color: inherit;
  transition: color .2s var(--gal-t);
}
.gal-footer-legal a:first-child { padding-left: 0; }
.gal-footer-legal a:last-child { padding-right: 0; }
.gal-footer-legal a + a::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 1px; height: 9px;
  background: currentColor;
  opacity: .25;
}
.gal-footer-legal a:hover { color: var(--gal-ink); }

/* ─── Responsive (todo se apila pero conserva eje izquierdo) ─── */
@media (max-width: 900px) {
  .gal-footer-row--top {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .gal-footer-left { gap: 20px 30px; }
  .gal-footer-row--bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .gal-footer-legal { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .gal-footer-mini { padding: 36px 0 24px; }
  .gal-footer-nav { gap: 18px; }
  .gal-footer-copy { gap: 10px 18px; }
}

/* Compat con clases legacy del HTML antiguo: ocultar si quedaron */
.gal-footer-mini-links { display: none; }

/* ─── Tab Envío: cards de info ─────────────────────────────────── */
.gal-ship-info { padding: 4px 0; }
.gal-ship-h1 {
  font-size: 22px; font-weight: 600;
  color: var(--gal-ink); margin: 0 0 24px;
  letter-spacing: -.01em;
}
.gal-ship-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 768px) {
  .gal-ship-grid { grid-template-columns: 1fr; }
}
.gal-ship-card {
  background: var(--gal-bg-2);
  border: 1px solid var(--gal-line);
  border-radius: 6px;
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 8px;
  transition: border-color .2s var(--gal-t), background .2s var(--gal-t);
}
.gal-ship-card:hover {
  border-color: var(--gal-accent-2);
  background: rgba(255,255,255,.02);
}
.gal-ship-icon {
  color: var(--gal-accent-2);
  margin-bottom: 4px;
}
.gal-ship-card h4 {
  font-size: 14px; font-weight: 600;
  color: var(--gal-ink); margin: 0;
  letter-spacing: .02em;
}
.gal-ship-card p {
  font-size: 13.5px; line-height: 1.6;
  color: var(--gal-ink-2); margin: 0;
}
.gal-ship-card strong {
  color: var(--gal-ink); font-weight: 600;
}
.gal-ship-card--total {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(2,119,178,.08) 0%, rgba(30,115,190,.04) 100%);
  border-color: rgba(2,119,178,.25);
}
.gal-ship-card--total .gal-ship-icon { color: var(--gal-accent); }
\n\n

/* ─── Contact Page Styles v2 ─────────────────────────────────── */
.gal-contact-page {
  padding-bottom: 90px;
}
.gal-contact-hero {
  padding: 40px 0 48px;
  border-bottom: 1px solid var(--gal-line);
  background: radial-gradient(at 10% 50%, rgba(30,78,216,.08), transparent 60%);
  margin-bottom: 48px;
}
.gal-contact-hero-inner {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 52px; align-items: center;
}
@media (max-width: 880px) {
  .gal-contact-hero-inner { grid-template-columns: 1fr; gap: 24px; }
}
.gal-contact-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gal-accent); display: block; margin-bottom: 10px;
}
.gal-contact-title {
  font-family: 'Archivo Narrow', 'Archivo', sans-serif;
  font-size: clamp(38px, 5.5vw, 68px);
  font-weight: 700; letter-spacing: -0.02em; line-height: 1.05;
  margin: 0 0 16px; color: var(--gal-ink);
}
.gal-contact-lead {
  color: var(--gal-ink-2); font-size: 16px; line-height: 1.6; max-width: 54ch; margin: 0;
}
.gal-contact-factory-hours {
  display: flex; justify-content: flex-end;
}
@media (max-width: 880px) {
  .gal-contact-factory-hours { justify-content: flex-start; }
}
.gal-hours-card {
  background: var(--gal-bg-3);
  border: 1px solid var(--gal-line);
  border-radius: 6px; padding: 18px 24px;
  display: flex; align-items: center; gap: 16px;
  max-width: 380px;
}
.gal-hours-icon {
  width: 24px; height: 24px; color: var(--gal-accent); flex-shrink: 0;
}
.gal-hours-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gal-ink-3); margin-bottom: 2px;
}
.gal-hours-val {
  font-size: 13.5px; font-weight: 600; color: var(--gal-ink); white-space: nowrap;
}

/* Rejilla de contenido */
.gal-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 60px;
}
@media (max-width: 980px) {
  .gal-contact-grid { grid-template-columns: 1fr; gap: 48px; }
}

/* Columna Izquierda: Tarjetas de Departamento */
.gal-contact-col-title {
  font-size: 18px; font-weight: 600; color: var(--gal-ink);
  letter-spacing: .02em; margin: 0 0 24px;
}
.gal-dep-card {
  background: var(--gal-bg-3);
  border: 1px solid var(--gal-line);
  border-radius: 6px; padding: 22px 24px;
  position: relative; overflow: hidden;
  display: flex; gap: 20px; margin-bottom: 16px;
  transition: border-color .22s var(--gal-t);
}
.gal-dep-card:hover {
  border-color: var(--gal-line-2);
}
.gal-dep-accent {
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--gal-line-2);
}
.gal-dep-accent.sales { background: var(--gal-accent); }
.gal-dep-accent.support { background: var(--gal-warn); }
.gal-dep-accent.wa { background: #25D366; }

.gal-dep-icon {
  width: 24px; height: 24px; color: var(--gal-ink-3); flex-shrink: 0; margin-top: 2px;
}
.gal-dep-card.wa .gal-dep-icon { color: #25D366; }
.gal-dep-icon svg { width: 100%; height: auto; }

.gal-dep-content h3 {
  font-size: 15px; font-weight: 600; color: var(--gal-ink); margin: 0 0 6px;
}
.gal-dep-content p {
  font-size: 13px; line-height: 1.55; color: var(--gal-ink-2); margin: 0 0 12px;
}
.gal-dep-mail {
  font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--gal-ink);
  font-weight: 500; border-bottom: 1px solid var(--gal-line); padding-bottom: 2px;
}
.gal-wa-btn-contact {
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(37,211,102,.12); color: #25D366;
  font-size: 12px; font-weight: 700; height: 34px; padding: 0 16px;
  border-radius: 4px; text-decoration: none !important;
  transition: background .2s, color .2s;
  letter-spacing: .02em;
}
.gal-wa-btn-contact:hover {
  background: #25D366; color: #fff;
}

/* Columna Derecha: Formulario */
.gal-contact-form-container {
  background: var(--gal-bg-3);
  border: 1px solid var(--gal-line);
  border-radius: 6px; padding: 36px 40px;
}
@media (max-width: 600px) {
  .gal-contact-form-container { padding: 24px; }
}
.gal-form-title {
  font-size: 20px; font-weight: 600; color: var(--gal-ink);
  letter-spacing: -.01em; margin: 0 0 28px;
}

.gln-form-group {
  display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px;
}
.gln-form-group label {
  font-size: 12px; font-weight: 600; color: var(--gal-ink-2);
  letter-spacing: .02em; text-transform: uppercase;
}

/* Inputs, selects y textareas */
.gln-form-group input[type="text"],
.gln-form-group input[type="email"],
.gln-form-group select,
.gln-form-group textarea {
  background: var(--gal-bg-2);
  border: 1px solid var(--gal-line);
  color: var(--gal-ink);
  font-family: inherit; font-size: 14px;
  height: 44px; padding: 0 14px; border-radius: 5px;
  width: 100%; outline: none; box-sizing: border-box;
  transition: border-color .22s var(--gal-t), box-shadow .22s var(--gal-t);
}
.gln-form-group textarea {
  height: 120px; padding: 12px 14px; resize: vertical; line-height: 1.5;
}
.gln-form-group input:focus,
.gln-form-group select:focus,
.gln-form-group textarea:focus {
  border-color: var(--gal-accent);
  box-shadow: 0 0 0 3px var(--gal-accent-soft);
}

.gln-form-row {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
}
@media (max-width: 600px) {
  .gln-form-row { grid-template-columns: 1fr; gap: 0; }
}
.gln-form-row.col-70-30 {
  grid-template-columns: 2fr 1fr;
}
@media (max-width: 600px) {
  .gln-form-row.col-70-30 { grid-template-columns: 1fr; }
}

/* Personalizacion de Select */
.gln-select-wrapper { position: relative; }
.gln-select-wrapper select {
  appearance: none; -webkit-appearance: none;
  padding-right: 36px;
}
.gln-select-wrapper::after {
  content: ''; position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent; border-right: 5px solid transparent;
  border-top: 5px solid var(--gal-ink-3);
  pointer-events: none;
}

/* Checkbox personalizado */
.gln-checkbox-group { margin-bottom: 24px; }
.gln-checkbox-label {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  user-select: none;
}
.gln-checkbox-label input {
  position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;
}
.gln-chk-custom {
  width: 18px; height: 18px; background: var(--gal-bg-2);
  border: 1px solid var(--gal-line); border-radius: 4px;
  display: inline-block; flex-shrink: 0; position: relative; margin-top: 1px;
  transition: background .2s, border-color .2s;
}
.gln-checkbox-label:hover input ~ .gln-chk-custom {
  border-color: var(--gal-accent);
}
.gln-checkbox-label input:checked ~ .gln-chk-custom {
  background: var(--gal-accent); border-color: var(--gal-accent);
}
.gln-chk-custom::after {
  content: ""; position: absolute; display: none;
  left: 6px; top: 2px; width: 5px; height: 10px;
  border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.gln-checkbox-label input:checked ~ .gln-chk-custom::after {
  display: block;
}
.gln-chk-txt {
  font-size: 12.5px; line-height: 1.5; color: var(--gal-ink-2); text-transform: none !important;
}

/* Caja de Estado AJAX */
.gln-form-status-box {
  border-radius: 5px; padding: 14px 18px; font-size: 13.5px; line-height: 1.55;
  margin-bottom: 24px; border: 1px solid transparent;
}
.gln-form-status-box.error {
  background: rgba(235,87,87,.1); border-color: rgba(235,87,87,.2); color: #eb5757;
}
.gln-form-status-box.success {
  background: rgba(46,204,113,.1); border-color: rgba(46,204,113,.2); color: #2ecc71;
}
.gln-form-status-box ul { margin: 0; padding-left: 18px; }

/* Boton Submit */
.gln-btn-submit {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--gal-accent); color: #fff; border: none; outline: none;
  font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .02em;
  height: 48px; padding: 0 32px; border-radius: 4px; cursor: pointer;
  transition: background .22s var(--gal-t), transform .18s;
  width: 100%;
}
.gln-btn-submit:hover {
  background: var(--gal-accent-2);
}
.gln-btn-submit:active { transform: scale(.98); }
.gln-btn-submit:disabled {
  background: var(--gal-line); color: var(--gal-ink-3); cursor: not-allowed;
}

/* Spinner AJAX animado */
.gln-spinner {
  width: 18px; height: 18px; animation: gln-spin .8s linear infinite;
}
@keyframes gln-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
\n
/* ─── Contact Page — Hard Reset blindado contra Woodmart/Elementor (Linus 2026-05-22) ──────── */
.gal-contact-page * { box-sizing: border-box; }
/* Linus 2026-05-24 — scope a <main>: antes este selector machacaba TODOS los
   SVG del documento (incluido el logo y los iconos del header global). */
main.gal-contact-page svg {
  max-width: 100%;
  width: auto;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}
.gal-contact-page .gal-hours-icon {
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0;
}
.gal-contact-page .gal-dep-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gal-contact-page .gal-dep-icon svg {
  width: 24px !important;
  height: 24px !important;
}
.gal-contact-page input,
.gal-contact-page select,
.gal-contact-page textarea,
.gal-contact-page button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  box-shadow: none;
  outline: none;
  background-image: none;
  text-transform: none;
  letter-spacing: normal;
  line-height: normal;
}
.gal-contact-page button {
  border: none;
  cursor: pointer;
}
.gal-contact-page a { text-decoration: none; }
.gal-contact-page p { margin: 0; }
.gal-contact-page h1, .gal-contact-page h2, .gal-contact-page h3, .gal-contact-page h4 {
  margin: 0; line-height: 1.2;
}
.gal-contact-page main { padding: 40px 0; }

/* Aplicar font-family directamente para evitar fallback */
.gal-contact-page {
  background: var(--gal-bg);
  color: var(--gal-ink);
  font-family: 'Archivo', system-ui, -apple-system, sans-serif;
  min-height: 70vh;
  padding-top: 30px;
}
\n
/* ─── Contact Page — Fix de alineación de filas (Linus 2026-05-22) ──────── */
/* Asegura que los inputs siempre queden alineados en la base,
   independientemente de la longitud del label encima. */
.gal-contact-page .gln-form-row {
  align-items: end;
}
.gal-contact-page .gln-form-row .gln-form-group {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}
.gal-contact-page .gln-form-row .gln-form-group label {
  min-height: 16px;
  margin-bottom: auto;
  display: flex;
  align-items: flex-end;
}
.gal-contact-page .gln-form-row .gln-form-group input,
.gal-contact-page .gln-form-row .gln-form-group select,
.gal-contact-page .gln-form-row .gln-form-group textarea {
  margin-top: 8px;
}
/* Espacio inferior entre filas */
.gal-contact-page .gln-form-row + .gln-form-row,
.gal-contact-page .gln-form-row + .gln-form-group,
.gal-contact-page .gln-form-group + .gln-form-row {
  margin-top: 20px;
}
/* ═══════════════════════════════════════════════════════════════════════
   PARTNERS PAGE — Linus 2026-05-22
   ═══════════════════════════════════════════════════════════════════════ */

.gal-partners-page {
	background: var(--gal-bg, #0a1628);
	color: var(--gal-text, #e6edf7);
	font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	min-height: 100vh;
	padding: 0;
	margin: 0;
}

.gal-partners-page * {
	box-sizing: border-box;
}

/* Linus 2026-05-24 — scope a <main>: antes este selector mataba el logo del
   header (lo forçaba a 24x24) y todos los SVG globales en la página partners. */
main.gal-partners-page svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* ── Section wrappers ──────────────────────────────────────────────── */
.gln-section-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 80px 28px;
}

.gln-h2 {
	font-family: 'Archivo Narrow', 'Archivo', sans-serif;
	font-weight: 700;
	font-size: clamp(28px, 4vw, 42px);
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0 0 14px;
	line-height: 1.1;
}

.gln-section-sub {
	font-size: 17px;
	color: rgba(230,237,247,0.65);
	margin: 0 0 48px;
	max-width: 640px;
}

.gln-count {
	font-size: 0.7em;
	font-weight: 500;
	color: #ffc94a;
	font-family: 'JetBrains Mono', monospace;
	letter-spacing: 0;
	display: inline-block;
	margin-left: 6px;
	vertical-align: middle;
}

/* ── HERO ──────────────────────────────────────────────────────────── */
.gln-hero {
	background: linear-gradient(135deg, #0a1628 0%, #122544 50%, #0c1e3a 100%);
	border-bottom: 1px solid rgba(255,255,255,0.04);
	padding: 100px 28px 80px;
	position: relative;
	overflow: hidden;
}
.gln-hero::before {
	content: '';
	position: absolute;
	top: -150px;
	right: -150px;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(30,78,216,0.12), transparent 70%);
	pointer-events: none;
}
.gln-hero::after {
	content: '';
	position: absolute;
	bottom: -200px;
	left: -100px;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(255,201,74,0.06), transparent 70%);
	pointer-events: none;
}
.gln-hero-inner {
	max-width: 1240px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 60px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.gln-eyebrow {
	display: inline-block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	font-weight: 600;
	color: #ffc94a;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 22px;
	padding: 6px 12px;
	background: rgba(255,201,74,0.08);
	border: 1px solid rgba(255,201,74,0.18);
	border-radius: 4px;
}
.gln-hero-title {
	font-family: 'Archivo Narrow', sans-serif;
	font-weight: 800;
	font-size: clamp(40px, 6.5vw, 68px);
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: #fff;
	margin: 0 0 24px;
}
.gln-hero-lead {
	font-size: 19px;
	line-height: 1.55;
	color: rgba(230,237,247,0.78);
	margin: 0 0 36px;
	max-width: 520px;
}
.gln-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.gln-hero-right {
	display: flex;
	justify-content: center;
}
.gln-hero-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 20px;
	padding: 40px 36px;
	max-width: 380px;
	width: 100%;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.gln-hero-card-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, #1E4ED8, #2563eb);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
}
.gln-hero-card-icon svg {
	width: 28px;
	height: 28px;
	color: #fff;
}
.gln-hero-card-label {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	font-weight: 600;
	color: #ffc94a;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.gln-hero-card-val {
	font-size: 18px;
	line-height: 1.45;
	color: #fff;
	font-weight: 500;
}

/* ── Botones ───────────────────────────────────────────────────────── */
.gln-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	border-radius: 4px;
	font-family: 'Archivo', sans-serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.01em;
	cursor: pointer;
	border: none;
	text-decoration: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
	line-height: 1;
}
.gln-btn svg {
	width: 18px;
	height: 18px;
}
.gln-btn-primary {
	background: #1E4ED8;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(30,78,216,0.3);
}
.gln-btn-primary:hover {
	background: #2563eb;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(30,78,216,0.45);
}
.gln-btn-outline {
	background: transparent;
	color: #e6edf7 !important;
	border: 1.5px solid rgba(255,255,255,0.18);
}
.gln-btn-outline:hover {
	background: rgba(255,255,255,0.06);
	border-color: rgba(255,255,255,0.36);
	transform: translateY(-1px);
}

/* ── Sección DOS VÍAS ──────────────────────────────────────────────── */
.gln-paths {
	background: #0c1d36;
	border-bottom: 1px solid rgba(255,255,255,0.04);
}
.gln-paths-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-top: 24px;
}
.gln-path-card {
	background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.012));
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px;
	padding: 44px 36px 36px;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.gln-path-card:hover {
	transform: translateY(-2px);
	border-color: rgba(255,255,255,0.14);
}
.gln-path-accent {
	position: absolute;
	top: 0;
	left: 36px;
	right: 36px;
	height: 3px;
	border-radius: 0 0 3px 3px;
}
.gln-path-accent.agent { background: linear-gradient(90deg, #1E4ED8, #60a5fa); }
.gln-path-accent.dist  { background: linear-gradient(90deg, #ffc94a, #fbbf24); }

.gln-path-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}
.gln-path-agent .gln-path-icon { background: rgba(30,78,216,0.12); color: #60a5fa; }
.gln-path-dist  .gln-path-icon { background: rgba(255,201,74,0.12); color: #ffc94a; }
.gln-path-icon svg { width: 28px; height: 28px; }

.gln-path-title {
	font-family: 'Archivo Narrow', sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px;
	letter-spacing: -0.02em;
}
.gln-path-subtitle {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 18px;
}
.gln-path-agent .gln-path-subtitle { color: #60a5fa; }
.gln-path-dist  .gln-path-subtitle { color: #ffc94a; }

.gln-path-desc {
	font-size: 15.5px;
	line-height: 1.62;
	color: rgba(230,237,247,0.78);
	margin: 0 0 22px;
}
.gln-path-bullets {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
}
.gln-path-bullets li {
	padding: 8px 0 8px 24px;
	font-size: 14.5px;
	color: rgba(230,237,247,0.85);
	position: relative;
	line-height: 1.45;
}
.gln-path-bullets li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 8px;
	color: #22c55e;
	font-weight: 700;
}
.gln-path-profile {
	background: rgba(255,255,255,0.025);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 10px;
	padding: 16px 18px;
	margin-bottom: 26px;
}
.gln-path-profile-h {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	font-weight: 600;
	color: rgba(255,255,255,0.55);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.gln-path-profile-b {
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(230,237,247,0.72);
}
.gln-path-cta {
	margin-top: auto;
	align-self: flex-start;
}

/* ── Sección OFFER ─────────────────────────────────────────────────── */
.gln-offer {
	background: #0a1628;
	border-bottom: 1px solid rgba(255,255,255,0.04);
}
.gln-offer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-top: 32px;
}
.gln-offer-item {
	padding: 20px 0;
	text-align: left;
}
.gln-offer-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(30,78,216,0.1);
	color: #60a5fa;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.gln-offer-icon svg { width: 26px; height: 26px; }
.gln-offer-item h3 {
	font-family: 'Archivo Narrow', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 10px;
	letter-spacing: -0.015em;
}
.gln-offer-item p {
	font-size: 15px;
	line-height: 1.55;
	color: rgba(230,237,247,0.72);
	margin: 0;
}

/* ── Sección FORM (postulación) ────────────────────────────────────── */
.gln-form-section {
	background: #0c1d36;
	border-bottom: 1px solid rgba(255,255,255,0.04);
}
.gln-form-section-inner {
	max-width: 880px;
}
.gln-form-header {
	text-align: center;
	margin-bottom: 40px;
}
.gln-form-lead {
	font-size: 17px;
	color: rgba(230,237,247,0.7);
	margin: 0;
}

.gln-partners-form {
	background: rgba(255,255,255,0.025);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px;
	padding: 40px;
}

.gln-form-group { margin-bottom: 22px; }
.gln-form-group label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: rgba(230,237,247,0.78);
	margin-bottom: 8px;
	letter-spacing: 0.01em;
}
.gln-form-group input[type="text"],
.gln-form-group input[type="email"],
.gln-form-group input[type="tel"],
.gln-form-group input[type="url"],
.gln-form-group input[type="number"],
.gln-form-group select,
.gln-form-group textarea {
	width: 100%;
	background: rgba(255,255,255,0.03) !important;
	background-image: none !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	border-radius: 9px !important;
	padding: 12px 14px !important;
	font-family: 'Archivo', sans-serif !important;
	font-size: 15px !important;
	color: #e6edf7 !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color 0.15s ease, background 0.15s ease;
	line-height: 1.4;
}
.gln-form-group input:focus,
.gln-form-group select:focus,
.gln-form-group textarea:focus {
	border-color: #1E4ED8 !important;
	background: rgba(255,255,255,0.05) !important;
}
.gln-form-group input::placeholder,
.gln-form-group textarea::placeholder {
	color: rgba(230,237,247,0.32);
}
.gln-form-group textarea {
	resize: vertical;
	min-height: 80px;
}
.gln-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	align-items: end;
}
.gln-form-row.col-50-50 { grid-template-columns: 1fr 1fr; }
/* Linus 2026-05-24 — fr en vez de % para que descuente el gap (antes 70%+30%
   + gap se salían del contenedor por la derecha). */
.gln-form-row.col-70-30 { grid-template-columns: 7fr 3fr; }

.gln-select-wrapper {
	position: relative;
}
.gln-select-wrapper::after {
	content: '▾';
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(230,237,247,0.5);
	pointer-events: none;
	font-size: 12px;
}
.gln-select-wrapper select {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding-right: 36px !important;
}

/* Role toggle (radios estilizados como cards) */
.gln-role-label {
	margin-bottom: 14px !important;
}
.gln-role-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.gln-role-option input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gln-role-card {
	display: block;
	padding: 16px 18px;
	border: 1.5px solid rgba(255,255,255,0.1);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
	text-align: center;
}
.gln-role-card-title {
	font-weight: 600;
	color: rgba(230,237,247,0.85);
	font-size: 14.5px;
}
.gln-role-option input:checked + .gln-role-card {
	border-color: #1E4ED8;
	background: rgba(30,78,216,0.08);
}
.gln-role-option input:checked + .gln-role-card .gln-role-card-title {
	color: #fff;
}

/* Checkbox personalizada */
.gln-checkbox-group { margin-top: 6px; }
.gln-checkbox-label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px;
	cursor: pointer;
	font-size: 13.5px !important;
	color: rgba(230,237,247,0.7) !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	margin-bottom: 0 !important;
}
.gln-checkbox-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gln-chk-custom {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border: 1.5px solid rgba(255,255,255,0.2);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
	transition: all 0.15s;
}
.gln-checkbox-label input:checked + .gln-chk-custom {
	background: #1E4ED8;
	border-color: #1E4ED8;
}
.gln-checkbox-label input:checked + .gln-chk-custom::after {
	content: '✓';
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

/* Submit button */
.gln-form-submit-row {
	margin-top: 28px;
	display: flex;
	justify-content: flex-end;
}
.gln-btn-submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 32px;
	background: #1E4ED8;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-family: 'Archivo', sans-serif;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(30,78,216,0.3);
	transition: all 0.18s;
}
.gln-btn-submit:hover:not(:disabled) {
	background: #2563eb;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(30,78,216,0.45);
}
.gln-btn-submit:disabled {
	opacity: 0.6;
	cursor: progress;
}
.gln-spinner {
	width: 18px;
	height: 18px;
	animation: gln-spin 0.8s linear infinite;
}
@keyframes gln-spin { to { transform: rotate(360deg); } }

/* Status box */
.gln-form-status-box {
	margin: 16px 0 0;
	padding: 14px 18px;
	border-radius: 10px;
	font-size: 14.5px;
	line-height: 1.5;
}
.gln-form-status-box.success {
	background: rgba(34,197,94,0.1);
	border: 1px solid rgba(34,197,94,0.3);
	color: #4ade80;
}
.gln-form-status-box.error {
	background: rgba(239,68,68,0.1);
	border: 1px solid rgba(239,68,68,0.3);
	color: #fca5a5;
}
.gln-form-status-box ul { margin: 0; padding-left: 20px; }

/* ── Sección PARTNERS LIST ────────────────────────────────────────── */
.gln-partners-list {
	background: #0a1628;
	border-bottom: 1px solid rgba(255,255,255,0.04);
}
.gln-partners-list-agents {
	background: #0c1d36;
}
.gln-partners-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 8px;
}
.gln-partner-card {
	background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.012));
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 24px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	transition: transform 0.18s, border-color 0.18s;
	min-height: 220px;
}
.gln-partner-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255,255,255,0.16);
}
.gln-partner-flag {
	font-size: 36px;
	line-height: 1;
	margin-bottom: 6px;
}
.gln-partner-country {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
}
.gln-partner-agent .gln-partner-country { color: #ffc94a; }
.gln-partner-name {
	font-family: 'Archivo Narrow', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: #fff;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 4px 0 2px;
}
.gln-partner-city {
	font-size: 13.5px;
	color: rgba(230,237,247,0.6);
	margin-bottom: 12px;
}
.gln-btn-card-contact {
	margin-top: auto;
	padding: 10px 16px;
	background: rgba(30,78,216,0.12);
	color: #60a5fa !important;
	border: 1px solid rgba(30,78,216,0.3);
	font-size: 13.5px;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	transition: all 0.15s;
	align-self: flex-start;
	font-family: 'Archivo', sans-serif;
	font-weight: 600;
}
.gln-btn-card-contact:hover {
	background: rgba(30,78,216,0.22);
	border-color: rgba(30,78,216,0.6);
	color: #93c5fd !important;
}
.gln-btn-card-contact svg { width: 14px; height: 14px; }

.gln-partners-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 40px;
	color: rgba(230,237,247,0.5);
	font-style: italic;
}

/* ── MODAL ────────────────────────────────────────────────────────── */
.gln-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.gln-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.gln-modal-dialog {
	position: relative;
	background: #0c1d36;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 18px;
	max-width: 540px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	padding: 36px 32px 28px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.gln-modal-close {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 36px;
	height: 36px;
	border: none;
	background: transparent;
	color: rgba(255,255,255,0.6);
	font-size: 28px;
	cursor: pointer;
	border-radius: 8px;
	transition: all 0.15s;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
}
.gln-modal-close:hover {
	background: rgba(255,255,255,0.08);
	color: #fff;
}
.gln-modal-dialog h3 {
	font-family: 'Archivo Narrow', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
	padding-right: 40px;
}
.gln-modal-dialog h3 #gln-modal-partner-name {
	color: #60a5fa;
}
.gln-modal-lead {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(230,237,247,0.65);
	margin: 0 0 24px;
}
.gln-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 8px;
}

/* ── Mobile ───────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	.gln-hero-inner,
	.gln-paths-grid,
	.gln-offer-grid,
	.gln-partners-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.gln-form-row.col-50-50,
	.gln-form-row.col-70-30,
	.gln-form-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.gln-role-options { grid-template-columns: 1fr; }
	.gln-section-inner { padding: 56px 20px; }
	.gln-partners-form { padding: 28px 22px; }
	.gln-hero { padding: 70px 20px 56px; }
	.gln-hero-right { display: none; }
}

/* ── Hard reset contra terceros ───────────────────────────────────── */
.gal-partners-page button {
	font-family: 'Archivo', sans-serif !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
}
.gal-partners-page * {
	letter-spacing: normal;
	text-transform: none;
}
.gal-partners-page h1,
.gal-partners-page h2,
.gal-partners-page h3 {
	font-family: 'Archivo Narrow', 'Archivo', sans-serif !important;
}
.gal-partners-page input,
.gal-partners-page select,
.gal-partners-page textarea,
.gal-partners-page button {
	box-shadow: none !important;
	outline: none !important;
}

/* ============================================================
 * Linus 2026-05-22 — Kill Woodmart/WPML chrome
 * Oculta artefactos de Woodmart/WPML que asoman fuera del header/footer custom
 * ============================================================ */

/* 1) Skip links de Woodmart visibles encima del topbar — solo visibles al focus */
.wd-skip-links {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.wd-skip-links a:focus,
.wd-skip-links a:focus-visible {
    position: fixed !important;
    left: 8px !important;
    top: 8px !important;
    width: auto !important;
    height: auto !important;
    z-index: 99999 !important;
    background: #0a1628 !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 4px !important;
}

/* 2) Sticky toolbar de Woodmart (Shop/Wishlist/Cart/My account) — no la usamos */
.wd-toolbar,
.wd-toolbar-wrap,
body.sticky-toolbar-on .wd-toolbar { display: none !important; }
body.sticky-toolbar-on { padding-bottom: 0 !important; }

/* 3) Selector de idioma legacy WPML del footer (banderas con texto) — duplicado de nuestro topbar */
.wpml-ls-statics-footer { display: none !important; }

/* ============================================================
 * Linus 2026-05-22 — Ocultar FAB "Manage Consent" (el mosquito rojo)
 * Reemplazado por enlace "Configurar cookies" en el footer custom
 * ============================================================ */
#cmplz-manage-consent,
#cmplz-manage-consent .cmplz-manage-consent {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
}

/* Enlace "Configurar cookies" en el footer */
.gal-cookie-settings,
.gal-footer-mini-links .gal-cookie-settings {
    cursor: pointer !important;
}


/* ─────────────────────────────────────────────────────────────────────
   LINUS 2026-05-23 — Bloque RRSS (topbar + footer) — v2 integrada
   ────────────────────────────────────────────────────────────────── */

/* (limpiado v2 — ver bloque superior de Footer mini para la versión vigente) */

.gal-social { display: inline-flex; align-items: center; gap: 8px; }
.gal-social__list {
  display: flex; align-items: center; gap: 8px;
  list-style: none; margin: 0; padding: 0;
}
.gal-social__btn {
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--gal-ink-2, #c5cdd9);
  text-decoration: none;
  transition: color .25s var(--gal-t, ease), background .25s var(--gal-t, ease),
              transform .25s var(--gal-t, ease), border-color .25s var(--gal-t, ease);
}
.gal-social__btn svg { width: 16px; height: 16px; display: block; }
.gal-social__btn:focus-visible {
  outline: 2px solid var(--gal-accent-2, #2A5BD7); outline-offset: 3px;
  border-radius: 50%;
}

/* — Topbar variant (deprecated, kept para compatibilidad si se reactiva) — */
.gal-social--topbar { margin-left: auto; }
.gal-social--topbar .gal-social__btn { width: 24px; height: 24px; opacity: .82; }
.gal-social--topbar .gal-social__btn:hover { opacity: 1; color: #fff; transform: translateY(-1px); }
.gal-social--topbar .gal-social__btn svg { width: 14px; height: 14px; }

/* — Footer: iconos rounded square 32px junto a los links legales — */
.gal-social--footer { flex: 0 0 auto; gap: 2px; padding-right: 0; border-right: none; align-items: center; }
.gal-social--footer .gal-social__label { display: none; }
.gal-social--footer .gal-social__list {
  margin: 0; padding: 0;
  display: flex; align-items: center;
  gap: 2px;
}
/* Reset de margin/padding heredados de Woodmart en LI: pone Facebook+IG con margin-bottom 10px y descuadra la altura vs YouTube. */
.gal-social--footer .gal-social__list li {
  margin: 0; padding: 0;
  list-style: none;
  display: flex; align-items: center;
  line-height: 1;
}
.gal-social--footer .gal-social__list li::before,
.gal-social--footer .gal-social__list li::marker { content: none; }
.gal-social--footer .gal-social__btn {
  width: 30px; height: 30px;
  border-radius: 6px;
  background: transparent;
  color: var(--gal-ink-2, #c5cdd9);
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
}
.gal-social--footer .gal-social__btn svg { width: 14px; height: 14px; display: block; }
.gal-social--footer .gal-social__btn:hover {
  color: var(--gal-ink, #f3f5f8);
  background: rgba(255,255,255,.06);
}

/* — Header actions del header Galican (catálogo, contact, etc.) — */
/* Linus 2026-05-24 — reset agresivo del UL/LI: Woodmart inyecta margin-bottom
   en los <li> de listas sueltas, lo que rompe la alineación vertical con
   el resto de iconos del header (perfil, carrito). */
.gal-social--header-actions {
  display: inline-flex; align-items: center; gap: 2px; margin-right: 4px;
  height: 40px;
}
.gal-social--header-actions .gal-social__label { display: none; }
.gal-social--header-actions .gal-social__list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; align-items: center;
  gap: 2px;
  height: 40px;
}
.gal-social--header-actions .gal-social__list li {
  margin: 0; padding: 0;
  list-style: none;
  display: flex; align-items: center;
  line-height: 1;
}
.gal-social--header-actions .gal-social__list li::before,
.gal-social--header-actions .gal-social__list li::marker { content: none; }
.gal-social--header-actions .gal-social__btn {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: transparent;
  color: var(--gal-ink-2, #c5cdd9);
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
}
.gal-social--header-actions .gal-social__btn svg { width: 17px; height: 17px; display: block; }
.gal-social--header-actions .gal-social__btn:hover {
  color: var(--gal-ink, #f3f5f8);
  background: rgba(255,255,255,.05);
}

/* Responsive: en mobile el inner pasa a 2 filas; social queda centrado */
@media (max-width: 900px) {
  .gal-footer-mini-inner { justify-content: center; text-align: center; }
  .gal-footer-mini-copy { flex: 1 1 100%; text-align: center; }
  .gal-footer-mini-right { flex: 1 1 100%; justify-content: center; }
  .gal-social--footer { border-right: 0; padding-right: 0; }
}
@media (max-width: 768px) {
  .gal-social--topbar { display: none; }
}

/* ────────────────────────────────────────────────────────────
   Linus 2026-05-24 — Select2 dark dropdown en contact + partners
   Copia el patrón de woocommerce-checkout pero scopeado a body
   gal-contact-page y gal-partners-page.
   ──────────────────────────────────────────────────────────── */
body.gal-contact-page .gln-select-wrapper::after,
body.gal-partners-page .gln-select-wrapper::after { display: none; } /* caret CSS legado oculto, lo pone select2 */

/* Linus 2026-05-24 — igualar Select2 al resto de inputs del form (fondo sutil,
   border-radius 9px, color de placeholder igual a los <input> nativos). */
body.gal-contact-page .select2-container--default .select2-selection--single,
body.gal-partners-page .select2-container--default .select2-selection--single {
  background: rgba(255,255,255,0.03) !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  height: 46px !important;
  border-radius: 9px !important;
  outline: none;
  box-shadow: none !important;
  transition: border-color .15s ease, background .15s ease;
}
body.gal-contact-page .select2-container--default.select2-container--focus .select2-selection--single,
body.gal-contact-page .select2-container--default.select2-container--open .select2-selection--single,
body.gal-partners-page .select2-container--default.select2-container--focus .select2-selection--single,
body.gal-partners-page .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #1E4ED8 !important;
  background: rgba(255,255,255,0.05) !important;
  box-shadow: none !important;
}
body.gal-contact-page .select2-container--default .select2-selection--single .select2-selection__rendered,
body.gal-partners-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #e6edf7 !important;
  line-height: 44px !important;
  padding-left: 14px !important;
  padding-right: 36px !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 15px !important;
}
body.gal-contact-page .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.gal-partners-page .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: rgba(230,237,247,0.32) !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 15px !important;
}
body.gal-contact-page .select2-container--default .select2-selection--single .select2-selection__arrow,
body.gal-partners-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 10px !important;
}
body.gal-contact-page .select2-container--default .select2-selection--single .select2-selection__arrow b,
body.gal-partners-page .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: rgba(230,237,247,0.5) transparent transparent transparent !important;
}

/* Dropdown se monta en <body> con clase select2-container, scopeamos por body genérico */
body.gal-contact-page ~ .select2-container .select2-dropdown,
body.gal-partners-page ~ .select2-container .select2-dropdown,
.select2-container.select2-container--gln .select2-dropdown { display: block; }

/* Como select2 monta el dropdown FUERA del body class scope, scopeamos por body global cuando esté gal-contact-page/partners */
body.gal-contact-page .select2-container .select2-dropdown,
body.gal-partners-page .select2-container .select2-dropdown {
  background: #0a1626 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #e6edf7 !important;
  border-radius: 9px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.3) !important;
  margin-top: 4px;
  overflow: hidden;
}

/* Forzar scope global (select2 mueve el dropdown a <body>) — por eso scope por html que tenga clases */
html:has(body.gal-contact-page) .select2-container .select2-dropdown,
html:has(body.gal-partners-page) .select2-container .select2-dropdown {
  background: #0a1626 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.3) !important;
  overflow: hidden;
}
html:has(body.gal-contact-page) .select2-container .select2-results__option,
html:has(body.gal-partners-page) .select2-container .select2-results__option {
  color: rgb(197,205,217) !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  background: transparent !important;
}
html:has(body.gal-contact-page) .select2-container .select2-results__option--highlighted,
html:has(body.gal-contact-page) .select2-container--default .select2-results__option--highlighted[aria-selected],
html:has(body.gal-partners-page) .select2-container .select2-results__option--highlighted,
html:has(body.gal-partners-page) .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: rgba(30,78,216,.22) !important;
  color: #fff !important;
}
html:has(body.gal-contact-page) .select2-container .select2-results__option[aria-selected="true"],
html:has(body.gal-partners-page) .select2-container .select2-results__option[aria-selected="true"] {
  background: #1E4ED8 !important;
  color: #fff !important;
}

/* Linus 2026-05-24 — Ocultar option placeholder (disabled) en el dropdown de Select2
   Select2 muestra la <option disabled selected> como item del listado.
   La ocultamos visualmente, pero sigue cumpliendo su rol como placeholder del control. */
body.gal-contact-page .select2-results__option[aria-disabled="true"],
body.gal-partners-page .select2-results__option[aria-disabled="true"],
html:has(body.gal-contact-page) .select2-results__option[aria-disabled="true"],
html:has(body.gal-partners-page) .select2-results__option[aria-disabled="true"] {
  display: none !important;
}


/* ── Gift Card — importe personalizado (Linus 2026-05-24) ─────────────────── */
.gal-gift-amount-wrap {
  margin-bottom: 20px;
}
.gal-gift-amount-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gal-ink-2);
  margin-bottom: 9px;
}
.gal-gift-amount-input-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--gal-bg-3);
  border: 1px solid var(--gal-line-2);
  border-radius: 3px;
  max-width: 220px;
  overflow: hidden;
  transition: border-color .2s;
}
.gal-gift-amount-input-wrap:focus-within {
  border-color: var(--gal-accent);
}
.gal-gift-amount-input {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 14px 12px;
  background: transparent;
  border: none;
  outline: none;
  color: var(--gal-ink);
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  appearance: textfield;
  -moz-appearance: textfield;
}
.gal-gift-amount-input::-webkit-inner-spin-button,
.gal-gift-amount-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.gal-gift-amount-input::placeholder {
  color: var(--gal-ink-3);
  font-weight: 400;
}
.gal-gift-amount-currency {
  padding: 0 14px 0 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  font-weight: 600;
  color: var(--gal-ink-3);
  pointer-events: none;
  user-select: none;
}
.gal-gift-amount-error {
  margin-top: 7px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .06em;
  color: #e53e3e;
}

/* ─── Ocultar 'Ver carrito' que WC inyecta tras added_to_cart event ───────────
   WC en wc-add-to-cart.min.js inserta <a class='added_to_cart wc-forward'>
   justo después del botón al disparar 'added_to_cart'. Como abrimos nuestro
   flycart, ese link es redundante. (Linus 2026-05-25)
   ───────────────────────────────────────────────────────────────────────── */
.added_to_cart.wc-forward,
a.added_to_cart,
a.added_to_cart.wc-forward {
	display: none !important;
}

/* ── Sin PVP público (Jaime 2026-08-09) ─────────────────────────────── */
.gal-dist-lead{color:#5a6a7a;font-size:.95rem;margin:6px 0 0}
.gal-prod-price-dist,.prod-price-dist,.gal-dist-tag{font-size:.78rem;color:#6b7a89;font-weight:500;letter-spacing:.01em}
.gal-btn-dist{text-decoration:none;display:inline-flex;align-items:center;gap:10px}
