/*
Theme Name:  ZenTours Premium
Theme URI:   https://itskillscenter.io
Author:      ITSkillsCenter
Description: Thème premium transport & chauffeur — Sénégal
Version:     3.0.0
Text Domain: zentours
*/

/* ═══════════════ CSS VARIABLES (fallbacks statiques) ══════════════ */
:root {
  --zt-primary:   #14553f;
  --zt-dark:      #042c23;
  --zt-deep:      #031a15;
  --zt-accent:    #2d8a5e;
  --zt-light:     #3fab78;
  --zt-gold:      #c9a84c;
  --zt-gold-dk:   #a8852e;
  --zt-bg:        #0b1f18;
  --zt-card:      #112b20;
  --zt-surface:   #163829;
  --zt-white:     #ffffff;
  --zt-text:      rgba(255,255,255,0.92);
  --zt-muted:     rgba(255,255,255,0.55);
  --zt-border:    rgba(45,138,94,0.18);
  --zt-border-hi: rgba(45,138,94,0.42);
  --zt-success:   #4ade80;
  --zt-warning:   #fbbf24;
  --zt-danger:    #f87171;
  --zt-r:         12px;
  --zt-rl:        18px;
  --zt-rx:        24px;
  --zt-ease:      cubic-bezier(.4,0,.2,1);
  --zt-shadow:    0 4px 24px rgba(0,0,0,.35);
  --zt-glow:      0 8px 32px rgba(20,85,63,.4);
  --zt-fh:        'Playfair Display', Georgia, serif;
  --zt-fb:        'Inter', system-ui, sans-serif;
  --zt-logo-h:    48px;
}

/* ═══════════════ RESET ════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { background: var(--zt-bg); color: var(--zt-text); font-family: var(--zt-fb); line-height: 1.6; overflow-x: hidden; }
body.zt-noscroll { overflow: hidden; }
img, video { max-width: 100%; display: block; }
a { color: var(--zt-light); text-decoration: none; transition: color .2s; }
h1,h2,h3,h4,h5,h6 { font-family: var(--zt-fh); color: var(--zt-white); line-height: 1.15; font-weight: 700; }
p { color: var(--zt-muted); font-size: 15px; line-height: 1.7; }
ul { list-style: none; }
button { cursor: pointer; font-family: var(--zt-fb); border: none; background: none; }
input, select, textarea { font-family: var(--zt-fb); }
::selection { background: var(--zt-accent); color: #fff; }

/* ═══════════════ LAYOUT ═══════════════════════════════════════════ */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section { padding: 80px 0; }
.section--alt { background: var(--zt-surface); }
.sh { text-align: center; max-width: 680px; margin: 0 auto 56px; }
.sh h2 { font-size: clamp(28px,4vw,46px); margin: 12px 0 14px; }
.sh h2 span, .sh h2 em { color: var(--zt-light); font-style: normal; }
.sh p { font-size: 16px; }

/* GRIDS */
.grid { display: grid; gap: 24px; }
.g2 { grid-template-columns: repeat(2,1fr); }
.g3 { grid-template-columns: repeat(3,1fr); }
.g4 { grid-template-columns: repeat(4,1fr); }
@media(max-width:1024px){ .g4{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)} }
@media(max-width:640px) { .g4,.g3,.g2{grid-template-columns:1fr} }

