/* ============================================================
   SAUDI AUTOS — RENTAL FRONTEND CSS
   Design: Saudi National · Peak Elite · Cinematic · Unforgettable
   Prefix: rf-   (Rental Frontend — zero collisions)
   Colors: #006C35 · #FFFFFF · #0B0F0C · #E6EDE9
   Fonts: Plus Jakarta Sans · Inter · DM Mono
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;0,14..32,900;1,14..32,400&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=DM+Mono:wght@300;400;500&display=swap');


/* ── 01. TOKENS ─────────────────────────────────────────────── */
:root {
    /* ── Brand Greens ── */
    --rf-g:        #006C35;
    --rf-g1:       #007A3D;
    --rf-g2:       #00934A;
    --rf-g3:       #00B85C;
    --rf-g4:       #00D96A;
    --rf-g-dim:    #004d25;
    --rf-g-deep:   #003320;
    --rf-g-abyss:  #001a10;

    /* ── Glow Layers ── */
    --rf-g-glow:    rgba(0,108,53,.50);
    --rf-g-glow-s:  rgba(0,108,53,.22);
    --rf-g-glow-xs: rgba(0,108,53,.12);
    --rf-g-20:      rgba(0,108,53,.20);
    --rf-g-12:      rgba(0,108,53,.12);
    --rf-g-08:      rgba(0,108,53,.08);
    --rf-g-04:      rgba(0,108,53,.04);

    /* ── Neutrals ── */
    --rf-ink:      #0B0F0C;
    --rf-ink2:     #1A1F1C;
    --rf-ink3:     #2E3530;
    --rf-fog:      #F2F6F3;
    --rf-fog2:     #E6EDE9;
    --rf-fog3:     #D4DDD7;
    --rf-fog4:     #C2CEC7;
    --rf-muted:    #6B7C72;
    --rf-white:    #FFFFFF;

    /* ── Status ── */
    --rf-danger:   #C0392B;
    --rf-warn:     #D97706;
    --rf-info:     #0284C7;

    /* ── Typography — TOP 1% GLOBAL ── */
    --rf-ff:         'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --rf-ff-display: 'Plus Jakarta Sans', 'Inter', sans-serif;
    --rf-ff-body:    'Inter', 'Plus Jakarta Sans', -apple-system, sans-serif;
    --rf-mono:       'DM Mono', 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;

    /* ── Type Scale — fluid + proportional ── */
    --rf-text-xs:   .72rem;
    --rf-text-sm:   .80rem;
    --rf-text-base: .875rem;
    --rf-text-md:   .95rem;
    --rf-text-lg:   1.05rem;
    --rf-text-xl:   1.2rem;
    --rf-text-2xl:  1.45rem;
    --rf-text-3xl:  clamp(1.8rem, 3.5vw, 2.5rem);
    --rf-text-hero: clamp(2.4rem, 6vw, 3.8rem);

    /* ── Line Heights ── */
    --rf-lh-tight:   1.05;
    --rf-lh-snug:    1.22;
    --rf-lh-normal:  1.55;
    --rf-lh-relaxed: 1.72;
    --rf-lh-loose:   1.85;

    /* ── Letter Spacing ── */
    --rf-ls-tight:  -.040em;
    --rf-ls-snug:   -.025em;
    --rf-ls-normal: -.012em;
    --rf-ls-wide:    .055em;
    --rf-ls-wider:   .085em;
    --rf-ls-caps:    .115em;

    /* ── Geometry ── */
    --rf-r1: 6px;
    --rf-r2: 10px;
    --rf-r3: 16px;
    --rf-r4: 22px;
    --rf-r5: 30px;
    --rf-rf: 9999px;

    /* ── Asymmetric Curve Flip — THE signature ── */
    --rf-curve-a:     22px 6px 22px 6px;
    --rf-curve-b:     6px 22px 6px 22px;
    --rf-curve-btn-a: 20px 5px 20px 5px;
    --rf-curve-btn-b: 5px 20px 5px 20px;

    /* ── Easing ── */
    --rf-ease:   cubic-bezier(.4, 0, .2, 1);
    --rf-snap:   cubic-bezier(.22, 1, .36, 1);
    --rf-spring: cubic-bezier(.34, 1.56, .64, 1);
    --rf-soft:   cubic-bezier(.25, .46, .45, .94);

    /* ── Time ── */
    --rf-t1: 120ms;
    --rf-t2: 200ms;
    --rf-t3: 320ms;
    --rf-t4: 480ms;
    --rf-t5: 640ms;

    /* ── Layout ── */
    --rf-nav-h: 68px;
}

/* ── Global Typography Baseline ── */
.rf-hero, .rf-page, .rf-detail, .rf-my {
    font-family: var(--rf-ff);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
}

.rf-hero *, .rf-page *, .rf-detail *, .rf-my * {
    box-sizing: border-box;
    min-width: 0;
}

/* ── 02. HERO ───────────────────────────────────────────────── */
.rf-hero {
    position: relative;
    padding: 7rem 0 5.5rem;
    background:
        radial-gradient(ellipse 110% 90% at 50% 115%, rgba(0,108,53,.35) 0%, transparent 60%),
        radial-gradient(ellipse 55% 45% at 85% 15%, rgba(0,185,92,.18) 0%, transparent 55%),
        radial-gradient(ellipse 40% 35% at 10% 80%, rgba(0,77,37,.40) 0%, transparent 55%),
        linear-gradient(158deg, var(--rf-g-abyss) 0%, var(--rf-g-deep) 22%, var(--rf-g-dim) 52%, var(--rf-g) 78%, var(--rf-g1) 100%);
    overflow: hidden;
}
.rf-hero::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        repeating-linear-gradient(0deg, transparent, transparent 44px, rgba(255,255,255,.020) 44px, rgba(255,255,255,.020) 45px),
        repeating-linear-gradient(90deg, transparent, transparent 44px, rgba(255,255,255,.014) 44px, rgba(255,255,255,.014) 45px);
    pointer-events: none;
}
.rf-hero::after {
    content: '';
    position: absolute;
    bottom: -2px; left: 0; right: 0; height: 80px;
    background: var(--rf-fog);
    clip-path: polygon(0 60%, 100% 0%, 100% 100%, 0% 100%);
    pointer-events: none;
}
.rf-hero-orb-1 {
    position: absolute; top: -80px; right: -60px;
    width: 480px; height: 480px; border-radius: 50%;
    background: radial-gradient(circle, rgba(0,217,106,.18) 0%, transparent 65%);
    pointer-events: none; animation: rf-orb-drift 12s ease-in-out infinite;
}
.rf-hero-orb-2 {
    position: absolute; bottom: 40px; left: -80px;
    width: 340px; height: 340px; border-radius: 50%;
    background: radial-gradient(circle, rgba(0,108,53,.25) 0%, transparent 65%);
    pointer-events: none; animation: rf-orb-drift 16s ease-in-out infinite reverse;
}
.rf-hero-inner {
    position: relative; z-index: 2;
    max-width: 680px; margin: 0 auto;
    text-align: center; padding: 0 1.5rem;
}
.rf-hero-eyebrow {
    display: inline-flex; align-items: center; gap: .55rem;
    padding: .34rem 1.1rem;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: var(--rf-rf);
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: rgba(255,255,255,.88);
    margin-bottom: 1.25rem;
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 4px 16px rgba(0,0,0,.15);
    animation: rf-fade-up var(--rf-t4) var(--rf-snap) both;
}
.rf-hero-eyebrow-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--rf-g3);
    box-shadow: 0 0 10px var(--rf-g3), 0 0 20px rgba(0,185,92,.4);
    animation: rf-dot-pulse 2s ease-in-out infinite; flex-shrink: 0;
}
.rf-hero-title {
    font-family: var(--rf-ff-display);
    font-size: var(--rf-text-hero);
    font-weight: 900;
    letter-spacing: var(--rf-ls-tight);
    line-height: var(--rf-lh-tight);
    color: var(--rf-white);
    margin-bottom: .8rem;
    text-shadow: 0 4px 32px rgba(0,0,0,.25);
    animation: rf-fade-up var(--rf-t4) var(--rf-snap) 80ms both;
    -webkit-font-smoothing: antialiased;
}
.rf-hero-title-accent {
    color: var(--rf-g3);
    text-shadow: 0 0 40px rgba(0,185,92,.45), 0 4px 32px rgba(0,0,0,.20);
}
.rf-hero-sub {
    font-family: var(--rf-ff-body);
    font-size: clamp(.92rem, 2vw, 1.05rem);
    font-weight: 400;
    color: rgba(255,255,255,.62);
    margin-bottom: 2.25rem;
    line-height: var(--rf-lh-relaxed);
    max-width: 460px; margin-inline: auto;
    letter-spacing: var(--rf-ls-normal);
    animation: rf-fade-up var(--rf-t4) var(--rf-snap) 140ms both;
}
.rf-hero-stats {
    display: flex; align-items: center; justify-content: center;
    gap: 2rem; margin-bottom: 2.5rem; flex-wrap: wrap;
    animation: rf-fade-up var(--rf-t4) var(--rf-snap) 180ms both;
}
.rf-hero-stat { display: flex; flex-direction: column; align-items: center; gap: .12rem; }
.rf-hero-stat-val {
    font-family: var(--rf-mono);
    font-size: 1.45rem; font-weight: 700; color: var(--rf-white);
    letter-spacing: -.02em; line-height: 1;
}
.rf-hero-stat-lbl {
    font-size: var(--rf-text-xs); font-weight: 600;
    color: rgba(255,255,255,.50);
    text-transform: uppercase; letter-spacing: var(--rf-ls-caps);
}
.rf-hero-stat-sep {
    width: 1px; height: 30px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.18), transparent);
}

/* ── 03. SEARCH BAR ─────────────────────────────────────────── */
.rf-search-outer {
    position: relative;
    max-width: 600px; margin: 0 auto;
    animation: rf-fade-up var(--rf-t4) var(--rf-snap) 220ms both;
}

.rf-search-outer:focus-within .rf-glow-ring {
    opacity: 1; animation: rf-ring-spin 2.8s linear infinite;
}
.rf-glow-mask {
    position: absolute; inset: 2.5px;
    border-radius: 27px 5px 27px 5px;
    background: linear-gradient(158deg, #004028, #006035);
    pointer-events: none; z-index: 1;
}
.rf-search-wrap {
    position: relative; z-index: 2;
    display: flex; align-items: center; gap: .75rem;
    background: rgba(255,255,255,.11);
    border: 1.5px solid rgba(255,255,255,.22);
    border-radius: 28px 8px 28px 8px;
    padding: 8px 8px 8px 20px;
    backdrop-filter: blur(40px) saturate(220%) brightness(110%);
    -webkit-backdrop-filter: blur(40px) saturate(220%) brightness(110%);
    
    transition: background var(--rf-t2) var(--rf-ease), border-color var(--rf-t2) var(--rf-ease), border-radius var(--rf-t3) var(--rf-snap), box-shadow var(--rf-t2) var(--rf-ease);
}
.rf-search-wrap:focus-within {
    background: rgba(255,255,255,.16);
    border-radius: 8px 28px 8px 28px;
}
.rf-search-ico-wrap {
    width: 38px; height: 38px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16);
    border-radius: 13px 3px 13px 3px;
    transition: background var(--rf-t2) var(--rf-ease), border-color var(--rf-t2) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), transform var(--rf-t2) var(--rf-spring);
}
.rf-search-wrap:focus-within .rf-search-ico-wrap {
    background: rgba(0,185,92,.25); border-color: rgba(0,185,92,.50);
    border-radius: 3px 13px 3px 13px; transform: rotate(-10deg) scale(1.08);
}
.rf-search-ico { font-size: .85rem; color: rgba(255,255,255,.55); transition: color var(--rf-t2) var(--rf-ease); }
.rf-search-wrap:focus-within .rf-search-ico { color: var(--rf-g3); }
.rf-search-divider {
    width: 1.5px; height: 24px; flex-shrink: 0;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.25) 30%, rgba(255,255,255,.25) 70%, transparent);
    transition: background var(--rf-t2) var(--rf-ease); border-radius: var(--rf-rf);
}
.rf-search-wrap:focus-within .rf-search-divider {
    background: linear-gradient(180deg, transparent, rgba(0,217,106,.60) 30%, rgba(0,217,106,.60) 70%, transparent);
}
.rf-search-input {
    flex: 1; border: none; outline: none; background: transparent;
    font-family: var(--rf-ff); font-size: var(--rf-text-md); font-weight: 500;
    color: var(--rf-white); caret-color: var(--rf-g3);
    letter-spacing: var(--rf-ls-normal); min-width: 0;
}
.rf-search-input::placeholder { color: rgba(255,255,255,.30); font-weight: 400; letter-spacing: 0; }
.rf-search-btn {
    display: inline-flex; align-items: center; gap: .48rem;
    padding: .78rem 1.55rem; flex-shrink: 0;
    background: linear-gradient(148deg, var(--rf-g2) 0%, var(--rf-g) 55%, var(--rf-g-dim) 100%);
    color: #fff; border: none;
    border-radius: 22px 5px 22px 5px;
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 800;
    cursor: pointer; white-space: nowrap; letter-spacing: var(--rf-ls-normal);
    box-shadow: inset 0 1.5px 0 rgba(255,255,255,.20), inset 0 -1.5px 0 rgba(0,0,0,.18), 0 4px 0 rgba(0,40,20,.50), 0 6px 20px rgba(0,108,53,.35);
    position: relative; overflow: hidden;
    transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease);
}
.rf-search-btn::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(115deg, transparent 15%, rgba(255,255,255,.22) 50%, transparent 85%);
    transform: translateX(-140%) skewX(-16deg);
    transition: transform 580ms var(--rf-snap); pointer-events: none;
}
.rf-search-btn:hover {
    background: linear-gradient(148deg, var(--rf-g3) 0%, var(--rf-g2) 55%, var(--rf-g) 100%);
    transform: translateY(-2.5px); border-radius: 5px 22px 5px 22px;
    box-shadow: inset 0 1.5px 0 rgba(255,255,255,.25), inset 0 -1.5px 0 rgba(0,0,0,.14), 0 6px 0 rgba(0,40,20,.40), 0 12px 32px rgba(0,108,53,.48);
    color: #fff;
}
.rf-search-btn:hover::before { transform: translateX(140%) skewX(-16deg); }
.rf-search-btn:active { transform: translateY(2px) scale(.97); box-shadow: 0 1px 0 rgba(0,40,20,.50); }

