/* ═══════════════════════════════════════════════════
   La Vistule 2 — main.css
   Design system 1:1 matching Transport-Booking-System
   ═══════════════════════════════════════════════════ */

/* ── CSS Variables ──────────────────────────────── */
:root {
  --bg:          #F2EDE3;
  --fg:          #0F2A22;
  --primary:     #0F2A22;
  --primary-fg:  #F2EDE3;
  --accent:      #B9974C;
  --accent-fg:   #FFFFFF;
  --card:        #FFFFFF;
  --muted:       #E8E3D9;
  --muted-fg:    #5C6B60;
  --border:      #DDD8CE;
  --danger:      #DC2626;
  --danger-fg:   #FFFFFF;
  --radius:      0.75rem;
  --radius-sm:   0.5rem;
  --radius-lg:   1rem;
  --shadow:      0 1px 3px rgba(0,0,0,.08);
  --shadow-md:   0 4px 12px rgba(0,0,0,.1);
  --shadow-lg:   0 8px 30px rgba(0,0,0,.12);
  --font:        'Inter', system-ui, -apple-system, sans-serif;
  --max-w:       1200px;
  --nav-h:       72px;
}

/* ── Reset / Base ───────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--fg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font:inherit;border:none;background:none}
input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.625rem .875rem;width:100%;background:var(--card);color:var(--fg)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(185,151,76,.15)}
label{display:block;font-size:.8125rem;font-weight:600;color:var(--muted-fg);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}
::selection{background:var(--accent);color:var(--accent-fg)}

/* ── Container ──────────────────────────────────── */
.lv-container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}

/* ── Animations ─────────────────────────────────── */
.lv-animate{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.lv-animate.is-visible{opacity:1;transform:translateY(0)}

/* ── Buttons ────────────────────────────────────── */
.lv-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.75rem 1.5rem;border-radius:var(--radius);
  font-weight:600;font-size:.875rem;
  transition:all .2s ease;
  white-space:nowrap;
}
.lv-btn--accent{background:var(--accent);color:var(--accent-fg)}
.lv-btn--accent:hover{background:#a6863f;transform:translateY(-1px)}
.lv-btn--primary{background:var(--primary);color:var(--primary-fg)}
.lv-btn--primary:hover{background:#1a3d30}
.lv-btn--outline{background:transparent;color:var(--fg);border:1px solid var(--border)}
.lv-btn--outline:hover{border-color:var(--fg)}
.lv-btn--danger{background:var(--danger);color:var(--danger-fg)}
.lv-btn--danger:hover{background:#b91c1c}
.lv-btn--pill{border-radius:100px}
.lv-btn--block{width:100%;justify-content:center}
.lv-btn--sm{padding:.5rem 1rem;font-size:.8125rem}
.lv-btn--search{padding:.75rem 2rem}

/* ── Badge ──────────────────────────────────────── */
.lv-badge{
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.25rem .75rem;border-radius:100px;
  font-size:.75rem;font-weight:600;
  background:var(--muted);color:var(--fg);
}
.lv-badge--accent{background:var(--accent);color:var(--accent-fg)}
.lv-badge--pending{background:#FEF3C7;color:#92400E}
.lv-badge--approved{background:#D1FAE5;color:#065F46}
.lv-badge--paid{background:#DBEAFE;color:#1E40AF}
.lv-badge--rejected{background:#FEE2E2;color:#991B1B}
.lv-badge--cancelled{background:#F3F4F6;color:#6B7280}

/* ══════════════════════════════════════════════════
   NAVBAR
   ══════════════════════════════════════════════════ */
.lv-navbar{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  height:var(--nav-h);
  transition:box-shadow .3s ease;
}
.lv-navbar.has-shadow{box-shadow:var(--shadow-md)}
.lv-navbar__inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;height:100%;
}
.lv-navbar__logo{font-size:1.375rem;font-weight:700;color:var(--primary);letter-spacing:-.02em}
.lv-navbar__logo span{color:var(--accent)}
.lv-navbar__links{display:flex;gap:2rem;list-style:none}
.lv-navbar__links a{font-size:.875rem;font-weight:500;color:var(--muted-fg);transition:color .2s}
.lv-navbar__links a:hover,.lv-navbar__links a.active{color:var(--primary)}
.lv-navbar__auth{display:flex;align-items:center;gap:.75rem}
.lv-navbar__user{font-size:.875rem;font-weight:500}
.lv-navbar__hamburger{display:none;padding:.5rem;color:var(--fg)}

/* Mobile menu */
.lv-mobile-menu{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;
  background:var(--card);border-bottom:1px solid var(--border);
  padding:1.5rem;z-index:999;
  box-shadow:var(--shadow-lg);
}
.lv-mobile-menu.is-open{display:block}
.lv-mobile-menu a{display:block;padding:.75rem 0;font-weight:500;border-bottom:1px solid var(--border)}
.lv-mobile-menu a:last-child{border:none}

@media(max-width:768px){
  .lv-navbar__links,.lv-navbar__auth{display:none}
  .lv-navbar__hamburger{display:flex}
}

/* ══════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════ */
.lv-footer{background:var(--primary);color:var(--primary-fg);padding:4rem 0 0}
.lv-footer__grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1);
}
.lv-footer__logo{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.lv-footer__logo span{color:var(--accent)}
.lv-footer__desc{font-size:.875rem;color:rgba(242,237,227,.6);line-height:1.7}
.lv-footer h4{font-size:.875rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}
.lv-footer__heading{font-size:.875rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}
.lv-footer__links{list-style:none}
.lv-footer__links li{margin-bottom:.75rem}
.lv-footer__links a{font-size:.875rem;color:rgba(242,237,227,.6);transition:color .2s}
.lv-footer__links a:hover{color:var(--accent)}
.lv-footer__contact-list{display:flex;flex-direction:column;gap:0}
.lv-footer__contact-item{display:flex;gap:.75rem;margin-bottom:1rem;font-size:.875rem;color:rgba(242,237,227,.6)}
.lv-footer__contact-item svg{flex-shrink:0;color:var(--accent)}
.lv-footer__contact-sub{font-size:.75rem;opacity:.5}
.lv-footer__social{display:flex;gap:.75rem}
.lv-footer__social a{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.1);color:var(--primary-fg);
  transition:background .2s;
}
.lv-footer__social a:hover{background:var(--accent)}
.lv-footer__bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem 0;font-size:.8125rem;color:rgba(242,237,227,.4);
}
.lv-footer__bottom-links{display:flex;gap:1.5rem}
.lv-footer__bottom-links a{color:rgba(242,237,227,.4);transition:color .2s}
.lv-footer__bottom-links a:hover{color:var(--accent)}

@media(max-width:768px){
  .lv-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .lv-footer__bottom{flex-direction:column;gap:.75rem;text-align:center}
}
@media(max-width:480px){
  .lv-footer__grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════
   HERO (front-page)
   ══════════════════════════════════════════════════ */
.lv-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.lv-hero__bg{position:absolute;inset:0}
.lv-hero__img{width:100%;height:100%;object-fit:cover}
.lv-hero__overlay{position:absolute;inset:0;background:rgba(15,42,34,.7)}
.lv-hero__gradient{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(15,42,34,.5))}
.lv-hero__content{position:relative;z-index:2;padding:6rem 1.5rem 4rem;width:100%;max-width:var(--max-w);margin:0 auto}
.lv-hero__text{text-align:center;margin-bottom:3rem;color:#fff}
.lv-hero__title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;margin-bottom:1rem}
.lv-hero__accent{color:var(--accent)}
.lv-hero__subtitle{font-size:1.125rem;opacity:.85;max-width:600px;margin:0 auto}
.lv-hero__badges{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}
.lv-hero__badge{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:rgba(255,255,255,.8)}
.lv-hero__badge-check{color:var(--accent);font-weight:700}

/* ── Search Widget ──────────────────────────────── */
.lv-search{
  background:var(--card);border-radius:var(--radius-lg);
  padding:1.5rem;box-shadow:var(--shadow-lg);
  max-width:1000px;margin:0 auto;
}
.lv-search__tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;background:var(--muted);border-radius:var(--radius-sm);padding:.25rem;width:fit-content}
.lv-search-tab{
  padding:.5rem 1.25rem;border-radius:var(--radius-sm);
  font-size:.8125rem;font-weight:600;color:var(--muted-fg);
  transition:all .2s;
}
.lv-search-tab.active{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}
.lv-search__row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}
.lv-search__field{flex:1;min-width:140px}
.lv-search__field--from,.lv-search__field--to{flex:1.5}
.lv-search__field--submit{flex:0 0 auto}
.lv-search__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);margin-bottom:.25rem}
.lv-search__select-wrap,.lv-search__input-wrap{position:relative}
.lv-search__icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted-fg);pointer-events:none}
.lv-search__select-wrap select,.lv-search__input-wrap input{padding-left:2.5rem}
.lv-search__swap{
  flex:0 0 40px;width:40px;height:40px;
  border-radius:50%;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted-fg);transition:all .2s;
  margin-bottom:.125rem;
}
.lv-search__swap:hover{border-color:var(--accent);color:var(--accent)}
.lv-search__return{display:none;margin-top:1rem;gap:.75rem}
.lv-search__return.is-active{display:flex}