/* CARDS */
.card { background: var(--zt-card); border: 1px solid var(--zt-border); border-radius: var(--zt-rl); transition: transform .3s var(--zt-ease), border-color .3s, box-shadow .3s; }
.card:hover { transform: translateY(-4px); border-color: var(--zt-border-hi); box-shadow: var(--zt-glow); }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; border-radius: var(--zt-r); font-size: 14px; font-weight: 600; transition: all .2s var(--zt-ease); cursor: pointer; border: 1px solid transparent; font-family: var(--zt-fb); white-space: nowrap; text-decoration: none; }
.btn-primary  { background: linear-gradient(135deg,var(--zt-primary),var(--zt-accent)); color:#fff; border-color:var(--zt-accent); }
.btn-primary:hover  { filter:brightness(1.15); transform:translateY(-1px); color:#fff; box-shadow:var(--zt-glow); }
.btn-gold     { background: linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; border-color:var(--zt-gold); }
.btn-gold:hover     { filter:brightness(1.1); transform:translateY(-1px); color:#fff; }
.btn-outline  { background:transparent; color:var(--zt-white); border-color:rgba(255,255,255,.35); }
.btn-outline:hover  { background:rgba(255,255,255,.08); color:var(--zt-white); border-color:rgba(255,255,255,.6); }
.btn-wa       { background:linear-gradient(135deg,#25d366,#128c7e); color:#fff; }
.btn-lg  { padding:15px 32px; font-size:15px; }
.btn-sm  { padding:8px 16px; font-size:13px; }
.btn-blk { width:100%; justify-content:center; }

/* BADGE */
.badge { display:inline-flex; align-items:center; gap:8px; background:rgba(45,138,94,.12); border:1px solid var(--zt-border-hi); color:var(--zt-light); padding:6px 14px; border-radius:100px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.badge-dot { width:6px; height:6px; border-radius:50%; background:var(--zt-light); animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }

/* FORMS */
.fg { margin-bottom:18px; }
.fg label { display:block; font-size:12px; font-weight:600; color:var(--zt-muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.06em; }
.fg label .r { color:var(--zt-gold); }
.fc { width:100%; background:rgba(255,255,255,.06); border:1px solid var(--zt-border); border-radius:var(--zt-r); color:var(--zt-white); padding:11px 14px; font-size:14px; outline:none; transition:border-color .2s,box-shadow .2s; }
.fc::placeholder { color:rgba(255,255,255,.35); }
.fc:focus { border-color:var(--zt-light); box-shadow:0 0 0 3px rgba(63,171,120,.15); }
.fc option { background:var(--zt-card); }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px){ .frow{grid-template-columns:1fr} }
textarea.fc { resize:vertical; min-height:100px; }

/* ═══════════════ LOADER ═══════════════════════════════════════════ */
#zt-loader { position:fixed; inset:0; z-index:9999; background:linear-gradient(135deg,var(--zt-deep),var(--zt-dark)); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:30px; transition:opacity .6s,visibility .6s; backdrop-filter:blur(10px); }
#zt-loader.gone { opacity:0; visibility:hidden; pointer-events:none; }
.zt-loader-brand { display:flex; align-items:center; justify-content:center; position:relative; }
.zt-loader-brand::before { content:''; position:absolute; inset:-20px; background:radial-gradient(circle, rgba(63,171,120,.1) 0%, transparent 70%); animation:loader-glow 2s ease-in-out infinite; }
.zt-loader-logo-img { height:60px; width:auto; max-width:220px; object-fit:contain; animation:loader-float 3s ease-in-out infinite; filter:drop-shadow(0 8px 24px rgba(0,0,0,.3)); }
@media(max-width:640px){ .zt-loader-logo-img{height:80px; max-width:280px; } }
.zt-loader-logo-text { font-family:var(--zt-fh); font-size:48px; font-weight:900; color:var(--zt-white); letter-spacing:-1px; animation:loader-float 3s ease-in-out infinite; text-shadow:0 4px 16px rgba(0,0,0,.3); }
@media(max-width:640px){ .zt-loader-logo-text{font-size:64px; } }
@keyframes loader-float { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-10px) scale(1.02)} }
@keyframes loader-glow { 0%,100%{opacity:.3;transform:scale(1)} 50%{opacity:.6;transform:scale(1.1)} }
.zt-loader-bar { width:200px; height:4px; background:rgba(255,255,255,.08); border-radius:100px; overflow:hidden; position:relative; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.zt-loader-bar::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent, rgba(255,255,255,.1), transparent); animation:loader-shine 2s linear infinite; }
.zt-loader-fill { height:100%; background:linear-gradient(90deg,var(--zt-accent),var(--zt-gold),var(--zt-light)); animation:progress 1.8s ease-out forwards; box-shadow:0 0 20px rgba(63,171,120,.4); }
@keyframes progress { from{width:0} to{width:100%} }
@keyframes loader-shine { from{transform:translateX(-100%)} to{transform:translateX(100%)} }

/* SCROLL PROGRESS */
#zt-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--zt-accent),var(--zt-gold)); z-index:1001; width:0%; transition:width .1s linear; pointer-events:none; }

/* WHATSAPP FLOAT */
.zt-wa { position:fixed; bottom:28px; right:28px; z-index:998; width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,#25d366,#128c7e); display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 4px 20px rgba(37,211,102,.5); animation:floaty 3s ease-in-out infinite; text-decoration:none; }
.zt-wa::before { content:''; position:absolute; inset:-5px; border-radius:50%; border:2px solid rgba(37,211,102,.4); animation:ripple 2s linear infinite; }
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes ripple { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.6);opacity:0} }

/* TOAST */
#zt-toasts { position:fixed; bottom:24px; left:24px; z-index:9998; display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.zt-toast { display:flex; align-items:center; gap:12px; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-r); padding:14px 16px; min-width:280px; max-width:380px; box-shadow:var(--zt-shadow); animation:toast-in .3s var(--zt-ease); pointer-events:all; }
.zt-toast.ok  { border-color:rgba(74,222,128,.4); }
.zt-toast.err { border-color:rgba(248,113,113,.4); }
@keyframes toast-in { from{transform:translateX(-24px);opacity:0} to{transform:translateX(0);opacity:1} }
.zt-toast-title { font-weight:700; font-size:14px; color:var(--zt-white); }
.zt-toast-msg   { font-size:12px; color:var(--zt-muted); }
.zt-toast-x { margin-left:auto; color:var(--zt-muted); cursor:pointer; padding:0 4px; font-size:20px; line-height:1; background:none; border:none; }

/* ═══════════════ NAV ══════════════════════════════════════════════ */
.zt-nav { position:fixed; top:0; left:0; right:0; z-index:9998; transition:background .3s,box-shadow .3s; }
.zt-nav--scroll { background:var(--zt-dark)f0; backdrop-filter:blur(20px); box-shadow:0 2px 20px rgba(0,0,0,.4); }
.zt-nav-inner { display:flex; align-items:center; height:70px; gap:20px; }

/* Logo */
.zt-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.zt-logo-img { display:block; height:var(--zt-logo-h,48px); width:auto; max-width:220px; max-height:60px; object-fit:contain; }
.zt-logo-txt { display:flex; align-items:center; gap:8px; }
.zt-logo-icon { font-size:26px; line-height:1; }
.zt-logo-name { font-family:var(--zt-fh); font-size:20px; font-weight:800; color:var(--zt-white); letter-spacing:-.3px; }

/* Desktop menu */
.zt-nav-menu { flex:1; display:flex; justify-content:center; }
.zt-menu { display:flex; gap:2px; align-items:center; list-style:none; }
.zt-menu a { font-size:14px; font-weight:500; color:var(--zt-muted); padding:8px 13px; border-radius:8px; display:block; transition:color .2s,background .2s; }
.zt-menu a:hover,
.zt-menu .current-menu-item > a,
.zt-menu .current_page_item > a { color:var(--zt-white); background:rgba(255,255,255,.06); }
.zt-menu .current-menu-item > a,
.zt-menu .current_page_item > a { color:var(--zt-light) !important; }

/* Nav actions */
.zt-nav-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.zt-nav-phone { font-size:13px; font-weight:600; color:var(--zt-muted); white-space:nowrap; display:flex; align-items:center; gap:5px; }
.zt-nav-phone:hover { color:var(--zt-white); }

/* Hamburger */
.zt-burger { width:40px; height:40px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid var(--zt-border); display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; flex-shrink:0; position:relative; z-index:10000; cursor:pointer; }
.zt-burger span { display:block; width:20px; height:2px; background:var(--zt-white); border-radius:2px; transition:all .25s var(--zt-ease); }
.zt-burger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.zt-burger.is-open span:nth-child(2) { opacity:0; width:0; }
.zt-burger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu — slide depuis le haut, au-dessus de tout */
.zt-mobile { position:fixed; top:0; left:0; right:0; z-index:9999; background:var(--zt-dark); padding:80px 24px 32px; display:flex; flex-direction:column; max-height:100vh; overflow-y:auto; transform:translateY(-100%); transition:transform .35s var(--zt-ease); box-shadow:0 8px 40px rgba(0,0,0,.6); }
.zt-mobile.is-open { transform:translateY(0); }
.zt-mobile-nav { list-style:none; margin:0 0 24px; padding:0; }
.zt-mobile-nav a { display:block; padding:15px 16px; font-size:17px; font-weight:600; color:var(--zt-text); border-bottom:1px solid var(--zt-border); border-radius:var(--zt-r); transition:background .2s,color .2s; }
.zt-mobile-nav a:hover { background:rgba(255,255,255,.06); color:var(--zt-white); }
.zt-mobile-btns { display:flex; flex-direction:column; gap:10px; }

@media(max-width:900px) { .zt-nav-menu{display:none} .zt-burger{display:flex} .zt-nav-phone{display:none} }

/* ═══════════════ HERO ═════════════════════════════════════════════ */
.zt-hero { min-height:100vh; position:relative; display:flex; flex-direction:column; justify-content:center; }
.zt-hero-bg { position:absolute; inset:0; overflow:hidden; }
.zt-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center; }
.zt-hero-overlay { position:absolute; inset:0; }
.zt-hero-body { position:relative; z-index:1; padding:110px 0 180px; }
.zt-hero-content { max-width:720px; }
.zt-hero-title { font-size:clamp(36px,5.5vw,70px); font-weight:900; line-height:1.08; margin:16px 0 20px; color:var(--zt-white); }
.zt-hero-title span { color:#3fab78; }
.zt-hero-sub { font-size:clamp(15px,1.8vw,18px); color:rgba(255,255,255,.7); max-width:540px; margin-bottom:36px; line-height:1.65; }
.zt-hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }

/* Quick form */
.zt-qform { background:rgba(4,44,35,.75); backdrop-filter:blur(20px); border:1px solid var(--zt-border-hi); border-radius:var(--zt-rx); padding:20px 24px; }
.zt-qform-head { font-size:12px; font-weight:700; color:var(--zt-light); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
.zt-qform-grid { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:12px; align-items:end; }
@media(max-width:900px) { .zt-qform-grid{grid-template-columns:1fr 1fr} }
@media(max-width:500px) { .zt-qform-grid{grid-template-columns:1fr} }
.zt-qfield { position:relative; }
.zt-qfield-icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); background:linear-gradient(135deg, rgba(63,171,120,.2), rgba(63,171,120,.1)); border:1px solid rgba(63,171,120,.3); border-radius:12px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; font-size:16px; pointer-events:none; z-index:2; box-shadow:0 2px 8px rgba(63,171,120,.2); }
.zt-qfield input, 
.zt-qfield select { background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.25); border-radius:var(--zt-rx); color:var(--zt-white); padding:14px 16px 14px 42px; width:100%; font-size:15px; outline:none; transition:all .3s var(--zt-ease); font-family:var(--zt-fb); appearance:none; -webkit-appearance:none; -moz-appearance:none; box-shadow:0 2px 8px rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.1); }
.zt-qfield input:hover,
.zt-qfield select:hover { background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.12)); border-color:rgba(255,255,255,.35); box-shadow:0 4px 12px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.15); }
.zt-qfield select { cursor:pointer; position:relative; }
.zt-qfield select:hover { background:linear-gradient(135deg, rgba(63,171,120,.18), rgba(63,171,120,.12)); border-color:rgba(63,171,120,.4); }
.zt-qfield select::-ms-expand { display:none; }
.zt-qfield select::-webkit-scrollbar { width:8px; }
.zt-qfield select::-webkit-scrollbar-track { background:rgba(255,255,255,.08); border-radius:4px; }
.zt-qfield select::-webkit-scrollbar-thumb { background:linear-gradient(135deg, var(--zt-gold), var(--zt-gold-dk)); border-radius:4px; }
.zt-qfield input::placeholder,
.zt-qfield select::placeholder { color:rgba(255,255,255,.5); font-style:italic; }
.zt-qfield input:focus,
.zt-qfield select:focus { border-color:#3fab78; background:linear-gradient(135deg, rgba(63,171,120,.15), rgba(63,171,120,.08)); box-shadow:0 0 0 3px rgba(63,171,120,.2), 0 6px 20px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.2); transform:translateY(-1px); }
.zt-qfield select option { background:var(--zt-dark); color:var(--zt-white); padding:12px; border:none; }
.zt-qfield select option:hover { background:rgba(63,171,120,.2); }

/* Trust bar */
.zt-trust { position:absolute; bottom:0; left:0; right:0; z-index:2; }
.zt-trust-row { display:flex; }
.zt-trust-item { flex:1; display:flex; align-items:center; justify-content:center; gap:14px; padding:18px 24px; background:rgba(4,44,35,.85); backdrop-filter:blur(10px); border-top:1px solid var(--zt-border); border-right:1px solid var(--zt-border); }
.zt-trust-item:last-child { border-right:none; }
.zt-trust-icon { font-size:26px; flex-shrink:0; }
.zt-trust-val  { font-size:22px; font-weight:900; color:var(--zt-white); font-family:var(--zt-fh); line-height:1; }
.zt-trust-lbl  { font-size:11px; color:var(--zt-muted); text-transform:uppercase; letter-spacing:.05em; margin-top:2px; }
@media(max-width:640px) { .zt-trust-item{padding:14px 12px} .zt-trust-val{font-size:18px} }

/* ═══════════════ SERVICES ═════════════════════════════════════════ */
.zt-svc { padding:36px; display:flex; flex-direction:column; gap:16px; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); }
.zt-svc:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(20,85,63,.12); border-color:var(--zt-border-hi); }
.zt-svc-icon { font-size:48px; line-height:1; margin-bottom:8px; }
.zt-svc h3 { font-size:22px; margin:0; color:var(--zt-white); font-weight:700; }
.zt-svc p { font-size:15px; flex:1; line-height:1.7; color:rgba(255,255,255,.7); margin-bottom:16px; }
.zt-svc-link { color:#3fab78; font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:6px; transition:gap .2s, color .2s; text-decoration:none; }
.zt-svc-link:hover { gap:10px; color:#4fc890; }

/* ═══════════════ VEHICLES ═════════════════════════════════════════ */
.zt-vgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media(max-width:1024px) { .zt-vgrid{grid-template-columns:repeat(2,1fr); gap:28px} }
@media(max-width:640px)  { .zt-vgrid{grid-template-columns:1fr; gap:24px} }
.zt-vcard { overflow:hidden; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); position:relative; }
.zt-vcard:hover { transform:translateY(-8px); box-shadow:0 20px 48px rgba(20,85,63,.18); border-color:var(--zt-border-hi); }
.zt-vcard-img { position:relative; height:260px; overflow:hidden; background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); }
.zt-vcard-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--zt-ease); }
.zt-vcard:hover .zt-vcard-img img { transform:scale(1.08); }
.zt-vcard-img::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%, rgba(0,0,0,.2) 100%); opacity:0; transition:opacity .3s; }
.zt-vcard:hover .zt-vcard-img::before { opacity:1; }
.zt-vcard-ph { display:flex; align-items:center; justify-content:center; height:100%; font-size:88px; color:var(--zt-muted); }
.zt-vcard-cat { position:absolute; top:16px; left:16px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); backdrop-filter:blur(10px); color:#fff; font-size:12px; font-weight:700; padding:6px 14px; border-radius:100px; text-transform:uppercase; letter-spacing:.05em; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 12px rgba(255,193,7,.3); }
.zt-vcard-body { padding:28px; }
.zt-vcard-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.zt-vcard-header h3 { font-size:20px; margin:0; color:var(--zt-white); font-weight:700; }
.zt-vcard-yr { background:rgba(63,171,120,.15); color:#3fab78; font-size:12px; padding:4px 10px; border-radius:100px; font-weight:600; white-space:nowrap; border:1px solid rgba(63,171,120,.2); }
.zt-vcard-desc { font-size:14px; line-height:1.6; color:rgba(255,255,255,.7); margin-bottom:20px; min-height:48px; }
.zt-vcard-features { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:20px; }
@media(max-width:480px){ .zt-vcard-features{grid-template-columns:1fr; } }
.zt-vcard-spec { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); border:1px solid var(--zt-border); color:var(--zt-muted); font-size:13px; padding:8px 12px; border-radius:var(--zt-r); transition:background .2s, color .2s; }
.zt-vcard-spec:hover { background:rgba(63,171,120,.15); color:#3fab78; border-color:rgba(63,171,120,.3); }
.zt-vcard-icon { font-size:16px; flex-shrink:0; }
.zt-vcard-price { display:flex; align-items:baseline; gap:4px; margin-bottom:20px; padding:16px; background:rgba(255,255,255,.03); border-radius:var(--zt-r); border:1px solid var(--zt-border); }
.zt-price-from { font-size:12px; color:var(--zt-muted); }
.zt-price-amt  { font-size:28px; font-weight:900; color:var(--zt-gold); font-family:var(--zt-fh); }
.zt-price-unit { font-size:12px; color:var(--zt-muted); }
.zt-vcard-btn { width:100%; justify-content:center; padding:14px 20px; font-size:15px; font-weight:600; transition:transform .2s, box-shadow .2s; }
.zt-vcard-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); }

