/*
Theme Name: TransferEva Premium
Version: 2.9.0 (Booking Form Restore)
*/

:root{
  --max:1200px;
  --navy:#1d2a44;
  --navy-2:#223052;
  --text:#0f1115;
  --muted:#6b7380;
  --white:#ffffff;
  --te-brand-navy:#0f1f3a;
  --te-swiss-red:#d8262f;
  --te-ok:#0a7a4b;
  --te-warn:#b45309;
  --te-placeholder: rgba(10,10,20,.55);
  --te-footer-bg: #0f1f3a;
  --te-footer-text: #cbd5e1;
  --te-wa-green: #25D366;
  
  /* Glass Vars for Pages Only */
  --glass-bg: rgba(255, 255, 255, 0.90); 
  --glass-border: rgba(255, 255, 255, 0.80);
  --glass-blur: blur(25px);
  --glass-shadow: 0 15px 40px rgba(0,0,0,0.08);

  --bg-hero:url('https://transfereva.ch/wp-content/uploads/2025/11/NEWHERO-scaled.webp');
  --edge:clamp(12px,4vw,24px);
  --header-gap:clamp(14px, 2.2vh, 28px);
}

/* Base Reset */
*{box-sizing:border-box}
html,body{height:100%}
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,Helvetica,sans-serif; color:var(--text); background:#fff; overflow-x:hidden; }

/* UTILS */
.te-main-pad { padding-top: clamp(120px, 15vh, 160px); padding-bottom: 80px; min-height: 60vh; }

/* ===================== HEADER (Approved) ===================== */
#te-h {
  background: var(--te-brand-navy) !important; 
  border-bottom: 4px solid var(--te-swiss-red) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important;
  padding-block: 10px;
  z-index: 99999 !important; position: fixed; top: 0; left: 0; width: 100%;
}
.te-header-inner {
  width:100%; max-width:var(--max); margin:0 auto;
  padding-left:max(var(--edge),env(safe-area-inset-left)); padding-right:max(var(--edge),env(safe-area-inset-right));
  display: flex; align-items: center; justify-content: space-between; min-height: 56px; height: 100%;
}
#te-h .te-logo { display:flex; align-items:center; gap:14px; text-decoration:none; height: 100%; transition: transform 0.3s; }
#te-h .te-logo:hover { transform: scale(1.03); }
#te-h .logo-text { 
    line-height:1; font-weight: 300; letter-spacing: 1.2px; color:#ffffff; font-size: 1.4rem; 
}
#te-h .logo-img img { 
    display:block; height: 42px !important; width:auto; margin-top: -3px; filter: drop-shadow(0 0 5px rgba(255,255,255,0.3)); 
}
#te-h .te-nav { display: flex; align-items: center; height: 100%; gap: 4px; }
#te-h .te-nav a {
  font-size: 1em; display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none !important; padding: 8px 16px; border-radius: 50px;
  border: 1px solid transparent; transition: all 0.3s ease; 
  color: #ffffff; font-weight: 500; opacity: 0.95;
}
#te-h .te-nav a:hover { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.2); color: #ffffff; opacity: 1; }
#te-h .te-nav a.active { font-weight: 700 !important; color: #ffffff; background: rgba(255, 255, 255, 0.20); border-color: rgba(255, 255, 255, 0.3); }

/* MOBILE ACTIONS */
.te-mobile-actions { display: none; align-items: center; gap: 12px; }
.te-mobile-call {
    display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    background: rgba(255,255,255,0.1); border-radius: 8px; border: 1px solid rgba(255,255,255,0.2);
    color: #ffffff; transition: background 0.2s;
}
.te-mobile-call:hover { background: var(--te-swiss-red); border-color: var(--te-swiss-red); }
@media (max-width:850px){
  #te-h .te-nav { display:none; }
  .te-mobile-actions { display: flex; }
  #te-h .te-burger {
    display:flex; align-items: center; justify-content: center; background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; padding: 4px; cursor:pointer; color: #ffffff !important;
  }
  #te-h .te-nav-panel[hidden] { display:none !important; }
  #te-h .te-nav-panel { position:absolute; left:0; right:0; top:100%; z-index:1100; padding:12px; }
  #te-h .te-nav-panel nav {
    display:flex; flex-direction:column; gap:8px; background: #ffffff; 
    border:1px solid rgba(0,0,0,.06); border-radius:14px; padding:10px;
    box-shadow:0 15px 40px rgba(0,0,0,.2);
  }
  #te-h .te-nav-panel a { display:flex; padding:12px 16px; border-radius:12px; color:#1d2a44; font-weight:800; text-decoration:none; }
}

