/* ══ CHIASSO VIP THEME — Updated 2026 ══ */
:root {
  --ease-luxury: cubic-bezier(0.22, 1, 0.36, 1);
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Montserrat', 'Segoe UI', sans-serif;
}

/* Shared shimmer button utility */
.btn-shimmer {
  position: relative;
  overflow: hidden;
}
.btn-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.1);
  transform: translateX(-100%) skewX(-15deg);
  transition: transform 0.6s var(--ease-luxury);
}
.btn-shimmer:hover::after {
  transform: translateX(100%) skewX(-15deg);
}

/* Shared 2026 rebrand for Chiasso Taxi Service.
   The goal is to keep the current app logic intact and radically
   change the visual language across public site and panels. */

:root {
  --vip-shell: #ece6db;
  --vip-shell-2: #f6f1e7;
  --vip-card: rgba(255, 248, 238, 0.82);
  --vip-card-solid: #fffaf2;
  --vip-dark: #111315;
  --vip-dark-soft: #1b1d20;
  --vip-dark-glow: #20252a;
  --vip-bronze: #b57d3c;
  --vip-bronze-soft: #d8b07b;
  --vip-bronze-deep: #7b5730;
  --vip-green: #233a33;
  --vip-green-soft: #355148;
  --vip-text: #17120f;
  --vip-text-soft: #53483c;
  --vip-line: rgba(29, 22, 17, 0.1);
  --vip-shadow: 0 24px 60px rgba(18, 15, 12, 0.13);
  --vip-shadow-deep: 0 24px 80px rgba(7, 7, 7, 0.22);
  --vip-radius-xl: 34px;
  --vip-radius-lg: 24px;
  --vip-radius-md: 18px;
}

html {
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.08), transparent 32%),
    radial-gradient(circle at 85% 12%, rgba(35, 58, 51, 0.08), transparent 34%),
    linear-gradient(180deg, var(--vip-shell-2) 0%, var(--vip-shell) 100%);
}

body {
  font-family: 'Space Grotesk', 'Montserrat', sans-serif !important;
  color: var(--vip-text);
  background: transparent !important;
  cursor: auto !important;
}

body *,
body *::before,
body *::after {
  box-sizing: border-box;
}

body a,
body button,
body [onclick] {
  cursor: pointer !important;
}

body input,
body textarea,
body select {
  cursor: text !important;
}

body ::selection {
  background: rgba(181, 125, 60, 0.2);
  color: var(--vip-text);
}

.cursor-ring {
  display: none !important;
}

.reveal {
  transition-duration: 0.8s !important;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
}

.cts-home {
  --gold: var(--vip-bronze);
  --gold-light: var(--vip-bronze-soft);
  --gold-dim: var(--vip-bronze-deep);
  --black: var(--vip-shell);
  --deep: #dfd7c8;
  --dark: var(--vip-dark);
  --dark-mid: #1d2327;
  --text: var(--vip-text);
  --text-dim: var(--vip-text-soft);
  --white: #fffaf1;
}

.cts-user,
.cts-mgmt {
  --gold: var(--vip-bronze);
  --gl: var(--vip-bronze-soft);
  --gd: var(--vip-bronze-deep);
  --bk: var(--vip-shell-2);
  --dp: rgba(255, 249, 240, 0.94);
  --dk: #17181a;
  --dm: rgba(247, 240, 228, 0.96);
  --db: rgba(30, 23, 18, 0.1);
  --w: var(--vip-text);
  --dim: rgba(50, 41, 34, 0.82);
  --mid: rgba(26, 20, 16, 0.92);
  --grn: var(--vip-green-soft);
  --red: #ab5d55;
  --amb: #c39a59;
  --pnd: #7d6eac;
  color: var(--vip-text);
}

/* Contrast tune-up for secondary copy and metadata */
.cts-home .lang-overlay-sub,
.cts-home .nav-links a,
.cts-home .lang-btn,
.cts-home .brand-name,
.cts-home .hero-scroll span,
.cts-home .whyus-tagline,
.cts-home .chat-av-info span,
.cts-home .chat-msg.user,
.cts-home .chat-input::placeholder,
.cts-home .chat-quick-btn,
.cts-home .ma-sub,
.cts-home .ma-note,
.cts-home .ma-uemail,
.cts-home .ma-req-date,
.cts-home .ma-empty,
.cts-home .ma-logout {
  color: rgba(23, 18, 15, 0.76) !important;
}

.cts-home .hero-rv-date,
.cts-home .hero-tp-count,
.cts-home .stat-label,
.cts-home .whyus-desc,
.cts-home .bizVip-cta-text {
  color: rgba(255, 248, 238, 0.78);
}

.cts-home .hero-tp-link {
  color: rgba(216, 176, 123, 0.9);
}

.cts-user .sl,
.cts-mgmt .sl,
.cts-user .tsub,
.cts-mgmt .tsub,
.cts-user .ts,
.cts-mgmt .ts,
.cts-user .mst,
.cts-mgmt .mst,
.cts-user .member-sub,
.cts-mgmt .member-sub,
.cts-mgmt .chat-ph-sub,
.cts-mgmt .cm-name,
.cts-mgmt .cm-time,
.cts-mgmt .chat-conv-time,
.cts-mgmt .log-detail,
.cts-mgmt .log-user-role {
  color: rgba(23, 18, 15, 0.72);
}

.cts-user .vip-card-tier,
.cts-user .vip-card-since,
.cts-mgmt .vip-card-tier,
.cts-mgmt .vip-card-since,
.cts-user .vip-perk,
.cts-mgmt .vip-perk {
  color: rgba(255, 248, 238, 0.82);
}

.cts-user .mx,
.cts-mgmt .mx,
.cts-user .cb,
.cts-user .bc,
.cts-user .bsm,
.cts-user .sf,
.cts-user .so,
.cts-user .ab,
.cts-user .pref-chip-btn,
.cts-user .log-page-btn,
.cts-mgmt .cb,
.cts-mgmt .bc,
.cts-mgmt .bsm,
.cts-mgmt .sf,
.cts-mgmt .so,
.cts-mgmt .ab,
.cts-mgmt .pref-chip-btn,
.cts-mgmt .log-page-btn {
  color: rgba(23, 18, 15, 0.74);
}

.cts-home .nav-logo,
.cts-home .section-title,
.cts-home .service-name,
.cts-home .fleet-model,
.cts-home .whyus-name,
.cts-home .bizVip-cta-title,
.cts-home .cta-banner-title,
.cts-home .hero-title,
.cts-home .footer-logo,
.cts-home .contact-item p,
.cts-home .contact-item a,
.cts-home .hero-rv-text,
.cts-home .ur-text,
.cts-user .ltitle,
.cts-user .member-title,
.cts-user .ttl,
.cts-user .vip-card-name,
.cts-user .user-hero-name,
.cts-user .pay-card-val,
.cts-user .member-title,
.cts-user .mt,
.cts-user .sn,
.cts-mgmt .ltitle,
.cts-mgmt .ttl,
.cts-mgmt .mt,
.cts-mgmt .sn,
.cts-mgmt .log-stat-n {
  font-family: 'Fraunces', 'Cormorant Garamond', serif !important;
}

.cts-home .lang-overlay,
.cts-home #cinematicReveal {
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.16), transparent 35%),
    radial-gradient(circle at bottom right, rgba(35, 58, 51, 0.18), transparent 42%),
    linear-gradient(145deg, rgba(252, 248, 242, 0.96), rgba(236, 230, 219, 0.98));
  color: var(--vip-text);
}

.cts-home .cr-logo,
.cts-home .lang-overlay-logo {
  letter-spacing: 0.38em;
  color: var(--vip-text);
}

.cts-home .cr-logo span,
.cts-home .lang-overlay-logo span {
  color: var(--vip-bronze);
}

.cts-home .cr-line {
  background: linear-gradient(90deg, transparent, rgba(181, 125, 60, 0.75), transparent);
}

.cts-home .lang-overlay-sub {
  color: rgba(23, 18, 15, 0.76);
}

