/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/products/hello-theme/
Description: Child theme for Hello Elementor. Add custom styles here without modifying the parent theme.
Author: Site Developer
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
Requires PHP: 7.4
*/

/* ==========================================
   HOME PAGE - HERO SECTION START
   Reference: Yatree Destination
   Purpose: Scoped homepage hero layout details
========================================== */

/* Hero Container: Elementor owns sizes, spacing, typography and colors. */
.dimpal-hero-section {
    isolation: isolate;
    overflow: clip;
}

/* Hero Background: soften the bottom edge of the editable background. */
.dimpal-hero-section::after {
    content: "";
    position: absolute;
    inset: 65% 0 0;
    background: linear-gradient(to bottom, transparent, white);
    pointer-events: none;
    z-index: 0;
}

/* Hero Heading and Description: eliminate theme paragraph margins. */
.dimpal-hero-section .dimpal-hero-description {
    max-width: 100%;
}

.dimpal-hero-section .dimpal-hero-description p,
.dimpal-hero-section .dimpal-hero-small-copy p {
    margin-block: 0;
}

/* Vehicle Image: center the desktop overlap without covering the form. */
.dimpal-hero-section .dimpal-hero-vehicle {
    max-width: 100%;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 60%, transparent 100%);
    pointer-events: none;
}

@media (min-width: 1025px) {
    .dimpal-hero-section .dimpal-hero-vehicle {
        transform: translate(-50%, -45%);
    }
}

/* ==========================================
   CONTACT FORM 7 - HERO BOOKING FORM
   Purpose: Style this enquiry form only
========================================== */

/* Form Container and CF7-generated paragraph wrappers. */
.dimpal-hero-booking-form {
    min-width: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #0f172a;
}

.dimpal-hero-booking-form .wpcf7,
.dimpal-hero-booking-form form,
.dimpal-hero-booking-form p {
    margin: 0;
}

.dimpal-hero-booking-form br {
    display: none;
}

.dimpal-hero-booking-form .dimpal-hero-form-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Field Layout and Accessible Labels. */
.dimpal-hero-booking-form .dimpal-hero-field {
    position: relative;
    min-width: 0;
}

.dimpal-hero-booking-form .dimpal-hero-sr-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.dimpal-hero-booking-form .dimpal-hero-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dimpal-hero-booking-form .wpcf7-form-control-wrap {
    display: block;
    min-width: 0;
}

/* Form Fields: match the reference's rounded, pale inputs. */
.dimpal-hero-booking-form input:not([type="radio"]):not([type="submit"]),
.dimpal-hero-booking-form select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 13px 14px 13px 43px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.5);
    color: #0f172a;
    font: inherit;
    outline: none;
    transition: border-color 150ms, box-shadow 150ms, background-color 150ms;
}

.dimpal-hero-booking-form select {
    padding-inline: 16px 30px;
    color: #475569;
    text-overflow: ellipsis;
}

.dimpal-hero-booking-form input::placeholder {
    color: #64748b;
    opacity: 1;
}

.dimpal-hero-booking-form input[type="date"],
.dimpal-hero-booking-form input[type="time"] {
    padding-inline: 35px 6px;
    color: #475569;
    font-size: 13px;
}

.dimpal-hero-booking-form input:not([type="radio"]):not([type="submit"]):focus,
.dimpal-hero-booking-form select:focus {
    border-color: #1a4b9f;
    box-shadow: 0 0 0 2px rgba(26, 75, 159, 0.18);
    background: #fff;
}

/* Field Icons: do not obstruct input or validation messages. */
.dimpal-hero-booking-form .dimpal-hero-field-icon {
    position: absolute;
    top: 17px;
    left: 15px;
    color: #94a3b8;
    pointer-events: none;
    z-index: 1;
}

.dimpal-hero-booking-form .dimpal-hero-field:focus-within .dimpal-hero-field-icon {
    color: #1a4b9f;
}

.dimpal-hero-booking-form .dimpal-hero-form-row .dimpal-hero-field-icon {
    left: 12px;
}

/* Vehicle Radios: real labels and keyboard-operable native controls. */
.dimpal-hero-booking-form .dimpal-hero-car-type {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
    padding: 16px 0 0;
    margin: 0;
    border: 0;
    border-top: 1px solid #f1f5f9;
}

.dimpal-hero-booking-form .dimpal-hero-car-type legend {
    float: left;
    width: auto;
    padding: 0;
    margin: 0;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
}

.dimpal-hero-booking-form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.dimpal-hero-booking-form .wpcf7-list-item {
    margin: 0;
}

.dimpal-hero-booking-form .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.dimpal-hero-booking-form input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #1a4b9f;
}

.dimpal-hero-booking-form input[type="radio"]:focus-visible {
    outline: 2px solid #1a4b9f;
    outline-offset: 3px;
}

