/* ============================================================
   RESPONSIVE HOME PAGE — R2 Hero, R6-R15 Homepage Components
   ============================================================ */

/* ============================================================
   R2. HERO BANNER (Homepage — index.html)
   Mobile: Background image remains but right portion is hidden
   via background-position. Text takes full width.
   ============================================================ */
@media (max-width: 767px) {
    /* Homepage hero banner: Doctor & baby in upper area, text and buttons pinned to very bottom */
    .hero-banner.style-1,
    .dvk-home .hero-banner.style-1 {
        background-image: url(../../images/hero-banner/banner-1.webp) !important;
        background-position: 84% 12% !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        height: auto !important;
        padding: 74px 0 4px !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
    }
    /* Soft transparent-to-light gradient overlay at bottom only: leaves doctor & baby faces 100% clear */
    .hero-banner.style-1::before,
    .dvk-home .hero-banner.style-1::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
        animation: none !important;
        transform: none !important;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 42%,
            rgba(255, 255, 255, 0.35) 60%,
            rgba(255, 250, 252, 0.88) 78%,
            rgba(255, 248, 250, 0.98) 100%
        ) !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }
    .hero-banner.style-1::after,
    .dvk-home .hero-banner.style-1::after {
        display: none !important;
        content: none !important;
        animation: none !important;
    }
    /* Stretch container, inner-wrapper, row & col to push content */
    .hero-banner.style-1 > .container,
    .dvk-home .hero-banner.style-1 > .container {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        position: static !important;
    }
    .hero-banner.style-1 .inner-wrapper,
    .dvk-home .hero-banner.style-1 .inner-wrapper {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: calc(100vh - 88px) !important;
        min-height: calc(100dvh - 88px) !important;
        padding: 0 !important;
        position: static !important;
        z-index: 2 !important;
    }
    .hero-banner.style-1 .row {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        height: 100% !important;
        margin: 0 !important;
        position: static !important;
    }
    .hero-banner.style-1 .row > [class*="col-"] {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        height: 100% !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        position: static !important;
    }
    /* Hero Content pinned to bottom */
    .hero-banner.style-1 .hero-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        position: static !important;
        z-index: 3 !important;
        width: 100% !important;
        padding-bottom: 2px !important;
    }
    /* Top badge: Pinned directly below navbar at the very top of the banner */
    .hero-banner.style-1 .hero-badge,
    .dvk-home .hero-banner.style-1 .hero-badge,
    .dvk-hero-badge {
        position: absolute !important;
        top: 96px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: -webkit-max-content !important;
        width: -moz-max-content !important;
        width: max-content !important;
        max-width: calc(100% - 24px) !important;
        margin: 0 !important;
        padding: 5px 14px !important;
        border-radius: 50px !important;
        font-size: clamp(9px, 2.6vw, 11px) !important;
        font-weight: 600 !important;
        text-align: center !important;
        line-height: 1.3 !important;
        display: inline-flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border: 1px solid rgba(173, 79, 112, 0.35) !important;
        box-shadow: 0 4px 14px rgba(67, 26, 87, 0.12) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        color: #ad4f70 !important;
        z-index: 10 !important;
    }
    /* Heading: placed at bottom right above buttons */
    .hero-banner.style-1 .title,
    .hero-banner.style-1 h1 {
        font-size: clamp(1.6rem, 5.5vw, 1.85rem) !important;
        line-height: 1.15 !important;
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        color: #2D0F1E !important;
        text-shadow: 0 1px 4px rgba(255, 255, 255, 0.95) !important;
    }
    /* Hide long description paragraph on mobile to keep faces 100% free of text */
    .hero-banner.style-1 p.text {
        display: none !important;
    }
    /* CTA buttons: side by side row directly below heading */
    .hero-banner.style-1 .d-flex.flex-wrap.align-items-center {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .hero-banner.style-1 .btn-lg {
        flex: 1 1 50% !important;
        width: 50% !important;
        padding: 10px 6px !important;
        font-size: clamp(11px, 2.9vw, 12px) !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        text-align: center !important;
        justify-content: center !important;
        display: inline-flex !important;
        align-items: center !important;
        border-radius: 8px !important;
    }
    .hero-banner.style-1 .btn-explore-outline {
        background: rgba(255, 255, 255, 0.95) !important;
        border: 1.5px solid #ad4f70 !important;
        color: #431a57 !important;
        font-weight: 700 !important;
    }
    /* Feature checklist: directly below buttons with divider */
    /* 2 items side-by-side on Row 1, and the 3rd item centered in the middle on Row 2 */
    .hero-banner.style-1 ul.d-flex.flex-wrap,
    .dvk-home .hero-banner.style-1 ul.d-flex.flex-wrap,
    .dvk-hero-checklist {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 8px !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-top: 1px solid rgba(173, 79, 112, 0.22) !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 4px 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap li,
    .dvk-hero-checklist li,
    .dvk-check-item {
        color: #2D0F1E !important;
        font-weight: 600 !important;
        font-size: clamp(8.5px, 2.35vw, 10.5px) !important;
        line-height: 1.25 !important;
        text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        margin: 0 !important;
        padding: 0 2px !important;
        box-sizing: border-box !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap li i,
    .dvk-hero-checklist li i,
    .dvk-check-item i {
        font-size: 10px !important;
        color: #ad4f70 !important;
        margin-right: 4px !important;
        flex-shrink: 0 !important;
    }
    /* Row 1: Item 1 in left column */
    .hero-banner.style-1 ul.d-flex.flex-wrap li:nth-child(1),
    .dvk-check-1 {
        grid-column: 1 / 2 !important;
        justify-content: center !important;
        text-align: center !important;
    }
    /* Row 1: Item 2 in right column */
    .hero-banner.style-1 ul.d-flex.flex-wrap li:nth-child(2),
    .dvk-check-2 {
        grid-column: 2 / 3 !important;
        justify-content: center !important;
        text-align: center !important;
    }
    /* Row 2: Item 3 spans both columns and centers in the middle below item 1 & 2 */
    .hero-banner.style-1 ul.d-flex.flex-wrap li:nth-child(3),
    .dvk-check-3 {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        text-align: center !important;
        width: 100% !important;
        margin-top: 2px !important;
    }
    /* Vertical social links on banner */
    .vertical-info.right {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .hero-banner.style-1 .hero-badge,
    .dvk-home .hero-banner.style-1 .hero-badge,
    .dvk-hero-badge {
        top: 95px !important;
        font-size: clamp(8.5px, 2.5vw, 10px) !important;
        padding: 4px 10px !important;
    }
    .hero-banner.style-1 .title,
    .hero-banner.style-1 h1 {
        font-size: 1.55rem !important;
        line-height: 1.15 !important;
        margin-bottom: 8px !important;
    }
    .hero-banner.style-1 .btn-lg {
        padding: 9px 5px !important;
        font-size: 11px !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap li,
    .dvk-hero-checklist li,
    .dvk-check-item {
        font-size: clamp(8px, 2.3vw, 9.6px) !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    /* Tablet: hero banner - doctor & baby on right, soft fade scrim behind text on left */
    .hero-banner.style-1,
    .dvk-home .hero-banner.style-1 {
        background-position: 85% center !important;
        background-size: cover !important;
        min-height: 740px !important;
        height: auto !important;
        padding: 110px 0 50px !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }
    .hero-banner.style-1 > .container {
        width: 100% !important;
    }
    /* Tablet: NO animated div and NO overlay of any kind */
    .hero-banner.style-1::before,
    .dvk-home .hero-banner.style-1::before,
    .hero-banner.style-1::after,
    .dvk-home .hero-banner.style-1::after {
        display: none !important;
        content: none !important;
        background: none !important;
        animation: none !important;
    }
    .hero-banner.style-1 .inner-wrapper {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100% !important;
    }
    /* Restrict text container to left 48% so it stays completely on the left */
    .hero-banner.style-1 .row > [class*="col-"] {
        width: 48% !important;
        max-width: 48% !important;
        flex: 0 0 48% !important;
        z-index: 3 !important;
    }
    .hero-banner.style-1 .hero-content {
        margin-left: 0 !important;
        max-width: 100% !important;
    }
    .hero-banner.style-1 .hero-badge {
        font-size: 11px !important;
        padding: 4px 12px !important;
        margin-bottom: 10px !important;
        white-space: normal !important;
        line-height: 1.3 !important;
    }
    .hero-banner.style-1 .title,
    .hero-banner.style-1 h1 {
        font-size: 2.1rem !important;
        line-height: 1.15 !important;
        margin-bottom: 12px !important;
    }
    .hero-banner.style-1 p.text {
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        color: #382430 !important;
    }
    .hero-banner.style-1 .d-flex.flex-wrap.align-items-center.mt-5 {
        margin-top: 14px !important;
        gap: 10px !important;
    }
    .hero-banner.style-1 .btn-lg {
        padding: 9px 16px !important;
        font-size: 12.5px !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap {
        margin-top: 14px !important;
        padding-top: 12px !important;
        gap: 6px 10px !important;
        font-size: 11.5px !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap li {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        display: flex !important;
        align-items: center !important;
    }
    .vertical-info.right {
        display: none !important;
    }
}

/* ============================================================
   R2-B. LAPTOP & SMALL DESKTOP HERO BANNER (1025px - 1440px)
   MacBook Air (1280px / 1440px), 1366x768 Laptops, 1440x900 Laptops:
   - Pins background to right-center so Dr. Devkriti & Baby are fully visible.
   - Adjusts banner height (700px) so aspect ratio fits comfortably in viewport.
   - Proportional typography so text stays compact on left without overlapping doctor.
   ============================================================ */
@media (min-width: 1025px) and (max-width: 1440px) {
    .hero-banner.style-1 {
        background-position: right center !important;
        background-size: cover !important;
        height: 700px !important;
        min-height: 660px !important;
        padding-top: 70px !important;
    }
    .hero-banner.style-1 .row > [class*="col-"] {
        max-width: 52% !important;
        flex: 0 0 52% !important;
        z-index: 2 !important;
    }
    .hero-banner.style-1 .hero-badge {
        font-size: 12.5px !important;
        padding: 5px 16px !important;
        margin-bottom: 16px !important;
    }
    .hero-banner.style-1 .title,
    .hero-banner.style-1 h1 {
        font-size: 3.2rem !important;
        line-height: 1.12 !important;
        margin-bottom: 16px !important;
    }
    .hero-banner.style-1 p.text {
        font-size: 1.02rem !important;
        line-height: 1.55 !important;
        max-width: 520px !important;
        margin-bottom: 18px !important;
    }
    .hero-banner.style-1 .d-flex.flex-wrap.align-items-center.mt-5 {
        margin-top: 22px !important;
        gap: 14px !important;
    }
    .hero-banner.style-1 .btn-lg {
        padding: 11px 22px !important;
        font-size: 14px !important;
    }
    .hero-banner.style-1 ul.d-flex.flex-wrap.mt-5.pt-3 {
        margin-top: 18px !important;
        padding-top: 14px !important;
        gap: 14px !important;
        font-size: 12.5px !important;
        max-width: 520px !important;
    }
    .vertical-info.right {
        display: none !important;
    }
}

/* ============================================================
   R2-C. MEDIUM TO LARGE DESKTOP (1441px - 1680px)
   ============================================================ */
@media (min-width: 1441px) and (max-width: 1680px) {
    .hero-banner.style-1 {
        background-position: right center !important;
        background-size: cover !important;
        height: 780px !important;
        padding-top: 50px !important;
    }
    .hero-banner.style-1 .title,
    .hero-banner.style-1 h1 {
        font-size: 3.8rem !important;
        line-height: 1.12 !important;
    }
}

/* ============================================================
   R6. QUICK APPOINTMENT COMPONENT
   ============================================================ */
@media (max-width: 767px) {
    #appointment-component {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .quick-appt-section {
        padding-top: 14px !important;
        padding-bottom: 28px !important;
    }
    .quick-appt-section .section-head {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
    }
    .quick-appt-section .sub-title {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .quick-appt-section .title {
        font-size: 24px !important;
        line-height: 1.2 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .quick-appt-card {
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }
    .quick-appt-row {
        flex-direction: column !important;
        gap: 14px !important;
    }
    .quick-appt-col {
        width: 100% !important;
    }
    .quick-appt-col .form-control,
    .quick-appt-col select {
        width: 100% !important;
    }
    .quick-appt-col .btn {
        width: 100% !important;
    }
}

/* ============================================================
   R7. ABOUT SECTION — Homepage circle collage
   ============================================================ */
@media (max-width: 767px) {
    .about-custom-section {
        padding-top: 40px !important;
        padding-bottom: 30px !important;
    }
    .about-custom-section .title {
        font-size: 24px !important;
    }
    /* About collage — make smaller and centered */
    .about-circle-collage-wrap {
        max-width: 290px !important;
        margin: 0 auto !important;
    }
    .about-circle-collage {
        height: 290px !important;
    }
    .about-quadrant.quadrant-tl img {
        object-position: 68% 20% !important;
        transform: scale(1.06) !important;
    }
    .about-quadrant.quadrant-bl img {
        object-position: center 20% !important;
        transform: scale(1.02) !important;
    }
    .about-quadrant.quadrant-br img {
        object-position: center 15% !important;
        transform: scale(1.02) !important;
    }
    /* New circular badge — responsive sizing */
    .about-center-badge { display: none !important; }
    .dvk-ivf-badge-link { display: none !important; }
    .dvk-circle-badge { width: 112px !important; height: 112px !important; }
    .dvk-cb-inner { padding: 6px !important; gap: 1px !important; }
    .dvk-cb-stat { font-size: 17px !important; }
    .dvk-cb-stat sup { font-size: 11px !important; }
    .dvk-cb-stat-lbl { font-size: 8px !important; }
    .dvk-cb-tag { font-size: 6.5px !important; }
    .dvk-cb-sub { font-size: 6.5px !important; }
    .dvk-cb-divider { width: 22px !important; margin: 1px auto !important; }
    .dvk-cb-arrow { width: 16px !important; height: 16px !important; margin-top: 2px !important; }
    .dvk-cb-arrow svg { width: 9px !important; height: 9px !important; }
    /* Contact widget in about */
    .about-custom-section .widget-media {
        display: none !important;
    }
    /* Two column contact widgets — stack */
    .about-custom-section .row.g-3 {
        flex-direction: column !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .about-custom-section .title {
        font-size: 28px !important;
    }
    .about-circle-collage-wrap {
        max-width: 380px !important;
        margin: 0 auto !important;
    }
}

/* ============================================================
   R8. TRUST MARQUEE STRIP
   ============================================================ */
@media (max-width: 767px) {
    .dvk-trust-strip {
        padding: 10px 0 !important;
    }
    .dvk-strip-item {
        font-size: 12px !important;
        padding: 0 16px !important;
        gap: 6px !important;
    }
}

/* ============================================================
   R9. STATS / COUNTER SECTION
   ============================================================ */
@media (max-width: 991px) {
    /* Counter cards — stacked layout to make numbers crystal clear */
    .content-bx.style-1 {
        padding: 20px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ffffff !important;
        border-radius: 16px !important;
        border: 1px solid rgba(173, 79, 112, 0.12) !important;
        box-shadow: 0 4px 18px rgba(67, 26, 87, 0.05) !important;
        min-height: 125px !important;
    }
    .content-bx.style-1 .content-text {
        font-size: 2.3rem !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        color: #AD4F70 !important;
        display: block !important;
        position: static !important;
        margin-bottom: 6px !important;
        text-align: center !important;
    }
    .content-bx.style-1 .title {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        background-color: transparent !important;
        padding: 0 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        color: #2D0F1E !important;
        text-align: center !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
    }
    /* DVK stats grid */
    .dvk-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .dvk-stat-card .stat-num {
        font-size: 2.2rem !important;
    }
    .dvk-stat-card {
        padding: 1.5rem 0.75rem !important;
    }
}

/* ============================================================
   R10. WHY CHOOSE US SECTION
   ============================================================ */
@media (max-width: 767px) {
    .dvk-why-v2 {
        padding: 50px 0 40px !important;
    }
    .dvk-why-v2 .title {
        font-size: 24px !important;
    }
    .dvk-why-v2 p {
        font-size: 14px !important;
    }
    .dvk-why-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-top: 24px !important;
    }
    .dvk-why-card {
        padding: 22px 18px !important;
    }
    .dvk-why-card-title {
        font-size: 17px !important;
    }
    /* Trust ribbon at bottom */
    .dvk-why-trust-ribbon {
        padding: 20px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }
    .dvk-ribbon-stat-group {
        gap: 18px !important;
    }
    .dvk-ribbon-stat-num {
        font-size: 24px !important;
    }
}

@media (max-width: 480px) {
    .dvk-why-card-title {
        font-size: 16px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dvk-why-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    /* Override 3-column to 2-column on tablet */
    .dvk-why-grid .dvk-why-card {
        grid-column: span 1 !important;
    }
}

/* ============================================================
   R11. DIAGNOSTIC / LAB SECTION (Modern Animated Showcase Grid)
   ============================================================ */
@media (max-width: 767px) {
    .dvk-diag-media-wrap {
        display: flex !important;
        justify-content: center !important;
    }
    .dvk-diag-main-image {
        width: 100% !important;
        max-width: 420px !important;
        height: 520px !important;
        border-radius: 20px !important;
        margin: 0 auto !important;
    }
    .dvk-diag-main-image img {
        object-position: center 20% !important;
    }
    .dvk-image-floating-badge {
        font-size: 11px !important;
        padding: 6px 12px !important;
        bottom: 12px !important;
        left: 12px !important;
    }
    .dvk-image-experience-badge {
        font-size: 11px !important;
        padding: 5px 12px !important;
        top: 12px !important;
        right: 12px !important;
    }
    .dvk-diag-pillars-grid {
        margin-top: 18px !important;
        --bs-gutter-y: 0.9rem !important;
    }
    .dvk-diag-card {
        padding: 16px 16px !important;
        border-radius: 16px !important;
        min-height: auto !important;
    }
    /* Grid-2 lists — single column on mobile */
    .list-check.grid-2 {
        columns: 1 !important;
        -moz-columns: 1 !important;
        -webkit-columns: 1 !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dvk-diag-media-wrap {
        display: flex !important;
        justify-content: center !important;
    }
    .dvk-diag-main-image {
        width: 100% !important;
        max-width: 520px !important;
        height: 680px !important;
        border-radius: 24px !important;
        margin: 0 auto 10px auto !important;
    }
    .dvk-diag-main-image img {
        object-position: center 22% !important;
    }
    .dvk-diag-pillars-grid {
        margin-top: 24px !important;
    }
    .dvk-diag-card {
        padding: 18px 16px !important;
    }
}

/* ============================================================
   R12. SERVICES SECTION
   ============================================================ */
@media (max-width: 767px) {
    #services-section .icon-bx-wraper.style-1 {
        min-height: auto !important;
    }
    /* Service swiper — show 1 slide at a time */
    #services-section .swiper-slide {
        width: 100% !important;
    }
    /* Service grid cards */
    .service-grid-card {
        margin-bottom: 16px !important;
    }
    .service-grid-thumb {
        height: 200px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    #services-section .icon-bx-wraper.style-1 {
        min-height: 420px !important;
    }
}

/* ============================================================
   R13. FAQ SECTION
   ============================================================ */
@media (max-width: 767px) {
    .dvk-faq-title {
        font-size: 24px !important;
    }
    .dvk-faq-media-wrap {
        display: none !important;
    }
    .accordion-item {
        margin-bottom: 10px !important;
    }
    .accordion-button {
        font-size: 14px !important;
        padding: 14px 16px !important;
    }
    .accordion-body {
        font-size: 14px !important;
        padding: 14px 16px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dvk-faq-media-wrap {
        max-width: 440px !important;
        width: 100% !important;
        height: 580px !important;
        min-height: auto !important;
        margin: 0 auto 35px !important;
        border-radius: 28px !important;
        overflow: hidden !important;
        box-shadow: 0 16px 40px rgba(8, 0, 40, 0.12) !important;
    }
    .dvk-faq-media-wrap img {
        width: 100% !important;
        height: 100% !important;
        min-height: auto !important;
        object-fit: cover !important;
        object-position: center 10% !important;
        display: block !important;
    }
    .dvk-faq-float-badge {
        bottom: 20px !important;
        left: 20px !important;
        right: 20px !important;
        padding: 14px 18px !important;
    }
}

/* ============================================================
   R14. TESTIMONIALS SECTION
   ============================================================ */
@media (max-width: 767px) {
    .testimonial-swiper2 {
        padding: 10px 4px 28px !important;
    }
    .testimonial-1 .testimonial-detail {
        padding: 20px 18px !important;
    }
    .testimonial-1 .testimonial-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    /* Testimonials section heading */
    .testimonials-section .title,
    #testimonials .title {
        font-size: 24px !important;
    }
}

/* ============================================================
   R15. BLOG SECTION (Homepage latest blogs)
   ============================================================ */
@media (max-width: 767px) {
    .dvk-latest-blogs-section .title {
        font-size: 24px !important;
    }
    .dvk-latest-blogs-section .row.g-4 > [class*="col-"] {
        padding: 0 12px !important;
    }
    .dvk-blog-card {
        min-height: auto !important;
    }
    .dvk-blog-card .dz-media {
        height: 180px !important;
    }
    .dvk-blog-card .icon-content {
        padding: 16px !important;
    }
    .dvk-blog-card .dz-title {
        font-size: 1rem !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    /* 2 columns on tablet for blog grid */
    .dvk-latest-blogs-section .col-xl-3 {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
    }
}

