/*
Theme Name: Radio Interface Theme
Theme URI: https://example.local/radio-interface
Author: jborquez
Description: One-page SPA theme for Radio Interface — responsive, sticky player, smooth scroll.
Version: 1.0.0
License: GPLv2 or later
*/

:root{
  --color-negro: #010101;
  --color-grafito: #3E4344;
  --color-azul: #338FD8;
  --color-azul-claro: #37AEE6;
  --color-cian: #3FCAEE;
  --color-gris-medio: #7F8B8A;
  --color-menta: #C6DFD9;
  --color-gris-azulado: #D6DCE5;

  --player-height-desktop: 80px;
  --player-height-mobile: 64px;
  --player-height: var(--player-height-desktop);
  --gap: 1.25rem;
}

*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{min-height:100%;margin:0;font-family:Inter,system-ui,Arial,Helvetica,sans-serif;background:var(--color-negro);color:#fff;overflow-x:hidden}
body{padding-bottom:var(--player-height);-webkit-font-smoothing:antialiased}

/* Header / Nav */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:linear-gradient(0deg, rgba(1,1,1,0.65), rgba(1,1,1,0.35));backdrop-filter:blur(6px);padding:0.5rem 1rem}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.site-brand{display:flex;align-items:center;gap:0.75rem}
.logo{font-weight:700;color:var(--color-azul);font-size:clamp(1rem,2.4vw,1.5rem)}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:var(--color-gris-azulado);text-decoration:none;padding:0.5rem;border-radius:6px}
.nav a:hover{color:#fff;background:rgba(255,255,255,0.03)}
.hamburger{display:none;background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer;padding:0.5rem}
/* Mobile navigation */
.nav-mobile{display:none;flex-direction:column;gap:0.5rem;background:rgba(0,0,0,0.95);position:absolute;top:100%;right:1rem;border-radius:8px;padding:1rem;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,0.5);z-index:100}
.nav-mobile.open{display:flex}
.nav-mobile a{color:var(--color-gris-azulado);text-decoration:none;padding:0.5rem 0.75rem;border-radius:4px;transition:background 150ms ease}
.nav-mobile a:hover{background:rgba(255,255,255,0.05);color:#fff}

/* Header social icons (right side) - Circle outline style */
.header-social{display:flex;gap:0.6rem;align-items:center}
.social-icon-circle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--color-gris-azulado);color:var(--color-menta);background:transparent;transition:all 180ms ease}
.social-icon-circle svg{width:18px;height:18px}
.social-icon-circle:hover{border-color:var(--color-cian);color:var(--color-cian);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,255,255,0.15)}

/* Place header-social to the right in desktop layout */
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.site-header .site-brand{flex-shrink:0}
.site-header .nav{order:2;margin-left:auto;margin-right:auto}
.site-header .header-social{order:3;flex-shrink:0}

@media (max-width:768px){
  .header-social{display:none}
}

/* Force logo sizing to prevent oversized images from breaking layout */
.site-header img, .custom-logo, .custom-logo-link img, .site-brand img {
  max-height:80px;
  height:auto;
  width:auto;
  display:block;
}

/* Brand text styling (name + location) */
.brand-text{display:flex;flex-direction:column;gap:0.1rem}
.brand-name{color:#fff;font-weight:700;font-size:1.15rem;line-height:1.2}
.brand-location{color:var(--color-gris-medio);font-size:0.8rem;font-weight:400}

/* Ensure hero content isn't hidden behind fixed header */
.hero{padding-top:5rem}

/* HERO */
.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background-image: linear-gradient(rgba(1, 1, 1, 0.65), rgba(1, 1, 1, 0.65)), url('/wp-content/uploads/2026/01/hero2.jpeg');background-size:cover;background-position:center}
.hero-inner{max-width:1100px;text-align:center;padding:2rem}
.hero h1{font-size:clamp(1.75rem,6vw,3.25rem);line-height:1.05;color:#fff;margin:0 0 1rem}
.hero p{color:var(--color-gris-azulado);font-size:clamp(1rem,2.4vw,1.125rem)}

/* Sections */
section{padding:4rem 0}
.section-inner{max-width:1200px;margin:0 auto;padding:0 1rem}

/* Nosotros */
.nosotros .section-inner{display:flex;flex-direction:row;gap:2rem;align-items:center}
.nosotros img{width:48%;max-width:100%;height:auto;border-radius:8px;object-fit:cover;flex-shrink:0;transition:transform 240ms ease,filter 240ms ease,box-shadow 240ms ease}
.nosotros img:hover{transform:scale(1.035);filter:brightness(1.03);box-shadow:0 18px 40px rgba(0,0,0,0.6)}
.nosotros .texto{width:52%;color:var(--color-gris-azulado);flex:1}

/* Programacion grid */
.programacion{background-image:url('/wp-content/uploads/2026/01/programacion-scaled.png');background-size:cover;background-position:center;position:relative}
.programacion::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.85)}
.programacion .section-inner{position:relative;z-index:2}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:10px;padding:0;overflow:hidden}
.card img{width:100%;height:250px;object-fit:cover;display:block;transition:transform 260ms cubic-bezier(.2,.9,.3,1),filter 260ms ease,box-shadow 260ms ease}
.card:hover img{transform:scale(1.04) translateY(-4px);filter:brightness(1.02);box-shadow:0 14px 30px rgba(0,0,0,0.55)}
.card{position:relative;overflow:visible}
.card::after{content:'';position:absolute;left:0;right:0;top:0;height:100%;border-radius:10px;pointer-events:none;transition:opacity 240ms ease;opacity:0}
.card:hover::after{opacity:1;background:linear-gradient(180deg,rgba(0,0,0,0.06),rgba(0,0,0,0.12))}
.card .meta{padding:1rem;color:var(--color-gris-azulado)}

