/**
 * Service Image Slider & Title Readability Enhancement
 * Poquoson Tree & Crane Service (poquosontree.com)
 *
 * Targets Post Slider and Carousel (psacp-design-2):
 * - Images fill 100% of available image container width & height (object-fit: cover)
 * - Zero empty padding, zero white space, zero margins around photographs
 * - Equal height cards with smooth, stable carousel transitions
 * - Prominent, high-contrast readable service titles (#c8102e brand red)
 * - Polished arrow buttons and pagination dots with brand red active states
 * - Fully responsive across Desktop (1920/1440), Tablet (768), and Mobile (390/375)
 */

/* ==========================================================================
   1. Carousel Container & Equal Height Grid Layout
   ========================================================================== */
.psacp-wrap.psacp-post-carousel-wrap.psacp-design-2 {
    position: relative !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-stage-outer {
    padding: 10px 4px 15px !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-item {
    display: flex !important;
    height: auto !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-slide {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    padding: 6px !important;
    box-sizing: border-box !important;
}

/* Slide Card Content Box */
.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-carousel-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    text-align: center !important;
    position: relative !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-slide:hover .psacp-post-carousel-content {
    border-color: #c8102e !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 25px rgba(200, 16, 46, 0.15) !important;
}

/* ==========================================================================
   2. Image Container & Image Sizing (Images Fill the Box Completely)
   ========================================================================== */
.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg {
    position: relative !important;
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: #111111 !important;
    box-sizing: border-box !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    text-decoration: none !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg img,
.owl-carousel.psacp-design-2 .owl-item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Individual slide focal positioning */
.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-1545 .psacp-post-img-bg img {
    object-position: center 30% !important; /* Tree Evaluations & Risk Assessment */
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-1541 .psacp-post-img-bg img {
    object-position: center 40% !important; /* Tree & Removal */
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-1433 .psacp-post-img-bg img {
    object-position: center 30% !important; /* Hurricane Preparedness */
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-slide:hover .psacp-post-img-bg img {
    transform: scale(1.05) !important;
}

/* ==========================================================================
   3. Service Title Readability & Spacing
   ========================================================================== */
.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-margin-content {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 16px 20px !important;
    background: #ffffff !important;
    min-height: 85px !important;
    box-sizing: border-box !important;
}

.psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Oswald', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    text-align: center !important;
    width: 100% !important;
}

.psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title a {
    color: #c8102e !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: color 0.25s ease, transform 0.25s ease !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-slide:hover h2.psacp-post-title a,
.psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title a:hover {
    color: #9e0c24 !important;
}

/* ==========================================================================
   4. Slider Navigation (Arrows & Pagination Dots)
   ========================================================================== */
.psacp-post-carousel-wrap.psacp-design-2 .owl-nav {
    position: absolute !important;
    top: 45% !important;
    transform: translateY(-50%) !important;
    width: 100% !important;
    margin: 0 !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-prev,
.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next {
    position: absolute !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 40px !important;
    background: #111722 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    font-size: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
    border: 2px solid #ffffff !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: all 0.3s ease !important;
    top: 50% !important;
    margin-top: -22px !important;
    opacity: 0.9 !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-prev {
    left: -22px !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next {
    right: -22px !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-prev:hover,
.psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next:hover {
    background: #c8102e !important;
    border-color: #c8102e !important;
    transform: scale(1.1) !important;
    opacity: 1 !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-dots {
    margin-top: 22px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    text-align: center !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-dots .owl-dot {
    width: 12px !important;
    height: 12px !important;
    background: #cbd5e1 !important;
    border-radius: 50% !important;
    display: inline-block !important;
    box-shadow: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.psacp-post-carousel-wrap.psacp-design-2 .owl-dots .owl-dot.active {
    background: #c8102e !important;
    transform: scale(1.3) !important;
    box-shadow: 0 0 8px rgba(200, 16, 46, 0.5) !important;
}

/* ==========================================================================
   5. Responsive Viewport Adaptations
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg {
        height: 215px !important;
        min-height: 215px !important;
        max-height: 215px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title {
        font-size: 20px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-prev {
        left: -12px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next {
        right: -12px !important;
    }
}

@media screen and (max-width: 767px) {
    .psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg {
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 .psacp-post-margin-content {
        padding: 14px 12px 16px !important;
        min-height: 70px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title {
        font-size: 19px !important;
        letter-spacing: 0.4px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-prev,
    .psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next {
        width: 38px !important;
        height: 38px !important;
        font-size: 18px !important;
        left: -8px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 .owl-nav .owl-next {
        right: -8px !important;
        left: auto !important;
    }
}

@media screen and (max-width: 480px) {
    .psacp-post-carousel-wrap.psacp-design-2 .psacp-post-img-bg {
        height: 200px !important;
        min-height: 200px !important;
        max-height: 200px !important;
    }
    .psacp-post-carousel-wrap.psacp-design-2 h2.psacp-post-title {
        font-size: 18px !important;
    }
}
