/*
Theme Name: G Tech Repair
Theme URI: https://gtechrepairs.ca
Author: G Tech Repair
Description: Custom theme for G Tech Repair — Calgary phone, computer, tablet & console repair shop and authorized CHATR / Lucky Mobile dealer. Converted from the approved static HTML/CSS prototype.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gtechrepair
*/

/* =========================================================
   GLOBAL STYLES (from shared.css — used on every page)
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy: #0D1B2A; --navy2: #162336; --orange: #FF5C00; --orange2: #E05200;
  --white: #FFFFFF; --slate: #F0F4F8; --mid: #8A9BB0;
  --chatr-green: #8B2FC9; --chatr-purple-light: #B968F0; --lucky-red: #FFCC00; --text: #1A2A3A;
}
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--text); background: var(--white); line-height: 1.6; }

/* ── TOP BOOKING BAR ── */
.top-booking-bar { background:#1a2f4a; border-bottom:2px solid var(--orange); padding:10px 5vw; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.top-booking-bar .tbb-label { color:var(--white); font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; white-space:nowrap; flex-shrink:0; }
.tbb-fields { display:flex; gap:8px; flex:1; flex-wrap:wrap; }
.tbb-select { flex:1; min-width:160px; height:38px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:7px; color:var(--white); font-size:.85rem; padding:0 12px; font-family:'Inter',sans-serif; cursor:pointer; }
.tbb-select option { background:#1a2f4a; color:var(--white); }
.tbb-input { flex:1; min-width:140px; height:38px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:7px; color:var(--white); font-size:.85rem; padding:0 12px; font-family:'Inter',sans-serif; }
.tbb-input::placeholder { color:rgba(255,255,255,.45); }
.tbb-btn { height:38px; padding:0 22px; background:var(--orange); color:var(--white); border:none; border-radius:7px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; cursor:pointer; white-space:nowrap; flex-shrink:0; transition:background .2s; }
.tbb-btn:hover { background:var(--orange2); }
.tbb-or { color:rgba(255,255,255,.4); font-size:.8rem; flex-shrink:0; }
.tbb-call { color:var(--white); font-size:.8rem; white-space:nowrap; text-decoration:none; flex-shrink:0; }
.tbb-call strong { color:var(--orange); }

/* ── NAV ── */
nav { position:sticky; top:0; z-index:100; background:var(--navy); display:flex; align-items:center; justify-content:space-between; padding:0 5vw; height:64px; box-shadow:0 2px 12px rgba(0,0,0,.35); }
.nav-logo { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.25rem; color:var(--white); text-decoration:none; letter-spacing:-.3px; }
.nav-logo span { color:var(--orange); }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { color:var(--mid); text-decoration:none; font-size:.875rem; font-weight:500; letter-spacing:.3px; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--white); }
.nav-links a.active { color:var(--orange); }
.nav-cta { background:var(--orange); color:var(--white) !important; padding:8px 18px; border-radius:6px; font-weight:600 !important; transition:background .2s !important; }
.nav-cta:hover { background:var(--orange2) !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span { width:24px; height:2px; background:var(--white); border-radius:2px; }

/* ── PAGE HERO BANNER ── */
.page-hero { background:var(--navy); padding:52px 5vw 48px; position:relative; overflow:hidden; }
.page-hero::after { content:''; position:absolute; top:0; right:0; width:40%; height:100%; background:linear-gradient(135deg,transparent 0%,rgba(255,92,0,.04) 100%); pointer-events:none; }
.page-hero-label { font-size:.72rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--orange); margin-bottom:10px; }
.page-hero h1 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(2rem,4vw,3rem); color:var(--white); line-height:1.1; margin-bottom:12px; }
.page-hero h1 span { color:var(--orange); }
.page-hero p { color:var(--mid); font-size:1rem; max-width:560px; line-height:1.7; }
.page-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }

