/* ==========================================================================
   ALUMINIUMGLASS.CO.IN
   Public Marketplace — Enquiry Component
   File:
   /home/jqkmqvml/public_html/assets/css/components/enquiry.css

   PURPOSE
   --------------------------------------------------------------------------
   Styling only.

   LIVE DATA RULE
   --------------------------------------------------------------------------
   This stylesheet does NOT create, assume, or display fake marketplace data.

   All enquiry data must come from the backend/API:
     Public Page
        ↓
     enquiry-form.html
        ↓
     assets/js/enquiry/enquiry-form.js
        ↓
     assets/js/api/enquiry-api.js
        ↓
     Backend Public Enquiry Route
        ↓
     Controller
        ↓
     Enquiry Service
        ↓
     Enquiry Repository
        ↓
     LIVE DATABASE
        ↓
     Enquiry
        ↓
     Lead
        ↓
     Lead Matching
        ↓
     Eligible Vendor(s)

   CSS contains no business names, vendor names, prices, locations,
   enquiry IDs, lead IDs, counts, ratings, or other marketplace data.
   ========================================================================== */


/* ==========================================================================
   1. ENQUIRY ROOT
   ========================================================================== */

.enquiry,
[data-component="enquiry"],
.enquiry-component {
    --enquiry-gap: var(--space-4, 1rem);
    --enquiry-gap-sm: var(--space-2, 0.5rem);
    --enquiry-gap-lg: var(--space-6, 1.5rem);

    --enquiry-radius: var(--radius-lg, 0.75rem);
    --enquiry-radius-sm: var(--radius-md, 0.5rem);

    --enquiry-border:
        var(--border-color, #d9dee7);

    --enquiry-bg:
        var(--surface-color, #ffffff);

    --enquiry-bg-soft:
        var(--surface-muted, #f7f8fa);

    --enquiry-text:
        var(--text-color, #172033);

    --enquiry-text-muted:
        var(--text-muted, #667085);

    --enquiry-primary:
        var(--primary-color, #2563eb);

    --enquiry-primary-hover:
        var(--primary-color-hover, #1d4ed8);

    --enquiry-danger:
        var(--danger-color, #dc2626);

    --enquiry-success:
        var(--success-color, #16a34a);

    --enquiry-warning:
        var(--warning-color, #d97706);

    --enquiry-shadow:
        var(--shadow-md, 0 8px 24px rgba(15, 23, 42, 0.08));

    color: var(--enquiry-text);
    width: 100%;
}


/* ==========================================================================
   2. ENQUIRY CONTAINER
   ========================================================================== */

.enquiry__container {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

.enquiry__container--narrow {
    max-width: 760px;
}

.enquiry__container--medium {
    max-width: 960px;
}

.enquiry__container--wide {
    max-width: 1200px;
}


/* ==========================================================================
   3. ENQUIRY CARD
   ========================================================================== */

.enquiry-card,
.enquiry__card {
    width: 100%;
    background: var(--enquiry-bg);
    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius);
    box-shadow: var(--enquiry-shadow);
    overflow: hidden;
}

.enquiry-card--flat,
.enquiry__card--flat {
    box-shadow: none;
}

.enquiry-card--borderless,
.enquiry__card--borderless {
    border-color: transparent;
}


/* ==========================================================================
   4. HEADER
   ========================================================================== */

.enquiry__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--enquiry-gap);
    padding: var(--space-5, 1.25rem);
    border-bottom: 1px solid var(--enquiry-border);
}

.enquiry__header-content {
    min-width: 0;
    flex: 1 1 auto;
}

.enquiry__title {
    margin: 0;
    color: var(--enquiry-text);
    font-size: var(--font-size-xl, 1.25rem);
    font-weight: var(--font-weight-semibold, 600);
    line-height: 1.35;
}

.enquiry__subtitle {
    margin: var(--space-1, 0.25rem) 0 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.5;
}

.enquiry__header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2, 0.5rem);
    flex: 0 0 auto;
}


/* ==========================================================================
   5. BODY
   ========================================================================== */

.enquiry__body {
    padding: var(--space-5, 1.25rem);
}

.enquiry__body--compact {
    padding: var(--space-4, 1rem);
}

.enquiry__body--large {
    padding: var(--space-6, 1.5rem);
}


/* ==========================================================================
   6. FOOTER
   ========================================================================== */

.enquiry__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--enquiry-gap);
    padding: var(--space-4, 1rem) var(--space-5, 1.25rem);
    border-top: 1px solid var(--enquiry-border);
    background: var(--enquiry-bg-soft);
}

.enquiry__footer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2, 0.5rem);
}


/* ==========================================================================
   7. FORM
   ========================================================================== */

.enquiry-form {
    display: flex;
    flex-direction: column;
    gap: var(--enquiry-gap-lg);
    width: 100%;
}

.enquiry-form__section {
    display: flex;
    flex-direction: column;
    gap: var(--enquiry-gap);
}

.enquiry-form__section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--enquiry-gap);
}

