/* =========================================================
   KORCULA — BOOKING FLOW & VEHICLE CARDS
   ========================================================= */

/* Vehicle card */
.ke-vehicle-card { background: #fff; border: 1px solid #e2d9cc; border-radius: 14px; overflow: hidden; transition: box-shadow 0.25s, transform 0.25s; }
.ke-vehicle-card:hover { box-shadow: 0 12px 40px rgba(13,27,42,0.12); transform: translateY(-3px); }
.ke-vehicle-card__image { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #f0ebe3; }
.ke-vehicle-card__image img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; transition: transform 0.4s; }
.ke-vehicle-card:hover .ke-vehicle-card__image img { transform: scale(1.05); }
.ke-vehicle-card__category { position: absolute; top: 0.75rem; left: 0.75rem; }
.ke-vehicle-card__body { padding: 1.25rem; }
.ke-vehicle-card__name { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.25rem; }
.ke-vehicle-card__similar { font-size: 0.78rem; color: #718096; }
.ke-vehicle-card__specs { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0.75rem 0; padding: 0.75rem 0; border-top: 1px solid #f0ebe3; border-bottom: 1px solid #f0ebe3; }
.ke-vehicle-spec { display: flex; align-items: center; gap: 0.35rem; font-size: 0.8rem; color: #4a5568; }
.ke-vehicle-spec svg { opacity: 0.6; flex-shrink: 0; }
.ke-vehicle-card__pricing { display: flex; align-items: center; justify-content: space-between; }
.ke-price-per-day { font-size: 0.8rem; color: #718096; }
.ke-price-per-day strong { font-size: 1rem; color: #0d1b2a; }
.ke-price-total { font-size: 1.4rem; font-weight: 700; color: #0d1b2a; font-family: 'Cormorant Garamond', serif; }
.ke-price-label { font-size: 0.75rem; color: #718096; margin-left: 0.35rem; font-family: 'Source Sans 3', 'Inter', sans-serif; font-weight: 400; }

/* Upgrade notice */
.ke-upgrade-notice { background: rgba(201,169,110,0.1); border: 1px solid rgba(201,169,110,0.3); border-radius: 8px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; font-size: 0.82rem; display: flex; align-items: center; gap: 0.5rem; }

/* Search bar */
.ke-car-search { background: #fff; border-radius: 14px; box-shadow: 0 4px 24px rgba(13,27,42,0.08); padding: 1.5rem; margin-bottom: 2rem; border: 1px solid #e2d9cc; }
.ke-car-search__grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 1rem; align-items: end; }
.ke-car-search__group { display: flex; flex-direction: column; gap: 0.35rem; }
.ke-car-search label { font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #4a5568; }
.ke-car-search .ke-input, .ke-car-search .ke-select { padding: 0.65rem 0.875rem; }

/* Checkout sidebar */
.ke-checkout-layout { display: grid; grid-template-columns: 1fr 320px; gap: 2rem; align-items: start; }
.ke-checkout-sidebar { position: sticky; top: 100px; }
.ke-order-summary { background: #0d1b2a; color: #fff; border-radius: 14px; padding: 1.5rem; }
.ke-order-summary h3 { font-size: 1rem; color: #c9a96e; margin-bottom: 1.25rem; font-family: 'Source Sans 3', 'Inter', sans-serif; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.ke-order-line { display: flex; justify-content: space-between; padding: 0.5rem 0; font-size: 0.88rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
.ke-order-line:last-child { border-bottom: none; }
.ke-order-line .lbl { color: rgba(255,255,255,0.6); }
.ke-order-line .val { font-weight: 600; color: #fff; }
.ke-order-total { display: flex; justify-content: space-between; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 2px solid rgba(201,169,110,0.3); }
.ke-order-total .lbl { font-weight: 700; color: #fff; }
.ke-order-total .val { font-size: 1.5rem; font-weight: 700; color: #c9a96e; font-family: 'Cormorant Garamond', serif; }

/* Availability calendar */
.ke-mini-cal { border: 1px solid #e2d9cc; border-radius: 10px; overflow: hidden; }
.ke-mini-cal__header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; background: #0d1b2a; color: #fff; }
.ke-mini-cal__nav { background: none; border: none; color: rgba(255,255,255,0.7); cursor: pointer; font-size: 1.1rem; padding: 0.2rem 0.5rem; border-radius: 4px; transition: color 0.2s; }
.ke-mini-cal__nav:hover { color: #c9a96e; }
.ke-mini-cal__title { font-weight: 600; font-size: 0.9rem; }
.ke-mini-cal__grid { display: grid; grid-template-columns: repeat(7,1fr); }
.ke-mini-cal__day-name { text-align: center; padding: 0.5rem 0; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; color: #718096; background: #faf7f3; }
.ke-mini-cal__day { text-align: center; padding: 0.5rem; font-size: 0.85rem; cursor: pointer; border: 1px solid #f0ebe3; transition: background 0.15s; }
.ke-mini-cal__day:hover:not(.disabled):not(.empty) { background: rgba(201,169,110,0.15); }
.ke-mini-cal__day.today { font-weight: 700; color: #0d1b2a; }
.ke-mini-cal__day.selected { background: #0d1b2a; color: #c9a96e; font-weight: 700; }
.ke-mini-cal__day.in-range { background: rgba(201,169,110,0.12); }
.ke-mini-cal__day.booked { background: #fee; color: #c0392b; cursor: not-allowed; text-decoration: line-through; }
.ke-mini-cal__day.disabled { color: #ccc; cursor: not-allowed; }
.ke-mini-cal__day.empty { cursor: default; }

/* Payment methods */
.ke-payment-methods { display: flex; flex-direction: column; gap: 0.75rem; margin: 1rem 0; }
.ke-payment-method { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 2px solid #e2d9cc; border-radius: 10px; cursor: pointer; transition: all 0.2s; }
.ke-payment-method:hover { border-color: #c9a96e; }
.ke-payment-method.selected { border-color: #0d1b2a; background: rgba(13,27,42,0.02); }
.ke-payment-method input[type="radio"] { accent-color: #0d1b2a; }
.ke-payment-method__label { font-weight: 600; font-size: 0.9rem; }
.ke-payment-method__desc { font-size: 0.8rem; color: #718096; }

@media (max-width: 900px) {
    .ke-checkout-layout { grid-template-columns: 1fr; }
    .ke-checkout-sidebar { position: static; }
    .ke-car-search__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .ke-car-search__grid { grid-template-columns: 1fr; }
}
