/* NAVIA brand color system · Bright green */
:root {
    --brand-primary: #00D233;
    --brand-primary-hover: #00B82C;
    --brand-primary-soft: #E5FBEB;
    --brand-primary-border: rgba(0, 210, 51, 0.24);
    --brand-primary-shadow: rgba(0, 210, 51, 0.28);

    --brand-secondary: #7AE892;
    --brand-background: #f7faf7;
    --brand-surface: #ffffff;
    --brand-accent: #00D233;
    --brand-accent-hover: #00B82C;
    --brand-accent-soft: #E5FBEB;
    --brand-accent-border: rgba(0, 210, 51, 0.35);
    --brand-accent-shadow: rgba(0, 210, 51, 0.32);
    --brand-text: #1a2e1f;
    --brand-deep: #0f3d1c;
    --brand-border: #dce8df;
}

/* Floating consultation CTA follows the active brand color. */
.floating-chat__pulse {
    background: color-mix(in srgb, var(--brand-primary) 25%, transparent);
}

.floating-chat__avatar {
    box-shadow:
        0 10px 24px rgba(15, 23, 42, 0.16),
        0 0 0 4px color-mix(in srgb, var(--brand-primary) 22%, transparent);
}

.floating-chat__phone {
    color: var(--brand-primary);
    font-size: 1.85rem;
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 32;
}

.floating-chat__label {
    background: var(--brand-primary);
    box-shadow: 0 6px 14px var(--brand-primary-shadow);
    transition: background 0.25s ease, transform 0.25s ease;
}

#floating-chat-toggle:hover .floating-chat__label {
    background: var(--brand-primary-hover);
    transform: translateY(-1px);
}

/*
 * Prevent iOS Safari / Android Chrome from auto-zooming when focusing inputs.
 * Browsers zoom if the focused control's computed font-size is below 16px.
 * Wrapped in :where() so page CSS can still shrink compact booking/search fields.
 */
@media screen and (max-width: 1023px) {
    :where(
        input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='hidden']),
        textarea,
        select
    ) {
        font-size: 16px !important;
    }

    /* Compact booking / listing / pricing filters */
    .cr-hub-booking__control,
    .cr-hub-booking__field--datetime input,
    .cr-hub-booking__field--datetime .form-control,
    .cr-hub-booking__field--datetime .flatpickr-input,
    .tour-hero-search input,
    .homestay-hero-search input,
    .hero-multi-search .hero-tour-search__input,
    .hero-multi-search select.hero-tour-search__input,
    .at-land .at-real-field input,
    .at-land .at-real-field select,
    .at-land-pricing__search input,
    .at-land-pricing__select select,
    .at-land-pricing__vehicle-picker select,
    .at-land-pricing input[type='search'],
    .at-land-pricing select,
    input[data-airport-route-search],
    select[data-airport-route-filter],
    select[data-airport-vehicle-select],
    .at-land-booking__control,
    .ski-booking__fields input,
    .ski-booking__fields select,
    .ski-booking__datetime input,
    .ski-booking__primary .select2-selection__rendered,
    .ski-booking__primary .select2-selection__placeholder,
    input[data-ski-table-search],
    select[data-ski-table-filter],
    select[data-ski-vehicle-select],
    .mdr-fields input,
    .mdr-fields select,
    .mdr-fields textarea,
    .cr-route-pricing__filters input,
    .cr-route-pricing__filters select,
    .cr-route-pricing__search input,
    .cr-route-pricing__vehicle-picker select,
    .cr-favorite-routes__search input,
    .cr-favorite-routes__region select,
    input[data-private-route-search],
    input[data-mdr-route-search],
    input[data-ger-route-search],
    .tour-price-table-filters__field input,
    .tour-price-table-filters__field select,
    .contact-field input,
    .contact-field select,
    .contact-field textarea {
        font-size: 12px !important;
    }

    .seasonal-page .filters input,
    .seasonal-page .filters select,
    .seasonal-page .field input,
    .seasonal-page .field select,
    .ssd-modal .ssd-field input,
    .ssd-book .ssd-winter select {
        font-size: 13px !important;
    }
}
