/* ==========================================================
   F.G.B LTD - custom overrides on top of the Corpox theme
   ========================================================== */
html { scroll-behavior: smooth; }
section[id], div[id].anchor-target { scroll-margin-top: 90px; }

/* Logo sizing (SVG logo) */
.tmp-header .logo img,
.popup-mobile-menu .logo img,
.inverweb-side-bar-close .logo-side img,
.tmp-footer .logo img { height: 52px; width: auto; max-width: none; }

/* Service cards: product icons */
.service__style--1 .icon img { width: 72px; height: 72px; }

/* About images keep portrait crop */
.about-2-thumbnail-left-wrapper .single-thumbnail img { aspect-ratio: 582 / 760; object-fit: cover; width: 100%; }

/* Product category cards */
.single-project-style-three .thumbnail img { aspect-ratio: 1260 / 806; object-fit: cover; width: 100%; }

/* Service list images */
.thumbnail-service-list img { aspect-ratio: 846 / 420; object-fit: cover; width: 100%; }

/* Wide image band (replaces the demo video) */
.fgb-image-band { position: relative; border-radius: 20px; overflow: hidden; }
.fgb-image-band img { width: 100%; height: 520px; object-fit: cover; display: block; }
.fgb-image-band .band-content {
  position: absolute; inset: auto 0 0 0; padding: 40px 50px;
  background: linear-gradient(0deg, rgba(14,14,44,.85) 0%, rgba(14,14,44,0) 100%);
  display: flex; flex-wrap: wrap; gap: 30px; justify-content: space-between; align-items: flex-end;
}
.fgb-image-band .band-content h3 { color: #fff; margin: 0; max-width: 560px; }
.fgb-stats { display: flex; gap: 40px; flex-wrap: wrap; }
.fgb-stats .stat h4 { color: #fff; margin: 0; font-size: 34px; }
.fgb-stats .stat span { color: rgba(255,255,255,.75); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
@media (max-width: 767px) {
  .fgb-image-band img { height: 460px; }
  .fgb-image-band .band-content { padding: 25px; }
  .fgb-stats { gap: 22px; }
  .fgb-stats .stat h4 { font-size: 26px; }
}

/* FAQ image */
.tmp-faq-area .thumbnail img { aspect-ratio: 1606 / 1280; object-fit: cover; }

/* Quote form */
.aapoiment-left-area-thumbnail img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: 20px; }
.appoinment-form-wrapper select {
  width: 100%; height: 60px; padding: 0 20px; border-radius: 10px;
  border: 1px solid var(--color-border, #e6e6f0); background: transparent;
  color: var(--color-body, #6c6c80); font-size: 16px; appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 24px) 27px, calc(100% - 18px) 27px; background-size: 6px 6px; background-repeat: no-repeat;
}
.fgb-form-note { font-size: 14px; margin-top: 12px; margin-bottom: 0; }
.fgb-form-note.success { color: #12b886; }

/* Contact info cards under the quote form */
.fgb-contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.fgb-contact-card { display: flex; gap: 14px; align-items: flex-start; padding: 22px; border-radius: 14px; background: var(--color-card, #f5f5fb); }
.fgb-contact-card i { font-size: 22px; color: var(--color-primary); margin-top: 2px; }
.fgb-contact-card h6 { margin: 0 0 4px; font-size: 16px; }
.fgb-contact-card a, .fgb-contact-card p { margin: 0; font-size: 15px; line-height: 1.5; word-break: break-word; color: var(--color-body); }
.fgb-contact-card a:hover { color: var(--color-primary); }
@media (max-width: 991px) { .fgb-contact-cards { grid-template-columns: 1fr; } }

/* Footer contact list */
.fgb-footer-contact { list-style: none; padding: 0; margin: 0; }
.fgb-footer-contact li { display: flex; gap: 10px; margin: 0 0 12px; align-items: flex-start; }
.fgb-footer-contact li i { color: var(--color-primary); margin-top: 5px; }
.fgb-footer-contact a, .fgb-footer-contact span { color: var(--color-body); }
.fgb-footer-contact a:hover { color: var(--color-primary); }
.fgb-company-reg { font-size: 14px; opacity: .8; }

/* Hero badge row */
.fgb-hero-points { display: flex; flex-wrap: wrap; gap: 14px 28px; justify-content: center; margin-top: 40px; }
.fgb-hero-points span { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--color-heading); }
.fgb-hero-points i { color: var(--color-primary); }

.fgb-footer-contact li, .fgb-footer-contact a, .fgb-footer-contact span { font-size: 16px; line-height: 1.6; }
