/*
Theme Name: Sound by Askmookey
Theme URI: https://mookeymedia.com
Author: Askmookey
Author URI: https://mookeymedia.com
Description: A dark-stage, electric-teal Elementor-ready theme built for audio visual & event production companies. Ships with five pre-built, fully Elementor-editable pages (Home, About, Services, Listings, Contact) matching the Crystal Clear Audio & Visual Solutions design.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sound-by-askmookey
Tags: elementor, one-page, events, business
*/

:root{
  --dark:#0b0f14;
  --dark-2:#121821;
  --dark-3:#1a222d;
  --accent:#17e6c5;
  --accent-2:#f2a93b;
  --light:#f7f9fb;
  --white:#ffffff;
  --text-light:#eef2f6;
  --text-muted:#9aa7b5;
  --text-dark:#141a21;
  --text-dark-muted:#5b6672;
  --radius:16px;
  --maxw:1200px;
  --shadow:0 20px 50px -20px rgba(11,15,20,0.35);
  --font-head:'Sora',sans-serif;
  --font-body:'Inter',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--text-dark);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;font-weight:700;color:var(--text-dark);}
.sba-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- Eyebrow ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-2);margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--accent-2);display:inline-block;}
.eyebrow.center{justify-content:center;}
.eyebrow.accent{color:var(--accent);}

/* ---------- Equalizer decoration ---------- */
.eq{display:inline-flex;align-items:flex-end;gap:3px;height:16px;vertical-align:middle;}
.eq span{width:3px;background:var(--accent);border-radius:2px;animation:eqbounce 1.1s ease-in-out infinite;display:block;}
.eq span:nth-child(1){height:40%;animation-delay:0s;}
.eq span:nth-child(2){height:100%;animation-delay:.15s;}
.eq span:nth-child(3){height:65%;animation-delay:.3s;}
.eq span:nth-child(4){height:85%;animation-delay:.45s;}
.eq span:nth-child(5){height:70%;animation-delay:.6s;}
@keyframes eqbounce{0%,100%{transform:scaleY(.4);}50%{transform:scaleY(1);}}
.eq-lg span{width:5px;height:26px;}

/* ---------- Header ---------- */
#sba-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(11,15,20,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .25s ease, box-shadow .25s ease;
}
#sba-header.scrolled{background:rgba(11,15,20,.94);box-shadow:0 10px 30px -18px rgba(0,0,0,.6);}
.sba-nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
.sba-logo{display:flex;align-items:center;gap:10px;color:var(--white);}
.sba-logo-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,var(--accent),#0fb9a3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sba-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.sba-logo-text strong{font-family:var(--font-head);font-size:16.5px;font-weight:800;letter-spacing:.01em;}
.sba-logo-text span{font-size:10px;letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;}
.sba-main-nav{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.sba-main-nav li{list-style:none;}
.sba-main-nav a{
  color:var(--text-muted);font-weight:600;font-size:14.5px;padding:10px 16px;border-radius:999px;display:inline-block;transition:color .2s ease, background .2s ease;
}
.sba-main-nav a:hover{color:var(--white);background:rgba(255,255,255,.06);}
.sba-main-nav li.current-menu-item > a,
.sba-main-nav a.active{color:var(--dark);background:var(--accent);}
.sba-header-actions{display:flex;align-items:center;gap:14px;}
.sba-header-cta{display:inline-flex;}
.sba-hamburger{display:none;flex-direction:column;gap:5px;width:26px;background:none;border:none;cursor:pointer;padding:0;}
.sba-hamburger span{height:2px;background:var(--white);border-radius:2px;transition:transform .25s ease, opacity .25s ease;}
.sba-mobile-panel{
  display:flex;position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
  background:var(--dark-2);z-index:1100;padding:26px 26px;flex-direction:column;gap:6px;
  transform:translateX(100%);transition:transform .3s ease;box-shadow:-20px 0 50px rgba(0,0,0,.4);
}
.sba-mobile-panel.open{transform:translateX(0);}
.sba-mobile-panel .sba-close-mobile{align-self:flex-end;color:var(--white);font-size:26px;margin-bottom:10px;background:none;border:none;cursor:pointer;}
.sba-mobile-panel ul{list-style:none;margin:0;padding:0;}
.sba-mobile-panel a{color:var(--text-light);font-size:17px;font-weight:600;padding:14px 6px;text-align:left;display:block;border-bottom:1px solid rgba(255,255,255,.07);}
.sba-mobile-panel li.current-menu-item > a{color:var(--accent);}
.sba-mobile-panel .btn{margin-top:18px;}
.sba-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1050;}
.sba-overlay.open{display:block;}