.rf-search-suggestions {
    position: absolute; top: calc(100% + 12px); left: 0; right: 0;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(40px) saturate(200%);
    border: 1px solid rgba(0,108,53,.12);
    border-radius: 22px 6px 22px 6px; overflow: hidden;
    box-shadow: 0 0 0 4px rgba(0,108,53,.04), 0 4px 0 rgba(0,108,53,.06), 0 28px 72px rgba(0,0,0,.22);
    display: none; z-index: 200;
    animation: rf-pop var(--rf-t2) var(--rf-snap) both;
}
.rf-search-suggestions.rf-open { display: block; }
.rf-suggestion-item {
    display: flex; align-items: center; gap: .8rem;
    padding: .78rem 1.25rem;
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 500; color: var(--rf-ink);
    text-decoration: none; cursor: pointer;
    border-bottom: 1px solid rgba(0,108,53,.06);
    position: relative; overflow: hidden;
    transition: background var(--rf-t1) var(--rf-ease), padding-inline-start var(--rf-t2) var(--rf-snap);
}
.rf-suggestion-item:last-child { border-bottom: none; }
.rf-suggestion-item::before {
    content: '';
    position: absolute; inset-inline-start: 0; top: 16%; bottom: 16%;
    width: 3px; background: linear-gradient(180deg, var(--rf-g3), var(--rf-g));
    border-radius: var(--rf-rf);
    opacity: 0; transform: scaleY(.25);
    transition: opacity var(--rf-t1) var(--rf-ease), transform var(--rf-t2) var(--rf-spring);
}
.rf-suggestion-item:hover { background: var(--rf-g-04); padding-inline-start: 1.6rem; }
.rf-suggestion-item:hover::before { opacity: 1; transform: scaleY(1); }
.rf-suggestion-ico {
    width: 32px; height: 32px; flex-shrink: 0;
    background: var(--rf-g-08); border: 1px solid var(--rf-g-12);
    border-radius: 10px 2px 10px 2px;
    display: flex; align-items: center; justify-content: center;
    transition: background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap);
}
.rf-suggestion-item:hover .rf-suggestion-ico { background: var(--rf-g-12); border-radius: 2px 10px 2px 10px; }
.rf-suggestion-ico i { color: var(--rf-g); font-size: .74rem; }
.rf-suggestion-text { flex: 1; min-width: 0; }
.rf-suggestion-text strong { color: var(--rf-ink); display: block; font-size: var(--rf-text-base); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rf-suggestion-text small  { color: var(--rf-muted); font-size: var(--rf-text-xs); font-family: var(--rf-mono); letter-spacing: .01em; }

/* ── 04. BROWSE LAYOUT ── */
.rf-page { background: var(--rf-fog); min-height: 60vh; padding: 3rem 0 5.5rem; display: block; width: 100%; }
.rf-layout { display: grid; grid-template-columns: 280px 1fr; gap: 2.25rem; align-items: start; max-width: 1440px; margin: 0 auto; padding: 0 2rem; }

/* ── 05. SIDEBAR FILTERS ── */
.rf-filters {
    background: var(--rf-white); border: 1px solid var(--rf-g-12);
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    overflow: hidden; position: sticky; top: calc(var(--rf-nav-h) + 1.25rem);
    box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 6px 24px rgba(0,108,53,.07), 0 1px 4px rgba(0,0,0,.04);
}
.rf-filters-header {
    padding: 1.1rem 1.4rem .9rem;
    background: linear-gradient(140deg, var(--rf-g-dim) 0%, var(--rf-g) 55%, var(--rf-g1) 100%);
    display: flex; align-items: center; justify-content: space-between;
    position: relative; overflow: hidden;
}
.rf-filters-header::after { content: ''; position: absolute; bottom: -18px; right: -18px; width: 70px; height: 70px; border-radius: 50%; background: rgba(255,255,255,.07); pointer-events: none; }
.rf-filters-title { font-size: var(--rf-text-xs); font-weight: 700; letter-spacing: var(--rf-ls-caps); text-transform: uppercase; color: rgba(255,255,255,.92); margin: 0; display: flex; align-items: center; gap: .48rem; position: relative; z-index: 1; }
.rf-filters-title i { font-size: .72rem; }
.rf-filters-count { font-family: var(--rf-mono); font-size: .7rem; color: rgba(255,255,255,.70); background: rgba(255,255,255,.14); padding: 2px 9px; border-radius: var(--rf-rf); position: relative; z-index: 1; }
.rf-filters-body { padding: 1.2rem 1.4rem; display: flex; flex-direction: column; gap: 1.1rem; }
.rf-filter-group { display: flex; flex-direction: column; gap: .4rem; }
.rf-filter-label { font-size: var(--rf-text-xs); font-weight: 700; letter-spacing: var(--rf-ls-caps); text-transform: uppercase; color: var(--rf-muted); display: flex; align-items: center; gap: .3rem; }
.rf-filter-label i { color: var(--rf-g); font-size: .62rem; }
.rf-filter-select {
    width: 100%; padding: .54rem .82rem;
    border: 1.5px solid var(--rf-fog3); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-base); color: var(--rf-ink); background: var(--rf-fog);
    outline: none; cursor: pointer;
    transition: border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B7C72'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .78rem center; padding-right: 2.1rem;
}
.rf-filter-select:focus { border-color: var(--rf-g); background-color: var(--rf-white); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); box-shadow: 0 0 0 3px var(--rf-g-04); }
.rf-filter-select.rf-has-value { border-color: rgba(0,108,53,.30); background-color: var(--rf-g-04); }
.rf-filters-footer { padding: 0 1.4rem 1.2rem; display: flex; flex-direction: column; gap: .5rem; }
.rf-filter-apply {
    display: flex; align-items: center; justify-content: center; gap: .42rem; padding: .65rem;
    background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 60%, var(--rf-g-dim) 100%);
    color: var(--rf-white); border: none; border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 700; cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 3px 14px var(--rf-g-glow-xs);
    transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease);
    position: relative; overflow: hidden;
}
.rf-filter-apply::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.15) 50%, transparent 75%); transform: translateX(-120%) skewX(-12deg); transition: transform 480ms var(--rf-snap); pointer-events: none; }
.rf-filter-apply:hover { background: linear-gradient(140deg, var(--rf-g3) 0%, var(--rf-g2) 60%, var(--rf-g) 100%); transform: translateY(-1.5px); border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3); box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 5px 20px var(--rf-g-glow-s); }
.rf-filter-apply:hover::after { transform: translateX(120%) skewX(-12deg); }
.rf-filter-reset { display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .52rem; color: var(--rf-muted); font-size: var(--rf-text-sm); text-decoration: none; border: 1.5px solid var(--rf-fog3); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); transition: color var(--rf-t1) var(--rf-ease), border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap); }
.rf-filter-reset:hover { color: var(--rf-g); border-color: var(--rf-g-12); background: var(--rf-g-04); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); }

/* ── 06. RESULTS BAR ── */
.rf-results-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: .65rem; padding: .75rem 1rem; background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); }
.rf-results-count { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-muted); font-weight: 500; display: flex; align-items: center; gap: .4rem; letter-spacing: var(--rf-ls-normal); }
.rf-results-count strong { color: var(--rf-g); font-weight: 800; font-family: var(--rf-mono); }
.rf-results-count::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--rf-g3); box-shadow: 0 0 8px var(--rf-g3); animation: rf-dot-pulse 2.5s ease-in-out infinite; }

/* ── 07. RENTAL CARD ── */
.rf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.5rem; }
.rf-card {
    background: var(--rf-white); border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    overflow: hidden; position: relative;
    transition: transform var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t2) var(--rf-ease), border-color var(--rf-t2) var(--rf-ease), border-radius var(--rf-t3) var(--rf-snap);
    will-change: transform; animation: rf-card-in 380ms var(--rf-snap) both;
}
.rf-card:hover { transform: translateY(-6px) scale(1.005); border-color: rgba(0,108,53,.22); border-radius: var(--rf-r2) var(--rf-r4) var(--rf-r2) var(--rf-r4); box-shadow: 0 0 0 1px rgba(0,108,53,.08), 0 12px 40px rgba(0,108,53,.12), 0 4px 12px rgba(0,0,0,.08); }
.rf-card:nth-child(1){animation-delay:30ms} .rf-card:nth-child(2){animation-delay:60ms} .rf-card:nth-child(3){animation-delay:90ms} .rf-card:nth-child(4){animation-delay:115ms} .rf-card:nth-child(5){animation-delay:138ms} .rf-card:nth-child(6){animation-delay:158ms} .rf-card:nth-child(7){animation-delay:175ms} .rf-card:nth-child(8){animation-delay:190ms} .rf-card:nth-child(9){animation-delay:205ms} .rf-card:nth-child(10){animation-delay:218ms} .rf-card:nth-child(11){animation-delay:230ms} .rf-card:nth-child(12){animation-delay:242ms}
.rf-card-img-wrap { position: relative; overflow: hidden; height: 200px; }
.rf-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .48s var(--rf-ease); display: block; }
.rf-card:hover .rf-card-img { transform: scale(1.09); }
.rf-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02) 30%, rgba(0,10,5,.55) 100%); display: flex; flex-direction: column; justify-content: space-between; padding: .8rem; }
.rf-card-badges { display: flex; gap: .4rem; flex-wrap: wrap; }
.rf-badge { display: inline-flex; align-items: center; gap: .28rem; padding: .22rem .68rem; border-radius: var(--rf-rf); font-size: var(--rf-text-xs); font-weight: 700; letter-spacing: var(--rf-ls-wide); text-transform: uppercase; backdrop-filter: blur(12px) saturate(180%); }
.rf-badge-featured    { background: var(--rf-g); color: #fff; box-shadow: 0 2px 10px var(--rf-g-glow-s), 0 0 16px rgba(0,185,92,.20); }
.rf-badge-available   { background: rgba(255,255,255,.90); color: var(--rf-g); border: 1px solid rgba(0,108,53,.20); }
.rf-badge-reserved    { background: rgba(217,119,6,.88); color: #fff; }
.rf-badge-maintenance { background: rgba(192,57,43,.88); color: #fff; }
.rf-badge-inactive    { background: rgba(100,116,139,.78); color: #fff; }
.rf-card-rate { display: inline-flex; align-items: baseline; gap: .24rem; padding: .32rem .85rem; background: linear-gradient(140deg, var(--rf-g2), var(--rf-g)); border-radius: var(--rf-rf); box-shadow: 0 3px 14px var(--rf-g-glow-s), inset 0 1px 0 rgba(255,255,255,.18); align-self: flex-end; }
.rf-rate-val  { font-family: var(--rf-mono); font-size: 1rem; font-weight: 700; color: #fff; letter-spacing: -.01em; }
.rf-rate-unit { font-size: .6rem; color: rgba(255,255,255,.75); font-weight: 500; }
.rf-card-body { padding: 1.1rem 1.15rem 1rem; }
.rf-card-title { font-family: var(--rf-ff-display); font-size: var(--rf-text-md); font-weight: 800; letter-spacing: var(--rf-ls-normal); color: var(--rf-ink); margin-bottom: .6rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color var(--rf-t1) var(--rf-ease); -webkit-font-smoothing: antialiased; }
.rf-card:hover .rf-card-title { color: var(--rf-g); }
.rf-card-specs { display: flex; flex-wrap: wrap; gap: .38rem .8rem; margin-bottom: .8rem; }
.rf-spec { display: flex; align-items: center; gap: .3rem; font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); font-weight: 500; letter-spacing: var(--rf-ls-normal); }
.rf-spec i { color: var(--rf-g); font-size: .68rem; }
.rf-card-rates { display: flex; gap: .5rem; padding: .55rem .72rem; background: var(--rf-fog); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); margin-bottom: .8rem; border: 1px solid var(--rf-fog3); }
.rf-rate-alt { display: flex; flex-direction: column; gap: 2px; font-size: var(--rf-text-sm); flex: 1; }
.rf-rate-alt span   { color: var(--rf-muted); font-size: var(--rf-text-xs); text-transform: uppercase; letter-spacing: var(--rf-ls-wide); }
.rf-rate-alt strong { color: var(--rf-g); font-weight: 700; font-family: var(--rf-mono); font-size: .78rem; }
.rf-card-loc { font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); margin-bottom: .9rem; display: flex; align-items: center; gap: .3rem; letter-spacing: var(--rf-ls-normal); }
.rf-card-loc i { color: var(--rf-g); }
.rf-card-cta { display: flex; align-items: center; justify-content: center; gap: .44rem; width: 100%; padding: .68rem; background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 60%, var(--rf-g-dim) 100%); color: var(--rf-white); border: none; border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 700; text-decoration: none; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 2px 12px var(--rf-g-glow-xs); position: relative; overflow: hidden; transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease); letter-spacing: -.008em; }
.rf-card-cta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.16) 50%, transparent 80%); transform: translateX(-120%) skewX(-12deg); transition: transform 520ms var(--rf-snap); pointer-events: none; }
.rf-card-cta:hover { background: linear-gradient(140deg, var(--rf-g3) 0%, var(--rf-g2) 60%, var(--rf-g) 100%); transform: translateY(-1.5px); border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3); box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 5px 22px var(--rf-g-glow); color: var(--rf-white); }
.rf-card-cta:hover::after { transform: translateX(120%) skewX(-12deg); }
.rf-empty { grid-column: 1/-1; text-align: center; padding: 4.5rem 1.5rem; background: var(--rf-white); border: 1.5px dashed var(--rf-fog3); border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2); color: var(--rf-muted); animation: rf-fade-up var(--rf-t3) var(--rf-snap) both; }
.rf-empty-ico { font-size: 3.8rem; opacity: .18; margin-bottom: 1.1rem; animation: rf-float 4.5s ease-in-out infinite; display: block; }
.rf-empty h3 { font-family: var(--rf-ff-display); font-size: var(--rf-text-lg); font-weight: 800; color: var(--rf-ink3); margin-bottom: .45rem; -webkit-font-smoothing: antialiased; }
.rf-empty p  { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); line-height: var(--rf-lh-normal); }