/* Submit Button and CF7 Busy Indicator. */
.dimpal-hero-booking-form .dimpal-hero-submit-row {
    position: relative;
    margin-top: 8px;
}

.dimpal-hero-booking-form input[type="submit"] {
    width: 100%;
    min-height: 56px;
    padding: 16px 24px;
    border: 0;
    border-radius: 12px;
    background: #ffac00;
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.3px;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(255, 172, 0, 0.25);
    transition: background-color 150ms, box-shadow 150ms;
}

.dimpal-hero-booking-form input[type="submit"]:hover {
    background: #f2a300;
    box-shadow: 0 10px 20px rgba(255, 172, 0, 0.4);
}

.dimpal-hero-booking-form input[type="submit"]:focus-visible {
    outline: 2px solid #1a4b9f;
    outline-offset: 4px;
}

.dimpal-hero-booking-form .wpcf7-spinner {
    position: absolute;
    inset-inline-end: 8px;
    top: 16px;
    margin: 0;
    pointer-events: none;
}

/* Validation and Submission Messages: remain visible in every layout. */
.dimpal-hero-booking-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    color: #b91c1c;
    font-size: 12px;
    line-height: 1.4;
}

.dimpal-hero-booking-form .wpcf7-not-valid {
    border-color: #b91c1c;
}

.dimpal-hero-booking-form .wpcf7-response-output {
    margin: 18px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

/* ==========================================
   HERO SECTION - RESPONSIVE CSS
========================================== */

/* Compact Desktop: give date and time values room in the narrow card. */
@media (min-width: 1025px) and (max-width: 1199px) {
    .dimpal-hero-booking-form .dimpal-hero-form-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Tablet Styles: Elementor handles stacking and vehicle positioning. */
@media (max-width: 1024px) {
    .dimpal-hero-section.e-con .dimpal-hero-vehicle.e-con {
        --position: relative;
        position: relative;
        inset: auto;
        transform: none;
    }
}

/* Mobile Styles: keep date/time pickers comfortable and fully visible. */
@media (max-width: 767px) {
    .dimpal-hero-booking-form .dimpal-hero-form-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .dimpal-hero-booking-form input[type="date"],
    .dimpal-hero-booking-form input[type="time"] {
        padding-inline: 43px 14px;
        font-size: 14px;
    }

    .dimpal-hero-booking-form .dimpal-hero-car-type,
    .dimpal-hero-booking-form .wpcf7-radio {
        gap: 14px;
    }

    .dimpal-hero-booking-form .dimpal-hero-form-row .dimpal-hero-field-icon {
        left: 15px;
    }
}

/* ==========================================
   HOME PAGE - HERO SECTION END
========================================== */

/* ==========================================
   HOME PAGE - EXPERIENCE THE DIFFERENCE START
========================================== */

/* Section Container: background, border and spacing use Elementor controls. */
/* Section Heading: native Heading widgets own colors and typography. */
/* Feature Cards: native containers own padding, radius and hover shadows. */
/* Card Icons: native Icon widgets; pricing uses an editable rupee heading. */
.dimpal-experience-section .dimpal-experience-icon .elementor-icon-wrapper {
    line-height: 0;
}

/* Card Titles: native Heading widgets, with individually editable styles. */

/* Card Descriptions: remove the theme's extra paragraph margin in these cards. */
.dimpal-experience-section .dimpal-experience-description p {
    margin-block: 0;
}

/* Responsive Styles: native Grid controls provide 5 / 2 / 1 columns. */

/* ==========================================
   HOME PAGE - EXPERIENCE THE DIFFERENCE END
========================================== */

/* ==========================================
   HOME PAGE - FAQ SECTION START
========================================== */

/* FAQ Section Container: native Elementor controls own layout and spacing. */
.dimpal-faq-section .e-con,
.dimpal-faq-section .elementor-widget {
    min-width: 0;
}

/* FAQ Section Heading: typography and color remain native Heading controls. */
/* FAQ Accordion Container: native controls own backgrounds, borders and radius. */

/* FAQ Questions: join each open summary to its answer as one rounded card. */
.dimpal-faq-section .dimpal-faq-accordion .e-n-accordion-item[open] > summary {
    padding-block-end: 0;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
}

.dimpal-faq-section .e-n-accordion-item-title-header {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* FAQ Answers: remove the theme paragraph margin inside editable text widgets. */
.dimpal-faq-section .dimpal-faq-answer p,
.dimpal-faq-section .dimpal-faq-booking-description p {
    margin-block: 0;
}

/* FAQ Expand/Collapse Icons: keep the native icons aligned when titles wrap. */
.dimpal-faq-section .e-n-accordion-item-title-icon {
    flex-shrink: 0;
}

.dimpal-faq-section .dimpal-faq-chat .elementor-button-icon {
    color: #25d366;
}

.dimpal-faq-section .dimpal-faq-chat .elementor-button-icon svg {
    fill: currentColor;
}

/* FAQ Active State: keyboard focus remains visible on native summaries. */
.dimpal-faq-section summary:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

/* FAQ Responsive Styles: Elementor controls own stacking, widths and padding. */
.dimpal-faq-section .elementor-button-text {
    overflow-wrap: anywhere;
}

/* ==========================================
   HOME PAGE - FAQ SECTION END
========================================== */

/* ==========================================
   HOME PAGE - POPULAR TAXI SERVICES START
========================================== */

/* Section Container: native containers and headings control section design. */
.dimpal-popular-taxi-section .dimpal-taxi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Service Cards: the Taxi Services widget controls colors, spacing and borders. */
.dimpal-popular-taxi-section .dimpal-taxi-card {
    min-width: 0;
    overflow: hidden;
    transition: box-shadow 150ms;
}

/* Service Images: crop within the editable image-height frame. */
.dimpal-popular-taxi-section .dimpal-taxi-image-frame {
    position: relative;
    overflow: hidden;
}

.dimpal-popular-taxi-section .dimpal-taxi-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms;
}

.dimpal-popular-taxi-section .dimpal-taxi-image-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--dimpal-taxi-overlay), transparent);
    pointer-events: none;
}