@media(max-width:768px){
  .lv-search__row{flex-direction:column}
  .lv-search__swap{align-self:center;transform:rotate(90deg)}
  .lv-search__field{min-width:100%}
}

/* ── Section ────────────────────────────────────── */
.lv-section{padding:5rem 0}
.lv-section--bg{background:var(--bg)}
.lv-section--white{background:var(--card)}
.lv-section--border{border-top:1px solid var(--border)}
.lv-section__header{text-align:center;margin-bottom:3rem}
.lv-section__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;margin-bottom:.75rem}
.lv-section__subtitle{font-size:1rem;color:var(--muted-fg);max-width:520px;margin:0 auto}
.lv-section__cta{text-align:center;margin-top:3rem}

/* ── Trending Destinations (big) ────────────────── */
.lv-dest-big{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.lv-dest-big__card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:16/10;display:block;
}
.lv-dest-big__card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lv-dest-big__card:hover img{transform:scale(1.05)}
.lv-dest-big__badge{
  position:absolute;top:1rem;left:1rem;
  display:inline-flex;align-items:center;gap:.375rem;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  padding:.375rem .875rem;border-radius:100px;
  font-size:.75rem;font-weight:600;color:var(--fg);
}
.lv-dest-big__info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff}
.lv-dest-big__info h3{font-size:1.25rem;font-weight:700}
.lv-dest-big__info p{font-size:.8125rem;opacity:.8}
.lv-dest-big__rating{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8125rem}
.lv-stars{color:var(--accent)}
.lv-dest-big__reviews{opacity:.6}