.cts-home .lang-choice {
  background: rgba(255, 250, 242, 0.96);
  border: 1px solid rgba(29, 22, 17, 0.12);
  border-radius: 24px;
  box-shadow: 0 22px 48px rgba(18, 15, 12, 0.12);
  transition:
    transform 0.35s cubic-bezier(.22, 1, .36, 1),
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.cts-home .lang-choice:hover {
  transform: translateY(-8px);
  border-color: rgba(181, 125, 60, 0.42);
  box-shadow: 0 28px 60px rgba(18, 15, 12, 0.14);
}

.cts-home .lname,
.cts-home .lcode {
  color: var(--vip-text);
}

.cts-home .lcode {
  color: rgba(23, 18, 15, 0.72);
}

.cts-home nav {
  width: min(1420px, calc(100% - 32px));
  left: 50%;
  right: auto;
  top: 18px;
  transform: translateX(-50%);
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-radius: 999px;
  padding: 18px 26px 18px 32px;
  background: rgba(255, 249, 241, 0.78);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 40px rgba(18, 15, 12, 0.08);
}

.cts-home nav.scrolled {
  background: rgba(255, 249, 241, 0.92);
  padding: 16px 26px 16px 32px;
  border-color: rgba(29, 22, 17, 0.1);
  box-shadow: 0 18px 48px rgba(18, 15, 12, 0.1);
}

.cts-home .nav-logo {
  color: var(--vip-text);
  font-size: 17px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.cts-home .nav-logo span {
  color: var(--vip-bronze);
}

.cts-home .nav-links {
  gap: 26px;
}

.cts-home .nav-links a {
  color: rgba(23, 18, 15, 0.74);
  font-size: 11px;
  letter-spacing: 0.18em;
}

.cts-home .nav-links a:hover,
.cts-home .nav-links a:focus-visible {
  color: var(--vip-text);
}

.cts-home .nav-links a::after {
  background: linear-gradient(90deg, var(--vip-bronze), var(--vip-green-soft));
  height: 2px;
  border-radius: 999px;
  bottom: -10px;
}

.cts-home .lang-switcher {
  border: 1px solid rgba(29, 22, 17, 0.09);
  border-radius: 999px;
  overflow: hidden;
}

.cts-home .lang-btn {
  color: rgba(23, 18, 15, 0.72);
  padding: 10px 14px;
}

.cts-home .lang-btn:hover {
  color: var(--vip-text);
  background: rgba(181, 125, 60, 0.08);
}

.cts-home .lang-btn.active {
  color: #fffaf2;
  background: linear-gradient(120deg, var(--vip-bronze), var(--vip-bronze-soft));
}

.cts-home .nav-cta,
.cts-home .nav-myarea,
.cts-home .btn-primary,
.cts-home .cta-wa-big,
.cts-home .bizVip-wa,
.cts-home .footer-whatsapp,
.cts-home .form-submit,
.cts-home .chat-send {
  border-radius: 999px;
}

.cts-home .nav-cta {
  color: #fffaf2;
  background: linear-gradient(120deg, var(--vip-green), #111315);
  box-shadow: 0 16px 34px rgba(28, 46, 41, 0.16);
}

.cts-home .nav-cta:hover {
  background: linear-gradient(120deg, var(--vip-green-soft), #111315);
}

.cts-home .nav-myarea {
  border-radius: 999px;
  border-color: rgba(29, 22, 17, 0.14);
  background: rgba(255, 255, 255, 0.7);
  color: rgba(23, 18, 15, 0.84);
  font-weight: 600;
}

.cts-home .nav-myarea:hover {
  background: rgba(181, 125, 60, 0.08);
  border-color: rgba(181, 125, 60, 0.32);
  color: var(--vip-text);
}

.cts-home .hero {
  min-height: 100svh;
  padding: 146px 0 116px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.cts-home .hero::before {
  content: '';
  position: absolute;
  inset: 56px 56px 32px;
  border-radius: 42px;
  background:
    linear-gradient(90deg, rgba(245, 239, 229, 0.92) 0%, rgba(245, 239, 229, 0.88) 46%, rgba(17, 19, 21, 0.05) 62%, rgba(17, 19, 21, 0.2) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.6), transparent 34%);
  box-shadow: var(--vip-shadow);
  z-index: 0;
}

.cts-home .hero-bg {
  inset: 56px 56px 32px;
  border-radius: 42px;
  background:
    linear-gradient(90deg, rgba(245, 239, 229, 0.92) 0%, rgba(245, 239, 229, 0.9) 48%, rgba(17, 19, 21, 0.18) 72%, rgba(17, 19, 21, 0.78) 100%),
    url("il-bmw/da-fuori.jpeg");
  background-size: cover;
  background-position: center;
  filter: saturate(0.86) contrast(1.02);
}

.cts-home .hero-grid {
  inset: 56px 56px 32px;
  border-radius: 42px;
  background-image:
    linear-gradient(rgba(181, 125, 60, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(181, 125, 60, 0.12) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.06) 42%, rgba(0, 0, 0, 0.75) 74%, rgba(0, 0, 0, 1) 100%);
  opacity: 0.26;
}

.cts-home .hero-line-left {
  left: calc(50% - 620px);
  top: 170px;
  bottom: 120px;
  width: 2px;
  background: linear-gradient(to bottom, transparent, rgba(181, 125, 60, 0.46), transparent);
}

.cts-home .hero-content {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  padding: 0 88px;
  grid-template-columns: minmax(0, 1.06fr) minmax(330px, 420px);
  gap: 52px;
}

.cts-home .hero-left {
  padding: 48px 54px 46px;
  background: rgba(255, 250, 242, 0.72);
  border: 1px solid rgba(29, 22, 17, 0.1);
  border-radius: 34px;
  backdrop-filter: blur(12px);
  box-shadow: var(--vip-shadow);
}

.cts-home .hero-eyebrow {
  color: var(--vip-bronze-deep);
  letter-spacing: 0.38em;
  font-size: 10px;
  margin-bottom: 28px;
}

.cts-home .hero-eyebrow::before,
.cts-home .section-tag::before {
  background: linear-gradient(90deg, var(--vip-bronze), rgba(181, 125, 60, 0.05));
}

.cts-home .hero-title {
  color: var(--vip-text);
  font-size: clamp(60px, 7vw, 108px);
  line-height: 0.9;
  letter-spacing: -0.03em;
  margin-bottom: 28px;
}

.cts-home .hero-title em,
.cts-home .section-title em,
.cts-home .cta-banner-title em,
.cts-home .bizVip-cta-title em {
  color: var(--vip-bronze);
}

.cts-home .hero-sub {
  max-width: 560px;
  color: rgba(23, 18, 15, 0.82);
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: 34px;
}

.cts-home .hero-actions {
  gap: 16px;
}

.cts-home .btn-primary,
.cts-home .cta-wa-big,
.cts-home .bizVip-wa,
.cts-home .form-submit,
.cts-home .footer-whatsapp {
  background: linear-gradient(120deg, var(--vip-bronze), var(--vip-bronze-soft));
  color: #fffaf2;
  box-shadow: 0 16px 30px rgba(181, 125, 60, 0.24);
}

.cts-home .btn-primary::after {
  background: linear-gradient(120deg, #c99758, #edd2a8);
}

.cts-home .btn-primary:hover,
.cts-home .cta-wa-big:hover,
.cts-home .bizVip-wa:hover,
.cts-home .form-submit:hover,
.cts-home .footer-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(181, 125, 60, 0.28);
}

.cts-home .btn-secondary {
  color: var(--vip-text);
  border-bottom-color: rgba(23, 18, 15, 0.26);
}

.cts-home .btn-secondary:hover {
  color: var(--vip-bronze);
  border-bottom-color: var(--vip-bronze);
}

.cts-home .hero-multistop-link {
  font-size: 9px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(74, 52, 29, 0.9);
  text-decoration: none;
  transition: color 0.25s ease;
  font-weight: 600;
}

.cts-home .hero-multistop-link:hover,
.cts-home .hero-multistop-link:focus-visible {
  color: var(--vip-text);
}

.cts-home .avail-badge,
.cts-user .avail-badge {
  border-radius: 999px;
  padding: 8px 16px;
  background: rgba(35, 58, 51, 0.14);
  border-color: rgba(35, 58, 51, 0.28);
  color: #24433a;
  font-weight: 600;
  box-shadow: 0 10px 24px rgba(35, 58, 51, 0.08);
}

.cts-home .avail-badge.busy,
.cts-user .avail-badge.busy {
  background: rgba(181, 125, 60, 0.12);
  border-color: rgba(181, 125, 60, 0.28);
  color: var(--vip-bronze-deep);
}

.cts-home .hero-right {
  opacity: 1;
  animation: none;
}

.cts-home .hero-tp-panel {
  background:
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.16), transparent 42%),
    linear-gradient(160deg, rgba(17, 19, 21, 0.96), rgba(20, 24, 27, 0.94));
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--vip-shadow-deep);
  padding: 30px;
}

.cts-home .hero-tp-brand-name,
.cts-home .hero-rv-author,
.cts-home .hero-tp-count,
.cts-home .hero-tp-link {
  font-family: 'Space Grotesk', 'Montserrat', sans-serif !important;
}

.cts-home .hero-rv-text {
  color: rgba(255, 247, 236, 0.9);
  font-size: 15px;
}

.cts-home .hero-rv-author {
  color: rgba(233, 201, 153, 0.98);
}

.cts-home .hero-rv-date,
.cts-home .hero-tp-count {
  color: rgba(255, 247, 236, 0.72);
}

.cts-home .hero-tp-link:hover {
  color: var(--vip-bronze-soft);
}

.cts-home .hero-tp-link {
  color: rgba(233, 201, 153, 0.92);
}

.cts-home .hero-scroll span {
  color: rgba(23, 18, 15, 0.42);
}

.cts-home .scroll-line {
  background: linear-gradient(to bottom, var(--vip-bronze), transparent);
}

.cts-home .stats-bar {
  position: relative;
  z-index: 3;
  width: min(1340px, calc(100% - 48px));
  margin: -58px auto 0;
  padding: 14px;
  background: linear-gradient(135deg, rgba(17, 19, 21, 0.96), rgba(24, 27, 31, 0.96));
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .stats-inner {
  padding: 0;
  gap: 12px;
}

.cts-home .stat-item {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 22px;
  padding: 20px 14px;
}

.cts-home .stat-item:not(:last-child)::after {
  display: none;
}

.cts-home .stat-num {
  color: var(--vip-bronze-soft);
}

.cts-home .stat-label {
  color: rgba(255, 247, 236, 0.56);
}

.cts-home .brand-strip {
  background: transparent;
  padding: 44px 0 22px;
}

.cts-home .brand-item {
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.58);
  border: 1px solid rgba(29, 22, 17, 0.08);
  margin-right: 12px;
}

.cts-home .brand-name {
  color: rgba(23, 18, 15, 0.68);
}

.cts-home .brand-item:hover .brand-name {
  color: var(--vip-text);
}

.cts-home .brand-sep {
  color: rgba(181, 125, 60, 0.42);
}

.cts-home .section-divider::before {
  width: min(1080px, calc(100% - 80px));
  background: linear-gradient(90deg, transparent, rgba(181, 125, 60, 0.22), transparent);
}

.cts-home .section-divider::after {
  background: var(--vip-shell);
  color: rgba(181, 125, 60, 0.36);
}

.cts-home .section-divider.on-deep::after {
  background: #e5dece;
}

.cts-home section {
  position: relative;
}

.cts-home .services,
.cts-home .fleet,
.cts-home .whyus,
.cts-home .bizVip,
.cts-home .policy,
.cts-home .reviews,
.cts-home .contact {
  background: transparent !important;
  padding: 120px 0;
}

.cts-home .section-inner {
  max-width: 1440px;
  padding: 0 48px;
}

.cts-home .section-tag {
  color: var(--vip-bronze-deep);
}

.cts-home .section-title {
  color: var(--vip-text);
  letter-spacing: -0.03em;
}

.cts-home .services-header,
.cts-home .fleet-header {
  margin-bottom: 54px;
}

.cts-home .services-desc,
.cts-home .whyus-desc,
.cts-home .bizVip-feat-text,
.cts-home .cta-banner-sub,
.cts-home .contact-legal p,
.cts-home .contact-item .contact-sub,
.cts-home .service-text,
.cts-home .policy-wait-text p,
.cts-home .rates-note,
.cts-home .bizVip-cta-text {
  color: rgba(23, 18, 15, 0.64);
}

.cts-home .services-grid,
.cts-home .services-grid-2 {
  gap: 22px;
}

.cts-home .service-card {
  background: var(--vip-card);
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-radius: 28px;
  box-shadow: var(--vip-shadow);
  padding: 38px 34px;
}

.cts-home .service-card:hover {
  background: var(--vip-card-solid);
  transform: translateY(-10px);
}

.cts-home .service-card::before {
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--vip-bronze), var(--vip-green-soft));
}