/* ── 08. PAGINATION ── */
.rf-pagination { margin-top: 2.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding: 1.1rem 1.25rem; background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); }
.rf-pagination-info { font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); font-weight: 500; letter-spacing: var(--rf-ls-normal); }
.rf-pagination-info strong { color: var(--rf-g); font-weight: 800; font-family: var(--rf-mono); }
.rf-pag-links { display: flex; align-items: center; gap: .38rem; }
.rf-pag-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 .7rem; border: 1.5px solid var(--rf-fog3); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); font-weight: 600; color: var(--rf-muted); text-decoration: none; cursor: pointer; background: var(--rf-white); transition: background var(--rf-t1) var(--rf-ease), color var(--rf-t1) var(--rf-ease), border-color var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), transform 120ms var(--rf-spring); }
.rf-pag-btn:hover { background: var(--rf-g-08); border-color: var(--rf-g-12); color: var(--rf-g); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); transform: translateY(-1.5px); }
.rf-pag-active { background: linear-gradient(140deg, var(--rf-g2), var(--rf-g)) !important; border-color: var(--rf-g) !important; color: var(--rf-white) !important; border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1) !important; box-shadow: 0 2px 12px var(--rf-g-glow-s); cursor: default; transform: none !important; }
.rf-pag-disabled { opacity: .32; cursor: not-allowed; pointer-events: none; }

/* ── 09–13. DETAIL + GALLERY + SPECS + PRICING + FORM ── */
.rf-detail { padding: 0 0 5.5rem; background: var(--rf-fog); min-height: 60vh; display: block; width: 100%; }
.rf-detail-topbar { background: var(--rf-white); border-bottom: 1px solid var(--rf-fog3); padding: .85rem 0; position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.rf-detail-topbar-inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
.rf-breadcrumb { display: flex; align-items: center; gap: .5rem; font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); flex-wrap: wrap; }
.rf-breadcrumb a { color: var(--rf-g); text-decoration: none; font-weight: 600; transition: color var(--rf-t1) var(--rf-ease); }
.rf-breadcrumb a:hover { color: var(--rf-g2); }
.rf-breadcrumb-sep { color: var(--rf-fog4); }
.rf-breadcrumb-cur { color: var(--rf-ink3); font-weight: 500; }
.rf-detail-wrap { max-width: 1280px; margin: 0 auto; padding: 2.5rem 2rem 0; }
.rf-detail-grid { display: grid; grid-template-columns: 1fr 400px; gap: 2.5rem; align-items: start; }
.rf-detail-left, .rf-detail-right { min-width: 0; }
.rf-detail-left { display: flex; flex-direction: column; gap: 0; }
.rf-gallery { margin-bottom: 2rem; }
.rf-gallery-main { position: relative; border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2); overflow: hidden; aspect-ratio: 16/9; background: var(--rf-ink); box-shadow: 0 10px 40px rgba(0,0,0,.20); animation: rf-fade-up 420ms var(--rf-snap) 60ms both; }
.rf-gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s var(--rf-ease); display: block; }
.rf-gallery-main:hover img { transform: scale(1.05); }
.rf-gallery-main-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.40) 0%, transparent 50%); pointer-events: none; }
.rf-gallery-nav { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 .75rem; pointer-events: none; }
.rf-gallery-arrow { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); color: var(--rf-white); cursor: pointer; pointer-events: all; backdrop-filter: blur(12px); transition: background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), transform 120ms var(--rf-spring); }
.rf-gallery-arrow:hover { background: var(--rf-g); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); transform: scale(1.08); }
.rf-gallery-status { position: absolute; top: 1rem; inset-inline-start: 1rem; padding: .28rem .88rem; border-radius: var(--rf-rf); font-size: var(--rf-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--rf-ls-wide); backdrop-filter: blur(12px); z-index: 3; pointer-events: none; }
.rf-gallery-counter { position: absolute; bottom: .8rem; inset-inline-end: 1rem; font-family: var(--rf-mono); font-size: var(--rf-text-xs); color: rgba(255,255,255,.80); background: rgba(0,0,0,.45); padding: .2rem .65rem; border-radius: var(--rf-rf); backdrop-filter: blur(8px); }
.rf-gallery-thumbs { display: flex; gap: .65rem; margin-top: .8rem; flex-wrap: wrap; }
.rf-thumb { width: 76px; height: 54px; object-fit: cover; border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); cursor: pointer; border: 2px solid transparent; opacity: .60; flex-shrink: 0; transition: border-color var(--rf-t1) var(--rf-ease), opacity var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), transform 120ms var(--rf-spring); }
.rf-thumb:hover { opacity: .85; transform: translateY(-2px); }
.rf-thumb.rf-active { border-color: var(--rf-g); opacity: 1; border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); }
.rf-thumb:focus-visible { outline: 3px solid var(--rf-g); outline-offset: 2px; border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); opacity: 1; }
.rf-section-title { font-family: var(--rf-ff-display); font-size: var(--rf-text-xl); font-weight: 800; letter-spacing: var(--rf-ls-snug); color: var(--rf-ink); margin-bottom: .95rem; display: flex; align-items: center; gap: .55rem; -webkit-font-smoothing: antialiased; }
.rf-section-title::before { content: ''; display: block; width: 3.5px; height: 20px; background: linear-gradient(180deg, var(--rf-g3), var(--rf-g)); border-radius: var(--rf-rf); flex-shrink: 0; }
.rf-detail-left > .rf-section-title { margin-top: 2rem; }
.rf-detail-left > .rf-gallery + .rf-section-title { margin-top: 1.75rem; }
.rf-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .85rem; margin-bottom: 2rem; }
.rf-spec-card { background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); padding: .9rem .95rem; display: flex; flex-direction: column; gap: .35rem; transition: border-color var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), box-shadow var(--rf-t2) var(--rf-ease); animation: rf-card-in 360ms var(--rf-snap) both; }
.rf-spec-card:hover { border-color: var(--rf-g-12); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,108,53,.06); }
.rf-spec-card:nth-child(1){animation-delay:40ms} .rf-spec-card:nth-child(2){animation-delay:70ms} .rf-spec-card:nth-child(3){animation-delay:95ms} .rf-spec-card:nth-child(4){animation-delay:118ms} .rf-spec-card:nth-child(5){animation-delay:138ms} .rf-spec-card:nth-child(6){animation-delay:155ms} .rf-spec-card:nth-child(7){animation-delay:170ms} .rf-spec-card:nth-child(8){animation-delay:183ms} .rf-spec-card:nth-child(9){animation-delay:195ms} .rf-spec-card:nth-child(10){animation-delay:205ms} .rf-spec-card:nth-child(11){animation-delay:215ms} .rf-spec-card:nth-child(12){animation-delay:224ms}
.rf-spec-card-ico   { color: var(--rf-g); font-size: .84rem; }
.rf-spec-card-label { font-family: var(--rf-ff-body); font-size: var(--rf-text-xs); text-transform: uppercase; letter-spacing: var(--rf-ls-caps); color: var(--rf-muted); }
.rf-spec-card-val   { font-family: var(--rf-ff-display); font-size: var(--rf-text-base); font-weight: 700; color: var(--rf-ink); letter-spacing: var(--rf-ls-normal); -webkit-font-smoothing: antialiased; }
.rf-features { margin-bottom: 1.85rem; }
.rf-features-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .48rem; }
.rf-features-list li { display: flex; align-items: center; gap: .45rem; font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-ink2); padding: .42rem .68rem; background: var(--rf-fog); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); border-inline-start: 2.5px solid var(--rf-g-08); transition: border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring); line-height: var(--rf-lh-snug); }
.rf-features-list li:hover { border-color: var(--rf-g); background: var(--rf-g-04); transform: translateX(2px); }
.rf-features-list li i { color: var(--rf-g); font-size: .72rem; flex-shrink: 0; }
.rf-description { margin-bottom: 1.85rem; }
.rf-description p { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-ink2); line-height: var(--rf-lh-relaxed); margin: 0; letter-spacing: var(--rf-ls-normal); }
.rf-price-card { background: var(--rf-white); border-top: 2.5px solid var(--rf-g); border-left: 1px solid var(--rf-g-12); border-right: 1px solid var(--rf-g-12); border-bottom: 1px solid var(--rf-g-12); border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2); overflow: hidden; position: sticky; top: calc(var(--rf-nav-h) + 1.25rem); box-shadow: 0 0 0 4px var(--rf-g-04), 0 10px 40px rgba(0,108,53,.10), 0 2px 8px rgba(0,0,0,.06); animation: rf-fade-up 400ms var(--rf-snap) 120ms both; }
.rf-price-card-head { padding: 1.35rem 1.5rem 1.1rem; background: linear-gradient(140deg, var(--rf-g-dim) 0%, var(--rf-g) 55%, var(--rf-g1) 100%); position: relative; overflow: hidden; }
.rf-price-card-head::before { content: ''; position: absolute; top: -30px; right: -30px; width: 110px; height: 110px; border-radius: 50%; background: rgba(255,255,255,.06); pointer-events: none; }
.rf-price-card-head::after  { content: ''; position: absolute; bottom: -20px; left: -20px; width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.rf-price-card-name { font-family: var(--rf-ff-display); font-size: var(--rf-text-xl); font-weight: 800; color: var(--rf-white); letter-spacing: var(--rf-ls-snug); margin-bottom: .22rem; position: relative; z-index: 1; -webkit-font-smoothing: antialiased; }
.rf-price-card-sub  { font-family: var(--rf-ff-body); font-size: var(--rf-text-xs); color: rgba(255,255,255,.62); position: relative; z-index: 1; letter-spacing: var(--rf-ls-normal); }
.rf-tiers { display: flex; flex-direction: column; gap: .58rem; padding: 1.2rem 1.5rem; }
.rf-tier { display: flex; align-items: center; justify-content: space-between; padding: .72rem .92rem; border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); border: 1.5px solid var(--rf-fog3); background: var(--rf-fog); transition: border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap); position: relative; overflow: hidden; }
.rf-tier::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.12) 50%, transparent 80%); transform: translateX(-130%) skewX(-12deg); transition: transform 560ms var(--rf-snap); pointer-events: none; }
.rf-tier:hover { border-color: var(--rf-g-12); background: var(--rf-white); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); }
.rf-tier-primary { background: linear-gradient(140deg, var(--rf-g) 0%, var(--rf-g-dim) 100%); border-color: var(--rf-g); box-shadow: 0 3px 16px var(--rf-g-glow-s), inset 0 1px 0 rgba(255,255,255,.14); }
.rf-tier-primary:hover { background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 100%); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); }
.rf-tier-primary:hover::after { transform: translateX(130%) skewX(-12deg); }
.rf-tier-lbl { font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); font-weight: 500; letter-spacing: var(--rf-ls-normal); }
.rf-tier-primary .rf-tier-lbl { color: rgba(255,255,255,.72); }
.rf-tier-price { font-family: var(--rf-mono); font-size: var(--rf-text-md); font-weight: 700; color: var(--rf-g); letter-spacing: -.015em; }
.rf-tier-primary .rf-tier-price { color: var(--rf-white); font-size: var(--rf-text-lg); }
.rf-tiers + .rf-form, .rf-tiers + .rf-login-prompt, .rf-tiers + .rf-unavailable { border-top: 1px solid var(--rf-fog3); margin-top: 0; }
.rf-form { display: flex; flex-direction: column; gap: .92rem; padding: 1.1rem 1.5rem 1.5rem; }
.rf-form-errors { background: #fef2f2; border: 1px solid #fecaca; border-radius: var(--rf-r2); padding: .78rem 1.05rem; animation: rf-shake 300ms var(--rf-snap) both; }
.rf-form-errors p { font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: #dc2626; margin: 0; }
.rf-form-group { display: flex; flex-direction: column; gap: .35rem; }
.rf-form-label { font-family: var(--rf-ff); font-size: var(--rf-text-xs); font-weight: 700; color: var(--rf-ink2); letter-spacing: var(--rf-ls-caps); text-transform: uppercase; }
.rf-form-label .rf-req { color: var(--rf-g); }
.rf-form-input { padding: .62rem .9rem; border: 1.5px solid var(--rf-fog3); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-ink); background: var(--rf-fog); outline: none; width: 100%; transition: border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease); letter-spacing: var(--rf-ls-normal); }
.rf-form-input:focus { border-color: var(--rf-g); background: var(--rf-white); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); box-shadow: 0 0 0 3px var(--rf-g-04); }
.rf-form-input::placeholder { color: var(--rf-fog4); font-family: var(--rf-ff-body); }
textarea.rf-form-input { min-height: 80px; resize: vertical; line-height: var(--rf-lh-relaxed); }
input[type="date"].rf-form-input { font-family: var(--rf-ff); color-scheme: light; cursor: pointer; }
.rf-total-preview { display: flex; align-items: center; justify-content: space-between; padding: .82rem .92rem; background: var(--rf-g-04); border: 1.5px solid var(--rf-g-12); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); }
.rf-total-preview[style*="flex"] { animation: rf-pop var(--rf-t2) var(--rf-spring) both; }
.rf-total-lbl  { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); font-weight: 600; color: var(--rf-ink2); }
.rf-total-val  { font-family: var(--rf-mono); font-size: var(--rf-text-lg); font-weight: 800; color: var(--rf-g); }
.rf-total-days { font-family: var(--rf-mono); font-size: var(--rf-text-sm); color: var(--rf-muted); }
.rf-submit { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .88rem; background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 60%, var(--rf-g-dim) 100%); color: var(--rf-white); border: none; border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); font-family: var(--rf-ff); font-size: var(--rf-text-md); font-weight: 800; cursor: pointer; text-decoration: none; box-shadow: inset 0 1.5px 0 rgba(255,255,255,.16), inset 0 -1.5px 0 rgba(0,0,0,.16), 0 4px 0 rgba(0,40,20,.45), 0 6px 20px var(--rf-g-glow-s); position: relative; overflow: hidden; transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease); letter-spacing: -.010em; -webkit-font-smoothing: antialiased; }
.rf-submit::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.18) 50%, transparent 80%); transform: translateX(-125%) skewX(-14deg); transition: transform 540ms var(--rf-snap); pointer-events: none; }
.rf-submit:hover { background: linear-gradient(140deg, var(--rf-g3) 0%, var(--rf-g2) 60%, var(--rf-g) 100%); transform: translateY(-2px); border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.20), 0 6px 0 rgba(0,40,20,.38), 0 10px 30px var(--rf-g-glow); color: var(--rf-white); }
.rf-submit:hover::after { transform: translateX(125%) skewX(-14deg); }
.rf-submit:active { transform: translateY(2px); }
.rf-submit:disabled, .rf-submit[disabled] { opacity: .65; cursor: not-allowed; transform: none !important; box-shadow: none; }
.rf-submit:disabled::after, .rf-submit[disabled]::after { display: none; }
.rf-login-prompt, .rf-unavailable { text-align: center; padding: 1.85rem 1.1rem; margin: 0 1.5rem 1.5rem; background: var(--rf-fog); border: 1px dashed var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); color: var(--rf-muted); }
.rf-login-prompt i, .rf-unavailable i { font-size: 1.2rem; margin-bottom: .6rem; color: var(--rf-g); display: block; animation: rf-float 5s ease-in-out infinite; }
.rf-trust-row { display: flex; align-items: center; justify-content: space-around; padding: .9rem 1.5rem 1.1rem; border-top: 1px solid var(--rf-fog3); background: var(--rf-fog); gap: .5rem; flex-wrap: wrap; }
.rf-trust-item { display: flex; flex-direction: column; align-items: center; gap: .28rem; font-family: var(--rf-ff); font-size: var(--rf-text-xs); font-weight: 700; color: var(--rf-muted); text-align: center; letter-spacing: var(--rf-ls-wide); text-transform: uppercase; transition: color var(--rf-t1) var(--rf-ease); }
.rf-trust-item i { font-size: 1.05rem; color: var(--rf-g); transition: transform 200ms var(--rf-spring), color var(--rf-t1) var(--rf-ease); }
.rf-trust-item:hover { color: var(--rf-g); }
.rf-trust-item:hover i { transform: scale(1.18) translateY(-2px); }
.rf-trust-item:nth-child(1) { animation: rf-fade-up 320ms var(--rf-snap) 200ms both; }
.rf-trust-item:nth-child(2) { animation: rf-fade-up 320ms var(--rf-snap) 260ms both; }
.rf-trust-item:nth-child(3) { animation: rf-fade-up 320ms var(--rf-snap) 320ms both; }
.rf-similar { margin-top: 3.75rem; }
.rf-similar-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 1.35rem; margin-top: 1.15rem; }
.rf-similar-grid > * { min-width: 0; }