/* Trending small */
.lv-dest-sm{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.lv-dest-sm__card{background:var(--card);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s}
.lv-dest-sm__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.lv-dest-sm__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.lv-dest-sm__img img{width:100%;height:100%;object-fit:cover}
.lv-dest-sm__tag{
  position:absolute;top:.75rem;left:.75rem;
  display:inline-flex;align-items:center;gap:.25rem;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  padding:.25rem .625rem;border-radius:100px;
  font-size:.6875rem;font-weight:600;
}
.lv-dest-sm__tag--dark{background:rgba(15,42,34,.85);color:#fff}
.lv-dest-sm__card h3{padding:.75rem 1rem 0;font-size:.9375rem;font-weight:600}
.lv-dest-sm__card p{padding:0 1rem .75rem;font-size:.8125rem;color:var(--muted-fg)}

@media(max-width:768px){
  .lv-dest-big{grid-template-columns:1fr}
  .lv-dest-sm{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .lv-dest-sm{grid-template-columns:1fr}
}

/* ── How it Works (Steps) ───────────────────────── */
.lv-steps{display:flex;justify-content:center;align-items:flex-start;gap:0;position:relative;padding:2rem 0}
.lv-steps__line{
  position:absolute;top:35px;left:25%;right:25%;
  height:2px;background:var(--border);z-index:0;
}
.lv-steps__item{
  position:relative;z-index:1;text-align:center;flex:1;max-width:250px;
}
.lv-steps__icon{
  width:80px;height:80px;border-radius:50%;
  background:var(--muted);display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
}
.lv-steps__item h3{font-size:1rem;font-weight:700;margin-bottom:.375rem}
.lv-steps__item p{font-size:.875rem;color:var(--muted-fg)}

/* ── Banner ─────────────────────────────────────── */
.lv-banner{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  margin-top:3rem;min-height:400px;display:flex;align-items:center;
}
.lv-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-banner__overlay{position:absolute;inset:0;background:rgba(15,42,34,.75)}
.lv-banner__content{position:relative;z-index:2;padding:3rem;color:#fff;max-width:500px}
.lv-banner__content h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.2;margin-bottom:1rem}
.lv-banner__content p{font-size:.9375rem;opacity:.85;margin-bottom:1.5rem;line-height:1.7}
.lv-banner__play{
  position:absolute;right:3rem;bottom:3rem;z-index:2;
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.15);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s;
}
.lv-banner__play:hover{background:var(--accent)}

/* ── Blog Grid (front-page) ─────────────────────── */
.lv-blog-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;
}
.lv-blog-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  min-height:250px;display:flex;align-items:flex-end;
}
.lv-blog-card--6{grid-column:span 6}
.lv-blog-card--3{grid-column:span 3}
.lv-blog-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lv-blog-card:hover img{transform:scale(1.05)}
.lv-blog-card__overlay{
  position:relative;z-index:2;padding:1.5rem;width:100%;
  background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;
}
.lv-blog-card__overlay h3{font-size:.9375rem;font-weight:600;margin-bottom:.5rem;line-height:1.4}
.lv-blog-card__link{font-size:.8125rem;color:var(--accent);font-weight:600}
.lv-blog-card--primary{background:var(--primary);align-items:center;justify-content:center}
.lv-blog-card--primary .lv-blog-card__overlay{background:none;text-align:center;padding:2rem}
.lv-blog-card--primary .lv-blog-card__overlay h3{font-size:1.25rem}

@media(max-width:768px){
  .lv-blog-grid{grid-template-columns:1fr 1fr}
  .lv-blog-card--6,.lv-blog-card--3{grid-column:span 1}
}
@media(max-width:480px){
  .lv-blog-grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════
   RESULTS PAGE
   ══════════════════════════════════════════════════ */
.lv-results{padding:2rem 0 5rem}
.lv-results__search{background:var(--card);border-radius:var(--radius);padding:1rem 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow)}
.lv-results__bar{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}
.lv-results__bar-field{flex:1;min-width:120px}
.lv-results__bar-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg);margin-bottom:.25rem}
.lv-results__swap{
  flex:0 0 36px;width:36px;height:36px;
  border:1px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:var(--muted-fg);margin-bottom:.125rem;
  transition:all .2s;
}
.lv-results__swap:hover{border-color:var(--accent);color:var(--accent)}
.lv-results__heading{font-size:1.375rem;font-weight:700;margin-bottom:.25rem}
.lv-results__sub{font-size:.875rem;color:var(--muted-fg);margin-bottom:1.5rem}

