@charset "UTF-8";
/* ================================================================
   BLUEAGE SERVICES — store/css/custom.css
   Theme: White body, Royal Blue header & footer
   ================================================================ */

:root {
  --ba-blue:      #0A2FA6;
  --ba-blue-dark: #071f7a;
  --ba-blue-mid:  #1240c4;
  --ba-cyan:      #00BFFF;
  --ba-white:     #ffffff;
  --ba-off-white: #f7f9ff;
  --ba-light:     #e8f0ff;
  --ba-text:      #1a2550;
  --ba-muted:     #5a6a9a;
  --ba-border:    #d0dcf0;
  --ba-success:   #2e7d32;
  --ba-error:     #c0392b;
  --transition:   all 0.26s ease;
  --radius:       4px;
  --shadow:       0 4px 24px rgba(10,47,166,0.09);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:'Inter','Poppins',sans-serif;background:#fff;color:var(--ba-text);line-height:1.7;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ba-blue);text-decoration:none;transition:var(--transition);}
a:hover{color:var(--ba-cyan);}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--ba-blue);line-height:1.2;}
p{color:var(--ba-muted);line-height:1.8;}

.pg-container{min-height:100vh;display:flex;flex-direction:column;}
.page-content{flex:1;padding-top:130px;background:#fff;}
@media(max-width:767px){.page-content{padding-top:100px;}}

/* ── Top Bar ──────────────────────────────────────────── */
.ba-topbar{position:fixed;top:0;left:0;right:0;height:40px;z-index:1100;background:var(--ba-blue);}
.ba-topbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 2rem;height:40px;gap:1rem;}
.ba-topbar-social{display:flex;align-items:center;gap:.9rem;}
.ba-topbar-social a{color:rgba(255,255,255,.65);font-size:.8rem;}
.ba-topbar-social a:hover{color:#fff;}
.ba-topbar-right{display:flex;align-items:center;gap:1rem;}
.ba-topbar-phone{color:rgba(255,255,255,.8);font-size:.78rem;font-weight:600;}
.ba-topbar-phone:hover{color:var(--ba-cyan);}
@media(max-width:767px){.ba-topbar-inner{padding:0 1.25rem;}.ba-topbar-phone{display:none;}}

/* Lang switcher */
.ba-lang-switcher{position:relative;}
.ba-lang-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);font-size:.76rem;padding:3px 10px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:5px;}
.ba-lang-btn:hover{border-color:var(--ba-cyan);color:var(--ba-cyan);}
.ba-lang-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--ba-blue);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);list-style:none;padding:4px 0;min-width:130px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.ba-lang-switcher.open .ba-lang-dropdown{display:block;}
.ba-lang-dropdown li a{display:block;padding:7px 14px;font-size:.82rem;color:rgba(255,255,255,.8);}
.ba-lang-dropdown li a:hover,.ba-lang-dropdown li.active a{color:var(--ba-cyan);}

/* Currency switcher */
.ba-currency-switcher{position:relative;}
.ba-currency-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);font-size:.76rem;padding:3px 10px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:5px;}
.ba-currency-btn:hover{border-color:var(--ba-cyan);color:var(--ba-cyan);}
.ba-currency-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--ba-blue);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);list-style:none;padding:4px 0;min-width:150px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.ba-currency-switcher.open .ba-currency-dropdown{display:block;}
.ba-currency-dropdown li a{display:block;padding:7px 14px;font-size:.82rem;color:rgba(255,255,255,.8);}
.ba-currency-dropdown li a:hover,.ba-currency-dropdown li.active a{color:var(--ba-cyan);}