.cts-home .service-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  border-color: rgba(181, 125, 60, 0.22);
  background: rgba(181, 125, 60, 0.08);
}

.cts-home .service-card:hover .service-icon {
  background: rgba(35, 58, 51, 0.08);
  border-color: rgba(35, 58, 51, 0.3);
}

.cts-home .service-icon svg {
  stroke: var(--vip-bronze);
}

.cts-home .service-name {
  color: var(--vip-text);
}

.cts-home .service-features li {
  color: rgba(23, 18, 15, 0.66);
}

.cts-home .service-features li::before {
  background: linear-gradient(90deg, var(--vip-bronze), rgba(181, 125, 60, 0.14));
}

.cts-home .service-num {
  color: rgba(181, 125, 60, 0.14);
}

.cts-home .fleet-grid,
.cts-home .fleet-s-card {
  gap: 22px;
}

.cts-home .fleet-card,
.cts-home .fleet-s-card {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--vip-shadow);
}

.cts-home .fleet-visual,
.cts-home .fleet-s-visual {
  background:
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(24, 26, 28, 0.95), rgba(24, 26, 28, 0.98));
}

.cts-home .fleet-visual {
  height: 260px;
}

.cts-home .fleet-car-img {
  opacity: 0.98;
  mix-blend-mode: screen;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(1.04);
}

.cts-home .fleet-info,
.cts-home .fleet-s-info {
  background: var(--vip-card-solid);
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-top: none;
}

.cts-home .fleet-model,
.cts-home .fleet-cap,
.cts-home .fleet-spec strong,
.cts-home .fleet-badge {
  color: var(--vip-text);
}

.cts-home .fleet-badge {
  background: rgba(181, 125, 60, 0.1);
  border-color: rgba(181, 125, 60, 0.22);
  color: var(--vip-bronze-deep);
  border-radius: 999px;
}

.cts-home .fleet-badge.first-class {
  background: linear-gradient(120deg, rgba(35, 58, 51, 0.14), rgba(181, 125, 60, 0.12));
  color: var(--vip-green);
}

.cts-home .fleet-spec,
.cts-home .fleet-interior-tag {
  color: rgba(23, 18, 15, 0.64);
}

.cts-home .fleet-interior {
  border-top-color: rgba(29, 22, 17, 0.08);
}

.cts-home .fleet-interior-tag::before {
  background: var(--vip-bronze);
}

.cts-home .whyus-grid {
  gap: 18px;
}