/* Progress steps */
.lv-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2.5rem}
.lv-progress__step{
  display:flex;align-items:center;gap:.5rem;
  font-size:.8125rem;font-weight:500;color:var(--muted-fg);
}
.lv-progress__num{
  width:28px;height:28px;border-radius:50%;
  border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;
}
.lv-progress__step--active .lv-progress__num{border-color:var(--accent);background:var(--accent);color:#fff}
.lv-progress__step--active{color:var(--fg);font-weight:600}
.lv-progress__step--done .lv-progress__num{border-color:var(--primary);background:var(--primary);color:var(--primary-fg)}
.lv-progress__step--done{color:var(--primary)}
.lv-progress__line{width:60px;height:2px;background:var(--border);margin:0 .5rem}
.lv-progress__line--done{background:var(--primary)}

/* Layout: vehicles + sidebar */
.lv-results__layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
@media(max-width:900px){.lv-results__layout{grid-template-columns:1fr}}

/* Vehicle card */
.lv-vcard{
  display:flex;gap:1.5rem;background:var(--card);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);margin-bottom:1.5rem;
  transition:box-shadow .3s;
}
.lv-vcard:hover{box-shadow:var(--shadow-md)}
.lv-vcard__img{flex:0 0 280px;overflow:hidden}
.lv-vcard__img img{width:100%;height:100%;object-fit:cover}
.lv-vcard__body{flex:1;padding:1.5rem}
.lv-vcard__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}
.lv-vcard__top h3{font-size:1.125rem;font-weight:700}
.lv-vcard__price{font-size:1.25rem;font-weight:700;color:var(--accent)}
.lv-vcard__desc{font-size:.875rem;color:var(--muted-fg);margin-bottom:.75rem}
.lv-vcard__meta{display:flex;gap:1.25rem;margin-bottom:.75rem;font-size:.8125rem;color:var(--muted-fg)}
.lv-vcard__meta span{display:flex;align-items:center;gap:.375rem}
.lv-vcard__features{list-style:none;font-size:.8125rem;color:var(--muted-fg);margin-bottom:1rem}
.lv-vcard__features li{padding:.125rem 0}
.lv-vcard__btn{align-self:flex-start}

@media(max-width:768px){
  .lv-vcard{flex-direction:column}
  .lv-vcard__img{flex:0 0 200px}
}

/* Sidebar card */
.lv-sidebar-card{
  background:var(--card);border-radius:var(--radius-lg);
  padding:1.5rem;box-shadow:var(--shadow);
}
.lv-sidebar-card__title{font-size:1rem;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.lv-sidebar-card__row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem}
.lv-sidebar-card__label{color:var(--muted-fg)}
.lv-sidebar-card__row--total{font-weight:700;font-size:1rem;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.25rem}
.lv-sidebar-card__hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}
.lv-sidebar-card__related{display:block;padding:.5rem 0;font-size:.875rem;color:var(--accent);border-bottom:1px solid var(--border)}
.lv-sidebar-card__related:last-child{border:none}
.lv-sidebar-card__related:hover{text-decoration:underline}

/* ══════════════════════════════════════════════════
   BOOKING PAGE
   ══════════════════════════════════════════════════ */
.lv-booking{padding:2rem 0 5rem}
.lv-booking__layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
@media(max-width:900px){.lv-booking__layout{grid-template-columns:1fr}}
.lv-booking__form-area{background:var(--card);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}
.lv-booking__form-area h2{font-size:1.375rem;font-weight:700;margin-bottom:.25rem}
.lv-booking__note{font-size:.875rem;color:var(--muted-fg);margin-bottom:1.5rem}
.lv-booking__actions{display:flex;justify-content:space-between;margin-top:1.5rem;gap:1rem}

/* Form grid */
.lv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lv-field{display:flex;flex-direction:column}
.lv-field--full{grid-column:1 / -1}
@media(max-width:600px){.lv-form-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════
   BOOKING SUCCESS
   ══════════════════════════════════════════════════ */
.lv-success{padding:4rem 0}
.lv-success__card{
  max-width:600px;margin:0 auto;text-align:center;
  background:var(--card);border-radius:var(--radius-lg);
  padding:3rem;box-shadow:var(--shadow);
}
.lv-success__icon{margin-bottom:1.5rem}
.lv-success__card h1{font-size:1.75rem;font-weight:700;margin-bottom:.75rem}
.lv-success__text{color:var(--muted-fg);margin-bottom:2rem}
.lv-success__details{margin-bottom:2rem;text-align:left}
.lv-success__actions{display:flex;gap:1rem;justify-content:center}

/* ══════════════════════════════════════════════════
   DESTINATIONS PAGE
   ══════════════════════════════════════════════════ */
.lv-destinations{padding:3rem 0 5rem}
.lv-dest-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;align-items:center}
.lv-filter-btn{
  padding:.5rem 1rem;border-radius:100px;
  font-size:.8125rem;font-weight:600;
  border:1px solid var(--border);color:var(--muted-fg);
  transition:all .2s;
}
.lv-filter-btn.active,.lv-filter-btn:hover{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}
.lv-dest-filter__search{
  margin-left:auto;display:flex;align-items:center;gap:.5rem;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:0 .75rem;
}
.lv-dest-filter__search svg{color:var(--muted-fg);flex-shrink:0}
.lv-dest-filter__search input{border:none;padding:.5rem;width:180px}
.lv-dest-filter__search input:focus{box-shadow:none}

.lv-dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.lv-dest-card{
  background:var(--card);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;
}
.lv-dest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.lv-dest-card.is-hidden{display:none}
.lv-dest-card__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.lv-dest-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lv-dest-card:hover .lv-dest-card__img img{transform:scale(1.05)}
.lv-dest-card__badge{
  position:absolute;top:.75rem;right:.75rem;
  background:var(--accent);color:var(--accent-fg);
  padding:.25rem .75rem;border-radius:100px;
  font-size:.75rem;font-weight:600;
}
.lv-dest-card__body{padding:1.25rem}
.lv-dest-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}
.lv-dest-card__top h3{font-size:1.0625rem;font-weight:700}
.lv-dest-card__country{font-size:.75rem;font-weight:600;color:var(--accent)}
.lv-dest-card__body p{font-size:.875rem;color:var(--muted-fg);margin-bottom:1rem;line-height:1.6}
.lv-dest-card__footer{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}
.lv-dest-card__rating{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.375rem}
.lv-dest-card__rating span:first-child{color:var(--accent)}
.lv-dest-card__reviews{font-size:.75rem;color:var(--muted-fg);font-weight:400}
.lv-dest-card__prices{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem;margin-bottom:.25rem}
.lv-dest-card__price{font-size:.75rem;font-weight:600;color:var(--accent);background:rgba(185,151,76,.1);padding:.2rem .5rem;border-radius:var(--radius)}
.lv-dest-card__meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--muted-fg);margin-top:.25rem}
.lv-dest-card__meta span{display:flex;align-items:center;gap:.25rem}