/* ---------- Buttons (reference only; Elementor Button widget is styled natively per-instance) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;border-radius:999px;font-weight:700;font-size:15px;font-family:var(--font-head);}

/* ---------- Hero (home) ---------- */
.sba-hero{
  position:relative;min-height:92vh;display:flex;align-items:center;
  background:linear-gradient(180deg,rgba(8,11,15,.78),rgba(8,11,15,.92)),url('https://images.unsplash.com/photo-1470225620780-dba8ba36b745?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
  padding:150px 24px 100px;color:var(--white);overflow:hidden;
}
.sba-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:var(--white);
  clip-path:polygon(0 100%,100% 100%,100% 40%,0 100%);
}
.sba-hero h1{font-size:clamp(34px,5vw,58px);color:var(--white);margin:0 0 20px;}
.sba-hero h1 .hl{color:var(--accent);}
.sba-hero p.lead{font-size:18px;color:var(--text-muted);max-width:520px;margin:0 0 34px;}
.hero-meta{display:flex;gap:26px;flex-wrap:wrap;}
.hero-meta div{display:flex;flex-direction:column;}
.hero-meta strong{font-family:var(--font-head);font-size:24px;color:var(--white);}
.hero-meta span{font-size:12.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;}
.hero-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);
  padding:28px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.hero-card h3{color:var(--white);font-size:19px;margin:0 0 10px;}
.hero-card p{color:var(--text-muted);font-size:14.5px;margin:0 0 18px;}
.hero-card ul{list-style:none;margin:0;padding:0;}
.hero-card ul li{display:flex;gap:10px;align-items:flex-start;color:var(--text-light);font-size:14.5px;padding:7px 0;border-top:1px solid rgba(255,255,255,.08);}
.hero-card ul li:first-child{border-top:none;}
.hero-card ul li::before{content:"\2713";color:var(--accent);font-weight:700;}

/* ---------- Trust strip / marquee ---------- */
.sba-trust-strip{background:var(--dark);padding:22px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);}
.sba-marquee{display:flex;width:max-content;animation:sba-marquee-scroll 26s linear infinite;}
.sba-marquee-group{display:flex;gap:56px;padding-right:56px;align-items:center;}
.sba-marquee span{color:var(--text-muted);font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:10px;}
.sba-marquee span::before{content:"\25C6";color:var(--accent);font-size:10px;}
@keyframes sba-marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Section rhythm ---------- */
.sba-section{padding:100px 24px;}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:clamp(28px,4vw,40px);margin:0 0 16px;}
.section-head p{color:var(--text-dark-muted);font-size:16.5px;margin:0;}
.bg-alt{background:var(--light);}
.bg-dark{background:var(--dark);color:var(--text-light);}
.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--white);}

/* ---------- Benefit / service cards ---------- */
.sba-card{background:var(--white);border:1px solid #eceff2;border-radius:var(--radius);padding:34px 28px;transition:transform .2s ease, box-shadow .2s ease;}
.sba-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.sba-card.tinted{background:var(--light);border-color:var(--accent);}
.sba-card-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,#0b0f14,#1a222d);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--accent);font-size:22px;}
.sba-card h3{font-size:19px;margin:0 0 10px;}
.sba-card p{color:var(--text-dark-muted);font-size:15px;margin:0;}

/* ---------- Testimonials ---------- */
.sba-testi-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:30px;}
.sba-stars{color:var(--accent-2);font-size:14px;letter-spacing:2px;margin-bottom:16px;}
.sba-testi-card p.quote{color:var(--text-light);font-size:15px;margin:0 0 22px;}
.sba-testi-person{display:flex;align-items:center;gap:12px;}
.sba-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--dark);flex-shrink:0;}
.sba-testi-person strong{display:block;font-size:14.5px;color:var(--white);font-weight:700;}
.sba-testi-person span{font-size:12.5px;color:var(--text-muted);}

