/* =====================================================
   Timnath Painting — Custom Overrides v2
   ===================================================== */

/* ── Fix WOW.js invisible elements ─────────────────── */
.wow {
  visibility: visible !important;
}

/* ── Hero Slider ────────────────────────────────────── */
.main-slider-one__bg {
  background-size: cover;
  background-position: center center;
}

/* Strong dark gradient overlay — text always readable */
.main-slider-one__item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.45) 50%,
    rgba(0,0,0,0.15) 100%
  );
  z-index: 1;
}
.main-slider-one .container,
.main-slider-one__content {
  position: relative;
  z-index: 2;
}

/* ── About section ──────────────────────────────────── */
.about-one__thumb__item img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  display: block;
}

/* Funfact stat box — anchor to bottom-left of image */
.about-one__funfact.count-box {
  position: absolute;
  bottom: 30px;
  left: -20px;
  z-index: 2;
  border-radius: 8px;
  padding: 20px 24px;
  min-width: 160px;
  text-align: center;
}

/* ── Service section background overlay ─────────────── */
.service-one {
  position: relative;
}
.service-one__bg {
  background-size: cover;
  background-position: center;
}

/* ── Service card images ─────────────────────────────── */
.service-one__item__thumb img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
}

/* ── Why Choose Us images ────────────────────────────── */
.why-choose-one__thumb img {
  width: 100%;
  max-height: 500px;
  height: 440px;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px;
  display: block;
}
.why-choose-one__thumb-two img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  display: block;
}

/* ── Page header banner ──────────────────────────────── */
.page-header {
  background-size: cover;
  background-position: center 35%;
  position: relative;
}
.page-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.58);
}
.page-header .container {
  position: relative;
  z-index: 2;
}

/* ── Feature trust boxes ────────────────────────────── */
.feature-two__item {
  text-align: center;
  padding: 24px 16px;
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 8px;
  background: #fff;
  transition: box-shadow 0.2s ease;
}
.feature-two__item:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* ── City area buttons — visible on white background ─── */
a.wallox-btn--border {
  color: #2e2a20 !important;
  border-color: #2e2a20 !important;
  background: transparent;
}
a.wallox-btn--border:hover {
  color: #fff !important;
  background: #2e2a20 !important;
}
/* Hero border buttons stay light */
.main-slider-one a.wallox-btn--border {
  color: #fff !important;
  border-color: #fff !important;
}
.main-slider-one a.wallox-btn--border:hover {
  color: #2e2a20 !important;
  background: #fff !important;
}

/* ── Footer logo sizing ──────────────────────────────── */
.main-footer__logo img,
.logo-wallox img {
  max-width: 160px;
  height: auto;
}

/* ── Topbar responsive ───────────────────────────────── */
@media (max-width: 991px) {
  .topbar-two__list {
    display: none;
  }
}

/* =====================================================
   MOBILE OVERRIDES (max-width: 767px)
   ===================================================== */
@media (max-width: 767px) {

  /* Hide decorative shape blobs */
  .about-one__shape,
  .about-one__shape-two,
  .main-slider-one__element-one,
  .main-slider-one__element-two,
  .main-slider-one__element-three,
  .why-choose-one__thumb-box,
  .why-choose-one__thumb-box-two {
    display: none !important;
  }

  /* Mobile about image */
  .about-one__thumb__item img {
    height: 280px;
  }

  /* Funfact box — stack below image on mobile */
  .about-one__funfact.count-box {
    position: static !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    border-radius: 8px;
    padding: 14px 20px;
    width: auto;
  }

  /* Mobile hero — clean above-fold */
  .main-slider-one__content {
    padding: 30px 0 24px;
  }
  .main-slider-one__title__text {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }
  .main-slider-one__sub-title {
    font-size: 12px !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.5px;
  }
  .main-slider-one__btn {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
  }
  .main-slider-one__btn .wallox-btn {
    padding: 10px 18px !important;
    font-size: 13px !important;
    flex: 0 0 auto;
  }

  /* Why choose us mobile stack */
  .why-choose-one__right {
    margin-top: 24px;
  }
  .why-choose-one__thumb img,
  .why-choose-one__thumb-two img {
    height: 220px;
    margin-bottom: 12px;
  }

  /* Service card images mobile */
  .service-one__item__thumb img {
    height: 200px;
  }
}