/* ── Navbar ───────────────────────────────────────────── */
.ba-navbar{position:fixed!important;top:calc(40px + var(--banner-h, 0px))!important;left:0;right:0;background:#fff!important;border-bottom:1px solid var(--ba-border);box-shadow:0 1px 12px rgba(10,47,166,.07);z-index:1050;padding:0!important;}
.ba-navbar.scrolled{box-shadow:0 2px 20px rgba(10,47,166,.12);}
.ba-nav-container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1280px;margin:0 auto;padding:0 2rem!important;min-height:90px;}
@media(max-width:767px){.ba-nav-container{min-height:64px;padding:0 1.25rem!important;}}
.ba-brand{display:inline-flex;align-items:center;flex-shrink:0;}
.ba-brand-box{display:inline-flex;align-items:center;padding:4px 0;height:58px;}
.ba-brand-logo{height:42px;width:auto;max-width:220px;}
@media(max-width:767px){.ba-brand-box{height:46px;}.ba-brand-logo{height:32px;}}
.ba-nav-links{gap:0;align-items:center;}
.ba-nav-link{font-size:.8rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ba-text)!important;padding:10px 14px!important;transition:var(--transition);}
.ba-nav-link:hover,.ba-nav-link.active{color:var(--ba-blue)!important;}
.ba-nav-cta{background:var(--ba-blue)!important;color:#fff!important;border-radius:var(--radius);margin-left:6px;padding:9px 18px!important;}
.ba-nav-cta:hover{background:var(--ba-cyan)!important;color:var(--ba-blue)!important;}
.ba-cart-btn{position:relative;display:inline-flex;align-items:center;gap:6px;background:var(--ba-light);border:1px solid var(--ba-border);border-radius:var(--radius);padding:7px 14px!important;font-size:.8rem;font-weight:700;color:var(--ba-blue)!important;margin-left:6px;}
.ba-cart-btn:hover{background:var(--ba-blue);color:#fff!important;}
.ba-cart-count{position:absolute;top:-6px;right:-6px;background:var(--ba-cyan);color:var(--ba-blue);width:18px;height:18px;border-radius:50%;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.ba-toggler{background:transparent;border:1.5px solid var(--ba-border);border-radius:var(--radius);padding:7px 9px;cursor:pointer;}
.ba-toggler-bar{display:block;width:20px;height:2px;background:var(--ba-blue);margin:4px 0;}
.ba-nav-search{display:flex;align-items:center;gap:8px;margin-left:8px;}
.ba-nav-search-input{border:1px solid var(--ba-border);border-radius:var(--radius);padding:7px 12px;font-size:.83rem;outline:none;width:180px;transition:border-color .2s;}
.ba-nav-search-input:focus{border-color:var(--ba-blue);}
.ba-nav-search-btn{background:var(--ba-blue);color:#fff;border:none;border-radius:var(--radius);padding:7px 12px;cursor:pointer;transition:var(--transition);}
.ba-nav-search-btn:hover{background:var(--ba-cyan);color:var(--ba-blue);}
@media(max-width:991px){
  .navbar-collapse{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:2px solid var(--ba-cyan);border-bottom:1px solid var(--ba-border);box-shadow:0 8px 24px rgba(10,47,166,.1);padding:6px 0 10px;z-index:999;}
  .ba-nav-link{display:block;padding:12px 24px!important;border-bottom:1px solid var(--ba-border);}
  .ba-nav-cta{margin:10px 20px 4px!important;display:block!important;text-align:center;padding:11px!important;}
  .ba-nav-search{margin:10px 20px;width:calc(100% - 40px);}
  .ba-nav-search-input{width:100%;}
  .ba-cart-btn{margin:8px 20px!important;display:block!important;text-align:center;}
}

/* ── Container & Layout ───────────────────────────────── */
.container-fluid{max-width:1280px;margin:0 auto;padding:0 2rem;}
@media(max-width:767px){.container-fluid{padding:0 1.25rem;}}
.ba-section{padding:80px 0;background:#fff;}
.ba-section-alt{background:var(--ba-off-white);}
.ba-section-blue{background:var(--ba-blue);}
@media(max-width:767px){.ba-section{padding:56px 0;}}

/* Page Banner */
.ba-page-banner{background:linear-gradient(135deg,var(--ba-blue) 0%,var(--ba-blue-mid) 100%);padding:52px 0 44px;position:relative;overflow:hidden;}
.ba-page-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(0,191,255,.1) 0%,transparent 60%);}
.ba-page-banner-inner{position:relative;z-index:2;}
.ba-page-banner h1{font-size:clamp(1.8rem,4vw,2.8rem);color:#fff;font-weight:700;margin-bottom:6px;}
.ba-page-banner p{color:rgba(255,255,255,.7);font-size:.95rem;}
.ba-breadcrumb{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 0 0;}
.ba-breadcrumb li,.ba-breadcrumb a{font-size:.77rem;color:rgba(255,255,255,.6);}
.ba-breadcrumb a:hover{color:var(--ba-cyan);}
.ba-breadcrumb li[aria-current="page"]{color:var(--ba-cyan);font-weight:600;}
.ba-breadcrumb .sep{color:rgba(255,255,255,.3);}

/* Section titles */
.ba-section-title{text-align:center;margin-bottom:50px;}
.ba-section-tag{display:block;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ba-cyan);margin-bottom:10px;}
.ba-section-title h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--ba-blue);margin-bottom:12px;}
.ba-rule{width:40px;height:3px;background:var(--ba-cyan);margin:0 auto 16px;}
.ba-section-intro{font-size:.97rem;color:var(--ba-muted);max-width:540px;margin:0 auto;line-height:1.75;}

/* ── STORE WELCOME / HERO ─────────────────────────────── */
.ba-store-hero{background:linear-gradient(135deg,var(--ba-blue) 0%,var(--ba-blue-mid) 100%);padding:80px 0;text-align:center;position:relative;overflow:hidden;}
.ba-store-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(0,191,255,.1) 0%,transparent 55%);}
.ba-store-hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.ba-store-hero h1{font-size:clamp(2rem,5vw,3.5rem);color:#fff;font-weight:900;margin-bottom:14px;}
.ba-store-hero h1 span{color:var(--ba-cyan);}
.ba-store-hero p{color:rgba(255,255,255,.7);font-size:1rem;margin-bottom:32px;}
.ba-store-search{display:flex;gap:0;max-width:540px;margin:0 auto;}
.ba-store-search input{flex:1;padding:14px 18px;border:2px solid transparent;border-right:none;border-radius:var(--radius) 0 0 var(--radius);font-size:.95rem;outline:none;}
.ba-store-search button{background:var(--ba-cyan);color:var(--ba-blue);border:none;padding:14px 24px;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;font-weight:700;font-size:.9rem;transition:var(--transition);}
.ba-store-search button:hover{background:#fff;color:var(--ba-blue);}

/* ── Category Pills ───────────────────────────────────── */
.ba-cat-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.ba-cat-pill{padding:8px 18px;border-radius:100px;border:1.5px solid var(--ba-border);font-size:.8rem;font-weight:600;color:var(--ba-text);transition:var(--transition);cursor:pointer;}
.ba-cat-pill:hover,.ba-cat-pill.active{background:var(--ba-blue);border-color:var(--ba-blue);color:#fff;}

/* ── Product Grid ─────────────────────────────────────── */
.ba-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:1100px){.ba-product-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:767px){.ba-product-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media(max-width:479px){.ba-product-grid{grid-template-columns:1fr;}}

.ba-product-card{background:#fff;border:1px solid var(--ba-border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:var(--transition);}
.ba-product-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--ba-cyan);}
.ba-product-img{height:180px;overflow:hidden;position:relative;background:var(--ba-light);}
.ba-product-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.ba-product-card:hover .ba-product-img img{transform:scale(1.05);}
.ba-product-type-badge{position:absolute;top:10px;left:10px;background:var(--ba-blue);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:100px;}
.ba-product-body{padding:16px;flex:1;display:flex;flex-direction:column;}
.ba-product-cat{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ba-cyan);margin-bottom:5px;}
.ba-product-body h3{font-size:.97rem;color:var(--ba-blue);font-weight:600;margin-bottom:6px;line-height:1.3;}
.ba-product-body p{font-size:.82rem;color:var(--ba-muted);line-height:1.6;flex:1;margin-bottom:10px;}
.ba-product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;}
.ba-product-price{font-size:1.1rem;font-weight:700;color:var(--ba-blue);}
.ba-product-rating{display:flex;align-items:center;gap:4px;font-size:.76rem;color:var(--ba-muted);}
.ba-product-rating .stars{color:#f59e0b;}
.ba-add-cart{background:var(--ba-blue);color:#fff;border:none;border-radius:var(--radius);padding:8px 14px;font-size:.76rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;}
.ba-add-cart:hover{background:var(--ba-cyan);color:var(--ba-blue);}

/* Template preview badge */
.ba-template-preview{position:absolute;bottom:10px;right:10px;}
.ba-preview-btn{background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;padding:5px 12px;border-radius:100px;cursor:pointer;transition:var(--transition);}
.ba-preview-btn:hover{background:var(--ba-cyan);color:var(--ba-blue);}

/* Product detail page */
.ba-product-detail{padding:52px 0;}
.ba-product-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start;}
@media(max-width:767px){.ba-product-detail-grid{grid-template-columns:1fr;gap:32px;}}
.ba-product-gallery{border-radius:8px;overflow:hidden;border:1px solid var(--ba-border);}
.ba-product-gallery img{width:100%;object-fit:cover;}
.ba-product-info h1{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ba-blue);margin-bottom:12px;}
.ba-product-big-price{font-size:2rem;font-weight:900;color:var(--ba-blue);margin-bottom:16px;}
.ba-product-desc{font-size:.94rem;color:var(--ba-muted);line-height:1.8;margin-bottom:24px;}
.ba-add-cart-lg{background:var(--ba-blue);color:#fff;border:none;border-radius:var(--radius);padding:14px 36px;font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:10px;}
.ba-add-cart-lg:hover{background:var(--ba-cyan);color:var(--ba-blue);}
.ba-preview-frame{width:100%;border:none;border-radius:8px;height:500px;box-shadow:var(--shadow);}

/* Reviews */
.ba-reviews{margin-top:40px;}
.ba-review-card{background:var(--ba-off-white);border:1px solid var(--ba-border);border-radius:var(--radius);padding:20px;margin-bottom:14px;}
.ba-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.ba-reviewer{font-weight:700;font-size:.9rem;color:var(--ba-text);}
.ba-review-stars{color:#f59e0b;font-size:.9rem;}
.ba-review-text{font-size:.87rem;color:var(--ba-muted);line-height:1.7;}
.ba-review-form{background:#fff;border:1px solid var(--ba-border);border-top:3px solid var(--ba-cyan);border-radius:var(--radius);padding:28px 24px;margin-top:24px;}

/* Cart */
.ba-cart-table{width:100%;border-collapse:collapse;}
.ba-cart-table th{font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ba-muted);padding:10px 12px;border-bottom:2px solid var(--ba-border);text-align:left;}
.ba-cart-table td{padding:14px 12px;border-bottom:1px solid var(--ba-border);font-size:.9rem;color:var(--ba-text);}
.ba-cart-total{font-size:1.3rem;font-weight:700;color:var(--ba-blue);}
.ba-cart-actions{display:flex;gap:14px;justify-content:flex-end;margin-top:20px;}
.ba-btn-checkout{background:var(--ba-blue);color:#fff;border:none;padding:13px 36px;border-radius:var(--radius);font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:var(--transition);}
.ba-btn-checkout:hover{background:var(--ba-cyan);color:var(--ba-blue);}

/* Auth forms */
.ba-auth-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--ba-off-white);}
.ba-auth-card{background:#fff;border:1px solid var(--ba-border);border-top:3px solid var(--ba-cyan);border-radius:8px;padding:44px 36px;width:100%;max-width:440px;box-shadow:var(--shadow);}
@media(max-width:480px){.ba-auth-card{padding:28px 20px;}}
.ba-auth-card h2{font-size:1.5rem;color:var(--ba-blue);margin-bottom:6px;}
.ba-auth-card .sub{font-size:.85rem;color:var(--ba-muted);margin-bottom:28px;}
.ba-form-group{margin-bottom:16px;}
.ba-form-label{display:block;font-size:.73rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ba-blue);margin-bottom:6px;}
.ba-form-control{width:100%;padding:11px 13px;background:#fff;border:1px solid var(--ba-border);border-radius:var(--radius);font-family:inherit;font-size:.92rem;color:var(--ba-text);transition:border-color .2s;outline:none;}
.ba-form-control:focus{border-color:var(--ba-blue);}
.ba-form-msg{padding:10px 14px;border-radius:var(--radius);margin-bottom:14px;font-size:.87rem;display:none;}
.ba-form-msg.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;}
.ba-form-msg.error{background:#fde8e8;color:#c0392b;border:1px solid #f5a0a0;}
.ba-btn-submit{display:block;width:100%;background:var(--ba-blue);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:13px;border-radius:var(--radius);border:2px solid var(--ba-blue);cursor:pointer;transition:var(--transition);}
.ba-btn-submit:hover{background:transparent;color:var(--ba-blue);}
.ba-auth-alt{text-align:center;font-size:.85rem;color:var(--ba-muted);margin-top:20px;}
.ba-auth-alt a{color:var(--ba-blue);font-weight:600;}
.req{color:#c0392b;}

/* ── FOOTER ───────────────────────────────────────────── */
#ba-footer{background:var(--ba-blue);}
.ba-footer-top{padding:56px 0 40px;}
.ba-footer-grid{display:grid;grid-template-columns:1.3fr 2fr 1.3fr;gap:48px;}
@media(max-width:991px){.ba-footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:575px){.ba-footer-grid{grid-template-columns:1fr;gap:28px;}}
.ba-footer-brand-box{margin-bottom:14px;}
.ba-footer-brand-box img{height:38px;width:auto;filter:brightness(0) invert(1);}
.ba-footer-tagline{font-style:italic;font-size:.9rem;color:var(--ba-cyan);margin-bottom:8px;}
.ba-footer-desc{font-size:.83rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:18px;}
.ba-social-links{list-style:none;display:flex;gap:8px;padding:0;}
.ba-social-links a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:.76rem;transition:var(--transition);}
.ba-social-links a:hover{border-color:var(--ba-cyan);color:var(--ba-cyan);}
.ba-footer-links-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ba-footer-heading{font-size:.71rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ba-cyan);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15);}
.ba-footer-links{list-style:none;padding:0;}
.ba-footer-links li{margin-bottom:9px;}
.ba-footer-links a{font-size:.84rem;color:rgba(255,255,255,.6);transition:var(--transition);}
.ba-footer-links a:hover{color:#fff;padding-left:4px;}
.ba-footer-contact{list-style:none;padding:0;}
.ba-footer-contact li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:.83rem;color:rgba(255,255,255,.6);}
.ba-footer-contact li i{color:var(--ba-cyan);margin-top:3px;width:14px;flex-shrink:0;}
.ba-footer-contact li a{color:rgba(255,255,255,.6);}
.ba-footer-contact li a:hover{color:#fff;}
.ba-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;}
.ba-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.ba-copyright{font-size:.77rem;color:rgba(255,255,255,.45);margin:0;}
/* Floating WhatsApp */
.ba-whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:var(--transition);}
.ba-whatsapp-float:hover{background:#1da851;transform:scale(1.07);color:#fff;}
/* Animate */
.ba-fade-in{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.ba-fade-in.ba-visible{opacity:1;transform:none;}
/* Pagination */
.ba-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 0;}
.ba-page-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--ba-border);color:var(--ba-muted);font-size:.85rem;transition:var(--transition);}
.ba-page-btn:hover,.ba-page-btn.active{background:var(--ba-blue);color:#fff;border-color:var(--ba-blue);}
/* Buttons */
.ba-btn-blue{display:inline-block;background:var(--ba-blue);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 28px;border-radius:var(--radius);border:2px solid var(--ba-blue);transition:var(--transition);}
.ba-btn-blue:hover{background:transparent;color:var(--ba-blue);}

/* ── Responsive Utility Classes ─────────────────────────────── */
.ba-grid-2col { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ba-grid-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ba-grid-4col { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ba-grid-5col { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.ba-grid-6col { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.ba-two-col-sidebar { display:grid; grid-template-columns:1fr 300px; gap:40px; align-items:start; }
.ba-sidebar-left  { display:grid; grid-template-columns:320px 1fr; gap:32px; align-items:start; }
.ba-sidebar-right { display:grid; grid-template-columns:1fr 320px; gap:36px; align-items:start; }
.ba-checkout-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
@media(max-width:1100px){
  .ba-grid-6col { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:991px){
  .ba-grid-4col { grid-template-columns:repeat(2,1fr); }
  .ba-grid-5col { grid-template-columns:repeat(3,1fr); }
  .ba-grid-6col { grid-template-columns:repeat(3,1fr); }
  .ba-grid-3col { grid-template-columns:repeat(2,1fr); }
  .ba-two-col-sidebar { grid-template-columns:1fr; }
  .ba-sidebar-left  { grid-template-columns:1fr; }
  .ba-sidebar-right { grid-template-columns:1fr; }
  .ba-checkout-grid { grid-template-columns:1fr; }
}
@media(max-width:767px){
  .ba-grid-5col { grid-template-columns:repeat(2,1fr); }
  .ba-grid-6col { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:575px){
  .ba-grid-2col,.ba-grid-3col,.ba-grid-4col,.ba-grid-5col,.ba-grid-6col { grid-template-columns:1fr; }
  .ba-two-col-sidebar,.ba-sidebar-left,.ba-sidebar-right,.ba-checkout-grid { grid-template-columns:1fr; }
}

/* ── Cookie Notice ───────────────────────────────────────── */
.ba-cookie-notice {
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:#0A2FA6;
  border-top:2px solid #00BFFF;
  transform:translateY(100%);
  transition:transform .35s ease;
  box-shadow:0 -4px 24px rgba(10,47,166,.25);
}
.ba-cookie-notice.ba-cookie-visible { transform:translateY(0); }
.ba-cookie-inner {
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:14px;
  max-width:1280px;margin:0 auto;padding:16px 2rem;
}
.ba-cookie-text {
  font-size:.85rem;color:rgba(255,255,255,.85);
  line-height:1.6;margin:0;flex:1;min-width:200px;
}
.ba-cookie-link {
  color:#00BFFF;font-weight:600;
  text-decoration:underline;margin-left:4px;
}
.ba-cookie-link:hover{color:#fff;}
.ba-cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.ba-cookie-btn {
  padding:8px 20px;border-radius:4px;
  font-size:.78rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;cursor:pointer;
  border:1.5px solid transparent;transition:all .25s ease;
  font-family:inherit;white-space:nowrap;
}
.ba-cookie-accept{background:#00BFFF;color:#0A2FA6;border-color:#00BFFF;}
.ba-cookie-accept:hover{background:transparent;color:#00BFFF;}
.ba-cookie-reject{background:transparent;color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.35);}
.ba-cookie-reject:hover{border-color:#fff;color:#fff;}
@media(max-width:575px){
  .ba-cookie-inner{flex-direction:column;align-items:flex-start;}
  .ba-cookie-actions{width:100%;}
  .ba-cookie-btn{flex:1;text-align:center;}
}

/* ── Newsletter Section ──────────────────────────────────── */
.ba-newsletter-section {
  background: var(--ba-blue);
  padding: 52px 0;
  border-top: 3px solid var(--ba-cyan);
}
.ba-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.ba-newsletter-copy { flex: 1; min-width: 220px; }
.ba-newsletter-title {
  font-size: clamp(1.15rem, 2.5vw, 1.5rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.3;
}
.ba-newsletter-text {
  font-size: .88rem;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0;
}
.ba-newsletter-form { flex: 1; min-width: 280px; max-width: 460px; }
.ba-nl-row {
  display: flex;
  gap: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,.18);
}
.ba-nl-input {
  flex: 1;
  padding: 13px 16px;
  border: none;
  outline: none;
  font-size: .9rem;
  font-family: inherit;
  background: #fff;
  color: #1a1a2e;
  border-radius: 0;
  min-width: 0;
}
.ba-nl-input::placeholder { color: #aaa; }
.ba-nl-btn {
  padding: 13px 24px;
  background: var(--ba-cyan);
  color: var(--ba-blue);
  border: none;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: background .22s ease, color .22s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.ba-nl-btn:hover { background: #00d4ff; }
.ba-nl-privacy {
  font-size: .72rem;
  color: rgba(255,255,255,.45);
  margin: 8px 0 0;
}
/* Newsletter notice (success/error shown above form) */
.ba-nl-notice {
  padding: 9px 14px;
  border-radius: 5px;
  font-size: .83rem;
  font-weight: 600;
  margin-bottom: 12px;
  display: block;
}
.ba-nl-notice.ok  { background: rgba(0,191,255,.15); color: #00d4ff; border: 1px solid rgba(0,191,255,.3); }
.ba-nl-notice.err { background: rgba(255,80,80,.12);  color: #ff6b6b;  border: 1px solid rgba(255,80,80,.25); }
@media (max-width: 767px) {
  .ba-newsletter-inner { flex-direction: column; align-items: flex-start; }
  .ba-newsletter-form  { width: 100%; max-width: 100%; }
}
@media (max-width: 400px) {
  .ba-nl-row { flex-direction: column; border-radius: 6px; overflow: visible; box-shadow: none; }
  .ba-nl-input { border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
  .ba-nl-btn   { border-radius: 6px; margin-top: 8px; padding: 13px; }
}


/* ── Legal Pages ─────────────────────────────────────────────── */
.ba-page-hero {
  background: linear-gradient(135deg, var(--ba-blue,#0A2FA6) 0%, var(--ba-dark,#081d6e) 100%);
  padding: 60px 0 48px;
  text-align: center;
}
.ba-page-hero-inner { max-width: 680px; margin: 0 auto; }
.ba-page-hero h1 { color: #fff; font-size: clamp(1.8rem,4vw,2.6rem); margin: 8px 0 10px; }
.ba-page-hero p  { color: rgba(255,255,255,.65); font-size: .9rem; margin: 0; }
.ba-legal-wrap {
  max-width: 780px;
  margin: 0 auto;
  font-size: .92rem;
  line-height: 1.8;
  color: #1a1a2e;
}
.ba-legal-wrap h2 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ba-blue,#0A2FA6);
  margin: 32px 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--ba-border,#dce4ff);
}
.ba-legal-wrap h3 { font-size: .95rem; font-weight: 700; margin: 20px 0 6px; }
.ba-legal-wrap p  { margin: 0 0 14px; }
.ba-legal-wrap ul { margin: 0 0 14px; padding-left: 24px; }
.ba-legal-wrap ul li { margin-bottom: 6px; }
.ba-legal-wrap a  { color: var(--ba-blue,#0A2FA6); }
.ba-legal-wrap a:hover { text-decoration: underline; }
.ba-legal-intro {
  background: var(--ba-light,#f0f4ff);
  border-left: 4px solid var(--ba-blue,#0A2FA6);
  padding: 14px 18px;
  border-radius: 0 6px 6px 0;
  margin-bottom: 24px;
  font-style: italic;
}

.ba-footer-legal { margin-top: 8px; font-size: .78rem; }
.ba-footer-legal a { color: rgba(255,255,255,.45); text-decoration: none; margin: 0 4px; }
.ba-footer-legal a:hover { color: rgba(255,255,255,.8); }
.ba-footer-legal span { color: rgba(255,255,255,.25); }

/* ── Comments & Ratings ─────────────────────────────────────── */
.ba-comments-section { margin-top: 40px; padding-top: 32px; border-top: 2px solid var(--ba-border,#dce4ff); }
.ba-comments-title { font-size: 1.1rem; font-weight: 700; color: var(--ba-blue,#0A2FA6); margin-bottom: 20px; }
.ba-comment { border-bottom: 1px solid #f1f5ff; padding-bottom: 18px; margin-bottom: 18px; }
.ba-comment:last-child { border-bottom: none; }
.ba-comment-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.ba-comment-author { font-weight: 700; font-size: .88rem; color: var(--ba-blue,#0A2FA6); }
.ba-comment-date { font-size: .76rem; color: #94a3b8; }
.ba-comment-body { font-size: .88rem; line-height: 1.7; color: #334155; }
.ba-star-rating { display: flex; gap: 2px; margin-bottom: 8px; }
.ba-star { font-size: 1rem; color: #d1d5db; cursor: pointer; transition: color .15s; }
.ba-star.filled, .ba-star:hover, .ba-star.hover { color: #f59e0b; }
.ba-star-display { color: #f59e0b; font-size: .9rem; }
.ba-comment-form { background: var(--ba-light,#f0f4ff); border-radius: 8px; padding: 20px; margin-top: 24px; }
.ba-comment-form h4 { font-size: .9rem; font-weight: 700; color: var(--ba-blue,#0A2FA6); margin-bottom: 14px; }
.ba-comment-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ba-comment-field { margin-bottom: 10px; }
.ba-comment-field label { display: block; font-size: .76rem; font-weight: 700; color: #334155; margin-bottom: 4px; }
.ba-comment-field input,
.ba-comment-field textarea {
  width: 100%; padding: 8px 11px;
  border: 1.5px solid #d1dafe; border-radius: 6px;
  font-size: .84rem; font-family: inherit; color: #1a1a2e;
  outline: none; transition: border .2s; background: #fff;
}
.ba-comment-field input:focus,
.ba-comment-field textarea:focus { border-color: var(--ba-blue,#0A2FA6); }
.ba-comment-field textarea { resize: vertical; min-height: 80px; }
.ba-comment-submit {
  padding: 9px 22px; background: var(--ba-blue,#0A2FA6); color: #fff;
  border: none; border-radius: 6px; font-size: .84rem; font-weight: 700;
  cursor: pointer; font-family: inherit; transition: background .2s;
}
.ba-comment-submit:hover { background: #081d6e; }
.ba-comment-msg { padding: 10px 14px; border-radius: 6px; font-size: .84rem; margin-top: 8px; display: none; }
.ba-comment-msg.success { background: #e8f5e9; color: #2e7d32; }
.ba-comment-msg.error   { background: #fde8e8; color: #c0392b; }
.ba-avg-rating { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; font-weight: 700; color: #334155; margin-bottom: 16px; }
@media(max-width:520px) { .ba-comment-form-row { grid-template-columns: 1fr; } }

/* ── Discount Code ───────────────────────────────────────────── */
.ba-discount-wrap { display: flex; gap: 0; border-radius: 6px; overflow: hidden; border: 1.5px solid #d1dafe; margin: 12px 0; }
.ba-discount-input { flex: 1; padding: 9px 12px; font-size: .84rem; border: none; outline: none; font-family: inherit; text-transform: uppercase; }
.ba-discount-btn { padding: 9px 18px; background: #0A2FA6; color: #fff; border: none; font-size: .8rem; font-weight: 700; cursor: pointer; font-family: inherit; transition: background .2s; white-space: nowrap; }
.ba-discount-btn:hover { background: #081d6e; }
.ba-discount-msg { font-size: .82rem; padding: 6px 10px; border-radius: 4px; margin-top: 4px; display: none; }
.ba-discount-msg.success { background: #e8f5e9; color: #2e7d32; }
.ba-discount-msg.error   { background: #fde8e8; color: #c0392b; }
.ba-discount-applied { font-weight: 700; color: #2e7d32; font-size: .84rem; }

/* ── Promotional Strip Banner ────────────────────────────────── */
.ba-promo-banner {
  width: 100%;
  min-height: 40px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1200;
}
.ba-promo-banner-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 9px 48px 9px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  min-height: 40px;
}
.ba-promo-text {
  font-size: .86rem;
  font-weight: 600;
  margin: 0;
  text-align: center;
  line-height: 1.4;
}
.ba-promo-link {
  text-decoration: underline;
  font-weight: 700;
  margin-left: 8px;
  opacity: .9;
  transition: opacity .2s;
}
.ba-promo-link:hover { opacity: 1; }
.ba-promo-close {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.12);
  border: none;
  color: inherit;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .2s;
  padding: 0;
}
.ba-promo-close:hover { background: rgba(0,0,0,.25); }
.ba-promo-img-link { display: block; }
.ba-promo-img {
  max-height: 60px;
  width: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
/* AdSense */
.ba-adsense-wrap {
  width: 100%;
  margin: 16px 0;
  overflow: hidden;
}

/* ── Currency Switcher ─────────────────────────────────────────── */
.ba-currency-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
}
.ba-currency-label {
  color: var(--ba-blue, #0A2FA6);
  opacity: 0.7;
}
.ba-currency-select {
  border: 1px solid rgba(10,47,166,0.2);
  border-radius: 4px;
  padding: 3px 6px;
  font-size: 0.82rem;
  background: #fff;
  color: var(--ba-blue, #0A2FA6);
  cursor: pointer;
  outline: none;
  transition: border-color .2s;
}
.ba-currency-select:focus,
.ba-currency-select:hover {
  border-color: var(--ba-blue, #0A2FA6);
}
/* Inline (store) — sits in topbar */
.ba-currency-inline {
  margin-left: 8px;
}
/* Floating (non-store pages) — bottom right corner */
.ba-currency-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9000;
  background: #fff;
  border: 1px solid rgba(10,47,166,0.18);
  border-radius: 8px;
  padding: 8px 12px;
  box-shadow: 0 4px 18px rgba(10,47,166,0.13);
}
.ba-currency-float .ba-currency-label {
  font-size: 1rem;
}
.ba-currency-float .ba-currency-select {
  font-size: 0.88rem;
  padding: 4px 8px;
}


/* ── Live Chat Widget ──────────────────────────────────────────── */
.ba-bottom-widgets {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.ba-launcher-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.ba-launcher-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  box-shadow: 0 4px 18px rgba(0,0,0,.18);
  transition: transform .15s, box-shadow .15s;
  text-decoration: none;
}
.ba-launcher-btn:hover { transform: scale(1.08); box-shadow: 0 6px 22px rgba(0,0,0,.22); }
.ba-launcher-chat { background: #0A2FA6; color: #fff; }
.ba-launcher-wa   { background: #25D366; color: #fff; }
/* Chat widget */
.ba-chat-widget {
  width: 320px;
  max-width: calc(100vw - 32px);
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(10,47,166,.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  max-height: 460px;
}
.ba-chat-header {
  background: #0A2FA6;
  color: #fff;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ba-chat-header-info { display: flex; align-items: center; gap: 7px; flex: 1; }
.ba-chat-title       { font-weight: 700; font-size: .95rem; }
.ba-chat-status      { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.ba-chat-status.online  { background: #22c55e; }
.ba-chat-status.offline { background: #94a3b8; }
.ba-chat-header-status { font-size: .72rem; opacity: .8; margin-left: auto; }
.ba-chat-close { background: none; border: none; color: #fff; cursor: pointer;
                 font-size: 1rem; opacity: .8; padding: 2px 4px; margin-left: 6px; }
.ba-chat-close:hover { opacity: 1; }
.ba-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f8fafc;
}
.ba-chat-welcome-msg, .ba-chat-offline-msg {
  font-size: .88rem;
  color: #64748b;
  text-align: center;
  margin: 0;
  padding: 8px 0;
}
.ba-chat-msg {
  max-width: 80%;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: .9rem;
  line-height: 1.4;
  word-break: break-word;
}
.ba-chat-msg-visitor { background: #0A2FA6; color: #fff; align-self: flex-end;
                       border-bottom-right-radius: 3px; }
.ba-chat-msg-agent   { background: #e2e8f0; color: #1e293b; align-self: flex-start;
                       border-bottom-left-radius: 3px; }
.ba-chat-input-area  { border-top: 1px solid #e2e8f0; background: #fff; }
.ba-chat-name-row    { padding: 8px 10px 0; }
.ba-chat-name-input  { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px;
                       padding: 6px 10px; font-size: .85rem; outline: none; }
.ba-chat-compose     { display: flex; align-items: flex-end; gap: 6px; padding: 8px 10px; }
.ba-chat-textarea    { flex: 1; border: 1px solid #e2e8f0; border-radius: 8px;
                       padding: 8px 10px; font-size: .9rem; resize: none; outline: none;
                       font-family: inherit; }
.ba-chat-textarea:focus { border-color: #0A2FA6; }
.ba-chat-send-btn    { background: #0A2FA6; color: #fff; border: none; border-radius: 8px;
                       width: 36px; height: 36px; cursor: pointer; font-size: .95rem;
                       display: flex; align-items: center; justify-content: center; }
.ba-chat-send-btn:hover { background: #0d3ab8; }
/* Case 1 top trigger */
.ba-chat-top-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .85rem;
  color: inherit;
  text-decoration: none;
  opacity: .85;
  transition: opacity .15s;
}
.ba-chat-top-trigger:hover { opacity: 1; }
/* ── PWA Install Banner ─────────────────────────────────────────── */
.ba-pwa-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #0A2FA6;
  color: #fff;
  z-index: 10000;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  box-shadow: 0 -4px 18px rgba(10,47,166,.18);
}
.ba-pwa-banner-inner {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ba-pwa-icon  { font-size: 1.5rem; opacity: .9; }
.ba-pwa-text  { flex: 1; }
.ba-pwa-text strong { display: block; font-size: .95rem; }
.ba-pwa-text span   { font-size: .82rem; opacity: .8; }
.ba-pwa-actions { display: flex; gap: 8px; align-items: center; }
.ba-pwa-btn-install {
  background: #fff;
  color: #0A2FA6;
  border: none;
  border-radius: 6px;
  padding: 7px 16px;
  font-weight: 700;
  font-size: .88rem;
  cursor: pointer;
}
.ba-pwa-btn-dismiss {
  background: none;
  border: none;
  color: #fff;
  opacity: .7;
  cursor: pointer;
  font-size: 1rem;
  padding: 4px 6px;
}
.ba-pwa-btn-dismiss:hover { opacity: 1; }
/* ── Admin live chat layout ──────────────────────────────────────── */
.ba-chat-admin-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
  height: calc(100vh - 180px);
}
.ba-chat-list-panel { overflow-y: auto; }
.ba-chat-list { list-style: none; margin: 0; padding: 0; }
.ba-chat-list-item a {
  display: flex; flex-direction: column; padding: 10px 14px;
  text-decoration: none; color: #1e293b; border-bottom: 1px solid #f1f5f9;
  transition: background .12s;
}
.ba-chat-list-item a:hover, .ba-chat-list-item.active a { background: #eff6ff; }
.ba-chat-visitor  { font-weight: 600; font-size: .92rem; display: flex;
                    align-items: center; justify-content: space-between; }
.ba-chat-site-badge { background: #0A2FA6; color: #fff; border-radius: 3px;
                      padding: 1px 5px; font-size: .7rem; font-weight: 700; }
.ba-chat-unread-badge { background: #ef4444; color: #fff; border-radius: 10px;
                        padding: 1px 6px; font-size: .75rem; font-weight: 700; }
.ba-chat-meta { font-size: .78rem; color: #94a3b8; margin-top: 2px; }
.ba-chat-list-closed a { opacity: .6; }
.ba-chat-convo-panel {
  display: flex; flex-direction: column; border: 1px solid #e2e8f0;
  border-radius: 10px; overflow: hidden; background: #fff;
}
.ba-chat-convo-header {
  padding: 12px 16px; border-bottom: 1px solid #e2e8f0;
  display: flex; justify-content: space-between; align-items: center;
  background: #f8fafc;
}
.ba-chat-convo-messages {
  flex: 1; overflow-y: auto; padding: 14px;
  display: flex; flex-direction: column; gap: 10px; background: #f8fafc;
}
.ba-admin-chat-msg { display: flex; flex-direction: column; max-width: 72%; }
.ba-admin-chat-msg-visitor { align-self: flex-start; }
.ba-admin-chat-msg-agent   { align-self: flex-end; }
.ba-admin-msg-name { font-size: .75rem; color: #94a3b8; margin-bottom: 2px; }
.ba-admin-msg-body {
  padding: 8px 12px; border-radius: 10px; font-size: .9rem; word-break: break-word;
}
.ba-admin-chat-msg-visitor .ba-admin-msg-body { background: #e2e8f0; color: #1e293b; }
.ba-admin-chat-msg-agent   .ba-admin-msg-body { background: #0A2FA6; color: #fff; }
.ba-admin-msg-time { font-size: .72rem; color: #94a3b8; margin-top: 2px; text-align: right; }
.ba-chat-reply-form { padding: 12px; border-top: 1px solid #e2e8f0; background: #fff; }
.ba-chat-convo-empty {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; color: #94a3b8; gap: 10px;
}
.ba-permissions-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px;
  margin: 8px 0;
}
.ba-perm-check { display: flex; align-items: center; gap: 7px; font-size: .9rem; cursor: pointer; }
.ba-perm-check input { width: 15px; height: 15px; cursor: pointer; }


/* ── Responsive fixes for chat widget ─────────────────────────────── */
@media (max-width: 380px) {
  .ba-bottom-widgets { right: 12px; bottom: 12px; }
  .ba-chat-widget { width: calc(100vw - 24px); }
  .ba-pwa-banner-inner { flex-wrap: wrap; gap: 8px; }
  .ba-pwa-actions { margin-left: auto; }
}
@media (max-width: 320px) {
  .ba-chat-widget { width: calc(100vw - 16px); }
  .ba-bottom-widgets { right: 8px; }
}
/* Ensure chat widget doesn't go off screen top on short screens */
.ba-chat-widget { max-height: min(460px, calc(100vh - 120px)); }
/* Admin chat layout responsive */
@media (max-width: 768px) {
  .ba-chat-admin-layout {
    grid-template-columns: 1fr;
    height: auto;
  }
  .ba-chat-list-panel { max-height: 240px; overflow-y: auto; }
}

/* ── Contact Page ───────────────────────────────────────────── */
.ba-contact-wrapper{display:grid;grid-template-columns:1fr 1.7fr;gap:0;max-width:1280px;margin:0 auto;padding:56px 2rem;}
@media(max-width:767px){.ba-contact-wrapper{grid-template-columns:1fr;gap:40px;padding:40px 1.25rem;}}
.ba-contact-details h2{font-size:1.8rem;color:var(--ba-blue);margin-bottom:12px;}
.ba-contact-details p{font-size:.93rem;color:var(--ba-muted);margin-bottom:20px;}
.ba-contact-list{list-style:none;padding:0;}
.ba-contact-list li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--ba-border);font-size:.9rem;}
.ba-contact-list li i{color:var(--ba-cyan);margin-top:3px;width:16px;flex-shrink:0;}
.ba-contact-list li a{color:var(--ba-text);font-weight:600;}
.ba-contact-list li a:hover{color:var(--ba-blue);}
.ba-social-contact{list-style:none;display:flex;gap:9px;padding:0;margin-top:20px;}
.ba-social-contact a{width:34px;height:34px;border-radius:50%;background:var(--ba-light);border:1px solid var(--ba-border);color:var(--ba-blue);display:flex;align-items:center;justify-content:center;font-size:.78rem;transition:var(--transition);}
.ba-social-contact a:hover{background:var(--ba-blue);color:#fff;}
.ba-contact-form-wrap{background:#fff;border:1px solid var(--ba-border);border-top:3px solid var(--ba-cyan);border-radius:var(--radius);padding:36px 32px;}
@media(max-width:575px){.ba-contact-form-wrap{padding:24px 18px;}}
.ba-contact-form-wrap h2{font-size:1.5rem;color:var(--ba-blue);margin-bottom:6px;}
.ba-contact-form-wrap>p{font-size:.84rem;color:var(--ba-muted);margin-bottom:22px;}
.ba-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:575px){.ba-form-row{grid-template-columns:1fr;}}
.ba-form-group{margin-bottom:16px;}
.ba-form-label{display:block;font-size:.73rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ba-blue);margin-bottom:6px;}
.ba-form-control{width:100%;padding:11px 13px;background:#fff;border:1px solid var(--ba-border);border-radius:var(--radius);font-family:inherit;font-size:.92rem;color:var(--ba-text);transition:border-color .2s;outline:none;}
.ba-form-control:focus{border-color:var(--ba-blue);}
textarea.ba-form-control{resize:vertical;min-height:110px;}
.ba-field-error{font-size:.75rem;color:#c0392b;margin-top:3px;display:none;}
.ba-form-msg{padding:10px 13px;border-radius:var(--radius);margin-bottom:12px;font-size:.88rem;display:none;}
.ba-form-msg.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;}
.ba-form-msg.error{background:#fde8e8;color:#c0392b;border:1px solid #f5a0a0;}
.req{color:#c0392b;}
.ba-btn-submit{display:block;width:100%;background:var(--ba-blue);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:13px 28px;border-radius:var(--radius);border:1.5px solid var(--ba-blue);cursor:pointer;transition:var(--transition);}
.ba-btn-submit:hover{background:#fff;color:var(--ba-blue);}