/* ---------- CTA banner ---------- */
.sba-cta-banner{
  background:linear-gradient(120deg,#0b0f14,#152029 60%,#0b0f14);
  border-radius:28px;padding:64px 50px;text-align:center;color:var(--white);
  position:relative;overflow:hidden;
}
.sba-cta-banner::before{content:"";position:absolute;top:-80px;right:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(23,230,197,.28),transparent 70%);}
.sba-cta-banner::after{content:"";position:absolute;bottom:-100px;left:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(242,169,59,.22),transparent 70%);}
.sba-cta-banner h2{color:var(--white);margin:0 0 14px;position:relative;}
.sba-cta-banner p{color:var(--text-muted);max-width:520px;margin:0 auto 30px;position:relative;}

/* ---------- Page hero (inner pages) ---------- */
.sba-page-hero{padding:170px 24px 90px;color:var(--white);position:relative;background-size:cover;background-position:center;}
.sba-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,15,.85),rgba(8,11,15,.94));}
.sba-page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:var(--white);clip-path:polygon(0 100%,100% 100%,100% 55%,0 100%);}
.sba-page-hero .sba-container{position:relative;z-index:2;}
.sba-page-hero h1{color:var(--white);font-size:clamp(30px,4.6vw,48px);max-width:720px;margin:0 0 16px;}
.sba-page-hero p{color:var(--text-muted);max-width:600px;margin-top:16px;font-size:16.5px;}
.breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:18px;}
.breadcrumb span{color:var(--accent);}

