/* ==========================================================================
   solar-style.css
   TalkMoney Solar Solutions — page-specific styles ONLY.

   Load order:
     1) style.css        (global: header, nav, footer, typography, brand
                           colors, buttons, forms, cards, shared utilities,
                           shared animations, spacing, design tokens)
     2) solar-style.css   (this file — Solar Solutions overrides/additions)

   This file intentionally contains NO duplicated global rules. It reuses
   design tokens already defined in style.css (var(--orange), var(--black),
   var(--cream), var(--gray), var(--border), etc.) and only adds selectors
   for components unique to the Solar Solutions page.
   ========================================================================== */

  /* Hero */
  .solar-hero{position:relative;padding:90px 0 70px;overflow:hidden;background:#111 url('https://images.unsplash.com/photo-1509391366360-2e959784a276?w=1600&q=80') center/cover no-repeat;}
  .solar-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.82) 75%,rgba(10,10,10,.92) 100%);}
  .solar-hero-inner{position:relative;z-index:1;max-width:760px;color:#fff;}
  .solar-hero h1{font-family:'Poppins',sans-serif;font-size:44px;font-weight:800;line-height:1.15;margin:14px 0 12px;letter-spacing:-1px;color:#fff;}
  .solar-hero-sub{font-size:19px;font-weight:600;margin:0 0 16px;color:#F5D9B8;}
  .solar-hero-text{font-size:15.5px;line-height:1.75;color:#e9e4da;max-width:620px;margin:0 0 30px;}

  /* Why choose: check grid */
  .check-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
  .check-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;}
  .check-card i{width:44px;height:44px;border-radius:50%;background:#FFF1E3;color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:17px;}
  .check-card span{font-size:13px;font-weight:700;line-height:1.4;}

  /* Product cards */
  .product-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .product-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;}
  .product-media{height:190px;background-size:cover;background-position:center;position:relative;}
  .product-tag{position:absolute;top:14px;left:14px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;padding:6px 12px;border-radius:6px;letter-spacing:.3px;}
  .product-body{padding:26px;}
  .product-body h3{font-size:19px;font-weight:800;margin:0 0 8px;line-height:1.3;}
  .product-body h3 span{display:block;font-size:13px;font-weight:600;color:var(--orange-dark);margin-top:4px;}
  .product-desc{font-size:13.5px;color:var(--gray);line-height:1.6;margin:0 0 16px;}
  .product-suitable{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
  .product-suitable span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;background:#FFF8F0;border:1px solid var(--border);padding:6px 10px;border-radius:20px;color:#444;}
  .product-suitable i{color:var(--orange);font-size:11px;}
  .spec-table{width:100%;border-collapse:collapse;margin-bottom:20px;}
  .spec-table th,.spec-table td{text-align:left;font-size:12.5px;padding:10px 4px;border-bottom:1px solid var(--border);vertical-align:top;}
  .spec-table th{width:38%;color:var(--gray);font-weight:600;}
  .spec-table td{font-weight:600;color:#222;}
  .spec-table .price-cell{color:var(--orange-dark);font-weight:800;font-size:16px;}
  .product-actions{display:flex;gap:10px;flex-wrap:wrap;}

  /* Calculator */
  .calc-box{border:1px solid var(--border);border-radius:16px;padding:32px;background:#fff;max-width:900px;margin:0 auto;}
  .calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px;}
  .calc-field label{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;margin-bottom:8px;color:#333;}
  .calc-field label i{color:var(--orange);width:16px;}
  .calc-field input{width:100%;padding:11px 14px;border-radius:8px;border:1px solid var(--border);font-size:14px;font-family:inherit;}
  .calc-field-wide{grid-column:span 3;}
  .calc-actions{display:flex;justify-content:center;margin-bottom:6px;}
  .calc-results{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 10px;}
  .calc-result-card{background:#FFF8F0;border:1px solid var(--border);border-radius:12px;padding:18px 14px;text-align:center;}
  .calc-result-card span{display:block;font-size:11.5px;color:var(--gray);font-weight:600;margin-bottom:6px;}
  .calc-result-card strong{font-size:15px;font-weight:800;color:var(--black);}
  .calc-note{font-size:12px;color:var(--gray);text-align:center;margin:6px 0 18px;}

  /* Appliance grid */
  .appliance-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;}
  .appliance-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 8px;text-align:center;}
  .appliance-item i{font-size:19px;color:var(--orange);margin-bottom:8px;display:block;}
  .appliance-item span{font-size:11px;font-weight:700;}

  /* Charging comparison */
  .charge-card{border:1px solid var(--border);border-radius:16px;padding:28px;background:#fff;height:100%;}
  .charge-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:16px;}
  .charge-card h3{font-size:17px;font-weight:800;margin:0 0 14px;}
  .charge-card .check-list{margin-bottom:16px;}

  /* Warranty panel */
  .warranty-panel{background:linear-gradient(135deg,#171717,#2a2a2a);border-radius:20px;padding:44px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;color:#fff;}
  .warranty-text h2{font-size:28px;font-weight:800;margin:8px 0 16px;color:#fff;}
  .warranty-text p{font-size:14px;line-height:1.75;color:#cfcfcf;margin:0 0 14px;}
  .warranty-icons{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .warranty-icon-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:20px 12px;text-align:center;}
  .warranty-icon-card i{font-size:22px;color:#F5D9B8;margin-bottom:10px;display:block;}
  .warranty-icon-card span{font-size:12px;font-weight:700;}

  @media(max-width:1100px){
    .check-grid{grid-template-columns:repeat(3,1fr);}
    .appliance-grid{grid-template-columns:repeat(4,1fr);}
    .warranty-panel{grid-template-columns:1fr;}
  }
  @media(max-width:900px){
    .product-grid{grid-template-columns:1fr;}
    .calc-grid{grid-template-columns:1fr 1fr;}
    .calc-field-wide{grid-column:span 2;}
    .calc-results{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:640px){
    .solar-hero h1{font-size:32px;}
    .solar-hero-sub{font-size:16px;}
    .check-grid{grid-template-columns:repeat(2,1fr);}
    .appliance-grid{grid-template-columns:repeat(3,1fr);}
    .calc-grid{grid-template-columns:1fr;}
    .calc-field-wide{grid-column:span 1;}
    .calc-results{grid-template-columns:1fr 1fr;}
  }

  /* ============================================================
     PRODUCTION UPGRADE — added on top of the original design.
     All rules below reuse the same tokens: var(--orange),
     var(--orange-dark), var(--black), var(--cream), var(--gray),
     var(--border), and the existing type scale.
     ============================================================ */

  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

  /* Trust badges strip */
  .trust-strip{background:#fff;border-bottom:1px solid var(--border);padding:18px 0;}
  .trust-strip-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
  .trust-badge{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:#333;}
  .trust-badge i{color:var(--orange);font-size:15px;}

  /* Availability badges */
  .avail-badge{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:800;padding:6px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;color:#fff;letter-spacing:.2px;}
  .avail-available{background:#1AA05D;}
  .avail-limited{background:var(--orange-dark);}
  .avail-soon{background:#6B6B6B;}
  .avail-out{background:#B3261E;}
  .avail-preorder{background:#0B5EA8;}
  .product-card-soon{opacity:.92;border-style:dashed;}
  .product-card-soon .product-media{filter:grayscale(.25);}

  /* Product gallery */
  .gallery-wrap{max-width:820px;margin:0 auto;}
  .gallery-main{display:flex;align-items:center;gap:12px;}
  .gallery-viewport{position:relative;flex:1;height:420px;border-radius:16px;overflow:hidden;background:#111;}
  .gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;}
  .gallery-slide.is-active{opacity:1;}
  .gallery-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:.2s;}
  .gallery-arrow:hover{background:var(--orange);color:#fff;border-color:var(--orange);}
  .gallery-zoom-btn{position:absolute;bottom:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:2;}
  .gallery-thumbs{display:flex;gap:10px;margin-top:14px;justify-content:center;flex-wrap:wrap;}
  .gallery-thumb{width:70px;height:56px;border-radius:8px;border:2px solid transparent;background-size:cover;background-position:center;cursor:pointer;padding:0;}
  .gallery-thumb.is-active{border-color:var(--orange);}
  .gallery-thumb-video{background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
  .gallery-video-note{text-align:center;margin-top:10px;font-size:12.5px;color:var(--gray);}
  .gallery-video-note i{color:var(--orange);margin-right:6px;}

  /* Before / after slider */
  .ba-wrap{max-width:820px;margin:60px auto 0;}
  .ba-head{text-align:center;margin-bottom:18px;}
  .ba-head h3{font-size:19px;font-weight:800;margin:0 0 6px;}
  .ba-head p{font-size:13.5px;color:var(--gray);margin:0;}
  .ba-slider{position:relative;height:360px;border-radius:16px;overflow:hidden;user-select:none;}
  .ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .ba-before-wrap{position:absolute;inset:0;width:50%;overflow:hidden;}
  .ba-before-wrap .ba-img{width:820px;max-width:none;}
  .ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;}
  .ba-handle i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#fff;color:var(--orange-dark);display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.25);}
  .ba-tag{position:absolute;top:14px;font-size:11px;font-weight:800;color:#fff;background:rgba(0,0,0,.55);padding:5px 12px;border-radius:20px;letter-spacing:.4px;}
  .ba-tag-before{left:14px;}
  .ba-tag-after{right:14px;}
  .ba-range{width:100%;margin-top:14px;accent-color:var(--orange);}

  /* Lightbox */
  .lightbox{position:fixed;inset:0;background:rgba(10,10,10,.92);z-index:999;display:flex;align-items:center;justify-content:center;padding:30px;}
  .lightbox[hidden]{display:none;}
  .lightbox-img{max-width:100%;max-height:100%;border-radius:8px;cursor:zoom-out;transition:transform .25s ease;}
  .lightbox-img.is-zoomed{transform:scale(1.6);cursor:zoom-out;}
  .lightbox-close{position:absolute;top:22px;right:26px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

  /* Comparison table */
  .compare-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border);background:#fff;}
  .compare-table{width:100%;border-collapse:collapse;min-width:640px;}
  .compare-table th,.compare-table td{padding:14px 18px;font-size:13px;border-bottom:1px solid var(--border);text-align:left;}
  .compare-table thead th{border-bottom:2px solid var(--border);vertical-align:top;background:#FFFAF4;}
  .compare-table tbody th{width:26%;color:var(--gray);font-weight:700;background:#FFFAF4;}
  .compare-row-label{background:#FFFAF4;}
  .compare-col-head{display:flex;flex-direction:column;gap:4px;}
  .compare-col-badge{display:inline-block;width:fit-content;color:#fff;font-size:10px;font-weight:800;padding:4px 10px;border-radius:12px;margin-bottom:2px;}
  .compare-col-head strong{font-size:15px;}
  .compare-col-head small{font-size:11.5px;color:var(--gray);font-weight:600;}
  .compare-cta-row td{padding-top:18px;}

  /* Upgraded calculator table */
  .calc-table{width:100%;border-collapse:collapse;margin-bottom:18px;}
  .calc-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--gray);text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);}
  .calc-table td{padding:8px 6px;border-bottom:1px solid var(--border);}
  .calc-th-appliance{width:34%;}
  .calc-appliance-cell{font-size:13px;font-weight:700;}
  .calc-appliance-cell i{color:var(--orange);width:16px;margin-right:6px;}
  .calc-table input{width:80px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);font-size:13px;font-family:inherit;}
  .calc-other-row{margin-bottom:20px;}
  .calc-other-row label{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;margin-bottom:8px;}
  .calc-other-row label i{color:var(--orange);}
  .calc-other-inputs{display:flex;gap:10px;flex-wrap:wrap;}
  .calc-other-inputs input{padding:10px 12px;border-radius:6px;border:1px solid var(--border);font-size:13px;font-family:inherit;width:130px;}

  .calc-result-premium{border:2px solid var(--orange);border-radius:16px;padding:24px;margin-top:22px;background:linear-gradient(180deg,#FFF8F0 0%,#fff 100%);}
  .calc-result-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
  .calc-result-head i{color:#1AA05D;font-size:20px;}
  .calc-result-head h3{font-size:16px;font-weight:800;margin:0;}
  .calc-summary{font-size:13px;color:var(--gray);line-height:1.6;margin:16px 0 0;}

  /* Timeline (installation process) */
  .timeline{max-width:900px;margin:0 auto;list-style:none;padding:0;display:flex;flex-direction:column;gap:0;}
  .timeline-step{display:flex;align-items:flex-start;gap:20px;position:relative;padding-bottom:34px;}
  .timeline-step:last-child{padding-bottom:0;}
  .timeline-step::before{content:'';position:absolute;left:27px;top:56px;bottom:-2px;width:2px;background:var(--border);}
  .timeline-step:last-child::before{display:none;}
  .timeline-icon{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--orange);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;z-index:1;}
  .timeline-body{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px;flex:1;}
  .timeline-step-no{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:.4px;}
  .timeline-body h4{font-size:15.5px;font-weight:800;margin:4px 0 4px;}
  .timeline-body p{font-size:13px;color:var(--gray);margin:0;}

  /* Testimonials */
  .testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .testimonial-card{border:1px solid var(--border);border-radius:14px;padding:24px;background:#fff;}
  .testimonial-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .testimonial-avatar{width:46px;height:46px;border-radius:50%;background:#FFF1E3;color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
  .testimonial-top h4{font-size:14.5px;font-weight:800;margin:0;}
  .testimonial-location{font-size:11.5px;color:var(--gray);display:flex;align-items:center;gap:4px;}
  .stars{color:#F5A623;font-size:13px;margin-bottom:12px;}
  .testimonial-card p{font-size:13px;color:#333;line-height:1.6;margin:0 0 14px;}
  .testimonial-video-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--orange-dark);font-weight:700;font-size:12px;cursor:pointer;padding:0;}

  /* Service coverage */
  .coverage-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;}
  .coverage-map{position:relative;text-align:center;}
  .coverage-map svg{width:100%;max-width:320px;}
  .coverage-ring{fill:none;stroke:var(--orange);opacity:.18;}
  .coverage-ring-2{opacity:.28;}
  .coverage-ring-3{opacity:.4;}
  .coverage-shape{fill:#1AA05D;opacity:.85;}
  .coverage-pin{fill:#fff;stroke:var(--orange-dark);stroke-width:3;}
  .coverage-map-caption{display:block;font-size:11px;color:var(--gray);margin-top:8px;}
  .coverage-list{display:flex;flex-direction:column;gap:20px;}
  .coverage-item{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;}
  .coverage-icon{width:46px;height:46px;border-radius:10px;background:#FFF1E3;color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
  .coverage-item h4{font-size:14.5px;font-weight:800;margin:0 0 4px;}
  .coverage-item p{font-size:12.5px;color:var(--gray);margin:0;line-height:1.5;}

  /* Solar knowledge center */
  .knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .knowledge-card{border:1px solid var(--border);border-radius:14px;padding:24px;background:#fff;display:block;transition:.2s;}
  .knowledge-card:hover{border-color:var(--orange);transform:translateY(-2px);}
  .knowledge-card h3{font-size:14.5px;font-weight:700;margin:0 0 8px;line-height:1.4;}
  .knowledge-card p{font-size:12.5px;color:var(--gray);margin:0 0 12px;line-height:1.5;}
  .knowledge-link{font-size:12px;font-weight:700;color:var(--orange);}

  /* Form validation */
  .req{color:#B3261E;}
  .field-error{display:block;font-size:11.5px;color:#B3261E;font-weight:600;margin:-14px 0 14px;min-height:14px;}
  .form-box input.is-invalid,.form-box select.is-invalid,.form-box textarea.is-invalid{border-color:#B3261E;}

  /* Sticky mobile CTA */
  .sticky-mobile-cta{display:none;}

  /* Accessibility: visible focus */
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.gallery-thumb:focus-visible{outline:2px solid var(--orange-dark);outline-offset:2px;}

  /* Respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  }

  @media(max-width:1100px){
    .testimonial-grid{grid-template-columns:1fr 1fr;}
    .knowledge-grid{grid-template-columns:1fr 1fr;}
    .coverage-wrap{grid-template-columns:1fr;}
  }
  @media(max-width:900px){
    .calc-table{display:block;overflow-x:auto;white-space:nowrap;}
    .trust-strip-inner{justify-content:center;}
  }
  @media(max-width:768px){
    .sticky-mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 18px rgba(0,0,0,.08);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;}
    .sticky-cta-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:800;padding:8px 4px;border-radius:10px;color:#fff;}
    .sticky-cta-btn i{font-size:16px;}
    .sticky-cta-wa{background:#1AA05D;}
    .sticky-cta-call{background:var(--black);}
    .sticky-cta-quote{background:var(--orange);}
    body{padding-bottom:76px;}
    .gallery-viewport,.ba-slider{height:260px;}
  }
  @media(max-width:640px){
    .testimonial-grid{grid-template-columns:1fr;}
    .knowledge-grid{grid-template-columns:1fr;}
    .compare-table{min-width:560px;}
    .calc-other-inputs input{width:100%;}
  }

/* keep the standard floating WhatsApp button for desktop consistency with the
   rest of the site, but hide it on mobile where the sticky 3-button CTA bar
   (WhatsApp / Call / Get Quote) already covers the same need without clutter. */
@media(max-width:700px){
  .solar-wa-float{display:none;}
}

/* small finishing-touch styles for interactive widgets */
.gallery-prev, .gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;}
.gallery-prev{left:12px;}
.gallery-next{right:12px;}
.calc-qty, .calc-hrs{width:100%;max-width:80px;padding:8px;border-radius:6px;border:1px solid var(--border);font-size:13px;}
