/* ============================================
   LASTMINUTE.COM INSPIRED THEME
   Deep purple + coral accent, modern & clean
   ============================================ */

:root {
    --theme-bg: #f2007d;
    --theme-accent: #FF4081;
    --theme-light: #FDE4EF;
    --theme-dark: #8B0048;
    --theme-gradient: linear-gradient(135deg, #f2007d 0%, #C2185B 100%);
    --theme-text: #2D2D2D;
    --theme-muted: #6B7280;
    --theme-border: #E5E7EB;
    --theme-surface: #FAFAFA;
    --theme-card-shadow: 0 2px 12px rgba(173, 0, 90, 0.08);
    --theme-card-hover-shadow: 0 8px 30px rgba(173, 0, 90, 0.15);
}

/* Override inline theme color set by admin panel */
body#fadein {
    --theme-bg: #f2007d;
}

::selection { background: #F48FB1; color: #fff; }

/* ---- TYPOGRAPHY ---- */
body {
    color: var(--theme-text);
}

/* ---- LINKS ---- */
a { color: var(--theme-bg); }
a:hover { color: var(--theme-dark); }

/* ---- BUTTONS ---- */
.btn-primary {
    background: #f2007d !important;
    border-color: #f2007d !important;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(173, 0, 90, 0.3);
}
.btn-primary:hover {
    background: #8B0048 !important;
    box-shadow: 0 6px 20px rgba(173, 0, 90, 0.4) !important;
    transform: translateY(-1px);
}
.btn-outline-primary {
    border-color: #f2007d !important;
    color: #f2007d !important;
    border-radius: 8px;
    font-weight: 600;
}
.btn-outline-primary:hover {
    background: #f2007d !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(173, 0, 90, 0.3);
}

/* ---- BACKGROUNDS ---- */
.bg-primary { background: #f2007d !important; }
.text-primary { color: #f2007d !important; }

/* ---- HEADER / NAVBAR ---- */
header.navbar {
    background: #f2007d !important;
    box-shadow: 0 2px 8px rgba(173, 0, 90, 0.2);
    backdrop-filter: blur(12px);
}
header.swap_navbar {
    background: #f2007d !important;
    box-shadow: 0 2px 16px rgba(173, 0, 90, 0.25);
}
.header_menu a {
    color: #fff !important;
    font-weight: 500;
    transition: color 0.2s ease;
}
.header_menu a:hover,
.header_menu a.active {
    color: #fff !important;
    opacity: 0.85;
}
.nav-link::before {
    background-color: #fff;
    height: 3px;
    border-radius: 3px;
}
.navbar-nav .nav-link.active,
.navbar-nav .show > .nav-link {
    color: #fff !important;
    font-weight: 700;
}
.navbar-nav .nav-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}
header .btn:hover,
.btn-check:checked + .btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check) + .btn:active {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
}
/* Header dropdowns & controls - white text */
header .nav-link,
header .nav-item a,
header .dropdown-toggle {
    color: #fff !important;
}
header .header_options {
    color: #fff !important;
}
header .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
}
header .navbar-toggler-icon {
    filter: brightness(0) invert(1);
}
header .nav-item .dropdown-toggle svg {
    stroke: #fff !important;
}
header .nav-item .border {
    border-color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}