.cts-home .whyus-item {
  padding: 28px 24px 26px;
  border-radius: 24px;
  background: linear-gradient(160deg, rgba(17, 19, 21, 0.96), rgba(27, 29, 32, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .whyus-num {
  color: rgba(216, 176, 123, 0.28);
}

.cts-home .whyus-name {
  color: #fff9f0;
}

.cts-home .whyus-desc {
  color: rgba(255, 249, 240, 0.66);
}

.cts-home .whyus-tagline {
  margin-top: 28px;
  color: rgba(23, 18, 15, 0.42);
  letter-spacing: 0.18em;
}

.cts-home .bizVip-grid {
  gap: 28px;
}

.cts-home .bizVip-left {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cts-home .bizVip-feature {
  height: 100%;
  padding: 24px;
  border-radius: 24px;
  background: var(--vip-card);
  border: 1px solid rgba(29, 22, 17, 0.08);
  box-shadow: var(--vip-shadow);
}

.cts-home .bizVip-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(181, 125, 60, 0.08);
  border-color: rgba(181, 125, 60, 0.22);
}

.cts-home .bizVip-icon:hover {
  background: rgba(35, 58, 51, 0.08);
  border-color: rgba(35, 58, 51, 0.2);
}

.cts-home .bizVip-icon svg {
  stroke: var(--vip-bronze);
}

.cts-home .bizVip-feat-title {
  color: var(--vip-text);
}

.cts-home .bizVip-right {
  padding: 54px;
  border-radius: 32px;
  overflow: hidden;
  background:
    linear-gradient(130deg, rgba(17, 19, 21, 0.98), rgba(27, 29, 32, 0.96)),
    url("van-x7/da-fuori.jpeg");
  background-size: cover;
  background-position: center;
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .bizVip-right::before {
  background: linear-gradient(90deg, transparent, rgba(216, 176, 123, 0.8), transparent);
  opacity: 0.55;
}

.cts-home .bizVip-cta-label,
.cts-home .bizVip-badge {
  color: rgba(216, 176, 123, 0.9);
}

.cts-home .bizVip-cta-title {
  color: #fffaf2;
}

.cts-home .bizVip-cta-text {
  color: rgba(255, 248, 238, 0.7);
}

.cts-home .bizVip-badge {
  border-radius: 999px;
  border-color: rgba(216, 176, 123, 0.24);
  background: rgba(255, 255, 255, 0.03);
}

.cts-home .policy-grid,
.cts-home .contact-grid {
  gap: 34px;
}

.cts-home .rates-tabs {
  gap: 10px;
  border-bottom: none;
  flex-wrap: wrap;
}

.cts-home .rates-tab {
  margin-bottom: 0;
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-bottom-width: 1px;
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.54);
  color: rgba(23, 18, 15, 0.56);
}

.cts-home .rates-tab.active,
.cts-home .rates-tab:hover {
  color: #fffaf2;
  border-color: var(--vip-green);
  background: linear-gradient(120deg, var(--vip-green), #111315);
}

.cts-home .policy-table,
.cts-home .rates-table {
  background: rgba(255, 250, 242, 0.66);
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--vip-shadow);
}

.cts-home .policy-table th,
.cts-home .rates-table th {
  color: var(--vip-bronze-deep);
  border-bottom-color: rgba(29, 22, 17, 0.08);
  background: rgba(181, 125, 60, 0.06);
}

.cts-home .policy-table td,
.cts-home .rates-table td {
  color: rgba(23, 18, 15, 0.66);
  border-bottom-color: rgba(29, 22, 17, 0.06);
}

.cts-home .policy-table td:first-child,
.cts-home .rates-table td:first-child {
  color: var(--vip-text);
}

.cts-home .policy-wait-item {
  padding: 22px;
  border-radius: 24px;
  background: rgba(255, 250, 242, 0.66);
  border: 1px solid rgba(29, 22, 17, 0.08);
  box-shadow: var(--vip-shadow);
}

.cts-home .policy-wait-icon {
  border-radius: 16px;
  border-color: rgba(181, 125, 60, 0.22);
  background: rgba(181, 125, 60, 0.08);
}

.cts-home .policy-wait-icon svg {
  stroke: var(--vip-bronze);
}

.cts-home .policy-wait-text h4 {
  color: var(--vip-text);
}

.cts-home .reviews .section-inner {
  position: relative;
}

.cts-home .ur-track {
  gap: 18px;
}

.cts-home .ur-card {
  min-width: 340px;
  border-radius: 28px;
  background: rgba(255, 250, 242, 0.82);
  border: 1px solid rgba(29, 22, 17, 0.08);
  box-shadow: var(--vip-shadow);
}

.cts-home .ur-verified {
  color: var(--vip-green);
}

.cts-home .ur-text {
  color: var(--vip-text);
}

.cts-home .ur-origin,
.cts-home .ur-date {
  color: rgba(23, 18, 15, 0.52);
}

.cts-home .tp-widget-inner,
.cts-home .cta-banner,
.cts-home .contact-form,
.cts-home .contact-legal {
  border-radius: 30px;
  box-shadow: var(--vip-shadow);
}

.cts-home .tp-widget-inner,
.cts-home .cta-banner {
  background:
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.16), transparent 42%),
    linear-gradient(135deg, rgba(255, 250, 242, 0.84), rgba(255, 246, 232, 0.78));
  border: 1px solid rgba(29, 22, 17, 0.08);
}

.cts-home .tp-widget-cta {
  color: rgba(23, 18, 15, 0.68);
}

.cts-home .tp-widget-btn {
  border-radius: 999px;
  background: linear-gradient(120deg, var(--vip-green), #111315);
}

.cts-home .contact-item h4,
.cts-home .form-group label,
.cts-home .form-section-title,
.cts-home .map-info-label {
  color: var(--vip-bronze-deep);
}

.cts-home .contact-item p,
.cts-home .contact-item a {
  color: var(--vip-text);
}

.cts-home .contact-divider {
  width: 100%;
  background: linear-gradient(90deg, rgba(181, 125, 60, 0.38), transparent 60%);
}

.cts-home .contact-form {
  padding: 30px;
  background: rgba(255, 250, 242, 0.9);
  border: 1px solid rgba(29, 22, 17, 0.08);
}

.cts-home .form-row {
  gap: 18px;
}

.cts-home .form-group input,
.cts-home .form-group textarea,
.cts-home .form-group select,
.cts-home .stop-input {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(29, 22, 17, 0.1);
  border-radius: 18px;
  color: var(--vip-text);
  padding: 16px 18px;
}

.cts-home .form-group input:focus,
.cts-home .form-group textarea:focus,
.cts-home .form-group select:focus,
.cts-home .stop-input:focus {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(181, 125, 60, 0.44);
}

.cts-home .add-stop-btn,
.cts-home .map-btn,
.cts-home .chat-quick-btn {
  border-radius: 999px;
}

.cts-home .add-stop-btn,
.cts-home .map-btn {
  background: rgba(17, 19, 21, 0.04);
  border-color: rgba(29, 22, 17, 0.12);
  color: var(--vip-text);
}

.cts-home .map-btn:hover,
.cts-home .add-stop-btn:hover {
  background: rgba(181, 125, 60, 0.08);
  border-color: rgba(181, 125, 60, 0.28);
  color: var(--vip-bronze-deep);
}

.cts-home #routeMapWrap {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  box-shadow: var(--vip-shadow);
}

.cts-home .map-info-bar {
  background: rgba(255, 250, 242, 0.96);
}

.cts-home .map-info-val {
  color: var(--vip-bronze-deep);
}

.cts-home .chat-trigger {
  width: 64px;
  height: 64px;
  background: linear-gradient(120deg, var(--vip-green), #111315);
  box-shadow: 0 18px 40px rgba(17, 19, 21, 0.28);
}

.cts-home .chat-trigger svg,
.cts-home .chat-close-icon {
  color: #fffaf2;
  fill: #fffaf2;
}

.cts-home .chat-panel {
  width: 360px;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255, 250, 242, 0.96);
  border: 1px solid rgba(29, 22, 17, 0.1);
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .chat-panel-head,
.cts-home .chat-input-row {
  border-color: rgba(29, 22, 17, 0.08);
}

.cts-home .chat-av {
  background: rgba(181, 125, 60, 0.1);
  border-color: rgba(181, 125, 60, 0.18);
}

.cts-home .chat-av-info h4,
.cts-home .chat-msg.bot {
  color: var(--vip-text);
}

.cts-home .chat-av-info span,
.cts-home .chat-msg.user,
.cts-home .chat-input::placeholder {
  color: rgba(23, 18, 15, 0.58);
}

.cts-home .chat-msg.bot {
  background: rgba(181, 125, 60, 0.08);
  border-radius: 18px 18px 18px 8px;
}

.cts-home .chat-msg.user {
  background: rgba(35, 58, 51, 0.08);
  border-radius: 18px 18px 8px 18px;
}

.cts-home .chat-input {
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(29, 22, 17, 0.1);
  color: var(--vip-text);
}

.cts-home .chat-quick-btn {
  background: rgba(17, 19, 21, 0.04);
  border-color: rgba(29, 22, 17, 0.1);
  color: rgba(23, 18, 15, 0.6);
}

.cts-home .chat-quick-btn:hover {
  background: rgba(181, 125, 60, 0.08);
  border-color: rgba(181, 125, 60, 0.24);
  color: var(--vip-text);
}

.cts-home .gold-line {
  display: none;
}

.cts-home footer {
  background: transparent;
}

.cts-home .footer-inner {
  width: min(1380px, calc(100% - 48px));
  margin: 34px auto 42px;
  padding: 30px 32px 20px;
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(17, 19, 21, 0.98), rgba(25, 28, 31, 0.96));
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .footer-logo,
.cts-home .footer-tagline,
.cts-home .footer-copy,
.cts-home .footer-link {
  color: rgba(255, 248, 238, 0.78);
}

.cts-home .footer-logo span {
  color: var(--vip-bronze-soft);
}

.cts-home .footer-whatsapp {
  min-width: 250px;
}

.cts-home .footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.cts-home .signature-journey {
  padding: 36px 0 0;
}

.cts-home .signature-shell {
  width: min(1380px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  gap: 24px;
}

.cts-home .signature-lead {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 24px;
  align-items: stretch;
}

.cts-home .signature-copy {
  padding: 34px 34px 30px;
  border-radius: 30px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.12), transparent 36%),
    linear-gradient(145deg, rgba(255, 252, 246, 0.94), rgba(245, 238, 228, 0.96));
  box-shadow: var(--vip-shadow);
}

.cts-home .signature-desc {
  max-width: 620px;
  margin: 18px 0 0;
  color: rgba(23, 18, 15, 0.68);
  line-height: 1.78;
  font-size: 14px;
}

.cts-home .signature-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.cts-home .signature-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(181, 125, 60, 0.16);
  background: rgba(255, 255, 255, 0.62);
  color: rgba(23, 18, 15, 0.72);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cts-home .signature-pill::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vip-bronze), var(--vip-bronze-soft));
  box-shadow: 0 0 0 6px rgba(181, 125, 60, 0.08);
}

.cts-home .signature-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.cts-home .signature-metric {
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 255, 255, 0.62);
}

.cts-home .signature-metric-num {
  display: block;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  color: var(--vip-text);
}

.cts-home .signature-metric-label {
  display: block;
  margin-top: 10px;
  color: rgba(23, 18, 15, 0.6);
  font-size: 11px;
  letter-spacing: 0.12em;
  line-height: 1.6;
  text-transform: uppercase;
}

.cts-home .signature-link {
  display: inline-flex;
  align-items: center;
  margin-top: 24px;
  color: var(--vip-bronze-deep);
  text-decoration: none;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  transition: letter-spacing 0.25s ease, color 0.25s ease;
}

.cts-home .signature-link:hover {
  color: var(--vip-text);
  letter-spacing: 0.34em;
}

.cts-home .signature-video-card {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background:
    linear-gradient(140deg, rgba(14, 16, 18, 0.98), rgba(21, 24, 27, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: var(--vip-shadow-deep);
}

.cts-home .signature-video-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.22), transparent 34%),
    radial-gradient(circle at bottom left, rgba(35, 58, 51, 0.2), transparent 30%);
  pointer-events: none;
}

.cts-home .signature-video-frame {
  position: relative;
  min-height: 430px;
  overflow: hidden;
}

.cts-home .signature-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.94) contrast(1.06) brightness(0.88);
  transform: scale(1.02);
  animation: ctsMediaFloat 14s ease-in-out infinite;
}

.cts-home .signature-video-caption {
  position: relative;
  z-index: 1;
  padding: 24px 26px 28px;
  color: rgba(255, 248, 238, 0.88);
}

.cts-home .signature-caption-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.58);
}

.cts-home .signature-caption-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: rgba(216, 176, 123, 0.56);
}

.cts-home .signature-video-caption strong {
  display: block;
  margin-top: 14px;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.12;
  color: #fff9f0;
}

.cts-home .signature-video-caption p {
  margin: 12px 0 0;
  max-width: 520px;
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 248, 238, 0.72);
}

.cts-home .signature-gallery {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.95fr 1.05fr;
  gap: 18px;
  align-items: stretch;
}

.cts-home .signature-shot {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  border-radius: 26px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  box-shadow: var(--vip-shadow);
  background: rgba(255, 255, 255, 0.54);
}

.cts-home .signature-shot.tall {
  grid-row: span 2;
  min-height: 478px;
}

.cts-home .signature-shot.wide {
  grid-column: span 2;
}

.cts-home .signature-shot::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 12, 14, 0.02), rgba(10, 12, 14, 0.78));
  pointer-events: none;
}

