/* EZVŌY Global — AI layer + UX polish */
:root{
  --ez-ai:#00B4DB;
  --ez-ai-ink:#001E4D;
  --ez-surface:#ffffff;
  --ez-surface-2:#f3f6fb;
  --ez-text:#001E4D;
  --ez-line:rgba(0,74,173,0.16);
}

/* ---------- Smart band ---------- */
.ez-band{
  margin:0 6vw 6vh;background:var(--ez-surface);border:1px solid var(--ez-line);
  border-radius:18px;padding:22px;box-shadow:0 18px 44px rgba(0,51,119,0.08);
}
.ez-band .ez-kicker{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.12em;
  color:var(--ez-ai);font-weight:700;margin-bottom:8px;
}
.ez-band h2{font-size:clamp(20px,2.4vw,28px);margin:0 0 6px;line-height:1.15;color:var(--ez-text);}
.ez-band p.ez-sub{margin:0 0 16px;font-size:14px;color:rgba(0,74,173,0.72);max-width:62ch;}
.ez-search-row{display:flex;gap:10px;flex-wrap:wrap;}
.ez-search-row input{
  flex:1 1 320px;min-width:0;border:1px solid var(--ez-line);border-radius:10px;padding:14px 16px;
  font-family:'Sora',sans-serif;font-size:15px;color:var(--ez-text);background:var(--ez-surface);outline:none;
}
.ez-search-row input:focus{border-color:var(--ez-ai);box-shadow:0 0 0 4px rgba(0,180,219,0.14);}
.ez-btn{
  font-family:'Sora',sans-serif;font-weight:700;font-size:14px;border-radius:10px;padding:13px 20px;
  border:1px solid transparent;background:#004AAD;color:#fff;cursor:pointer;transition:transform .15s ease,opacity .15s ease;
}
.ez-btn:hover{transform:translateY(-1px);}
.ez-btn[disabled]{opacity:.55;cursor:progress;transform:none;}
.ez-btn.ghost{background:transparent;color:#004AAD;border-color:var(--ez-line);}
.ez-btn.small{padding:8px 13px;font-size:12px;border-radius:8px;}
.ez-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.ez-chip{
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:0.04em;
  border:1px solid var(--ez-line);background:var(--ez-surface-2);color:#004AAD;border-radius:99px;
  padding:8px 14px;cursor:pointer;
}
.ez-chip:hover{border-color:var(--ez-ai);color:var(--ez-ai);}
.ez-band-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center;}
.ez-note{font-size:12px;color:rgba(0,74,173,0.6);}

/* ---------- Result / itinerary cards ---------- */
.ez-result{
  margin-top:18px;border:1px solid var(--ez-line);border-radius:14px;padding:18px;background:var(--ez-surface-2);
}
.ez-result h3{margin:0 0 6px;font-size:17px;color:var(--ez-text);}
.ez-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;}
.ez-tag{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:0.06em;
  background:rgba(0,180,219,0.12);color:#00728a;border-radius:99px;padding:6px 11px;text-transform:uppercase;
}
.ez-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.ez-day{border:1px solid var(--ez-line);border-radius:12px;background:var(--ez-surface);padding:14px;margin-bottom:10px;}
.ez-day strong{display:block;font-size:14px;color:var(--ez-text);margin-bottom:6px;}
.ez-day ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65;color:rgba(0,74,173,0.85);}
.ez-list{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6;color:rgba(0,74,173,0.85);}

/* ---------- Concierge ---------- */
.ez-fab{
  position:fixed;right:20px;bottom:74px;z-index:120;display:flex;align-items:center;gap:9px;
  background:#004AAD;color:#FAFF00;border:none;border-radius:99px;padding:14px 20px;cursor:pointer;
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:0.08em;
  box-shadow:0 14px 32px rgba(0,30,77,0.35);
}
.ez-fab:hover{transform:translateY(-2px);}
.ez-panel{
  position:fixed;right:20px;bottom:20px;z-index:130;width:min(400px,calc(100vw - 32px));
  max-height:min(640px,calc(100vh - 40px));display:none;flex-direction:column;
  background:var(--ez-surface);border:1px solid var(--ez-line);border-radius:18px;overflow:hidden;
  box-shadow:0 26px 60px rgba(0,30,77,0.3);
}
.ez-panel.open{display:flex;}
.ez-panel-head{
  background:#004AAD;color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.ez-panel-head .t{font-size:14px;font-weight:700;}
.ez-panel-head .s{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.1em;color:#FAFF00;}
.ez-panel-head button{background:transparent;border:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;}
.ez-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--ez-surface-2);}
.ez-msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.6;white-space:pre-wrap;}
.ez-msg.bot{background:var(--ez-surface);border:1px solid var(--ez-line);color:var(--ez-text);align-self:flex-start;}
.ez-msg.me{background:#004AAD;color:#fff;align-self:flex-end;}
.ez-msg.err{background:#fff2f0;border:1px solid #f3b4ad;color:#8c2018;align-self:flex-start;}
.ez-panel-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ez-line);background:var(--ez-surface);}
.ez-panel-form input{
  flex:1;border:1px solid var(--ez-line);border-radius:10px;padding:11px 13px;font-family:'Sora',sans-serif;
  font-size:13.5px;color:var(--ez-text);background:var(--ez-surface);outline:none;
}
.ez-panel-quick{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px 0;background:var(--ez-surface);}

