:root {
  --color-bg: #0b0b0d;
  --color-surface: #141416;
  --color-surface-2: #1c1c1f;
  --color-border: #3a3b40;
  --color-text: #f3f4f6;
  --color-text-muted: #b8bcc4;
  --color-text-faint: #7a7f89;
  --color-primary: #c8ccd3;
  --color-primary-hover: #d7dbe1;
  --color-primary-active: #aeb4bd;
  --color-accent: #e1ad01;
  --background-color: linear-gradient(180deg, var(--btn-silver-edge-t), var(--btn-silver-edge-b));
  --text-xs: clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm: clamp(.875rem,.8rem + .35vw,1rem);
  --text-base: clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg: clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl: clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl: clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
  --space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --space-12:48px;--space-14:56px;--space-16:64px;
  --radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;
  --shadow-1:0 1px 4px 0 rgba(0,0,0,.5);
  --shadow-2:0 4px 20px 0 rgba(0,0,0,.6);
  --shadow-3:0 8px 40px 0 rgba(0,0,0,.7);
  --font-display:'Satoshi','Inter',sans-serif;
  --font-body:'General Sans','Inter',sans-serif;
  --transition:180ms cubic-bezier(.16,1,.3,1);

  /* ── Silver Button Tokens ── */
  --btn-silver-from:    #e8eaed;
  --btn-silver-mid:     #c8cdd5;
  --btn-silver-to:      #a8adb8;
  --btn-silver-shine:   rgba(255,255,255,0.55);
  --btn-silver-edge-t:  rgba(255,255,255,0.7);
  --btn-silver-edge-b:  rgba(80,85,100,0.45);
  --btn-silver-shadow:  0 1px 2px rgba(0,0,0,.55), 0 4px 16px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.65);
  --btn-silver-shadow-hover: 0 2px 4px rgba(0,0,0,.6), 0 8px 28px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.7);
  --btn-silver-shadow-active: 0 1px 1px rgba(0,0,0,.6), inset 0 2px 4px rgba(0,0,0,.25);
  --btn-silver-text: #1a1c22;
  --btn-silver-text-muted: #3a3e4a;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm);}
img,picture,video,canvas,svg{display:block;max-width:100%;}
h1,h2,h3,h4{text-wrap:balance;line-height:1.12;}
p,li{text-wrap:pretty;}

/* HEADER */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,11,13,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--color-border);
  padding:0 var(--space-6);
  height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
}
.logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text);flex-shrink:0;}
.logo img{height:32px;width:auto;}
.header-right{display:flex;align-items:center;gap:var(--space-3);}

/* LANG SWITCHER */
.lang-switcher{display:flex;align-items:center;gap:var(--space-1);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1);}
.lang-btn{
  background:none;border:none;
  padding:5px 10px;
  border-radius:var(--radius-full);
  font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;
  color:var(--color-text-faint);cursor:pointer;
  transition:background var(--transition),color var(--transition);
  min-height:32px;
}
.lang-btn.active{background:var(--color-accent);color:#0b0b0d;}
.lang-btn:hover:not(.active){color:var(--color-text);background:rgba(255,255,255,.06);}

.btn-call{
  display:flex;align-items:center;gap:var(--space-2);
  background:var(--color-surface-2);
  border:1px solid var(--color-border);
  color:var(--color-text);
  border-radius:var(--radius-full);
  padding:var(--space-2) var(--space-5);
  font-size:var(--text-sm);font-weight:600;
  cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition);
  min-height:44px;white-space:nowrap;
}
.btn-call:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent);}
.btn-call svg{width:16px;height:16px;flex-shrink:0;}

/* HERO */
.hero-wrap{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start;
  padding:var(--space-16) var(--space-6) var(--space-14);
}
@media(max-width:860px){.hero-wrap{grid-template-columns:1fr;padding:var(--space-10) var(--space-6);}}
h1{font-family:var(--font-display);font-weight:900;font-size:var(--text-2xl);letter-spacing:-.03em;color:var(--color-text);margin-bottom:var(--space-4);}
h1 span{color:var(--color-primary);}
.hero-sub{font-size:var(--text-base);color:var(--color-text-muted);max-width:480px;}

