/* Kez Home - Material-inspired, RTL */
@font-face{font-family:'IRANSansWebFN';src:url('../assets/fonts/IRANSansWeb(FaNum).woff2') format('woff2'),url('../assets/fonts/IRANSansWeb(FaNum).woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansWebFN';src:url('../assets/fonts/IRANSansWeb(FaNum)_Medium.woff2') format('woff2'),url('../assets/fonts/IRANSansWeb(FaNum)_Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansWebFN';src:url('../assets/fonts/IRANSansWeb(FaNum)_Bold.woff2') format('woff2'),url('../assets/fonts/IRANSansWeb(FaNum)_Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--c-primary:#1e88e5;--c-primary-dark:#1565c0;--c-accent:#ff9800;--c-accent-dark:#e07700;--c-surface:#ffffff;--c-bg:#ffffff;--c-text:#0f172a;--c-muted:#64748b;--r-lg:14px;--r-sm:10px;--shadow:0 10px 30px rgba(2,8,23,.12);--kez-modal-duration:1s}
.kez-home{font-family:'IRANSansWebFN',system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--c-text);background:var(--c-bg)}
.kez-home.has-sticky{padding-top:72px}
.kez-header{position:fixed;top:0;left:0;right:0;background:#ffffffc7;backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #e2e8f0;z-index:1000}
.kez-header .container{max-width:1080px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.kez-header .left{display:flex;align-items:center;gap:8px}
.kez-header .right{display:flex;align-items:center}
.kez-header .header-legal-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px;box-shadow:0 6px 16px rgba(2,8,23,.08);cursor:pointer}
.kez-header .login-link{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--c-primary);border:1px solid var(--c-primary-dark);border-radius:999px;padding:6px 12px;box-shadow:0 6px 16px rgba(30,136,229,.18)}
.user-menu{position:relative}
.user-menu__toggle{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--c-primary);border:1px solid var(--c-primary-dark);border-radius:999px;padding:6px 12px;box-shadow:0 6px 16px rgba(30,136,229,.18);cursor:pointer}
.user-menu__toggle .avatar{width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,#93c5fd,#60a5fa)}
.user-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px rgba(2,8,23,.18);min-width:200px;display:none;overflow:hidden}
.user-menu.open .user-menu__dropdown{display:block}
.user-menu__dropdown .item{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#0f172a;text-decoration:none}
.user-menu__dropdown .item:hover{background:#f8fafc}
.user-menu__dropdown .item.danger{color:#b91c1c}
.user-menu__dropdown .item.phone{font-size:.92rem;color:#475569;cursor:default}
.kez-home .btn{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;cursor:pointer;transition:filter .15s ease,transform .02s ease;border:1px solid transparent}
.kez-home .btn:active{transform:translateY(1px)}
.kez-home .btn.primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary-dark);box-shadow:0 6px 18px rgba(30,136,229,.3)}
.kez-home .btn.outline{background:#fff;color:var(--c-primary);border-color:var(--c-primary-dark)}
.kez-home .btn.ghost{background:transparent;color:var(--c-primary)}
.kez-home .btn.text{background:transparent;color:var(--c-accent)}
/* driver panel orange style */
.btn-driver{color:var(--c-accent-dark) !important; border-color: var(--c-accent-dark) !important}
.hero .btn-driver-cta{color:var(--c-accent-dark) !important; border-color: var(--c-accent-dark) !important}
/* HERO */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#ffffff;padding:14px 12px 16px;min-height:400px;display:flex;align-items:center;justify-content:center}
.hero .hero-content{width:100%;max-width:100%;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.hero h1{margin:0;font-size:1.8rem;line-height:1.4;display:none}
.hero p{margin:0;color:var(--c-muted);display:none}
.hero .hero-ctas{display:flex;gap:12px;flex-wrap:nowrap;align-items:center;justify-content:center;width:100%;max-width:100%;overflow:hidden}
.hero .hero-ctas .btn{display:block;flex:1 1 0;min-width:90px;text-align:center;white-space:nowrap}
.hero.role-customer .hero-ctas .btn-user-panel{flex:1 1 65%}
.hero.role-customer .hero-ctas .btn-driver-cta{flex:1 1 35%}
.hero.role-courier .hero-ctas .btn-driver-cta{flex:1 1 65%}
.hero.role-courier .hero-ctas .btn-user-panel{flex:1 1 35%}
/* BANNER SLIDER */
.kez-banner-slider{width:100%;padding:0 0 12px;margin:0;background:#fff;overflow:hidden}
.kez-banner-viewport{position:relative;width:100%;max-width:1280px;margin:0 auto;overflow:hidden;border-radius:16px;background:#000;aspect-ratio:16/6;min-height:240px;box-sizing:border-box;touch-action:pan-y}
.kez-banner-viewport img{width:100%;height:100%;object-fit:cover;display:block}
.banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;pointer-events:none}
.banner-slide.is-active{opacity:1;pointer-events:auto}
/* FEATURES */
.features{padding:22px 16px;background:#ffffff}
.features .cards{max-width:1080px;margin:0 auto;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.features .card{display:grid;grid-template-columns:auto 1fr;grid-auto-rows:auto;align-items:center;gap:6px 10px;background:var(--c-surface);border-radius:var(--r-lg);padding:16px;border:1px solid #e2e8f0;box-shadow:none}
.features .card h3{grid-column:2;grid-row:1;margin:6px 0 4px 0;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.features .card p{grid-column:1/3;grid-row:2;margin:0;color:var(--c-muted);}
.features .icon{grid-column:1;grid-row:1;width:40px;height:40px;border-radius:10px;background:var(--c-primary);opacity:.9}
.features .i-safe{background:linear-gradient(135deg,var(--c-primary),#7dd3fc)}
.features .i-speed{background:linear-gradient(135deg,var(--c-accent),#ffe1b2)}
.features .i-value{background:linear-gradient(135deg,#22c55e,#bbf7d0)}
/* CTA */
.cta{padding:26px 16px}
.cta .cta-inner{max-width:1080px;margin:0 auto;background:#ffffff;border:1px solid #f1e6d6;border-radius:var(--r-lg);padding:16px;box-shadow:0 8px 26px rgba(245,158,11,.15)}
.cta .cta-inner.compact h2{font-size:1.2rem;margin-bottom:6px}
.cta .cta-inner.compact p{font-size:.95rem;margin-bottom:10px}
.cta h2{margin:0 0 8px 0}
.cta p{margin:0 0 12px 0;color:#6b7280}
.cta .cta-buttons{display:flex;gap:10px;flex-wrap:wrap}
/* STICKY REQUEST FAB */
.request-fab{position:fixed;inset:auto 16px 28px auto;background:var(--c-primary);color:#fff;text-decoration:none;border:1px solid var(--c-primary-dark);border-radius:16px;padding:12px 18px;box-shadow:0 16px 44px rgba(30,136,229,.42);z-index:9000;transform:translateY(0);animation:kez-float 3.2s ease-in-out infinite alternate}
.request-fab:hover,.request-fab:focus-visible{transform:translateY(-3px);box-shadow:0 20px 52px rgba(30,136,229,.46)}
@keyframes kez-float{0%{transform:translateY(0);box-shadow:0 14px 40px rgba(30,136,229,.40)}100%{transform:translateY(-4px);box-shadow:0 18px 50px rgba(30,136,229,.46)}}
/* LEGAL MODAL */
.legal-modal[hidden]{display:none}
.legal-modal{z-index:10020}
.legal-modal .legal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10010}
.legal-modal .legal-dialog{position:fixed;inset:0;transform:none;background:#fff;border-radius:0;width:100vw;max-width:100vw;height:100dvh;min-height:100vh;max-height:100dvh;box-shadow:0 12px 36px rgba(2,8,23,.2);border:0;display:flex;flex-direction:column;z-index:10020;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom,16px)}
.legal-modal .legal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fff}
.legal-modal .legal-body{padding:14px 16px calc(16px + env(safe-area-inset-bottom,16px));flex:1;overflow:auto;box-sizing:border-box}
.legal-modal .legal-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}
.legal-modal .legal-list li{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#334155}
.legal-modal .legal-list strong{font-weight:700;color:#475569;text-align:left}
.legal-modal .close{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}
.legal-cert-grid{margin-top:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.legal-cert-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.legal-cert-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 20px rgba(2,8,23,.08);padding:12px;display:flex;flex-direction:column;gap:6px}
.legal-cert-card h4{margin:0;font-size:.95rem;color:#556070;text-align:center}
.legal-cert-card .legal-cert-body{font-size:.94rem;color:#2f3c4f;text-align:center}
.kez-home-login-modal[hidden]{display:none}
body.kez-login-modal-open{overflow:hidden}
.kez-home-login-modal{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;z-index:10000;pointer-events:none;opacity:0;transition:opacity .3s ease}
.kez-home-login-modal.is-active{pointer-events:auto;opacity:1}
.kez-home-login-modal .login-modal-overlay{position:absolute;inset:0;background:rgba(15,23,42,.45);opacity:0;transition:opacity var(--kez-modal-duration) ease}
.kez-home-login-modal.is-active .login-modal-overlay{opacity:1}
.kez-home-login-modal .login-modal-sheet{position:relative;width:100%;max-width:100%;max-height:92vh;height:auto;background:#fff;border-radius:32px 32px 0 0;box-shadow:0 18px 48px rgba(15,23,42,.2);padding:24px 20px 28px;display:flex;flex-direction:column;pointer-events:auto;overflow:hidden;transform:translateY(90px) scale(.95);transition:transform var(--kez-modal-duration) cubic-bezier(.25,.85,.32,1);will-change:transform}
.kez-home-login-modal.is-active .login-modal-sheet{transform:translateY(0) scale(1)}
.kez-home-login-modal .login-modal-head{display:flex;justify-content:flex-end;margin-bottom:10px}
.kez-home-login-modal .login-modal-close{border:none;border-radius:999px;width:36px;height:36px;color:#212121;cursor:pointer;font-size:1.4rem;line-height:1}
.kez-home-login-modal .login-modal-body{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:column;gap:12px}
.kez-home-login-modal .login-modal-iframe{width:100%;flex:1;height:min(80vh,640px);min-height:420px;border:0;border-radius:20px;background:#f8fafc}
.kez-home-login-modal .login-modal-fallback{margin:0;text-align:center;font-size:12px;color:#475569}
.kez-home-login-modal .login-modal-fallback a{color:var(--c-primary);text-decoration:underline}
/* Prevent overlap with sticky FAB */
.features{padding-bottom:30px}
.cta{padding-bottom:72px}
/* RESPONSIVE */
@media (max-width: 768px){
  .hero{padding:16px;min-height:150px}
  .hero h1{display:none}
  .hero p{display:none}
  .hero .hero-ctas{gap:8px;justify-content:center}
  .hero .hero-ctas .request-service{display:none}
  .kez-banner-slider{padding:0 0 12px;}
  .kez-banner-viewport{width:95%;margin:0 auto;border-radius:10px;aspect-ratio:16/7;min-height:200px;touch-action:pan-y}
  .features{display:block;padding:10px 12px 24px;background:#ffffff}
  .features .cards{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .features .cards::-webkit-scrollbar{display:none}
  .features .card{min-width:275px;max-width:310px;padding:12px;box-shadow:none}
  .features .card h3{font-size:.98rem}
  .features .card p{font-size:.9rem;line-height:1.4}
  .legal-modal .legal-list li{grid-template-columns:1fr;justify-items:start}
  .cta{padding:12px}
  .cta .cta-inner{padding:12px}
  .legal-cert-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* request fab nearly full width on mobile */
  .request-fab{left:16px; right:16px; inset:auto 16px 28px 16px; text-align:center; border-radius:12px; padding:14px 18px; font-weight:700; box-shadow:0 18px 50px rgba(30,136,229,.46)}
}