/* ---------- Wizard / drawer ---------- */
.ez-sheet{
  position:fixed;inset:0;z-index:140;background:rgba(0,30,77,0.55);display:none;
  align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);
}
.ez-sheet.open{display:flex;}
.ez-sheet-card{
  width:min(700px,100%);max-height:88vh;overflow:auto;background:var(--ez-surface);color:var(--ez-text);
  border-radius:18px;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,0.35);
}
.ez-sheet-card h3{margin:4px 0 14px;font-size:20px;}
.ez-steps{display:flex;gap:6px;margin-bottom:16px;}
.ez-steps span{flex:1;height:4px;border-radius:99px;background:var(--ez-line);}
.ez-steps span.on{background:var(--ez-ai);}
.ez-field{margin-bottom:14px;}
.ez-field label{display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.1em;margin-bottom:6px;color:rgba(0,74,173,0.7);text-transform:uppercase;}
.ez-field input,.ez-field select,.ez-field textarea{
  width:100%;border:1px solid var(--ez-line);border-radius:9px;padding:12px;font-family:'Sora',sans-serif;
  font-size:14px;color:var(--ez-text);background:var(--ez-surface);outline:none;
}
.ez-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ez-compare{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px;}
.ez-compare th,.ez-compare td{border:1px solid var(--ez-line);padding:9px 11px;text-align:left;vertical-align:top;}
.ez-compare th{background:var(--ez-surface-2);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;}
.ez-saved-item{
  border:1px solid var(--ez-line);border-radius:12px;padding:13px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start;
}
.ez-saved-item h4{margin:0 0 4px;font-size:14px;}
.ez-saved-item p{margin:0;font-size:12.5px;color:rgba(0,74,173,0.72);}

/* ---------- Theme toggle ---------- */
.ez-theme{
  position:fixed;left:20px;bottom:20px;z-index:120;border:1px solid var(--ez-line);border-radius:99px;
  background:var(--ez-surface);color:#004AAD;cursor:pointer;padding:10px 15px;
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:0.08em;
  box-shadow:0 10px 26px rgba(0,30,77,0.16);
}

/* ---------- Dark mode ---------- */
body.ez-dark{
  --paper:#0d1a2f;--glass:rgba(16,29,51,0.9);--line:rgba(140,190,255,0.22);
  --gray:rgba(214,232,255,0.72);--navy:#e8f1ff;--blue:#8fc7ff;--blue-ink:#e8f1ff;
  --ez-surface:#101d33;--ez-surface-2:#0a1526;--ez-text:#e8f1ff;--ez-line:rgba(140,190,255,0.22);
  background:#08111f;color:#e8f1ff;
}
body.ez-dark #landing,
body.ez-dark .content-section,
body.ez-dark .page-content,
body.ez-dark .brand-body,
body.ez-dark .demo-card,
body.ez-dark .city-pill,
body.ez-dark .brand-ribbon,
body.ez-dark .brand-ribbon button,
body.ez-dark .why-card,
body.ez-dark .value-card,
body.ez-dark .blog-card,
body.ez-dark .exp-card,
body.ez-dark .event-card,
body.ez-dark .consult-card,
body.ez-dark .day-card,
body.ez-dark .builder-side,
body.ez-dark .dash-topbar,
body.ez-dark .filter-chip,
body.ez-dark .empty-state,
body.ez-dark .modal-card,
body.ez-dark .modal-secondary,
body.ez-dark .event-action,
body.ez-dark .form-field input,
body.ez-dark .form-field select,
body.ez-dark .form-field textarea{
  background:#101d33;color:#e8f1ff;
}
body.ez-dark .ez-band,
body.ez-dark .ez-panel,
body.ez-dark .ez-sheet-card{background:#101d33;color:#e8f1ff;}
body.ez-dark .ez-band h2,
body.ez-dark .ez-result h3,
body.ez-dark .ez-day strong{color:#e8f1ff;}
body.ez-dark .ez-band p.ez-sub,
body.ez-dark .ez-note,
body.ez-dark .ez-day ul,
body.ez-dark .ez-list,
body.ez-dark .ez-saved-item p{color:rgba(214,232,255,0.75);}
body.ez-dark .ez-result,
body.ez-dark .ez-log,
body.ez-dark .ez-chip,
body.ez-dark .ez-compare th{background:#0a1526;color:#e8f1ff;}
body.ez-dark .ez-day,
body.ez-dark .ez-msg.bot,
body.ez-dark .ez-search-row input,
body.ez-dark .ez-field input,
body.ez-dark .ez-field select,
body.ez-dark .ez-field textarea,
body.ez-dark .ez-panel-form input,
body.ez-dark .ez-panel-form,
body.ez-dark .ez-panel-quick,
body.ez-dark .ez-theme{background:#101d33;color:#e8f1ff;}
body.ez-dark .ez-btn.ghost,
body.ez-dark .ez-theme{color:#8fc7ff;}

/* ---------- Mobile polish ---------- */
@media (max-width:720px){
  .ez-band{margin:0 4vw 5vh;padding:18px;border-radius:14px;}
  .ez-search-row input{flex:1 1 100%;}
  .ez-search-row .ez-btn{flex:1 1 100%;}
  .ez-grid2{grid-template-columns:1fr;}
  .ez-fab{right:14px;bottom:66px;padding:12px 16px;}
  .ez-fab span.label{display:none;}
  .ez-theme{left:14px;bottom:14px;}
  .ez-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:calc(100vh - 20px);}
  .ez-compare{display:block;overflow-x:auto;}
}
@media (prefers-reduced-motion:reduce){
  .ez-btn:hover,.ez-fab:hover{transform:none;}
}
@media print{
  .ez-fab,.ez-theme,.ez-panel,.preview-badge{display:none !important;}
}