/*
 * Travel Sky Mobile Optimizer
 * Safe, lightweight responsive CSS.
 */

/* Prevent accidental horizontal overflow */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

img, video, iframe, svg {
    max-width: 100%;
    height: auto;
}

input, select, textarea, button {
    max-width: 100%;
}

/* Tracker: support common wrapper names used by shortcode/plugin versions */
.travel-sky-tracker,
.travel-sky-tracker-wrap,
.travel-sky-tracker-wrapper,
#travel-sky-tracker,
.ts-tracker,
.ts-application-tracker,
[class*="travel-sky-tracker"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.travel-sky-tracker *,
.travel-sky-tracker-wrap *,
.travel-sky-tracker-wrapper *,
#travel-sky-tracker *,
.ts-tracker *,
.ts-application-tracker * {
    box-sizing: border-box;
}

/* Form controls inside tracker */
.travel-sky-tracker input,
.travel-sky-tracker select,
.travel-sky-tracker textarea,
.travel-sky-tracker button,
.travel-sky-tracker-wrap input,
.travel-sky-tracker-wrap select,
.travel-sky-tracker-wrap textarea,
.travel-sky-tracker-wrap button,
#travel-sky-tracker input,
#travel-sky-tracker select,
#travel-sky-tracker textarea,
#travel-sky-tracker button {
    min-height: 46px;
    width: 100%;
}

/* Long IDs/status text should wrap instead of breaking the layout */
.travel-sky-tracker,
.travel-sky-tracker p,
.travel-sky-tracker div,
.travel-sky-tracker span,
.travel-sky-tracker td,
.travel-sky-tracker th,
#travel-sky-tracker,
#travel-sky-tracker p,
#travel-sky-tracker div,
#travel-sky-tracker span,
#travel-sky-tracker td,
#travel-sky-tracker th {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Tables become horizontally scrollable instead of stretching the page */
.travel-sky-tracker table,
.travel-sky-tracker-wrap table,
#travel-sky-tracker table {
    width: 100%;
    max-width: 100%;
}

/* Elementor media/widgets */
.elementor img,
.elementor video,
.elementor iframe {
    max-width: 100%;
}

/* Mobile navigation and common CTA buttons */
@media (max-width: 767px) {
    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap {
        max-width: 100%;
    }

    .elementor-button,
    .elementor-widget-button a {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    /* Tracker card spacing */
    .travel-sky-tracker,
    .travel-sky-tracker-wrap,
    .travel-sky-tracker-wrapper,
    #travel-sky-tracker,
    .ts-tracker,
    .ts-application-tracker {
        padding: 0 !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* Make likely form rows stack vertically */
    .travel-sky-tracker .row,
    .travel-sky-tracker .form-row,
    .travel-sky-tracker .form-group,
    .travel-sky-tracker-wrap .row,
    .travel-sky-tracker-wrap .form-row,
    .travel-sky-tracker-wrap .form-group,
    #travel-sky-tracker .row,
    #travel-sky-tracker .form-row,
    #travel-sky-tracker .form-group {
        width: 100%;
        max-width: 100%;
    }

    .travel-sky-tracker button,
    .travel-sky-tracker input[type="submit"],
    .travel-sky-tracker input[type="button"],
    .travel-sky-tracker-wrap button,
    .travel-sky-tracker-wrap input[type="submit"],
    #travel-sky-tracker button,
    #travel-sky-tracker input[type="submit"] {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* Prevent fixed-width elements from creating overflow */
    .travel-sky-tracker [style*="width"],
    .travel-sky-tracker-wrap [style*="width"],
    #travel-sky-tracker [style*="width"] {
        max-width: 100% !important;
    }

    /* Responsive table container */
    .travel-sky-tracker .table-responsive,
    .travel-sky-tracker-wrap .table-responsive,
    #travel-sky-tracker .table-responsive {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Improve Elementor mobile section spacing without forcing a global redesign */
    .elementor-widget-container {
        max-width: 100%;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .elementor-heading-title {
        overflow-wrap: anywhere;
    }

    .elementor-button {
        padding: 12px 18px;
    }

    .travel-sky-tracker input,
    .travel-sky-tracker select,
    .travel-sky-tracker textarea,
    .travel-sky-tracker button,
    .travel-sky-tracker-wrap input,
    .travel-sky-tracker-wrap select,
    .travel-sky-tracker-wrap textarea,
    .travel-sky-tracker-wrap button,
    #travel-sky-tracker input,
    #travel-sky-tracker select,
    #travel-sky-tracker textarea,
    #travel-sky-tracker button {
        font-size: 16px;
    }
}