.cts-home .signature-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform 0.8s cubic-bezier(.22, 1, .36, 1), filter 0.8s ease;
  filter: saturate(0.92) contrast(1.04) brightness(0.94);
}

.cts-home .signature-shot:hover img {
  transform: scale(1.08);
  filter: saturate(1.02) contrast(1.08) brightness(1);
}

.cts-home .signature-shot figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 1;
  color: #fffaf2;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: 20px;
  line-height: 1.2;
  text-wrap: balance;
}

@keyframes ctsMediaFloat {
  0%, 100% { transform: scale(1.02) translate3d(0, 0, 0); }
  50% { transform: scale(1.06) translate3d(0, -8px, 0); }
}

.cts-user,
.cts-mgmt {
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.12), transparent 24%),
    radial-gradient(circle at top right, rgba(35, 58, 51, 0.12), transparent 24%),
    linear-gradient(180deg, #f8f3ea 0%, #ece4d7 100%) !important;
}

.cts-user #loginScreen,
.cts-mgmt #loginScreen {
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.18), transparent 30%),
    radial-gradient(circle at bottom right, rgba(35, 58, 51, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(250, 245, 236, 0.98), rgba(236, 228, 214, 0.98));
  padding: 32px;
  overflow: auto;
}

.cts-user .lcard,
.cts-mgmt .lcard {
  max-width: 560px;
  border-radius: 34px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 250, 242, 0.84);
  backdrop-filter: blur(16px);
  box-shadow: var(--vip-shadow);
}

.cts-user .login-shell,
.cts-mgmt .login-shell {
  width: min(1320px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 24px;
  align-items: stretch;
}

.cts-user .login-showcase,
.cts-mgmt .login-showcase {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  padding: 34px;
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(140deg, rgba(11, 12, 14, 0.98), rgba(15, 18, 21, 0.96));
  box-shadow: var(--vip-shadow-deep);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fffaf2;
}

.cts-user .login-showcase::before,
.cts-mgmt .login-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.4;
  transform: scale(1.04);
  filter: saturate(0.86) contrast(0.98) brightness(0.78);
}

.cts-user .login-showcase::after,
.cts-mgmt .login-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 9, 10, 0.5), rgba(7, 9, 10, 0.92)),
    linear-gradient(90deg, rgba(7, 9, 10, 0.52), rgba(7, 9, 10, 0.18) 44%, rgba(7, 9, 10, 0.76) 100%),
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.18), transparent 32%);
}

.cts-user .login-showcase--user::before {
  background-image: url("van-x7/interno-da-porta.jpeg");
}

.cts-mgmt .login-showcase--mgmt::before {
  background-image: url("sprinter-x9/da-fuori.jpeg");
}

.cts-user .login-showcase > *,
.cts-mgmt .login-showcase > * {
  position: relative;
  z-index: 1;
}

.cts-user .login-kicker,
.cts-mgmt .login-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.82);
}

.cts-user .login-kicker::before,
.cts-mgmt .login-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(216, 176, 123, 0.6);
}

.cts-user .login-showcase-title,
.cts-mgmt .login-showcase-title {
  margin: 18px 0 0;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 0.96;
  color: #fffaf2;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.34);
}

.cts-user .login-showcase-text,
.cts-mgmt .login-showcase-text {
  margin: 18px 0 0;
  max-width: 560px;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 248, 238, 0.86);
}

.cts-user .login-showcase-metrics,
.cts-mgmt .login-showcase-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.cts-user .login-showcase-metric,
.cts-mgmt .login-showcase-metric {
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 10, 12, 0.38);
  backdrop-filter: blur(10px);
}

.cts-user .login-showcase-metric strong,
.cts-mgmt .login-showcase-metric strong {
  display: block;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: 28px;
  line-height: 1;
  color: #fffaf2;
}

.cts-user .login-showcase-metric span,
.cts-mgmt .login-showcase-metric span {
  display: block;
  margin-top: 8px;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.6;
  color: rgba(255, 248, 238, 0.82);
}

.cts-user .login-showcase-card,
.cts-mgmt .login-showcase-card {
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 10, 12, 0.42);
  backdrop-filter: blur(12px);
}

.cts-user .login-showcase-label,
.cts-mgmt .login-showcase-label {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.76);
}

.cts-user .login-points,
.cts-mgmt .login-points {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.cts-user .login-points li,
.cts-mgmt .login-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 248, 238, 0.88);
  line-height: 1.5;
}

.cts-user .login-points li::before,
.cts-mgmt .login-points li::before {
  content: "✦";
  color: var(--vip-bronze-soft);
  font-size: 12px;
}

.cts-user .login-showcase-note,
.cts-mgmt .login-showcase-note {
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(255, 248, 238, 0.78);
}

.cts-user .login-showcase-footer,
.cts-mgmt .login-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.68);
}

.cts-user .login-shell .lcard,
.cts-mgmt .login-shell .lcard {
  align-self: center;
}

.cts-user .llogo,
.cts-mgmt .llogo {
  letter-spacing: 0.3em;
  color: var(--vip-text);
}

.cts-user .llogo s2,
.cts-mgmt .llogo s2 {
  color: var(--vip-bronze);
  opacity: 1;
}

.cts-user .ltag,
.cts-mgmt .ltag,
.cts-user .lsub,
.cts-mgmt .lsub,
.cts-user .pending-msg,
.cts-mgmt .pending-msg {
  color: rgba(23, 18, 15, 0.74);
}

.cts-user .ltitle,
.cts-mgmt .ltitle {
  color: var(--vip-text);
}

.cts-user .ltitle em,
.cts-mgmt .ltitle em {
  color: var(--vip-bronze);
}

.cts-user .lcfg,
.cts-mgmt .lcfg {
  border-top-color: rgba(29, 22, 17, 0.08);
}

.cts-user .ci,
.cts-user .role-sel,
.cts-user .fg input,
.cts-user .fg select,
.cts-user .fg textarea,
.cts-user .pref-field input,
.cts-user .pref-field textarea,
.cts-user .srch input,
.cts-user .chat-input,
.cts-user .log-search,
.cts-user .log-date,
.cts-mgmt .ci,
.cts-mgmt .role-sel,
.cts-mgmt .fg input,
.cts-mgmt .fg select,
.cts-mgmt .fg textarea,
.cts-mgmt .pref-field input,
.cts-mgmt .pref-field textarea,
.cts-mgmt .srch input,
.cts-mgmt .chat-input,
.cts-mgmt .log-search,
.cts-mgmt .log-date {
  border-radius: 16px;
  border-color: rgba(29, 22, 17, 0.1);
  background: rgba(255, 255, 255, 0.78);
  color: var(--vip-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.cts-user .ci:focus,
.cts-user .role-sel:focus,
.cts-user .fg input:focus,
.cts-user .fg select:focus,
.cts-user .fg textarea:focus,
.cts-user .pref-field input:focus,
.cts-user .pref-field textarea:focus,
.cts-user .srch input:focus,
.cts-user .chat-input:focus,
.cts-user .log-search:focus,
.cts-user .log-date:focus,
.cts-mgmt .ci:focus,
.cts-mgmt .role-sel:focus,
.cts-mgmt .fg input:focus,
.cts-mgmt .fg select:focus,
.cts-mgmt .fg textarea:focus,
.cts-mgmt .pref-field input:focus,
.cts-mgmt .pref-field textarea:focus,
.cts-mgmt .srch input:focus,
.cts-mgmt .chat-input:focus,
.cts-mgmt .log-search:focus,
.cts-mgmt .log-date:focus {
  border-color: rgba(181, 125, 60, 0.44);
}

.cts-user .topbar,
.cts-mgmt .topbar {
  width: min(1440px, calc(100% - 24px));
  height: auto;
  margin: 14px auto 0;
  padding: 16px 20px;
  border-radius: 26px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 250, 242, 0.8) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(18, 15, 12, 0.08);
}

.cts-user .tabs,
.cts-user .up-nav,
.cts-user .mgmt-tabs,
.cts-mgmt .tabs,
.cts-mgmt .up-nav,
.cts-mgmt .mgmt-tabs {
  width: min(1440px, calc(100% - 24px));
  margin: 12px auto 0;
  padding: 8px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  border-radius: 24px;
  background: rgba(255, 250, 242, 0.72);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(18, 15, 12, 0.06);
  gap: 6px;
}

.cts-user .up-nav,
.cts-mgmt .mgmt-tabs {
  position: sticky;
  top: 96px;
  z-index: 110;
}

.cts-user .tab,
.cts-user .up-tab,
.cts-user .mgmt-tab,
.cts-mgmt .tab,
.cts-mgmt .up-tab,
.cts-mgmt .mgmt-tab {
  border-radius: 999px;
  border-bottom: none;
  color: rgba(23, 18, 15, 0.56);
  padding: 12px 16px;
}

.cts-user .tab.active,
.cts-user .tab:hover,
.cts-user .up-tab.active,
.cts-user .up-tab:hover,
.cts-user .mgmt-tab.active,
.cts-user .mgmt-tab:hover,
.cts-mgmt .tab.active,
.cts-mgmt .tab:hover,
.cts-mgmt .up-tab.active,
.cts-mgmt .up-tab:hover,
.cts-mgmt .mgmt-tab.active,
.cts-mgmt .mgmt-tab:hover {
  color: #fffaf2;
  background: linear-gradient(120deg, var(--vip-green), #111315);
}

.cts-user .layout,
.cts-mgmt .layout {
  width: min(1440px, calc(100% - 24px));
  margin: 12px auto 0;
  gap: 14px;
  align-items: start;
}

.cts-user .sidebar,
.cts-mgmt .sidebar {
  top: 152px;
  height: calc(100vh - 172px);
  padding: 18px 0;
  border-radius: 26px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 250, 242, 0.82);
  box-shadow: 0 12px 30px rgba(18, 15, 12, 0.07);
}

.cts-user .main,
.cts-mgmt .main,
.cts-user .up-section,
.cts-mgmt .mgmt-section {
  padding: 20px 0 32px;
}

.cts-user .stats,
.cts-mgmt .stats {
  gap: 14px;
  background: transparent;
  border: none;
}

.cts-user .sc,
.cts-mgmt .sc,
.cts-user .pay-card,
.cts-user .pref-section,
.cts-user .member-empty,
.cts-mgmt .log-stat,
.cts-mgmt .log-toolbar,
.cts-user .vip-card,
.cts-user .tw,
.cts-user .modal,
.cts-user .chat-panel,
.cts-mgmt .tw,
.cts-mgmt .modal,
.cts-mgmt .chat-panel {
  border-radius: 24px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 250, 242, 0.82);
  box-shadow: var(--vip-shadow);
}