/* Upload area */
.lv-upload-area{display:flex;align-items:center;gap:1rem}
.lv-upload-area__preview{width:80px;height:56px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.lv-upload-area__preview img{width:100%;height:100%;object-fit:cover}

/* ══════════════════════════════════════════════════
   SINGLE DESTINATION PAGE
   ══════════════════════════════════════════════════ */
.lv-dest-single__hero{position:relative;height:400px;overflow:hidden}
.lv-dest-single__hero-img{width:100%;height:100%;object-fit:cover}
.lv-dest-single__hero-overlay{position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(15,42,34,.75))}
.lv-dest-single__hero-content{position:absolute;bottom:0;left:0;right:0;padding:2rem;max-width:var(--max-w);margin:0 auto;color:#fff}
.lv-dest-single__hero-content h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin:.5rem 0 .25rem}
.lv-dest-single__hero-content p{font-size:1rem;opacity:.8}
.lv-dest-single__layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;padding:3rem 0 5rem;align-items:start}
@media(max-width:900px){.lv-dest-single__layout{grid-template-columns:1fr}}
.lv-dest-single__section{margin-bottom:2.5rem}
.lv-dest-single__section h2{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.lv-dest-single__section p{font-size:.9375rem;color:var(--muted-fg);line-height:1.8}
.lv-dest-single__highlights{list-style:none;display:grid;gap:.75rem}
.lv-dest-single__highlights li{display:flex;align-items:center;gap:.75rem;font-size:.9375rem}
.lv-dest-single__highlights svg{flex-shrink:0}
.lv-dest-single__main{min-width:0}
.lv-dest-single__sidebar{display:flex;flex-direction:column;gap:1.5rem}

/* ══════════════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════════════ */
.lv-about__hero{
  background:var(--primary);color:var(--primary-fg);
  padding:5rem 0 4rem;text-align:center;
}
.lv-about__hero h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:.75rem}
.lv-about__hero p{font-size:1.0625rem;opacity:.7}
.lv-about__story{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.lv-about__story-text h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem}
.lv-about__story-text p{font-size:.9375rem;color:var(--muted-fg);line-height:1.8;margin-bottom:1rem}
.lv-about__story-img{border-radius:var(--radius-lg);overflow:hidden}
.lv-about__story-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media(max-width:768px){.lv-about__story{grid-template-columns:1fr}}

.lv-values{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.lv-values__item{text-align:center}
.lv-values__icon{
  width:64px;height:64px;border-radius:50%;
  background:rgba(185,151,76,.1);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
}
.lv-values__item h3{font-size:1rem;font-weight:700;margin-bottom:.5rem}
.lv-values__item p{font-size:.875rem;color:var(--muted-fg);line-height:1.6}
@media(max-width:768px){.lv-values{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.lv-values{grid-template-columns:1fr}}

.lv-about__fleet{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:350px;display:flex;align-items:center}
.lv-about__fleet-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-about__fleet-overlay{
  position:relative;z-index:2;padding:3rem;
  background:rgba(15,42,34,.8);color:#fff;
  max-width:400px;border-radius:var(--radius);margin:2rem;
}
.lv-about__fleet-overlay h2{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}
.lv-about__fleet-overlay p{font-size:.9375rem;opacity:.85;margin-bottom:1.25rem}

/* ══════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════ */
.lv-contact{padding:3rem 0 5rem}
.lv-contact__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem}
.lv-contact__card{
  background:var(--card);border-radius:var(--radius-lg);
  padding:1.5rem;text-align:center;box-shadow:var(--shadow);
}
.lv-contact__card-icon{
  width:48px;height:48px;border-radius:50%;
  background:rgba(185,151,76,.1);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
}
.lv-contact__card h3{font-size:1rem;font-weight:700;margin-bottom:.375rem}
.lv-contact__card p{font-size:.9375rem}
.lv-contact__card-sub{font-size:.8125rem;color:var(--muted-fg)}
@media(max-width:768px){.lv-contact__cards{grid-template-columns:1fr}}

.lv-contact__form-wrap{background:var(--card);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);max-width:700px;margin:0 auto}
.lv-contact__form-wrap h2{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}

/* ══════════════════════════════════════════════════
   AUTH PAGE
   ══════════════════════════════════════════════════ */
