/*
Theme Name: Music Hub
Theme URI: https://digitalwurl.com/
Author: Mandla - Digitalwurl
Author URI: https://digitalwurl.com/
Description: One-page music school landing theme.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: music-hub
*/

    :root{
      --ink:#0f172a;/* slate-900 */
      --muted:#475569;/* slate-600 */
      --card:#ffffff;
      --line:#e2e8f0;/* slate-200 */
      --pill1:linear-gradient(45deg,#fb923c,#f43f5e);
      --pill2:linear-gradient(45deg,#14b8a6,#22d3ee);
      --pill3:linear-gradient(45deg,#a3e635,#facc15);
      --pill4:linear-gradient(45deg,#60a5fa,#22d3ee);
      --pill5:linear-gradient(45deg,#a78bfa,#c084fc);
      --bg:radial-gradient(1200px 1200px at -10% -10%, rgba(34,211,238,.18) 0, transparent 55%),
            radial-gradient(1200px 1200px at 110% 110%, rgba(251,146,60,.18) 0, transparent 55%),
            #fff;
      --shadow-sm:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -1px rgba(0,0,0,0.03);
      --shadow-md:0 10px 15px -3px rgba(0,0,0,0.07),0 4px 6px -2px rgba(0,0,0,0.04);
      --shadow-lg:0 20px 25px -5px rgba(0,0,0,0.08),0 10px 10px -5px rgba(0,0,0,0.02);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
    a{color:inherit}
    .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
 /* Nav */
    .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);transition:all 0.3s ease}
    .nav.scrolled{box-shadow:var(--shadow-sm)}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
    .brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:20px}
    .brand-badge{width:40px;height:40px;border-radius:12px;background:conic-gradient(from 0deg, #22d3ee, #a3e635, #facc15, #fb923c, #f43f5e, #22d3ee);display:grid;place-items:center;color:white;font-weight:800;font-size:18px;box-shadow:var(--shadow-sm)}
    .nav a{padding:10px 14px;border-radius:10px;font-weight:700;color:#334155;text-decoration:none;transition:all 0.2s ease;position:relative;overflow:hidden}
    
    /* Enhanced Navigation Hover Effects */
    .nav-links a {
      position: relative;
      padding: 10px 14px;
      font-weight: 700;
      color: #334155;
      text-decoration: none;
      transition: all 0.3s ease;
      overflow: hidden;
      background: none;
    }
    
    .nav-links a::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, 
        #22d3ee 0%, 
        #a3e635 20%, 
        #facc15 40%, 
        #fb923c 60%, 
        #f43f5e 80%, 
        #a78bfa 100%);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
      border-radius: 2px;
      z-index: 1;
    }
    
    .nav-links a::after {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, 
        transparent, 
        rgba(255,255,255,0.4), 
        transparent);
      transition: left 0.7s ease;
      z-index: 0;
    }
    
    .nav-links a:hover {
      color: #0f172a;
      transform: translateY(-2px);
    }
    
    .nav-links a:hover::before {
      transform: scaleX(1);
    }
    
    .nav-links a:hover::after {
      left: 100%;
    }
    
    /* Individual color effects for each nav item */
    .nav-links a:nth-child(1):hover::before { background: linear-gradient(90deg, #22d3ee, #14b8a6); }
    .nav-links a:nth-child(2):hover::before { background: linear-gradient(90deg, #a3e635, #facc15); }
    .nav-links a:nth-child(3):hover::before { background: linear-gradient(90deg, #fb923c, #f43f5e); }
    .nav-links a:nth-child(4):hover::before { background: linear-gradient(90deg, #60a5fa, #22d3ee); }
    .nav-links a:nth-child(5):hover::before { background: linear-gradient(90deg, #a78bfa, #c084fc); }
    .nav-links a:nth-child(6):hover::before { background: linear-gradient(90deg, #22d3ee, #a3e635); }
    .nav-links a:nth-child(7):hover::before { background: linear-gradient(90deg, #facc15, #fb923c); }
    .nav-links a:nth-child(8):hover::before { background: linear-gradient(90deg, #f43f5e, #a78bfa); }
    .nav-links a:nth-child(9):hover::before { background: linear-gradient(90deg, #14b8a6, #60a5fa); }
    .nav-links a:nth-child(10):hover::before { background: linear-gradient(90deg, #a3e635, #f43f5e); }
    
    /* Focus states for accessibility */
    .btn:focus, .dot:focus, .arrow:focus, input:focus, select:focus, textarea:focus {
      outline: 2px solid #0f172a;
      outline-offset: 2px;
    }
    
    /* Navigation Dropdown */
    .nav-dropdown {
      position: relative;
    }
    
    .nav-dropdown > a {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    
    .nav-dropdown > a::after {
      content: '♪';
      font-size: 14px;
      background: linear-gradient(45deg, #22d3ee, #a3e635, #facc15, #fb923c, #f43f5e);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      transition: transform 0.3s ease;
    }
    
    .nav-dropdown:hover > a::after {
      transform: rotate(20deg);
    }
    
    .dropdown-content {
      position: absolute;
      top: 100%;
      left: 0;
      background: rgba(255,255,255,.98);
      backdrop-filter: saturate(180%) blur(12px);
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow-md);
      min-width: 200px;
      padding: 8px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.3s ease;
      z-index: 100;
    }
    
    .nav-dropdown:hover .dropdown-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    
    .dropdown-content a {
      display: block;
      padding: 10px 14px;
      border-radius: 8px;
      margin: 2px 0;
      transition: all 0.2s ease;
    }
    
    .dropdown-content a:hover {
      background: #f1f5f9;
    }
    
    /* Mobile navigation */
    .mobile-toggle {display: none; background: none; border: none; font-size: 24px; cursor: pointer; padding: 8px; border-radius: 8px;}
    .mobile-toggle:hover {background: #f1f5f9;}
    .nav-links {display: flex; gap: 8px;}
    @media (max-width: 768px) {
      .mobile-toggle {display: block;}
      .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(255,255,255,.98);
        backdrop-filter: saturate(180%) blur(12px);
        flex-direction: column;
        padding: 20px;
        border-bottom: 1px solid var(--line);
        box-shadow: var(--shadow-md);
        display: none;
      }
      .nav-links.active {display: flex;}
      .nav-dropdown .dropdown-content {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        background: transparent;
        padding: 8px 0 8px 20px;
      }
    }
    /* Hero */
    .hero{position:relative;overflow:hidden;padding:80px 0 40px}
    .hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 80%, rgba(34,211,238,0.08) 0, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(251,146,60,0.08) 0, transparent 50%);z-index:-1}
    .hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
    @media (max-width: 900px){.hero-grid{grid-template-columns:1fr;}}
    .eyebrow{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(12px);padding:8px 14px;border:1px solid rgba(255,255,255,0.8);border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#334155;box-shadow:var(--shadow-sm);margin-bottom:16px}
    .hero h1{margin:.4em 0 0;padding: 1rem 0;font-size:clamp(36px,4.5vw,56px);line-height:1.05;font-weight:800;background:linear-gradient(135deg, #0f172a 0%, #475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
    
    /* Animated Hero Words */
    .animated-word {
      background: linear-gradient(90deg, 
        #22d3ee, #a3e635, #facc15, #fb923c, #f43f5e, #a78bfa);
      background-size: 400% 100%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: gradientShift 4s ease infinite;
      display: inline-block;
    }
    
    @keyframes gradientShift {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }
    
    .hero p{color:var(--muted);font-size:20px;max-width:620px;line-height:1.6}
    .hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
    .btn{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;border-radius:16px;border:1px solid var(--line);background:#fff;font-weight:800;text-decoration:none;transition:all 0.3s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
    .btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);transition:left 0.5s}
    .btn:hover::before{left:100%}
    .btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
    .btn.primary{background:#0f172a;color:#fff;border-color:#0f172a}
    .btn.secondary {background: linear-gradient(45deg, #14b8a6, #22d3ee);color: white;border: none;}
    .btn.primary:hover{background:#1e293b;transform:translateY(-3px);box-shadow:var(--shadow-md)}
    .hero-visual{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);transform:perspective(1000px) rotateY(-5deg) rotateX(5deg);transition:transform 0.5s ease}
    .hero-visual:hover{transform:perspective(1000px) rotateY(0) rotateX(0)}
    /* Hero Separator */
    .hero-separator {
      position: relative;
      height: 8px;
      margin: 60px auto 0;
      width: 80%;
      background: linear-gradient(90deg, 
        #22d3ee 0%, 
        #a3e635 20%, 
        #facc15 40%, 
        #fb923c 60%, 
        #f43f5e 80%, 
        #a78bfa 100%);
      border-radius: 4px;
      overflow: hidden;
    }
    .hero-separator::after {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, 
        transparent, 
        rgba(255,255,255,0.7), 
        transparent);
      animation: shimmer 3s infinite;
    }
    @keyframes shimmer {
      0% { left: -100%; }
      100% { left: 100%; }
    }
    /* Section Separators */
    .section-separator {
      position: relative;
      height: 1px;
      margin: auto;
      width: 80%;
      background: linear-gradient(90deg, 
        transparent 0%, 
        #e2e8f0 20%, 
        #e2e8f0 80%, 
        transparent 100%);
    }
    .section-separator.fancy {
      height: 3px;
      background: linear-gradient(90deg, 
        transparent 0%, 
        #22d3ee 15%, 
        #a3e635 30%, 
        #facc15 45%, 
        #fb923c 60%, 
        #f43f5e 75%, 
        #a78bfa 90%,
        transparent 100%);
      opacity: 0.5;
    }
    /* Slider */
    .slider{position:relative;height:480px}
    .slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease, transform .6s ease;transform:scale(1.02)}
    .slide.active{opacity:1;transform:scale(1)}
    .slide img{width:100%;height:100%;object-fit:cover;display:block}
    .slider-controls{position:absolute;left:0;right:0;bottom:0;padding:16px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to top, rgba(0,0,0,.5), transparent)}
    .dots{display:flex;gap:6px}
    .dot{width:32px;height:10px;border-radius:999px;background:rgba(255,255,255,.55);border:none;transition:all 0.3s ease;cursor:pointer}
    .dot:hover{background:rgba(255,255,255,.75)}
    .dot.active{background:#fff;width:40px}
    .arrow{border:none;background:rgba(255,255,255,.9);padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer;transition:all 0.2s ease}
    .arrow:hover{background:#fff;transform:scale(1.05)}
    /* Sections */
    section{scroll-margin-top:90px;padding:100px 0;position:relative}
    .section-head{text-align:center;margin-bottom:48px}
    .pill{display:inline-block;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:800;color:#fff;box-shadow:var(--shadow-sm)}
    .pill.p1{background: var(--pill1)}
    .pill.p2{background: var(--pill2)}
    .pill.p3{background: var(--pill3)}
    .pill.p4{background: var(--pill4)}
    .pill.p5{background: var(--pill5)}
    .section-title{font-size:36px;margin:16px 0 8px;font-weight:800;background:linear-gradient(135deg, #0f172a 0%, #475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
    .section-subtitle {
      font-size: 20px;
      color: var(--muted);
      font-weight: 600;
      margin: 0 0 16px;
      line-height: 1.4;
    }
    .section-sub{color:var(--muted);max-width:760px;margin:0 auto;font-size:18px;line-height:1.6}
    /* Cards */
    .grid{display:grid;gap:24px}
    .g-3{grid-template-columns:repeat(3,1fr)}
    .g-2{grid-template-columns:repeat(2,1fr)}
    @media (max-width: 900px){.g-3,.g-2{grid-template-columns:1fr}}
    .card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all 0.4s ease}
    .card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
    .card-in{padding:28px}
    .card-pop{position:absolute;right:-18px;bottom:-18px;width:110px;height:110px;border-radius:999px;filter:blur(12px);opacity:.75;transition:all 0.4s ease}
    .card:hover .card-pop{transform:scale(1.1);opacity:.9}
    .list{margin:12px 0 0;padding:0;list-style:none;color:var(--muted)}
    .list li{display:flex;gap:8px;align-items:flex-start;margin:10px 0;position:relative;padding-left:12px}
    .list li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--pill2)}
    .badge{display:inline-block;background:#0f172a;color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:800;box-shadow:var(--shadow-sm)}
    /* Pricing chips */
    .chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .chip{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:linear-gradient(180deg,#fff,#f8fafc);transition:all 0.3s ease}
    .chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
    .chip small{display:block;color:#64748b;font-size:13px}
    .chip strong{font-size:20px}
    /* Admissions steps */
    .step{position:relative}
    .num{font-size:48px;font-weight:800;background:linear-gradient(135deg, #0f172a 0%, #475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
    /* Events */
    .event-img{height:180px;object-fit:cover;width:100%;transition:transform 0.5s ease}
    .card:hover .event-img{transform:scale(1.05)}
    .event-date{position:absolute;top:12px;left:12px;background:#fff;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;box-shadow:var(--shadow-sm)}
    /* Booking */
    .form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .form input,.form select,.form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);font:inherit;transition:all 0.3s ease;background:#fcfcfc}
    .form input:focus,.form select:focus,.form textarea:focus{background:#fff;box-shadow:0 0 0 3px rgba(15,23,42,0.1);border-color:#0f172a}
    .form textarea{min-height:120px;grid-column:1/-1}
    .aside{display:grid;gap:16px}
    .aside .note{position:relative;border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;transition:all 0.3s ease}
    .aside .note:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
    .aside .dot{position:absolute;right:-8px;top:-8px;width:40px;height:40px;border-radius:12px;filter:saturate(140%);box-shadow:var(--shadow-sm)}
    /* Contact */
    .contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}
    @media (max-width: 900px){.contact-grid{grid-template-columns:1fr}}
    .map{height:260px;border-radius:16px;border:1px dashed var(--line);display:grid;color:#64748b;background:#f8fafc;transition:all 0.3s ease}
    .map:hover{background:#f1f5f9;border-color:#94a3b8}
    /* Footer */
    footer{margin-top:80px;border-top:1px solid var(--line);background:rgba(255,255,255,.9);padding:40px 0 0}
    .foot{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:26px 20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:40px}
    .logo-sm{width:36px;height:36px;border-radius:10px;background:conic-gradient(from 0deg, #22d3ee, #a3e635, #facc15, #fb923c, #f43f5e, #22d3ee);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(--shadow-sm)}
    /* Social media icons */
    .social-icons {display: flex; gap: 12px; margin-top: 20px;}
    .social-icon {display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #f1f5f9; color: #475569; text-decoration: none; font-size: 18px; transition: all 0.3s ease;}
    .social-icon:hover {background: #0f172a; color: #fff; transform: translateY(-3px);}
    /* Loading spinner */
    .spinner {display: none; width: 20px; height: 20px; border: 2px solid transparent; border-top: 2px solid #fff; border-radius: 50%; animation: spin 1s linear infinite; margin-right: 8px;}
    @keyframes spin {0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
    /* New sections */
    .instructor-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px;}
    .instructor-card {text-align: center;}
    .instructor-img {width: 140px; height: 140px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; border: 4px solid #fff; box-shadow: var(--shadow-lg); transition: all 0.4s ease}
    .instructor-card:hover .instructor-img {transform: scale(1.05); box-shadow: var(--shadow-lg)}
    .testimonial-card {position: relative;}
    .testimonial-quote {font-style: italic; margin: 16px 0; font-size: 17px; line-height: 1.6; position: relative; padding-left: 20px;}
    .testimonial-quote::before {content: '"'; position: absolute; left: 0; top: -10px; font-size: 40px; color: #e2e8f0; font-family: Georgia, serif;}
    .testimonial-author {font-weight: 800; color: var(--ink); margin-top: 16px;}
    .testimonial-role {color: var(--muted); font-size: 14px;}
    /* FAQ */
    .faq-item {margin-bottom: 16px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; transition: all 0.3s ease}
    .faq-item:hover {border-color: #cbd5e1;}
    .faq-question {padding: 20px; background: #f8fafc; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all 0.3s ease}
    .faq-question:hover {background: #f1f5f9;}
    .faq-answer {padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease;}
    .faq-answer.active {padding: 20px; max-height: 500px;}
    .faq-toggle {font-size: 20px; transition: transform 0.3s ease; font-weight: 300;}
    .faq-toggle.active {transform: rotate(45deg);}
    /* Floating elements */
    .floating {animation: float 6s ease-in-out infinite;}
    @keyframes float {
      0% { transform: translateY(0px); }
      50% { transform: translateY(-10px); }
      100% { transform: translateY(0px); }
    }

