@font-face{font-family:Pelak;src:url('../Fonts/PelakFA-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Pelak;src:url('../Fonts/PelakFA-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--cream:#fff8eb;--cream2:#fff0cf;--paper:#fffdf8;--gold:#d5a72f;--gold2:#f4d982;--green:#45ad73;--ink:#1f242c;--muted:#6f7784;--line:rgba(213,167,47,.28);--line2:rgba(31,36,44,.09);--shadow:0 14px 40px rgba(77,87,105,.10)}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:Pelak,Tahoma,sans-serif;color:var(--ink);background:linear-gradient(135deg,#fffdf8 0,#fff8eb 48%,#f8efd8 100%)}a,button{font-family:inherit}.container{max-width:1180px}
.breadcrumb-nav .breadcrumb{background:rgba(255,253,248,.92);border:1px solid var(--line);border-radius:18px;padding:10px 14px;box-shadow:0 10px 26px rgba(77,87,105,.07)}.breadcrumb a{color:#21804f;text-decoration:none;font-weight:900}.breadcrumb-item.active{color:var(--muted);font-weight:800}
.section-box{position:relative;overflow:hidden;margin-top:16px;padding:16px;border-radius:28px;background:rgba(255,253,248,.92);border:1px solid var(--line);box-shadow:var(--shadow)}.section-box:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),var(--green),var(--gold2))}.hero-box{margin-top:12px}
.box-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.box-title>i{width:40px;height:40px;display:grid;place-items:center;border-radius:15px;background:#fff4cf;color:#ad8113;border:1px solid rgba(213,167,47,.20)}.box-title h2{font-size:1.08rem;font-weight:950;margin:0 0 4px}.box-title p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.7}
.carlist-map-card{padding:12px;border-radius:24px;background:linear-gradient(145deg,#fffdf8,#fff5dd);border:1px solid rgba(213,167,47,.32);box-shadow:0 14px 36px rgba(77,87,105,.09)}.carlist-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.carlist-map-head strong{display:flex;align-items:center;gap:8px;font-weight:950}.carlist-map-head strong i{color:var(--gold)}.carlist-map-head small{display:block;margin-top:4px;color:var(--muted);font-size:.8rem;font-weight:800}.ghost-map-btn{border:1px solid rgba(213,167,47,.38);background:#fffaf0;color:#5d4a0e;border-radius:999px;padding:9px 13px;font-weight:950;white-space:nowrap;cursor:pointer;transition:.2s}.ghost-map-btn:hover{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--ink)}.carlist-map-wrap{position:relative;height:340px;border-radius:22px;overflow:hidden;background:#fff8eb;border:1px solid var(--line2)}.carlist-route-map-live{position:absolute;inset:0;z-index:2;display:none}.carlist-route-map-live.active{display:block}.carlist-route-sketch{position:absolute;inset:0;z-index:1;display:none;overflow:hidden;background:radial-gradient(circle at 20% 24%,rgba(213,167,47,.20),transparent 23%),radial-gradient(circle at 78% 68%,rgba(69,173,115,.14),transparent 28%),linear-gradient(135deg,#f8efd8,#fffaf0)}.carlist-route-sketch.active{display:block}.carlist-route-sketch canvas{position:absolute;inset:0;z-index:3}.map-grid{position:absolute;inset:-20%;z-index:1;background-image:linear-gradient(rgba(31,36,44,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,36,44,.05) 1px,transparent 1px);background-size:44px 44px;transform:rotate(-10deg)}.map-pin{position:absolute;z-index:4;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--line2);box-shadow:0 10px 24px rgba(77,87,105,.14);font-size:.78rem;font-weight:950}.map-pin-origin{right:24px;bottom:24px}.map-pin-origin i{color:var(--green)}.map-pin-dest{left:24px;top:24px}.map-pin-dest i{color:var(--gold)}.leaflet-control-attribution{font-size:10px!important}
.route-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.route-alert{grid-column:1/-1;display:flex;gap:9px;align-items:center;padding:10px 13px;border-radius:16px;font-weight:900;line-height:1.8}.route-alert.ok{background:#effaf4;color:#17633d;border:1px solid #cdeed9}.route-alert.warn{background:#fff5d9;color:#88650d;border:1px solid #edd48d}.route-alert.error{background:#fff0f0;color:#8a1212;border:1px solid #f0bbbb}.dash-card{padding:14px;border-radius:20px;background:#fff;border:1px solid var(--line2);box-shadow:0 10px 24px rgba(77,87,105,.06)}.dash-card i{width:36px;height:36px;display:grid;place-items:center;border-radius:14px;background:#fff1c7;color:#ad8113;margin-bottom:8px}.dash-card span{display:block;color:var(--muted);font-size:.82rem}.dash-card strong{display:block;margin-top:4px;font-size:1rem;font-weight:950}.dash-card.primary{background:linear-gradient(145deg,#fff9e8,#fff);border-color:rgba(213,167,47,.34)}.dash-card.primary i{background:#edf9f2;color:#248455}
.class-grid-wrap{margin-top:16px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head h2{font-size:1.45rem;font-weight:950;margin:0 0 5px}.section-head p{margin:0;color:var(--muted);line-height:1.8}.mini-link{display:inline-flex;align-items:center;gap:7px;color:#21804f;text-decoration:none;background:#fff;border:1px solid rgba(69,173,115,.24);border-radius:999px;padding:9px 13px;font-weight:950;white-space:nowrap}.mini-link:hover{background:#effaf4;color:#17633d}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vehicle-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0;padding:12px;border-radius:25px;background:linear-gradient(180deg,#fff,#fff8e8);border:1px solid var(--line);box-shadow:0 14px 36px rgba(77,87,105,.09);transition:.2s}.vehicle-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(77,87,105,.12)}.vehicle-card.recommended{border-color:rgba(69,173,115,.55);background:linear-gradient(180deg,#f0fff5,#fff9e8)}.recommend-badge{position:absolute;top:16px;left:16px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(69,173,115,.95);color:#fff;font-size:.76rem;font-weight:950;box-shadow:0 10px 22px rgba(69,173,115,.24)}
.car-slider{height:188px;position:relative;overflow:hidden;border-radius:21px;margin-bottom:12px;background:linear-gradient(145deg,#fff2c5,#fffdf8);border:1px solid rgba(213,167,47,.23)}.slider-glow{position:absolute;inset:auto -55px -85px auto;width:170px;height:170px;border-radius:50%;background:rgba(69,173,115,.15);z-index:0}.slide-item{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04) translateY(6px);transition:opacity .65s ease,transform .9s ease;z-index:1}.slide-item.is-active{opacity:1;transform:scale(1) translateY(0)}.slide-item img{display:block;width:100%;height:100%;object-fit:cover}.slide-item.img-missing{display:none}.slide-item.img-missing:before{content:"تصویر خودرو یافت نشد";position:absolute;inset:0;display:grid;place-items:center;background:#fff7de;color:#8a6a13;font-weight:900}.slide-item:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(0deg,rgba(0,0,0,.30),transparent)}.slider-caption{position:absolute;right:11px;bottom:11px;z-index:2;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(0,0,0,.08);font-size:.8rem;font-weight:950}.slider-caption i{color:#ad8113}.slider-dots{position:absolute;left:13px;bottom:14px;z-index:2;display:flex;gap:5px}.slider-dots span{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.72);transition:.2s}.slider-dots span.active{width:17px;background:var(--green)}
.vehicle-top{padding:0 4px;margin-bottom:7px}.vehicle-top h3{margin:0;font-size:1.25rem;font-weight:950}.vehicle-top span{display:block;margin-top:2px;font-size:.84rem;color:#238154;font-weight:850}.vehicle-desc{margin:0 4px 11px;color:#626a76;line-height:1.9;min-height:64px}.vehicle-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.vehicle-metrics>div{padding:10px;border-radius:16px;background:#fff;border:1px solid var(--line2)}.vehicle-metrics small{display:block;color:#7a818c;font-size:.8rem}.vehicle-metrics strong{display:block;margin-top:4px;font-size:.98rem;font-weight:950}.vehicle-metrics em{font-style:normal;color:#7a818c;font-size:.76rem}.vehicle-foot{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;margin-top:11px}.ghost-btn,.select-btn{padding:11px;border-radius:16px;text-align:center;text-decoration:none;font-weight:950;transition:.2s}.ghost-btn{background:#fff;border:1px solid var(--line2);color:var(--ink)}.ghost-btn:hover{background:#fff8e5;color:var(--ink)}.select-btn{background:linear-gradient(135deg,#81dca5,#45ad73);color:#fff;box-shadow:0 10px 23px rgba(69,173,115,.24)}.select-btn:hover{color:#fff;transform:translateY(-1px)}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:950}
@media(max-width:992px){.route-dashboard{grid-template-columns:repeat(2,1fr)}.vehicle-grid{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}.carlist-map-wrap{height:320px}}
@media(max-width:576px){.breadcrumb-nav{padding-inline:10px}.section-box{border-radius:23px;padding:13px;margin-top:13px}.carlist-map-card{border-radius:21px;padding:10px}.carlist-map-head{display:block}.ghost-map-btn{width:100%;margin-top:9px}.carlist-map-wrap{height:292px;border-radius:19px}.map-pin span{display:none}.map-pin-origin{right:16px;bottom:16px}.map-pin-dest{left:16px;top:16px}.route-dashboard,.vehicle-grid{grid-template-columns:1fr}.section-head h2{font-size:1.28rem}.mini-link{width:100%;justify-content:center}.car-slider{height:205px}.vehicle-foot{grid-template-columns:1fr}.route-alert{align-items:flex-start}.vehicle-desc{min-height:0}}

/* Mountain route fare notice */
.mountain-fare-alert{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    margin:14px auto;
    padding:15px 18px;
    border-radius:24px;
    border:1px solid rgba(199,154,45,.38);
    background:linear-gradient(135deg,#fff8df 0%,#ffffff 44%,#fff3c2 100%);
    box-shadow:0 18px 44px rgba(89,65,12,.12), inset 0 0 0 1px rgba(255,255,255,.68);
    color:#111827;
    overflow:hidden;
}
.mountain-fare-alert:before{
    content:"";
    position:absolute;
    inset:auto -60px -80px auto;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(199,154,45,.24),transparent 68%);
}
.mountain-fare-alert i{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:#111827;
    background:linear-gradient(135deg,#f6c453,#b88716);
    box-shadow:0 10px 24px rgba(184,135,22,.28);
    font-size:1.25rem;
}
.mountain-fare-alert strong{
    display:block;
    font-size:1.05rem;
    font-weight:950;
    line-height:1.8;
}
.mountain-fare-alert span{
    display:block;
    color:#5b6472;
    font-size:.88rem;
    line-height:1.9;
}
@media(max-width:576px){
    .mountain-fare-alert{margin:10px 10px 14px;padding:13px 14px;border-radius:20px;gap:10px}
    .mountain-fare-alert i{width:40px;height:40px;flex-basis:40px;border-radius:15px;font-size:1.05rem}
    .mountain-fare-alert strong{font-size:.92rem;line-height:1.7}
    .mountain-fare-alert span{font-size:.76rem;line-height:1.7}
}