.enquiry-form__section-title {
    margin: 0;
    color: var(--enquiry-text);
    font-size: var(--font-size-lg, 1.125rem);
    font-weight: var(--font-weight-semibold, 600);
}

.enquiry-form__section-description {
    margin: var(--space-1, 0.25rem) 0 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.5;
}


/* ==========================================================================
   8. FIELD GRID
   ========================================================================== */

.enquiry-form__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--enquiry-gap);
}

.enquiry-form__field {
    min-width: 0;
}

.enquiry-form__field--full {
    grid-column: 1 / -1;
}


/* ==========================================================================
   9. LABEL
   ========================================================================== */

.enquiry-form__label {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: var(--space-2, 0.5rem);
    color: var(--enquiry-text);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-medium, 500);
    line-height: 1.4;
}

.enquiry-form__required {
    color: var(--enquiry-danger);
}


/* ==========================================================================
   10. INPUT / SELECT / TEXTAREA
   ========================================================================== */

.enquiry-form__control {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 0.7rem 0.85rem;

    color: var(--enquiry-text);
    background: var(--enquiry-bg);

    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);

    outline: none;

    font: inherit;
    line-height: 1.4;

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease;
}

.enquiry-form textarea.enquiry-form__control {
    min-height: 120px;
    resize: vertical;
}

.enquiry-form select.enquiry-form__control {
    cursor: pointer;
}

.enquiry-form__control::placeholder {
    color: var(--enquiry-text-muted);
    opacity: 0.85;
}

.enquiry-form__control:hover:not(:disabled) {
    border-color: var(--primary-color, #2563eb);
}

.enquiry-form__control:focus-visible {
    border-color: var(--enquiry-primary);
    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--enquiry-primary) 18%,
            transparent
        );
}

.enquiry-form__control[aria-invalid="true"],
.enquiry-form__control.is-invalid {
    border-color: var(--enquiry-danger);
}

.enquiry-form__control[aria-invalid="true"]:focus-visible,
.enquiry-form__control.is-invalid:focus-visible {
    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--enquiry-danger) 16%,
            transparent
        );
}

.enquiry-form__control:disabled,
.enquiry-form__control[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.65;
    background: var(--enquiry-bg-soft);
}


/* ==========================================================================
   11. INPUT WITH ICON / ACTION
   ========================================================================== */

.enquiry-form__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.enquiry-form__input-wrap .enquiry-form__control {
    padding-inline-end: 2.75rem;
}

.enquiry-form__input-icon {
    position: absolute;
    inset-inline-end: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    color: var(--enquiry-text-muted);
    pointer-events: none;
}

.enquiry-form__input-action {
    position: absolute;
    inset-inline-end: 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;

    border: 0;
    border-radius: var(--enquiry-radius-sm);
    background: transparent;
    color: var(--enquiry-text-muted);

    cursor: pointer;
}

.enquiry-form__input-action:hover {
    color: var(--enquiry-primary);
    background: var(--enquiry-bg-soft);
}