.lv-auth{padding:4rem 0}
.lv-auth__card{
  max-width:420px;margin:0 auto;
  background:var(--card);border-radius:var(--radius-lg);
  padding:2rem;box-shadow:var(--shadow);
}
.lv-auth__tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;background:var(--muted);border-radius:var(--radius-sm);padding:.25rem}
.lv-auth__tab{
  flex:1;padding:.625rem;border-radius:var(--radius-sm);
  font-weight:600;font-size:.875rem;text-align:center;
  color:var(--muted-fg);transition:all .2s;
}
.lv-auth__tab.active{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}
.lv-auth__form{display:none}
.lv-auth__form--active{display:block}
.lv-auth__form .lv-field{margin-bottom:1rem}
.lv-auth__remember{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1rem;cursor:pointer}
.lv-auth__remember input{width:auto}
.lv-auth__msg{margin-top:1rem;font-size:.875rem;text-align:center}
.lv-auth__msg.error{color:var(--danger)}
.lv-auth__msg.success{color:#065F46}

/* ══════════════════════════════════════════════════
   MY RESERVATIONS
   ══════════════════════════════════════════════════ */
.lv-reservations{padding:3rem 0 5rem}
.lv-reservations__list{display:grid;gap:1.5rem}

.lv-res-card{
  background:var(--card);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);overflow:hidden;
  display:flex;flex-direction:row;
}
@media(max-width:768px){.lv-res-card{flex-direction:column}}
.lv-res-card__body{flex:1;padding:1.5rem 2rem}
.lv-res-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.lv-res-card__header>div{display:flex;align-items:center;gap:.75rem}
.lv-res-card__ref{font-weight:700;font-size:.9375rem}
.lv-res-card__amount{text-align:right}
.lv-res-card__amount-label{display:block;font-size:.75rem;color:var(--muted-fg);margin-bottom:.125rem}
.lv-res-card__date{font-size:.8125rem;color:var(--muted-fg)}
.lv-res-card__route{
  position:relative;display:flex;align-items:center;
  padding:1rem 0;margin-bottom:1rem;
}
.lv-res-card__dot{width:12px;height:12px;border-radius:50%;border:3px solid var(--primary);background:var(--card);z-index:1}
.lv-res-card__dot--end{border-color:var(--accent)}
.lv-res-card__line{flex:1;height:2px;background:var(--border)}
.lv-res-card__from{position:absolute;left:0;top:0;font-size:.8125rem;font-weight:600;max-width:45%;word-wrap:break-word;word-break:break-word;hyphens:auto}
.lv-res-card__to{position:absolute;right:0;top:0;font-size:.8125rem;font-weight:600;max-width:45%;word-wrap:break-word;word-break:break-word;hyphens:auto;text-align:right}
.lv-res-card__meta{display:flex;gap:1.5rem;font-size:.8125rem;color:var(--muted-fg)}
.lv-res-card__contact{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;color:var(--muted-fg);margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}
.lv-res-card__contact span:empty{display:none}
.lv-table__contact{font-size:.75rem;line-height:1.6}
.lv-table__contact span{display:block;white-space:nowrap}
.lv-res-card__actions{
  width:260px;border-left:1px solid var(--border);
  padding:2rem;display:flex;flex-direction:column;
  justify-content:center;align-items:center;gap:1rem;
  background:var(--muted);text-align:center;
}
@media(max-width:768px){.lv-res-card__actions{width:100%;border-left:none;border-top:1px solid var(--border)}}
.lv-res-card__actions p{font-size:.875rem;color:var(--muted-fg);line-height:1.5}
.lv-res-card__actions .lv-btn{width:100%;justify-content:center;font-size:1rem;padding:.875rem 1.5rem}
.lv-res-card__price{font-size:1.25rem;font-weight:700;color:var(--accent)}
.lv-res-card__paid-icon{
  display:inline-flex;width:48px;height:48px;border-radius:50%;
  background:hsl(142 71% 93%);color:hsl(142 71% 35%);
  align-items:center;justify-content:center;margin-bottom:.5rem;
}

.lv-loading{text-align:center;padding:3rem;color:var(--muted-fg)}
.lv-empty{text-align:center;padding:3rem;color:var(--muted-fg)}

/* ══════════════════════════════════════════════════
   ADMIN DASHBOARD
   ══════════════════════════════════════════════════ */
.lv-admin{padding:3rem 0 5rem}
.lv-admin__nav{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:0}
.lv-admin__nav-link{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--muted-fg);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.lv-admin__nav-link:hover{color:var(--primary)}
.lv-admin__nav-link--active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}
.lv-admin__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2.5rem}
.lv-stat-card{
  background:var(--card);border-radius:var(--radius-lg);
  padding:1.5rem;box-shadow:var(--shadow);
}
.lv-stat-card__label{font-size:.8125rem;color:var(--muted-fg);font-weight:500}
.lv-stat-card__value{display:block;font-size:1.75rem;font-weight:700;margin-top:.25rem}
@media(max-width:768px){.lv-admin__stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.lv-admin__stats{grid-template-columns:1fr}}

.lv-admin__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.lv-admin__toolbar h2{font-size:1.25rem;font-weight:700}
.lv-admin__toolbar select{width:auto}
.lv-admin__table-wrap{background:var(--card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}
.lv-table-scroll{overflow-x:auto}
.lv-table{width:100%;border-collapse:collapse}
.lv-table th{
  text-align:left;padding:.75rem 1rem;
  font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted-fg);
  border-bottom:2px solid var(--border);
}
.lv-table td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border)}
.lv-table__empty{text-align:center;color:var(--muted-fg);padding:2rem}
.lv-table__actions{display:flex;gap:.5rem}

/* Dialog */
.lv-dialog-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  z-index:2000;
}
.lv-dialog{
  background:var(--card);border-radius:var(--radius-lg);
  padding:2rem;max-width:450px;width:90%;box-shadow:var(--shadow-lg);
}
.lv-dialog h3{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}
.lv-dialog p{font-size:.875rem;color:var(--muted-fg);margin-bottom:1rem}
.lv-dialog__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}
.lv-dialog__header h3{margin-bottom:0}
.lv-dialog__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted-fg);line-height:1;padding:0}
.lv-dialog__close:hover{color:var(--fg)}
.lv-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}