.dimpal-popular-taxi-section .dimpal-taxi-badge {
    position: absolute;
    bottom: 16px;
    left: 16px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.dimpal-popular-taxi-section .dimpal-taxi-badge svg {
    width: 20px;
    height: 20px;
}

.dimpal-popular-taxi-section .dimpal-taxi-badge i {
    font-size: 20px;
}

/* Service Titles: typography and color come from the widget's Style controls. */
.dimpal-popular-taxi-section .dimpal-taxi-title {
    margin: 0 0 4px;
    overflow-wrap: anywhere;
}

/* Service Descriptions: eliminate theme paragraph spacing. */
.dimpal-popular-taxi-section .dimpal-taxi-description,
.dimpal-popular-taxi-section .dimpal-taxi-section-description p {
    margin-top: 0;
    overflow-wrap: anywhere;
}

.dimpal-popular-taxi-section .dimpal-taxi-section-description p {
    margin-bottom: 0;
}

/* Vehicle Booking Buttons: independent links; cards and images stay unlinked. */
.dimpal-popular-taxi-section .dimpal-taxi-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dimpal-popular-taxi-section .dimpal-taxi-booking {
    display: block;
    min-width: 0;
    text-align: center;
    text-decoration: none;
    transition: color 150ms, background-color 150ms, border-color 150ms;
}

.dimpal-popular-taxi-section .dimpal-taxi-car-label,
.dimpal-popular-taxi-section .dimpal-taxi-price {
    display: block;
    overflow-wrap: anywhere;
}

.dimpal-popular-taxi-section .dimpal-taxi-car-label {
    margin-bottom: 4px;
    text-transform: uppercase;
}

.dimpal-popular-taxi-section .dimpal-taxi-booking:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

/* Responsive Styles: these defaults are overridden by native widget controls. */
@media (max-width: 1024px) {
    .dimpal-popular-taxi-section .dimpal-taxi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .dimpal-popular-taxi-section .dimpal-taxi-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dimpal-popular-taxi-section .dimpal-taxi-card,
    .dimpal-popular-taxi-section .dimpal-taxi-image,
    .dimpal-popular-taxi-section .dimpal-taxi-booking {
        transition: none;
    }
}

/* ==========================================
   HOME PAGE - POPULAR TAXI SERVICES END
========================================== */

/* ==========================================
   CONTACT US - MAIN SECTION START
========================================== */

/* Main Contact Container: Elementor owns background, widths and section spacing. */
.dimpal-contact-main-section .e-con,
.dimpal-contact-main-section .elementor-widget {
    min-width: 0;
}

/* Contact Information: native Icon Boxes own card appearance and typography. */
.dimpal-contact-main-section .dimpal-contact-info-card .elementor-icon-box-content {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Contact Information Icons: preserve the editable icon box's square alignment. */
.dimpal-contact-main-section .dimpal-contact-info-card .elementor-icon-box-icon {
    flex-shrink: 0;
}

/* Contact Information Text: preserve native colors for editable phone/email links. */
.dimpal-contact-main-section .dimpal-contact-info-card .elementor-icon-box-description a {
    color: inherit;
    text-decoration: none;
}

.dimpal-contact-main-section .dimpal-contact-info-card .elementor-icon-box-description a:hover {
    text-decoration: underline;
}

.dimpal-contact-main-section .dimpal-contact-info-card a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.dimpal-contact-main-section .dimpal-contact-main-copy p {
    margin-block: 0;
}

/* Contact Form Container: its native Elementor container owns the white panel. */
.dimpal-contact-main-section .dimpal-contact-form-section .wpcf7 {
    width: 100%;
    max-width: 100%;
}

/* Contact Form 7 Fields: restricted to this Contact page's dedicated form panel. */
.dimpal-contact-main-section .dimpal-contact-form-section .dimpal-contact-enquiry-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

.dimpal-contact-main-section .dimpal-contact-field,
.dimpal-contact-main-section .dimpal-contact-field p {
    min-width: 0;
    margin: 0;
}

.dimpal-contact-main-section .dimpal-contact-field-full {
    grid-column: 1 / -1;
}

.dimpal-contact-main-section .dimpal-contact-field br,
.dimpal-contact-main-section .dimpal-contact-submit-row br {
    display: none;
}

.dimpal-contact-main-section .dimpal-contact-field label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #64748b;
    font-family: "Segoe UI", sans-serif;
    font-size: 10px;
    font-weight: 900;
    line-height: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.dimpal-contact-main-section .dimpal-contact-field label svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: #d4af37;
}

.dimpal-contact-main-section .dimpal-contact-form-section .wpcf7-form-control-wrap {
    display: block;
    min-width: 0;
    width: 100%;
}

.dimpal-contact-main-section .dimpal-contact-field input,
.dimpal-contact-main-section .dimpal-contact-field select,
.dimpal-contact-main-section .dimpal-contact-field textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 56px;
    padding: 0 24px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    transition: border-color 150ms, background-color 150ms;
}

