/* Vehicles archive styles — reuse hover-flip card component classes where possible */

.ttm-vehicles-top {
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:18px;
}

.ttm-vehicles-city-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;justify-content:center;flex-wrap:wrap}
.ttm-city-tab{padding:8px 12px;border:1px solid #e6e6e6;border-radius:999px;cursor:pointer;background:#fff}
.ttm-city-tab.active{background:#00847c;color:#fff;border-color:#00847c}

.ttm-vehicles-heading{font-size:1.4rem;margin:8px 0}

.ttm-vehicles-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ttm-filter-group{display:flex;gap:8px;align-items:center}

.ttm-vehicles-grid{display:grid;  margin-bottom: 30px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}

/* Reuse .dest-card styles where possible; vehicle card scaffold */
.ttm-vehicle-card { cursor: pointer; }
.ttm-vehicle-img img{width:100%;height:auto;display:block}

.ttm-vehicle-price{position:absolute;top:12px;right:12px;background:#00847c;color:#fff;padding:6px 10px;border-radius:6px}

.ttm-vehicles-empty{padding:40px;text-align:center;color:#666}

/* Top area styling: align with our-destinations/header styles */
.ttm-vehicles-top { margin-bottom: 28px; }
.ttm-vehicles-hero { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; margin-bottom:12px; }
.ttm-vehicles-city-tabs { display:flex; gap:12px; margin-bottom:12px; justify-content:center; flex-wrap:wrap; }
.ttm-city-tab { padding:8px 14px; border-radius:999px; border:1px solid rgba(0,0,0,0.06); background:#fff; font-weight:700; }
.ttm-city-tab.active { background:var(--gold); color:#fff; border-color:var(--gold); }

.ttm-vehicles-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:8px; }
.ttm-vehicles-heading { font-family: 'Orbitron', sans-serif; font-size:1.6rem; font-weight:800; margin:0; color:#0a2e2b; }
.ttm-vehicles-top .ttm-vehicles-heading .city-name { color:var(--gold); }

.ttm-vehicles-controls { display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; margin-top:0; }
.ttm-filter-group { display:flex; flex-direction:column; gap:4px; min-width:150px; }
.ttm-filter-group label { display:block; font-size:0.85rem; color:#555; margin-bottom:0; }
.ttm-filter-group select, .ttm-filter-group input[type="text"] { padding:8px 10px; border-radius:8px; border:1px solid #e6e6e6; background:#fff; width:100%; }
.ttm-filter-types { display:flex; gap:8px; flex-wrap:wrap; }
.ttm-filter-types label { margin-right:0; font-size:0.95rem; display:inline-flex; align-items:center; gap:6px; }

@media (max-width:680px){
    .ttm-vehicles-heading-row{flex-direction:column;align-items:flex-start}
    .ttm-vehicles-controls{width:100%;flex-direction:column;align-items:stretch}
    .ttm-vehicles-city-tabs{overflow:auto;justify-content:flex-start}
}

/* Popup styles reuse ttm-popup from packages; tweak as needed */
.ttm-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
}

.ttm-popup[aria-hidden="true"] {
    display: none;
}

.ttm-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
}

.ttm-popup .ttm-popup-content{background:#fff;padding:18px;border-radius:18px;position:relative;z-index:2;max-width:720px;width:min(100%,720px);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.ttm-vehicle-inner img{max-width:100%;height:auto;border-radius:10px;margin-bottom:10px}

/* Vehicle detail popup — align with quickview styles */
.ttm-vehicle-inner {
    padding: 40px;
}

.ttm-btn,
.ttm-booking-inner .ttm-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 22px;
    border:none;
    border-radius:999px;
    font-family:'Orbitron',sans-serif;
    font-size:0.9rem;
    letter-spacing:1px;
    text-transform:uppercase;
    font-weight:700;
    cursor:pointer;
    transition:all 0.3s ease;
    text-decoration:none;
}

.ttm-btn-primary,
.ttm-booking-inner .ttm-btn-primary,
#ttm-vehicle-want-book {
    background:#00847c;
    color:#fff;
    box-shadow:0 8px 20px rgba(0,132,124,0.24);
}

.ttm-btn:hover,
.ttm-btn-primary:hover,
#ttm-vehicle-want-book:hover,
.ttm-booking-inner .ttm-btn-primary:hover {
    background:#00635c;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,132,124,0.28);
}

.ttm-vehicle-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: #0a2e2b;
    margin: 0 0 12px;
    line-height: 1.2;
    letter-spacing: -0.3px;
}

/* Price badge top-right */
.ttm-vehicle-price-badge,
.ttm-vehicle-price {
    position: absolute;
    top: 18px;
    right: 18px;
    background: linear-gradient(135deg, var(--gold), #00c8b4);
    color: #fff;
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 800;
    font-family: 'Orbitron', sans-serif;
    font-size: 0.95rem;
    box-shadow: 0 8px 20px rgba(0,132,124,0.18);
    z-index: 4;
    white-space: nowrap;
}

.ttm-vehicle-img {
    margin-bottom: 14px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(6, 20, 18, 0.12);
}

.ttm-vehicle-meta {
    display: flex;
    gap: 12px;
    margin: 8px 0 16px;
    flex-wrap: wrap;
}

.ttm-chip { /* reused from our-packages, but ensure spacing here */
    display: inline-block;
    background: rgba(0, 132, 124, 0.12);
    border: 1px solid rgba(0, 132, 124, 0.2);
    color: #00847c;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 500;
}

.ttm-vehicle-desc {
    color: #444;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 0 18px;
}

/* CTA area */
.ttm-vehicle-actions { margin-top: 18px; display:flex; gap:12px; justify-content:flex-start; }

/* Booking popup form inputs — map generic selectors to polished styles (don’t change markup JS) */
.ttm-booking-inner input[type="text"],
.ttm-booking-inner input[type="tel"],
.ttm-booking-inner input[type="date"],
.ttm-booking-inner input[type="number"],
.ttm-booking-inner select,
.ttm-booking-inner textarea {
    padding: 10px 12px;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    width: 100%;
}

.ttm-booking-inner input:focus,
.ttm-booking-inner select:focus,
.ttm-booking-inner textarea:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(0,132,124,0.06);
}

/* Labels */
.ttm-booking-inner form { display:flex; flex-direction:column; gap:14px; }
.ttm-booking-inner .ttm-form-group { margin:0; }
.ttm-booking-inner label { display:block; font-weight:600; margin-bottom:8px; color:#333; }

/* Two-column small inputs row */
.ttm-form-row { display:flex; gap:12px; }
.ttm-form-col { flex:1; min-width:120px; }

/* Confirm button style (reuse ttm-btn-primary pattern already present) */
.ttm-booking-inner .ttm-btn-primary { width:100%; padding:12px 18px; border-radius:10px; }

/* Close button polish ensure circular */
.ttm-popup-close { width:44px; height:44px; border-radius:50%; background:#fff; color:#0a2e2b; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; border:1px solid rgba(0,0,0,0.06); box-shadow:0 8px 20px rgba(0,0,0,0.08); }
.ttm-popup-close:hover { background:#f5f5f5; color:#00847c; transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,0.12); }

/* Mobile tweaks */
@media (max-width:640px){
    .ttm-popup { padding: 12px; }
    .ttm-vehicle-inner, .ttm-booking-inner { padding: 20px; }
    .ttm-vehicle-title { font-size:1.4rem; }
    .ttm-vehicle-price-badge { top:12px; right:12px; font-size:0.9rem; padding:6px 10px; }
    .ttm-form-row { flex-direction:column; }
    .ttm-vehicle-meta { gap:8px; }
    .ttm-chip { width:100%; text-align:center; }
    .ttm-vehicle-actions .ttm-btn, #ttm-vehicle-want-book { width:100%; }
}

/* Smooth popup open animation — reuse keyframes if available */
.ttm-popup .ttm-popup-content { animation: ttm-popup-slide-in 0.28s cubic-bezier(0.23,1,0.32,1); }