.cts-user .sc,
.cts-mgmt .sc {
  padding: 18px 18px 16px;
}

.cts-user .sn,
.cts-mgmt .sn,
.cts-user .pay-card-val,
.cts-mgmt .log-stat-n {
  color: var(--vip-bronze);
}

.cts-user .sl2,
.cts-user .pay-card-lbl,
.cts-user .user-hero-email,
.cts-user .pref-field label,
.cts-user .pref-section-title,
.cts-user .trk-label,
.cts-user .trk-name,
.cts-user .cb2 p,
.cts-user .mst,
.cts-user .dl,
.cts-user .syn,
.cts-user .uname,
.cts-user .tab-badge,
.cts-mgmt .sl2,
.cts-mgmt .pay-card-lbl,
.cts-mgmt .user-hero-email,
.cts-mgmt .pref-field label,
.cts-mgmt .pref-section-title,
.cts-mgmt .trk-label,
.cts-mgmt .trk-name,
.cts-mgmt .cb2 p,
.cts-mgmt .mst,
.cts-mgmt .dl,
.cts-mgmt .syn,
.cts-mgmt .uname,
.cts-mgmt .tab-badge,
.cts-mgmt .log-stat-l {
  color: rgba(23, 18, 15, 0.58);
}

.cts-user .tlogo,
.cts-user .ttl,
.cts-user .member-title,
.cts-user .user-hero-name,
.cts-user .mt,
.cts-user .vip-card-name,
.cts-mgmt .tlogo,
.cts-mgmt .ttl,
.cts-mgmt .member-title,
.cts-mgmt .user-hero-name,
.cts-mgmt .mt {
  color: var(--vip-text);
}

.cts-user .tlogo s2,
.cts-mgmt .tlogo s2 {
  color: var(--vip-bronze);
  opacity: 1;
}

.cts-user .bdg,
.cts-user .tab-badge,
.cts-user .fc,
.cts-mgmt .bdg,
.cts-mgmt .tab-badge,
.cts-mgmt .fc {
  background: rgba(181, 125, 60, 0.12);
  border-color: rgba(181, 125, 60, 0.2);
  color: var(--vip-bronze-deep);
  border-radius: 999px;
}

.cts-user .bico,
.cts-user .gbtn,
.cts-user .lbtn,
.cts-user .pref-save-btn,
.cts-user .newreq-btn,
.cts-user .bs,
.cts-user .chat-send,
.cts-mgmt .bico,
.cts-mgmt .gbtn,
.cts-mgmt .lbtn,
.cts-mgmt .pref-save-btn,
.cts-mgmt .newreq-btn,
.cts-mgmt .bs,
.cts-mgmt .chat-send {
  border-radius: 999px;
  background: linear-gradient(120deg, var(--vip-bronze), var(--vip-bronze-soft));
  color: #fffaf2;
}

.cts-user .cb,
.cts-user .bc,
.cts-user .bsm,
.cts-user .sf,
.cts-user .so,
.cts-user .ab,
.cts-user .pref-chip-btn,
.cts-user .log-page-btn,
.cts-mgmt .cb,
.cts-mgmt .bc,
.cts-mgmt .bsm,
.cts-mgmt .sf,
.cts-mgmt .so,
.cts-mgmt .ab,
.cts-mgmt .pref-chip-btn,
.cts-mgmt .log-page-btn {
  border-radius: 999px;
  border-color: rgba(29, 22, 17, 0.12);
  color: rgba(23, 18, 15, 0.62);
  background: rgba(255, 255, 255, 0.4);
}

.cts-user .cb:hover,
.cts-user .bc:hover,
.cts-user .bsm:hover,
.cts-user .sf:hover,
.cts-user .so:hover,
.cts-user .ab:hover,
.cts-user .pref-chip-btn:hover,
.cts-user .log-page-btn:hover:not(:disabled),
.cts-mgmt .cb:hover,
.cts-mgmt .bc:hover,
.cts-mgmt .bsm:hover,
.cts-mgmt .sf:hover,
.cts-mgmt .so:hover,
.cts-mgmt .ab:hover,
.cts-mgmt .pref-chip-btn:hover,
.cts-mgmt .log-page-btn:hover:not(:disabled) {
  border-color: rgba(181, 125, 60, 0.24);
  color: var(--vip-text);
  background: rgba(181, 125, 60, 0.08);
}

.cts-user .sf.active,
.cts-mgmt .sf.active,
.cts-user .sb.active,
.cts-mgmt .sb.active {
  color: #fffaf2;
  background: linear-gradient(120deg, var(--vip-green), #111315);
  border-color: transparent;
}

.cts-user .sb,
.cts-mgmt .sb {
  border-radius: 16px;
  margin: 0 10px 8px;
  padding: 11px 14px;
  color: rgba(23, 18, 15, 0.7);
}

.cts-user .sb:hover,
.cts-mgmt .sb:hover {
  background: rgba(181, 125, 60, 0.08);
}

.cts-user .sb.active,
.cts-mgmt .sb.active {
  border-left: none;
}

.cts-user .sl,
.cts-mgmt .sl,
.cts-user .tsub,
.cts-mgmt .tsub {
  color: rgba(23, 18, 15, 0.52);
  border-left-color: rgba(29, 22, 17, 0.08);
}

.cts-user .tw,
.cts-mgmt .tw {
  overflow: hidden;
}

.cts-user table,
.cts-mgmt table {
  background: transparent;
}

.cts-user thead th,
.cts-mgmt thead th,
.cts-user .pay-table th,
.cts-mgmt .pay-table th,
.cts-mgmt .log-table th {
  background: rgba(181, 125, 60, 0.06);
  color: var(--vip-bronze-deep);
  border-bottom-color: rgba(29, 22, 17, 0.08);
}

.cts-user tbody tr,
.cts-mgmt tbody tr,
.cts-user .pay-table tr,
.cts-mgmt .pay-table tr,
.cts-mgmt .log-table tr {
  border-bottom-color: rgba(29, 22, 17, 0.06);
}

.cts-user tbody tr:hover,
.cts-mgmt tbody tr:hover {
  background: rgba(181, 125, 60, 0.05);
}

.cts-user tbody td,
.cts-user .pay-table td,
.cts-mgmt tbody td,
.cts-mgmt .pay-table td,
.cts-mgmt .log-table td {
  color: rgba(23, 18, 15, 0.78);
}

.cts-user .tn,
.cts-mgmt .tn,
.cts-user .dv,
.cts-mgmt .dv,
.cts-user .dv.lg,
.cts-mgmt .dv.lg,
.cts-user .chat-ph-title,
.cts-mgmt .chat-ph-title {
  color: var(--vip-text);
}

.cts-user .s-conf,
.cts-user .pay-status.paid,
.cts-mgmt .s-conf,
.cts-mgmt .pay-status.paid,
.cts-mgmt .log-type.edit,
.cts-mgmt .log-type.payment {
  background: rgba(35, 58, 51, 0.1);
  color: var(--vip-green);
  border-color: rgba(35, 58, 51, 0.16);
}

.cts-user .s-new,
.cts-user .pay-status.pend,
.cts-mgmt .s-new,
.cts-mgmt .pay-status.pend,
.cts-mgmt .log-type.access,
.cts-mgmt .log-type.export,
.cts-mgmt .log-type.site {
  background: rgba(181, 125, 60, 0.1);
  color: var(--vip-bronze-deep);
  border-color: rgba(181, 125, 60, 0.18);
}

.cts-user .s-done,
.cts-user .pay-status.none,
.cts-mgmt .s-done,
.cts-mgmt .pay-status.none {
  background: rgba(17, 19, 21, 0.06);
  color: rgba(23, 18, 15, 0.6);
  border-color: rgba(29, 22, 17, 0.08);
}

.cts-user .s-cancel,
.cts-mgmt .s-cancel,
.cts-mgmt .log-type.delete {
  background: rgba(171, 93, 85, 0.1);
  color: #9b564f;
  border-color: rgba(171, 93, 85, 0.18);
}

.cts-user .member-header,
.cts-user .user-hero,
.cts-mgmt .member-header,
.cts-mgmt .user-hero {
  width: min(1440px, calc(100% - 24px));
  margin: 0 auto;
}

.cts-user .user-hero,
.cts-mgmt .user-hero {
  padding: 28px 12px 6px;
}

.cts-user .user-hero-av,
.cts-mgmt .user-hero-av,
.cts-user .user-hero-av-ph,
.cts-mgmt .user-hero-av-ph {
  width: 68px;
  height: 68px;
  border-radius: 22px;
}

.cts-user .user-hero-av,
.cts-mgmt .user-hero-av {
  border: 1px solid rgba(181, 125, 60, 0.2);
  box-shadow: 0 14px 30px rgba(18, 15, 12, 0.12);
}

.cts-user .user-hero-av-ph,
.cts-mgmt .user-hero-av-ph {
  background: rgba(181, 125, 60, 0.08);
  border: 1px solid rgba(181, 125, 60, 0.16);
}

.cts-user .vip-card-wrap,
.cts-mgmt .vip-card-wrap {
  width: min(1440px, calc(100% - 24px));
  margin: 14px auto 0;
}

.cts-user .vip-card,
.cts-mgmt .vip-card {
  background:
    radial-gradient(circle at top right, rgba(181, 125, 60, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(17, 19, 21, 0.98), rgba(24, 27, 31, 0.96));
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #fff9f0;
  box-shadow: var(--vip-shadow-deep);
}

.cts-user .vip-card-tier,
.cts-user .vip-card-since,
.cts-mgmt .vip-card-tier,
.cts-mgmt .vip-card-since {
  color: rgba(255, 248, 238, 0.6);
}

.cts-user .vip-card-name,
.cts-user .vip-card-badge,
.cts-mgmt .vip-card-name,
.cts-mgmt .vip-card-badge {
  color: #fff9f0;
}

.cts-user .vip-card-dots span,
.cts-mgmt .vip-card-dots span {
  background: var(--vip-bronze-soft);
}

.cts-user .vip-perk,
.cts-mgmt .vip-perk {
  border-radius: 999px;
  border-color: rgba(216, 176, 123, 0.16);
  color: rgba(255, 248, 238, 0.7);
  background: rgba(255, 255, 255, 0.04);
}

.cts-mgmt .mgmt-command-deck {
  position: relative;
  overflow: hidden;
  width: min(1440px, calc(100% - 24px));
  margin: 18px auto 0;
  padding: 30px;
  border-radius: 32px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background:
    linear-gradient(140deg, rgba(17, 19, 21, 0.98), rgba(24, 27, 31, 0.94));
  box-shadow: var(--vip-shadow-deep);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 24px;
  color: #fff9f0;
}

.cts-mgmt .mgmt-command-deck::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 12, 14, 0.05) 0%, rgba(10, 12, 14, 0.34) 50%, rgba(10, 12, 14, 0.74) 100%),
    url("il-bmw/da-fuori.jpeg") center right / cover no-repeat;
  opacity: 0.42;
}

