/*
Theme Name: Cojo Feliz
Theme URI: https://cojofeliz.com
Author: Cojo Feliz
Author URI: https://cojofeliz.com
Description: Tema oficial de Cojo Feliz — comediante, actor y productor mexicano.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: cojo-feliz
*/

/* === RESET === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* === VARIABLES === */
:root {
  --ink: #0f0e0b;
  --cream: #f5f0e8;
  --paper: #ece7dc;
  --red: #c8281a;
  --yellow: #f0c412;
  --mid: #6b6558;
  --white: #fefefe;
}

html { scroll-behavior: smooth; }
body { background: var(--cream); color: var(--ink); font-family: 'DM Sans', sans-serif; overflow-x: hidden; }

/* === NAV === */
nav.site-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; justify-content: space-between; align-items: center; padding: 1rem 3rem; background: var(--ink); }
.nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; color: var(--yellow); letter-spacing: 0.05em; text-decoration: none; }
.nav-links { display: flex; gap: 2rem; list-style: none; }
.nav-links a { color: var(--cream); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.12em; text-decoration: none; opacity: 0.75; transition: opacity 0.2s; }
.nav-links a:hover { opacity: 1; }

/* === HERO === */
.hero { min-height: 100vh; background: var(--ink); display: grid; grid-template-columns: 1fr 1fr; padding-top: 60px; overflow: hidden; }
.hero-left { padding: 6rem 4rem 4rem; display: flex; flex-direction: column; justify-content: center; }
.hero-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--yellow); margin-bottom: 1.5rem; }
.hero-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(5rem, 12vw, 10rem); line-height: 0.92; color: var(--white); }
.hero-title span { color: var(--yellow); }
.hero-subtitle { font-family: 'DM Serif Display', serif; font-style: italic; font-size: 1.4rem; color: var(--cream); opacity: 0.65; margin-top: 2rem; line-height: 1.4; max-width: 380px; }
.hero-cta { display: flex; gap: 1rem; margin-top: 3rem; flex-wrap: wrap; }
.btn-primary { background: var(--red); color: var(--white); padding: 0.85rem 2rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.15em; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; font-weight: 500; text-decoration: none; display: inline-block; }
.btn-secondary { background: transparent; color: var(--cream); padding: 0.85rem 2rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.15em; border: 1px solid rgba(255,255,255,0.3); cursor: pointer; font-family: 'DM Sans', sans-serif; text-decoration: none; display: inline-block; }
.hero-right { position: relative; background: var(--paper); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.hero-photo { width: 100%; height: 100%; object-fit: cover; }
.hero-photo-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1rem; min-height: 600px; }
.hero-big-number { font-family: 'Bebas Neue', sans-serif; font-size: 22vw; color: var(--cream); line-height: 1; opacity: 0.18; position: absolute; bottom: -2rem; right: -1rem; pointer-events: none; }
.hero-tag { position: absolute; top: 3rem; right: 3rem; background: var(--red); color: var(--white); padding: 0.5rem 1rem; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em; transform: rotate(2deg); }
.hero-decorline { position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: var(--yellow); }

/* === TICKER === */
.ticker { background: var(--yellow); padding: 0.6rem 0; overflow: hidden; }
.ticker-inner { display: flex; gap: 0; animation: tickerscroll 22s linear infinite; white-space: nowrap; }
.ticker-item { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 0.05em; padding: 0 2rem; color: var(--ink); }
.ticker-sep { color: var(--red); padding: 0 0.5rem; }
@keyframes tickerscroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* === SECCIONES GENERALES === */
section { padding: 6rem 3rem; }
.section-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.25em; color: var(--red); margin-bottom: 0.75rem; }
.section-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; margin-bottom: 3rem; }
.divider { height: 2px; background: repeating-linear-gradient(90deg, var(--ink) 0, var(--ink) 8px, transparent 8px, transparent 16px); }

/* === ABOUT === */
.about { background: var(--white); display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; align-items: start; }
.about-index { border-top: 2px solid var(--ink); padding-top: 1.5rem; }
.about-number { font-family: 'Bebas Neue', sans-serif; font-size: 6rem; color: var(--paper); line-height: 1; }
.about-body p { font-size: 1.1rem; line-height: 1.7; color: var(--mid); margin-bottom: 1.25rem; }
.about-body strong { color: var(--ink); font-weight: 500; }
.about-pull { font-family: 'DM Serif Display', serif; font-style: italic; font-size: 1.8rem; line-height: 1.3; color: var(--ink); border-left: 4px solid var(--yellow); padding-left: 1.5rem; margin: 2rem 0; }