/* ── 14. MY RENTALS ── */
.rf-my { padding: 3rem 0 5.5rem; background: var(--rf-fog); min-height: 60vh; }
.rf-my-wrap { max-width: 880px; margin: 0 auto; padding: 0 1.5rem; }
.rf-my-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .85rem; margin-bottom: 2.25rem; }
.rf-my-title { font-family: var(--rf-ff-display); font-size: var(--rf-text-2xl); font-weight: 900; letter-spacing: var(--rf-ls-snug); color: var(--rf-ink); display: flex; align-items: center; gap: .6rem; -webkit-font-smoothing: antialiased; }
.rf-my-title-icon { width: 38px; height: 38px; background: linear-gradient(140deg, var(--rf-g2), var(--rf-g)); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); display: flex; align-items: center; justify-content: center; color: #fff; font-size: .9rem; box-shadow: 0 3px 14px var(--rf-g-glow-s); }
.rf-my-browse { display: inline-flex; align-items: center; gap: .42rem; padding: .55rem 1.2rem; background: linear-gradient(140deg, var(--rf-g2), var(--rf-g)); color: var(--rf-white); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 700; text-decoration: none; box-shadow: 0 3px 14px var(--rf-g-glow-xs); transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap); letter-spacing: -.008em; }
.rf-my-browse:hover { background: linear-gradient(140deg, var(--rf-g3), var(--rf-g2)); transform: translateY(-1.5px); border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3); color: var(--rf-white); }

/* ── 15. BOOKING HISTORY CARD ── */
.rf-booking-list { display: flex; flex-direction: column; gap: 1.1rem; }
.rf-booking-card { display: grid; grid-template-columns: 112px 1fr auto; gap: 1.35rem; align-items: center; background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2); padding: 1.15rem; transition: border-color var(--rf-t2) var(--rf-ease), box-shadow var(--rf-t2) var(--rf-ease), transform var(--rf-t2) var(--rf-snap), border-radius var(--rf-t3) var(--rf-snap); animation: rf-card-in 360ms var(--rf-snap) both; }
.rf-booking-card:hover { border-color: rgba(0,108,53,.18); box-shadow: 0 6px 24px rgba(0,108,53,.08); transform: translateY(-2.5px); border-radius: var(--rf-r2) var(--rf-r4) var(--rf-r2) var(--rf-r4); }
.rf-booking-thumb { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); display: block; }
.rf-booking-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; }
.rf-booking-car { font-family: var(--rf-ff-display); font-size: var(--rf-text-md); font-weight: 800; color: var(--rf-ink); margin: 0; letter-spacing: var(--rf-ls-normal); -webkit-font-smoothing: antialiased; }
.rf-status { display: inline-flex; align-items: center; gap: .28rem; padding: .24rem .75rem; border-radius: var(--rf-rf); font-family: var(--rf-ff); font-size: var(--rf-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--rf-ls-caps); white-space: nowrap; }
.rf-status-pending   { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.rf-status-confirmed { background: #dcfce7; color: #14532d; border: 1px solid #bbf7d0; }
.rf-status-active    { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }
.rf-status-completed { background: #f0f9ff; color: #0c4a6e; border: 1px solid #bae6fd; }
.rf-status-cancelled { background: #fee2e2; color: #7f1d1d; border: 1px solid #fecaca; }
.rf-booking-ref { font-family: var(--rf-mono); font-size: var(--rf-text-sm); color: var(--rf-muted); margin-bottom: .52rem; display: flex; align-items: center; gap: .3rem; letter-spacing: .01em; }
.rf-booking-ref i { color: var(--rf-g); }
.rf-booking-dates { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-ink2); margin-bottom: .45rem; letter-spacing: var(--rf-ls-normal); }
.rf-booking-dates span { display: flex; align-items: center; gap: .3rem; }
.rf-booking-dates i { color: var(--rf-g); font-size: .7rem; }
.rf-booking-total { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-ink2); }
.rf-booking-total strong { font-family: var(--rf-mono); font-size: var(--rf-text-md); font-weight: 800; color: var(--rf-g); }
.rf-booking-view { display: inline-flex; align-items: center; gap: .32rem; padding: .44rem .92rem; background: var(--rf-g-04); color: var(--rf-g); border: 1.5px solid var(--rf-g-12); border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1); font-family: var(--rf-ff); font-size: var(--rf-text-sm); font-weight: 700; text-decoration: none; white-space: nowrap; transition: background var(--rf-t1) var(--rf-ease), border-color var(--rf-t1) var(--rf-ease), color var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap); letter-spacing: -.008em; }
.rf-booking-view:hover { background: var(--rf-g); color: var(--rf-white); border-color: var(--rf-g); border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2); }

/* ── 16. EMPTY STATES ── */
.rf-my-empty { text-align: center; padding: 5.5rem 1.5rem; background: var(--rf-white); border: 1.5px dashed var(--rf-fog3); border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2); color: var(--rf-muted); animation: rf-fade-up var(--rf-t3) var(--rf-snap) both; }
.rf-my-empty-ico { font-size: 4.2rem; opacity: .16; margin-bottom: 1.1rem; display: block; animation: rf-float 5s ease-in-out infinite; }
.rf-my-empty h3  { font-family: var(--rf-ff-display); font-size: var(--rf-text-xl); font-weight: 800; color: var(--rf-ink2); margin-bottom: .45rem; -webkit-font-smoothing: antialiased; }
.rf-my-empty p   { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); line-height: var(--rf-lh-normal); }