/* ══════════════════════════════════════════════════
   BLOG LIST / SINGLE
   ══════════════════════════════════════════════════ */
.lv-blog{padding:3rem 0 5rem}
.lv-blog-list{display:grid;gap:1.5rem}
.lv-post-card{
  display:grid;grid-template-columns:300px 1fr;gap:1.5rem;
  background:var(--card);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);transition:box-shadow .3s;
}
.lv-post-card:hover{box-shadow:var(--shadow-md)}
.lv-post-card__img{overflow:hidden;aspect-ratio:16/10}
.lv-post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lv-post-card:hover .lv-post-card__img img{transform:scale(1.05)}
.lv-post-card__body{padding:1.5rem;display:flex;flex-direction:column;justify-content:center}
.lv-post-card__body h2{font-size:1.125rem;font-weight:700;margin:.5rem 0}
.lv-post-card__body h2 a{transition:color .2s}
.lv-post-card__body h2 a:hover{color:var(--accent)}
.lv-post-card__body p{font-size:.875rem;color:var(--muted-fg);line-height:1.6}
.lv-post-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem}
.lv-post-card__meta span{font-size:.8125rem;color:var(--muted-fg)}
.lv-post-card__link{font-size:.8125rem;font-weight:600;color:var(--accent)}
@media(max-width:768px){
  .lv-post-card{grid-template-columns:1fr}
  .lv-post-card__img{aspect-ratio:16/9}
}

/* Single post */
.lv-single{padding:3rem 0 5rem}
.lv-single__header{text-align:center;margin-bottom:2rem}
.lv-single__header h1{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;margin:.75rem 0}
.lv-single__meta{font-size:.875rem;color:var(--muted-fg);display:flex;justify-content:center;gap:.5rem}
.lv-single__layout{display:grid;grid-template-columns:1fr 300px;gap:2rem}
@media(max-width:900px){.lv-single__layout{grid-template-columns:1fr}}
.lv-single__featured{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:2rem}
.lv-single__featured img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lv-prose{font-size:1rem;line-height:1.8;color:var(--fg)}
.lv-prose p{margin-bottom:1.25rem}
.lv-prose h2,.lv-prose h3{margin:2rem 0 1rem;font-weight:700}
.lv-prose ul,.lv-prose ol{margin:1rem 0;padding-left:1.5rem}
.lv-prose a{color:var(--accent);text-decoration:underline}
.lv-single__sidebar{display:flex;flex-direction:column;gap:1.5rem}
.lv-share{display:flex;gap:.75rem}
.lv-share__btn{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);background:var(--card);color:var(--muted-fg);cursor:pointer;transition:all .2s;
}
.lv-share__btn:hover{background:var(--accent);color:var(--accent-fg)}

/* ══════════════════════════════════════════════════
   LIVE CHAT PANEL
   ══════════════════════════════════════════════════ */
.lv-chat{
  position:fixed;bottom:24px;right:24px;
  width:380px;max-height:520px;
  background:var(--card);border-radius:var(--radius-lg);
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  display:flex;flex-direction:column;
  z-index:3000;overflow:hidden;
  border:1px solid var(--border);
}
@media(max-width:480px){
  .lv-chat{bottom:0;right:0;left:0;width:100%;max-height:100vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
}
.lv-chat__header{
  display:flex;justify-content:space-between;align-items:center;
  padding:.875rem 1.25rem;background:var(--primary);color:var(--primary-fg);
  flex-shrink:0;
}
.lv-chat__header-info{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem}
.lv-chat__close{
  background:none;border:none;color:var(--primary-fg);font-size:1.5rem;
  cursor:pointer;line-height:1;padding:0;opacity:.7;transition:opacity .2s;
}
.lv-chat__close:hover{opacity:1}

.lv-chat__messages{
  flex:1;overflow-y:auto;padding:1rem;
  display:flex;flex-direction:column;gap:.5rem;
  min-height:200px;max-height:340px;
  background:var(--muted);
}
.lv-chat__empty{
  text-align:center;color:var(--muted-fg);font-size:.875rem;
  margin:auto;padding:2rem;
}

.lv-chat__bubble{
  max-width:80%;display:flex;flex-direction:column;gap:2px;
}
.lv-chat__bubble--me{align-self:flex-end}
.lv-chat__bubble--them{align-self:flex-start}

.lv-chat__sender{
  font-size:.6875rem;font-weight:600;color:var(--muted-fg);
  text-transform:uppercase;letter-spacing:.05em;
}
.lv-chat__bubble--me .lv-chat__sender{text-align:right}

.lv-chat__body{
  padding:.625rem .875rem;border-radius:var(--radius);
  font-size:.875rem;line-height:1.5;word-break:break-word;
}
.lv-chat__bubble--me .lv-chat__body{
  background:var(--accent);color:var(--accent-fg);
  border-bottom-right-radius:4px;
}
.lv-chat__bubble--them .lv-chat__body{
  background:var(--card);border:1px solid var(--border);
  border-bottom-left-radius:4px;
}
.lv-chat__body a{color:inherit;text-decoration:underline}
.lv-chat__bubble--them .lv-chat__body a{color:var(--accent)}

.lv-chat__time{
  font-size:.6875rem;color:var(--muted-fg);
}
.lv-chat__bubble--me .lv-chat__time{text-align:right}

.lv-chat__img{
  max-width:100%;border-radius:var(--radius);cursor:pointer;
  transition:opacity .2s;
}
.lv-chat__img:hover{opacity:.85}

.lv-chat__map-wrap{
  display:block;border-radius:var(--radius);overflow:hidden;
  text-decoration:none;
}
.lv-chat__map{width:100%;border-radius:var(--radius);display:block}
.lv-chat__map-label{
  display:flex;align-items:center;gap:4px;
  font-size:.75rem;color:var(--accent);margin-top:4px;
}

.lv-chat__footer{
  padding:.75rem;border-top:1px solid var(--border);flex-shrink:0;
  background:var(--card);
}
.lv-chat__input-row{
  display:flex;align-items:center;gap:.5rem;
}
.lv-chat__input{
  flex:1;border:1px solid var(--border);border-radius:var(--radius);
  padding:.5rem .75rem;font-size:.875rem;background:var(--bg);
  outline:none;transition:border-color .2s;
}
.lv-chat__input:focus{border-color:var(--accent)}
.lv-chat__icon-btn{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;border:none;
  background:transparent;color:var(--muted-fg);cursor:pointer;
  transition:background .2s,color .2s;flex-shrink:0;
}
.lv-chat__icon-btn:hover{background:var(--muted);color:var(--primary)}
.lv-chat__send-btn{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;border:none;
  background:var(--accent);color:var(--accent-fg);cursor:pointer;
  transition:background .2s;flex-shrink:0;
}
.lv-chat__send-btn:hover{background:var(--primary)}

/* Chat open button (on res cards / table) */
.lv-chat-open-btn{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.8125rem;cursor:pointer;
  background:none;border:1px solid var(--border);border-radius:var(--radius);
  padding:.375rem .75rem;color:var(--primary);transition:all .2s;
}
.lv-chat-open-btn:hover{background:var(--primary);color:var(--primary-fg)}

.lv-single__nav{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);font-size:.875rem}
.lv-single__nav a{color:var(--accent);font-weight:500}