/* ═══════════════ STEPS ════════════════════════════════════════════ */
.zt-step { padding:32px; text-align:center; }
.zt-step-n { font-size:11px; font-weight:700; color:var(--zt-light); text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; }
.zt-step-icon { font-size:44px; margin-bottom:16px; }
.zt-step h3 { font-size:18px; margin-bottom:10px; }

/* ═══════════════ DRIVERS ══════════════════════════════════════════ */
.zt-dcard { overflow:hidden; }
.zt-dcard-photo { position:relative; height:220px; overflow:hidden; background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); }
.zt-dcard-photo img { width:100%; height:100%; object-fit:cover; object-position:top; }
.zt-dcard-init { display:flex; align-items:center; justify-content:center; height:100%; font-size:52px; font-weight:900; color:rgba(255,255,255,.2); font-family:var(--zt-fh); }
.zt-dcard-avail { position:absolute; bottom:12px; left:12px; background:rgba(74,222,128,.12); border:1px solid rgba(74,222,128,.4); color:var(--zt-success); font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px; }
.zt-dcard-body { padding:16px; }
.zt-dcard-body h3 { font-size:16px; margin-bottom:8px; }
.star-rating { display:flex; align-items:center; gap:3px; margin-bottom:8px; }
.star { color:rgba(255,255,255,.2); font-size:14px; }
.star.on { color:var(--zt-gold); }
.star-val { font-size:12px; color:var(--zt-muted); margin-left:4px; }
.zt-dcard-meta { display:flex; gap:10px; font-size:12px; color:var(--zt-muted); margin-bottom:8px; }
.zt-langs { display:flex; flex-wrap:wrap; gap:4px; }
.zt-lang { background:rgba(45,138,94,.12); border:1px solid var(--zt-border-hi); color:var(--zt-light); font-size:11px; padding:2px 8px; border-radius:100px; }