.enquiry-form__input-action:focus-visible {
    outline: 2px solid var(--enquiry-primary);
    outline-offset: 2px;
}


/* ==========================================================================
   12. FIELD HELP / ERROR / SUCCESS
   ========================================================================== */

.enquiry-form__help {
    margin: var(--space-1, 0.25rem) 0 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-xs, 0.75rem);
    line-height: 1.5;
}

.enquiry-form__error {
    margin: var(--space-1, 0.25rem) 0 0;
    color: var(--enquiry-danger);
    font-size: var(--font-size-xs, 0.75rem);
    line-height: 1.5;
}

.enquiry-form__success {
    margin: var(--space-1, 0.25rem) 0 0;
    color: var(--enquiry-success);
    font-size: var(--font-size-xs, 0.75rem);
    line-height: 1.5;
}


/* ==========================================================================
   13. CATEGORY / SERVICE / PRODUCT / BUSINESS CONTEXT
   ========================================================================== */

.enquiry-context {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--enquiry-gap);
}

.enquiry-context__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3, 0.75rem);
    padding: var(--space-3, 0.75rem);

    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg-soft);
}

.enquiry-context__icon {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg);
    color: var(--enquiry-primary);
}

.enquiry-context__content {
    min-width: 0;
    flex: 1 1 auto;
}

.enquiry-context__label {
    margin: 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-xs, 0.75rem);
}

.enquiry-context__value {
    margin: 0.2rem 0 0;
    color: var(--enquiry-text);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-medium, 500);
    overflow-wrap: anywhere;
}


/* ==========================================================================
   14. LOCATION
   ========================================================================== */

.enquiry-location {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--enquiry-gap);
}

.enquiry-location__field {
    min-width: 0;
}

.enquiry-location__field--full {
    grid-column: 1 / -1;
}


/* ==========================================================================
   15. BUDGET / QUANTITY / REQUIREMENT
   ========================================================================== */

.enquiry-requirement {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--enquiry-gap);
}

.enquiry-requirement__field {
    min-width: 0;
}

.enquiry-requirement__field--full {
    grid-column: 1 / -1;
}


/* ==========================================================================
   16. CHECKBOX / RADIO
   ========================================================================== */

.enquiry-form__choice-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3, 0.75rem);
}

.enquiry-form__choice {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    gap: var(--space-2, 0.5rem);

    min-width: 0;
    cursor: pointer;
}

.enquiry-form__choice input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0.1rem 0 0;
    accent-color: var(--enquiry-primary);
}

.enquiry-form__choice-label {
    color: var(--enquiry-text);
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.45;
}


/* ==========================================================================
   17. CONSENT
   ========================================================================== */

.enquiry-consent {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2, 0.5rem);

    padding: var(--space-3, 0.75rem);

    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg-soft);
}

.enquiry-consent__checkbox {
    flex: 0 0 auto;
    margin-top: 0.15rem;
}

.enquiry-consent__text {
    min-width: 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-xs, 0.75rem);
    line-height: 1.55;
}

.enquiry-consent__link {
    color: var(--enquiry-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.enquiry-consent__link:hover {
    color: var(--enquiry-primary-hover);
}


/* ==========================================================================
   18. CAPTCHA / SECURITY AREA
   ========================================================================== */

.enquiry-security {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 0.5rem);
}

.enquiry-security__container {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;

    padding: var(--space-3, 0.75rem);

    border: 1px dashed var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg-soft);
}

.enquiry-security__status {
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-xs, 0.75rem);
}


/* ==========================================================================
   19. ACTIONS
   ========================================================================== */

.enquiry-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2, 0.5rem);
}

.enquiry-actions__button {
    min-height: 44px;
    padding: 0.65rem 1rem;

    border: 1px solid transparent;
    border-radius: var(--enquiry-radius-sm);

    font: inherit;
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-semibold, 600);

    cursor: pointer;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.enquiry-actions__button--primary {
    color: #ffffff;
    background: var(--enquiry-primary);
}