/* ── SECTION BASE ── */
section { padding:64px 5vw; }
.section-label { font-size:.72rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--orange); margin-bottom:10px; }
.section-title { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.15; color:var(--navy); margin-bottom:12px; }
.section-sub { color:#5A6A7A; font-size:.95rem; max-width:580px; line-height:1.7; margin-bottom:40px; }

/* ── BUTTONS ── */
.btn-primary { background:var(--orange); color:var(--white); padding:12px 24px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; text-decoration:none; transition:background .2s,transform .15s; display:inline-block; }
.btn-primary:hover { background:var(--orange2); transform:translateY(-2px); }
.btn-outline { border:2px solid rgba(255,255,255,.25); color:var(--white); padding:12px 24px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.9rem; text-decoration:none; transition:border-color .2s,transform .15s; display:inline-block; }
.btn-outline:hover { border-color:var(--white); transform:translateY(-2px); }
.btn-chatr { background:var(--chatr-green); color:var(--white); padding:12px 24px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; text-decoration:none; display:inline-block; transition:background .2s; }
.btn-chatr:hover { background:#7424A8; }
.btn-lucky { background:var(--lucky-red); color:var(--navy); padding:12px 24px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; text-decoration:none; display:inline-block; transition:background .2s; }
.btn-lucky:hover { background:#E6B800; }
.btn-lucky:hover { background:#a8011a; }

/* ── CTA STRIP ── */
.cta-strip { background:var(--orange); padding:40px 5vw; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.cta-strip h2 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.4rem,2.5vw,2rem); color:var(--white); }
.cta-strip p { color:rgba(255,255,255,.85); font-size:.9rem; margin-top:4px; }
.btn-white { background:var(--white); color:var(--orange); padding:12px 28px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; text-decoration:none; display:inline-block; transition:transform .2s; white-space:nowrap; }
.btn-white:hover { transform:translateY(-2px); }

/* ── FOOTER ── */
footer { background:var(--navy); color:var(--mid); padding:56px 5vw 32px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-brand h2 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.4rem; color:var(--white); margin-bottom:12px; }
.footer-brand h2 span { color:var(--orange); }
.footer-brand p { font-size:.875rem; line-height:1.7; max-width:280px; }
.footer-col h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; color:var(--white); margin-bottom:16px; }
.footer-col ul { list-style:none; display:grid; gap:8px; }
.footer-col ul li a { color:var(--mid); font-size:.85rem; text-decoration:none; transition:color .2s; }
.footer-col ul li a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:.8rem; }
.footer-seo-links { display:flex; gap:16px; flex-wrap:wrap; }
.footer-seo-links a { color:var(--mid); font-size:.75rem; text-decoration:none; transition:color .2s; }
.footer-seo-links a:hover { color:var(--white); }

/* ── MOBILE ── */
@media (max-width:900px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .nav-links { display:none; }
  .nav-links.open { display:flex; flex-direction:column; position:absolute; top:64px; left:0; right:0; background:var(--navy); padding:20px 5vw 24px; gap:16px; box-shadow:0 8px 20px rgba(0,0,0,.3); z-index:200; }
  .hamburger { display:flex; }
  nav { position:relative; }
  .tbb-or,.tbb-call { display:none; }
  .cta-strip { flex-direction:column; align-items:flex-start; }
}
@media (max-width:600px) {
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* =========================================================
   REPAIR-DETAIL PAGE STYLES (used by the 8 quote-based
   "Book an Appointment for a Free Quote" repair pages, and
   shared where useful by the 3 special-deal pages too)
   ========================================================= */
template ready

    .breadcrumb { padding:14px 5vw 0; font-size:.78rem; color:var(--mid); }
    .breadcrumb a { color:var(--mid); text-decoration:none; }
    .breadcrumb a:hover { color:var(--orange); }
    .breadcrumb span.sep { margin:0 6px; opacity:.5; }
    .breadcrumb span.cur { color:var(--white); }

    .bg-hero { background:var(--navy); padding:36px 5vw 48px; position:relative; overflow:hidden; }
    .bg-hero::after { content:''; position:absolute; top:0; right:0; width:40%; height:100%; background:linear-gradient(135deg,transparent 0%,rgba(255,92,0,.05) 100%); pointer-events:none; }
    .bg-hero-inner { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; position:relative; z-index:2; }
    .bg-h1 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.9rem,3.6vw,2.8rem); color:#fff; line-height:1.1; margin-bottom:14px; }
    .bg-h1 span { color:var(--orange); }
    .bg-sub { color:var(--mid); font-size:.95rem; line-height:1.75; margin-bottom:24px; max-width:520px; }

    .quick-card { background:rgba(255,92,0,.08); border:1px solid rgba(255,92,0,.3); border-radius:16px; padding:28px; }
    .quick-card-label { font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:14px; text-align:center; }
    .quick-list { display:grid; gap:14px; margin-bottom:18px; }
    .quick-list li { display:flex; gap:12px; align-items:flex-start; list-style:none; font-size:.86rem; color:var(--mid); line-height:1.5; }
    .quick-list li .ic { font-size:1.2rem; flex-shrink:0; }
    .quick-list li strong { color:#fff; display:block; }
    .quick-card .btn-primary, .quick-card .btn-outline { display:block; text-align:center; margin-bottom:10px; }
    .quick-card .btn-outline { margin-bottom:0; }

    /* Neighbourhood strip */
    .nb-strip { background:var(--navy); padding:24px 5vw; }
    .nb-strip-inner { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .nb-label { color:var(--mid); font-size:.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; flex-shrink:0; }
    .nb-tags { display:flex; flex-wrap:wrap; gap:7px; }
    .nb-tag { background:rgba(255,255,255,.07); color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.12); font-size:.72rem; font-weight:600; padding:4px 12px; border-radius:20px; }

    /* Signs / reasons grid */
    .why-replace-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
    .why-replace-card { background:var(--slate); border-radius:12px; padding:20px; }
    .why-replace-card .icon { font-size:1.6rem; margin-bottom:10px; }
    .why-replace-card h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.92rem; color:var(--navy); margin-bottom:6px; }
    .why-replace-card p { font-size:.83rem; color:#5A6A7A; line-height:1.6; }
    section.white .why-replace-card { background:var(--slate); }
    section.slate .why-replace-card { background:#fff; }

    /* Comparison / tier cards (used for screen quality tiers, console issues, etc.) */
    .tier-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
    .tier-card { background:#fff; border:1.5px solid #E2E8F0; border-radius:14px; padding:22px; }
    .tier-card.featured { border-color:var(--orange); box-shadow:0 6px 20px rgba(255,92,0,.12); }
    .tier-card .badge { display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:3px 10px; border-radius:20px; margin-bottom:10px; background:var(--slate); color:var(--navy); }
    .tier-card.featured .badge { background:var(--orange); color:#fff; }
    .tier-card h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.05rem; color:var(--navy); margin-bottom:8px; }
    .tier-card p { font-size:.85rem; color:#5A6A7A; line-height:1.65; }
    .tier-card ul { margin:10px 0 0; padding-left:0; list-style:none; display:grid; gap:6px; }
    .tier-card ul li { font-size:.82rem; color:#5A6A7A; padding-left:20px; position:relative; }
    .tier-card ul li::before { content:'✓'; color:var(--orange); position:absolute; left:0; font-weight:700; }

    /* Info / warning callout */
    .info-callout { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.25); border-radius:14px; padding:24px 28px; display:flex; gap:18px; align-items:flex-start; }
    .info-callout.danger { border-color:rgba(255,92,0,.5); }
    .info-callout .icon { font-size:2rem; flex-shrink:0; }
    .info-callout h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.05rem; color:#fff; margin-bottom:6px; }
    .info-callout p { font-size:.88rem; color:var(--mid); line-height:1.65; }
    .info-callout p + p { margin-top:8px; }
    .info-callout strong { color:var(--orange); }

    /* Services list */
    .services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
    .service-item { background:#fff; border:1.5px solid #E2E8F0; border-radius:12px; padding:18px; display:flex; gap:12px; align-items:flex-start; }
    .service-item .ic { font-size:1.4rem; flex-shrink:0; }
    .service-item h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; color:var(--navy); margin-bottom:4px; }
    .service-item p { font-size:.82rem; color:#5A6A7A; line-height:1.55; }

    /* Booking CTA section */
    .booking-cta-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; max-width:760px; }
    .booking-cta-card { background:#fff; border:1.5px solid #E2E8F0; border-radius:12px; padding:20px; display:flex; gap:14px; align-items:center; text-decoration:none; transition:border-color .2s,transform .2s; }
    .booking-cta-card:hover { border-color:var(--orange); transform:translateY(-2px); }
    .booking-cta-card .ic { font-size:1.6rem; flex-shrink:0; }
    .booking-cta-card strong { display:block; font-family:'Montserrat',sans-serif; font-weight:700; color:var(--navy); font-size:.92rem; margin-bottom:2px; }
    .booking-cta-card span { color:#5A6A7A; font-size:.8rem; }

    /* FAQ */
    .faq-list { display:grid; gap:12px; max-width:760px; }
    .faq-item { background:#fff; border:1.5px solid #E2E8F0; border-radius:12px; padding:4px 20px; }
    .faq-item summary { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.92rem; color:var(--navy); padding:16px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
    .faq-item summary::-webkit-details-marker { display:none; }
    .faq-item summary::after { content:'+'; font-size:1.3rem; color:var(--orange); flex-shrink:0; transition:transform .2s; }
    .faq-item[open] summary::after { content:'\2212'; }
    .faq-item p { font-size:.85rem; color:#5A6A7A; line-height:1.7; padding-bottom:16px; margin-top:-6px; }

    @media(max-width:900px) {
      .bg-hero-inner { grid-template-columns:1fr; }
    }


/* =========================================================
   SPECIAL DEAL PAGES (Back Glass Repair, Charge Port Cleaning,
   Virus & Ads Removal) — flat-rate pages with a price card,
   process steps, before/after gallery, and testimonials.
   ========================================================= */

/* Price card (hero, right column) */
.bg-price-card { background:rgba(255,92,0,.08); border:1px solid rgba(255,92,0,.3); border-radius:16px; padding:28px; text-align:center; }
.bg-price-label { font-size:.72rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:8px; }
.bg-price { font-family:'Montserrat',sans-serif; font-weight:900; font-size:3.2rem; color:#fff; line-height:1; }
.bg-price sup { font-size:1.3rem; vertical-align:super; }
.bg-time-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); color:#fff; font-size:.8rem; font-weight:600; padding:6px 16px; border-radius:30px; margin-top:14px; }
.bg-price-note { color:var(--mid); font-size:.78rem; margin-top:16px; line-height:1.6; }
.bg-price-note strong { color:var(--orange); }

/* Process steps */
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.process-step { background:#fff; border-radius:14px; padding:24px 20px; box-shadow:0 2px 12px rgba(13,27,42,.06); position:relative; }
.process-num { position:absolute; top:18px; right:20px; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.8rem; color:var(--slate); }
.process-icon { font-size:1.8rem; margin-bottom:12px; }
.process-step h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.95rem; color:var(--navy); margin-bottom:6px; }
.process-step p { font-size:.84rem; color:#5A6A7A; line-height:1.6; }

/* Catchy "all models, one price" banner */
.catchy-banner { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.3); border-radius:16px; padding:30px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.catchy-text { flex:1; min-width:240px; }
.catchy-text h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.15rem,2.2vw,1.5rem); line-height:1.3; margin-bottom:8px; color:#fff; }
.catchy-text h3 span { color:var(--orange); }
.catchy-text p { font-size:.95rem; line-height:1.6; color:var(--mid); }
.catchy-text p strong { color:var(--orange); font-weight:800; }
.catchy-banner .btn-primary { flex-shrink:0; }
.model-list-text { font-size:.78rem; color:#8A9BB0; margin-top:18px; line-height:1.7; max-width:760px; }

/* Newer models callout */
.newer-models { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.25); border-radius:14px; padding:24px 28px; margin-top:24px; display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.newer-models .icon { font-size:2rem; flex-shrink:0; }
.newer-models h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.02rem; color:#fff; margin-bottom:6px; }
.newer-models p { font-size:.85rem; color:var(--mid); line-height:1.6; }
.newer-models .models-list { font-size:.78rem; color:var(--orange); font-weight:600; margin-top:6px; }

/* Before & After gallery */
.ba-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.ba-card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 2px 12px rgba(13,27,42,.06); }
.ba-images { display:grid; grid-template-columns:1fr 1fr; }
.ba-img { background:var(--slate); height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; position:relative; }
.ba-img img { width:100%; height:100%; object-fit:cover; }
.ba-img-label { position:absolute; top:8px; left:8px; background:rgba(13,27,42,.75); color:#fff; font-size:.65rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 10px; border-radius:20px; }
.ba-img .placeholder-ic { font-size:1.8rem; color:#B8C4D0; }
.ba-img .placeholder-txt { font-size:.7rem; color:#8A9BB0; }
.ba-caption { padding:14px 16px; font-size:.85rem; font-weight:600; color:var(--navy); text-align:center; }

/* Testimonials */
.testimonial-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-bottom:28px; }
.testimonial-card { background:#fff; border-radius:14px; padding:22px 20px; box-shadow:0 2px 12px rgba(13,27,42,.06); }
.testimonial-stars { color:#FFB800; font-size:.95rem; margin-bottom:10px; letter-spacing:2px; }
.testimonial-text { font-size:.86rem; color:#5A6A7A; line-height:1.65; margin-bottom:14px; font-style:italic; }
.testimonial-name { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; color:var(--navy); }
.testimonial-device { font-size:.75rem; color:var(--mid); margin-top:2px; }
.google-badge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1.5px solid #E2E8F0; padding:10px 20px; border-radius:30px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; color:var(--navy); text-decoration:none; transition:border-color .2s,transform .2s; }
.google-badge:hover { border-color:var(--orange); transform:translateY(-2px); }

/* Warranty box */
.warranty-box { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.25); border-radius:14px; padding:24px 28px; display:flex; gap:18px; align-items:flex-start; }
.warranty-box .icon { font-size:2rem; flex-shrink:0; }
.warranty-box h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.05rem; color:#fff; margin-bottom:6px; }
.warranty-box p { font-size:.88rem; color:var(--mid); line-height:1.65; }

@media(max-width:900px) {
  .process-grid { grid-template-columns:1fr; }
}

/* =========================================================
   REPAIRS HUB + HOME — deal cards, student callout, repairs grid
   ========================================================= */
.deals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:48px; }
.deal-card { border-radius:14px; padding:28px 24px; position:relative; overflow:hidden; transition:transform .2s; }
.deal-card:hover { transform:translateY(-4px); }
.deal-card.d-o { background:linear-gradient(145deg,#1a2a3a,#0f1d2c); border:1px solid rgba(255,92,0,.35); }
.deal-card.d-g { background:linear-gradient(145deg,#112411,#0a1a0a); border:1px solid rgba(0,169,79,.35); }
.deal-card.d-p { background:linear-gradient(145deg,#14132a,#0e0d1d); border:1px solid rgba(100,120,255,.35); }
.deal-ribbon { position:absolute; top:16px; right:-8px; color:#fff; font-size:.62rem; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; padding:4px 14px 4px 10px; clip-path:polygon(0 0,100% 0,100% 100%,0 100%,6px 50%); }
.r-o { background:var(--orange); } .r-g { background:#00A94F; } .r-p { background:#6478FF; }
.deal-icon { font-size:2.2rem; margin-bottom:12px; }
.deal-price { font-family:'Montserrat',sans-serif; font-weight:900; font-size:2.6rem; color:#fff; line-height:1; }
.deal-price sup { font-size:1.1rem; vertical-align:super; }
.deal-time { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); color:var(--mid); font-size:.72rem; font-weight:600; padding:3px 10px; border-radius:20px; margin:8px 0 12px; }
.deal-card h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1rem; color:#fff; margin-bottom:6px; }
.deal-card p { font-size:.82rem; color:var(--mid); line-height:1.6; }
.deal-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }
.deal-tag { background:rgba(255,255,255,.07); color:rgba(255,255,255,.7); font-size:.65rem; font-weight:600; padding:2px 8px; border-radius:20px; }
.deal-learn-more { display:inline-flex; align-items:center; gap:5px; margin-top:14px; font-size:.8rem; font-weight:700; text-decoration:none; transition:gap .2s; }
.deal-learn-more:hover { gap:9px; }
.d-o .deal-learn-more { color:var(--orange); }
.d-g .deal-learn-more { color:#00A94F; }
.d-p .deal-learn-more { color:#6478FF; }
.student-callout { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.3); border-radius:14px; padding:24px 28px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:56px; }
.student-callout .s-badge { background:var(--orange); color:#fff; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.6rem; padding:10px 18px; border-radius:8px; line-height:1.2; text-align:center; flex-shrink:0; }
.student-callout .s-badge small { font-size:.62rem; display:block; letter-spacing:1px; }
.student-callout h3 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.1rem; color:#fff; margin-bottom:4px; }
.student-callout p { font-size:.82rem; color:var(--mid); line-height:1.5; }
.student-callout p strong { color:var(--orange); }
.student-callout p .disc-pct { color:var(--mid); font-weight:600; }
.repairs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.repair-card { background:#fff; border-radius:14px; padding:26px 22px; border-left:4px solid transparent; box-shadow:0 2px 12px rgba(13,27,42,.07); transition:border-color .2s,transform .2s; }
.repair-card:hover { border-color:var(--orange); transform:translateY(-3px); }
.repair-icon { font-size:1.8rem; margin-bottom:12px; }
.repair-card h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:1rem; color:var(--navy); margin-bottom:6px; }
.repair-card p { font-size:.85rem; color:#5A6A7A; line-height:1.6; }
.brand-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.brand-tag { background:var(--slate); color:var(--navy); font-size:.68rem; font-weight:600; padding:2px 8px; border-radius:20px; }
.repair-learn-more { display:inline-block; margin-top:12px; font-size:.8rem; font-weight:700; color:var(--orange); text-decoration:none; }
.repair-learn-more:hover { text-decoration:underline; }
@media(max-width:768px){ .deals-grid{grid-template-columns:1fr;} }

/* =========================================================
   HOME PAGE — hero grid, promo carousel, trust bar,
   neighbourhood strip. Selectors are scoped (#hero, .hero-*,
   .promo-*, .pdc-*) so they don't collide with the Repairs Hub
   deal-card styles above (which use .deal-* / bare .r-o/.r-g/.r-p).
   ========================================================= */
#hero {
  background: var(--navy);
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto;
  align-items: stretch; padding: 16px 5vw 0; position: relative; overflow: hidden; gap: 0 40px;
}
.hero-slash { position:absolute; right:50%; top:0; bottom:0; width:6px; background:linear-gradient(180deg,transparent 0%,var(--orange) 20%,var(--orange) 80%,transparent 100%); transform:skewX(-8deg); opacity:.3; }
.hero-slash2 { position:absolute; right:calc(50% + 18px); top:0; bottom:0; width:2px; background:linear-gradient(180deg,transparent 0%,var(--orange) 30%,var(--orange) 70%,transparent 100%); transform:skewX(-8deg); opacity:.15; }
.hero-right { grid-column:2; grid-row:1; display:flex; flex-direction:column; gap:12px; position:relative; z-index:2; padding-top:0; }
.hero-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; position:relative; z-index:2; flex:1; }
.hero-card { background:var(--navy2); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:14px 14px; transition:border-color .2s; display:flex; flex-direction:column; }
.hero-card:hover { border-color:var(--orange); }
.hero-card-icon { font-size:1.3rem; margin-bottom:6px; }
.hero-card h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.82rem; color:var(--white); margin-bottom:4px; }
.hero-card p { font-size:.72rem; color:var(--mid); line-height:1.45; }
.hero-text { grid-column:1; grid-row:1; position:relative; z-index:2; background:var(--navy2); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:14px 18px; display:flex; flex-direction:column; justify-content:center; }
.hero-eyebrow { font-size:.7rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:10px; }
.hero-h1 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.6rem,3.2vw,2.6rem); line-height:1.08; color:var(--white); margin-bottom:12px; }
.hero-h1 em { color:var(--orange); font-style:normal; }
.hero-sub { color:var(--mid); font-size:.82rem; line-height:1.6; max-width:420px; margin-bottom:20px; }
.hero-btns { display:flex; gap:10px; flex-wrap:wrap; }
/* Smaller hero-only button variants (scoped so they don't shrink buttons site-wide) */
.hero-text .btn-primary { padding:10px 20px; font-size:.85rem; }
.hero-text .btn-outline { padding:10px 20px; font-size:.85rem; }

/* Carousel */
.hero-carousel { grid-column:1/-1; grid-row:2; border-radius:12px; border:1px solid rgba(255,255,255,.1); flex-shrink:0; margin-top:-2px; }
.promo-carousel { position:relative; overflow:hidden; height:130px; background:var(--navy); }
.promo-slide { position:absolute; inset:0; display:flex; align-items:center; padding:0 5vw; gap:20px; opacity:0; transform:translateY(14px); transition:opacity .5s ease,transform .5s ease; pointer-events:none; }
.promo-slide.active { opacity:1; transform:translateY(0); pointer-events:auto; }
.promo-deal-cards { display:flex; gap:10px; flex:1; align-items:stretch; }
.promo-deal-card { flex:1; border-radius:10px; padding:9px 12px; display:flex; gap:9px; align-items:center; min-width:0; }
.promo-deal-card.pdc-1 { background:linear-gradient(135deg,#1a2a3a,#0f1d2c); border:1px solid rgba(255,92,0,.45); }
.promo-deal-card.pdc-2 { background:linear-gradient(135deg,#112411,#0a1a0a); border:1px solid rgba(0,169,79,.45); }
.promo-deal-card.pdc-3 { background:linear-gradient(135deg,#14132a,#0e0d1d); border:1px solid rgba(100,120,255,.45); }
.pdc-icon { font-size:1.5rem; flex-shrink:0; }
.pdc-body { min-width:0; }
.pdc-ribbon { font-size:.58rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:2px 6px; border-radius:3px; display:inline-block; margin-bottom:2px; color:#fff; }
.pdc-ribbon.r-o { background:var(--orange); }
.pdc-ribbon.r-g { background:var(--chatr-green); }
.pdc-ribbon.r-p { background:#6478FF; }
.pdc-price { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.3rem; color:#fff; line-height:1; }
.pdc-name { font-size:.7rem; font-weight:700; color:rgba(255,255,255,.85); margin-top:2px; }
.pdc-time { font-size:.6rem; color:var(--mid); background:rgba(255,255,255,.07); padding:2px 6px; border-radius:20px; display:inline-block; margin-top:3px; }
.promo-slide-label { flex-shrink:0; }
.promo-slide-label h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1rem; color:#fff; margin-bottom:3px; }
.promo-slide-label p { font-size:.75rem; color:var(--mid); }
.promo-slide-cta { flex-shrink:0; background:var(--orange); color:#fff; padding:9px 16px; border-radius:7px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.78rem; text-decoration:none; white-space:nowrap; transition:background .2s; }
.promo-slide-cta:hover { background:var(--orange2); }
.promo-slide-cta.cta-green { background:var(--chatr-green); }
.promo-slide-cta.cta-green:hover { background:#7424A8; }
.promo-phone-items { display:flex; gap:8px; align-items:center; flex:1; }
.promo-phone-item { display:flex; flex-direction:column; align-items:center; gap:3px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:7px 14px; }
.promo-phone-item .ph-img { font-size:1.7rem; }
.promo-phone-item .ph-name { font-size:.65rem; font-weight:600; color:rgba(255,255,255,.8); }
.promo-phone-item .ph-cond { font-size:.58rem; color:var(--orange); font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.promo-student-badge { background:var(--orange); color:#fff; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.7rem; padding:8px 16px; border-radius:8px; flex-shrink:0; line-height:1.2; text-align:center; }
.promo-student-badge small { font-size:.62rem; display:block; font-weight:700; letter-spacing:1px; }
.promo-student-text h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1rem; color:#fff; margin-bottom:4px; }
.promo-student-text p { font-size:.77rem; color:var(--mid); line-height:1.5; }
.promo-student-text strong { color:var(--orange); }
.promo-student-text .disc-pct { color:var(--mid); font-weight:600; }
.promo-plans-pair { display:flex; gap:10px; flex:1; align-items:stretch; }
.promo-plan-half { flex:1; border-radius:10px; padding:10px 14px; display:flex; gap:10px; align-items:center; }
.pph-chatr { background:rgba(139,47,201,.12); border:1px solid rgba(139,47,201,.4); }
.pph-lucky { background:rgba(255,204,0,.10); border:1px solid rgba(255,204,0,.35); }
.pph-icon { font-size:1.7rem; flex-shrink:0; }
.pph-body h4 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:.9rem; margin-bottom:3px; }
.pph-chatr .pph-body h4 { color:var(--chatr-purple-light); }
.pph-lucky .pph-body h4 { color:var(--lucky-red); }
.pph-body p { font-size:.7rem; color:var(--mid); line-height:1.4; }
.carousel-dots { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); display:flex; gap:6px; }
.carousel-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.22); cursor:pointer; border:none; padding:0; transition:background .3s,transform .3s; }
.carousel-dot.active { background:var(--orange); transform:scale(1.35); }
.carousel-progress { position:absolute; bottom:0; left:0; height:3px; background:var(--orange); width:0%; }

/* Trust bar */
.trust-bar { background:var(--orange); padding:14px 5vw; display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:8px; color:var(--white); font-size:.85rem; font-weight:600; }
.trust-item svg { flex-shrink:0; }

/* Neighbourhood strip (light background — scoped .nb-tag differs from the
   dark nb-strip version used on repair-detail pages) */
.neighbourhood-strip { background:var(--slate); padding:14px 5vw; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.neighbourhood-label { font-size:.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#5A6A7A; flex-shrink:0; }
.neighbourhood-tags { display:flex; flex-wrap:wrap; gap:7px; }
.neighbourhood-strip .nb-tag { background:var(--white); color:var(--navy); border:1px solid #CBD5E0; font-size:.75rem; font-weight:600; padding:4px 12px; border-radius:20px; cursor:default; transition:border-color .2s,color .2s; }
.neighbourhood-strip .nb-tag:hover { border-color:var(--orange); color:var(--orange); }

@media (max-width:900px) {
  #hero { grid-template-columns:1fr; grid-template-rows:auto auto auto; padding:28px 5vw 0; gap:20px; }
  .hero-slash, .hero-slash2 { display:none; }
  .hero-right { grid-column:1; grid-row:1; width:100%; }
  .hero-text { grid-column:1; grid-row:2; }
  .hero-carousel { grid-column:1; grid-row:3; }
}
@media (max-width:768px) {
  .promo-carousel { height:auto; }
  .promo-slide { position:relative; inset:auto; flex-direction:column; align-items:flex-start; padding:12px 14px; display:none; gap:10px; }
  .promo-slide.active { display:flex; }
  .promo-deal-cards, .promo-plans-pair { flex-direction:column; }
  .promo-phone-items { flex-wrap:wrap; }
  .promo-slide-cta { align-self:flex-start; }
  .hero-carousel { border-radius:10px; }
}
@media (max-width:600px) {
  .hero-cards { grid-template-columns:1fr; }
  .trust-bar { gap:16px; }
}

/* =========================================================
   CHATR PLANS PAGE
   ========================================================= */
.chatr-hero { background:var(--navy); padding:52px 5vw 48px; position:relative; overflow:hidden; }
.chatr-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.chatr-badge { display:inline-flex; align-items:center; gap:10px; background:var(--chatr-green); color:#fff; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1rem; padding:8px 20px; border-radius:30px; letter-spacing:1px; margin-bottom:20px; animation:gtech-pulse 2.6s ease-in-out infinite; }
@keyframes gtech-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(139,47,201,.5)} 50%{box-shadow:0 0 0 12px rgba(139,47,201,0)} }
.chatr-badge::before { content:''; width:8px; height:8px; border-radius:50%; background:#fff; animation:gtech-blink 1.3s steps(1) infinite; }
@keyframes gtech-blink { 0%,100%{opacity:1} 50%{opacity:0} }
.chatr-h1 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(2rem,4vw,3rem); color:#fff; line-height:1.1; margin-bottom:14px; }
.chatr-h1 span { color:var(--chatr-purple-light); }
.chatr-sub { color:var(--mid); font-size:.95rem; line-height:1.75; margin-bottom:28px; max-width:480px; }
.chatr-why { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
.chatr-why-item { display:flex; gap:10px; align-items:flex-start; }
.chatr-why-dot { width:9px; height:9px; border-radius:50%; background:var(--chatr-green); margin-top:5px; flex-shrink:0; }
.chatr-why-item strong { display:block; font-size:.85rem; color:#fff; margin-bottom:2px; }
.chatr-why-item p { font-size:.75rem; color:var(--mid); line-height:1.5; }
.plans-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }
.plan-card { background:rgba(255,255,255,.05); border:1px solid rgba(139,47,201,.25); border-radius:12px; padding:22px 18px; text-align:center; transition:border-color .2s,background .2s; position:relative; }
.plan-card:hover,.plan-card.featured { border-color:var(--chatr-green); background:rgba(139,47,201,.1); }
.plan-card.hero-price { background:rgba(139,47,201,.12); border:1px solid var(--chatr-green); }
.plan-badge { position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:var(--chatr-green); color:#fff; font-size:.62rem; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.plan-price { font-family:'Montserrat',sans-serif; font-weight:900; font-size:2rem; color:#fff; }
.plan-price.big { font-size:2.6rem; }
.plan-price sub { font-size:.72rem; font-weight:600; color:var(--mid); vertical-align:middle; }
.plan-from-label { font-size:.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--chatr-purple-light); margin-bottom:4px; }
.plan-icon { font-size:1.6rem; margin-bottom:6px; }
.plan-data { font-size:.78rem; color:var(--chatr-purple-light); font-weight:700; margin:4px 0 8px; }
.plan-detail { font-size:.72rem; color:var(--mid); line-height:1.5; }
.plan-note { color:var(--mid); font-size:.72rem; margin-top:14px; line-height:1.5; }
.why-box { background:rgba(139,47,201,.08); border:1px solid rgba(139,47,201,.25); border-radius:12px; padding:22px 24px; margin-top:28px; }
.why-box p { font-size:.85rem; color:var(--mid); line-height:1.65; }
.why-box p strong { color:#fff; }
.features-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.feature-card { background:#fff; border-radius:12px; padding:24px 20px; box-shadow:0 2px 12px rgba(13,27,42,.07); border-bottom:3px solid var(--chatr-green); }
.feature-icon { font-size:1.8rem; margin-bottom:12px; }
.feature-card h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.95rem; color:var(--navy); margin-bottom:6px; }
.feature-card p { font-size:.82rem; color:#5A6A7A; line-height:1.6; }
@media(max-width:900px){ .chatr-hero-inner{grid-template-columns:1fr;} .plans-grid{grid-template-columns:1fr;} .chatr-why{grid-template-columns:1fr;} }

/* =========================================================
   LUCKY MOBILE PAGE
   ========================================================= */
.lucky-hero { background:linear-gradient(135deg,#0a0a0a 0%,#1a1608 100%); padding:52px 5vw 48px; position:relative; overflow:hidden; }
.lucky-blob { position:absolute; bottom:-80px; left:-80px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(255,204,0,.10) 0%,transparent 70%); pointer-events:none; }
.lucky-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; position:relative; z-index:2; }
.lucky-badge { display:inline-flex; align-items:center; gap:8px; background:var(--lucky-red); color:var(--navy); font-family:'Montserrat',sans-serif; font-weight:900; font-size:.9rem; padding:7px 18px; border-radius:30px; letter-spacing:1px; margin-bottom:18px; }
.lucky-h1 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(2rem,4vw,3rem); color:#fff; line-height:1.1; margin-bottom:14px; }
.lucky-h1 span { color:var(--lucky-red); }
.lucky-sub { color:#BFC8D0; font-size:.95rem; line-height:1.75; margin-bottom:24px; }
.lucky-features { list-style:none; display:grid; gap:10px; margin-bottom:28px; }
.lucky-features li { display:flex; gap:12px; align-items:center; color:#BFC8D0; font-size:.88rem; }
.lucky-features li::before { content:'✓'; color:var(--lucky-red); font-weight:900; font-size:1rem; flex-shrink:0; }
.lucky-promo { background:rgba(255,255,255,.05); border:1px solid rgba(255,204,0,.3); border-radius:16px; padding:28px; }
.lucky-promo h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.2rem; color:#fff; margin-bottom:16px; }
.lucky-plan-list { list-style:none; display:grid; gap:8px; }
.lucky-plan-list li { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; background:rgba(255,255,255,.04); border-radius:8px; border:1px solid rgba(255,255,255,.06); }
.lucky-plan-list li span:first-child { color:#fff; font-size:.88rem; font-weight:500; }
.lucky-plan-list li span:last-child { color:var(--lucky-red); font-weight:700; font-size:.88rem; }
.compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.compare-card { border-radius:14px; padding:28px 24px; }
.compare-card.chatr-card { background:rgba(139,47,201,.06); border:1px solid rgba(139,47,201,.3); }
.compare-card.lucky-card { background:rgba(255,204,0,.06); border:1px solid rgba(255,204,0,.35); }
.compare-card h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.1rem; margin-bottom:14px; }
.compare-card.chatr-card h3 { color:var(--chatr-green); }
.compare-card.lucky-card h3 { color:#B38600; }
.compare-list { list-style:none; display:grid; gap:8px; }
.compare-list li { font-size:.85rem; color:#5A6A7A; display:flex; gap:8px; }
.compare-list li::before { font-size:.85rem; flex-shrink:0; }
.chatr-card .compare-list li::before { content:'✓'; color:var(--chatr-green); font-weight:700; }
.lucky-card .compare-list li::before { content:'✓'; color:#B38600; font-weight:700; }
@media(max-width:900px){ .lucky-hero-inner{grid-template-columns:1fr;} .compare-grid{grid-template-columns:1fr;} }

/* =========================================================
   USED PHONES PAGE
   ========================================================= */
.phones-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-bottom:48px; }
.phone-card { border:1.5px solid #E2E8F0; border-radius:14px; overflow:hidden; transition:box-shadow .2s,border-color .2s,transform .2s; }
.phone-card:hover { box-shadow:0 10px 32px rgba(255,92,0,.12); border-color:var(--orange); transform:translateY(-4px); }
.phone-img { background:var(--slate); height:140px; display:flex; align-items:center; justify-content:center; font-size:4rem; }
.phone-img img { width:100%; height:100%; object-fit:cover; }
.phone-body { padding:18px 16px; }
.phone-condition { font-size:.68rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--orange); margin-bottom:5px; }
.phone-name { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.95rem; color:var(--navy); margin-bottom:4px; }
.phone-desc { font-size:.8rem; color:#5A6A7A; line-height:1.5; }
.phone-price { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.15rem; color:var(--orange); margin-top:8px; }
.phone-price.call { font-size:.85rem; color:var(--mid); font-weight:700; }
.stock-card { border:1.5px dashed #CBD5E0; border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:220px; text-align:center; padding:24px; }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; background:var(--slate); border-radius:16px; padding:36px; }
.why-item { display:flex; gap:14px; align-items:flex-start; }
.why-icon { font-size:1.6rem; flex-shrink:0; }
.why-item h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.95rem; color:var(--navy); margin-bottom:4px; }
.why-item p { font-size:.8rem; color:#5A6A7A; line-height:1.5; }
.bundle-banner { background:var(--navy); border-radius:14px; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:48px; }
.bundle-banner h3 { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.2rem; color:#fff; margin-bottom:6px; }
.bundle-banner p { font-size:.85rem; color:var(--mid); }
.bundle-banner p strong { color:var(--chatr-purple-light); }
@media(max-width:600px){ .phones-why,.why-grid{padding:24px;} }

/* =========================================================
   BOOKING PAGE
   ========================================================= */
.booking-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:52px; align-items:start; }
.booking-options { display:grid; gap:14px; margin-bottom:28px; }
.booking-option { display:flex; gap:14px; align-items:center; background:#fff; border-radius:12px; padding:16px 18px; box-shadow:0 2px 8px rgba(13,27,42,.06); text-decoration:none; transition:box-shadow .2s,transform .2s; }
.booking-option:hover { box-shadow:0 6px 20px rgba(255,92,0,.15); transform:translateY(-2px); }
.booking-option-icon { font-size:1.5rem; flex-shrink:0; }
.booking-option-text strong { display:block; font-family:'Montserrat',sans-serif; font-weight:700; color:var(--navy); font-size:.92rem; margin-bottom:2px; }
.booking-option-text span { color:#5A6A7A; font-size:.78rem; }
.booking-option-arrow { margin-left:auto; color:var(--orange); font-size:1.1rem; }
.times-box { background:var(--slate); border-radius:12px; padding:20px 22px; margin-bottom:24px; }
.times-box h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.88rem; color:var(--navy); margin-bottom:12px; }
.times-list { list-style:none; display:grid; gap:7px; }
.times-list li { font-size:.82rem; color:#5A6A7A; display:flex; gap:8px; align-items:center; }
.student-box { background:linear-gradient(135deg,#1a2f4a,#0D1B2A); border:1px solid rgba(255,92,0,.3); border-radius:12px; padding:18px 20px; display:flex; align-items:center; gap:14px; }
.s-badge-sm { background:var(--orange); color:#fff; font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.4rem; padding:5px 12px; border-radius:7px; flex-shrink:0; line-height:1.1; text-align:center; }
.s-badge-sm small { font-size:.62rem; display:block; }
.student-box p { font-size:.8rem; color:#BFC8D0; line-height:1.5; }
.student-box p strong { color:var(--orange); }
.booking-form { background:#fff; border-radius:18px; padding:36px; box-shadow:0 4px 24px rgba(13,27,42,.1); }
.booking-form h2 { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.4rem; color:var(--navy); margin-bottom:6px; }
.form-sub { font-size:.82rem; color:#5A6A7A; margin-bottom:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.form-group label { font-size:.78rem; font-weight:600; color:var(--navy); letter-spacing:.3px; }
.form-group input,.form-group select,.form-group textarea { border:1.5px solid #E2E8F0; border-radius:8px; padding:10px 13px; font-size:.88rem; font-family:'Inter',sans-serif; color:var(--navy); background:#fff; transition:border-color .2s,box-shadow .2s; outline:none; width:100%; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,92,0,.1); }
.form-group textarea { resize:vertical; min-height:80px; }
.student-check { display:flex; align-items:center; gap:10px; background:#FFF8F5; border:1.5px solid rgba(255,92,0,.25); border-radius:10px; padding:12px 14px; margin-bottom:18px; cursor:pointer; }
.student-check input[type="checkbox"] { width:18px; height:18px; accent-color:var(--orange); cursor:pointer; }
.student-check label { font-size:.82rem; color:var(--navy); cursor:pointer; line-height:1.4; }
.student-check label strong { color:var(--orange); }
.form-submit { width:100%; background:var(--orange); color:#fff; border:none; border-radius:10px; padding:14px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.95rem; cursor:pointer; transition:background .2s,transform .15s; }
.form-submit:hover { background:var(--orange2); transform:translateY(-2px); }
.form-note { font-size:.72rem; color:#8A9BB0; text-align:center; margin-top:10px; line-height:1.5; }
.form-success { display:none; background:#f0fdf4; border:1.5px solid #86efac; border-radius:10px; padding:20px; text-align:center; color:#166534; font-weight:600; font-size:.92rem; margin-top:14px; }
@media(max-width:900px){ .booking-layout{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }

/* =========================================================
   LOCATION PAGE
   ========================================================= */
.location-layout { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.info-cards { display:grid; gap:16px; }
.info-card { display:flex; gap:16px; align-items:flex-start; padding:20px; background:var(--slate); border-radius:12px; }
.info-icon { font-size:1.4rem; flex-shrink:0; }
.info-card h4 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.88rem; color:var(--navy); margin-bottom:4px; }
.info-card p { font-size:.85rem; color:#5A6A7A; line-height:1.6; }
.info-card a { color:var(--orange); text-decoration:none; font-weight:600; }
.hours-table { width:100%; border-collapse:collapse; margin-top:6px; }
.hours-table tr td { font-size:.8rem; color:#5A6A7A; padding:4px 0; }
.hours-table tr td:last-child { text-align:right; color:var(--navy); font-weight:700; }
.map-box { background:var(--slate); border-radius:16px; overflow:hidden; height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; border:2px dashed #CBD5E0; }
.map-box p { color:#5A6A7A; font-size:.875rem; text-align:center; padding:0 20px; }
.map-directions { display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:#fff; padding:12px 22px; border-radius:8px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.875rem; text-decoration:none; transition:background .2s; }
.map-directions:hover { background:var(--navy2); }
@media(max-width:900px){ .location-layout{grid-template-columns:1fr;} }
