/* Mobile-first responsive overrides for Brilliant Roofing */

img,
video,
iframe {
  max-width: 100%;
}

#main-content {
  overflow-x: clip;
}

/* Hero */
.hero-bg-slider {
  min-height: clamp(420px, 85vh, 850px) !important;
}

@media (max-width: 767px) {
  .slider-area .te-single-slider .te-slider-container {
    padding: 96px 0 56px !important;
  }

  .slider-area .te-single-slider .te-slider-content-wrapper .te-slider-content .te-slider-title {
    font-size: clamp(26px, 7vw, 38px) !important;
    letter-spacing: -0.5px !important;
    word-break: break-word;
  }

  .slider-area .te-single-slider .te-slider-content-wrapper .te-slider-content .te-slider-short-desc {
    font-size: 16px !important;
    line-height: 26px !important;
  }

  .slider-area .te-single-slider .te-slider-content-wrapper .te-slider-content .te-slider-btn-wrapper {
    flex-direction: column;
    align-items: stretch !important;
    gap: 12px !important;
    padding-top: 24px !important;
  }

  .slider-area .te-single-slider .te-slider-content-wrapper .te-slider-content .te-slider-btn-wrapper .te-theme-btn {
    width: 100%;
    justify-content: center;
  }
}

/* About images */
@media (max-width: 991px) {
  .about-us-area .te-main-img-inner > img {
    height: clamp(260px, 50vw, 500px) !important;
  }

  .about-us-area .col-xl-7,
  .about-us-area .col-xxl-6:last-child {
    z-index: auto;
    margin-top: 24px;
  }

  .te-about-image-card.style-2 .te-main-img-wrapper .te-main-img-inner {
    padding-right: 0 !important;
  }

  .te-about-image-card.style-2 .te-main-img-wrapper .te-main-img-inner .te-another-image {
    position: relative !important;
    right: unset !important;
    top: unset !important;
    max-width: 100% !important;
    margin-top: 16px;
  }

  .te-about-image-card.style-3 .te-main-img-wrapper .te-main-img-inner .about-img-one {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 280px;
  }

  .te-about-image-card.style-3 .te-main-img-wrapper .te-main-img-inner .about-img-one > img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: cover;
  }

  .te-about-image-card .te-main-img-wrapper .te-main-img-inner > img.tilt-animate {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
  }
}

/* Promotional overlap (CallToAction after counters) */
@media (max-width: 991px) {
  .promotional-area.style-1 {
    margin-top: 0 !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .promotional-area.style-1 .row > [class*='col-']:last-child {
    margin-top: 30px;
  }

  .promotional-area.style-1 .promotional-image-wrapper .image {
    text-align: center !important;
  }
}

/* Testimonials */
@media (max-width: 991px) {
  .testimonial-bg.style-3 {
    height: auto !important;
    min-height: 180px;
  }

  .testimonial-slider-area.style-3 {
    margin-top: 0 !important;
  }

  .testimonial-slider-area.style-3 .te-testimonial-slider-wrapper {
    margin-left: 0 !important;
    padding: 0 12px;
  }
}

@media (max-width: 767px) {
  .testimonial-slider-area.style-3 .te-section-title.left-align-title {
    gap: 16px;
  }

  .testimonial-slider-area.style-3 .te-slider-btn-wrapper {
    justify-content: flex-start;
  }

  .single-testimonial.custom-width {
    margin: 8px 0 !important;
  }

  .te-testimonial-slider-wrapper .slick-list {
    margin: 0 !important;
  }

  .te-testimonial-slider-wrapper .slick-list .slick-slide {
    margin: 0 8px !important;
  }
}

/* Contact page */
@media (max-width: 991px) {
  .contact-info-area {
    margin-top: 24px !important;
  }

  .contact-info-area .row {
    row-gap: 20px;
  }
}

@media (max-width: 767px) {
  .te-map-widget iframe {
    height: 280px !important;
  }

  .contact-info-area .te-icon-card.style-2 {
    padding: 28px 20px;
  }
}

/* FAQ */
@media (max-width: 1199px) {
  .faq-area .row > .offset-xl-1 {
    margin-left: 0 !important;
  }

  .faq-area .col-xl-5 {
    margin-bottom: 30px;
  }

  .accordion-wrapper .te-accordion-list-item .te-accordion-head .te-accordion-title {
    font-size: 17px !important;
    line-height: 1.4 !important;
  }

  .accordion-wrapper .te-accordion-list-item .te-accordion-head {
    padding: 14px 16px !important;
  }

  .accordion-wrapper .te-accordion-list-item .te-accordion-body {
    margin: 0 12px !important;
  }
}

/* Service pages */
@media (max-width: 991px) {
  .service-section-row.flex-row-reverse {
    flex-direction: column !important;
  }

  .service-section-row > [class*='col-']:not(:last-child) {
    margin-bottom: 24px;
  }

  .service-section-row img.tilt-animate,
  .about-us-area .te-about-image-card img.tilt-animate {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px;
  }
}

/* Bottom CTAs */
@media (max-width: 991px) {
  .call-to-action-area .col-lg-4.text-lg-end {
    text-align: center !important;
    margin-top: 20px;
  }

  .call-to-action-area .te-theme-btn,
  .te-btn-wrappper .te-theme-btn {
    width: 100%;
    max-width: 320px;
  }

  .te-btn-wrappper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .te-btn-wrappper .te-theme-btn.me-3 {
    margin-right: 0 !important;
  }
}

/* Counters & process cards */
@media (max-width: 575px) {
  .te-counter-card .te-counter-item .number {
    font-size: 30px !important;
  }

  .counter-up-area.style-1 {
    padding: 50px 0 !important;
  }

  .te-section-title .title {
    font-size: 26px !important;
    line-height: 34px !important;
    letter-spacing: -0.5px !important;
  }

  .te-section-title .short-title {
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }

  .page-breadcrumb-area {
    padding: 70px 0 !important;
  }

  .page-heading .page-title {
    font-size: clamp(24px, 7vw, 32px) !important;
    line-height: 1.3 !important;
  }
}

.highlight-icon-image {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
}

@media (max-width: 767px) {
  .te-info-card.style-5 .te-icon {
    width: 96px !important;
    height: 96px !important;
    font-size: 44px !important;
  }

  .te-info-card.style-5 .te-title-wrapper .te-title {
    font-size: 20px !important;
  }

  .te-process-step-area .te-info-card.style-5 {
    padding: 20px 16px;
  }
}

/* Footer */
@media (max-width: 767px) {
  .footer-bottom-area .te-footer-bottom-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .te-footer-widget {
    margin-bottom: 24px;
  }

  .te-footer-widget .te-footer-logo img {
    max-width: 160px;
    height: auto;
  }
}

/* Header menu open */
body.br-nav-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .contact-form-area {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .contact-form-area .te-theme-btn {
    width: 100%;
    justify-content: center;
  }

  .te-comment-form input,
  .te-comment-form select,
  .te-comment-form textarea {
    font-size: 16px;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .te-theme-btn,
  .br-header__cta {
    min-height: 44px;
  }

  .te-list-item.style-1 .text {
    word-break: break-word;
  }
}

.slick-slider {
  overflow: hidden;
}