.enquiry-actions__button--primary:hover:not(:disabled) {
    background: var(--enquiry-primary-hover);
}

.enquiry-actions__button--secondary {
    color: var(--enquiry-text);
    background: var(--enquiry-bg);
    border-color: var(--enquiry-border);
}

.enquiry-actions__button--secondary:hover:not(:disabled) {
    background: var(--enquiry-bg-soft);
}

.enquiry-actions__button--danger {
    color: #ffffff;
    background: var(--enquiry-danger);
}

.enquiry-actions__button:focus-visible {
    outline: 2px solid var(--enquiry-primary);
    outline-offset: 2px;
}

.enquiry-actions__button:disabled,
.enquiry-actions__button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.6;
}


/* ==========================================================================
   20. LOADING STATE
   ========================================================================== */

.enquiry.is-loading,
.enquiry[data-loading="true"] {
    pointer-events: none;
}

.enquiry__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2, 0.5rem);

    min-height: 100px;
    padding: var(--space-5, 1.25rem);

    color: var(--enquiry-text-muted);
}

.enquiry__loading-indicator {
    width: 1.25rem;
    height: 1.25rem;

    border: 2px solid var(--enquiry-border);
    border-top-color: var(--enquiry-primary);
    border-radius: 50%;

    animation: enquiry-spin 700ms linear infinite;
}

@keyframes enquiry-spin {
    to {
        transform: rotate(360deg);
    }
}


/* ==========================================================================
   21. SUBMITTING STATE
   ========================================================================== */

.enquiry-form.is-submitting {
    cursor: progress;
}

.enquiry-form.is-submitting .enquiry-actions__button--primary {
    position: relative;
    cursor: progress;
}

.enquiry-form.is-submitting .enquiry-actions__button--primary::after {
    content: "";
    display: inline-block;

    width: 0.9rem;
    height: 0.9rem;

    margin-inline-start: 0.5rem;
    vertical-align: -0.1em;

    border: 2px solid currentColor;
    border-inline-end-color: transparent;
    border-radius: 50%;

    animation: enquiry-spin 700ms linear infinite;
}


/* ==========================================================================
   22. SUCCESS STATE
   ========================================================================== */

.enquiry-result,
.enquiry-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3, 0.75rem);

    padding: var(--space-6, 1.5rem);
    text-align: center;
}

.enquiry-result__icon,
.enquiry-success__icon {
    width: 3rem;
    height: 3rem;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: var(--enquiry-success);
    background: color-mix(
        in srgb,
        var(--enquiry-success) 10%,
        transparent
    );
}

.enquiry-result__title,
.enquiry-success__title {
    margin: 0;
    color: var(--enquiry-text);
    font-size: var(--font-size-xl, 1.25rem);
    font-weight: var(--font-weight-semibold, 600);
}

.enquiry-result__message,
.enquiry-success__message {
    max-width: 640px;
    margin: 0;
    color: var(--enquiry-text-muted);
    line-height: 1.6;
}


/* ==========================================================================
   23. ENQUIRY REFERENCE / STATUS
   ========================================================================== */

.enquiry-reference {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2, 0.5rem);

    padding: 0.5rem 0.75rem;

    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg-soft);

    color: var(--enquiry-text);
    font-size: var(--font-size-sm, 0.875rem);
}

.enquiry-reference__label {
    color: var(--enquiry-text-muted);
}

.enquiry-reference__value {
    font-weight: var(--font-weight-semibold, 600);
    overflow-wrap: anywhere;
}


/* ==========================================================================
   24. STATUS BADGES
   ========================================================================== */

.enquiry-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0.25rem 0.6rem;

    border: 1px solid transparent;
    border-radius: 999px;

    font-size: var(--font-size-xs, 0.75rem);
    font-weight: var(--font-weight-semibold, 600);
    line-height: 1.2;
}