/* ===================== HERO ===================== */
.te-hero { position:relative; min-height:92svh; display:flex; align-items:stretch; overflow:hidden; background:#f5f7fb; }
.te-hero::before {
  content:""; position:absolute; inset:0; background-image:var(--bg-hero);
  background-size:cover; background-position:center; filter:brightness(.95) contrast(1.02);
}
.te-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,0) 70%); }
.te-hero-inner {
  position:relative; z-index:2; width:100%; max-width:var(--max); margin:0 auto; padding:120px 20px 56px;
  display:grid; grid-template-columns: 1.1fr .9fr; gap:36px; align-items:center;
}
.te-kicker { display:inline-block; padding:10px 16px; border:1px solid rgba(255,255,255,.55); background:rgba(0,0,0,.22); backdrop-filter:blur(2px); color:#fff; border-radius:999px; font-size:17px; font-weight:600; margin-bottom:16px; }
.te-title {
  color:#fff; font-weight:700; line-height:1.04; margin:6px 0 14px; font-size: clamp(40px, 6.5vw, 68px);
  text-wrap:balance; letter-spacing:.2px; text-shadow:-1px -1px 0 #000,1px 1px 0 #000;
}
.te-sub { color:#e8edf6; margin:0 0 22px; font-size:clamp(15px, 2vw, 18px); text-shadow:1px 1px 2px rgba(0,0,0,.7); }
@media (max-width:960px){ .te-hero-inner{ grid-template-columns:1fr; padding-top:110px } }

/* ===================== FORM VISUALS (RESTORED TO ORIGINAL WORKING STATE) ===================== */
.te-form {
  width:100%; background: rgba(255,255,255,0.12); backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%); color:var(--text);
  border:1px solid rgba(255,255,255,0.28); border-radius:18px; box-shadow:0 10px 30px rgba(0,0,0,.18);
  padding:22px; overflow:hidden;
}
.te-form.te-page-card { background: #fff; max-width: 900px; margin: 0 auto; color: var(--text); }
.te-form.te-page-card h1 { color: var(--te-brand-navy); font-size: 2.5rem; margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.te-form h3 { margin:0 0 6px; color:#101828; font-size:22px; }
.te-form .caption { margin:0 0 16px; color:#6b7380; font-size:13px; }

/* Fields */
.te-fields { display:grid; grid-template-columns:1fr; gap:14px; margin:10px 0 18px; }
.te-field { display:flex; flex-direction:column; gap:6px; }
.te-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.te-form label { color: rgba(10,10,20,.9); font-weight: 500; display:flex; align-items:center; gap:8px; font-size:12px; }
.te-label-ico { width:18px; height:18px; color: var(--te-brand-navy); }

.te-input, .te-select {
  appearance:none; width:100%; padding:12px 12px; border-radius:10px;
  background: rgba(255,255,255,0.28); border:1px solid rgba(255,255,255,0.35);
  color:#0f172a; font-size:15px; outline:none; accent-color: var(--te-brand-navy);
}
.te-input::placeholder { color: var(--te-placeholder); opacity:1; }
.te-input:focus, .te-select:focus { outline: 2px solid var(--te-brand-navy); box-shadow: 0 0 0 3px color-mix(in srgb, var(--te-brand-navy) 25%, transparent); border-color: color-mix(in srgb, var(--te-brand-navy) 60%, #ffffff); }
.te-use-loc { margin-top:6px; font-size:.9rem; background:#fff; border:1px solid rgba(15,31,58,.18); border-radius:8px; padding:6px 10px; cursor:pointer; color:var(--te-brand-navy); display:none; }
.te-use-loc:hover { background:#f6f8fb; }

/* Steppers */
.te-stepper { display:inline-flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(255,255,255,.26); border-radius:999px; border:1px solid rgba(15,31,58,.18); padding:4px 10px; margin:6px 0 0; width:70%; max-width:260px; }
.te-step-btn { appearance:none; -webkit-appearance:none; background:rgba(15,31,58,.06); border:1px solid rgba(15,31,58,.35); display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; line-height:0; cursor:pointer; outline:none; border-radius:999px; transition: all .15s ease; }
.te-step-btn::after { content:""; display:inline-block; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:10px solid var(--te-brand-navy); opacity:.9; }
.te-step-btn.dec::after { transform: rotate(180deg); }
.te-step-btn[disabled] { background:rgba(15,31,58,.04); border-color:rgba(15,31,58,.15); opacity:.5; cursor:default; }
.te-step-btn[disabled]::after { border-left-color:rgba(15,31,58,.35); }
.te-step-btn:hover:not([disabled]) { background:var(--te-brand-navy); border-color:var(--te-brand-navy); transform:translateY(-1px); }
.te-step-btn:hover:not([disabled])::after { border-left-color:#fff; }
.te-stepper .val { font-weight:700; color:var(--te-brand-navy); font-size:1rem; min-width:44px; text-align:center; padding:0 14px; background:#fff; border-radius:999px; border:1px solid rgba(15,31,58,.12); height:30px; display:flex; align-items:center; justify-content:center; }

/* Time */
.te-time-wrap { display:flex; gap:10px; align-items:center; }
.te-time-native { display:none; width:100%; }
.te-time-desktop { display:flex; gap:8px; width:100%; }
.te-time-desktop .te-select { flex:1; min-width:90px; } 
@media (max-width:820px){ .te-time-native{ display:block; } .te-time-desktop{ display:none; } }

/* Map & Price */
#te-mini-map { aspect-ratio: 1 / 1; width:100%; height:auto; border-radius:10px; border:1px solid var(--te-brand-navy); overflow:hidden; display:none; position:relative; margin-top:10px; }
.te-map-overlay { position:absolute; left:0; right:0; bottom:0; padding:6px 10px; background:#ffffff; border-top:1px solid rgba(15,31,58,.12); font-size:.82rem; color:#0f1f3a; text-align:center; }
.te-price-wrap { display:none; margin-top:8px; background: linear-gradient(180deg, rgba(15,31,58,.08), rgba(15,31,58,.04)); border:1px solid rgba(15,31,58,.16); border-radius:14px; box-shadow: 0 14px 40px rgba(15,31,58,.10); padding:12px 14px; }
.te-price-title { font-weight:800; font-size:.95rem; color: var(--te-brand-navy); margin: 2px 2px 8px; text-align:center; }
.te-live-est { margin:0; font-size:1.02rem; color:rgba(10,10,20,.92); background:#ffffff; border:1px solid rgba(15,31,58,.10); border-radius:10px; padding:10px 12px; text-align:center; }
.te-skel { display:inline-block; width:180px; height:14px; border-radius:6px; background:linear-gradient(90deg, #e9edf3 25%, #f5f7fb 50%, #e9edf3 75%); background-size:200% 100%; animation:teSh 1.2s infinite; }
@keyframes teSh{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* Roundtrip */
.te-roundtrip-wrap { margin-top:12px; }
.te-roundtrip-btn { width:100%; display:flex; align-items:center; justify-content:center; padding:12px 16px; border-radius:10px; cursor:pointer; user-select:none; background: transparent; border:2px solid var(--te-brand-navy); color:var(--te-brand-navy); font-weight:700; transition:all .2s ease; }
.te-roundtrip-btn:hover { background:var(--te-brand-navy); color:#fff; transform: translateY(-1px); }
.te-roundtrip-btn.active { background:var(--te-swiss-red); color:#fff; border-color:var(--te-swiss-red); }
.te-roundtrip-note { margin-top:6px; font-size:.9rem; color: var(--te-placeholder); display:none; text-align:center; }

/* Main CTA */
.te-cta { width:100%; padding:14px; border-radius:10px; background:var(--navy); color:#fff; font-weight:800; border:none; cursor:pointer; margin-top:10px; transition: transform .06s ease, background-color .25s ease; letter-spacing: 0.5px; }
.te-cta:hover { background:#162138; transform:translateY(-1px); }
.te-cta-sub { margin-top:6px; text-align:center; color:var(--muted); font-size:.95rem; }

/* ===================== FEATURES & FOOTER (Approved) ===================== */
.te-features-wrap { 
    background: radial-gradient(circle at 10% 20%, rgb(245, 247, 251) 0%, rgb(233, 237, 245) 90%);
    padding: 36px 18px 54px; 
}
.te-features { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.te-feature { 
    display:flex; align-items:flex-start; gap:14px; padding:22px 20px; 
    background: rgba(255, 255, 255, 0.75); /* Glass */
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-radius:16px; border:1px solid rgba(255,255,255,0.6); 
    box-shadow: 0 10px 30px rgba(15,31,58,0.06); 
    position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s; 
}
.te-feature:hover { transform: translateY(-8px); box-shadow: 0 25px 60px rgba(15,31,58,0.15); }
.te-feature i { width:36px; height:36px; color: var(--te-brand-navy); padding: 8px; border-radius: 50%; background: rgba(15, 31, 58, 0.04); transition: all .3s; }
.te-feature:hover i { background: var(--te-brand-navy); color: #fff; transform: scale(1.1) rotate(4deg); }
.te-feature h4 { margin:0 0 4px; font-size: 1.05rem; color: var(--te-brand-navy); }
.te-feature p { margin:0; color: rgba(15,31,58,0.80); font-size: .95rem; }

.te-footer-wrap { background-color: var(--te-footer-bg); color: var(--te-footer-text); padding: 40px 20px 24px; font-size: 0.95rem; border-top: 4px solid #d8262f; }
.te-footer-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 32px; margin-bottom: 32px; }
.te-f-col h4 { color: #fff; margin: 0 0 16px; font-size: 1.1rem; text-transform: uppercase; }
.te-f-col ul { list-style: none; padding: 0; }
.te-f-col a { color: var(--te-footer-text); text-decoration: none; }
.te-f-col a:hover { color: #fff; text-decoration: underline; }
.te-sub-footer { 
    border-top: 1px solid rgba(255,255,255,0.1); padding-top: 24px; 
    text-align: center; font-size: 0.85rem; 
    display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; 
}
.te-schemp-logo { display: inline-block; vertical-align: middle; height: 1.8em; width: auto; opacity: 0.9; transition: opacity 0.2s; margin-left: 5px; }
.te-schemp-logo:hover { opacity: 1; }
.te-wa-float { position: fixed; bottom: 24px; right: 24px; background-color: #25D366; color: #fff; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 9999; box-shadow: 0 4px 14px rgba(0,0,0,0.25); }

/* Modals */
.te-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; align-items:center; justify-content:center; z-index:9999; backdrop-filter: blur(2px); }
.te-modal { width:min(720px, 92vw); padding:20px; background: linear-gradient(180deg, rgba(15,31,58,.85), rgba(15,31,58,.78)); border-radius:18px; color:#fff; border:1px solid rgba(255,255,255,.16); }
.te-modal h3 { text-align:center; margin-bottom:14px; }
.te-fare-badge { background:linear-gradient(180deg, rgba(216,38,47,.12), rgba(216,38,47,.04)); border:1px solid rgba(216,38,47,.22); border-radius:12px; padding:14px; text-align:center; font-weight:800; font-size:1.25rem; }
.te-sum-row { display:flex; gap:16px; align-items:center; padding:10px; border-bottom:1px solid rgba(255,255,255,.10); }
.te-sum-key { width:140px; font-weight:700; background:rgba(255,255,255,.08); padding:8px; border-radius:8px; }
.te-modal-actions { display:flex; gap:12px; margin-top:18px; justify-content:center; flex-wrap: wrap; }
.te-btn { flex:1; padding:14px; border-radius:12px; border:none; cursor:pointer; font-weight:800; min-width: 120px; }
.te-btn--ghost { background:#fff; color:var(--te-brand-navy); }
.te-btn--primary { background:rgba(23,163,74,.18); color:#fff; border:1px solid rgba(23,163,74,.45); }
.te-btn--wa { background: var(--te-wa-green); color: #fff; border: 1px solid rgba(255,255,255,0.2); }
.te-pi { width:100%; padding:12px; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.22); margin-bottom:10px; }

/* ===================== PAGE STYLES (Glass Uniformity) ===================== */
.te-page-container { padding-top: 160px; padding-bottom: 80px; max-width: 1000px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.te-page-card { background: #ffffff; border-radius: 16px; padding: 50px 60px; box-shadow: 0 10px 30px rgba(15, 31, 58, 0.06); }
.te-page-title { color: #0f1f3a; font-size: 2.5rem; text-align: center; margin-bottom: 30px; border-bottom: 2px solid #f1f5f9; padding-bottom: 20px; }

/* UNIVERSAL GLASS CONTAINER */
.te-glass-container {
    background: var(--glass-bg); /* 90% White */
    backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 40px;
    box-shadow: var(--glass-shadow);
}
.te-glass-container h1, .te-glass-container h2 { color: var(--te-brand-navy); }

/* Contact Page Grid */
.te-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }

/* Privacy Page Layout */
.te-pp-layout { display: grid; grid-template-columns: 280px 1fr; gap: 60px; align-items: start; }
.te-pp-nav { position: sticky; top: 140px; }

/* Responsive */
@media (max-width: 900px) {
    .te-features { grid-template-columns: 1fr; }
    .te-contact-grid, .te-pp-layout { grid-template-columns: 1fr; }
    .te-pp-nav { display:none; }
}
@media (max-width: 640px){ .te-row { grid-template-columns:1fr; } .te-cta { position: sticky; bottom: 10px; box-shadow: 0 12px 26px rgba(15,31,58,.22); } }