/*
Theme Name: Context Pro
Theme URI: https://contextpro.com
Author: Context Pro
Description: Tema oficial de Context Pro — entrenamiento contextual para arqueros de élite.
Version: 1.0.0
Text Domain: contextpro
*/

*{box-sizing:border-box;}
body{font-family:'Barlow',sans-serif;}
h1,h2,h3,h4{font-family:'Barlow Condensed',sans-serif;}

/* Animations */
.fade-up{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
.fade-up.anim-pending{opacity:0;transform:translateY(36px);}
.fade-up.visible{opacity:1;transform:none;}
.fade-left{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
.fade-left.anim-pending{opacity:0;transform:translateX(-36px);}
.fade-left.visible{opacity:1;transform:none;}
.fade-right{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
.fade-right.anim-pending{opacity:0;transform:translateX(36px);}
.fade-right.visible{opacity:1;transform:none;}

/* Navbar */
nav{background:#162A2E;transition:all .4s ease;border-bottom:1px solid rgba(255,255,255,.06);}
.navbar-scrolled{background:rgba(22,42,46,.98)!important;box-shadow:0 4px 30px rgba(0,0,0,.4);}

/* Nav links */
.nav-link{position:relative;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);transition:color .3s;}
.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:#7ED321;transition:width .3s ease;}
.nav-link:hover{color:#7ED321;}
.nav-link:hover::after{width:100%;}

/* Hero */
.hero-overlay{background:linear-gradient(135deg,rgba(14,31,34,.93) 0%,rgba(14,31,34,.6) 60%,rgba(14,31,34,.2) 100%);}

/* Misc */
.divider-green{width:55px;height:4px;background:#7ED321;border-radius:2px;}
.service-card{transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid transparent;}
.service-card:hover{transform:translateY(-8px);border-color:#7ED321;box-shadow:0 20px 60px rgba(126,211,33,.12);}
.audience-card{border-top:3px solid #7ED321;transition:all .3s ease;}
.audience-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.15);}
.btn-cta{background:#7ED321;color:#0E1F22;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;transition:all .3s ease;display:inline-block;}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(126,211,33,.4);}

@keyframes ring-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.ring-animate{animation:ring-pulse 2s infinite;}

/* Mobile */
#mobile-menu{display:none;background:#162A2E;border-top:1px solid rgba(126,211,33,.2);}
#mobile-menu.open{display:block;}
@media(max-width:1100px){.desktop-nav{display:none;}}
@media(min-width:1101px){.mobile-hamburger{display:none;}}

/* Forms */
.form-input{background:#F4F6F5;border:1px solid #e5e7eb;color:#162A2E;font-family:'Barlow',sans-serif;transition:border-color .3s;border-radius:.75rem;padding:.75rem 1rem;width:100%;}
.form-input:focus{outline:none;border-color:#7ED321;}
.form-input::placeholder{color:rgba(22,42,46,.4);}
.stat-number{font-family:'Barlow Condensed',sans-serif;font-weight:900;}

/* ── TESTIMONIAL SLIDER ──────────────────────────────────
   5 cards, 3 always visible, no gaps, no blanks.
   We use 3 "pages": [0,1,2] [1,2,3] [2,3,4]
   Then loop back. Clamp max offset at (5-3)*cardWidth.
*/
.t-slider-outer{overflow:hidden;width:100%;}
.t-slider-track{display:flex;gap:1.5rem;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.t-card{flex:0 0 calc((100% - 3rem) / 3);background:white;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.07);}
@media(max-width:860px){.t-card{flex:0 0 100%;}}
@media(min-width:861px) and (max-width:1100px){.t-card{flex:0 0 calc((100% - 1.5rem)/2);}}

/* ── YOUTUBE PLAYER ────────────────────────────────── */
.yt-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:1.25rem;overflow:hidden;background:#111;cursor:pointer;}
.yt-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;cursor:pointer;}
.yt-wrap:hover .yt-thumb{transform:scale(1.04);}
.yt-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none;}
.yt-play-btn svg{width:72px;height:72px;transition:transform .2s;}
.yt-wrap:hover .yt-play-btn svg{transform:scale(1.1);}
.yt-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:1.25rem;}

/* FAQ */
.faq-answer{max-height:0;overflow:hidden;transition:max-height .55s ease,padding .3s ease;}
.faq-item.active .faq-answer{max-height:600px;padding-bottom:1.25rem;}
.faq-icon{transition:transform .3s ease;}
.faq-item.active .faq-icon{transform:rotate(180deg);}
.faq-item{border-bottom:1px solid rgba(255,255,255,.1);}

/* Coach */
.coach-card{overflow:hidden;border-radius:1.5rem;transition:box-shadow .3s;}
.coach-card:hover{box-shadow:0 20px 50px rgba(0,0,0,.15);}
.coach-card img{transition:transform .6s ease;display:block;width:100%;}
.coach-card:hover img{transform:scale(1.05);}

/* Lang dropdown */
.lang-options{position:absolute;top:calc(100% + 8px);right:0;background:#162A2E;border:1px solid rgba(126,211,33,.3);border-radius:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s ease;z-index:100;min-width:130px;}
.lang-options.open{opacity:1;visibility:visible;transform:translateY(0);}
.lang-opt{padding:.6rem 1rem;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.8);transition:color .2s,background .2s;display:flex;align-items:center;gap:.5rem;}
.lang-opt:hover{color:#7ED321;background:rgba(126,211,33,.08);}
.lang-opt:first-child{border-radius:.75rem .75rem 0 0;}
.lang-opt:last-child{border-radius:0 0 .75rem .75rem;}