/* ── 17. ALERTS ── */
.rf-alert { display: flex; align-items: center; gap: .58rem; padding: .9rem 1.15rem; border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); font-family: var(--rf-ff-body); font-size: var(--rf-text-base); margin-bottom: 1.35rem; animation: rf-pop var(--rf-t3) var(--rf-snap) both; line-height: var(--rf-lh-normal); }
.rf-alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.rf-alert-success i { color: #16a34a; }
.rf-alert-error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.rf-alert-error i { color: #dc2626; }
.rf-alert-warn    { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.rf-alert-warn i  { color: #d97706; }
.rf-toast { position: fixed; bottom: 1.5rem; inset-inline-end: 1.5rem; z-index: 9999; display: flex; align-items: center; gap: .65rem; padding: .88rem 1.35rem; background: var(--rf-ink); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 600; color: var(--rf-white); box-shadow: 0 8px 32px rgba(0,0,0,.30); transform: translateY(120%) scale(.9); opacity: 0; transition: transform var(--rf-t3) var(--rf-spring), opacity var(--rf-t2) var(--rf-ease); pointer-events: none; max-width: 340px; letter-spacing: var(--rf-ls-normal); }
.rf-toast-visible { transform: translateY(0) scale(1); opacity: 1; }
.rf-toast-success i { color: var(--rf-g3); }
.rf-toast-error i   { color: #f87171; }
.fa-spin { animation: rf-ring-spin .8s linear infinite; }

/* ── 18. REVIEWS ── */
.rf-reviews { margin-bottom: 2.5rem; }
.rf-reviews-list { display: flex; flex-direction: column; gap: .85rem; }
.rf-review-card { background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); padding: 1.1rem 1.25rem; animation: rf-card-in 360ms var(--rf-snap) both; transition: border-color var(--rf-t2) var(--rf-ease), transform 120ms var(--rf-spring); }
.rf-review-card:hover { border-color: var(--rf-g-12); transform: translateX(2px); }
.rf-review-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .55rem; flex-wrap: wrap; gap: .4rem; }
.rf-review-author { font-family: var(--rf-ff-display); font-size: var(--rf-text-base); font-weight: 700; color: var(--rf-ink); -webkit-font-smoothing: antialiased; }
.rf-review-date   { font-family: var(--rf-mono); font-size: var(--rf-text-xs); color: var(--rf-muted); letter-spacing: .01em; }
.rf-review-stars  { display: flex; gap: 2px; }
.rf-review-stars i { color: var(--rf-g3); font-size: .78rem; }
.rf-review-stars i.rf-star-empty { color: var(--rf-fog3); }
.rf-review-text   { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); color: var(--rf-ink2); line-height: var(--rf-lh-relaxed); margin: .4rem 0 0; letter-spacing: var(--rf-ls-normal); }
.rf-review-rating { font-family: var(--rf-mono); font-size: var(--rf-text-xs); color: var(--rf-g); font-weight: 600; }
.rf-rating-aggregate { display: flex; align-items: center; gap: 1.25rem; padding: 1.1rem 1.25rem; background: var(--rf-white); border: 1px solid var(--rf-fog3); border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); margin-bottom: 1.1rem; }
.rf-rating-big { font-family: var(--rf-mono); font-size: 2.8rem; font-weight: 700; color: var(--rf-g); line-height: 1; }
.rf-rating-stars-row { display: flex; gap: 3px; margin-bottom: .2rem; }
.rf-rating-stars-row i { color: var(--rf-g3); font-size: .9rem; }
.rf-rating-count { font-family: var(--rf-ff-body); font-size: var(--rf-text-sm); color: var(--rf-muted); }
.rf-review-card:nth-child(1){animation-delay:30ms} .rf-review-card:nth-child(2){animation-delay:60ms} .rf-review-card:nth-child(3){animation-delay:88ms} .rf-review-card:nth-child(4){animation-delay:112ms} .rf-review-card:nth-child(5){animation-delay:133ms}

/* ── 19. KEYFRAMES ── */
@keyframes rf-ring-spin  { to { transform: rotate(360deg); } }
@keyframes rf-card-in    { from { opacity: 0; transform: translateY(20px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes rf-fade-up    { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rf-pop        { from { opacity: 0; transform: scale(.90); } to { opacity: 1; transform: scale(1); } }
@keyframes rf-dot-pulse  { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.68); } }
@keyframes rf-float      { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes rf-orb-drift  { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(20px, -15px) scale(1.04); } 66% { transform: translate(-12px, 10px) scale(.97); } }
@keyframes rf-shake      { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }
@keyframes rf-shimmer    { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.rf-skeleton { background: linear-gradient(90deg, var(--rf-fog) 25%, var(--rf-fog2) 50%, var(--rf-fog) 75%); background-size: 200% 100%; animation: rf-shimmer 1.6s ease infinite; border-radius: var(--rf-r2); }

/* ── 20. RESPONSIVE ── */
@media (min-width: 1440px) { .rf-layout { max-width: 1560px; } .rf-detail-wrap { max-width: 1360px; } }
@media (min-width: 1025px) and (max-width: 1280px) { .rf-layout { grid-template-columns: 250px 1fr; gap: 1.75rem; } .rf-detail-grid { grid-template-columns: 1fr 360px; gap: 2rem; } }
@media (min-width: 769px) and (max-width: 1024px) {
    .rf-layout { grid-template-columns: 1fr; gap: 1.25rem; }
    .rf-filters { position: static; display: grid; grid-template-columns: repeat(3, 1fr); border-radius: var(--rf-r3); }
    .rf-filters-header { grid-column: 1/-1; } .rf-filters-body { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3, 1fr); } .rf-filters-footer { grid-column: 1/-1; flex-direction: row; }
    .rf-detail-grid { grid-template-columns: 1fr 340px; gap: 1.75rem; }
    .rf-trust-row { padding: .7rem 1rem .9rem; } .rf-trust-item { font-size: .62rem; }
}
@media (max-width: 768px) {
    .rf-hero { padding: 4.5rem 0 3.5rem; } .rf-hero-orb-1, .rf-hero-orb-2 { display: none; }
    .rf-layout { grid-template-columns: 1fr; gap: 1.25rem; padding: 0 1rem; } .rf-filters { position: static; border-radius: var(--rf-r3); }
    .rf-grid { grid-template-columns: repeat(auto-fill, minmax(265px, 1fr)); gap: 1rem; }
    .rf-detail-grid { grid-template-columns: 1fr; } .rf-price-card { position: static; } .rf-detail-wrap { padding: 1.5rem 1rem 0; }
    .rf-booking-card { grid-template-columns: 88px 1fr; } .rf-booking-card > :last-child { grid-column: 1/-1; }
    .rf-my-head { flex-direction: column; align-items: flex-start; } .rf-my-wrap { padding: 0 1rem; }
    .rf-search-wrap { flex-wrap: wrap; padding: .5rem .75rem; border-radius: var(--rf-r3); } .rf-search-btn { width: 100%; justify-content: center; } .rf-glow-ring, .rf-glow-mask { border-radius: var(--rf-r3); }
    .rf-detail-left > .rf-section-title { margin-top: 1.5rem; } .rf-trust-row { gap: 1rem; } .rf-trust-item { font-size: .65rem; } .rf-trust-item i { font-size: .9rem; }
    .rf-tier { padding: .65rem .8rem; }
}
@media (max-width: 540px) { .rf-specs { grid-template-columns: repeat(2, 1fr); } .rf-features-list { grid-template-columns: 1fr; } .rf-gallery-thumbs { gap: .45rem; } .rf-thumb { width: 62px; height: 46px; } .rf-booking-card { grid-template-columns: 1fr; } .rf-hero-stats { gap: 1.25rem; } .rf-trust-row { flex-direction: row; gap: .5rem; } }
@media (max-width: 380px) { .rf-card { border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1); } }

/* ── 21. RTL ── */
body[dir="rtl"] .rf-card-cta i, body[dir="rtl"] .rf-submit i, body[dir="rtl"] .rf-my-browse i, body[dir="rtl"] .rf-booking-view i { transform: scaleX(-1); }
body[dir="rtl"] .rf-section-title::before { margin-inline-end: .55rem; margin-inline-start: 0; }
body[dir="rtl"] .rf-filter-select { background-position: left .78rem center; padding-right: .82rem; padding-left: 2.1rem; }
body[dir="rtl"] .rf-features-list li:hover { transform: translateX(-2px); }
body[dir="rtl"] .rf-search-input { text-align: right; }
body[dir="rtl"] .rf-suggestion-item:hover { padding-inline-start: 1.6rem; }
body[dir="rtl"] .rf-toast { inset-inline-start: 1.5rem; inset-inline-end: auto; }
body[dir="rtl"] .rf-booking-card { direction: rtl; }
body[dir="rtl"] .rf-gallery-status { inset-inline-start: 1rem; inset-inline-end: auto; }
body[dir="rtl"] .rf-detail-left > .rf-section-title::before { margin-inline-end: .55rem; margin-inline-start: 0; }

/* ── Hero title car icon ──────────────────────────────────── */
.rf-hero-title-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: .88em; height: .88em;
    background: linear-gradient(135deg, var(--rf-g3), var(--rf-g));
    border-radius: .20em .06em .20em .06em;
    margin-inline-end: .18em;
    vertical-align: -.08em;
    box-shadow:
        0 0 18px rgba(0,185,92,.55),
        0 0 40px rgba(0,185,92,.25),
        inset 0 1px 0 rgba(255,255,255,.20);
    flex-shrink: 0;
    animation: rf-icon-pulse 3s ease-in-out infinite;
}
.rf-hero-title-icon i {
    font-size: .52em;
    color: #fff;
    filter: drop-shadow(0 0 4px rgba(0,255,120,.6));
}
@keyframes rf-icon-pulse {
    0%,100% { box-shadow: 0 0 18px rgba(0,185,92,.55), 0 0 40px rgba(0,185,92,.25), inset 0 1px 0 rgba(255,255,255,.20); }
    50%      { box-shadow: 0 0 28px rgba(0,185,92,.75), 0 0 60px rgba(0,185,92,.35), inset 0 1px 0 rgba(255,255,255,.20); }
}

/* Title line — car + text on first line, accent on second */
.rf-hero-title-line1 {
    display: flex; align-items: center; justify-content: center;
    gap: .18em; line-height: var(--rf-lh-tight);
}





/* ============================================================
   SAUDI AUTOS — RENTAL GALLERY 3D
   Append to: public/frontend/css/pages/rental.css
   ============================================================ */

/* ── Stage wrapper ── */
.rf-gallery-stage-wrap {
    position: relative;
    margin-bottom: 1rem;
}
.rf-gallery-cube-2,
.rf-gallery-cube-1 {
    display: none;
}

/* ── Stage ── */
.rf-gallery-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    perspective: 1000px;
    perspective-origin: 50% 50%;
    cursor: grab;
    user-select: none;
    z-index: 1;
    overflow: hidden;                          /* CRITICAL — prevents bleed */
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    isolation: isolate;
}
.rf-gallery-stage:active { cursor: grabbing; }

/* ── Carousel ── */
.rf-gallery-3d {
    width: 100%; height: 100%;
    transform-style: preserve-3d;
    position: relative;
}

/* ── Each slide ── */
.rf-slide {
    position: absolute; inset: 0;
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    overflow: hidden;
    backface-visibility: hidden;
    will-change: transform, opacity;
    transition:
        opacity       .5s  var(--rf-ease),
        filter        .5s  var(--rf-ease),
        transform     .7s  cubic-bezier(.25,.46,.45,.94),
        border-radius .35s cubic-bezier(.22,1,.36,1);
    /* Default: hidden */
    transform: scale(.6) translateZ(-200px);
    opacity: 0; filter: brightness(.3); z-index: 0;
    pointer-events: none;
}
.rf-slide img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .6s var(--rf-ease);
    border-radius: inherit;
}
.rf-slide.rf-active:hover img { transform: scale(1.04); }

/* Active slide */
.rf-slide.rf-active {
    transform: translateZ(0) scale(1);
    opacity: 1; filter: brightness(1); z-index: 2;
    pointer-events: all;
}
/* Right neighbour */
.rf-slide.rf-next {
    transform: translateX(18%) translateZ(-80px) rotateY(-18deg) scale(.9);
    opacity: .45; filter: brightness(.65) blur(.5px); z-index: 1;
}
/* Left neighbour */
.rf-slide.rf-prev {
    transform: translateX(-18%) translateZ(-80px) rotateY(18deg) scale(.9);
    opacity: .45; filter: brightness(.65) blur(.5px); z-index: 1;
}

/* ── Slide overlay ── */
.rf-slide-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 30%, rgba(0,10,5,.72) 100%);
    display: flex; flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem 1.75rem;
    opacity: 0;
    transition: opacity .35s var(--rf-ease);
}
.rf-slide.rf-active .rf-slide-overlay { opacity: 1; }
.rf-slide-title {
    font-family: var(--rf-ff-display);
    font-size: 1.35rem; font-weight: 900;
    color: #fff; letter-spacing: -.03em;
    margin-bottom: .25rem;
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
    -webkit-font-smoothing: antialiased;
}
.rf-slide-sub {
    font-size: var(--rf-text-sm);
    color: rgba(255,255,255,.62);
    font-weight: 500; letter-spacing: .01em;
    display: flex; align-items: center; gap: .5rem;
}
.rf-slide-sub-dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--rf-g3);
    box-shadow: 0 0 8px var(--rf-g3);
    flex-shrink: 0;
}

/* ── Corner brackets ── */
.rf-bracket {
    position: absolute; width: 22px; height: 22px;
    pointer-events: none; z-index: 11;
}
.rf-bracket::before, .rf-bracket::after {
    content: ''; position: absolute;
    background: var(--rf-g3); opacity: .75;
}
.rf-bracket-tl { top: 14px; left: 14px; }
.rf-bracket-tl::before { top:0;left:0;width:2px;height:100%; }
.rf-bracket-tl::after  { top:0;left:0;height:2px;width:100%; }
.rf-bracket-tr { top: 14px; right: 14px; }
.rf-bracket-tr::before { top:0;right:0;width:2px;height:100%; }
.rf-bracket-tr::after  { top:0;right:0;height:2px;width:100%; }
.rf-bracket-bl { bottom: 14px; left: 14px; }
.rf-bracket-bl::before { bottom:0;left:0;width:2px;height:100%; }
.rf-bracket-bl::after  { bottom:0;left:0;height:2px;width:100%; }
.rf-bracket-br { bottom: 14px; right: 14px; }
.rf-bracket-br::before { bottom:0;right:0;width:2px;height:100%; }
.rf-bracket-br::after  { bottom:0;right:0;height:2px;width:100%; }

/* ── Scan line ── */
.rf-scanline {
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg,
        transparent 0%, rgba(0,185,92,.6) 40%,
        rgba(0,255,120,.95) 50%, rgba(0,185,92,.6) 60%, transparent 100%);
    box-shadow: 0 0 12px rgba(0,185,92,.5);
    pointer-events: none; z-index: 10;
    animation: rf-gallery-scan 3.5s ease-in-out infinite;
}
@keyframes rf-gallery-scan {
    0%   { top: 5%;  opacity: 0; }
    8%   { opacity: 1; }
    92%  { opacity: 1; }
    100% { top: 93%; opacity: 0; }
}

/* ── Nav arrows ── */
.rf-gallery-nav-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px;
    border-radius: 12px 3px 12px 3px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff; cursor: pointer; z-index: 20;
    backdrop-filter: blur(12px);
    transition:
        background     .15s var(--rf-ease),
        border-radius  .2s  var(--rf-snap),
        transform      .2s  var(--rf-spring);
}
.rf-gallery-nav-btn:hover {
    background: var(--rf-g);
    border-color: var(--rf-g);
    border-radius: 3px 12px 3px 12px;
    transform: translateY(-50%) scale(1.1);
}
.rf-gallery-nav-btn:active { transform: translateY(-50%) scale(.95); }
.rf-gallery-nav-prev { left: 14px; }
.rf-gallery-nav-next { right: 14px; }

/* ── Autoplay progress bar ── */
.rf-gallery-autobar {
    position: absolute; bottom: 0; left: 0; right: 0; height: 3px; z-index: 20;
    background: rgba(255,255,255,.08);
    border-radius: 0 0 var(--rf-r4) var(--rf-r2);
    overflow: hidden;
}
.rf-gallery-autofill {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--rf-g2), var(--rf-g3));
}

/* ── Gallery header ── */
.rf-gallery-header {
    display: flex; align-items: center;
    justify-content: space-between;
    margin-bottom: .85rem;
}
.rf-gallery-label {
    display: flex; align-items: center; gap: .4rem;
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: var(--rf-g2);
}
.rf-gallery-label-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--rf-g3);
    box-shadow: 0 0 8px var(--rf-g3);
    animation: rf-dot-pulse 2s ease-in-out infinite;
}
.rf-gallery-slide-count {
    font-family: var(--rf-mono);
    font-size: var(--rf-text-xs); color: var(--rf-muted);
}

/* ── Thumbnails ── */
.rf-gallery-3d-thumbs {
    display: flex; gap: .55rem;
    flex-wrap: wrap; margin-bottom: 1.25rem;
}
.rf-gallery-3d-thumb {
    width: 72px; height: 50px;
    border-radius: 10px 3px 10px 3px;
    object-fit: cover; cursor: pointer;
    border: 2px solid transparent;
    opacity: .52; flex-shrink: 0;
    transition:
        border-color  .15s var(--rf-ease),
        opacity       .15s var(--rf-ease),
        border-radius .2s  var(--rf-snap),
        transform     .2s  var(--rf-spring);
}
.rf-gallery-3d-thumb:hover { opacity: .82; transform: translateY(-3px); }
.rf-gallery-3d-thumb.rf-active {
    border-color: var(--rf-g3); opacity: 1;
    border-radius: 3px 10px 3px 10px;
    box-shadow: 0 0 0 3px rgba(0,185,92,.20);
}

/* ── Drag hint ── */
.rf-gallery-hint {
    text-align: center;
    font-size: .68rem; color: var(--rf-fog4);
    letter-spacing: .05em; margin-top: .5rem;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .rf-slide-title { font-size: 1rem; }
    .rf-gallery-nav-btn { width: 36px; height: 36px; }
    .rf-gallery-3d-thumb { width: 56px; height: 40px; }
    .rf-gallery-cube-1, .rf-gallery-cube-2 { display: none; }
}