/* === SHOWS === */
.shows { background: var(--cream); }
.shows-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--ink); border: 1px solid var(--ink); }
.show-card { background: var(--cream); padding: 2rem 1.5rem; transition: background 0.2s; }
.show-card:hover { background: var(--yellow); }
.show-num { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; color: rgba(0,0,0,0.1); line-height: 1; }
.show-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; margin: 0.5rem 0; }
.show-hosts { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--mid); }
.show-desc { font-size: 0.85rem; line-height: 1.5; color: var(--mid); margin-top: 0.75rem; }
.show-badge { display: inline-block; background: var(--red); color: var(--white); font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.1em; padding: 0.2rem 0.5rem; margin-top: 1rem; }

/* === CINE === */
.cine { background: var(--ink); color: var(--white); }
.cine .section-title { color: var(--white); }
.cine .section-label { color: var(--yellow); }
.cine-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.cine-card { border-top: 1px solid rgba(255,255,255,0.2); padding-top: 1.5rem; }
.cine-year { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--yellow); margin-bottom: 0.5rem; }
.cine-title { font-family: 'DM Serif Display', serif; font-size: 1.25rem; margin-bottom: 0.5rem; }
.cine-role { font-size: 0.78rem; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.1em; }

/* === PRODUCCION === */
.produccion { background: var(--paper); }
.prod-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.prod-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.prod-stat { border-top: 2px solid var(--ink); padding-top: 1rem; }
.prod-stat-num { font-family: 'Bebas Neue', sans-serif; font-size: 3.5rem; line-height: 1; }
.prod-stat-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--mid); margin-top: 0.25rem; }
.prod-text p { font-size: 1rem; line-height: 1.7; color: var(--mid); margin-bottom: 1rem; }

/* === COMING SOON === */
.coming { background: var(--ink); padding: 4rem 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.coming-card { border: 1px solid rgba(255,255,255,0.1); padding: 2.5rem; position: relative; overflow: hidden; }
.coming-soon-tag { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.2em; background: var(--red); color: var(--white); padding: 0.25rem 0.75rem; display: inline-block; margin-bottom: 1.5rem; }
.coming-title { font-family: 'Bebas Neue', sans-serif; font-size: 2.5rem; color: var(--white); line-height: 1; }
.coming-desc { font-size: 0.85rem; color: rgba(255,255,255,0.45); line-height: 1.6; margin-top: 1rem; }
.coming-bg-text { font-family: 'Bebas Neue', sans-serif; font-size: 8rem; position: absolute; bottom: -1rem; right: -0.5rem; color: rgba(255,255,255,0.04); line-height: 1; pointer-events: none; }

/* === CONTACT === */
.contact { background: var(--red); color: var(--white); text-align: center; padding: 5rem 3rem; }
.contact .section-label { color: rgba(255,255,255,0.6); }
.contact .section-title { color: var(--white); margin-bottom: 1rem; }
.contact-sub { font-size: 1rem; opacity: 0.75; margin-bottom: 2.5rem; }
.contact-email { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; letter-spacing: 0.05em; border-bottom: 1px solid rgba(255,255,255,0.4); display: inline-block; padding-bottom: 0.25rem; color: var(--white); text-decoration: none; }
.social-row { display: flex; justify-content: center; gap: 2rem; margin-top: 3rem; flex-wrap: wrap; }
.social-link { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: rgba(255,255,255,0.7); text-decoration: none; border: 1px solid rgba(255,255,255,0.3); padding: 0.6rem 1.25rem; transition: all 0.2s; }
.social-link:hover { background: rgba(255,255,255,0.15); color: var(--white); }

/* === FOOTER === */
.site-footer { background: var(--ink); color: rgba(255,255,255,0.35); padding: 2rem 3rem; display: flex; justify-content: space-between; align-items: center; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; }
.footer-logo { font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; color: var(--yellow); }

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr; }
  .hero-right { display: none; }
  .hero-left { padding: 5rem 1.5rem 3rem; }
  .about { grid-template-columns: 1fr; gap: 2rem; }
  .cine-grid { grid-template-columns: 1fr; }
  .prod-row { grid-template-columns: 1fr; gap: 2rem; }
  .coming { grid-template-columns: 1fr; }
  nav.site-nav { padding: 1rem 1.5rem; }
  .nav-links { gap: 1rem; }
  section { padding: 4rem 1.5rem; }
  .site-footer { flex-direction: column; gap: 1rem; text-align: center; }
}