/* FORM CARD */
.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-3);}
.form-card h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--space-6);}
.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);position:relative;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
@media(max-width:500px){.field-row{grid-template-columns:1fr;}}
.field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);}
input,textarea{
  width:100%;background:var(--color-surface-2);border:1px solid var(--color-border);
  border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);
  padding:12px 14px 12px 40px;
  transition:border-color var(--transition),box-shadow var(--transition);min-height:44px;
}
input.no-icon,textarea.no-icon{padding-left:14px;}
input.has-loc-btn{padding-right:42px;}
input:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(225,173,1,.15);}
input.error,textarea.error{border-color:#e05050;}
.input-wrap{position:relative;}
.input-wrap>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-faint);pointer-events:none;}
.error-msg{font-size:var(--text-xs);color:#e05050;min-height:16px;display:none;}
.error-msg.visible{display:block;}
textarea{resize:vertical;min-height:80px;}

/* CURRENT LOCATION BUTTON */
.btn-location{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;
  color:var(--color-text-faint);padding:4px;
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  transition:color var(--transition),opacity var(--transition);
  min-height:0;width:28px;height:28px;
}
.btn-location:hover{color:var(--color-accent);}
.btn-location svg{width:16px;height:16px;flex-shrink:0;}
.btn-location.loading{opacity:.5;pointer-events:none;}
.btn-location.loading svg{animation:loc-spin .8s linear infinite;}
@keyframes loc-spin{to{transform:rotate(360deg);}}


/* AUTOCOMPLETE */
.autocomplete-list{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;
  background:var(--color-surface-2);border:1px solid var(--color-border);
  border-radius:var(--radius-md);box-shadow:var(--shadow-2);
  max-height:220px;overflow-y:auto;display:none;
}
.autocomplete-list.open{display:block;}
.autocomplete-item{padding:10px 14px;cursor:pointer;font-size:var(--text-sm);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);}
.autocomplete-item:last-child{border-bottom:none;}
.autocomplete-item:hover,.autocomplete-item.focused{background:var(--color-surface);color:var(--color-text);}

/* BOOK BUTTON */
.btn-book{
  width:100%;padding:14px;
  background:var(--color-accent);color:#0b0b0d;font-weight:700;
  font-size:var(--text-base);font-family:var(--font-display);
  border:none;border-radius:var(--radius-full);cursor:pointer;
  transition:background var(--transition),transform var(--transition);
  min-height:52px;letter-spacing:-.01em;
  display:flex;align-items:center;justify-content:center;gap:var(--space-2);
}
.btn-book:hover{background:#f0bb12;}
.btn-book:active{background:#c99900;transform:scale(.99);}
.btn-book svg{width:18px;height:18px;}

/* SUCCESS */
.success-msg{display:none;text-align:center;padding:var(--space-10) var(--space-6);}
.success-msg.visible{display:block;}
.success-icon{font-size:2.5rem;margin-bottom:var(--space-4);}
.success-msg h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2);}
.success-msg p{color:var(--color-text-muted);}

/* TRUST BAR */
.trust-bar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-5) var(--space-6);}
.trust-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-8);justify-content:center;}
.trust-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);}
.trust-item .check{color:var(--color-accent);font-size:1rem;}

/* SECTIONS */
.section{max-width:1100px;margin:0 auto;padding:var(--space-16) var(--space-6);}
.section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3);}
.section-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em;margin-bottom:var(--space-8);}

/* DRIVER CARD */
.driver-card{display:flex;gap:var(--space-8);align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-2);max-width:640px;}
@media(max-width:600px){.driver-card{flex-direction:column;}}
.driver-photo{width:96px;height:96px;border-radius:var(--radius-full);background:var(--color-surface-2);border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:flex-start;justify-content:flex-start;overflow:hidden;}
.driver-photo img{max-width:none;color:var(--color-text-faint);}
.driver-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--space-1);}
.driver-vehicle{font-size:var(--text-sm);color:var(--color-primary);font-weight:600;margin-bottom:var(--space-3);}
.driver-bio{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5);}
.btn-whatsapp{display:inline-flex;align-items:center;gap:var(--space-2);background:#25d366;color:#fff;border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition);min-height:44px;}
.btn-whatsapp:hover{background:#1ebe5a;}
.btn-whatsapp svg{width:18px;height:18px;}

/* AREA */
.area-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.area-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;transition:border-color var(--transition),color var(--transition);}
.area-chip:hover{border-color:var(--color-primary);color:var(--color-text);}
.area-chip.primary{border-color:var(--color-accent);color:var(--color-accent);font-weight:600;}

/* TIMELINE */
.timeline{display:flex;flex-direction:column;max-width:560px;}
.timeline-step{display:flex;gap:var(--space-6);align-items:flex-start;position:relative;padding-bottom:var(--space-8);}
.timeline-step:last-child{padding-bottom:0;}
.timeline-step:not(:last-child)::before{content:'';position:absolute;left:23px;top:52px;bottom:0;width:2px;background:var(--color-border);}
.step-num{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-surface-2);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:var(--text-base);color:var(--color-accent);flex-shrink:0;z-index:1;}
.step-content{padding-top:var(--space-2);}
.step-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-base);margin-bottom:var(--space-1);}
.step-desc{font-size:var(--text-sm);color:var(--color-text-muted);}

/* FOOTER */
footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-10) var(--space-6);}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-12);align-items:center;justify-content:space-between;}
.footer-logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:700;font-size:var(--text-base);}
.footer-logo img{height:28px;width:auto;}
.footer-contacts{display:flex;flex-direction:column;gap:var(--space-2);}
.footer-contact{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);}
.footer-contact svg{width:15px;height:15px;color:var(--color-accent);}
.footer-legal{font-size:var(--text-xs);color:var(--color-text-faint);}
.footer-copy{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-6);text-align:center;max-width:1100px;margin-left:auto;margin-right:auto;padding:0 var(--space-6) var(--space-6);}