.sba-page-hero-about{background-image:url('https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?auto=format&fit=crop&w=1800&q=80');}
.sba-page-hero-services{background-image:url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?auto=format&fit=crop&w=1800&q=80');}
.sba-page-hero-listings{background-image:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1800&q=80');}
.sba-page-hero-contact{background-image:url('https://images.unsplash.com/photo-1478737270239-2f02b77fc618?auto=format&fit=crop&w=1800&q=80');}

/* ---------- About page ---------- */
.pull-quote{border-left:3px solid var(--accent);padding:6px 0 6px 22px;font-family:var(--font-head);font-size:19px;color:var(--text-dark);margin:26px 0;}
.mission-box{background:var(--dark);color:var(--white);border-radius:var(--radius);padding:34px;}
.mission-box p{color:var(--text-light);font-size:16px;margin:0;}
.diff-card{padding:28px 22px;border-radius:var(--radius);background:var(--light);}
.diff-num{font-family:var(--font-head);font-weight:800;font-size:26px;color:var(--accent-2);margin-bottom:12px;}
.diff-card h4{font-size:16px;margin:0 0 8px;}
.diff-card p{font-size:14px;color:var(--text-dark-muted);margin:0;}

/* ---------- How it works ---------- */
.sba-step{position:relative;text-align:center;}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--dark);color:var(--accent);font-family:var(--font-head);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.sba-step h4{font-size:15.5px;margin:0 0 8px;}
.sba-step p{font-size:13.5px;color:var(--text-dark-muted);margin:0;}

/* ---------- FAQ (Elementor accordion gets these via widget style controls, kept here as fallback) ---------- */
.faq-list{max-width:800px;margin:0 auto;}

/* ---------- Listings ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:44px;}
.filter-chip{font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--text-dark);background:var(--white);border:1px solid #dde3e9;border-radius:999px;padding:9px 20px;cursor:pointer;transition:all .18s ease;}
.filter-chip:hover{border-color:var(--accent);color:var(--dark);}
.filter-chip.active{background:var(--dark);border-color:var(--dark);color:var(--accent);}
.listing-tag{position:absolute;top:14px;left:14px;background:rgba(11,15,20,.82);color:var(--accent);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:2;}
.listing-card{background:var(--white);border:1px solid #eceff2;transition:transform .2s ease, box-shadow .2s ease;}
.listing-card:hover{box-shadow:var(--shadow);}
.listing-img{position:relative;overflow:hidden;}
.listing-img img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .35s ease;}
.listing-card:hover .listing-img img{transform:scale(1.06);}
.listing-body h3{font-size:17px;margin:0 0 8px;}
.listing-body p{font-size:13.5px;color:var(--text-dark-muted);margin:0 0 14px;line-height:1.55;}
.listing-body a{font-size:13.5px;font-weight:700;color:var(--dark);text-decoration:none;}
.listing-body a:hover{color:var(--accent-2);}
.sba-listing-grid-wrap{max-width:1160px;margin:0 auto;}

/* ---------- Contact ---------- */
.sba-contact-form{background:var(--light);border-radius:var(--radius);padding:36px;}
.sba-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.sba-form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:8px;}
.sba-contact-form label{font-size:13.5px;font-weight:600;color:var(--text-dark);}
.sba-contact-form input,.sba-contact-form textarea{
  padding:14px 16px;border-radius:10px;border:1.5px solid #dde3e8;font-family:var(--font-body);font-size:14.5px;background:var(--white);width:100%;
  transition:border-color .18s ease;
}
.sba-contact-form input:focus,.sba-contact-form textarea:focus{outline:none;border-color:var(--accent);}
.sba-contact-form textarea{resize:vertical;min-height:120px;}
.sba-form-success{background:#e8fbf6;border:1.5px solid var(--accent);color:#0a6b5c;padding:16px 18px;border-radius:10px;font-size:14.5px;font-weight:600;margin-bottom:18px;}
.sba-form-error{background:#fdeceb;border:1.5px solid #e2564f;color:#a3241c;padding:16px 18px;border-radius:10px;font-size:14.5px;font-weight:600;margin-bottom:18px;}
.sba-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 30px;border-radius:999px;font-weight:700;font-size:15px;font-family:var(--font-head);background:var(--accent);color:var(--dark);border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 12px 30px -10px rgba(23,230,197,.55);}
.sba-submit-btn:hover{transform:translateY(-2px);}
.contact-info-card{background:var(--dark);color:var(--white);border-radius:var(--radius);padding:32px;}
.info-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(255,255,255,.09);}
.info-row:first-of-type{border-top:none;}
.info-icon{width:38px;height:38px;border-radius:10px;background:rgba(23,230,197,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);}
.info-row strong{display:block;font-size:14.5px;color:var(--white);}
.info-row span,.info-row a{font-size:13.5px;color:var(--text-muted);}
.info-row a:hover{color:var(--accent);}
.social-row{display:flex;gap:10px;margin-top:22px;}
.social-btn{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .18s ease;color:var(--white);}
.social-btn:hover{background:var(--accent);color:var(--dark);}
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.map-wrap iframe{width:100%;height:380px;border:0;display:block;}

/* ---------- Footer ---------- */
#sba-footer{background:var(--dark);color:var(--text-muted);padding:70px 24px 26px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
.footer-col h4{color:var(--white);font-size:14.5px;margin:0 0 18px;letter-spacing:.03em;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col ul li{margin-bottom:11px;}
.footer-col ul li a{font-size:14px;transition:color .18s ease;}
.footer-col ul li a:hover{color:var(--accent);}
.footer-col p{font-size:14px;line-height:1.7;margin-top:14px;max-width:280px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;max-width:var(--maxw);margin:0 auto;}
.footer-bottom a{color:var(--text-muted);}
.footer-bottom a:hover{color:var(--accent);}

/* ---------- Elementor bridging helpers ---------- */
.sba-glass{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.sba-diagonal-bottom{position:relative;}
.sba-diagonal-bottom::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:var(--white);clip-path:polygon(0 100%,100% 100%,100% 45%,0 100%);pointer-events:none;}
.sba-lift:hover{transform:translateY(-6px);}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .sba-main-nav{display:none;}
  .sba-header-cta{display:none;}
  .sba-hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .sba-section{padding:70px 24px;}
  .sba-form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .sba-cta-banner{padding:44px 24px;}
  .sba-hero{padding:130px 24px 90px;min-height:auto;}
}

/* Elementor editor: keep containers full-bleed when marked full width */
.elementor .e-con.e-con-full{max-width:none;}