.cts-mgmt .mgmt-command-copy,
.cts-mgmt .mgmt-command-grid {
  position: relative;
  z-index: 1;
}

.cts-mgmt .mgmt-command-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.54);
}

.cts-mgmt .mgmt-command-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(216, 176, 123, 0.6);
}

.cts-mgmt .mgmt-command-title {
  margin: 18px 0 0;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 0.98;
  color: #fff9f0;
}

.cts-mgmt .mgmt-command-title em {
  color: var(--vip-bronze-soft);
  font-style: italic;
}

.cts-mgmt .mgmt-command-text {
  margin: 18px 0 0;
  max-width: 620px;
  color: rgba(255, 248, 238, 0.72);
  font-size: 14px;
  line-height: 1.8;
}

.cts-mgmt .mgmt-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.cts-mgmt .mgmt-command-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  color: #fff9f0;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.cts-mgmt .mgmt-command-action:hover {
  transform: translateY(-2px);
  border-color: rgba(216, 176, 123, 0.4);
  background: rgba(181, 125, 60, 0.12);
}

.cts-mgmt .mgmt-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-content: start;
}

.cts-mgmt .mgmt-command-stat {
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
}

.cts-mgmt .mgmt-command-stat.wide {
  grid-column: span 2;
}

.cts-mgmt .mgmt-command-stat-label {
  display: block;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.52);
}

.cts-mgmt .mgmt-command-stat-value {
  display: block;
  margin-top: 10px;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1;
  color: #fff9f0;
}

.cts-mgmt .mgmt-command-route {
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.14;
  text-wrap: balance;
}

.cts-mgmt .mgmt-command-stat-sub {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(255, 248, 238, 0.66);
}

.cts-user .member-lounge-wrap {
  width: min(1440px, calc(100% - 24px));
  margin: 18px auto 0;
}

.cts-user .member-lounge {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: 24px;
  padding: 28px;
  border-radius: 32px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background:
    radial-gradient(circle at top left, rgba(181, 125, 60, 0.12), transparent 30%),
    linear-gradient(145deg, rgba(255, 251, 245, 0.96), rgba(246, 239, 228, 0.94));
  box-shadow: var(--vip-shadow);
}

.cts-user .member-lounge-media {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  padding: 24px;
  border-radius: 26px;
  background: rgba(16, 18, 20, 0.94);
  color: #fff9f0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cts-user .member-lounge-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 12, 14, 0.2), rgba(10, 12, 14, 0.86)),
    url("van-x7/interno-davanti.jpeg") center / cover no-repeat;
  transform: scale(1.04);
  opacity: 0.96;
}

.cts-user .member-lounge-media > * {
  position: relative;
  z-index: 1;
}

.cts-user .member-lounge-kicker {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.56);
}

.cts-user .member-lounge-route {
  margin-top: 18px;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 0.98;
  color: #fff9f0;
}

.cts-user .member-lounge-meta {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 248, 238, 0.72);
}

.cts-user .member-lounge-pill {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 248, 238, 0.64);
}

.cts-user .member-lounge-content {
  display: grid;
  gap: 18px;
  align-content: start;
}

.cts-user .member-lounge-heading {
  margin: 0;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  color: var(--vip-text);
}

.cts-user .member-lounge-heading em {
  color: var(--vip-bronze);
  font-style: italic;
}

.cts-user .member-lounge-summary {
  margin: 0;
  max-width: 640px;
  color: rgba(23, 18, 15, 0.66);
  line-height: 1.8;
  font-size: 14px;
}

.cts-user .member-lounge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.cts-user .member-lounge-stat {
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(29, 22, 17, 0.08);
  background: rgba(255, 255, 255, 0.72);
}

.cts-user .member-lounge-stat-label {
  display: block;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(23, 18, 15, 0.54);
}

.cts-user .member-lounge-stat-value {
  display: block;
  margin-top: 10px;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1;
  color: var(--vip-text);
}

.cts-user .member-lounge-stat-sub {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(23, 18, 15, 0.62);
}

.cts-user .member-lounge-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cts-user .member-lounge-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(181, 125, 60, 0.16);
  background: rgba(255, 255, 255, 0.66);
  color: rgba(23, 18, 15, 0.68);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cts-user .member-lounge-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--vip-bronze);
}

.cts-user .member-lounge-support {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 22px;
  border-radius: 24px;
  background:
    linear-gradient(140deg, rgba(17, 19, 21, 0.96), rgba(24, 27, 31, 0.94));
  color: #fff9f0;
  box-shadow: var(--vip-shadow-deep);
}

.cts-user .member-lounge-support strong {
  display: block;
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: 24px;
  line-height: 1;
}

.cts-user .member-lounge-support span {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(255, 248, 238, 0.68);
}

.cts-user .member-lounge-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(216, 176, 123, 0.2);
  background: rgba(216, 176, 123, 0.12);
  color: #fff9f0;
  text-decoration: none;
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.cts-user .member-lounge-button:hover {
  transform: translateY(-2px);
  background: rgba(216, 176, 123, 0.18);
  border-color: rgba(216, 176, 123, 0.36);
}

.cts-user #countdownBanner,
.cts-mgmt #countdownBanner {
  width: min(1440px, calc(100% - 24px));
  margin: 12px auto 0 !important;
  border-radius: 24px;
  border: 1px solid rgba(29, 22, 17, 0.08) !important;
  background: rgba(255, 250, 242, 0.82) !important;
  box-shadow: var(--vip-shadow);
}

.cts-user .pref-section,
.cts-mgmt .pref-section {
  padding: 26px;
}

.cts-user .pref-section-title,
.cts-mgmt .pref-section-title {
  padding-bottom: 12px;
  border-bottom-color: rgba(29, 22, 17, 0.08);
  color: var(--vip-bronze-deep);
}

.cts-user .modal,
.cts-mgmt .modal,
.cts-user .chat-panel,
.cts-mgmt .chat-panel {
  backdrop-filter: blur(16px);
}

.cts-user .ov,
.cts-mgmt .ov,
.cts-user .chat-ov,
.cts-mgmt .chat-ov {
  background: rgba(20, 18, 16, 0.4);
  backdrop-filter: blur(12px);
}