header .nav-item .bg-light {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* ---- HERO SECTION ---- */
.hero {
    background: #000 !important;
    background-image: none !important;
    min-height: 420px;
}
.hero::after {
    background-image: linear-gradient(135deg, #000 0%, #f2007d 50%, #000 100%) !important;
    opacity: 0.95;
}
.hero:before {
    background: linear-gradient(to right, rgba(139, 0, 72, 0.9), rgba(233, 30, 99, 0.3) 70%) !important;
    mix-blend-mode: normal;
}
.hero_text h4,
.hero_text p {
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.hero_text h4 {
    font-size: 28px !important;
    letter-spacing: -0.5px;
}

/* ---- SEARCH PANEL ---- */
.main_search {
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(92, 45, 145, 0.12);
}
.main_search .nav.nav-tabs {
    background: #fff;
    border-radius: 16px 16px 0 0;
    padding: 12px 18px !important;
    border-bottom: 1px solid var(--theme-border);
}
.main_search .nav-item .nav-link {
    font-weight: 600;
    border-bottom: 3px solid transparent;
    border-color: transparent !important;
    gap: 9px;
    display: flex;
    align-items: center;
    font-size: 14px;
    border-radius: 8px;
    padding: 12px 18px;
    color: var(--theme-muted);
    transition: all 0.2s ease;
}
.main_search .nav-item .nav-link:hover {
    background: var(--theme-light);
    color: var(--theme-bg);
}
.main_search .nav-item .nav-link.active {
    border-bottom-color: var(--theme-accent) !important;
    background: var(--theme-light) !important;
    color: var(--theme-bg) !important;
    fill: var(--theme-bg) !important;
    border-radius: 8px;
}
.main_search .nav-item .nav-link.active svg {
    fill: var(--theme-bg);
}
.nav-tabs svg {
    fill: var(--theme-bg) !important;
}

/* ---- FORM INPUTS ---- */
.main_search input,
.search_box input {
    height: 60px !important;
    border: 1.5px solid var(--theme-border);
    border-radius: 10px !important;
    font-size: 15px;
    transition: all 0.2s ease;
}
.main_search input:focus,
.search_box input:focus {
    border-color: var(--theme-bg) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(92, 45, 145, 0.1) !important;
}
.main_search input:hover,
.search_box input:hover {
    border-color: var(--theme-bg) !important;
    background: #fff !important;
}
.dropdown-btn {
    border: 1.5px solid var(--theme-border);
    border-radius: 10px;
    height: 60px;
    transition: all 0.2s ease;
}
.dropdown-btn:hover {
    border-color: var(--theme-bg) !important;
    background: #fff !important;
}
.dropdown-btn:focus {
    border-color: var(--theme-bg) !important;
    box-shadow: 0 0 0 3px rgba(92, 45, 145, 0.1) !important;
}
.input-items .select2-selection {
    border: 1.5px solid var(--theme-border) !important;
    border-radius: 10px !important;
    height: 60px !important;
    padding: 20px 24px !important;
    transition: all 0.2s ease;
}
.input-items .select2-selection:hover {
    border-color: var(--theme-bg) !important;
    background: #fff;
}
.form-floating:hover select {
    border: 1.5px solid var(--theme-bg) !important;
}
input:focus, select:focus {
    background-color: #fff !important;
    border: 1.5px solid var(--theme-bg) !important;
    box-shadow: 0 0 0 3px rgba(92, 45, 145, 0.1) !important;
}

/* ---- SELECT2 DROPDOWN ---- */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--theme-bg) !important;
    color: #fff;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] .btn {
    color: #fff !important;
    border-color: #fff;
}
.select2-results__option.select2-results__option--highlighted:hover .btn {
    color: #fff !important;
    border-color: #fff;
}

/* ---- PILLS / TABS ---- */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: #f2007d !important;
    border: none !important;
    border-radius: 10px !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(173, 0, 90, 0.25);
}

/* ---- CARDS ---- */
.card-item {
    border-radius: 14px;
    border: 1px solid var(--theme-border);
    box-shadow: var(--theme-card-shadow);
    transition: all 0.3s ease;
    overflow: hidden;
}
.card-item:hover {
    box-shadow: var(--theme-card-hover-shadow);
    transform: translateY(-4px);
    border-color: rgba(173, 0, 90, 0.2);
}
.card-item .card-img img {
    border-radius: 14px 14px 0 0;
}
.card-item .card-title a:hover {
    color: var(--theme-bg);
}

/* ---- DEAL CARDS ---- */
.deal-card {
    border-radius: 14px;
    border: 1px solid var(--theme-border);
    box-shadow: var(--theme-card-shadow);
    transition: all 0.3s ease;
}
.deal-card:hover {
    box-shadow: 0 0 0 2px var(--theme-bg) !important;
    transform: translateY(-2px);
}