/* ══════════════════════════════════════════════════
   LEGAL PAGES (terms, privacy)
   ══════════════════════════════════════════════════ */
.lv-legal{padding:3rem 0 5rem}
.lv-legal__content{max-width:800px;margin:0 auto}
.lv-legal__section{margin-bottom:2.5rem}
.lv-legal__section h2{font-size:1.125rem;font-weight:700;margin-bottom:.75rem}
.lv-legal__section p{font-size:.9375rem;color:var(--muted-fg);line-height:1.8}
.lv-legal__section a{color:var(--accent);text-decoration:underline}

/* ══════════════════════════════════════════════════
   404 PAGE
   ══════════════════════════════════════════════════ */
.lv-404{padding:6rem 0;text-align:center}
.lv-404__card{
  max-width:450px;margin:0 auto;
  background:var(--card);border-radius:var(--radius-lg);
  padding:3rem;box-shadow:var(--shadow);
}
.lv-404__card h1{font-size:4rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}
.lv-404__card p{color:var(--muted-fg);margin-bottom:1.5rem}

/* ══════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════ */
.lv-pagination{margin-top:2rem}
.lv-pagination .nav-links{display:flex;justify-content:center;gap:.5rem}
.lv-pagination .page-numbers{
  padding:.5rem .875rem;border-radius:var(--radius-sm);
  font-size:.875rem;font-weight:500;
  border:1px solid var(--border);color:var(--fg);
  transition:all .2s;
}
.lv-pagination .page-numbers.current,.lv-pagination .page-numbers:hover{
  background:var(--primary);color:var(--primary-fg);border-color:var(--primary);
}

/* ══════════════════════════════════════════════════
   ARCHIVE
   ══════════════════════════════════════════════════ */
.lv-archive{padding:3rem 0 5rem}

/* ══════════════════════════════════════════════════
   UTILITIES
   ══════════════════════════════════════════════════ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ═══════════════════════════════════════════════════════ ADDRESS AUTOCOMPLETE ═══ */
.lv-autocomplete-wrap{position:relative}
.lv-autocomplete-list{
  position:absolute;top:100%;left:0;right:0;z-index:999;
  background:#fff;border:1px solid var(--border);border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  max-height:240px;overflow-y:auto;margin-top:4px;padding:4px 0;
  list-style:none;display:none;
}
.lv-autocomplete-list.is-active{display:block}
.lv-autocomplete-list li{
  padding:10px 14px;font-size:.9rem;color:var(--primary);
  cursor:pointer;transition:background .15s;
  border-bottom:1px solid var(--border);
}
.lv-autocomplete-list li:last-child{border-bottom:none}
.lv-autocomplete-list li:hover,
.lv-autocomplete-list li.is-selected{background:var(--muted)}
.lv-autocomplete-list li small{display:block;color:var(--muted-fg);font-size:.78rem;margin-top:2px}

/* Distance badge on results */
.lv-results__distance{
  text-align:center;padding:12px 0;font-size:1.05rem;
  color:var(--primary);font-weight:600;
}
.lv-results__distance span{color:var(--accent);font-size:1.2rem}

/* Booking sidebar distance row */
.lv-sidebar-card__row--distance span:last-child{color:var(--accent);font-weight:700}

/* Booking exact distance info */
.lv-booking__distance-info{
  background:var(--muted);border-radius:10px;padding:16px 20px;margin-bottom:1.5rem;
  border-left:4px solid var(--accent);
}
.lv-booking__distance-info p{margin:4px 0;font-size:.95rem;color:var(--primary)}
.lv-booking__distance-info strong{color:var(--accent)}