/* ═══════════════ ABOUT (SECTION) ══════════════════════════════════ */
.zt-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
@media(max-width:900px){ .zt-about-grid{grid-template-columns:1fr;gap:36px} }
.zt-about-txt h2 { font-size:clamp(26px,3.5vw,42px); margin:12px 0 18px; }
.zt-about-txt p { font-size:15px; margin-bottom:14px; }
.zt-about-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:24px 0 30px; border:1px solid var(--zt-border); border-radius:var(--zt-rl); overflow:hidden; }
.zt-astat { text-align:center; padding:16px 10px; border-right:1px solid var(--zt-border); }
.zt-astat:last-child { border-right:none; }
.zt-astat-v { font-size:26px; font-weight:900; color:var(--zt-light); font-family:var(--zt-fh); }
.zt-astat-l { font-size:10px; color:var(--zt-muted); text-transform:uppercase; letter-spacing:.05em; margin-top:3px; }
.zt-about-img { border-radius:var(--zt-rx); overflow:hidden; border:1px solid var(--zt-border); }
.zt-about-img img { width:100%; height:420px; object-fit:cover; }

/* ═══════════════ TOURISME ═════════════════════════════════════════ */
.zt-tour-wrap { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media(max-width:900px){ .zt-tour-wrap{grid-template-columns:1fr;gap:40px} }
.zt-tour-txt h2 { font-size:clamp(28px,4vw,48px); margin:16px 0 18px; color:var(--zt-white); font-weight:800; }
.zt-tour-txt p { font-size:16px; line-height:1.8; color:rgba(255,255,255,.75); margin-bottom:24px; }
.zt-spots { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.zt-spot { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:24px; font-size:16px; font-weight:600; text-align:center; transition:border-color .25s,transform .25s, box-shadow .25s; color:var(--zt-white); }
.zt-spot:hover { border-color:#3fab78; transform:translateY(-4px); box-shadow:0 12px 32px rgba(63,171,120,.16); background:rgba(63,171,120,.08); }

/* ═══════════════ FOOTER CTA ═══════════════════════════════════════ */
.zt-fcta { padding:80px 0; background:linear-gradient(135deg,var(--zt-primary),var(--zt-dark)); text-align:center; }
.zt-fcta h2 { font-size:clamp(28px,4vw,44px); margin-bottom:12px; }
.zt-fcta p  { font-size:16px; color:rgba(255,255,255,.7); margin-bottom:32px; }
.zt-fcta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════ FOOTER ═══════════════════════════════════════════ */
.zt-footer { background:var(--zt-deep); padding:60px 0 0; color:rgba(255,255,255,.55); }
.zt-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
@media(max-width:900px){ .zt-footer-grid{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .zt-footer-grid{grid-template-columns:1fr} }
.zt-fbrand .zt-logo { margin-bottom:14px; }
.zt-ftagline { font-size:14px; color:rgba(255,255,255,.45); max-width:240px; line-height:1.6; }
.zt-footer h4 { font-size:13px; font-weight:700; color:var(--zt-white); text-transform:uppercase; letter-spacing:.07em; margin-bottom:14px; }
.zt-flinks { display:flex; flex-direction:column; gap:8px; }
.zt-flinks a { font-size:14px; color:rgba(255,255,255,.5); transition:color .2s; }
.zt-flinks a:hover { color:var(--zt-light); }
.zt-fcontact { display:flex; flex-direction:column; gap:10px; }
.zt-fci { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:rgba(255,255,255,.5); }
.zt-fci a { color:rgba(255,255,255,.5); transition:color .2s; }
.zt-fci a:hover { color:var(--zt-light); }
.zt-fsocial { display:flex; gap:10px; margin-top:14px; }
.zt-fsocial a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid var(--zt-border); display:flex; align-items:center; justify-content:center; font-size:16px; transition:background .2s; text-decoration:none; }
.zt-fsocial a:hover { background:var(--zt-accent); }
.zt-fbase { border-top:1px solid var(--zt-border); padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.zt-fcopy   { font-size:13px; color:rgba(255,255,255,.3); }
.zt-fcredit { font-size:12px; color:rgba(255,255,255,.2); }
.zt-fcredit a { color:var(--zt-light); }

/* ═══════════════ PAGE HERO ════════════════════════════════════════ */
.zt-page-hero { padding:130px 0 80px; background:linear-gradient(160deg,var(--zt-dark) 0%,var(--zt-primary) 55%,var(--zt-bg) 100%); text-align:center; position:relative; overflow:hidden; }
.zt-page-hero::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:40px; background:var(--zt-bg); clip-path:ellipse(70% 100% at 50% 100%); }
.section--alt .zt-page-hero::after { background:var(--zt-surface); }
.zt-page-hero h1 { font-size:clamp(32px,5vw,56px); margin:12px 0 16px; }
.zt-page-hero h1 span { color:var(--zt-light); }
.zt-page-hero p { font-size:18px; color:rgba(255,255,255,.85); max-width:600px; margin:0 auto; line-height:1.6; }

/* ═══════════════ CONTACT PAGE ═════════════════════════════════════ */
.zt-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
@media(max-width:900px){ .zt-contact-layout{grid-template-columns:1fr} }
.zt-contact-info h2 { font-size:clamp(22px,3vw,32px); margin-bottom:14px; }
.zt-contact-info p  { margin-bottom:24px; }
.zt-ccard { display:flex; align-items:center; gap:14px; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rl); padding:16px; text-decoration:none; margin-bottom:10px; transition:border-color .2s,transform .2s; }
.zt-ccard:hover { border-color:var(--zt-border-hi); transform:translateX(4px); color:var(--zt-text); }
.zt-ccard-icon { font-size:22px; width:44px; height:44px; background:rgba(45,138,94,.12); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.zt-ccard strong { display:block; font-size:13px; color:var(--zt-white); margin-bottom:2px; }
.zt-ccard span   { display:block; font-size:14px; color:var(--zt-muted); }
.zt-map-wrap { margin-top:20px; border-radius:var(--zt-rx); overflow:hidden; border:1px solid var(--zt-border); }
.zt-map-wrap iframe { width:100%; display:block; border:none; height:260px; }
.zt-cf-card { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:32px; }
.zt-cf-card h2 { font-size:24px; margin-bottom:24px; }
.zt-cf-ok { text-align:center; padding:40px 20px; }
.zt-cf-ok .ico { font-size:64px; margin-bottom:14px; }
.zt-social-row { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }

/* ═══════════════ ABOUT PAGE ═══════════════════════════════════════ */
.zt-ap-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media(max-width:900px){ .zt-ap-grid{grid-template-columns:1fr} }
.zt-ap-section h2 { font-size:clamp(22px,3vw,32px); margin-bottom:14px; }
.zt-ap-section p  { font-size:15px; line-height:1.75; margin-bottom:14px; }
.zt-vals { display:flex; flex-direction:column; gap:0; }
.zt-val  { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--zt-border); font-size:14px; }
.zt-val:last-child { border:none; }
.zt-val-check { color:var(--zt-light); font-size:16px; font-weight:700; flex-shrink:0; }
.zt-ap-img { border-radius:var(--zt-rx); overflow:hidden; border:1px solid var(--zt-border); }
.zt-ap-img img { width:100%; height:460px; object-fit:cover; }
.zt-stats-big { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:640px){ .zt-stats-big{grid-template-columns:1fr} }
.zt-sbc { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:32px; text-align:center; }
.zt-sbc-icon { font-size:38px; margin-bottom:10px; }
.zt-sbc-v    { font-size:40px; font-weight:900; color:var(--zt-light); font-family:var(--zt-fh); }
.zt-sbc-l    { font-size:12px; color:var(--zt-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:8px; }

/* ═══════════════ RESERVATION ══════════════════════════════════════ */
.zt-resa-layout { display:grid; grid-template-columns:1fr 380px; gap:32px; align-items:start; }
@media(max-width:1024px){ .zt-resa-layout{grid-template-columns:1fr} }
@media(max-width:640px){ .zt-resa-layout{grid-template-columns:1fr; justify-items:center; align-items:center; text-align:center; } }
.zt-resa-card { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:32px; }
@media(max-width:640px){ .zt-resa-card{max-width:480px; margin:0 auto; width:100%; } }
.zt-resa-card h2 { font-size:22px; margin-bottom:24px; }
.zt-stype-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:8px; }
@media(max-width:600px){ .zt-stype-grid{grid-template-columns:repeat(2,1fr)} }
.zt-sopt input { position:absolute; opacity:0; pointer-events:none; }
.zt-sopt-card { background:rgba(255,255,255,.04); border:2px solid var(--zt-border); border-radius:var(--zt-r); padding:14px 8px; text-align:center; cursor:pointer; transition:all .2s; display:flex; flex-direction:column; align-items:center; gap:6px; }
.zt-sopt-card span { font-size:22px; }
.zt-sopt-card small { font-size:11px; font-weight:600; color:var(--zt-muted); }
.zt-sopt input:checked + .zt-sopt-card { border-color:var(--zt-light); background:rgba(63,171,120,.1); }
.zt-sopt input:checked + .zt-sopt-card small { color:var(--zt-light); }
.zt-divider-label { font-size:12px; font-weight:700; color:var(--zt-light); text-transform:uppercase; letter-spacing:.08em; padding:8px 0 2px; border-bottom:1px solid var(--zt-border); margin-bottom:18px; }
.zt-sidebar-box { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:24px; margin-bottom:16px; }
@media(max-width:640px){ .zt-sidebar-box{max-width:480px; margin:0 auto 16px; } }
.zt-sidebar-box h3 { font-size:16px; margin-bottom:12px; }
.zt-glist { display:flex; flex-direction:column; gap:0; }
.zt-glist li { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--zt-muted); padding:7px 0; border-bottom:1px solid var(--zt-border); }
.zt-glist li:last-child { border:none; }
.zt-glist .ok { color:var(--zt-light); font-weight:700; flex-shrink:0; }
.zt-pm-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.zt-pm { background:rgba(255,255,255,.05); border:1px solid var(--zt-border); border-radius:100px; padding:4px 12px; font-size:12px; color:var(--zt-muted); }
.zt-resa-ok { text-align:center; padding:32px; }
.zt-resa-ok .ico { font-size:64px; margin-bottom:14px; }

/* ═══════════════ PAGINATION ═══════════════════════════════════════ */
.zt-pager { display:flex; justify-content:center; gap:8px; margin-top:48px; }
.zt-pager .page-numbers { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--zt-r); background:var(--zt-card); border:1px solid var(--zt-border); color:var(--zt-muted); font-size:14px; transition:all .2s; }
.zt-pager .page-numbers.current,
.zt-pager .page-numbers:hover { background:var(--zt-accent); border-color:var(--zt-accent); color:#fff; }

/* ═══════════════ GSAP (init state) ════════════════════════════════ */
[data-anim] { opacity:0; transform:translateY(28px); }

/* ═══════════════ ADMIN STATUS CLASSES ═════════════════════════════ */
.st-pending   { background:rgba(251,191,36,.15); color:var(--zt-warning); }
.st-confirmed { background:rgba(74,222,128,.15);  color:var(--zt-success); }
.st-active    { background:rgba(96,165,250,.15);  color:#60a5fa; }
.st-completed { background:rgba(45,138,94,.2);    color:var(--zt-light); }
.st-cancelled { background:rgba(248,113,113,.15); color:var(--zt-danger); }

/* ═══════════════ SECTION TRAJETS ══════════════════════════════════ */
.zt-tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .zt-tgrid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .zt-tgrid { grid-template-columns:1fr; } }

.zt-tcard { padding:0; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.zt-tcard:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.3); }