.enquiry-status--pending {
    color: var(--enquiry-warning);
    background: color-mix(
        in srgb,
        var(--enquiry-warning) 10%,
        transparent
    );
    border-color: color-mix(
        in srgb,
        var(--enquiry-warning) 25%,
        transparent
    );
}

.enquiry-status--success,
.enquiry-status--completed {
    color: var(--enquiry-success);
    background: color-mix(
        in srgb,
        var(--enquiry-success) 10%,
        transparent
    );
    border-color: color-mix(
        in srgb,
        var(--enquiry-success) 25%,
        transparent
    );
}

.enquiry-status--error,
.enquiry-status--rejected {
    color: var(--enquiry-danger);
    background: color-mix(
        in srgb,
        var(--enquiry-danger) 10%,
        transparent
    );
    border-color: color-mix(
        in srgb,
        var(--enquiry-danger) 25%,
        transparent
    );
}


/* ==========================================================================
   25. LEAD MATCHING INFORMATION
   ========================================================================== */

.enquiry-matching {
    display: grid;
    gap: var(--enquiry-gap);
}

.enquiry-matching__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3, 0.75rem);

    padding: var(--space-3, 0.75rem);

    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius-sm);
    background: var(--enquiry-bg);
}

.enquiry-matching__indicator {
    flex: 0 0 auto;

    width: 0.7rem;
    height: 0.7rem;
    margin-top: 0.35rem;

    border-radius: 50%;
    background: var(--enquiry-text-muted);
}

.enquiry-matching__indicator--active {
    background: var(--enquiry-primary);
}

.enquiry-matching__content {
    min-width: 0;
    flex: 1 1 auto;
}

.enquiry-matching__title {
    margin: 0;
    color: var(--enquiry-text);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-semibold, 600);
}

.enquiry-matching__description {
    margin: 0.2rem 0 0;
    color: var(--enquiry-text-muted);
    font-size: var(--font-size-xs, 0.75rem);
    line-height: 1.5;
}


/* ==========================================================================
   26. ERROR / EMPTY STATES
   ========================================================================== */

.enquiry__error,
.enquiry__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 160px;
    padding: var(--space-6, 1.5rem);

    text-align: center;
}

.enquiry__error {
    color: var(--enquiry-danger);
}

.enquiry__empty {
    color: var(--enquiry-text-muted);
}

.enquiry__error-title,
.enquiry__empty-title {
    margin: 0 0 var(--space-1, 0.25rem);
    font-size: var(--font-size-lg, 1.125rem);
    font-weight: var(--font-weight-semibold, 600);
}

.enquiry__error-message,
.enquiry__empty-message {
    max-width: 600px;
    margin: 0;
    color: var(--enquiry-text-muted);
    line-height: 1.55;
}


/* ==========================================================================
   27. MODAL VARIANT
   ========================================================================== */

.enquiry-modal {
    width: min(100%, 720px);
    max-height: min(90vh, 900px);

    display: flex;
    flex-direction: column;

    background: var(--enquiry-bg);
    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius);
    box-shadow: var(--shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));

    overflow: hidden;
}

.enquiry-modal__header {
    flex: 0 0 auto;
}

.enquiry-modal__body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.enquiry-modal__footer {
    flex: 0 0 auto;
}


/* ==========================================================================
   28. INLINE ENQUIRY
   ========================================================================== */

.enquiry--inline {
    border: 1px solid var(--enquiry-border);
    border-radius: var(--enquiry-radius);
    background: var(--enquiry-bg);
}

.enquiry--inline .enquiry-form {
    gap: var(--enquiry-gap);
}


/* ==========================================================================
   29. COMPACT VARIANT
   ========================================================================== */

.enquiry--compact .enquiry__header,
.enquiry--compact .enquiry__body {
    padding: var(--space-4, 1rem);
}

.enquiry--compact .enquiry-form {
    gap: var(--enquiry-gap);
}

.enquiry--compact .enquiry-form__fields {
    gap: var(--space-3, 0.75rem);
}


