.hcm-booking-calendar{
    --hcm-navy:#082a50;
    --hcm-navy-2:#0d3a68;
    --hcm-gold:#c99c33;
    --hcm-gold-soft:#f7f0df;
    --hcm-border:#e4e9ef;
    --hcm-muted:#6e7781;
    --hcm-bg:#f7f9fb;
    width:100%;
    max-width:900px;
    margin:0 auto;
    color:#17212b;
    font-family:inherit;
}
.hcm-booking-calendar *{box-sizing:border-box}
.hcm-booking-calendar [hidden]{display:none!important}
.hcm-calendar-head{margin-bottom:22px}
.hcm-calendar-kicker{display:block;margin-bottom:6px;color:var(--hcm-gold);font-size:13px;font-weight:800}
.hcm-calendar-head h3{margin:0 0 7px;color:var(--hcm-navy);font-size:30px;line-height:1.35;font-weight:800}
.hcm-calendar-head p{margin:0;color:var(--hcm-muted);font-size:14px;line-height:1.8}
.hcm-booking-step{margin-bottom:18px;padding:24px;background:#fff;border:1px solid var(--hcm-border);border-radius:20px}
.hcm-step-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.hcm-step-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--hcm-navy);color:#fff;font-weight:800}
.hcm-step-title h4{margin:0 0 4px;color:var(--hcm-navy);font-size:18px;line-height:1.5}
.hcm-step-title p{margin:0;color:var(--hcm-muted);font-size:13px;line-height:1.7}
.hcm-calendar-loading,.hcm-calendar-message{padding:14px 16px;border-radius:12px;background:var(--hcm-bg);color:var(--hcm-muted);font-size:14px;line-height:1.7}
.hcm-calendar-message.is-error{background:#fff1f1;border:1px solid #ffd1d1;color:#a61b1b}
.hcm-calendar-message.is-info{background:#fff8e8;border:1px solid #f2dfad;color:#755510}
.hcm-calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:15px}
.hcm-calendar-month{text-align:center;color:var(--hcm-navy);font-size:18px}
.hcm-calendar-nav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--hcm-border);border-radius:12px;background:#fff;color:var(--hcm-navy);font:inherit;font-size:26px;line-height:1;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.hcm-calendar-nav:hover:not(:disabled){border-color:var(--hcm-gold);background:var(--hcm-gold-soft)}
.hcm-calendar-nav:disabled{opacity:.35;cursor:not-allowed}
.hcm-calendar-weekdays,.hcm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.hcm-calendar-weekdays{margin-bottom:7px}
.hcm-calendar-weekdays span{display:flex;align-items:center;justify-content:center;min-height:30px;color:#85909b;font-size:12px;font-weight:700}
.hcm-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;min-height:48px;border:1px solid var(--hcm-border);border-radius:12px;background:#fff;color:#27323d;font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.hcm-calendar-day:hover:not(:disabled){border-color:var(--hcm-gold);background:var(--hcm-gold-soft);transform:translateY(-1px)}
.hcm-calendar-day.is-today::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--hcm-gold)}
.hcm-calendar-day:disabled,.hcm-calendar-day.is-unavailable{background:#f3f5f7;color:#b5bdc5;border-color:#edf0f3;cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:1px}
.hcm-calendar-day.is-selected-start,.hcm-calendar-day.is-selected-end{background:var(--hcm-navy);border-color:var(--hcm-navy);color:#fff;text-decoration:none}
.hcm-calendar-day.is-in-range{background:var(--hcm-gold-soft);border-color:#ead8a8;color:var(--hcm-navy);text-decoration:none}
.hcm-calendar-day.is-selected-start.is-in-range,.hcm-calendar-day.is-selected-end.is-in-range{background:var(--hcm-navy);color:#fff;border-color:var(--hcm-navy)}
.hcm-calendar-empty{min-height:48px}
.hcm-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:var(--hcm-muted);font-size:12px}
.hcm-calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.hcm-calendar-legend i{width:11px;height:11px;border-radius:3px;border:1px solid var(--hcm-border);background:#fff}
.hcm-calendar-legend i.is-unavailable{background:#f1f3f5}
.hcm-calendar-legend i.is-selected{background:var(--hcm-navy);border-color:var(--hcm-navy)}
.hcm-range-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin-top:18px;padding:16px;border-radius:14px;background:var(--hcm-bg);border:1px solid var(--hcm-border)}
.hcm-range-summary>div:not(.hcm-range-price){min-width:0}
.hcm-range-summary small{display:block;margin-bottom:4px;color:var(--hcm-muted);font-size:11px}
.hcm-range-summary strong{display:block;color:var(--hcm-navy);font-size:14px;white-space:normal}
.hcm-range-arrow{color:var(--hcm-gold);font-size:20px;font-weight:800}
.hcm-range-price{grid-column:1/-1;padding-top:12px;border-top:1px dashed #dce2e7;text-align:center;color:var(--hcm-navy);font-size:14px;font-weight:800}
.hcm-time-step,.hcm-customer-step{animation:hcmStepIn .28s ease both}
@keyframes hcmStepIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.hcm-car-booking-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--hcm-gold-soft);color:#6d5317;font-size:13px;line-height:1.8}
.hcm-booking-calendar .hcm-submit-btn{background:var(--hcm-gold);color:#fff}
.hcm-booking-calendar .hcm-field select:disabled{opacity:.65;cursor:not-allowed;background:#f5f6f8}
@media(max-width:640px){
    .hcm-calendar-head h3{font-size:25px}
    .hcm-booking-step{padding:18px 14px;border-radius:16px}
    .hcm-calendar-weekdays,.hcm-calendar-grid{gap:4px}
    .hcm-calendar-day{min-height:40px;border-radius:9px;font-size:13px}
    .hcm-calendar-toolbar{grid-template-columns:40px 1fr 40px}
    .hcm-calendar-nav{width:40px;height:40px;border-radius:10px}
    .hcm-range-summary{grid-template-columns:1fr;gap:8px;text-align:center}
    .hcm-range-arrow{transform:rotate(-90deg)}
    .hcm-range-price{grid-column:auto}
}

/* Polylang bilingual shortcode labels */
.ar,.en{display:inline}
html[lang^="en"] .hcm-booking-calendar{direction:ltr!important}