.zt-tcard-top { padding:20px 20px 14px; position:relative; }
.zt-tcard-ico { font-size:36px; margin-bottom:10px; display:block; }
.zt-tcard-pop { position:absolute; top:16px; right:16px; background:linear-gradient(135deg,var(--zt-gold),#a8852e); color:#fff; font-size:10px; font-weight:700; padding:3px 10px; border-radius:100px; text-transform:uppercase; letter-spacing:.06em; }
.zt-tcard-route { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.zt-tcard-city { font-size:16px; font-weight:800; color:var(--zt-white); font-family:var(--zt-fh); }
.zt-tcard-arrow { color:var(--zt-light); font-size:18px; flex-shrink:0; }
.zt-tcard-desc { font-size:13px; color:var(--zt-muted); line-height:1.6; margin-bottom:14px; }
.zt-tcard-meta { display:flex; gap:8px; flex-wrap:wrap; }
.zt-tcard-tag { display:inline-flex; align-items:center; gap:4px; background:rgba(255,255,255,.06); border:1px solid var(--zt-border); color:var(--zt-muted); font-size:11px; padding:4px 10px; border-radius:100px; }
.zt-tcard-foot { margin-top:auto; padding:14px 20px; border-top:1px solid var(--zt-border); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.zt-tcard-price { display:flex; align-items:baseline; gap:3px; }
.zt-tcard-price-val { font-size:20px; font-weight:900; color:var(--zt-gold); font-family:var(--zt-fh); }
.zt-tcard-price-lbl { font-size:11px; color:var(--zt-muted); }
.zt-tcard-btn { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,var(--zt-accent),var(--zt-light)); color:#fff; font-size:12px; font-weight:700; padding:9px 16px; border-radius:var(--zt-r); text-decoration:none; transition:filter .2s; white-space:nowrap; flex-shrink:0; }
.zt-tcard-btn:hover { filter:brightness(1.1); }

/* ═══════════════ PAGE NOTRE FLOTTE ════════════════════════════════ */
.zt-fleet-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px; }
.zt-filter-btn { padding:9px 20px; border-radius:100px; border:1px solid var(--zt-border); background:transparent; color:var(--zt-muted); font-size:13px; font-weight:600; cursor:pointer; transition:all .2s; font-family:var(--zt-fb); }
.zt-filter-btn:hover,
.zt-filter-btn.active { background:var(--zt-accent); border-color:var(--zt-accent); color:#fff; }

/* ═══════════════ PAGE NOS SERVICES ════════════════════════════════ */
.zt-services-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media(max-width:768px){ .zt-services-grid { grid-template-columns:1fr; gap:24px; } }
.zt-service-card { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:40px; display:flex; flex-direction:column; gap:24px; transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); }
.zt-service-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(20,85,63,.16); border-color:var(--zt-border-hi); }
.zt-service-icon { width:72px; height:72px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:36px; flex-shrink:0; transition:transform .2s; }
.zt-service-card:hover .zt-service-icon { transform:scale(1.1); }
.zt-service-content { flex:1; display:flex; flex-direction:column; gap:16px; }
.zt-service-content h3 { font-size:24px; margin:0; color:var(--zt-white); font-weight:700; }
.zt-service-content p { font-size:16px; line-height:1.7; color:rgba(255,255,255,.7); margin:0; }
.zt-service-features { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.zt-service-features li { display:flex; align-items:center; gap:12px; font-size:15px; color:var(--zt-muted); }
.zt-service-features li::before { content:'✓'; color:#3fab78; font-weight:700; flex-shrink:0; font-size:18px; }
.zt-service-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; font-size:15px; font-weight:600; padding:14px 24px; border-radius:var(--zt-r); text-decoration:none; transition:transform .2s, box-shadow .2s; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 16px rgba(255,193,7,.2); align-self:flex-start; }
.zt-service-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); }
.zt-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
@media(max-width:900px){ .zt-process-grid { grid-template-columns:1fr; gap:24px; } }
.zt-process-card { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); padding:40px 32px; text-align:center; transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); position:relative; overflow:hidden; }
.zt-process-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--zt-gold), var(--zt-gold-dk)); opacity:0; transition:opacity .25s; }
.zt-process-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(20,85,63,.16); border-color:var(--zt-border-hi); }
.zt-process-card:hover::before { opacity:1; }
.zt-process-number { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:22px; color:#fff; margin:0 auto 20px; box-shadow:0 8px 24px rgba(255,193,7,.3); }
.zt-process-icon { font-size:48px; margin-bottom:20px; display:block; }
.zt-process-card h4 { font-size:18px; margin:0 0 12px; color:var(--zt-white); font-weight:700; }
.zt-process-card p { font-size:14px; line-height:1.6; color:rgba(255,255,255,.7); margin:0; }

/* ═══════════════ PAGE TOURISME ═════════════════════════════════════ */
.zt-coming-hero { text-align:center; padding:80px 0 60px; }
.zt-coming-badge { display:inline-block; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; font-size:12px; font-weight:700; padding:5px 16px; border-radius:100px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:20px; }
.zt-coming-title { font-size:clamp(32px,5vw,58px); font-weight:900; margin-bottom:16px; }
.zt-coming-sub { font-size:17px; color:var(--zt-muted); max-width:560px; margin:0 auto 40px; }
.zt-circuit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media(max-width:900px){ .zt-circuit-grid { grid-template-columns:repeat(2,1fr); gap:24px; } }
@media(max-width:560px){ .zt-circuit-grid { grid-template-columns:1fr; gap:20px; } }
.zt-circuit-card { overflow:hidden; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); position:relative; }
.zt-circuit-card:hover { transform:translateY(-8px); box-shadow:0 20px 48px rgba(20,85,63,.18); border-color:var(--zt-border-hi); }
.zt-circuit-img { height:240px; background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); display:flex; align-items:center; justify-content:center; font-size:88px; position:relative; overflow:hidden; }
.zt-circuit-img::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%, rgba(0,0,0,.3) 100%); opacity:0; transition:opacity .3s; }
.zt-circuit-card:hover .zt-circuit-img::before { opacity:1; }
.zt-circuit-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--zt-ease); }
.zt-circuit-card:hover .zt-circuit-img img { transform:scale(1.08); }
.zt-circuit-badge { position:absolute; top:16px; right:16px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); backdrop-filter:blur(10px); color:#fff; font-size:11px; font-weight:700; padding:6px 14px; border-radius:100px; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 12px rgba(255,193,7,.3); }
.zt-circuit-body { padding:28px; }
.zt-circuit-body h3 { font-size:20px; margin-bottom:12px; color:var(--zt-white); font-weight:700; }
.zt-circuit-body p { font-size:14px; margin-bottom:16px; line-height:1.6; color:rgba(255,255,255,.7); }
.zt-circuit-body p:first-of-type { color:var(--zt-muted); font-size:13px; margin-bottom:8px; }
.zt-circuit-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.zt-circuit-tag { background:rgba(63,171,120,.15); border:1px solid rgba(63,171,120,.3); color:#3fab78; font-size:12px; padding:4px 12px; border-radius:100px; font-weight:600; transition:background .2s, color .2s; }
.zt-circuit-tag:hover { background:rgba(63,171,120,.25); color:#4fc890; }
.zt-circuit-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; font-size:14px; font-weight:600; padding:12px 20px; border-radius:var(--zt-r); text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 16px rgba(255,193,7,.2); }
.zt-circuit-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); background:linear-gradient(135deg,var(--zt-gold-l),var(--zt-gold)); }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* ═══════════════ CIRCUIT SHOWCASE (NEW DESIGN) ═════════════════════ */
.zt-circuit-showcase { display:grid; grid-template-columns:1fr; gap:48px; max-width:1200px; margin:0 auto; }
@media(max-width:1024px){ .zt-circuit-showcase{gap:32px} }
@media(max-width:768px){ .zt-circuit-showcase{gap:24px} }