.dimpal-contact-main-section .dimpal-contact-field textarea {
    min-height: 128px;
    height: 128px;
    padding-block: 16px;
    resize: vertical;
}

.dimpal-contact-main-section .dimpal-contact-field input::placeholder,
.dimpal-contact-main-section .dimpal-contact-field textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
}

.dimpal-contact-main-section .dimpal-contact-field input:focus,
.dimpal-contact-main-section .dimpal-contact-field select:focus,
.dimpal-contact-main-section .dimpal-contact-field textarea:focus {
    outline: 2px solid rgba(212, 175, 55, 0.25);
    outline-offset: 2px;
    border-color: #d4af37;
    background: #fff;
}

.dimpal-contact-main-section .dimpal-contact-field .wpcf7-not-valid {
    border-color: #b91c1c;
}

.dimpal-contact-main-section .dimpal-contact-form-section .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #b91c1c;
    font-size: 12px;
    line-height: 1.4;
}

.dimpal-contact-main-section .dimpal-contact-form-section .wpcf7-response-output {
    margin: 24px 0 0;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Contact Form 7 Submit Button: reference-style navy pill with gold hover. */
.dimpal-contact-main-section .dimpal-contact-submit-row {
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #f1f5f9;
}

.dimpal-contact-main-section .dimpal-contact-submit-row p {
    margin: 0;
}

.dimpal-contact-main-section .dimpal-contact-submit-row input[type="submit"] {
    min-height: 64px;
    padding: 24px 48px;
    border: 0;
    border-radius: 999px;
    background: #020617;
    color: #fff;
    font-family: "Segoe UI", sans-serif;
    font-size: 12px;
    font-weight: 900;
    line-height: 16px;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transition: background-color 150ms, color 150ms;
}

.dimpal-contact-main-section .dimpal-contact-submit-row input[type="submit"]:hover {
    background: #d4af37;
    color: #020617;
}

.dimpal-contact-main-section .dimpal-contact-submit-row input[type="submit"]:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: 4px;
}

.dimpal-contact-main-section .dimpal-contact-submit-row .wpcf7-spinner {
    position: absolute;
    bottom: 20px;
    right: 8px;
    margin: 0;
    pointer-events: none;
}

/* Tablet Responsive Styles: native Elementor controls stack the main columns. */
@media (max-width: 1024px) {
    .dimpal-contact-main-section .dimpal-contact-field input,
    .dimpal-contact-main-section .dimpal-contact-field select,
    .dimpal-contact-main-section .dimpal-contact-field textarea {
        padding-inline: 20px;
    }
}

