/**
 * Ezzat Services Pro — clean homepage background runtime.
 * This file is loaded after the legacy stylesheet and is the only authority
 * for builder backgrounds and overlays.
 */
.ezsp-background-system {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: var(--dhb-block-bg, transparent) !important;
    background-image: none !important;
}

/* Remove every historical pseudo veil from the builder wrapper. */
.ezsp-background-system::before,
.ezsp-background-system::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: none !important;
}

.ezsp-background-system > .ezsp-background-layers {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: inherit;
}

.ezsp-background-system > :not(.ezsp-background-layers) {
    position: relative;
    z-index: 2;
}

.ezsp-static-background,
.ezsp-slider-background,
.ezsp-background-overlay {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
}

.ezsp-static-background {
    z-index: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.ezsp-slider-background {
    z-index: 2;
    overflow: hidden;
}

.ezsp-background-overlay {
    z-index: 5;
    background: var(--ezsp-overlay-color, #000000);
    opacity: var(--ezsp-overlay-opacity, 0);
}

/* The visible sections must never paint their own old backgrounds or gradients. */
.ezsp-background-system > .dhb-home-hero,
.ezsp-background-system > .dhb-home-cta,
.ezsp-background-system > .dhb-section {
    background-color: transparent !important;
    background-image: none !important;
}

.ezsp-background-system > .dhb-home-hero::before,
.ezsp-background-system > .dhb-home-hero::after,
.ezsp-background-system > .dhb-home-cta::before,
.ezsp-background-system > .dhb-home-cta::after,
.ezsp-background-system > .dhb-section::before,
.ezsp-background-system > .dhb-section::after {
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}

/* Compatibility: old overlay elements can never display inside the new renderer. */
.ezsp-background-system .dhb-static-overlay,
.ezsp-background-system .dhb-slider-overlay {
    display: none !important;
    opacity: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    .ezsp-background-system .dhb-bg-slide {
        transition: none !important;
    }
}

/* v8.3.2 — keep service-card images perfectly centered inside their frames. */
.dhb-builder-services .dhb-service-photo,
.dhb-home-services .dhb-service-photo {
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.dhb-builder-services .dhb-service-photo picture,
.dhb-home-services .dhb-service-photo picture {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.dhb-builder-services .dhb-service-photo img,
.dhb-home-services .dhb-service-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: none !important;
}


/* v8.4.1 — image fills the configured frame exactly. */
.dhb-builder-services .dhb-service-photo,
.dhb-home-services .dhb-service-photo {
    padding: 0 !important;
    border-radius: var(--dhb-service-image-radius, 17px) !important;
}

.dhb-builder-services .dhb-service-photo picture,
.dhb-home-services .dhb-service-photo picture,
.dhb-builder-services .dhb-service-photo img,
.dhb-home-services .dhb-service-photo img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: inherit !important;
}

/* Homepage entry animations */
.dhb-entry-enabled,.dhb-card-entry-enabled{--dhb-entry-duration:700ms;--dhb-entry-delay:0ms;}
.dhb-entry-target{opacity:0;will-change:transform,opacity,filter;transition-property:opacity,transform,filter;transition-duration:var(--dhb-anim-duration,700ms);transition-delay:var(--dhb-anim-delay,0ms);transition-timing-function:cubic-bezier(.22,1,.36,1);}
.dhb-entry-target.is-visible{opacity:1;transform:none!important;filter:none!important;}
.dhb-anim-fade{transform:none}.dhb-anim-fade-up{transform:translate3d(0,42px,0)}.dhb-anim-fade-down{transform:translate3d(0,-42px,0)}.dhb-anim-fade-left{transform:translate3d(-52px,0,0)}.dhb-anim-fade-right{transform:translate3d(52px,0,0)}
.dhb-anim-slide-up{transform:translate3d(0,90px,0)}.dhb-anim-slide-down{transform:translate3d(0,-90px,0)}.dhb-anim-slide-left{transform:translate3d(-110px,0,0)}.dhb-anim-slide-right{transform:translate3d(110px,0,0)}
.dhb-anim-zoom-in{transform:scale(.82)}.dhb-anim-zoom-out{transform:scale(1.16)}.dhb-anim-scale-up{transform:scale(.94)}.dhb-anim-flip-x{transform:perspective(900px) rotateX(70deg);transform-origin:center bottom}.dhb-anim-flip-y{transform:perspective(900px) rotateY(70deg);transform-origin:center}.dhb-anim-rotate-in{transform:scale(.88) rotate(-7deg)}.dhb-anim-blur-in{transform:translate3d(0,20px,0);filter:blur(12px)}.dhb-anim-bounce-in{transform:scale(.7);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}
@media (prefers-reduced-motion:reduce){.dhb-entry-target{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}


/* v8.7.1 — stable service-card images without stretching or cropping. */
.dhb-builder-services .dhb-service-photo,
.dhb-home-services .dhb-service-photo {
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(145deg, var(--mint, #FFF7E0), var(--sky, #FFF3D0)) !important;
}
.dhb-builder-services .dhb-service-photo picture,
.dhb-home-services .dhb-service-photo picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}
.dhb-builder-services .dhb-service-photo img,
.dhb-home-services .dhb-service-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    aspect-ratio: auto !important;
    transform: none !important;
}
/* Automatic side image size: consistent frame instead of full card height. */
.dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-right .dhb-service-tile,
.dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile,
.dhb-home-services.dhb-service-image-width-auto.dhb-service-images-right .dhb-service-tile,
.dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    padding: 14px !important;
    gap: 16px !important;
    align-items: center !important;
    overflow: visible !important;
}
.dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile,
.dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile {
    grid-template-columns: minmax(0, 1fr) 150px !important;
}
.dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-right .dhb-service-photo,
.dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-photo,
.dhb-home-services.dhb-service-image-width-auto.dhb-service-images-right .dhb-service-photo,
.dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-photo {
    width: 150px !important;
    height: 120px !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: center !important;
}
/* Automatic top image size: wide, balanced and responsive. */
.dhb-builder-services .dhb-service-images-top.dhb-service-image-width-auto .dhb-service-tile,
.dhb-home-services.dhb-service-images-top.dhb-service-image-width-auto .dhb-service-tile {
    padding: 14px !important;
    gap: 14px !important;
    align-items: stretch !important;
}
.dhb-builder-services .dhb-service-images-top.dhb-service-image-width-auto .dhb-service-photo,
.dhb-home-services.dhb-service-images-top.dhb-service-image-width-auto .dhb-service-photo {
    width: 100% !important;
    height: 210px !important;
    min-height: 0 !important;
}
/* Manual width/height keep their exact frame while displaying the whole image. */
.dhb-builder-services .dhb-service-image-width-fixed .dhb-service-photo,
.dhb-home-services.dhb-service-image-width-fixed .dhb-service-photo {
    width: var(--dhb-service-image-width) !important;
}
.dhb-builder-services .dhb-service-image-height-fixed .dhb-service-photo,
.dhb-home-services.dhb-service-image-height-fixed .dhb-service-photo {
    height: var(--dhb-service-image-height) !important;
    min-height: 0 !important;
}
@media (max-width: 640px) {
    .dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-right .dhb-service-tile,
    .dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile,
    .dhb-home-services.dhb-service-image-width-auto.dhb-service-images-right .dhb-service-tile,
    .dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile {
        grid-template-columns: 105px minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    .dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile,
    .dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-tile {
        grid-template-columns: minmax(0, 1fr) 105px !important;
    }
    .dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-right .dhb-service-photo,
    .dhb-builder-services .dhb-service-image-width-auto.dhb-service-images-left .dhb-service-photo,
    .dhb-home-services.dhb-service-image-width-auto.dhb-service-images-right .dhb-service-photo,
    .dhb-home-services.dhb-service-image-width-auto.dhb-service-images-left .dhb-service-photo {
        width: 105px !important;
        height: 90px !important;
    }
    .dhb-builder-services .dhb-service-images-top.dhb-service-image-width-auto .dhb-service-photo,
    .dhb-home-services.dhb-service-images-top.dhb-service-image-width-auto .dhb-service-photo {
        height: 180px !important;
    }
}

/* Tow-truck authority homepage v8.8.0 */
.dhb-builder-block{overflow:hidden}.dhb-homepage .dhb-block-title{line-height:1.25}.dhb-homepage .dhb-block-description{max-width:900px;line-height:1.9}
.dhb-builder-tow-hero,.dhb-builder-hero{background:#0F1115}.dhb-home-hero-inner{min-height:650px}.dhb-home-team img{filter:drop-shadow(0 25px 45px rgba(0,0,0,.35))}
.dhb-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dhb-service-tile{background:#fff;border:1px solid rgba(245,138,7,.22);box-shadow:0 16px 40px rgba(15,17,21,.08);transition:transform .25s ease,box-shadow .25s ease}.dhb-service-tile:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(15,17,21,.15)}.dhb-service-photo img{aspect-ratio:16/10;object-fit:cover}.dhb-mini-btn{background:#FFB000!important;color:#0F1115!important}
.dhb-features-grid{counter-reset:tow-step}.dhb-feature-card{position:relative;border:1px solid rgba(255,176,0,.28);background:#1A1D23!important;color:#fff}.dhb-feature-card:before{counter-increment:tow-step;content:counter(tow-step);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#FFB000;color:#0F1115;font-weight:900;margin:0 auto 14px}.dhb-feature-card h3{color:#FFB000!important}
.dhb-locations{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dhb-locations>a,.dhb-locations>span{display:flex!important;justify-content:space-between;align-items:center;padding:15px 16px;border:1px solid #E7D2A3;border-radius:14px;background:#fff;color:#0F1115;text-decoration:none;transition:.2s}.dhb-locations>a:hover{border-color:#F58A07;transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,17,21,.1)}.dhb-locations small{color:#D97706;font-weight:800}
.dhb-text-block-inner{border-inline-start:5px solid #FFB000;padding-inline-start:26px}.dhb-text-block-content a{color:#FFB000;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.dhb-why-panel li:before{background:#FFB000!important;color:#0F1115!important}.dhb-faq-panel details{border-color:#E7D2A3}.dhb-faq-panel summary{color:#0F1115}.dhb-home-cta{background:linear-gradient(135deg,#1A1D23,#08090B)!important;border:1px solid rgba(255,176,0,.35)}.dhb-home-cta>a{background:#FFB000!important;color:#0F1115!important}
@media(max-width:900px){.dhb-service-grid,.dhb-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.dhb-home-hero-inner{min-height:auto}}
@media(max-width:620px){.dhb-service-grid,.dhb-locations{grid-template-columns:1fr}.dhb-text-block-inner{padding-inline-start:16px}.dhb-home-team img{max-height:340px;object-fit:contain}}