.zt-circuit-hero { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); overflow:hidden; transition:transform .3s var(--zt-ease), box-shadow .3s var(--zt-ease); }
.zt-circuit-hero:hover { transform:translateY(-12px); box-shadow:0 24px 64px rgba(20,85,63,.15); border-color:var(--zt-border-hi); }

.zt-circuit-visual { position:relative; height:320px; overflow:hidden; }
@media(max-width:768px){ .zt-circuit-visual{height:240px} }

.zt-circuit-image { width:100%; height:100%; background-size:cover; background-position:center; background-repeat:no-repeat; position:relative; }
.zt-circuit-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%, rgba(0,0,0,.4) 100%); }
.zt-circuit-badge-top { position:absolute; top:20px; left:20px; display:flex; align-items:center; gap:12px; }
.zt-circuit-icon-large { font-size:28px; background:rgba(255,255,255,.95); width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(0,0,0,.2); }
.zt-circuit-difficulty { background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; font-size:12px; font-weight:700; padding:6px 14px; border-radius:100px; text-transform:uppercase; letter-spacing:.05em; box-shadow:0 4px 12px rgba(255,193,7,.3); }

.zt-circuit-image-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); display:flex; align-items:center; justify-content:center; }
.zt-circuit-icon-xlarge { font-size:120px; color:var(--zt-muted); animation:float 3s ease-in-out infinite; }

.zt-circuit-content { padding:40px; }
@media(max-width:768px){ .zt-circuit-content{padding:28px} }