/* ========== APP SECTION ========== */
.app-section{background:var(--color-negro);padding:4rem 0}
.app-container{display:flex;align-items:center;gap:4rem;max-width:1000px;margin:0 auto}

/* Phone showcase with floating tags */
.phone-showcase{position:relative;flex-shrink:0}
.phone-frame{width:220px;height:420px;background:linear-gradient(145deg,#1a2a35,#0d1a22);border-radius:36px;padding:12px;border:3px solid rgba(0,255,255,0.15);box-shadow:0 25px 60px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.05)}
.phone-notch{width:80px;height:6px;background:#0a1215;border-radius:10px;margin:0 auto 20px}
.phone-screen-new{height:calc(100% - 26px);background:linear-gradient(180deg,#0a1a22,#071520);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;padding:1.5rem}
.phone-app-icon{width:64px;height:64px;border:2px solid var(--color-cian);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--color-cian)}
.phone-app-icon svg{width:32px;height:32px}
.phone-app-name{color:#fff;font-weight:700;font-size:1.1rem;margin-top:0.5rem}
.phone-app-subtitle{color:var(--color-gris-medio);font-size:0.85rem}
.phone-signal{display:flex;align-items:center;gap:0.5rem;margin-top:1rem}
.signal-bars{display:flex;align-items:flex-end;gap:2px}
.signal-bars span{width:4px;background:var(--color-cian);border-radius:2px}
.signal-bars span:nth-child(1){height:6px}
.signal-bars span:nth-child(2){height:10px}
.signal-bars span:nth-child(3){height:14px}
.signal-bars span:nth-child(4){height:18px}
.signal-bars span:nth-child(5){height:22px}
.signal-text{color:var(--color-cian);font-size:0.8rem;font-weight:500}

/* Floating tags */
.floating-tag{position:absolute;background:rgba(10,25,35,0.9);border:1px solid rgba(0,255,255,0.2);border-radius:20px;padding:0.5rem 1rem;display:flex;align-items:center;gap:0.5rem;color:#fff;font-size:0.85rem;font-weight:500;backdrop-filter:blur(8px);animation:float 3s ease-in-out infinite}
.floating-tag svg{width:14px;height:14px;color:var(--color-cian)}
.tag-rock{top:40px;right:-60px;animation-delay:0s}
.tag-jazz{bottom:80px;left:-40px;animation-delay:1.5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* App content */
.app-content{flex:1}
.app-badge{display:inline-block;background:rgba(0,255,255,0.1);color:var(--color-cian);padding:0.4rem 1rem;border-radius:4px;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;margin-bottom:1rem}
.app-title{color:#fff;font-size:2.5rem;font-weight:800;margin:0 0 1rem;line-height:1.1}
.app-description{color:var(--color-gris-medio);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;max-width:440px}
.app-features{list-style:none;padding:0;margin:0 0 2rem}
.app-features li{display:flex;align-items:center;gap:0.75rem;color:var(--color-gris-medio);margin-bottom:0.75rem;font-size:0.95rem}
.app-features li svg{width:20px;height:20px;color:var(--color-cian);flex-shrink:0}
.download-btn{display:inline-flex;align-items:center;gap:0.6rem;background:var(--color-cian);color:var(--color-negro);padding:0.9rem 1.8rem;border-radius:8px;font-weight:700;font-size:1rem;text-decoration:none;transition:all 180ms ease;box-shadow:0 4px 20px rgba(0,255,255,0.25)}
.download-btn svg{width:20px;height:20px}
.download-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,255,255,0.35)}
.app-note{color:var(--color-gris-azulado);font-size:0.8rem;margin-top:1rem;font-style:italic}

@media (max-width:900px){
  .app-container{flex-direction:column;text-align:center;gap:3rem}
  .app-content{display:flex;flex-direction:column;align-items:center}
  .app-description{max-width:100%}
  .app-features{text-align:left}
  .floating-tag{display:none}
}

/* Sticky player (custom) */
.player{position:fixed;left:0;right:0;bottom:0;height:var(--player-height);z-index:9999;display:flex;align-items:center;justify-content:center;padding:0 0.5rem}
.player-inner{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.5rem 1rem;border-radius:10px;background:rgba(1,1,1,0.65);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.03)}
.player-left,.player-center,.player-right{display:flex;align-items:center}
.player-left{flex:0 0 auto}
.player-center{flex:1 1 auto;justify-content:center;min-width:0}
.player-right{flex:0 0 auto}

/* Buttons */
.player-btn{background:transparent;border:0;color:var(--color-cian);font-size:1.25rem;padding:0.5rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.player-btn:hover{background:rgba(255,255,255,0.02)}
.player-btn:focus{outline:2px solid rgba(51,143,216,0.22);outline-offset:2px}
.player-btn .icon-pause{display:none}
.player.playing .player-btn .icon-play{display:none}
.player.playing .player-btn .icon-pause{display:inline}

/* SVG sizing and color */
.player-btn .icon{width:20px;height:20px;display:block;fill:var(--color-cian)}
.player-btn .icon-play,.player-btn .icon-pause{transition:opacity 120ms ease-in-out, transform 120ms ease-in-out}
.player-btn:active .icon{transform:scale(0.96)}

/* Metadata */
.player-meta{display:flex;align-items:center;gap:0.75rem;color:#fff;font-weight:600;overflow:hidden}
.player-meta #player-meta-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e6eef6}
.live-badge{background:rgba(51,143,216,0.15);color:var(--color-azul);padding:0.25rem 0.5rem;border-radius:999px;font-weight:700;font-size:0.85rem}

/* Volume */
.player-volume{width:140px}
.player-volume::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--color-grafito),#111)}
.player-volume::-webkit-slider-thumb{height:14px;width:14px;border-radius:50%;background:var(--color-cian);margin-top:-4px}

/* Hide native audio element */
audio#radio-audio{display:none!important}

/* Ensure body spacing to avoid overlap */
body{padding-bottom:var(--player-height)}

/* Responsive rules */
@media (max-width:1200px){.container{padding:0 1rem}}
@media (max-width:768px){
  :root{--player-height:var(--player-height-mobile)}
  .nosotros,.nosotros .section-inner,.section-inner[style*="display:flex"]{flex-direction:column!important}
  .nosotros img{width:100%!important;max-width:100%!important}
  .nosotros .texto{width:100%!important}
  .cards{grid-template-columns:1fr}
  .nav{display:none}
  .hamburger{display:block}
  .site-header .container{flex-wrap:nowrap;gap:0.5rem;position:relative}
  .site-brand{max-width:60%}
  .site-brand img{max-height:50px!important}
  .brand-text{display:none}
}
@media (min-width:1201px){:root{--player-height:var(--player-height-desktop)}}

/* Accessibility and utilities */
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ========== FOOTER STYLES ========== */
.site-footer{background:var(--color-negro);border-top:1px solid rgba(255,255,255,0.05);padding:3rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem}
.footer-brand .footer-logo{max-height:60px;width:auto;margin-bottom:1rem}
.footer-tagline{color:var(--color-gris-medio);font-size:0.95rem;line-height:1.6;max-width:320px}
.footer-contact h4,.footer-social h4{color:#fff;font-size:1rem;margin-bottom:1rem;font-weight:600}
.contact-item{display:flex;align-items:flex-start;gap:0.6rem;margin-bottom:0.75rem;color:var(--color-gris-medio)}
.contact-item svg{width:18px;height:18px;flex-shrink:0;color:var(--color-cian);margin-top:2px}
.contact-item a{color:var(--color-cian);text-decoration:none;transition:color 150ms ease}
.contact-item a:hover{color:var(--color-menta)}
.footer-social-icons{display:flex;gap:0.6rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.05);padding:1.5rem 0;text-align:center}
.footer-bottom p{color:var(--color-gris-medio);font-size:0.9rem;margin:0 0 0.5rem 0}
.footer-slogan{color:var(--color-gris-azulado);font-size:0.85rem;margin-top:0.5rem!important;font-style:italic}
.footer-credit{margin-top:0.75rem;color:var(--color-gris-medio);font-size:0.9rem}

@media (max-width:768px){
  .footer-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .footer-tagline{max-width:100%}
  .footer-brand .footer-logo{margin:0 auto 1rem}
  .contact-item{justify-content:center}
  .footer-social-icons{justify-content:center}
}