/* ── Detail Stats Bar ── */
.rf-detail-stats-bar {
    display: flex; align-items: center; justify-content: space-around;
    padding: 1rem 1.25rem;
    background: var(--rf-white);
    border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    margin-bottom: 2rem;
    gap: .5rem; flex-wrap: wrap;
}
.rf-detail-stat { display: flex; flex-direction: column; align-items: center; gap: .12rem; }
.rf-detail-stat-val {
    font-family: var(--rf-mono); font-size: 1.2rem; font-weight: 800;
    color: var(--rf-g); letter-spacing: -.02em; line-height: 1;
}
.rf-detail-stat-lbl {
    font-size: var(--rf-text-xs); font-weight: 600;
    color: var(--rf-muted); text-transform: uppercase; letter-spacing: var(--rf-ls-caps);
}
.rf-detail-stat-sep {
    width: 1px; height: 32px;
    background: linear-gradient(180deg, transparent, var(--rf-fog3), transparent);
}

/* ── WhatsApp Button ── */
.rf-whatsapp-btn {
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    width: 100%; padding: .72rem;
    background: linear-gradient(140deg, #25d366, #128c5e);
    color: #fff; border: none;
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 700;
    text-decoration: none; cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 3px 14px rgba(37,211,102,.30);
    transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap);
    letter-spacing: -.008em;
}
.rf-whatsapp-btn:hover {
    background: linear-gradient(140deg, #2ecc71, #27ae60);
    transform: translateY(-1.5px);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    color: #fff;
}
.rf-whatsapp-btn i { font-size: 1.1rem; }

/* ── Price card stats ── */
.rf-price-card-stats {
    display: flex; align-items: center; justify-content: space-around;
    padding: .85rem 1.5rem;
    background: var(--rf-fog);
    border-top: 1px solid var(--rf-fog3);
    gap: .5rem;
}
.rf-price-card-stat { display: flex; flex-direction: column; align-items: center; gap: .15rem; }
.rf-price-card-stat-val {
    font-family: var(--rf-mono); font-size: 1.05rem; font-weight: 800;
    color: var(--rf-ink); letter-spacing: -.018em; line-height: 1;
}
.rf-price-card-stat-lbl {
    font-size: var(--rf-text-xs); color: var(--rf-muted); font-weight: 600;
    text-transform: uppercase; letter-spacing: var(--rf-ls-caps);
    display: flex; align-items: center; gap: .25rem;
}
.rf-price-card-stat-lbl i { color: var(--rf-g); font-size: .65rem; }

/* ── Share button ── */
.rf-share-btn {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .38rem .9rem;
    background: var(--rf-fog);
    border: 1.5px solid var(--rf-fog3);
    border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-sm); font-weight: 600;
    color: var(--rf-muted); cursor: pointer;
    transition: background var(--rf-t1) var(--rf-ease), color var(--rf-t1) var(--rf-ease),
                border-color var(--rf-t1) var(--rf-ease), border-radius var(--rf-t2) var(--rf-snap);
}
.rf-share-btn:hover {
    background: var(--rf-g-08); color: var(--rf-g);
    border-color: var(--rf-g-12);
    border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2);
}

/* ── Category pills bar ── */
.rf-cats-bar {
    background: var(--rf-white);
    border-bottom: 1px solid var(--rf-fog3);
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.rf-cats-bar::-webkit-scrollbar { display: none; }
.rf-cats-inner {
    display: flex; align-items: center; gap: .5rem;
    max-width: 1440px; margin: 0 auto;
    padding: .75rem 2rem;
    min-width: max-content;
}
.rf-cat-pill {
    display: inline-flex; align-items: center; gap: .38rem;
    padding: .42rem 1.05rem;
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    border: 1.5px solid var(--rf-fog3);
    background: var(--rf-fog);
    font-family: var(--rf-ff); font-size: var(--rf-text-sm); font-weight: 600;
    color: var(--rf-muted); text-decoration: none; white-space: nowrap;
    transition:
        background var(--rf-t1) var(--rf-ease),
        color var(--rf-t1) var(--rf-ease),
        border-color var(--rf-t1) var(--rf-ease),
        border-radius var(--rf-t2) var(--rf-snap),
        transform 120ms var(--rf-spring);
    cursor: pointer;
}
.rf-cat-pill i { font-size: .72rem; }
.rf-cat-pill:hover {
    background: var(--rf-g-08);
    border-color: var(--rf-g-12);
    color: var(--rf-g);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    transform: translateY(-1.5px);
}
.rf-cat-pill.rf-cat-active {
    background: linear-gradient(140deg, var(--rf-g2), var(--rf-g));
    border-color: var(--rf-g);
    color: var(--rf-white);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 3px 12px var(--rf-g-glow-xs);
}
.rf-cat-pill.rf-cat-active:hover { transform: none; }

/* ── Active category badge (results area) ── */
.rf-active-cat-bar {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .38rem .9rem;
    background: var(--rf-g-08);
    border: 1.5px solid var(--rf-g-12);
    border-radius: var(--rf-rf);
    font-family: var(--rf-ff); font-size: var(--rf-text-sm); font-weight: 700;
    color: var(--rf-g); margin-bottom: 1rem;
}
.rf-active-cat-bar i { font-size: .72rem; }
.rf-active-cat-clear {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px;
    background: var(--rf-g-12); border-radius: 50%;
    color: var(--rf-g); font-size: .6rem; text-decoration: none;
    transition: background var(--rf-t1) var(--rf-ease);
    margin-inline-start: .2rem;
}
.rf-active-cat-clear:hover { background: var(--rf-g); color: var(--rf-white); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .rf-cats-inner { padding: .65rem 1rem; }
    .rf-cat-pill { padding: .38rem .85rem; font-size: var(--rf-text-xs); }
}

/* ============== Rental Registration ======================= */

/* ================================================================
   22. COMPANY REGISTER + AUTH PAGES
   Prefix: cr-   (Company Register — zero collisions)
   Pages: register.blade.php · pending.blade.php · login.blade.php
   All tokens inherit from rf- root above
================================================================ */

/* ── Page shell ── */
.cr-page {
    margin-top:60px;
    min-height: 100vh;
    background:
        radial-gradient(ellipse 70% 60% at 0% 0%, rgba(0,108,53,.07) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 100% 100%, rgba(0,185,92,.05) 0%, transparent 55%),
        var(--rf-fog);
    display: flex; align-items: flex-start; justify-content: center;
    padding: 2rem 1rem 4rem;
    position: relative; overflow-x: hidden;
    font-family: var(--rf-ff);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.cr-page *, .cr-page *::before, .cr-page *::after { box-sizing: border-box; }

/* Background orbs */
.cr-orb {
    position: fixed; border-radius: 50%;
    pointer-events: none; z-index: 0;
}
.cr-orb-1 {
    width: 480px; height: 480px; top: -120px; left: -120px;
    background: radial-gradient(circle, rgba(0,108,53,.09) 0%, transparent 65%);
}
.cr-orb-2 {
    width: 360px; height: 360px; bottom: -80px; right: -80px;
    background: radial-gradient(circle, rgba(0,185,92,.07) 0%, transparent 65%);
}

/* ── Two-column wrap ── */
.cr-wrap {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 2.5rem;
    max-width: 980px; width: 100%;
    align-items: start;
}

/* ── Left aside ── */
.cr-aside {
    position: sticky; top: 2rem;
    background: linear-gradient(160deg, var(--rf-g-dim) 0%, var(--rf-g) 55%, var(--rf-g2) 100%);
    border-radius: var(--rf-r4) var(--rf-r1) var(--rf-r4) var(--rf-r1);
    padding: 2rem 1.75rem;
    color: var(--rf-white);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 2px 0 rgba(0,40,20,.48),
        0 12px 48px rgba(0,108,53,.26),
        0 4px 16px rgba(0,0,0,.10);
    overflow: hidden;
    font-family: var(--rf-ff);
}
.cr-aside::before {
    content: '';
    position: absolute; top: -60px; right: -60px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(255,255,255,.06); pointer-events: none;
}
.cr-aside::after {
    content: '';
    position: absolute; bottom: -40px; left: -40px;
    width: 150px; height: 150px; border-radius: 50%;
    background: rgba(255,255,255,.04); pointer-events: none;
}

/* Brand row */
.cr-brand {
    display: flex; align-items: center; gap: .75rem;
    margin-bottom: 2rem; position: relative; z-index: 1;
}
.cr-brand-gem {
    width: 44px; height: 44px; flex-shrink: 0;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 14px 3px 14px 3px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rf-white);
}
.cr-brand-name {
    font-size: .96rem; font-weight: 800;
    letter-spacing: -.022em; line-height: 1;
    color: var(--rf-white);
}
.cr-brand-sub {
    font-size: .58rem; font-weight: 500;
    letter-spacing: .10em; text-transform: uppercase;
    opacity: .62; margin-top: 2px;
}

/* Aside headline */
.cr-aside-headline {
    margin-bottom: 2rem; position: relative; z-index: 1;
}
.cr-aside-headline h2 {
    font-size: clamp(1.45rem, 2.8vw, 1.9rem);
    font-weight: 900; letter-spacing: -.04em;
    line-height: 1.08; margin: 0 0 .65rem;
    color: var(--rf-white);
    -webkit-font-smoothing: antialiased;
}
.cr-aside-headline p {
    font-size: var(--rf-text-sm); opacity: .70;
    line-height: var(--rf-lh-relaxed); margin: 0;
}
.cr-accent { color: var(--rf-g3); }

/* Feature list */
.cr-features {
    list-style: none; padding: 0; margin: 0 0 2rem;
    display: flex; flex-direction: column; gap: .78rem;
    position: relative; z-index: 1;
}
.cr-feature {
    display: flex; align-items: flex-start; gap: .78rem;
    padding: .72rem .88rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px 3px 12px 3px;
    transition:
        background var(--rf-t1) var(--rf-ease),
        border-radius var(--rf-t2) var(--rf-snap);
}
.cr-feature:hover {
    background: rgba(255,255,255,.14);
    border-radius: 3px 12px 3px 12px;
}
.cr-feature-ico {
    width: 32px; height: 32px; flex-shrink: 0;
    background: rgba(255,255,255,.14);
    border-radius: 9px 2px 9px 2px;
    display: flex; align-items: center; justify-content: center;
}
.cr-feature strong {
    display: block; font-size: var(--rf-text-sm);
    font-weight: 700; margin-bottom: 1px;
    color: var(--rf-white);
}
.cr-feature small {
    display: block; font-size: var(--rf-text-xs);
    opacity: .60; color: var(--rf-white);
}

/* Quote */
.cr-quote {
    padding: .95rem 1.05rem;
    background: rgba(255,255,255,.08);
    border-left: 3px solid rgba(0,185,92,.70);
    border-radius: 0 10px 10px 0;
    position: relative; z-index: 1;
}
.cr-quote p {
    font-size: var(--rf-text-sm); font-style: italic;
    opacity: .82; margin: 0 0 .72rem;
    line-height: var(--rf-lh-relaxed);
    color: var(--rf-white);
}
.cr-quote-author {
    display: flex; align-items: center; gap: .58rem;
}
.cr-quote-av {
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,.18);
    display: flex; align-items: center; justify-content: center;
    font-size: .70rem; font-weight: 700; flex-shrink: 0;
    color: var(--rf-white);
}
.cr-quote-author strong {
    display: block; font-size: var(--rf-text-sm);
    font-weight: 700; color: var(--rf-white);
}
.cr-quote-author small {
    display: block; font-size: var(--rf-text-xs);
    opacity: .58; color: var(--rf-white);
}

/* ── Main form panel ── */
.cr-main {
    background: var(--rf-white);
    border-radius: var(--rf-r1) var(--rf-r4) var(--rf-r1) var(--rf-r4);
    border: 1px solid var(--rf-fog3);
    box-shadow:
        0 4px 24px rgba(0,108,53,.05),
        0 1px 4px rgba(0,0,0,.04);
    overflow: hidden;
    font-family: var(--rf-ff);
}

.cr-form-head {
    display: flex; align-items: center; gap: 1rem;
    padding: 1.75rem 2rem 1.5rem;
    background: linear-gradient(180deg, var(--rf-fog) 0%, var(--rf-white) 100%);
    border-bottom: 1px solid var(--rf-fog2);
}
.cr-form-ico {
    width: 48px; height: 48px; flex-shrink: 0;
    background: linear-gradient(140deg, var(--rf-g2), var(--rf-g));
    border-radius: 14px 3px 14px 3px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rf-white); font-size: 1.1rem;
    box-shadow: 0 3px 12px var(--rf-g-glow-s);
}
.cr-form-title {
    font-size: var(--rf-text-xl); font-weight: 900;
    letter-spacing: var(--rf-ls-snug); color: var(--rf-ink);
    margin: 0 0 .15rem;
    -webkit-font-smoothing: antialiased;
}
.cr-form-sub { font-size: var(--rf-text-sm); color: var(--rf-muted); margin: 0; }

/* ── Alerts ── */
.cr-alert {
    display: flex; align-items: flex-start; gap: .6rem;
    padding: .85rem 1.25rem;
    margin: 1rem 2rem 0;
    border-radius: 10px 3px 10px 3px;
    font-size: var(--rf-text-sm); line-height: var(--rf-lh-normal);
    font-family: var(--rf-ff);
}
.cr-alert i { margin-top: 2px; flex-shrink: 0; }
.cr-alert-error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.cr-alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }

/* ── Form body ── */
.cr-form {
    padding: 1.5rem 2rem 0;
    display: flex; flex-direction: column; gap: 1rem;
}

/* Step labels */
.cr-step-label {
    display: flex; align-items: center; gap: .48rem;
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: var(--rf-g); margin-top: .25rem;
}
.cr-step-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--rf-g3);
    box-shadow: 0 0 6px var(--rf-g3); flex-shrink: 0;
}