.zt-circuit-header { margin-bottom:32px; }
.zt-circuit-meta-top { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.zt-circuit-category { background:rgba(63,171,120,.15); color:#3fab78; font-size:12px; font-weight:600; padding:4px 12px; border-radius:100px; border:1px solid rgba(63,171,120,.2); }
.zt-circuit-duration { display:flex; align-items:center; gap:6px; color:var(--zt-muted); font-size:13px; font-weight:500; }
.zt-circuit-title { font-size:28px; font-weight:800; color:var(--zt-white); margin:0 0 16px 0; line-height:1.3; }
@media(max-width:768px){ .zt-circuit-title{font-size:24px} }
.zt-circuit-desc { font-size:16px; line-height:1.7; color:rgba(255,255,255,.8); margin:0; }

.zt-circuit-highlights { margin-bottom:32px; }
.zt-circuit-highlights h4 { font-size:14px; font-weight:700; color:var(--zt-light); margin-bottom:16px; text-transform:uppercase; letter-spacing:.05em; }
.zt-circuit-highlight-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media(max-width:480px){ .zt-circuit-highlight-grid{grid-template-columns:1fr} }
.zt-circuit-highlight-item { display:flex; align-items:center; gap:10px; padding:12px 16px; background:rgba(255,255,255,.05); border:1px solid var(--zt-border); border-radius:var(--zt-r); transition:background .2s, border-color .2s; }
.zt-circuit-highlight-item:hover { background:rgba(63,171,120,.1); border-color:rgba(63,171,120,.3); }
.zt-circuit-highlight-icon { font-size:14px; flex-shrink:0; }

.zt-circuit-includes { margin-bottom:32px; }
.zt-circuit-includes h4 { font-size:14px; font-weight:700; color:var(--zt-light); margin-bottom:16px; text-transform:uppercase; letter-spacing:.05em; }
.zt-circuit-include-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
@media(max-width:480px){ .zt-circuit-include-grid{grid-template-columns:1fr} }
.zt-circuit-include-item { display:flex; align-items:center; gap:8px; padding:8px 12px; background:rgba(255,255,255,.03); border:1px solid var(--zt-border); border-radius:var(--zt-r); font-size:13px; color:var(--zt-muted); transition:background .2s, color .2s; }
.zt-circuit-include-item:hover { background:rgba(255,193,7,.1); border-color:rgba(255,193,7,.2); color:var(--zt-gold); }
.zt-circuit-include-icon { font-size:12px; flex-shrink:0; }

.zt-circuit-footer { border-top:1px solid var(--zt-border); padding-top:24px; }
.zt-circuit-pricing { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
@media(max-width:480px){ .zt-circuit-pricing{flex-direction:column; align-items:flex-start; gap:12px} }
.zt-circuit-price-info { display:flex; flex-direction:column; gap:4px; }
.zt-circuit-price-label { font-size:12px; color:var(--zt-muted); text-transform:uppercase; letter-spacing:.05em; }
.zt-circuit-price { font-size:32px; font-weight:900; color:var(--zt-gold); font-family:var(--zt-fh); line-height:1; }
.zt-circuit-group-info { display:flex; align-items:center; gap:6px; color:var(--zt-muted); font-size:14px; font-weight:500; }

.zt-circuit-actions { display:flex; gap:12px; }
@media(max-width:480px){ .zt-circuit-actions{flex-direction:column} }
.zt-circuit-btn-primary, .zt-circuit-btn-secondary { display:flex; align-items:center; gap:8px; padding:14px 24px; border-radius:var(--zt-r); text-decoration:none; font-weight:600; font-size:15px; transition:all .2s; flex:1; justify-content:center; }
.zt-circuit-btn-primary { background:linear-gradient(135deg, var(--zt-gold), var(--zt-gold-dk)); color:#fff; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 16px rgba(255,193,7,.2); }
.zt-circuit-btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); background:linear-gradient(135deg, var(--zt-gold-l), var(--zt-gold)); }
.zt-circuit-btn-secondary { background:rgba(255,255,255,.05); color:var(--zt-light); border:1px solid var(--zt-border); }
.zt-circuit-btn-secondary:hover { background:rgba(255,255,255,.1); border-color:var(--zt-border-hi); color:var(--zt-white); }

/* ═══════════════ FLEET HERO (NEW DESIGN) ═════════════════════ */
.zt-fleet-hero { background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); padding:80px 0; position:relative; overflow:hidden; }
@media(max-width:768px){ .zt-fleet-hero{padding:60px 0} }

.zt-fleet-hero::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,.03)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>'); opacity:0.5; }

.zt-fleet-hero-content { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; max-width:1200px; margin:0 auto; }
@media(max-width:1024px){ .zt-fleet-hero-content{grid-template-columns:1fr; gap:40px; text-align:center} }

.zt-fleet-hero-text { color:var(--zt-white); }
.zt-fleet-hero-text .badge { background:rgba(255,255,255,.15); backdrop-filter:blur(10px); color:var(--zt-white); font-size:12px; font-weight:600; padding:6px 16px; border-radius:100px; text-transform:uppercase; letter-spacing:.05em; border:1px solid rgba(255,255,255,.2); display:inline-block; margin-bottom:20px; }
.zt-fleet-hero-text h1 { font-size:56px; font-weight:900; margin:0 0 24px 0; line-height:1.1; color:var(--zt-white); }
@media(max-width:768px){ .zt-fleet-hero-text h1{font-size:40px} }
.zt-fleet-hero-text p { font-size:18px; line-height:1.6; margin:0 0 40px 0; color:rgba(255,255,255,.8); max-width:500px; }
@media(max-width:1024px){ .zt-fleet-hero-text p{max-width:100%} }

.zt-fleet-hero-stats { display:flex; gap:40px; }
@media(max-width:768px){ .zt-fleet-hero-stats{justify-content:center; gap:30px} }
.zt-fleet-stat { text-align:center; }
.zt-fleet-stat-number { display:block; font-size:32px; font-weight:900; color:var(--zt-gold); font-family:var(--zt-fh); line-height:1; }
.zt-fleet-stat-label { display:block; font-size:12px; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.05em; margin-top:4px; }

.zt-fleet-hero-visual { position:relative; height:400px; }
@media(max-width:1024px){ .zt-fleet-hero-visual{height:300px; order:-1} }
.zt-fleet-hero-image { width:100%; height:100%; background:linear-gradient(135deg,rgba(63,171,120,.1),rgba(255,193,7,.1)); border-radius:var(--zt-rx); border:2px solid rgba(255,255,255,.1); position:relative; overflow:hidden; }
.zt-fleet-hero-image::before { content:'🚗'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:120px; opacity:0.3; animation:float 4s ease-in-out infinite; }

/* ═══════════════ FLEET FILTERS (NEW DESIGN) ═════════════════════ */
.zt-fleet-filters-modern { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-bottom:32px; }
.zt-filter-btn-modern { display:flex; align-items:center; gap:8px; padding:12px 20px; background:rgba(255,255,255,.05); border:1px solid var(--zt-border); border-radius:100px; color:var(--zt-muted); font-size:14px; font-weight:500; cursor:pointer; transition:all .2s; text-decoration:none; }
.zt-filter-btn-modern:hover { background:rgba(255,255,255,.1); border-color:var(--zt-border-hi); color:var(--zt-white); transform:translateY(-2px); }
.zt-filter-btn-modern.active { background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; border-color:var(--zt-gold); box-shadow:0 4px 16px rgba(255,193,7,.2); }
.zt-filter-icon { font-size:18px; }
.zt-filter-text { font-weight:600; }

/* ═══════════════ FLEET SHOWCASE (NEW DESIGN) ═════════════════════ */
.zt-fleet-showcase { display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:32px; }
@media(max-width:768px){ .zt-fleet-showcase{grid-template-columns:1fr; gap:24px} }

.zt-vehicle-card { background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); overflow:hidden; transition:transform .3s var(--zt-ease), box-shadow .3s var(--zt-ease); }
.zt-vehicle-card:hover { transform:translateY(-8px); box-shadow:0 20px 48px rgba(20,85,63,.15); border-color:var(--zt-border-hi); }

.zt-vehicle-visual { position:relative; height:240px; overflow:hidden; }
@media(max-width:768px){ .zt-vehicle-visual{height:200px} }

.zt-vehicle-image { width:100%; height:100%; background-size:cover; background-position:center; background-repeat:no-repeat; position:relative; }
.zt-vehicle-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%, rgba(0,0,0,.3) 100%); }
.zt-vehicle-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--zt-primary),var(--zt-surface)); display:flex; align-items:center; justify-content:center; }
.zt-vehicle-icon { font-size:80px; color:var(--zt-muted); animation:float 3s ease-in-out infinite; }

