/**
 * FCC — Fundación Comunidad Contemporánea
 * assets/css/main.css — Overrides Elementor + componentes extra
 */

/* ═══════════════════════════════════════
   ELEMENTOR OVERRIDES
═══════════════════════════════════════ */
.elementor-page { background: var(--negro); }
.elementor-section { position: relative; }

/* Quitar padding default en secciones FCC */
.elementor-section.fcc-no-pad > .elementor-container { padding-top: 0; padding-bottom: 0; }

/* Botones Elementor con estilo FCC */
.elementor-button.fcc-solid {
  background: var(--amarillo) !important;
  color: var(--negro) !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
}
.elementor-button.fcc-solid:hover {
  background: var(--amarillo-l) !important;
  transform: translateY(-2px);
}
.elementor-button.fcc-outline {
  background: transparent !important;
  border: 1px solid rgba(242,242,242,.35) !important;
  color: rgba(242,242,242,.8) !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}
.elementor-button.fcc-outline:hover {
  border-color: #F2F2F2 !important;
  color: #F2F2F2 !important;
}

/* Headings Elementor */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: .03em;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  line-height: 1.85;
  color: rgba(242,242,242,.6);
}

/* ═══════════════════════════════════════
   FORMATO INPUTS GLOBAL
═══════════════════════════════════════ */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-color: var(--amarillo) !important;
  box-shadow: 0 0 0 2px rgba(212,160,23,.12) !important;
  outline: none !important;
}

/* ═══════════════════════════════════════
   CURSOR PERSONALIZADO
═══════════════════════════════════════ */
.fcc-cursor {
  position: fixed; width: 8px; height: 8px;
  border-radius: 50%; background: var(--amarillo);
  pointer-events: none; z-index: 9900;
  transform: translate(-50%,-50%);
  transition: width .25s, height .25s;
  mix-blend-mode: difference;
}
.fcc-cursor-ring {
  position: fixed; width: 30px; height: 30px;
  border-radius: 50%; border: 1px solid rgba(212,160,23,.4);
  pointer-events: none; z-index: 9899;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, opacity .3s;
}
body:has(a:hover) .fcc-cursor { width: 14px; height: 14px; }
body:has(button:hover) .fcc-cursor { width: 14px; height: 14px; }

/* ═══════════════════════════════════════
   MOBILE MENU LOCK
═══════════════════════════════════════ */
body.fcc-menu-open { overflow: hidden; }

/* ═══════════════════════════════════════
   SMART SLIDER 3 PERSONALIZACIÓN
═══════════════════════════════════════ */
.n2-ss-slider-wrapper { border-radius: 0 !important; }
.n2-ss-bullet-canvas { background: var(--amarillo) !important; }
.n2-ss-arrow-wrapper {
  background: rgba(10,10,10,.6) !important;
  border: 1px solid rgba(242,242,242,.15) !important;
  border-radius: 0 !important;
}
.n2-ss-arrow-wrapper:hover {
  background: var(--amarillo) !important;
  border-color: var(--amarillo) !important;
}

/* ═══════════════════════════════════════
   PROGRESS BARS ANIMADAS
═══════════════════════════════════════ */
@keyframes fccProgLoad {
  from { width: 0; }
  to   { width: var(--target-width); }
}

/* ═══════════════════════════════════════
   SKIP LINK ACCESIBILIDAD
═══════════════════════════════════════ */
.fcc-skip-link {
  position: absolute; left: -9999px;
  background: var(--amarillo); color: var(--negro);
  font-family: 'Oswald', sans-serif; font-size: .72rem;
  letter-spacing: .2em; text-transform: uppercase;
  padding: 8px 16px; z-index: 99999;
}
.fcc-skip-link:focus { position: fixed; top: 0; left: 0; }

/* ═══════════════════════════════════════
   SMASH BALLOON INSTAGRAM
═══════════════════════════════════════ */
#sb_instagram { background: transparent !important; }
#sb_instagram .sbi_photo_wrap { border-radius: 0 !important; }
#sb_instagram img { filter: grayscale(.5); transition: filter .4s; }
#sb_instagram .sbi_photo_wrap:hover img { filter: grayscale(0); }
#sb_instagram .sbi_follow_btn { display: none; }

/* ═══════════════════════════════════════
   MODAL ANIMACIÓN
═══════════════════════════════════════ */
#fcc-modal {
  opacity: 0; transition: opacity .35s;
  display: none;
}
#fcc-modal.open {
  display: block;
  animation: fccModalIn .35s ease forwards;
}
@keyframes fccModalIn {
  from { opacity: 0; } to { opacity: 1; }
}

/* ═══════════════════════════════════════
   CONTACTO — MENSAJE OK
═══════════════════════════════════════ */
#fcc-cont-ok {
  display: none;
  font-family: 'IBM Plex Mono', monospace;
  font-size: .65rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--amarillo); padding: 14px 0;
  border-top: 1px solid var(--border-y);
}

/* ═══════════════════════════════════════
   DONACIÓN — TRANSFERENCIA BOX
═══════════════════════════════════════ */
#fcc-don-tab-transf {
  border: 1px solid var(--border); padding: 20px;
  background: rgba(242,242,242,.02);
  font-family: 'IBM Plex Mono', monospace;
  font-size: .75rem; line-height: 2.2;
  color: var(--gris); letter-spacing: .06em;
}
#fcc-don-tab-transf strong { color: var(--blanco); font-weight: 500; }

/* ═══════════════════════════════════════
   RESPONSIVE EXTRAS
═══════════════════════════════════════ */
@media (max-width: 768px) {
  .fcc-cursor, .fcc-cursor-ring { display: none; }
  .fcc-cine-text { padding: 36px 24px; }
  .fcc-lineas-scroll { padding: 0 20px 20px; }
  #fcc-festivales { padding: 72px 20px; }
  #fcc-festivales::before { display: none; }
  .fcc-fest-grid { gap: 2px; }
  .fcc-foot-bottom { flex-direction: column; gap: 8px; text-align: center; font-size: .52rem; }
  .fcc-don-resumen, #fcc-don-resumen2 { font-size: .55rem; }
}

@media (max-width: 480px) {
  .fcc-hero-h1 { font-size: clamp(3rem, 16vw, 5.5rem); }
  .fcc-sec-h   { font-size: clamp(2.8rem, 12vw, 5rem); }
  .fcc-hero-btns { flex-direction: column; align-items: flex-start; gap: 10px; }
  .fcc-don-montos { grid-template-columns: 1fr 1fr; }
  #fcc-mobile-menu a { font-size: 1.8rem; }
}
