/* Shared brand palette: public website and administration. */
:root {
  --primary:#174B35;
  --primary-hover:#103B29;
  --primary-soft:#EAF3ED;
  --primary-rgb:23,75,53;
  --forest:var(--primary);
  --moss:#236345;
  --mist:#FAF8F2;
  --brass:#C8A45C;
  --brass-lite:#E7D2A2;
  --bs-primary:var(--primary);
  --bs-primary-rgb:var(--primary-rgb);
  --bs-link-color:var(--primary);
  --bs-link-hover-color:var(--primary-hover);
  --bs-focus-ring-color:rgba(23,75,53,.24);
}
::selection{background:#c8e2d1;color:#103b29}
.btn-brass,.booking-submit,.btn-primary {
  background:var(--primary);color:#fff;border-color:var(--primary);
  --bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);
  --bs-btn-hover-bg:var(--primary-hover);--bs-btn-hover-border-color:var(--primary-hover);
  --bs-btn-active-bg:var(--primary-hover);--bs-btn-active-border-color:var(--primary-hover);
}
.btn-brass:hover,.btn-brass:focus-visible,.booking-submit:hover,.booking-submit:focus-visible,.btn-primary:hover {
  background:var(--primary-hover);color:#fff;border-color:var(--primary-hover);
}
.btn-line:hover{background:var(--primary);border-color:var(--primary);color:#fff}
:focus-visible{outline:3px solid #39855c;outline-offset:3px}
.form-control:focus,.form-select:focus,.settings-field input:focus,.settings-field textarea:focus {
  border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,75,53,.14);
}
input[type=checkbox],input[type=radio]{accent-color:var(--primary)}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
.pagination{--bs-pagination-color:var(--primary);--bs-pagination-active-bg:var(--primary);--bs-pagination-active-border-color:var(--primary);--bs-pagination-focus-box-shadow:0 0 0 .2rem rgba(23,75,53,.2)}
.public-site{background:var(--mist)}
.public-site .th-nav,.public-site .th-nav.scrolled{background:var(--primary)}
.public-site .th-nav .btn-brass{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}
.public-site .th-nav .btn-brass:hover{background:#fff;color:var(--primary-hover)}
.public-site .sec-light,.public-site .booking-page{background:var(--mist)}
.public-site .sec-light h1,.public-site .sec-light h2,.public-site .sec-light h3,.public-site .booking-intro h1{color:var(--primary)}
.public-site .sec-light .eyebrow,.public-site .journey-panel .eyebrow{color:var(--primary)}
.public-site .sec-light .btn-ghost:hover{color:var(--primary);border-color:var(--primary)}
.public-site .lux-story,.public-site .booking-support{background:var(--primary-soft)}
.public-site .lux-cta,.public-site .booking-summary{background:var(--primary)}
.public-site .foot{background:#123c2c}
.public-site .collection-card h3,.public-site .journey-options a,.public-site .lux-text-link:hover{color:var(--primary)}
.public-site .booking-step,.public-site .booking-alert:not(.error){background:var(--primary-soft);color:var(--primary)}
.public-site .booking-card .form-control:focus,.public-site .booking-card .form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,75,53,.14)}
.public-site .booking-wa{color:var(--primary);border-color:#9abda8}
.public-site .booking-wa:hover{background:var(--primary-soft);color:var(--primary-hover)}
.public-site .cc-btn:not(.open),.public-site .cc-send,.public-site .cc-msg.user{background:var(--primary);color:#fff}
.admin-site{background:var(--mist)}
.admin-site .rail{background:var(--primary)}
.admin-site .nav-i.active{background:var(--primary-soft);color:var(--primary);border-left-color:#7cbc93}
.admin-site .nav-i:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}
.admin-site .rail .grp{color:#b8d3c0}
.admin-site .rail-user span{color:#c2d9c9}
.admin-site .topbar{background:rgba(250,248,242,.96)}
.admin-site .topbar h1,.admin-site .card-hd h2,.admin-site .card-hd h3,.admin-site .settings-section h2,.admin-site .report-stat strong{color:var(--primary)}
.admin-site .calendar-event.confirmed,.admin-site .p-trip{background:var(--primary-soft);color:var(--primary)}
.admin-site .booking-calendar th{background:var(--primary)}
.admin-site .trend-bar{background:var(--primary)}
.admin-site .search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,75,53,.14)}
@media print{.admin-site{background:#fff}}

/* Previous/next navigation, page numbers and vehicle photo controls. */
.pagination{gap:7px;flex-wrap:wrap;align-items:center;margin:0;--bs-pagination-border-radius:10px;--bs-pagination-hover-bg:var(--primary-soft);--bs-pagination-hover-color:var(--primary);--bs-pagination-hover-border-color:#9dbca8;--bs-pagination-disabled-bg:#f1f3ef;--bs-pagination-disabled-color:#788279;--bs-pagination-disabled-border-color:#e2e7e1}
.pagination .page-item .page-link{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;padding:10px 15px;border-radius:10px;border:1px solid #d4e1d7;font-weight:600;font-size:14px;line-height:1.4;box-shadow:0 2px 5px rgba(23,75,53,.04);transition:background .18s,border-color .18s,color .18s}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:white;box-shadow:0 3px 9px rgba(23,75,53,.18)}
.pagination .page-item.disabled .page-link{box-shadow:none;opacity:.7;cursor:default}
.pagination .page-link svg{width:18px;height:18px;flex-shrink:0}
.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-left:auto;padding:7px;background:white;border:1px solid #dce6dc;border-radius:14px;box-shadow:0 3px 12px rgba(23,75,53,.04)}
.month-navigation-title{min-width:145px;text-align:center;color:var(--primary);font-size:15px}
.pager-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;background:var(--primary-soft);color:var(--primary);border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s}
.pager-button:hover{background:var(--primary);color:white;box-shadow:0 3px 8px rgba(23,75,53,.15)}
.pager-button span{font-size:19px;line-height:1}
.public-site .carousel-control-prev,.public-site .carousel-control-next{top:50%;bottom:auto;width:46px;height:46px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:var(--primary);opacity:.95;transform:translateY(-50%);box-shadow:0 4px 16px rgba(0,0,0,.2);transition:background .18s,box-shadow .18s}
.public-site .carousel-control-prev{left:14px}.public-site .carousel-control-next{right:14px}
.public-site .carousel-control-prev:hover,.public-site .carousel-control-next:hover{background:var(--primary-hover);opacity:1;box-shadow:0 5px 20px rgba(0,0,0,.3)}
.public-site .carousel-control-prev-icon,.public-site .carousel-control-next-icon{width:19px;height:19px}
@media(max-width:575px){.month-navigation{width:100%;margin-left:0;gap:6px}.month-navigation-title{min-width:0;font-size:14px}.pager-button{padding:9px 12px;font-size:13px;gap:6px}.pagination{gap:5px}.pagination .page-item .page-link{min-width:44px;padding:9px 12px}.public-site .carousel-control-prev,.public-site .carousel-control-next{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.pager-button,.pagination .page-link,.public-site .carousel-control-prev,.public-site .carousel-control-next{transition:none}}
