/* Final responsive form layer for public Lobiq pages. */
body:not(.admin-shell) *,
body:not(.admin-shell) *::before,
body:not(.admin-shell) *::after {
    box-sizing: border-box;
}

body:not(.admin-shell) {
    overflow-x: hidden;
}

body:not(.admin-shell) form,
body:not(.admin-shell) fieldset,
body:not(.admin-shell) .tracking-container,
body:not(.admin-shell) .tracking-box,
body:not(.admin-shell) .tracking-form,
body:not(.admin-shell) .quote-panel,
body:not(.admin-shell) .drop-form,
body:not(.admin-shell) .contact-grid,
body:not(.admin-shell) .drop-contact-grid,
body:not(.admin-shell) .footer-main {
    min-width: 0;
}

body:not(.admin-shell) input,
body:not(.admin-shell) select,
body:not(.admin-shell) textarea,
body:not(.admin-shell) button {
    max-width: 100%;
}

body:not(.admin-shell) input,
body:not(.admin-shell) select,
body:not(.admin-shell) textarea {
    min-width: 0;
}

body:not(.admin-shell) textarea {
    resize: vertical;
}

body:not(.admin-shell) .form-grid,
body:not(.admin-shell) .drop-form .form-grid,
body:not(.admin-shell) .contact-grid,
body:not(.admin-shell) .drop-contact-grid,
body:not(.admin-shell) .footer-main {
    min-width: 0;
}

body:not(.admin-shell) .hero-track,
body:not(.admin-shell) .drop-track-form,
body:not(.admin-shell) .newsletter-form,
body:not(.admin-shell) .tracking-input-group,
body:not(.admin-shell) .input-group {
    width: 100%;
    min-width: 0;
}

body:not(.admin-shell) .form-actions,
body:not(.admin-shell) .hero-actions,
body:not(.admin-shell) .text-center.no-print {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body:not(.admin-shell) .form-actions {
    align-items: center;
}

body:not(.admin-shell) .text-center.no-print {
    justify-content: center;
}

body:not(.admin-shell) .detail-row {
    gap: 8px 16px;
}

body:not(.admin-shell) .detail-row span:last-child,
body:not(.admin-shell) .info-value,
body:not(.admin-shell) .timeline-content,
body:not(.admin-shell) .tracking-number-display {
    min-width: 0;
    overflow-wrap: anywhere;
}

body:not(.admin-shell) .btn,
body:not(.admin-shell) .tracking-button,
body:not(.admin-shell) .drop-cta,
body:not(.admin-shell) .back-btn {
    white-space: normal;
}

@media (max-width: 900px) {
    body:not(.admin-shell) .tracking-container {
        width: min(100% - 28px, 1120px);
        padding-left: 0;
        padding-right: 0;
    }

    body:not(.admin-shell) .tracking-box,
    body:not(.admin-shell) .quote-panel,
    body:not(.admin-shell) .drop-form,
    body:not(.admin-shell) .shipment-details {
        border-radius: 20px;
    }
}

@media (max-width: 768px) {
    body:not(.admin-shell) input,
    body:not(.admin-shell) select,
    body:not(.admin-shell) textarea {
        font-size: 16px;
    }

    body:not(.admin-shell) .input-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body:not(.admin-shell) .input-group > .form-control,
    body:not(.admin-shell) .input-group > .input-group-append,
    body:not(.admin-shell) .input-group > .input-group-prepend,
    body:not(.admin-shell) .input-group .btn {
        width: 100%;
        margin: 0;
    }

    body:not(.admin-shell) .input-group > .form-control,
    body:not(.admin-shell) .input-group .btn {
        border-radius: 14px !important;
    }

    body:not(.admin-shell) .tracking-form {
        padding: 18px;
    }

    body:not(.admin-shell) .tracking-container {
        margin-left: auto;
        margin-right: auto;
    }

    body:not(.admin-shell) .shipment-details,
    body:not(.admin-shell) .result-container {
        padding: 18px;
    }

    body:not(.admin-shell) .shipment-details .row > [class*="col-"] {
        margin-bottom: 14px;
    }

    body:not(.admin-shell) .detail-row {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }

    body:not(.admin-shell) .form-actions .btn,
    body:not(.admin-shell) .hero-actions .btn,
    body:not(.admin-shell) .newsletter-form .btn,
    body:not(.admin-shell) .drop-track-form .btn,
    body:not(.admin-shell) .tracking-button,
    body:not(.admin-shell) .text-center.no-print .btn,
    body:not(.admin-shell) .back-btn {
        width: 100%;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    body:not(.admin-shell) .form-alert {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body:not(.admin-shell) .tracking-container {
        width: min(100% - 20px, 1120px);
    }

    body:not(.admin-shell) .tracking-form,
    body:not(.admin-shell) .quote-panel,
    body:not(.admin-shell) .drop-form,
    body:not(.admin-shell) .shipment-details,
    body:not(.admin-shell) .result-container {
        padding: 14px;
    }

    body:not(.admin-shell) .hero-track,
    body:not(.admin-shell) .drop-track-form,
    body:not(.admin-shell) .newsletter-form,
    body:not(.admin-shell) .form-grid,
    body:not(.admin-shell) .drop-form .form-grid {
        grid-template-columns: 1fr !important;
    }

    body:not(.admin-shell) .form-field.full {
        grid-column: auto;
    }

    body:not(.admin-shell) .tracking-input,
    body:not(.admin-shell) .drop-track-form input,
    body:not(.admin-shell) .newsletter-form input,
    body:not(.admin-shell) .form-field input,
    body:not(.admin-shell) .form-field select {
        min-height: 48px;
    }
}
