/* SOLUTIONS */
.sol-feature { display:flex; gap:16px; align-items:flex-start; margin-bottom:20px; }
.sol-feature-icon { width:50px; height:50px; border-radius:12px; background:rgba(31,111,139,0.1); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.sol-feature h4 { font-size:0.95rem; font-weight:700; margin-bottom:4px; }
.sol-feature p { font-size:0.86rem; color:var(--text-medium); line-height:1.65; }

.steps-list { counter-reset:sol-step; display:flex; flex-direction:column; gap:20px; margin-top:24px; }
.step-item { display:flex; gap:16px; align-items:flex-start; }
.step-circle {
  width:42px; height:42px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font-weight:800; font-size:1rem;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  counter-increment:sol-step;
}
.step-item h4 { font-size:0.95rem; font-weight:700; margin-bottom:4px; }
.step-item p  { font-size:0.85rem; color:var(--text-medium); }

.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; }
.benefit-item { background:#fff; border-radius:14px; padding:22px; border:1px solid var(--border); text-align:center; transition:all 0.3s; }
.benefit-item:hover { border-color:var(--primary); box-shadow:0 8px 24px rgba(31,111,139,0.1); transform:translateY(-3px); }
.benefit-item .b-icon { font-size:2rem; margin-bottom:12px; }
.benefit-item h4 { font-size:0.9rem; font-weight:700; margin-bottom:6px; }
.benefit-item p  { font-size:0.82rem; color:var(--text-medium); }

.sol-compare { background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--border); margin-top:40px; }
.sol-compare table { width:100%; border-collapse:collapse; }
.sol-compare th { background:var(--primary-dark); color:#fff; padding:14px 20px; text-align:left; font-size:0.88rem; }
.sol-compare td { padding:14px 20px; border-bottom:1px solid var(--border); font-size:0.87rem; color:var(--text-medium); }
.sol-compare tr:last-child td { border-bottom:none; }
.sol-compare tr:nth-child(even) td { background:var(--light-bg); }
.check-yes { color:var(--green-tag); font-weight:700; }
.check-no  { color:#dc3545; font-weight:700; }

@media(max-width:768px){ .benefits-grid{grid-template-columns:1fr;} .sol-compare{overflow-x:auto;} }

/* ════════════════════════════
   PRODUCTS
════════════════════════════ */
.products-filter { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.filter-btn {
  padding:8px 20px;
  border-radius:50px;
  border:2px solid var(--border);
  background:#fff;
  font-size:0.85rem;
  font-weight:600;
  cursor:pointer;
  transition:all 0.25s;
  font-family:'Poppins',sans-serif;
}
.filter-btn:hover,.filter-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }

.product-card-full { background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--border); transition:all 0.3s; }
.product-card-full:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(0,0,0,0.1); }
.product-card-full .product-img { height:240px; overflow:hidden; }
.product-card-full .product-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.product-card-full:hover .product-img img { transform:scale(1.06); }
.product-body-full { padding:24px; }
.product-body-full h3 { font-size:1.05rem; font-weight:700; margin-bottom:8px; }
.product-body-full p  { font-size:0.87rem; color:var(--text-medium); line-height:1.7; margin-bottom:14px; }
.product-specs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.spec-tag { background:var(--light-bg); padding:4px 12px; border-radius:50px; font-size:0.77rem; font-weight:600; color:var(--text-medium); }

/* ════════════════════════════
   PROJECTS
════════════════════════════ */
.project-card { background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--border); transition:all 0.3s; }
.project-card:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(0,0,0,0.12); }
.project-img { height:230px; overflow:hidden; position:relative; }
.project-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.project-card:hover .project-img img { transform:scale(1.07); }
.project-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,37,53,0.8) 0%, transparent 60%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:20px;
  opacity:0; transition:opacity 0.35s;
}
.project-card:hover .project-overlay { opacity:1; }
.project-overlay-tag { font-size:0.78rem; font-weight:600; color:var(--accent); text-transform:uppercase; letter-spacing:1px; }
.project-body { padding:20px 22px; }
.project-body h3 { font-size:1rem; font-weight:700; margin-bottom:6px; }
.project-meta { display:flex; gap:16px; flex-wrap:wrap; }
.project-meta span { display:flex; align-items:center; gap:5px; font-size:0.82rem; color:var(--text-medium); font-weight:500; }

/* ════════════════════════════
   TESTIMONIALS
════════════════════════════ */
.testimonial-slider-wrap { position:relative; overflow:hidden; }
.testimonials-track { display:flex; gap:24px; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1); }
.testimonial-slide { flex:0 0 calc(33.333% - 16px); }
.testimonial-full {
  background:#fff;
  border-radius:20px;
  padding:32px;
  border:1px solid var(--border);
  height:100%;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
  transition:all 0.3s;
  position:relative;
}
.testimonial-full:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.1); }
.testimonial-full::before { content:'"'; position:absolute; top:16px; right:20px; font-size:7rem; font-family:'Playfair Display',serif; color:rgba(31,111,139,0.05); line-height:1; }

.slider-controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:36px; }
.slider-btn {
  width:44px; height:44px;
  border-radius:50%;
  border:2px solid var(--border);
  background:#fff;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem;
  transition:all 0.25s;
  color:var(--text-dark);
}
.slider-btn:hover { background:var(--primary); border-color:var(--primary); color:#fff; }
.slider-dots { display:flex; gap:8px; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--border); cursor:pointer; transition:all 0.25s; }
.dot.active { background:var(--primary); width:24px; border-radius:4px; }