/* =====================================================
   TABLET OVERRIDES (768–1024px)
   ===================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  .main-slider-one__title__text {
    font-size: 42px !important;
  }
  .about-one__thumb__item img {
    height: 380px;
  }
}

/* =====================================================
   FIX: GSAP split-text letter spacing issue
   bw-split-in-right / bw-split-in-up use GSAP SplitText
   which wraps each char in a span — force no extra spacing
   ===================================================== */
.bw-split-in-right .char,
.bw-split-in-up .char,
[class*="bw-split"] .char {
  letter-spacing: normal !important;
}

/* Force headings to render normally even before GSAP runs */
.sec-title__title,
.sec-title__tagline,
.page-header__title,
h1, h2, h3, h4, h5 {
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

/* Prevent GSAP from making headings invisible before animation */
.bw-split-in-right,
.bw-split-in-up {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* =====================================================
   MOBILE HERO — stronger premium feel
   ===================================================== */
@media (max-width: 767px) {
  /* Full-bleed hero on mobile */
  .main-slider-one__item {
    min-height: 520px;
    display: flex;
    align-items: center;
  }

  .main-slider-one__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
  }

  .main-slider-one__content {
    padding: 60px 0 40px;
  }

  .main-slider-one__sub-title {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
    margin-bottom: 12px !important;
    opacity: 0.9;
  }

  .main-slider-one__title__text {
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 4px;
  }

  .main-slider-one__title__box {
    overflow: visible !important;
  }

  .main-slider-one__btn {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  /* Make primary CTA pop more on mobile */
  .main-slider-one .wallox-btn--base {
    font-size: 14px !important;
    padding: 12px 22px !important;
    font-weight: 700 !important;
  }

  /* Topbar hidden on mobile — reduce top clutter */
  .topbar-two {
    display: none !important;
  }
}

/* =====================================================
   SECTION RHYTHM + SPACING TIGHTENING
   ===================================================== */

/* About section — tighter padding */
.about-one {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

/* Remove excessive vertical whitespace between sections */
.feature-two.feature-two--one {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Section titles — remove bottom margin inflation */
.sec-title {
  margin-bottom: 40px !important;
}

.sec-title__tagline {
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  margin-bottom: 8px !important;
}

/* =====================================================
   FOOTER — more local, less generic
   ===================================================== */
.main-footer__top__inner {
  padding: 30px 0 !important;
}

.main-footer__copyright {
  font-size: 13px;
  opacity: 0.7;
}

/* Local trust line in footer */
.footer-widget__text {
  font-size: 14px;
  line-height: 1.7;
  opacity: 0.85;
}

/* =====================================================
   SERVICE CAROUSEL — less cluttered on mobile
   ===================================================== */
@media (max-width: 575px) {
  /* Single card at a time on small mobile */
  .service-one__carousel .owl-item {
    min-width: 100% !important;
  }
  .service-one__item__thumb img {
    height: 220px;
  }
  .service-one__item__content {
    padding: 16px 20px !important;
  }
}

/* =====================================================
   CONTACT SECTION — more trustworthy feel
   ===================================================== */
.testimonials-contact .form-one__control input,
.testimonials-contact .form-one__control textarea,
.testimonials-contact .form-one__control select {
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  border-radius: 4px;
  padding: 12px 16px !important;
  width: 100%;
}

.testimonials-contact .form-one__control input::placeholder,
.testimonials-contact .form-one__control textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}

/* =====================================================
   FIX: GSAP SplitText individual character divs
   Each char gets its own inline-block div — collapse them
   ===================================================== */
.sec-title__title > div,
.sec-title__title > div > div,
.page-header__title > div,
.page-header__title > div > div,
h1 > div, h2 > div, h3 > div,
h1 > div > div, h2 > div > div, h3 > div > div {
  display: inline !important;
  position: relative !important;
  letter-spacing: normal !important;
}

/* Wallox GSAP split classes — force readable */
.bw-split-in-right > div,
.bw-split-in-right > div > div,
.bw-split-in-up > div,
.bw-split-in-up > div > div {
  display: inline !important;
  letter-spacing: normal !important;
}

/* =====================================================
   FIX: Hero headline color — must be white on dark overlay
   ===================================================== */
.main-slider-one__title__text {
  color: #ffffff !important;
}
.main-slider-one__sub-title {
  color: rgba(255,255,255,0.9) !important;
}

/* =====================================================
   FIX: About section funfact — better mobile positioning
   ===================================================== */
@media (max-width: 991px) {
  .about-one__funfact.count-box {
    position: static !important;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    border-radius: 8px;
    padding: 16px 20px;
    width: fit-content;
  }
}

/* =====================================================
   Service hub page — stronger visual hierarchy
   ===================================================== */
.page-header__title {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

.wallox-breadcrumb a,
.wallox-breadcrumb span {
  color: rgba(255,255,255,0.85) !important;
}

/* =====================================================
   Why choose us — fix text color on light background
   ===================================================== */
.why-choose-one__top__text,
.why-choose-one__feature__text {
  color: #4a4540 !important;
}

/* =====================================================
   Footer — more local feel
   ===================================================== */
.main-footer__middle {
  padding: 50px 0 !important;
}

.footer-widget__title {
  font-size: 18px !important;
  margin-bottom: 20px !important;
}

.footer-widget__links li {
  margin-bottom: 8px !important;
}

.footer-widget__info li {
  margin-bottom: 16px !important;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* =============================================================
   MOBILE POLISH PASS — 2026-04-22 Claudia checkin items
   ============================================================= */

/* ── 1. MOBILE HERO — Premium residential, clean first screen ─ */
@media (max-width: 991px) {
  /* Hide topbar on mobile — clean first screen */
  .topbar-two {
    display: none !important;
  }

  /* Hero min-height and overlay */
  .main-slider-one__item {
    min-height: 540px;
    display: flex;
    align-items: center;
  }

  /* Stronger overlay on mobile for text contrast */
  .main-slider-one__item::before {
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.30) 0%,
      rgba(0,0,0,0.70) 40%,
      rgba(0,0,0,0.80) 100%
    ) !important;
  }

  .main-slider-one__content {
    padding: 80px 0 60px;
    position: relative;
    z-index: 2;
  }

  /* Subtitle tag above headline */
  .main-slider-one__sub-title {
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: #DF9E42 !important;
    margin-bottom: 14px !important;
    font-weight: 600;
  }

  /* Big bold headline */
  .main-slider-one__title__text {
    font-size: 36px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 6px !important;
    letter-spacing: -0.5px !important;
  }

  /* Headline box stacking */
  .main-slider-one__title__box {
    display: block;
    overflow: visible !important;
  }

  /* CTA buttons — clear flex row */
  .main-slider-one__btn {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Primary CTA larger on mobile */
  .main-slider-one .wallox-btn--base {
    font-size: 15px !important;
    padding: 14px 24px !important;
    font-weight: 700 !important;
    min-width: 160px;
    text-align: center;
  }

  .main-slider-one .wallox-btn--border {
    font-size: 14px !important;
    padding: 13px 20px !important;
    text-align: center;
  }

  /* Hide decorative floating elements on mobile */
  .main-slider-one__element-one,
  .main-slider-one__element-two,
  .main-slider-one__element-three {
    display: none !important;
  }

  /* Dots closer to content */
  .main-slider-one .owl-dots {
    bottom: 20px !important;
  }
}

/* ── 2. SERVICE CAROUSEL — Simplified mobile view ───────────── */
@media (max-width: 767px) {
  /* Show exactly 1 card on mobile */
  .service-one__carousel.owl-carousel .owl-item {
    min-width: 100% !important;
  }

  .service-one__item__thumb {
    height: 220px;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
  }

  .service-one__item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px 8px 0 0;
  }

  .service-one__item__content {
    padding: 20px !important;
  }

  .service-one__item__title {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }

  .service-one__item__text {
    font-size: 14px !important;
    line-height: 1.6;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ── 3. ABOUT SECTION — Colorado's Climate block ────────────── */
@media (max-width: 991px) {
  .about-one {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* Stack cleanly: image first, then text */
  .about-one .row {
    flex-direction: column;
  }

  /* Full-width image on mobile */
  .about-one__thumb {
    margin-bottom: 40px;
  }

  /* Constrain to clean column */
  .about-one__content {
    padding: 0 !important;
  }

  /* Funfact pill — inline, not floating */
  .about-one__funfact {
    position: static !important;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 14px 20px !important;
    border-radius: 8px;
    width: auto;
  }

  .about-one__funfact .count-box__number,
  .about-one__funfact .odometer {
    font-size: 32px !important;
  }

  /* Vertical accent line — hide on mobile */
  .about-one__thumb__item--two,
  .about-one__thumb__bg {
    display: none !important;
  }

  /* Bullets readable on mobile */
  .about-one__content__list li {
    font-size: 14px;
    padding-left: 20px;
    margin-bottom: 8px;
  }
}

/* ── 4. SECTION RHYTHM ───────────────────────────────────────── */
/* Consistent heading hierarchy everywhere */
.sec-title__tagline {
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
  opacity: 0.8;
}

.sec-title__title {
  font-size: clamp(26px, 4vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
}

/* Feature bars — tighter on mobile */
@media (max-width: 767px) {
  .feature-two__item {
    padding: 20px 16px !important;
  }
  .feature-two__item__title {
    font-size: 14px !important;
  }
}

/* ── 5. FOOTER — Local, trustworthy, readable on mobile ─────── */
@media (max-width: 767px) {
  .main-footer__middle {
    padding: 40px 0 20px !important;
  }

  .footer-widget {
    margin-bottom: 32px;
  }

  .footer-widget__title {
    font-size: 16px !important;
    margin-bottom: 16px !important;
    font-weight: 700;
  }

  /* Phone number — larger and tappable */
  .footer-widget__info a[href^="tel"] {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #DF9E42 !important;
  }

  .footer-widget__links li {
    margin-bottom: 10px !important;
  }

  .footer-widget__links a {
    font-size: 14px !important;
  }

  .main-footer__copyright {
    font-size: 12px;
    text-align: center;
    padding: 16px 0;
  }

  .footer-widget__text {
    font-size: 13px;
    line-height: 1.7;
  }
}

/* Footer contact info list — clear layout */
.footer-widget__info li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px !important;
  font-size: 14px;
  line-height: 1.5;
}

.footer-widget__info li i {
  color: #DF9E42;
  flex-shrink: 0;
  margin-top: 3px;
}

/* ── 6. CONTACT SECTION MOBILE ──────────────────────────────── */
@media (max-width: 767px) {
  .testimonials-contact {
    padding: 50px 0 !important;
  }

  .testimonials-contact .sec-title__title {
    font-size: 26px !important;
  }

  .form-one__control input,
  .form-one__control textarea,
  .form-one__control select {
    font-size: 15px !important;
    padding: 12px 14px !important;
  }

  /* Phone number in contact block — big and tappable */
  .testimonials-contact a[href^="tel"] {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #DF9E42 !important;
    display: block;
    margin-bottom: 8px;
  }
}

/* =============================================================
   CRITICAL: Mobile header — logo too tall, header too large
   ============================================================= */
@media (max-width: 991px) {
  /* Constrain header to ~65px total */
  .main-header {
    padding: 10px 0 !important;
    min-height: 0 !important;
  }

  .main-header__inner {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 0 !important;
  }

  /* Constrain logo to 40px tall max */
  .main-header .logo-wallox img,
  .main-header .site-logo img,
  .main-header img.logo,
  .main-header a img {
    max-height: 44px !important;
    width: auto !important;
    max-width: 140px !important;
    object-fit: contain;
    display: block;
  }

  /* Hamburger button — right side */
  .mobile-nav__toggler,
  .main-header__toggler,
  [data-bs-target] {
    padding: 8px !important;
    font-size: 22px !important;
  }

  /* Header sticky transition */
  .sticky-header.sticky {
    padding: 8px 0 !important;
  }
}

/* =============================================================
   SERVICE SECTION — Static grid on mobile (no carousel)
   ============================================================= */
@media (max-width: 767px) {
  /* Override owl carousel to show as static grid */
  .service-one__carousel {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  /* Owl carousel internals — flatten to grid */
  .service-one__carousel .owl-stage-outer,
  .service-one__carousel .owl-stage {
    display: contents !important;
  }

  .service-one__carousel .owl-item {
    display: block !important;
    width: 100% !important;
    float: none !important;
    transform: none !important;
  }

  /* Show all 6 items — no hiding */
  .service-one__carousel .owl-item.cloned {
    display: none !important;
  }

  /* Owl nav/dots hide on mobile */
  .service-one__carousel .owl-nav,
  .service-one__carousel .owl-dots {
    display: none !important;
  }

  /* Card layout */
  .service-one__item {
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  /* Circular thumb — clean square crop instead */
  .service-one__item__thumb {
    height: 130px !important;
    border-radius: 0 !important;
  }

  .service-one__item__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    clip-path: none !important;
  }

  .service-one__item__content {
    padding: 12px !important;
  }

  .service-one__item__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
  }

  .service-one__item__text {
    display: none !important;
  }

  .service-one__item__btn {
    font-size: 12px !important;
    padding: 6px 0 !important;
  }
}

/* =============================================================
   ABOUT SECTION — Cleaner composition on mobile
   ============================================================= */
@media (max-width: 991px) {
  /* Remove gimmicky overlay/accent image */
  .about-one__thumb__item--two,
  .about-one__thumb__bg,
  .about-one__thumb__shape {
    display: none !important;
  }

  /* Constrain the main thumb image */
  .about-one__thumb__item.real-image {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .about-one__thumb__item.real-image img {
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 8px !important;
  }

  /* Text column */
  .about-one__content {
    margin-top: 0 !important;
  }

  .about-one__content .sec-title__title {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  .about-one__content p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  /* List items */
  .about-one__content__list li {
    font-size: 14px !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  /* Funfact — bottom of section, not floating */
  .about-one__funfact {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding: 14px 20px !important;
    border-radius: 8px !important;
  }

  /* Section overall */
  .about-one {
    padding: 50px 0 !important;
  }
}

/* =============================================================
   HERO — Further cleanup
   ============================================================= */
@media (max-width: 767px) {
  /* Ensure hero fills from below the shrunken header */
  .main-slider-one {
    margin-top: 0;
  }

  .main-slider-one__item {
    min-height: 500px !important;
    padding-top: 0 !important;
  }

  /* Content starts slightly lower than center */
  .main-slider-one__content {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  /* Subtitle pill */
  .main-slider-one__sub-title {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    padding: 6px 12px !important;
    background: rgba(223,158,66,0.15) !important;
    border: 1px solid rgba(223,158,66,0.4) !important;
    border-radius: 20px !important;
    display: inline-block !important;
    margin-bottom: 16px !important;
  }

  /* Main headline — bold and large */
  .main-slider-one__title__box {
    margin-bottom: 4px !important;
  }

  .main-slider-one__title__text {
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #fff !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }

  /* CTAs */
  .main-slider-one__btn {
    margin-top: 22px !important;
    gap: 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .main-slider-one__btn .wallox-btn {
    flex: 1 1 auto !important;
    text-align: center !important;
    min-width: 130px !important;
    max-width: 200px !important;
    font-size: 14px !important;
    padding: 13px 20px !important;
    font-weight: 700 !important;
  }
}

/* =============================================================
   HOMEPAGE RHYTHM — Final spacing pass
   ============================================================= */

/* Feature bars — tighter, consistent */
.feature-two.feature-two--one {
  padding: 30px 0 !important;
}

.feature-two__item {
  padding: 24px 20px !important;
}

/* Why Choose Us — tighter */
.why-choose-one {
  padding: 70px 0 !important;
}

@media (max-width: 767px) {
  .why-choose-one {
    padding: 50px 0 !important;
  }

  /* Stack progress bars readable */
  .why-choose-one__feature__item {
    margin-bottom: 16px !important;
  }

  /* Image hidden on mobile — show content full width */
  .why-choose-one__thumb {
    display: none !important;
  }
}

/* Service section wrapper */
.service-one {
  padding: 70px 0 !important;
}

@media (max-width: 767px) {
  .service-one {
    padding: 50px 0 !important;
  }
}

/* Testimonials/contact section */
.testimonials-contact.testimonials-contact--home {
  padding: 70px 0 !important;
}

@media (max-width: 767px) {
  .testimonials-contact.testimonials-contact--home {
    padding: 50px 0 !important;
  }

  /* Contact right column — move below form */
  .testimonials-contact__right {
    margin-top: 30px !important;
  }

  /* Phone number — prominent */
  .testimonials-contact__right a[href^="tel"] {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #DF9E42 !important;
    display: block !important;
    margin-bottom: 10px !important;
  }

  /* Trust badges */
  .testimonials-contact__right p[style*="italic"] {
    font-size: 13px !important;
    color: rgba(255,255,255,0.7) !important;
    margin-top: 16px !important;
  }
}

/* =============================================================
   CRITICAL FIX: Header logo height on mobile
   The logo-white.png is 1856px tall — must constrain
   ============================================================= */
@media (max-width: 991px) {
  /* Target the exact header logo */
  .main-header__logo img,
  .main-header .logo-wallox img,
  .main-header__logo a img {
    height: 42px !important;
    width: auto !important;
    max-width: 150px !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Shrink header inner to minimal height */
  .main-header__inner {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    min-height: 0 !important;
  }

  .main-header {
    padding: 0 !important;
  }

  /* Mobile hamburger lines */
  .mobile-nav__btn span {
    display: block !important;
    width: 24px;
    height: 2px;
    background: #fff;
    margin: 5px 0;
  }

  /* CTA button in header — hide on mobile */
  .main-header__right__link {
    display: none !important;
  }
}

/* =============================================================
   FINAL POLISH PASS — 03:13 CDT Claudia direction
   Remove template ornaments, tighten mobile, improve hero
   ============================================================= */

/* ── REMOVE ALL TEMPLATE DECORATIVE ELEMENTS ──────────────── */

/* Hide ALL floating shape/blob elements globally */
.main-slider-one__element-one,
.main-slider-one__element-two,
.main-slider-one__element-three,
.main-slider-one__element-four,
.sec-title__img,
.sec-title__shape,
.feature-two__shape,
.about-one__shape,
.about-one__shape--two,
.about-one__thumb__shape,
.about-one__thumb__item--two,
.why-choose-one__shape,
.why-choose-one__bg,
.service-one__shape,
.service-one__bg,
.testimonials-contact__shape,
[class*="__shape"],
[class*="__bg-shape"],
[class*="__element"] {
  display: none !important;
}

/* ── HERO — Clean, painter-at-work feel ────────────────────── */
/* Hero overlay — lighter gradient so bright house photos stay visible */
.main-slider-one__item::before {
  background: linear-gradient(
    135deg,
    rgba(0,0,0,0.55) 0%,
    rgba(46,42,32,0.45) 50%,
    rgba(0,0,0,0.25) 100%
  ) !important;
}

/* Sub-title styling */
.main-slider-one__sub-title {
  background: rgba(223,158,66,0.18) !important;
  border: 1px solid rgba(223,158,66,0.5) !important;
  border-radius: 20px !important;
  padding: 6px 16px !important;
  display: inline-block !important;
  color: #DF9E42 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  margin-bottom: 16px !important;
}

/* ── TRUST BARS — Tighter on mobile ──────────────────────── */
@media (max-width: 767px) {
  .feature-two.feature-two--one {
    padding: 20px 0 !important;
  }

  .feature-two__item {
    padding: 14px 12px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
  }

  .feature-two__item:last-child {
    border-bottom: none;
  }

  .feature-two__item__icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
    flex-shrink: 0;
  }

  .feature-two__item__title {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  /* Make trust bars horizontal list on mobile */
  .feature-two__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
}

/* ── ABOUT — Remove ALL gimmicky vertical elements ─────── */
.about-one__thumb__item:not(:first-child),
.about-one__thumb__bg,
.about-one__thumb__item--two,
.about-one__count {
  display: none !important;
}

/* Funfact — fully suppressed on mobile (it's decorative) */
@media (max-width: 767px) {
  .about-one__funfact,
  .count-box {
    display: none !important;
  }
}

/* ── SERVICES SECTION — Larger cards on mobile ─────────── */
@media (max-width: 767px) {
  /* Reset grid to single column for bigger cards */
  .service-one__carousel {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .service-one__item__thumb {
    height: 200px !important;
  }

  .service-one__item__thumb img {
    height: 200px !important;
    object-fit: cover !important;
    clip-path: none !important;
    border-radius: 8px 8px 0 0 !important;
  }

  .service-one__item__title {
    font-size: 18px !important;
  }

  /* Show text on mobile for single column */
  .service-one__item__text {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Limit to 3 visible items — hide others */
  .service-one__carousel .owl-item:nth-child(n+4) {
    display: none !important;
  }
}

/* ── CONTACT SECTION — Single column mobile ───────────── */
@media (max-width: 767px) {
  /* Stack form and contact info vertically */
  .testimonials-contact__inner {
    flex-direction: column !important;
    display: flex !important;
  }

  .testimonials-contact__left,
  .testimonials-contact__right {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .testimonials-contact__right {
    margin-top: 30px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
  }

  /* Form inputs full width */
  .form-one__group {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  /* CTA button full width */
  .form-one__btn {
    width: 100% !important;
  }

  .form-one__btn .wallox-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ── HEADING COPY SPACING ─────────────────────────────── */
/* Tighter heading/tagline/body hierarchy throughout */
.sec-title {
  margin-bottom: 36px !important;
}

.sec-title__tagline {
  margin-bottom: 8px !important;
}

.sec-title__title {
  margin-bottom: 14px !important;
}

/* Sub-text under headings */
.sec-title__text {
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 560px;
}

/* ── FOOTER — Clean mobile ───────────────────────────── */
@media (max-width: 767px) {
  /* Stack footer columns */
  .main-footer__middle .row > [class*="col-"] {
    margin-bottom: 28px !important;
  }

  /* Separator line between footer cols */
  .main-footer__bottom {
    padding: 16px 0 !important;
    text-align: center !important;
  }

  /* Social links */
  .main-footer__social a {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
    line-height: 34px !important;
  }
}

/* =============================================================
   SERVICE GRID — static HTML, no OWL JS dependency
   ============================================================= */
.service-one__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 0;
  margin: 0;
}

@media (max-width: 991px) {
  .service-one__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 575px) {
  .service-one__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Service card in static grid */
.service-one__grid .service-one__item {
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-one__grid .service-one__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.13);
}

/* Image — clean rectangle, not circle */
.service-one__grid .service-one__item__thumb {
  width: 100%;
  height: 200px;
  overflow: hidden;
  border-radius: 0;
  clip-path: none !important;
  shape-outside: none !important;
}

.service-one__grid .service-one__item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  clip-path: none !important;
  border-radius: 0;
  transition: transform 0.4s ease;
}

.service-one__grid .service-one__item:hover .service-one__item__thumb img {
  transform: scale(1.04);
}

/* Content */
.service-one__grid .service-one__item__content {
  padding: 20px 22px !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.service-one__grid .service-one__item__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  line-height: 1.3;
}

.service-one__grid .service-one__item__title a {
  color: #2E2A20;
  text-decoration: none;
}

.service-one__grid .service-one__item__title a:hover {
  color: #DF9E42;
}

.service-one__grid .service-one__item__text {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #666 !important;
  display: block !important;
  flex: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.service-one__grid .service-one__item__btn {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 600;
  color: #DF9E42;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.service-one__grid .service-one__item__btn:hover {
  gap: 10px;
}

/* =============================================================
   HERO OVERLAY — Brighter, painter-first
   ============================================================= */
/* Lighter overlay for bright house/painter images */
.main-slider-one__item::before {
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.40) 50%,
    rgba(0,0,0,0.15) 100%
  ) !important;
}

/* Hero BG images — position painter/house at center-right */
.main-slider-one__bg {
  background-position: center right !important;
  background-size: cover !important;
}

/* =============================================================
   HERO TEXT — Cleaner, bigger, more impactful
   ============================================================= */
.main-slider-one__title__text {
  font-size: 56px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.05 !important;
  letter-spacing: -1px !important;
}

@media (max-width: 767px) {
  .main-slider-one__title__text {
    font-size: 40px !important;
    letter-spacing: -0.5px !important;
  }
  
  /* Content left-aligned, easier to read */
  .main-slider-one__content {
    text-align: left !important;
  }
}

/* Hero sub-title */
.main-slider-one__sub-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #DF9E42 !important;
}

/* =============================================================
   FIX: Jarallax + GSAP inline transforms on about section
   ============================================================= */
.about-one__thumb__item.real-image,
.about-one__thumb__item.real-image > *,
.about-one__funfact {
  transform: none !important;
  -webkit-transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}

/* About thumb main image — always visible, clean */
.about-one__thumb__item.real-image img {
  transform: none !important;
  position: relative !important;
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* About thumb wrapper */
.about-one__thumb {
  position: relative;
  overflow: visible !important;
}

/* Suppress jarallax container that wraps background */
.about-one .jarallax,
.about-one .jarallax-img {
  transform: none !important;
  position: relative !important;
}

/* =============================================================
   HERO — Brighter, painter-first (force override any old rules)
   ============================================================= */
.main-slider-one__item {
  position: relative;
}

.main-slider-one__item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to right, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.40) 55%, rgba(0,0,0,0.10) 100%) !important;
  z-index: 1 !important;
}

.main-slider-one__content {
  position: relative !important;
  z-index: 2 !important;
}

/* =============================================================
   FORCE hide orange funfact on desktop too — it's a count-box
   placed awkwardly in the about thumb column
   ============================================================= */
.about-one__funfact.count-box {
  display: none !important;
}
