/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.1.1.1725320869
Updated: 2024-09-02 23:47:49

*/
.fa, .fas, .far, .fal, .fab {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* ============================= */
/* ========== Display ========== */
/* ============================= */
.hidden { display: none;}
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.items-center { align-items: center; }
.items-start { align-items: start; }
.items-end { align-items: end; }
.self-center { align-self: center; }
.block { display: block; }
.inline-flex { display: inline-flex; } 
.justify-center { justify-content: center; }
.justify-left { justify-content: left; }

/* ============================= */
/* ========= Position ========== */
/* ============================= */
.absolute { position: absolute; }
.relative { position: relative; }
.fixed { position: fixed; }
.top-0 { top: 0px; }
.left-0 { left: 0px; }
.bottom-\[-100px\] { bottom: -100px; }
.left-1\/2 { left: 50%; }
.top-1\/2 { top: 50%; }
.bottom-0 { bottom: 0; }
.bottom-3px { bottom: 3px; }
.z-1 { z-index: 1; }

/* ============================= */
/* ========= Sizing ============ */
/* ============================= */
.w-full { width: 100%; }
.w-screen { width: 100vw;}
.h-screen { height: 100vh;}
.w-fit { width: fit-content; }
.w-32 { width: 8rem; }
.h-fit { height: fit-content; }
.w-1\/4 { width: 25%; } 
.w-1\/3 { width: 33.333%; } 
.w-4\/5 { width: 80%; } 
.w-5 { width: 1.25rem; }
.h-5 { height: 1.25rem; }
.w-min-1\/5 {
    min-width: 20%;
}
.w-min-1\/6 {
    min-width: 16.66666%;
}
.w-min-100 {
    min-width: 100%;
}


/* ====================================== */
/* ======== Spacing (Padding & Gap) ===== */
/* ====================================== */
.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.pt-2 { padding-top: 0.5rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.mb-1 { margin-bottom: 0.25rem;}
.mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
.gap-1 { gap: 0.5rem; }
.gap-2 { gap: 1rem; }

/* ================================ */
/* =========== Borders ============ */
/* ================================ */
.border { border: 1px solid #d1d5db; }
.border-none { border: none; }
.border-2 { border-width: 2px; }
.border-indigo-100 { border-color: #dbeafe; }
.border-r-2 { border-right-width: 2px; }
.border-r-indigo-200 { border-right-color: #bfdbfe; }
.border-gray-300 { border-color: #d1d5db; } 
.rounded { border-radius: 0.25rem; }
.rounded-md { border-radius: 0.375rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xxlg { border-radius: 2rem; }
.solid {
    border-style: solid;
}

/* ============================= */
/* ========= Grid ============ */
/* ============================= */
/* Grid Layout */
.grid {
    display: grid;
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
}

.row-span-3 {
    grid-row: span 3 / span 3;
}

.row-span-4 {
    grid-row: span 4 / span 4;
}

/* ================================ */
/* =========== Colors ============= */
/* ================================ */
.bg-white { background-color: white; }
.bg-black-blured { background-color: #0000008A;}
.bg-yellowpenguin { background-color: #FCD700;}
.bg-greypenguin { background-color: #3C3836;}
.bg-indigo-100 { background-color: #dbeafe; }
.bg-indigo-200 { background-color: #bfdbfe; }
.bg-indigo-300 { background-color: #93c5fd; }
.bg-yellow-100 { background-color: #fef9c3; }
.bg-green-500 { background-color: #22c55e; }
.bg-green-500:hover { background-color: #16a34a; }
.bg-red-500 { background-color: #ef4444; }
.bg-gray-500 { background-color: #6b7280; }
.bg-gray-500:hover { background-color: #4b5563; }
.text-white { color: #ffffff; }
.text-yellowpenguin { color: #FCD700; }
.text-green-600 { color: #16a34a; }
.text-red-600 { color: #dc2626; }
.hover\:text-green-800:hover { color: #166534; }
.hover\:text-red-800:hover { color: #991b1b; }
.bg-transparent { background-color: transparent; }
.text-gray-500 { color: #6b7280; }
.text-yellow-500 { color: #facc15; } 
.border-yellow-500 { border-color: #facc15; } 
.border-yellowpenguin { border-color: #FCD700; } 

/* ================================ */
/* ========= Typography =========== */
/* ================================ */
.text-left { text-align: left; }
.text-center { text-align: center; }
.font-semibold { font-weight: 600; }
.text-md { font-size: 1rem; }
.text-gray-700 { color: #374151; }

/* ================================== */
/* ========= Effects ================ */
/* ================================== */
.shadow-lg { box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1); }
.overflow-hidden { overflow: hidden; }
.overflow-auto { overflow: auto; };
.focus\:ring-2:focus { outline: none; box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.5); }
.focus\:border-yellow-500:focus { border-color: #facc15; }

/* ================================ */
/* ========= Transform ============ */
/* ================================ */
.transform { transform: none; }
.transform-centered { transform: translate(-50%, -50%); }
.-translate-x-1\/2 { transform: translateX(-50%); }

/* ================================ */
/* ========= Cursor =============== */
/* ================================ */
.cursor-pointer, button { cursor: pointer; }

/* ================================ */
/* ======== Hover Effects ========= */
/* ================================ */
.hover\:bg-indigo-100:hover { background-color: #dbeafe; }
.hover\:bg-indigo-200:hover { background-color: #bfdbfe; }
.hover\:bg-yellow-500:hover { background-color: #facc15; }
.hover\:text-black:hover { color: #000000; }

/* ================================ */
/* =========== Buttons ============ */
/* ================================ */
.update-btn, .delete-btn {
    background-color: transparent;
    border: none;
    padding: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: color 150ms ease-in-out;
}

.font-semibold { font-weight: 600; }

.transition {
    transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform;
}

.duration-150 { transition-duration: 150ms; }
.ease-in-out { transition-timing-function: ease-in-out; }

/* Find Your Trip */
.flatpickr-input {
    width: 63% !important;
    font-size: 1rem;
    border: none !important;
    background-color: white !important;
}

.findYourTrip > * {
    transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.findYourTrip:hover > * {
    color: white;
    border-color: white;
}

#flatPicker {
    border: none!important;
}


#findYourTripToggle {
    display: none;
}

#findYourTripMobile {
    box-sizing: border-box;
    z-index: 2;
}

.adjustViewPort {
    height: calc(var(--vh, 1vh) * 100); /* ✅ Safe fallback if JS fails */
}

@media (max-width: 720px) {
    #findYourTripDesktop {
        display: none;
    }

    #findYourTripToggle {
        display: flex;
        position: fixed;
    }

}