.zt-vehicle-category { position:absolute; top:16px; left:16px; display:flex; align-items:center; gap:8px; background:rgba(0,0,0,.7); backdrop-filter:blur(10px); color:#fff; font-size:12px; font-weight:600; padding:6px 12px; border-radius:100px; }
.zt-vehicle-cat-icon { font-size:16px; }
.zt-vehicle-cat-label { font-size:11px; text-transform:uppercase; letter-spacing:.05em; }

.zt-vehicle-content { padding:32px; }
@media(max-width:768px){ .zt-vehicle-content{padding:24px} }

.zt-vehicle-header { margin-bottom:24px; }
.zt-vehicle-title-group { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.zt-vehicle-title { font-size:22px; font-weight:800; color:var(--zt-white); margin:0; flex:1; line-height:1.3; }
.zt-vehicle-year { background:rgba(63,171,120,.15); color:#3fab78; font-size:12px; font-weight:600; padding:4px 10px; border-radius:100px; white-space:nowrap; border:1px solid rgba(63,171,120,.2); }
.zt-vehicle-desc { font-size:14px; line-height:1.6; color:rgba(255,255,255,.7); margin:0; }

.zt-vehicle-specs { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:24px; }
@media(max-width:480px){ .zt-vehicle-specs{grid-template-columns:1fr} }
.zt-vehicle-spec-item { display:flex; align-items:center; gap:8px; padding:10px 14px; background:rgba(255,255,255,.05); border:1px solid var(--zt-border); border-radius:var(--zt-r); font-size:13px; color:var(--zt-muted); transition:background .2s, border-color .2s; }
.zt-vehicle-spec-item:hover { background:rgba(63,171,120,.1); border-color:rgba(63,171,120,.3); }
.zt-vehicle-spec-icon { font-size:14px; flex-shrink:0; }

.zt-vehicle-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
@media(max-width:480px){ .zt-vehicle-footer{flex-direction:column; align-items:stretch; gap:12px} }

.zt-vehicle-pricing { display:flex; flex-direction:column; gap:4px; }
.zt-vehicle-price-label { font-size:11px; color:var(--zt-muted); text-transform:uppercase; letter-spacing:.05em; }
.zt-vehicle-price { font-size:24px; font-weight:900; color:var(--zt-gold); font-family:var(--zt-fh); line-height:1; }
.zt-vehicle-price-unit { font-size:12px; color:var(--zt-muted); }

.zt-vehicle-btn { display:flex; align-items:center; gap:8px; padding:12px 20px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); color:#fff; border:1px solid rgba(255,255,255,.1); border-radius:var(--zt-r); text-decoration:none; font-weight:600; font-size:14px; transition:all .2s; white-space:nowrap; }
.zt-vehicle-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); background:linear-gradient(135deg,var(--zt-gold-l),var(--zt-gold)); }
.zt-vehicle-btn-icon { font-size:16px; }
.zt-vehicle-btn-text { font-weight:600; }

/* ═══════════════ FLEET FEATURES (NEW DESIGN) ═════════════════════ */
.zt-fleet-features { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:32px; }
@media(max-width:768px){ .zt-fleet-features{grid-template-columns:1fr; gap:24px} }

.zt-fleet-feature { display:flex; gap:20px; padding:32px; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); transition:transform .2s, box-shadow .2s; }
.zt-fleet-feature:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(20,85,63,.1); }
.zt-fleet-feature-icon { font-size:40px; flex-shrink:0; width:60px; height:60px; display:flex; align-items:center; justify-content:center; background:rgba(63,171,120,.1); border-radius:var(--zt-r); }
.zt-fleet-feature-content { flex:1; }
.zt-fleet-feature h4 { font-size:18px; font-weight:700; color:var(--zt-white); margin:0 0 12px 0; }
.zt-fleet-feature p { font-size:14px; line-height:1.6; color:rgba(255,255,255,.7); margin:0; }

/* ═══════════════ TOURISM CIRCUITS ═══════════════════════════════════ */
.zt-tour-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:32px; }
@media(max-width:1024px){ .zt-tour-grid{grid-template-columns:1fr; gap:28px} }
.zt-tour-card { overflow:hidden; background:var(--zt-card); border:1px solid var(--zt-border); border-radius:var(--zt-rx); transition:transform .25s var(--zt-ease), box-shadow .25s var(--zt-ease); position:relative; }
.zt-tour-card:hover { transform:translateY(-8px); box-shadow:0 20px 48px rgba(20,85,63,.18); border-color:var(--zt-border-hi); }
.zt-tour-img { position:relative; height:220px; overflow:hidden; }
.zt-tour-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--zt-ease); }
.zt-tour-card:hover .zt-tour-img img { transform:scale(1.08); }
.zt-tour-badge { position:absolute; top:16px; right:16px; background:linear-gradient(135deg,var(--zt-gold),var(--zt-gold-dk)); backdrop-filter:blur(10px); color:#fff; font-size:12px; font-weight:700; padding:8px 12px; border-radius:100px; display:flex; align-items:center; gap:6px; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 12px rgba(255,193,7,.3); }
.zt-tour-icon { font-size:16px; }
.zt-tour-body { padding:28px; }
.zt-tour-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.zt-tour-header h3 { font-size:20px; margin:0; color:var(--zt-white); font-weight:700; flex:1; }
.zt-tour-duration { display:flex; align-items:center; gap:4px; background:rgba(63,171,120,.15); color:#3fab78; font-size:12px; padding:4px 10px; border-radius:100px; font-weight:600; white-space:nowrap; border:1px solid rgba(63,171,120,.2); }
.zt-tour-desc { font-size:14px; line-height:1.6; color:rgba(255,255,255,.7); margin-bottom:20px; }
.zt-tour-highlights { margin-bottom:20px; }
.zt-tour-highlights h4 { font-size:14px; font-weight:700; color:var(--zt-light); margin-bottom:8px; }
.zt-tour-highlights ul { list-style:none; padding:0; margin:0; }
.zt-tour-highlights li { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--zt-muted); margin-bottom:6px; }
.zt-tour-highlights li::before { content:'✨'; font-size:12px; }
.zt-tour-includes { margin-bottom:20px; }
.zt-tour-includes h4 { font-size:14px; font-weight:700; color:var(--zt-light); margin-bottom:8px; }
.zt-tour-tags { display:flex; flex-wrap:wrap; gap:8px; }
.zt-tour-tag { background:rgba(255,255,255,.08); border:1px solid var(--zt-border); color:var(--zt-muted); font-size:12px; padding:4px 10px; border-radius:100px; transition:background .2s, color .2s; }
.zt-tour-tag:hover { background:rgba(63,171,120,.15); color:#3fab78; border-color:rgba(63,171,120,.3); }
.zt-tour-footer { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; padding:16px; background:rgba(255,255,255,.03); border-radius:var(--zt-r); border:1px solid var(--zt-border); }
.zt-tour-price { display:flex; flex-direction:column; gap:4px; }
.zt-tour-group { display:flex; align-items:center; gap:4px; color:var(--zt-muted); font-size:12px; }
.zt-tour-btn { width:100%; justify-content:center; padding:14px 20px; font-size:15px; font-weight:600; transition:transform .2s, box-shadow .2s; }
.zt-tour-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,193,7,.3); }
.zt-notify-form { max-width:460px; margin:0 auto; display:flex; gap:10px; }
@media(max-width:560px){ .zt-notify-form { flex-direction:column; } }
.zt-notify-form input { flex:1; }

@media(max-width:640px){
  .section { padding:56px 0; }
  /* Hero centré sur mobile */
  .zt-hero { min-height:100vh; align-items:center; text-align:center; }
  .zt-hero-body { padding:120px 20px 140px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .zt-hero-content { text-align:center; max-width:100%; width:100%; }
  .zt-hero-title { font-size:clamp(28px,7vw,42px); text-align:center; margin:16px auto 20px; }
  .zt-hero-sub { margin-left:auto; margin-right:auto; max-width:100%; text-align:center; }
  .zt-hero-btns { justify-content:center; flex-direction:column; align-items:center; gap:12px; }
  .zt-hero-btns .btn { width:100%; max-width:300px; text-align:center; }
  .zt-qform { border-radius:var(--zt-rl); max-width:100%; }
  .badge { display:inline-flex; justify-content:center; }
  /* Trust bar */
  .zt-trust-row  { overflow-x:auto; }
  .zt-trust-item { min-width:148px; }
}