.cts-user .mh,
.cts-user .mf,
.cts-user .chat-ph,
.cts-user .chat-input-area,
.cts-mgmt .mh,
.cts-mgmt .mf,
.cts-mgmt .chat-ph,
.cts-mgmt .chat-input-area {
  border-color: rgba(29, 22, 17, 0.08);
}

.cts-user .mx,
.cts-mgmt .mx {
  border-radius: 999px;
  border-color: rgba(29, 22, 17, 0.1);
  color: rgba(23, 18, 15, 0.54);
  background: rgba(255, 255, 255, 0.48);
}

.cts-user .mx:hover,
.cts-mgmt .mx:hover {
  color: var(--vip-text);
  border-color: rgba(181, 125, 60, 0.2);
}

.cts-user .chat-panel,
.cts-mgmt .chat-panel {
  background: rgba(255, 250, 242, 0.96);
}

.cts-user .cm-wrap.me .cm-bubble,
.cts-mgmt .cm-wrap.me .cm-bubble {
  background: rgba(181, 125, 60, 0.1);
  border: 1px solid rgba(181, 125, 60, 0.16);
  color: var(--vip-text);
}

.cts-user .cm-wrap.them .cm-bubble,
.cts-mgmt .cm-wrap.them .cm-bubble {
  background: rgba(17, 19, 21, 0.05);
  border: 1px solid rgba(29, 22, 17, 0.08);
  color: rgba(23, 18, 15, 0.76);
}

.cts-mgmt .chat-conv-item {
  border-radius: 18px;
  background: rgba(255, 250, 242, 0.78);
  border-color: rgba(29, 22, 17, 0.08);
}

.cts-mgmt .chat-conv-item.unread {
  border-left-color: var(--vip-bronze);
}

.cts-mgmt .log-toolbar {
  padding: 16px;
}

.cts-mgmt .log-stat {
  min-width: 92px;
}

.cts-mgmt .log-detail,
.cts-mgmt .log-user-role {
  color: rgba(23, 18, 15, 0.58);
}

.cts-mgmt .log-user-role.admin {
  color: var(--vip-bronze-deep);
  border-color: rgba(181, 125, 60, 0.18);
}

.cts-mgmt .log-user-role.operator {
  color: var(--vip-green);
  border-color: rgba(35, 58, 51, 0.16);
}

.cts-user .toast,
.cts-mgmt .toast {
  border-radius: 18px;
  border-left-width: 0;
  border-top: 3px solid var(--vip-bronze);
  background: rgba(17, 19, 21, 0.92);
  color: #fffaf2;
  box-shadow: var(--vip-shadow-deep);
}

.cts-user .toast.er,
.cts-mgmt .toast.er {
  border-top-color: #ab5d55;
}

.cts-user .toast.info,
.cts-mgmt .toast.info {
  border-top-color: var(--vip-green-soft);
}

@media (max-width: 1200px) {
  .cts-home .signature-lead,
  .cts-mgmt .mgmt-command-deck,
  .cts-user .member-lounge,
  .cts-user .login-shell,
  .cts-mgmt .login-shell {
    grid-template-columns: 1fr;
  }

  .cts-home .signature-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cts-home .signature-shot.tall,
  .cts-home .signature-shot.wide {
    grid-column: auto;
    grid-row: auto;
    min-height: 280px;
  }
}

@media (max-width: 1200px) {
  .cts-home .hero-content {
    padding: 0 48px;
    grid-template-columns: 1fr;
  }

  .cts-home .hero-left {
    max-width: 760px;
  }

  .cts-home .hero-right {
    max-width: 760px;
  }

  .cts-home .hero::before,
  .cts-home .hero-bg,
  .cts-home .hero-grid {
    inset: 46px 24px 24px;
  }

  .cts-home .hero-line-left {
    left: 36px;
  }

  .cts-home .bizVip-left {
    grid-template-columns: 1fr;
  }

  .cts-home .contact-grid,
  .cts-home .policy-grid,
  .cts-home .bizVip-grid {
    grid-template-columns: 1fr;
  }

  .cts-home .fleet-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px) {
  .cts-home .signature-shell,
  .cts-user .login-shell,
  .cts-mgmt .login-shell {
    width: calc(100% - 8px);
  }

  .cts-home .signature-shell {
    gap: 18px;
  }

  .cts-home .signature-copy,
  .cts-home .signature-video-caption,
  .cts-user .member-lounge,
  .cts-mgmt .mgmt-command-deck,
  .cts-user .login-showcase,
  .cts-mgmt .login-showcase {
    padding: 22px;
  }

  .cts-home .signature-metrics,
  .cts-user .login-showcase-metrics,
  .cts-user .member-lounge-grid,
  .cts-mgmt .mgmt-command-grid {
    grid-template-columns: 1fr;
  }

  .cts-home .signature-gallery {
    grid-template-columns: 1fr;
  }

  .cts-home .signature-shot,
  .cts-home .signature-shot.tall,
  .cts-home .signature-shot.wide {
    min-height: 240px;
  }

  .cts-home .signature-video-frame,
  .cts-user .login-showcase,
  .cts-mgmt .login-showcase,
  .cts-user .member-lounge-media {
    min-height: 280px;
  }

  .cts-user .login-showcase-footer,
  .cts-mgmt .login-showcase-footer,
  .cts-user .member-lounge-support {
    flex-direction: column;
    align-items: flex-start;
  }

  .cts-mgmt .mgmt-command-stat.wide {
    grid-column: auto;
  }

  .cts-home nav,
  .cts-user .topbar,
  .cts-user .tabs,
  .cts-user .up-nav,
  .cts-mgmt .topbar,
  .cts-mgmt .tabs,
  .cts-mgmt .mgmt-tabs,
  .cts-user .layout,
  .cts-mgmt .layout,
  .cts-user .vip-card-wrap,
  .cts-user #countdownBanner,
  .cts-user .member-header,
  .cts-user .user-hero,
  .cts-mgmt .vip-card-wrap,
  .cts-mgmt #countdownBanner,
  .cts-mgmt .member-header,
  .cts-mgmt .user-hero {
    width: calc(100% - 16px);
  }

  .cts-home nav {
    top: 10px;
    padding: 14px 16px 14px 18px;
    border-radius: 28px;
    align-items: flex-start;
    gap: 14px;
  }

  .cts-home .nav-links {
    display: none;
  }

  .cts-home .nav-right {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
  }

  .cts-home .hero {
    padding-top: 126px;
  }

  .cts-home .hero::before,
  .cts-home .hero-bg,
  .cts-home .hero-grid {
    inset: 18px 8px 12px;
    border-radius: 30px;
  }

  .cts-home .hero-content,
  .cts-home .section-inner {
    padding: 0 18px;
  }

  .cts-home .hero-left {
    padding: 32px 22px 28px;
    border-radius: 28px;
  }

  .cts-home .hero-title {
    font-size: clamp(46px, 16vw, 72px);
  }

  .cts-home .stats-bar {
    width: calc(100% - 16px);
    margin-top: -28px;
    border-radius: 24px;
  }

  .cts-home .stats-inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .cts-home .services-grid,
  .cts-home .services-grid-2,
  .cts-home .fleet-grid,
  .cts-home .whyus-grid {
    grid-template-columns: 1fr;
  }

  .cts-home .fleet-s-card {
    grid-template-columns: 1fr;
  }

  .cts-home .fleet-s-visual {
    min-height: 280px;
  }

  .cts-home .chat-panel {
    right: 12px;
    width: calc(100vw - 24px);
  }

  .cts-home .chat-trigger {
    right: 16px;
    bottom: 20px;
  }

  .cts-user .topbar,
  .cts-mgmt .topbar {
    padding: 14px;
  }

  .cts-user .topbar,
  .cts-mgmt .topbar,
  .cts-user .tabs,
  .cts-user .up-nav,
  .cts-mgmt .tabs,
  .cts-mgmt .mgmt-tabs {
    border-radius: 20px;
  }

  .cts-user .layout,
  .cts-mgmt .layout {
    grid-template-columns: 1fr;
  }

  .cts-user .sidebar,
  .cts-mgmt .sidebar {
    display: none;
  }

  .cts-user .stats,
  .cts-mgmt .stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .cts-user .user-hero,
  .cts-mgmt .user-hero {
    padding: 20px 8px 0;
  }

  .cts-user .vip-card,
  .cts-mgmt .vip-card {
    padding: 24px;
  }
}

@media (max-width: 560px) {
  .cts-home .nav-right {
    flex-wrap: wrap;
  }

  .cts-home .nav-cta,
  .cts-home .nav-myarea {
    flex: 1 1 calc(50% - 5px);
    justify-content: center;
  }

  .cts-home .lang-switcher {
    width: 100%;
    justify-content: center;
  }

  .cts-home .stats-inner,
  .cts-user .stats,
  .cts-mgmt .stats {
    grid-template-columns: 1fr;
  }

  .cts-home .brand-item {
    padding-inline: 16px;
  }

  .cts-home .cta-banner,
  .cts-home .contact-form,
  .cts-home .tp-widget-inner {
    border-radius: 24px;
  }

  .cts-user .up-nav,
  .cts-mgmt .mgmt-tabs {
    overflow-x: auto;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .reveal,
  .cts-home .signature-video,
  .cts-home .signature-shot img,
  .cts-user .vip-card::before,
  .cts-home .brand-track,
  .cts-home .hero-eyebrow,
  .cts-home .hero-title,
  .cts-home .hero-sub {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