/* 2-col row */
.cr-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

/* Field */
.cr-field { display: flex; flex-direction: column; gap: .32rem; }

.cr-label {
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: var(--rf-ink3);
}
.cr-req { color: var(--rf-g); margin-left: 2px; }

/* Input wrap */
.cr-input-wrap { position: relative; display: flex; align-items: center; }
.cr-input-ico {
    position: absolute; left: .85rem;
    color: var(--rf-muted); font-size: .76rem;
    pointer-events: none; z-index: 1;
    transition: color var(--rf-t1) var(--rf-ease);
}
.cr-input-wrap:focus-within .cr-input-ico { color: var(--rf-g); }
.cr-textarea-wrap { align-items: flex-start; }

.cr-input {
    width: 100%;
    padding: .62rem .9rem .62rem 2.35rem;
    border: 1.5px solid var(--rf-fog3);
    border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-base);
    color: var(--rf-ink); background: var(--rf-fog);
    outline: none;
    transition:
        border-color    var(--rf-t1) var(--rf-ease),
        background      var(--rf-t1) var(--rf-ease),
        border-radius   var(--rf-t2) var(--rf-snap),
        box-shadow      var(--rf-t1) var(--rf-ease);
}
.cr-input:focus {
    border-color: var(--rf-g);
    background: var(--rf-white);
    border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2);
    box-shadow: 0 0 0 3px var(--rf-g-04);
}
.cr-input::placeholder { color: var(--rf-fog4); font-family: var(--rf-ff); }
.cr-input-err { border-color: #dc2626 !important; }
.cr-input-err:focus { box-shadow: 0 0 0 3px rgba(220,38,38,.10) !important; }

/* Select */
.cr-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B7C72'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .85rem center;
    padding-right: 2rem; cursor: pointer;
}

/* Textarea */
.cr-textarea { resize: vertical; min-height: 80px; padding-top: .62rem; line-height: var(--rf-lh-relaxed); }

.cr-field-hint { font-size: .68rem; color: var(--rf-muted); margin: 0; text-align: right; }
.cr-err-msg    { font-size: .73rem; color: #dc2626; margin: 0; }

/* Password eye */
.cr-pwd-eye {
    position: absolute; right: .72rem;
    background: none; border: none; cursor: pointer;
    color: var(--rf-muted); padding: .22rem;
    border-radius: var(--rf-r1);
    transition: color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease);
}
.cr-pwd-eye:hover { color: var(--rf-g); background: var(--rf-g-08); }

/* Password strength */
.cr-strength {
    display: flex; align-items: center; gap: .58rem;
    margin-top: .28rem;
}
.cr-strength-bar {
    flex: 1; height: 4px;
    background: var(--rf-fog2); border-radius: var(--rf-rf); overflow: hidden;
}
.cr-strength-fill {
    height: 100%; width: 0%;
    border-radius: var(--rf-rf);
    transition: width .3s var(--rf-snap), background .3s var(--rf-ease);
}
.cr-strength-lbl {
    font-size: .67rem; font-weight: 600;
    min-width: 52px; color: var(--rf-muted);
}

/* Upload zone */
.cr-upload-zone {
    position: relative;
    border: 2px dashed var(--rf-fog3);
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    padding: 1.2rem 1rem;
    text-align: center; cursor: pointer;
    background: var(--rf-fog);
    min-height: 96px;
    display: flex; align-items: center; justify-content: center;
    transition:
        border-color    var(--rf-t1) var(--rf-ease),
        background      var(--rf-t1) var(--rf-ease),
        border-radius   var(--rf-t2) var(--rf-snap);
}
.cr-upload-zone:hover,
.cr-upload-zone:focus,
.cr-upload-zone.cr-drag-over {
    border-color: var(--rf-g);
    background: var(--rf-g-04);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    outline: none;
}
.cr-upload-input {
    position: absolute; inset: 0;
    opacity: 0; cursor: pointer; width: 100%;
}
.cr-upload-ico {
    font-size: 1.75rem; color: var(--rf-muted);
    margin-bottom: .38rem;
    transition: color var(--rf-t1) var(--rf-ease);
}
.cr-upload-zone:hover .cr-upload-ico { color: var(--rf-g); }
.cr-upload-lbl  { font-size: var(--rf-text-sm); font-weight: 600; color: var(--rf-ink2); margin: 0; }
.cr-upload-hint { font-size: var(--rf-text-xs); color: var(--rf-muted); margin: .2rem 0 0; }
.cr-upload-preview {
    position: relative; width: 100%;
    display: flex; align-items: center; justify-content: center;
}
.cr-upload-preview img {
    max-height: 76px; max-width: 100%;
    border-radius: var(--rf-r2); object-fit: contain;
}
.cr-upload-remove {
    position: absolute; top: -8px; right: -8px;
    width: 22px; height: 22px; border-radius: 50%;
    background: #dc2626; color: var(--rf-white);
    border: none; cursor: pointer; font-size: .62rem;
    display: flex; align-items: center; justify-content: center; z-index: 2;
}

/* Checkbox / terms */
.cr-terms { padding: .2rem 0; }
.cr-checkbox-label {
    display: flex; align-items: flex-start; gap: .62rem;
    font-size: var(--rf-text-sm); color: var(--rf-ink2);
    cursor: pointer; line-height: var(--rf-lh-relaxed);
    font-family: var(--rf-ff);
}
.cr-checkbox { display: none; }
.cr-checkbox-custom {
    width: 18px; height: 18px; flex-shrink: 0;
    border: 2px solid var(--rf-fog3);
    border-radius: 5px 2px 5px 2px;
    background: var(--rf-fog);
    display: flex; align-items: center; justify-content: center;
    margin-top: 2px;
    transition: border-color var(--rf-t1) var(--rf-ease), background var(--rf-t1) var(--rf-ease);
}
.cr-checkbox:checked + .cr-checkbox-custom {
    background: var(--rf-g); border-color: var(--rf-g);
}
.cr-checkbox:checked + .cr-checkbox-custom::after {
    content: '';
    display: block; width: 5px; height: 9px;
    border: 2px solid var(--rf-white);
    border-top: none; border-left: none;
    transform: rotate(45deg) translate(-1px, -1px);
}
.cr-checkbox-label a { color: var(--rf-g); font-weight: 600; text-decoration: none; }
.cr-checkbox-label a:hover { text-decoration: underline; }

/* Submit button — matches rf- button language */
.cr-submit {
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    width: 100%; padding: .9rem;
    background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 60%, var(--rf-g-dim) 100%);
    color: var(--rf-white); border: none;
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-md); font-weight: 800;
    cursor: pointer; letter-spacing: var(--rf-ls-normal);
    box-shadow:
        inset 0 1.5px 0 rgba(255,255,255,.16),
        inset 0 -1.5px 0 rgba(0,0,0,.16),
        0 4px 0 rgba(0,40,20,.45),
        0 6px 20px var(--rf-g-glow-s);
    position: relative; overflow: hidden;
    transition:
        background    var(--rf-t1) var(--rf-ease),
        transform     120ms var(--rf-spring),
        border-radius var(--rf-t2) var(--rf-snap),
        box-shadow    var(--rf-t1) var(--rf-ease);
    -webkit-font-smoothing: antialiased;
}
.cr-submit::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.18) 50%, transparent 80%);
    transform: translateX(-130%) skewX(-14deg);
    transition: transform 520ms var(--rf-snap); pointer-events: none;
}
.cr-submit:hover {
    background: linear-gradient(140deg, var(--rf-g3) 0%, var(--rf-g2) 60%, var(--rf-g) 100%);
    transform: translateY(-2px);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    box-shadow:
        inset 0 1.5px 0 rgba(255,255,255,.20),
        0 6px 0 rgba(0,40,20,.38),
        0 10px 28px var(--rf-g-glow);
    color: var(--rf-white);
}
.cr-submit:hover::before { transform: translateX(130%) skewX(-14deg); }
.cr-submit:active { transform: translateY(1px); }
.cr-submit:disabled { opacity: .65; cursor: not-allowed; transform: none !important; }
.cr-submit-arrow {
    font-size: 1.05rem;
    transition: transform .2s var(--rf-snap);
}
.cr-submit:hover .cr-submit-arrow { transform: translateX(4px); }

/* Info note */
.cr-note {
    display: flex; align-items: flex-start; gap: .42rem;
    font-size: var(--rf-text-xs); color: var(--rf-muted);
    line-height: var(--rf-lh-relaxed);
    padding: .48rem .72rem;
    background: var(--rf-g-04);
    border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1);
    border: 1px solid var(--rf-g-08);
}
.cr-note i { color: var(--rf-g); margin-top: 2px; flex-shrink: 0; }

/* Form footer */
.cr-form-footer {
    padding: 1.2rem 2rem 1.5rem;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: .5rem;
    border-top: 1px solid var(--rf-fog2);
    margin-top: 1.5rem;
}
.cr-form-footer p   { font-size: var(--rf-text-sm); color: var(--rf-muted); margin: 0; }
.cr-form-footer a   { color: var(--rf-g); font-weight: 600; text-decoration: none; }
.cr-form-footer a:hover { text-decoration: underline; }

.cr-back-link {
    display: inline-flex; align-items: center; gap: .32rem;
    font-size: var(--rf-text-xs); color: var(--rf-muted); text-decoration: none;
    padding: .3rem .7rem;
    border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r2) var(--rf-r1) var(--rf-r2) var(--rf-r1);
    transition:
        color          var(--rf-t1) var(--rf-ease),
        border-color   var(--rf-t1) var(--rf-ease),
        background     var(--rf-t1) var(--rf-ease),
        border-radius  var(--rf-t2) var(--rf-snap);
}
.cr-back-link:hover {
    color: var(--rf-g); border-color: var(--rf-g-12);
    background: var(--rf-g-04);
    border-radius: var(--rf-r1) var(--rf-r2) var(--rf-r1) var(--rf-r2);
    text-decoration: none;
}

/* ── Pending page ── */
.cr-pending-page {
    min-height: 80vh;
    display: flex; align-items: center; justify-content: center;
    background: var(--rf-fog);
    padding: 2rem 1rem;
    font-family: var(--rf-ff);
    -webkit-font-smoothing: antialiased;
}
.cr-pending-wrap {
    width: 100%; max-width: 500px; text-align: center;
}
.cr-pending-icon {
    width: 88px; height: 88px; margin: 0 auto 1.75rem;
    background: linear-gradient(140deg, var(--rf-g2), var(--rf-g), var(--rf-g-dim));
    border-radius: var(--rf-r4) var(--rf-r1) var(--rf-r4) var(--rf-r1);
    display: flex; align-items: center; justify-content: center;
    color: var(--rf-white); font-size: 2rem;
    box-shadow:
        inset 0 1.5px 0 rgba(255,255,255,.16),
        0 4px 0 rgba(0,40,20,.45),
        0 8px 32px rgba(0,108,53,.26);
    animation: rf-float 4s ease-in-out infinite;
}
.cr-pending-title {
    font-size: var(--rf-text-2xl); font-weight: 900;
    letter-spacing: var(--rf-ls-snug); color: var(--rf-ink);
    margin: 0 0 .5rem;
    -webkit-font-smoothing: antialiased;
}
.cr-pending-sub {
    font-size: var(--rf-text-base); color: var(--rf-muted);
    line-height: var(--rf-lh-relaxed);
    max-width: 380px; margin: 0 auto 2rem;
}

/* Steps card */
.cr-pending-card {
    background: var(--rf-white);
    border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r4) var(--rf-r1) var(--rf-r4) var(--rf-r1);
    padding: 1.5rem;
    margin-bottom: 1.5rem; text-align: left;
    box-shadow: 0 4px 20px rgba(0,108,53,.05);
    animation: rf-fade-up var(--rf-t3) var(--rf-snap) 120ms both;
}
.cr-pending-card-label {
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: var(--rf-muted); margin: 0 0 1rem;
    font-family: var(--rf-mono);
}
.cr-pending-step {
    display: flex; align-items: flex-start; gap: .82rem;
}
.cr-pending-step + .cr-pending-step { margin-top: 1rem; }
.cr-pending-step-ico {
    width: 34px; height: 34px; flex-shrink: 0;
    border-radius: 10px 3px 10px 3px;
    display: flex; align-items: center; justify-content: center;
    font-size: .80rem;
}
.cr-pending-step-body { padding-top: 2px; }
.cr-pending-step-title {
    font-size: var(--rf-text-sm); font-weight: 700;
    color: var(--rf-ink); margin-bottom: 2px;
}
.cr-pending-step-desc {
    font-size: var(--rf-text-xs); color: var(--rf-muted);
    line-height: var(--rf-lh-relaxed);
}

