/* Keep global theme from styles.css */

/* ========= Global mobile safety ========= */
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; overflow-x: hidden; }   /* remove right-side white space */
img, video { max-width: 100%; height: auto; }     /* no media overflow */

/* Header follows standard styles.css behavior */

/* ========= Containers / Sections ========= */
.container { width: min(1200px, 100%); margin-inline: auto; padding-inline: 16px; }
.home-sections { padding: 48px 0; }
.home-sections:first-of-type { padding-top: 64px; }
.section--white { background: #ffffff; }

/* ========= HERO (background image like ongrid) ========= */
.banner {
  position: relative;
  width: 100%;
  min-height: 70vh;
  background: url("Assets/lithium home.jpg") no-repeat center center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  margin-bottom: 0;
}

.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

.banner .media-container {
  display: none;
}

/* Tablet adjustments */
@media (max-width: 1024px) {
  .banner {
    min-height: 60vh;
  }
}

/* Mobile: use mobile image */
@media (max-width: 640px) {
  .banner {
    min-height: 50vh;
    background-image: url("Assets/lithium-ad mobile .jpg");
    padding: 40px 20px;
  }
}

/* Readable overlay + centered text */
.banner-content{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 0 16px;
  max-width: 1200px;
  margin: 0 auto;
}
.banner h1 { margin: 0; color: #fff; }
.banner .hero-sub{
  max-width: 760px; margin-top: 10px; line-height: 1.75;
  color: #f3f4f6; opacity: .95;
}

/* ========= Image + FAQ Side by Side ========= */
.image-faq-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-top: 32px;
}

.lfp-figure {
  margin: 0;
  width: 100%;
}

.lfp-figure img {
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.lfp-figure figcaption {
  margin-top: 12px;
  font-size: 0.9rem;
  color: #6b7280;
  text-align: center;
}

.faq-side {
  width: 100%;
}

.faq-heading {
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #111827;
}

.faq-item {
  margin-bottom: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.faq-question {
  width: 100%;
  padding: 16px 20px;
  background: #fff;
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  font-size: 1rem;
  color: #111827;
  transition: background 0.2s;
}

.faq-question:hover {
  background: #f9fafb;
}

.faq-arrow {
  transition: transform 0.3s ease;
  font-size: 0.8rem;
  color: #6b7280;
}

.faq-item.active .faq-arrow {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  background: #f9fafb;
  padding: 0 20px;
  color: #374151;
  line-height: 1.6;
}

.faq-item.active .faq-answer {
  max-height: 500px;
  padding: 16px 20px;
}

@media (max-width: 900px) {
  .image-faq-wrap {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ========= Feature grid ========= */
.section-heading.center { 
  text-align: center;
  width: 100%;
  display: block;
}
.cctv-grid{
  display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr);
}
.cctv-card{
  border-radius: 14px; border: 1px solid rgba(0,0,0,.08);
  padding: 18px 16px; background: #ffffff;
}
.cctv-card p{ margin: 8px 0 0 0; }

@media (max-width: 900px){ .cctv-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .cctv-grid{ grid-template-columns: 1fr; } }

/* ========= Packages ========= */
.pkg-grid{
  display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr);
}
.pkg-card{
  border-radius: 14px; border: 1px solid rgba(0,0,0,.08);
  padding: 18px 16px; background: #ffffff;
}
.pkg-card .price{ margin-top: 10px; font-weight: 700; }
@media (max-width: 900px){ .pkg-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .pkg-grid{ grid-template-columns: 1fr; } }

/* ========= Quote Section (matching surveillance.css) ========= */
.quote-section { padding: 48px 24px 64px; background:#fff; }
.quote-wrap {
  max-width: 1100px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 18px;
  align-items: stretch;
}

/* Left info card */
.quote-left {
  background: linear-gradient(180deg,#fff7ef,#fff);
  border:1px solid #ffe1c7;
  border-radius:16px;
  padding: 26px 26px 22px;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  /* equal-height behavior */
  height: 100%;
  display: flex;
  flex-direction: column;
}
.section-heading.left { text-align:left; display:block; }
.quote-left h3 { 
  font-size: 2rem; 
  font-weight: 700; 
  color: #222; 
  text-align: left; 
  margin-bottom: 10px; 
}
.quote-left p { color:#374151; margin-bottom:12px; max-width: 46ch; }

/* Feature chips on left */
.quote-left .usp-row{
  justify-content: flex-start;
  gap: 12px 14px;
  margin: 12px 0 0;
  padding: 2px 0 4px;
  display: grid;
  grid-template-columns: repeat(2, auto);
  padding-left:0;
}
.usp-row.left .usp-badge{
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  font-weight: 700;
}
.usp-badge{ display:inline-block; padding:10px 16px; border-radius:999px; background:#f3f4f6; color:#111827; font-size:0.95rem; font-weight:600; white-space: nowrap; }

/* Right quotation form card */
.quote-form {
  background:#fff;
  border:1px solid #e9edf0;
  border-radius:16px;
  padding: 22px;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  display:grid;
  gap: 10px;
  height: 100%;
}
.quote-form label { display:grid; gap:6px; font-weight:700; color:#111827; }
.quote-form select,
.quote-form input,
.quote-form textarea {
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:10px;
  background:#fafafa;
}
.quote-form .row { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quote-form small { color:#6b7280; }
.quote-form .modern-btn { margin-top: 4px; }
.modern-btn{ display:inline-block; padding:10px 14px; border-radius:999px; border:0; cursor:pointer; }

@media (max-width: 991px){
  .quote-wrap{ grid-template-columns:1fr; }
  .quote-form .row{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .map-form-wrap{ grid-template-columns:1fr; }
  
  /* chips stay tidy on smaller screens */
  .usp-row.left{
    grid-template-columns: repeat(2, minmax(0, auto));
  }
}

/* ========= FAQ ========= */
.faq{ margin-top: 12px; }
.faq details{
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px; background:#ffffff;
  padding:10px 12px; margin:10px 0;
}
.faq summary{ cursor:pointer; font-weight:600; }

/* ========= Optional image block ========= */
.lfp-figure{
  border-radius:14px; overflow:hidden;
  border:1px solid rgba(0,0,0,.08); background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  max-width:1100px; margin:0 auto;
}
.lfp-figure img{ display:block; width:100%; height:auto; object-fit:contain; }
.lfp-figure figcaption{ padding:10px 12px; color:#4b5563; }

/* ========= Contact ========= */
.contact-section{ padding: 48px 0; }

/* Modern overflow safety without affecting layout */
:root { overflow-x: clip; }

/* Fade-in animations from bottom to top */
.animate-init {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-init.visible {
  opacity: 1;
  transform: translateY(0);
}