/* ==========================================================================
   30. LARGE DESKTOP
   ========================================================================== */

@media (min-width: 1200px) {
    .enquiry-form__fields--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .enquiry-context--two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ==========================================================================
   31. TABLET
   ========================================================================== */

@media (max-width: 991px) {
    .enquiry__header,
    .enquiry__body,
    .enquiry__footer {
        padding: var(--space-4, 1rem);
    }

    .enquiry-form__fields {
        grid-template-columns: 1fr;
    }

    .enquiry-form__field--full {
        grid-column: auto;
    }

    .enquiry-location,
    .enquiry-requirement {
        grid-template-columns: 1fr;
    }

    .enquiry-location__field--full,
    .enquiry-requirement__field--full {
        grid-column: auto;
    }
}


/* ==========================================================================
   32. MOBILE
   ========================================================================== */

@media (max-width: 767px) {
    .enquiry__header {
        flex-direction: column;
    }

    .enquiry__header-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .enquiry__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .enquiry__footer-actions {
        justify-content: stretch;
    }

    .enquiry__footer-actions > * {
        flex: 1 1 auto;
    }

    .enquiry-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .enquiry-actions__button {
        width: 100%;
    }

    .enquiry-form__choice-group {
        flex-direction: column;
    }

    .enquiry-modal {
        width: 100%;
        max-height: 100dvh;
        border-radius: 0;
        border-inline: 0;
    }
}


/* ==========================================================================
   33. SMALL MOBILE
   ========================================================================== */

@media (max-width: 479px) {
    .enquiry__header,
    .enquiry__body,
    .enquiry__footer {
        padding: var(--space-3, 0.75rem);
    }

    .enquiry__title {
        font-size: var(--font-size-lg, 1.125rem);
    }

    .enquiry-form__control {
        min-height: 46px;
    }

    .enquiry-form textarea.enquiry-form__control {
        min-height: 110px;
    }

    .enquiry-context__item {
        padding: var(--space-2, 0.5rem);
    }
}


/* ==========================================================================
   34. RTL
   ========================================================================== */

[dir="rtl"] .enquiry,
.enquiry[dir="rtl"] {
    direction: rtl;
}

[dir="rtl"] .enquiry-form__input-action,
[dir="rtl"] .enquiry-form__input-icon {
    direction: rtl;
}


/* ==========================================================================
   35. FORCED COLORS / HIGH CONTRAST
   ========================================================================== */

@media (forced-colors: active) {
    .enquiry-card,
    .enquiry__card,
    .enquiry-modal,
    .enquiry-form__control,
    .enquiry-context__item,
    .enquiry-consent,
    .enquiry-security__container,
    .enquiry-reference,
    .enquiry-matching__item {
        border-color: CanvasText;
        forced-color-adjust: auto;
    }

    .enquiry-actions__button {
        border: 1px solid ButtonText;
    }

    .enquiry-actions__button--primary {
        color: ButtonText;
        background: ButtonFace;
    }

    .enquiry-form__control:focus-visible,
    .enquiry-actions__button:focus-visible,
    .enquiry-form__input-action:focus-visible {
        outline: 2px solid Highlight;
        box-shadow: none;
    }
}


/* ==========================================================================
   36. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .enquiry *,
    .enquiry *::before,
    .enquiry *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


/* ==========================================================================
   37. PRINT
   ========================================================================== */

@media print {
    .enquiry,
    .enquiry-card,
    .enquiry__card {
        color: #000000;
        background: #ffffff;
        border: 1px solid #000000;
        box-shadow: none;
    }

    .enquiry-actions,
    .enquiry__header-actions,
    .enquiry-form__input-action {
        display: none !important;
    }

    .enquiry-modal {
        width: 100%;
        max-height: none;
        border: 1px solid #000000;
        box-shadow: none;
    }

    .enquiry-modal__body {
        overflow: visible;
    }

    .enquiry-form__control {
        color: #000000;
        background: #ffffff;
        border-color: #000000;
    }
}