/* Actions */
.cr-pending-actions {
    display: flex; flex-direction: column; gap: .62rem;
    align-items: center;
}
.cr-pending-cta {
    display: inline-flex; align-items: center; gap: .44rem;
    padding: .78rem 1.85rem;
    background: linear-gradient(140deg, var(--rf-g2), var(--rf-g), var(--rf-g-dim));
    color: var(--rf-white);
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 800;
    text-decoration: none; letter-spacing: var(--rf-ls-normal);
    box-shadow:
        inset 0 1.5px 0 rgba(255,255,255,.16),
        0 4px 0 rgba(0,40,20,.45),
        0 6px 20px var(--rf-g-glow-s);
    transition:
        background    var(--rf-t1) var(--rf-ease),
        transform     120ms var(--rf-spring),
        border-radius var(--rf-t2) var(--rf-snap);
}
.cr-pending-cta:hover {
    background: linear-gradient(140deg, var(--rf-g3), var(--rf-g2), var(--rf-g));
    transform: translateY(-2px);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    color: var(--rf-white);
}
.cr-pending-logout {
    background: none; border: 1px solid var(--rf-fog3);
    border-radius: 10px 3px 10px 3px;
    padding: .48rem 1.15rem;
    font-size: var(--rf-text-sm); font-weight: 600;
    color: var(--rf-muted); cursor: pointer;
    font-family: var(--rf-ff);
    transition:
        color          var(--rf-t1) var(--rf-ease),
        border-color   var(--rf-t1) var(--rf-ease),
        background     var(--rf-t1) var(--rf-ease),
        border-radius  var(--rf-t2) var(--rf-snap);
}
.cr-pending-logout:hover {
    color: var(--rf-danger); border-color: rgba(192,57,43,.20);
    background: rgba(192,57,43,.04);
    border-radius: 3px 10px 3px 10px;
}
.cr-pending-support {
    margin-top: 1.5rem; font-size: var(--rf-text-xs); color: var(--rf-muted);
}
.cr-pending-support a { color: var(--rf-g); font-weight: 600; text-decoration: none; }
.cr-pending-support a:hover { text-decoration: underline; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .cr-wrap { grid-template-columns: 1fr; gap: 1.5rem; }
    .cr-aside { position: static; }
    .cr-aside-headline h2 { font-size: 1.5rem; }
}
@media (max-width: 600px) {
    .cr-page { padding: 1rem .75rem 3rem; }
    .cr-form-head,
    .cr-form,
    .cr-form-footer { padding-left: 1.25rem; padding-right: 1.25rem; }
    .cr-alert        { margin-left: 1.25rem; margin-right: 1.25rem; }
    .cr-row          { grid-template-columns: 1fr; }
    .cr-form-footer  { flex-direction: column; align-items: flex-start; }
    .cr-pending-icon { width: 72px; height: 72px; font-size: 1.6rem; }
    .cr-pending-title { font-size: var(--rf-text-xl); }
}

/* ── RTL ── */
body[dir="rtl"] .cr-input-ico    { left: auto; right: .85rem; }
body[dir="rtl"] .cr-input        { padding-left: .9rem; padding-right: 2.35rem; }
body[dir="rtl"] .cr-pwd-eye      { right: auto; left: .72rem; }
body[dir="rtl"] .cr-select       { background-position: left .85rem center; padding-right: .9rem; padding-left: 2rem; }
body[dir="rtl"] .cr-quote        { border-left: none; border-right: 3px solid rgba(0,185,92,.70); border-radius: 10px 0 0 10px; }
body[dir="rtl"] .cr-back-link i  { transform: scaleX(-1); }
body[dir="rtl"] .cr-pending-cta i { transform: scaleX(-1); }



/* =============================================================== */
/* ============================================================
   APPEND TO BOTTOM OF rental.css — do not replace anything above
   SAUDI AUTOS — COMPANY DASHBOARD  (prefix: cd-)
   All tokens reuse rf- variables already defined above
   ============================================================ */

.cd-page {
    font-family: var(--rf-ff);
    -webkit-font-smoothing: antialiased;
    background: var(--rf-fog);
    min-height: 100vh;
    padding: 2rem 2rem 5rem;
    max-width: 1280px;
    margin: 0 auto;
}
.cd-page *, .cd-page *::before, .cd-page *::after { box-sizing: border-box; min-width: 0; }

/* ── Header ── */
.cd-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 1.25rem; flex-wrap: wrap; margin-bottom: 2rem;
    padding: 1.75rem 2rem;
    background: linear-gradient(158deg, var(--rf-g-abyss) 0%, var(--rf-g-deep) 28%, var(--rf-g-dim) 60%, var(--rf-g) 82%, var(--rf-g1) 100%);
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 4px 0 rgba(0,40,20,.45), 0 10px 40px rgba(0,108,53,.24);
    position: relative; overflow: hidden;
}
.cd-header::before {
    content: ''; position: absolute; top: -60px; right: -60px;
    width: 240px; height: 240px; border-radius: 50%;
    background: radial-gradient(circle, rgba(0,185,92,.14) 0%, transparent 65%);
    pointer-events: none;
}
.cd-eyebrow {
    font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: rgba(255,255,255,.55); margin: 0 0 .3rem; position: relative; z-index: 1;
}
.cd-title {
    font-family: var(--rf-ff-display);
    font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900;
    letter-spacing: var(--rf-ls-tight); color: var(--rf-white);
    margin: 0 0 .45rem; line-height: var(--rf-lh-tight);
    text-shadow: 0 2px 20px rgba(0,0,0,.20);
    position: relative; z-index: 1; -webkit-font-smoothing: antialiased;
}
.cd-sub {
    display: flex; align-items: center; gap: .55rem;
    font-family: var(--rf-ff-body); font-size: var(--rf-text-sm);
    color: rgba(255,255,255,.60); margin: 0; position: relative; z-index: 1;
}
.cd-status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.cd-status-active    { background: var(--rf-g3); box-shadow: 0 0 8px var(--rf-g3), 0 0 16px rgba(0,185,92,.4); animation: rf-dot-pulse 2s ease-in-out infinite; }
.cd-status-pending   { background: #F59E0B; box-shadow: 0 0 8px rgba(245,158,11,.6); }
.cd-status-inactive  { background: rgba(255,255,255,.35); }
.cd-status-suspended { background: #EF4444; }

/* ── Stats grid ── */
.cd-stats-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.1rem; margin-bottom: 2rem;
}
.cd-stat-card {
    background: var(--rf-white); border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    padding: 1.25rem 1.35rem; display: flex; flex-direction: column; gap: .6rem;
    transition: transform var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t2) var(--rf-ease), border-color var(--rf-t2) var(--rf-ease);
    animation: rf-card-in 360ms var(--rf-snap) both;
}
.cd-stat-card:hover { transform: translateY(-4px); border-color: rgba(0,108,53,.18); box-shadow: 0 8px 28px rgba(0,108,53,.10), 0 2px 8px rgba(0,0,0,.06); }
.cd-stat-highlight {
    background: linear-gradient(148deg, var(--rf-g2) 0%, var(--rf-g) 55%, var(--rf-g-dim) 100%);
    border-color: var(--rf-g);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 4px 0 rgba(0,40,20,.42), 0 8px 28px rgba(0,108,53,.22);
}
.cd-stat-ico {
    width: 38px; height: 38px; border-radius: 11px 3px 11px 3px;
    display: flex; align-items: center; justify-content: center;
    font-size: .88rem; flex-shrink: 0;
}
.cd-ico-green { background: var(--rf-g-08); color: var(--rf-g); border: 1px solid var(--rf-g-12); }
.cd-ico-blue  { background: rgba(2,132,199,.10); color: #0284C7; border: 1px solid rgba(2,132,199,.18); }
.cd-ico-amber { background: rgba(217,119,6,.10); color: var(--rf-warn); border: 1px solid rgba(217,119,6,.18); }
.cd-ico-white { background: rgba(255,255,255,.16); color: var(--rf-white); border: 1px solid rgba(255,255,255,.22); }
.cd-stat-val {
    font-family: var(--rf-mono); font-size: 1.55rem; font-weight: 700;
    color: var(--rf-ink); letter-spacing: -.025em; line-height: 1;
}
.cd-stat-highlight .cd-stat-val { color: var(--rf-white); }
.cd-stat-lbl {
    font-size: var(--rf-text-xs); font-weight: 600;
    color: var(--rf-muted); text-transform: uppercase; letter-spacing: var(--rf-ls-caps);
}
.cd-stat-highlight .cd-stat-lbl { color: rgba(255,255,255,.65); }

/* ── Alerts ── */
.cd-alert {
    display: flex; align-items: center; gap: .55rem;
    padding: .88rem 1.15rem; margin-bottom: 1.35rem;
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    font-family: var(--rf-ff-body); font-size: var(--rf-text-base);
    animation: rf-pop var(--rf-t3) var(--rf-snap) both;
}
.cd-alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.cd-alert-success i { color: #16a34a; }
.cd-alert-error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.cd-alert-error i { color: #dc2626; }

/* ── Section ── */
.cd-section { margin-bottom: 2rem; }
.cd-section-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 1rem;
}
.cd-section-title {
    font-family: var(--rf-ff-display); font-size: var(--rf-text-xl);
    font-weight: 800; letter-spacing: var(--rf-ls-snug); color: var(--rf-ink);
    display: flex; align-items: center; gap: .55rem;
    -webkit-font-smoothing: antialiased; margin: 0;
}
.cd-section-title::before {
    content: ''; display: block; width: 3.5px; height: 20px;
    background: linear-gradient(180deg, var(--rf-g3), var(--rf-g));
    border-radius: var(--rf-rf); flex-shrink: 0;
}
.cd-link {
    font-family: var(--rf-ff); font-size: var(--rf-text-sm); font-weight: 700;
    color: var(--rf-g); text-decoration: none;
    transition: color var(--rf-t1) var(--rf-ease);
}
.cd-link:hover { color: var(--rf-g2); }

/* ── Table ── */
.cd-table-wrap {
    background: var(--rf-white); border: 1px solid var(--rf-fog3);
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,108,53,.05), 0 1px 4px rgba(0,0,0,.04);
}
.cd-table { width: 100%; border-collapse: collapse; }
.cd-table thead tr {
    background: linear-gradient(140deg, var(--rf-g-dim), var(--rf-g));
}
.cd-table thead th {
    padding: .78rem 1.1rem; text-align: left;
    font-family: var(--rf-ff); font-size: var(--rf-text-xs); font-weight: 700;
    letter-spacing: var(--rf-ls-caps); text-transform: uppercase;
    color: rgba(255,255,255,.82);
}
.cd-table tbody tr {
    border-bottom: 1px solid var(--rf-fog2);
    transition: background var(--rf-t1) var(--rf-ease);
}
.cd-table tbody tr:last-child { border-bottom: none; }
.cd-table tbody tr:hover { background: var(--rf-g-04); }
.cd-table tbody td { padding: .88rem 1.1rem; vertical-align: middle; }

/* ── Status badges (table) ── */
.cd-badge {
    display: inline-flex; align-items: center; gap: .28rem;
    padding: .22rem .75rem; border-radius: var(--rf-rf);
    font-family: var(--rf-ff); font-size: var(--rf-text-xs);
    font-weight: 700; text-transform: uppercase; letter-spacing: var(--rf-ls-caps);
    white-space: nowrap;
}
.cd-badge-pending   { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.cd-badge-confirmed { background: #dcfce7; color: #14532d; border: 1px solid #bbf7d0; }
.cd-badge-active    { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }
.cd-badge-completed { background: #f0f9ff; color: #0c4a6e; border: 1px solid #bae6fd; }
.cd-badge-cancelled { background: #fee2e2; color: #7f1d1d; border: 1px solid #fecaca; }

/* ── Buttons ── */
.cd-btn {
    display: inline-flex; align-items: center; gap: .44rem;
    padding: .65rem 1.35rem;
    font-family: var(--rf-ff); font-size: var(--rf-text-base); font-weight: 700;
    border: none; cursor: pointer; text-decoration: none; white-space: nowrap;
    border-radius: var(--rf-r3) var(--rf-r1) var(--rf-r3) var(--rf-r1);
    position: relative; overflow: hidden;
    transition: background var(--rf-t1) var(--rf-ease), transform 120ms var(--rf-spring), border-radius var(--rf-t2) var(--rf-snap), box-shadow var(--rf-t1) var(--rf-ease);
    letter-spacing: -.008em;
}
.cd-btn::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.16) 50%, transparent 80%);
    transform: translateX(-120%) skewX(-12deg);
    transition: transform 520ms var(--rf-snap); pointer-events: none;
}
.cd-btn:hover::after { transform: translateX(120%) skewX(-12deg); }
.cd-btn-primary {
    background: linear-gradient(140deg, var(--rf-g2) 0%, var(--rf-g) 60%, var(--rf-g-dim) 100%);
    color: var(--rf-white);
    box-shadow: inset 0 1.5px 0 rgba(255,255,255,.16), 0 4px 0 rgba(0,40,20,.45), 0 6px 20px var(--rf-g-glow-s);
}
.cd-btn-primary:hover {
    background: linear-gradient(140deg, var(--rf-g3) 0%, var(--rf-g2) 60%, var(--rf-g) 100%);
    color: var(--rf-white); transform: translateY(-2px);
    border-radius: var(--rf-r1) var(--rf-r3) var(--rf-r1) var(--rf-r3);
    box-shadow: inset 0 1.5px 0 rgba(255,255,255,.20), 0 6px 0 rgba(0,40,20,.38), 0 10px 28px var(--rf-g-glow);
}

/* ── Empty state ── */
.cd-empty {
    text-align: center; padding: 5rem 1.5rem;
    background: var(--rf-white); border: 1.5px dashed var(--rf-fog3);
    border-radius: var(--rf-r4) var(--rf-r2) var(--rf-r4) var(--rf-r2);
    color: var(--rf-muted);
    animation: rf-fade-up var(--rf-t3) var(--rf-snap) both;
}
.cd-empty-ico {
    font-size: 3.8rem; opacity: .18; margin-bottom: 1rem;
    display: block; animation: rf-float 4.5s ease-in-out infinite;
}
.cd-empty p { font-family: var(--rf-ff-body); font-size: var(--rf-text-base); margin: 0 0 1.5rem; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .cd-page { padding: 1rem 1rem 4rem; }
    .cd-header { padding: 1.25rem; }
    .cd-stats-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
    .cd-table-wrap { overflow-x: auto; }
    .cd-table { min-width: 520px; }
}
@media (max-width: 480px) {
    .cd-stats-grid { grid-template-columns: 1fr 1fr; }
    .cd-stat-val { font-size: 1.25rem; }
}

/* ── RTL ── */
body[dir="rtl"] .cd-section-title::before { margin-inline-end: .55rem; margin-inline-start: 0; }
body[dir="rtl"] .cd-btn i { transform: scaleX(-1); }
body[dir="rtl"] .cd-table thead th { text-align: right; }