/* Mobile Responsive Styles: all fields stack, and the submit button fills its row. */
@media (max-width: 767px) {
    .dimpal-contact-main-section .dimpal-contact-form-section .dimpal-contact-enquiry-fields {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .dimpal-contact-main-section .dimpal-contact-submit-row,
    .dimpal-contact-main-section .dimpal-contact-submit-row p {
        display: block;
        width: 100%;
    }

    .dimpal-contact-main-section .dimpal-contact-submit-row input[type="submit"] {
        width: 100%;
        padding-inline: 24px;
    }

    .dimpal-contact-main-section .dimpal-contact-field input,
    .dimpal-contact-main-section .dimpal-contact-field select,
    .dimpal-contact-main-section .dimpal-contact-field textarea {
        padding-inline: 16px;
    }
}

/* ==========================================
   CONTACT US - MAIN SECTION END
========================================== */


/* ==========================================
   EXPLORE PAGE - HERO SECTION START
========================================== */

/* Hero Container */
.dimpal-explore-hero {
    isolation: isolate;
}
.dimpal-explore-hero > .elementor-widget {
    position: relative;
    z-index: 1;
    max-width: 100%;
}

/* Hero Background: image and dark overlay remain Elementor settings. */
.dimpal-explore-hero::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(to bottom, transparent, #FDFBF7);
    pointer-events: none;
    z-index: 0;
}

/* Hero Small Heading */
.dimpal-explore-hero .dimpal-explore-hero-eyebrow {
    backdrop-filter: blur(12px);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Hero Main Heading */
.dimpal-explore-hero .dimpal-explore-hero-title .elementor-heading-title {
    text-shadow: 0 25px 25px rgba(0, 0, 0, 0.15);
}
.dimpal-explore-hero .dimpal-explore-hero-city {
    background: linear-gradient(to right, #F1E4BC, #D4AF37, #D97706);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

/* Hero Description */
.dimpal-explore-hero .dimpal-explore-hero-description p {
    margin: 0;
    text-shadow: 0 10px 8px rgba(0, 0, 0, 0.04), 0 4px 3px rgba(0, 0, 0, 0.1);
}

/* Tablet Responsive */
@media (max-width: 1024px) {
    .dimpal-explore-hero .dimpal-explore-hero-description {
        max-width: min(672px, 100%);
    }
}

/* Mobile Responsive */
@media (max-width: 767px) {
    .dimpal-explore-hero .dimpal-explore-hero-eyebrow { max-width: 100%; }
    .dimpal-explore-hero .dimpal-explore-hero-title { min-width: 0; }
}

/* ==========================================
   EXPLORE PAGE - HERO SECTION END
========================================== */

/* ==========================================
   EXPLORE PAGE - ICONIC LANDMARKS START
========================================== */

/* Section Container */
.dimpal-iconic-landmarks .elementor-widget,
.dimpal-iconic-landmarks .e-con { min-width: 0; }

/* Section Heading */
.dimpal-iconic-landmarks .dimpal-landmarks-description p { margin: 0; }
.dimpal-iconic-landmarks .dimpal-landmarks-eyebrow .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 8px; }
.dimpal-iconic-landmarks .dimpal-landmarks-eyebrow .elementor-icon-box-icon { margin: 0; line-height: 0; }
.dimpal-iconic-landmarks .dimpal-landmarks-eyebrow .elementor-icon-box-title { margin: 0; }

/* Blog Cards Grid */
.dimpal-iconic-landmarks .dil-grid {
    display: grid;
    grid-template-columns: repeat(var(--dil-columns, 4), minmax(0, 1fr));
    grid-auto-rows: minmax(var(--dil-row-height, 300px), auto);
}
.dimpal-iconic-landmarks .dil-feature.dil-overlay .dil-card:first-child {
    grid-column: span var(--dil-feature-span, 2);
    grid-row: span var(--dil-feature-rows, 2);
}
.dimpal-iconic-landmarks .dil-grid.dil-top { grid-auto-rows: auto; }

/* Blog Card */
.dimpal-iconic-landmarks .dil-card {
    position: relative;
    display: flex;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    transition: box-shadow .5s;
}
.dimpal-iconic-landmarks .dil-link {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.dimpal-iconic-landmarks .dil-content { position: relative; z-index: 1; min-width: 0; }
.dimpal-iconic-landmarks .dil-copy { transform: translateY(16px); transition: transform .5s; }
.dimpal-iconic-landmarks .dil-category {
    display: inline-block;
    max-width: 100%;
    letter-spacing: .1em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.dimpal-iconic-landmarks .dil-draft {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    padding: 5px 10px;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font: 600 11px/1.5 "Segoe UI", sans-serif;
}
.dimpal-iconic-landmarks .dil-empty { margin: 0; padding-block: 24px; color: #64748b; }

/* Blog Featured Image */
.dimpal-iconic-landmarks .dil-media { position: absolute; inset: 0; overflow: hidden; }
.dimpal-iconic-landmarks .dil-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition: transform 1.5s ease-out, opacity .5s;
}
.dimpal-iconic-landmarks .dil-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--dil-overlay-color, #020617), rgba(15,23,42,.4) 50%, transparent);
    pointer-events: none;
    transition: opacity .5s;
}
.dimpal-iconic-landmarks .dil-top .dil-media { position: relative; inset: auto; flex-shrink: 0; }
.dimpal-iconic-landmarks .dil-top .dil-media::after { display: none; }
.dimpal-iconic-landmarks .dil-top .dil-link { justify-content: flex-start; }
.dimpal-iconic-landmarks .dil-top .dil-content { flex: 1; }

/* Blog Card Title */
.dimpal-iconic-landmarks .dil-title { margin: 0; overflow-wrap: anywhere; }

/* Blog Card Description */
.dimpal-iconic-landmarks .dil-excerpt { margin: 0; overflow-wrap: anywhere; }
.dimpal-iconic-landmarks .dil-reveal .dil-excerpt-wrap {
    display: none;
    opacity: 0;
    transition: opacity .5s;
}

/* Blog Card Button */
.dimpal-iconic-landmarks .dil-button { display: inline-block; margin-top: 16px; transition: color .3s, background-color .3s; }

/* Blog Card Hover Effects */
.dimpal-iconic-landmarks .dil-link:hover .dil-copy,
.dimpal-iconic-landmarks .dil-link:focus-visible .dil-copy,
.dimpal-iconic-landmarks .dil-always .dil-copy,
.dimpal-iconic-landmarks .dil-top .dil-copy { transform: none; }
.dimpal-iconic-landmarks .dil-zoom .dil-link:hover .dil-image,
.dimpal-iconic-landmarks .dil-zoom .dil-link:focus-visible .dil-image { transform: scale(1.1); opacity: 1; }
.dimpal-iconic-landmarks .dil-reveal .dil-link:hover .dil-excerpt-wrap,
.dimpal-iconic-landmarks .dil-reveal .dil-link:focus-visible .dil-excerpt-wrap { display: block; opacity: 1; }
.dimpal-iconic-landmarks .dil-link:focus-visible { outline: 3px solid #d4af37; outline-offset: -5px; }

/* ==========================================
   ICONIC LANDMARKS - HOVER LAYOUT SHIFT FIX
========================================== */

/* Keep card dimensions stable during hover: revealed excerpts must not size grid rows. */
.dimpal-iconic-landmarks .dil-overlay .dil-content {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
}

/* Preserve existing image zoom animation: image transforms and clipping are unchanged. */
/* Preserve existing text slide-up animation: copy transforms and timing are unchanged. */

/* Tablet Responsive Styles */
/* Native Elementor responsive controls own columns, row height and spacing. */

/* Mobile Responsive Styles */
/* Mobile controls default to one column; touch devices reveal excerpts. */
@media (hover: none), (pointer: coarse) {
    .dimpal-iconic-landmarks .dil-reveal .dil-excerpt-wrap { display: block; opacity: 1; }
    .dimpal-iconic-landmarks .dil-copy { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .dimpal-iconic-landmarks .dil-card,
    .dimpal-iconic-landmarks .dil-image,
    .dimpal-iconic-landmarks .dil-copy,
    .dimpal-iconic-landmarks .dil-media::after,
    .dimpal-iconic-landmarks .dil-excerpt-wrap,
    .dimpal-iconic-landmarks .dil-button { transition: none; }
}

/* ==========================================
   EXPLORE PAGE - ICONIC LANDMARKS END
========================================== */

/* ==========================================
   BLOG DESIGNER - PAGINATION START
========================================== */

/* Pagination Container */
.dimpal-iconic-landmarks .dbd-pagination { width: 100%; }
.dimpal-iconic-landmarks .dbd-pagination-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.dimpal-iconic-landmarks .dbd-pagination-list li { margin: 0; padding: 0; min-width: 0; max-width: 100%; }
.dimpal-iconic-landmarks .dbd-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Pagination Links */
.dimpal-iconic-landmarks .dbd-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: color .2s, background-color .2s, border-color .2s;
}
.dimpal-iconic-landmarks .dil-grid[id^="dimpal-blog-grid-"] { scroll-margin-top: 96px; }

/* Active Page */
/* Native Elementor controls own active colors and background. */
.dimpal-iconic-landmarks .dbd-pagination .current { cursor: default; }
.dimpal-iconic-landmarks .dbd-pagination .dots { border-color: transparent; }

/* Hover States */
/* Native Elementor controls own hover/focus colors and background. */
.dimpal-iconic-landmarks .dbd-pagination a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Responsive Styles */
/* Wrapping prevents overflow; Elementor device controls own typography and spacing. */
@media (prefers-reduced-motion: reduce) {
    .dimpal-iconic-landmarks .dbd-pagination .page-numbers { transition: none; }
}

/* ==========================================
   BLOG DESIGNER - PAGINATION END
========================================== */

/* ==========================================
   EXPLORE - BLOG LISTING SECTION START
========================================== */

/* Section Container */
.dimpal-explore-blog-listing .e-con,
.dimpal-explore-blog-listing .elementor-widget { min-width: 0; }

/* Background Styling */
/* Image, background color and overlay are native Elementor Container settings. */

/* Section Heading */
.dimpal-explore-blog-listing .dimpal-explore-blog-description p { margin: 0; }

/* Blog Listing */
.dimpal-explore-blog-listing .dil-grid {
    display: grid;
    grid-template-columns: repeat(var(--dil-columns, 1), minmax(0, 1fr));
    grid-auto-rows: auto;
    scroll-margin-top: 96px;
}

/* Blog Cards */
.dimpal-explore-blog-listing .dil-card {
    display: flex;
    position: relative;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    transition: box-shadow .3s;
}
.dimpal-explore-blog-listing .dil-link {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.dimpal-explore-blog-listing .dil-media { position: relative; flex-shrink: 0; overflow: hidden; }
.dimpal-explore-blog-listing .dil-media:empty { display: none; }
.dimpal-explore-blog-listing .dil-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.5s ease-out; }
.dimpal-explore-blog-listing .dil-content { flex: 1; min-width: 0; }
.dimpal-explore-blog-listing .dil-category { display: inline-block; max-width: 100%; text-transform: uppercase; overflow-wrap: anywhere; }
.dimpal-explore-blog-listing .dil-title,
.dimpal-explore-blog-listing .dil-excerpt { margin: 0; overflow-wrap: anywhere; }
.dimpal-explore-blog-listing .dil-button { display: inline-block; margin-top: 24px; transition: color .2s, background-color .2s; }
.dimpal-explore-blog-listing .dil-zoom .dil-link:hover .dil-image,
.dimpal-explore-blog-listing .dil-zoom .dil-link:focus-visible .dil-image { transform: scale(1.04); }
.dimpal-explore-blog-listing .dil-link:focus-visible { outline: 3px solid #d4af37; outline-offset: -5px; }
.dimpal-explore-blog-listing .dil-reveal .dil-excerpt-wrap { display: none; }
.dimpal-explore-blog-listing .dil-reveal .dil-link:hover .dil-excerpt-wrap,
.dimpal-explore-blog-listing .dil-reveal .dil-link:focus-visible .dil-excerpt-wrap { display: block; }

/* Pagination */
.dimpal-explore-blog-listing .dbd-pagination { width: 100%; }
.dimpal-explore-blog-listing .dbd-pagination-list { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; }
.dimpal-explore-blog-listing .dbd-pagination-list li { min-width: 0; max-width: 100%; margin: 0; padding: 0; }
.dimpal-explore-blog-listing .dbd-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: color .2s, background-color .2s;
}
.dimpal-explore-blog-listing .dbd-pagination a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.dimpal-explore-blog-listing .dbd-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Tablet Responsive */
/* Native Elementor controls own image height, spacing, columns and typography. */

/* Mobile Responsive */
/* Supported cards remain stacked on every device; pagination wraps naturally. */
@media (hover: none), (pointer: coarse) {
    .dimpal-explore-blog-listing .dil-reveal .dil-excerpt-wrap { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .dimpal-explore-blog-listing .dil-card,
    .dimpal-explore-blog-listing .dil-image,
    .dimpal-explore-blog-listing .dil-button,
    .dimpal-explore-blog-listing .dbd-pagination .page-numbers { transition: none; }
}

/* ==========================================
   EXPLORE - BLOG LISTING SECTION END
========================================== */

/* ==========================================
   ABOUT US - HERO SECTION START
========================================== */

/* About Hero Container */
/* Native Elementor controls own the image, position, overlay, height and spacing. */

/* About Hero Typography */
.dimpal-about-hero .dimpal-about-hero-description p { margin: 0; }

/* About Hero Responsive */
/* Tablet and mobile typography, padding and background position use native controls. */

/* ==========================================
   ABOUT US - HERO SECTION END
========================================== */

/* ==========================================
   ABOUT US - CONTENT SECTIONS START
========================================== */

/* Who We Are */
.dimpal-about-who-we-are .elementor-widget-text-editor p { margin: 0; }

/* Why Choose Us */
.dimpal-about-why-choose-us .elementor-widget-text-editor p { margin: 0; }

/* Our Commitment */
.dimpal-about-our-commitment .elementor-widget-text-editor p { margin: 0; }

/* Tablet Responsive */
/* Native Elementor controls own columns, image height, typography and spacing. */

/* Mobile Responsive */
/* Native Elementor controls stack the columns and set full-width images. */

/* ==========================================
   ABOUT US - CONTENT SECTIONS END
========================================== */

/* ==========================================
   HEADER - MENU FLASH FIX START
========================================== */

/* Turbo Addons hides this already-styled header until its ready script runs.
   Keep it visible during initialization; retain all ready/scroll/menu states. */
html.tahefobu-js #tahefobu-header:not(.tahefobu-ready) {
    opacity: 1;
    pointer-events: auto;
}

/* ==========================================
   HEADER - MENU FLASH FIX END
========================================== */

/* ==========================================
   DIMPAL SOCIAL FLOATING BUTTONS START
========================================== */

/* Floating Buttons Container */
.dimpal-social-floating {
    position: fixed;
    z-index: 9000;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: var(--dsfb-gap, 12px);
    width: max-content;
    max-width: calc(100vw - 12px);
    bottom: calc(var(--dsfb-bottom, 20px) + env(safe-area-inset-bottom, 0px));
    right: max(env(safe-area-inset-right, 0px), min(var(--dsfb-offset, 20px), calc(100vw - var(--dsfb-group-width, 116px) - 12px - env(safe-area-inset-left, 0px))));
    isolation: isolate;
}
.dimpal-social-floating.dsfb-position-left {
    right: auto;
    left: max(env(safe-area-inset-left, 0px), min(var(--dsfb-offset, 20px), calc(100vw - var(--dsfb-group-width, 116px) - 12px - env(safe-area-inset-right, 0px))));
}
.dimpal-social-floating .dsfb-button,
.dimpal-social-floating .dsfb-button:visited,
.dimpal-social-floating .dsfb-button:hover,
.dimpal-social-floating .dsfb-button:focus {
    display: inline-flex;
    flex: 0 0 var(--dsfb-size, 52px);
    align-items: center;
    justify-content: center;
    width: var(--dsfb-size, 52px);
    height: var(--dsfb-size, 52px);
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--dsfb-radius, 50%);
    background: var(--dsfb-bg);
    color: var(--dsfb-icon, #fff);
    box-shadow: 0 4px 16px rgba(15, 23, 42, .18);
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.dimpal-social-floating .dsfb-button > svg,
.dimpal-social-floating .dsfb-button > img {
    display: block;
    width: 52%;
    height: 52%;
    object-fit: contain;
    pointer-events: none;
}

/* Instagram Button */
.dimpal-social-floating .dimpal-social-instagram { --dsfb-bg: #C13584; }

/* WhatsApp Button */
.dimpal-social-floating .dimpal-social-whatsapp { --dsfb-bg: #25D366; }

/* Hover Effects */
.dimpal-social-floating .dsfb-button:hover {
    box-shadow: 0 6px 20px rgba(15, 23, 42, .24);
    filter: brightness(1.04);
}
.dimpal-social-floating.dsfb-hover-lift .dsfb-button:hover { transform: translateY(-3px); }
.dimpal-social-floating.dsfb-hover-scale .dsfb-button { transform-origin: right bottom; }
.dimpal-social-floating.dsfb-position-left.dsfb-hover-scale .dsfb-button { transform-origin: left bottom; }
.dimpal-social-floating.dsfb-hover-scale .dsfb-button:hover { transform: scale(1.04); }
.dimpal-social-floating .dsfb-button:focus-visible { outline: 3px solid #0f172a; outline-offset: 4px; }

/* Tooltip */
.dimpal-social-floating .dsfb-tooltip {
    position: absolute;
    bottom: calc(100% + 12px);
    right: 0;
    width: max-content;
    max-width: min(240px, calc(100vw - var(--dsfb-offset, 20px) - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    box-sizing: border-box;
    padding: 8px 12px;
    border-radius: 8px;
    background: #0f172a;
    color: #fff;
    font: 500 13px/1.5 "Segoe UI", sans-serif;
    text-align: center;
    overflow-wrap: anywhere;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: opacity .15s ease;
}
.dimpal-social-floating.dsfb-position-left .dsfb-tooltip { left: 0; right: auto; }
.dimpal-social-floating .dsfb-button:hover + .dsfb-tooltip,
.dimpal-social-floating .dsfb-button:focus-visible + .dsfb-tooltip { visibility: visible; opacity: 1; }

/* Mobile Responsive */
/* Keep the buttons behind the full-screen navigation while that panel is open. */
body.dimpal-menu-open .dimpal-social-floating { visibility: hidden; }
@media (max-width: 767px) {
    .dimpal-social-floating.dsfb-hide-mobile { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .dimpal-social-floating .dsfb-button,
    .dimpal-social-floating .dsfb-tooltip { transition: none; }
    .dimpal-social-floating.dsfb-hover-lift .dsfb-button:hover,
    .dimpal-social-floating.dsfb-hover-scale .dsfb-button:hover { transform: none; }
}

/* ==========================================
   DIMPAL SOCIAL FLOATING BUTTONS END
========================================== */

/* ==========================================
   SINGLE BLOG POST - FEATURED IMAGE START
========================================== */

/* Featured Image Container */
.single-post .dimpal-post-featured-image {
    width: 100%;
    margin: 0 0 24px;
}

/* Featured Image Responsive Styling */
.single-post .dimpal-post-featured-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    border-radius: 12px;
}

/* ==========================================
   SINGLE BLOG POST - FEATURED IMAGE END
========================================== */