.rating-summary {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:40px;
  align-items:center;
  background:var(--primary-dark);
  border-radius:20px;
  padding:40px 48px;
  color:#fff;
  margin-bottom:48px;
}
.rating-big h2 { font-size:5rem; font-weight:800; color:var(--accent); line-height:1; }
.rating-big p  { font-size:0.9rem; opacity:0.75; }
.rating-bars { display:flex; flex-direction:column; gap:10px; }
.rating-bar-row { display:flex; align-items:center; gap:12px; font-size:0.85rem; }
.rating-bar-label { width:14px; text-align:right; opacity:0.8; }
.rating-bar-track { flex:1; height:8px; background:rgba(255,255,255,0.1); border-radius:4px; overflow:hidden; }
.rating-bar-fill  { height:100%; background:var(--accent); border-radius:4px; }
.rating-bar-count { width:36px; opacity:0.65; }

@media(max-width:900px){ .testimonial-slide{flex:0 0 calc(50% - 12px);} .rating-summary{grid-template-columns:1fr;gap:24px;} }
@media(max-width:600px){ .testimonial-slide{flex:0 0 100%;} }

/* ════════════════════════════
   VIDEOS
════════════════════════════ */
.videos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.video-card { background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--border); transition:all 0.3s; }
.video-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.1); }
.video-thumb { position:relative; padding-bottom:56.25%; overflow:hidden; background:#000; }
.video-thumb iframe { position:absolute; inset:0; width:100%; height:100%; border:none; }
.video-body { padding:16px 18px; }
.video-body h3 { font-size:0.92rem; font-weight:700; margin-bottom:5px; }
.video-body p  { font-size:0.8rem; color:var(--text-medium); }
.video-tag { display:inline-block; padding:3px 10px; border-radius:50px; background:rgba(31,111,139,0.08); color:var(--primary); font-size:0.73rem; font-weight:600; margin-bottom:8px; }

.video-featured { grid-column:1 / -1; }
.video-featured .video-thumb { padding-bottom:40%; }
.video-featured .video-body h3 { font-size:1.1rem; }

@media(max-width:900px){ .videos-grid{grid-template-columns:repeat(2,1fr);} .video-featured .video-thumb{padding-bottom:56.25%;} }
@media(max-width:600px){ .videos-grid{grid-template-columns:1fr;} }

/* ════════════════════════════
   CONTACT
════════════════════════════ */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:start; }
.contact-info h2 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.4rem); font-weight:800; margin-bottom:12px; }
.contact-info p  { font-size:0.95rem; color:var(--text-medium); line-height:1.8; margin-bottom:32px; }

.contact-detail-list { display:flex; flex-direction:column; gap:20px; margin-bottom:36px; }
.contact-detail { display:flex; gap:14px; align-items:flex-start; }
.cd-icon { width:46px; height:46px; border-radius:12px; background:rgba(31,111,139,0.1); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; color:var(--primary); }
.cd-text strong { display:block; font-size:0.9rem; font-weight:700; margin-bottom:2px; }
.cd-text p { font-size:0.87rem; color:var(--text-medium); line-height:1.6; }

.map-embed { border-radius:16px; overflow:hidden; height:250px; border:1px solid var(--border); margin-top:24px; }
.map-embed iframe { width:100%; height:100%; border:none; }

.contact-form-wrap { background:#fff; border-radius:24px; padding:40px; box-shadow:0 8px 40px rgba(0,0,0,0.07); border:1px solid var(--border); }
.contact-form-wrap h3 { font-size:1.4rem; font-weight:800; margin-bottom:6px; }
.contact-form-wrap p  { font-size:0.88rem; color:var(--text-medium); margin-bottom:28px; }

.form-group { margin-bottom:20px; }
.form-row   { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group label { display:block; font-size:0.85rem; font-weight:600; color:var(--text-dark); margin-bottom:7px; }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%;
  padding:13px 16px;
  border-radius:10px;
  border:1.5px solid var(--border);
  font-family:'Poppins',sans-serif;
  font-size:0.9rem;
  color:var(--text-dark);
  background:#fff;
  transition:border-color 0.25s, box-shadow 0.25s;
  outline:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(31,111,139,0.1);
}
.form-group textarea { resize:vertical; min-height:130px; }
.form-error { font-size:0.78rem; color:#dc3545; margin-top:5px; display:none; }
.form-group.error .form-error   { display:block; }
.form-group.error input,
.form-group.error textarea { border-color:#dc3545; }
.form-group.success input,
.form-group.success textarea { border-color:var(--green-tag); }

.form-success {
  display:none;
  background:rgba(63,191,127,0.1);
  border:1.5px solid var(--green-tag);
  border-radius:12px;
  padding:20px 24px;
  margin-top:20px;
  color:var(--green-tag);
  font-weight:600;
  font-size:0.92rem;
  text-align:center;
}
.form-success.show { display:block; }

.gst-info-box { background:var(--light-bg); border-radius:14px; padding:20px 24px; border:1px solid var(--border); margin-top:24px; }
.gst-info-box h4 { font-size:0.88rem; font-weight:700; margin-bottom:8px; color:var(--text-dark); }
.gst-info-box p  { font-size:0.83rem; color:var(--text-medium); line-height:1.7; }

@media(max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
@media(max-width:600px){ .form-row{grid-template-columns:1fr;} .contact-form-wrap{padding:28px 20px;} }