/* ---- FEATURED SECTIONS ---- */
.featured {
    background: linear-gradient(135deg, #FDE4EF 0%, #FCE4EC 50%, #F8BBD0 100%) !important;
    border-radius: 20px;
}
.featured_flights {
    border-radius: 20px;
    background: linear-gradient(135deg, #FDE4EF 0%, #FCE4EC 100%);
}

/* ---- HOVER PRIMARY ---- */
.hover-primary {
    border: 1.5px solid var(--theme-border);
    background-color: #fff;
    border-radius: 12px;
    transition: all 0.2s ease;
}
.hover-primary:hover {
    outline: none;
    border-color: #f2007d;
    background-color: #fff;
    box-shadow: 0 4px 16px rgba(173, 0, 90, 0.1);
}
.plane-svg {
    background-color: var(--theme-light);
    border-radius: 8px;
}
.plane-svg path {
    fill: var(--theme-bg);
}
.hover-primary:hover .plane-svg {
    background-color: var(--theme-bg);
}
.hover-primary:hover .plane-svg path {
    fill: #fff;
}

/* ---- SWAP PLACES ---- */
.swap-places {
    border: 2px solid var(--theme-bg);
    background: var(--theme-light);
    border-radius: 50%;
}
.swap-places:hover {
    background: var(--theme-bg);
}
.swap-places:hover .swap-places__arrow svg {
    fill: #fff;
}
.swap-places__arrow svg {
    fill: var(--theme-bg);
}

/* ---- FORM CHECKS ---- */
.form-check-input:checked {
    background-color: var(--theme-bg) !important;
    border-color: var(--theme-bg) !important;
}
.form-check-input {
    border: 1.5px solid var(--theme-bg) !important;
}
.booking-detail-form .form-check:hover {
    border: 1px solid var(--theme-bg) !important;
}

/* ---- RANGE SLIDER ---- */
.irs--round .irs-handle { border-color: var(--theme-bg); }
.irs--round .irs-bar { background-color: var(--theme-bg); }
.irs--round .irs-from,
.irs--round .irs-single,
.irs--round .irs-to { background-color: var(--theme-bg); }
.irs--round .irs-from:before,
.irs--round .irs-single:before,
.irs--round .irs-to:before { border-top-color: var(--theme-bg); }

/* ---- DATEPICKER ---- */
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
    border-color: var(--theme-bg);
    box-shadow: 0 0 0 2px var(--theme-bg);
    border-radius: 6px;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
    color: var(--theme-bg);
    font-weight: bold;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover {
    background: var(--theme-gradient) !important;
    color: #fff !important;
    border-radius: 6px;
}

/* ---- FOOTER ---- */
.mobile_apps {
    background: #f2007d !important;
}
.footer-area {
    background: #FAFAFA;
}
.footer-area .footm a {
    color: var(--theme-text);
}
.footer-area .footm a:hover {
    color: var(--theme-bg);
}

/* ---- PAGINATION ---- */
.pag--nav {
    background-color: var(--theme-bg) !important;
    border-radius: 8px !important;
}
.pagination--listjs > li.active {
    border-bottom-color: var(--theme-bg);
}
.pagination--listjs > li > a:hover {
    color: var(--theme-bg);
}

/* ---- USER MENU ---- */
.user_menu li .active {
    background: #f2007d !important;
    border-radius: 8px !important;
}
.user_menu li .active svg {
    stroke: #fff;
}

/* ---- HOTEL / FLIGHT LIST ---- */
.hotel_list:hover a {
    border-color: var(--theme-bg);
    background: var(--theme-light);
}
.flight_list:hover {
    border-color: var(--theme-bg);
    background: var(--theme-light);
}

/* ---- STARS ---- */
.stars { fill: #FF9800; stroke: #FF9800; }
.stars_o { fill: #fff; stroke: #FF9800; }

/* ---- MISC ---- */
.dropdown-toggle::after { border-top: none; }
input, select.textarea { outline: 0; box-shadow: none !important; }
.most--popular-from button,
.most--popular-to button {
    border-color: transparent !important;
    color: #000 !important;
}
.roomBtn input,
.qtyBtn input:hover {
    background-color: transparent !important;
    border: transparent !important;
}

/* ---- SUBSCRIBE BUTTON ---- */
.subscribe.btn.btn-primary {
    background: var(--theme-accent) !important;
    border-color: var(--theme-accent) !important;
    border-radius: 10px;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(233, 30, 99, 0.3);
}
.subscribe.btn.btn-primary:hover {
    background: #C2185B !important;
    box-shadow: 0 6px 20px rgba(233, 30, 99, 0.4);
}

/* ---- DROPDOWN MENU ---- */
.dropdown-menu {
    border-radius: 12px;
    border: 1px solid var(--theme-border);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    padding: 8px;
}
.dropdown-menu .dropdown-item {
    border-radius: 8px;
    padding: 8px 14px;
    transition: all 0.15s ease;
}
.dropdown-menu .dropdown-item:hover {
    background: var(--theme-light);
    color: var(--theme-bg);
}

/* ---- BADGE ---- */
.card-item .card-img .badge {
    background: var(--theme-accent);
    border-radius: 20px;
    font-weight: 600;
}

/* ---- ICON BOX ---- */
.icon-box {
    border: 1px solid var(--theme-border);
    border-radius: 16px;
    background: #fff;
    transition: all 0.3s ease;
}
.icon-box:hover {
    box-shadow: var(--theme-card-hover-shadow);
    border-color: rgba(173, 0, 90, 0.2);
}
.icon-box .info-icon {
    background: #f2007d;
    border-radius: 14px;
}
.info-icon svg {
    stroke: #fff !important;
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #F48FB1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #f2007d;
}
