/**
 * Villa de Tezontepec - Modal de búsqueda
 */

body.vdt-search-modal-open {
    overflow: hidden !important;
}

body .vdt-search-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10001 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: var(--vdt-space-md) !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity var(--vdt-transition-slow), visibility var(--vdt-transition-slow) !important;
}

body .vdt-search-modal.is-open {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body .vdt-search-modal__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(6, 10, 18, 0.72) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body .vdt-search-modal__dialog {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 640px !important;
    margin-top: 0 !important;
    padding: 1.25rem !important;
    background: rgba(17, 27, 46, 0.96) !important;
    border: 1px solid rgba(110, 168, 254, 0.18) !important;
    border-radius: var(--vdt-radius-2xl) !important;
    box-shadow: var(--vdt-shadow-xl) !important;
    transform: translateY(12px) scale(0.98) !important;
    transition: transform var(--vdt-transition-slow) !important;
}

body .vdt-search-modal.is-open .vdt-search-modal__dialog {
    transform: translateY(0) scale(1) !important;
}

body .vdt-search-modal__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--vdt-space-md) !important;
    margin-bottom: var(--vdt-space-lg) !important;
}

body .vdt-search-modal__title {
    margin: 0 !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: var(--vdt-text-heading) !important;
    line-height: 1.3 !important;
}

body .vdt-search-modal__close {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--vdt-border) !important;
    border-radius: var(--vdt-radius-md) !important;
    background: transparent !important;
    color: var(--vdt-text-secondary) !important;
    cursor: pointer !important;
    transition: all var(--vdt-transition) !important;
    flex-shrink: 0 !important;
}

body .vdt-search-modal__close:hover {
    color: var(--vdt-text) !important;
    border-color: var(--vdt-primary) !important;
    background: var(--vdt-primary-light) !important;
}

body .vdt-search-modal__form {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--vdt-space-md) !important;
}

body .vdt-search-modal__scope {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.45rem !important;
}

body .vdt-search-modal__scope-option {
    position: relative !important;
    margin: 0 !important;
    cursor: pointer !important;
}

body .vdt-search-modal__scope-option input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body .vdt-search-modal__scope-label {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    min-height: 72px !important;
    padding: 0.65rem 0.45rem !important;
    border: 1px solid var(--vdt-border) !important;
    border-radius: var(--vdt-radius-lg) !important;
    background: var(--vdt-bg) !important;
    color: var(--vdt-text-secondary) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: all var(--vdt-transition) !important;
}

body .vdt-search-modal__scope-label i {
    font-size: 1rem !important;
    color: var(--vdt-text-muted) !important;
}

body .vdt-search-modal__scope-option:hover .vdt-search-modal__scope-label {
    border-color: var(--vdt-primary) !important;
    color: var(--vdt-text) !important;
    background: var(--vdt-primary-light) !important;
}

body .vdt-search-modal__scope-option input:checked + .vdt-search-modal__scope-label {
    border-color: var(--vdt-complement) !important;
    background: var(--vdt-complement-light) !important;
    color: var(--vdt-complement) !important;
    box-shadow: 0 0 0 1px rgba(245, 185, 66, 0.25) inset !important;
}

body .vdt-search-modal__scope-option input:checked + .vdt-search-modal__scope-label i {
    color: var(--vdt-complement) !important;
}

body .vdt-search-modal__scope-option input:focus-visible + .vdt-search-modal__scope-label {
    outline: 2px solid var(--vdt-primary) !important;
    outline-offset: 2px !important;
}

body .vdt-search-modal__field {
    display: flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    min-height: 54px !important;
    padding: 0 1rem !important;
    border: 1px solid var(--vdt-border) !important;
    border-radius: var(--vdt-radius-full) !important;
    background: var(--vdt-bg) !important;
    transition: border-color var(--vdt-transition), box-shadow var(--vdt-transition) !important;
}

body .vdt-search-modal__field:focus-within {
    border-color: var(--vdt-primary) !important;
    box-shadow: 0 0 0 3px var(--vdt-primary-light) !important;
}

body .vdt-search-modal__field-icon {
    color: var(--vdt-text-muted) !important;
    flex-shrink: 0 !important;
}

body .vdt-search-modal__input {
    flex: 1 !important;
    min-width: 0 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: var(--vdt-text) !important;
    font-size: 1rem !important;
    font-family: inherit !important;
    padding: 0.75rem 0 !important;
}

body .vdt-search-modal__input::placeholder {
    color: var(--vdt-text-muted) !important;
}

body .vdt-search-modal__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    min-height: 48px !important;
    padding: 0.75rem 1.25rem !important;
    border: none !important;
    border-radius: var(--vdt-radius-full) !important;
    background: var(--vdt-complement) !important;
    color: var(--vdt-text-on-complement) !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all var(--vdt-transition) !important;
}

body .vdt-search-modal__submit:hover {
    background: var(--vdt-complement-hover) !important;
    transform: translateY(-1px) !important;
}

body .vdt-search-modal__hint {
    margin: 0 !important;
    text-align: center !important;
    font-size: 0.75rem !important;
    color: var(--vdt-text-muted) !important;
}

@media (max-width: 767px) {
    body .vdt-search-modal {
        padding: 0 !important;
        align-items: stretch !important;
    }

    body .vdt-search-modal__dialog {
        max-width: none !important;
        min-height: 100dvh !important;
        margin-top: 0 !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        padding: 1rem !important;
    }

    body .vdt-search-modal__scope {
        grid-template-columns: 1fr !important;
    }

    body .vdt-search-modal__scope-label {
        flex-direction: row !important;
        justify-content: flex-start !important;
        min-height: 48px !important;
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
    }
}

@media (min-width: 768px) {
    body .vdt-search-modal {
        padding-top: 8vh !important;
    }

    body .vdt-search-modal__title {
        font-size: 1.25rem !important;
    }
}
