/* Rota testi (rota.js): kalkış tablosu, soru akışı, biniş kartı ve ana sayfa tanıtım bandı.
   Havalimanı öğeleri (tablo, kart) her iki temada da koyu kalır; açıklama alanları sitenin renk değişkenlerini kullanır. */
.route-app{--rt-bg:#12100d;--rt-panel:#1a1713;--rt-ink:#f4efe4;--rt-muted:#a99f8d;--rt-line:#ffffff1a;--rt-gold:var(--lime,#d6b151);--rt-flap:#f7d774;display:block;padding-bottom:40px}
.route-app em,.route-teaser em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--lime,#d6b151)}

/* ---------- Kalkış tablosu ---------- */
.route-board{container-type:inline-size;position:relative;padding:18px 18px 14px;border-radius:24px;background:linear-gradient(180deg,#191612,#0f0d0a);box-shadow:0 30px 70px #0000004d,inset 0 0 0 1px #ffffff14;color:#f4efe4;overflow:hidden}
.route-board::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,#ffffff05 0 2px,transparent 2px 4px);opacity:.6}
.route-board-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-family:Manrope,sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.2em;color:#f7d774}
.route-board-head span{display:inline-flex;align-items:center;gap:8px}
.route-board-head svg{transform:rotate(45deg)}
.route-board-head time{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.1em;color:#f4efe4}
.route-board-cols,.route-board-row{--t:1.18em;display:grid;grid-template-columns:calc(var(--t)*6) calc(var(--t)*19) calc(var(--t)*2) 1fr;gap:.9em;align-items:center;font-size:clamp(7px,calc(100cqi/45),15px)}
.route-board-cols{margin-bottom:6px;font-family:Manrope,sans-serif;font-weight:700;color:#8f8676}
.route-board-cols span{font-size:.62em;letter-spacing:.14em;white-space:nowrap}
.route-board-row{padding:5px 0;border-top:1px solid #ffffff0d}
.route-board-cell{display:flex;gap:1px;min-width:0}
.flap{position:relative;display:inline-grid;place-items:center;width:var(--t);height:1.55em;border-radius:3px;background:linear-gradient(180deg,#2a2621 0 49%,#211e1a 51% 100%);color:var(--rt-flap,#f7d774);font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-weight:700;line-height:1;box-shadow:inset 0 -1px 0 #0006}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#0009}
.flap.is-space{background:transparent;box-shadow:none}.flap.is-space::after{display:none}
.flap.is-flip{animation:flap .11s ease-in}
@keyframes flap{0%{transform:perspective(60px) rotateX(-70deg);filter:brightness(.6)}100%{transform:none}}
.route-board-row.is-match{position:relative}
.route-board-row.is-match::before{content:"";position:absolute;inset:0 -18px;background:linear-gradient(90deg,color-mix(in srgb,var(--lime,#d6b151) 26%,transparent),transparent 70%);z-index:0}
.route-board-row.is-match>*{position:relative;z-index:1}
.route-board-row.is-match .flap{color:#fff4cc}
.route-board-row.is-match .route-board-status .flap{color:#7ee3a1;animation:blink 1.2s steps(2) 2.2s infinite}
@keyframes blink{50%{opacity:.35}}

/* ---------- Giriş ---------- */
.route-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,5vw,64px);border-radius:32px;background:radial-gradient(120% 120% at 0% 0%,#2a2218 0%,#14110d 55%,#0d0b09 100%);color:#f4efe4;overflow:hidden;position:relative}
.route-intro::before{content:"";position:absolute;inset:auto -10% -40% 30%;height:80%;background:radial-gradient(closest-side,color-mix(in srgb,var(--lime,#d6b151) 22%,transparent),transparent);pointer-events:none}
.route-intro-copy{position:relative;display:grid;gap:18px}
.route-intro h1{margin:0;font-family:Manrope,sans-serif;font-size:clamp(2.3rem,5.2vw,4.2rem);line-height:1.02;letter-spacing:-.04em;color:#fff}
.route-intro p{margin:0;max-width:34ch;color:#cfc6b5;font-size:1.05rem;line-height:1.6}
.route-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}
.route-intro-actions small{color:#a99f8d;font-weight:600;letter-spacing:.04em}
.route-start{min-height:56px;padding:14px 28px;font-size:1rem}
.route-start svg{transition:transform .2s}.route-start:hover svg{transform:translateX(4px)}

/* ---------- Sorular ---------- */
.route-quiz,.route-name,.route-calc{max-width:900px;margin:0 auto;padding:clamp(22px,4vw,48px);border-radius:32px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2)}
.route-flight{position:relative;height:64px;margin:0 8px 18px}
.route-flight svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route-flight-path{fill:none;stroke:var(--line,#ddd);stroke-width:2;stroke-dasharray:1.2 1.6;vector-effect:non-scaling-stroke}
.route-flight-done{fill:none;stroke:var(--lime,#d6b151);stroke-width:3;vector-effect:non-scaling-stroke}
.route-flight-clip{transition:width .7s cubic-bezier(.4,0,.2,1)}
.route-flight-plane{position:absolute;display:grid;place-items:center;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:var(--lime,#d6b151);color:#171512;box-shadow:0 8px 20px color-mix(in srgb,var(--lime,#d6b151) 45%,transparent);transition:left .7s cubic-bezier(.4,0,.2,1),top .7s cubic-bezier(.4,0,.2,1),transform .7s}
.route-flight-plane svg{transform:rotate(calc(90deg + var(--tilt,0deg)))}
.route-flight b{position:absolute;bottom:-4px;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.14em;color:var(--muted,#777)}
.route-flight b:first-of-type{left:0}.route-flight b:last-of-type{right:0}
.route-quiz-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px}
.route-back{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted,#777);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.route-back:hover{color:var(--ink,#222);background:color-mix(in srgb,var(--ink,#222) 6%,transparent)}
.route-quiz h2,.route-name h2{margin:8px 0 22px;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.15;letter-spacing:-.03em;color:var(--ink,#222)}
.route-quiz h2:focus,.route-name h2:focus,.route-result h1:focus{outline:none}
.route-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.route-option{position:relative;display:flex;align-items:center;gap:16px;min-height:96px;padding:18px 20px;border:0;border-radius:22px;background:color-mix(in srgb,var(--ink,#222) 4%,var(--white,#fff));box-shadow:inset 0 0 0 1px var(--line,#e7e5e2);color:var(--ink,#222);font:inherit;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.route-option:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lime,#d6b151) 70%,transparent),0 12px 26px #0000001a}
.route-option:focus-visible{outline:2px solid var(--lime,#d6b151);outline-offset:3px}
.route-option.is-picked{background:color-mix(in srgb,var(--lime,#d6b151) 16%,var(--white,#fff));box-shadow:inset 0 0 0 2px var(--lime,#d6b151)}
.route-option-icon{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:18px;background:var(--white,#fff);color:var(--accent-strong,#8f6f28);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2);transition:transform .3s}
.route-option:hover .route-option-icon,.route-option.is-picked .route-option-icon{transform:rotate(-6deg) scale(1.06)}
.route-option.is-picked .route-option-icon{background:var(--lime,#d6b151);color:#171512;box-shadow:none}
.route-option-label{font-size:1rem;font-weight:650;line-height:1.35}
.route-option-key{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-size:.7rem;font-weight:800;color:var(--muted,#777);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2)}
.route-hint{margin:16px 0 0;color:var(--muted,#777);font-size:.8125rem}

/* ---------- Ad ve hesaplama ---------- */
.route-name{text-align:center}
.route-name p{max-width:46ch;margin:-8px auto 22px;color:var(--muted,#777);line-height:1.6}
.route-name-form{display:grid;justify-items:center;gap:14px;max-width:440px;margin:auto}
.route-name-field{width:100%}
.route-name-field input{width:100%;min-height:58px;padding:12px 22px;border-radius:18px;border:1px solid var(--line,#ddd);background:var(--white,#fff);color:var(--ink,#222);font:inherit;font-size:1.25rem;font-weight:700;text-align:center;letter-spacing:.06em;text-transform:uppercase}
.route-name-field input::placeholder{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted,#888)}
.route-name-field input:focus-visible{outline:2px solid var(--lime,#d6b151);outline-offset:2px}
.route-name-form .pg-btn{width:100%}
.route-skip{border:0;background:none;padding:8px;color:var(--muted,#777);font:inherit;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.route-calc{display:grid;gap:18px;justify-items:center;background:transparent;box-shadow:none;padding-inline:0}
.route-calc .route-board{width:min(760px,100%)}

/* ---------- Sonuç ---------- */
.route-result{display:grid;gap:26px}
.route-shared{justify-self:center;margin:0;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--lime,#d6b151) 16%,transparent);color:var(--ink,#222);font-size:.875rem;font-weight:600}
.route-result-head{text-align:center;display:grid;gap:10px;justify-items:center}
.route-result-head h1{margin:0;font-family:Manrope,sans-serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.04em;color:var(--ink,#222)}
.route-tagline{margin:0;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.1rem,2.4vw,1.45rem);color:var(--muted,#777)}
.route-pass-slot{position:relative;padding-top:16px;perspective:1400px}
.route-pass-slot::before{content:"";position:absolute;top:0;left:50%;width:min(900px,96%);height:14px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,#000,#2b2722);box-shadow:inset 0 -3px 6px #0009,0 2px 0 #ffffff12;z-index:2}
.route-pass-wrap{max-width:880px;margin:0 auto}
.route-pass-slot.is-printing .route-pass-wrap{animation:print 1.9s cubic-bezier(.3,.7,.3,1) both}
@keyframes print{0%{clip-path:inset(0 0 100% 0);transform:translateY(-22px)}15%{clip-path:inset(0 0 80% 0);transform:translateY(-18px)}100%{clip-path:inset(0 0 -40px 0);transform:none}}
.route-pass{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.46fr);border-radius:28px;background:linear-gradient(135deg,#221d17,#14110d 60%);color:#f4efe4;box-shadow:0 40px 80px #00000059,inset 0 0 0 1px #ffffff14;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);overflow:hidden;
 -webkit-mask:radial-gradient(circle 18px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 18px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
 mask:radial-gradient(circle 18px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 18px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;--stub:max(220px,31.5%)}
.route-pass:hover{transition:transform .08s linear}
.route-pass::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--route-color,#d6b151)}
.route-pass-shine{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),#ffffff2e,transparent 40%),conic-gradient(from 120deg at var(--mx) var(--my),#ff7eb31a,#7afcff1a,#feff9c1a,#ff7eb31a);mix-blend-mode:soft-light;opacity:.9}
.route-pass-main{display:grid;gap:18px;padding:26px 30px 26px 40px;border-right:2px dashed #ffffff2a}
.route-pass-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.2em;color:#bdb4a3}
.route-pass-brand{display:inline-flex;align-items:center;gap:8px;color:var(--lime,#d6b151)}
.route-pass-brand img{width:34px;height:auto}
.route-pass-route{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.route-pass-route>div:not(.route-pass-plane){display:grid;gap:2px}
.route-pass-route small,.route-pass-grid dt,.route-pass-stub small{font-family:Manrope,sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.16em;color:#8e8676}
.route-pass-route b{font-family:Manrope,sans-serif;font-size:clamp(2.6rem,6.5vw,4.4rem);font-weight:800;line-height:.95;letter-spacing:-.02em}
.route-pass-route>div:last-child b{color:var(--route-color,#d6b151);text-shadow:0 0 30px color-mix(in srgb,var(--route-color,#d6b151) 45%,transparent)}
.route-pass-route span{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#cfc6b5}
.route-pass-plane{display:flex;align-items:center;gap:8px;color:var(--route-color,#d6b151)}
.route-pass-plane i{flex:1;height:0;border-top:2px dashed #ffffff3a}
.route-pass-plane svg{transform:rotate(90deg);flex:0 0 auto}
.route-pass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:0}
.route-pass-grid div{display:grid;gap:3px;min-width:0}
.route-pass-grid .is-wide{grid-column:1/-1}
.route-pass-grid dd{margin:0;font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-pass-grid .is-wide dd{font-size:1.35rem}
.route-pass-stub{position:relative;display:grid;align-content:space-between;gap:14px;padding:26px 24px;isolation:isolate;overflow:hidden}
.route-pass-stub img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.route-pass-stub::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0d0b09cc,#0d0b0966 45%,#0d0b09e6)}
.route-pass-stub-copy{display:grid;gap:2px}
.route-pass-stub b{font-family:Manrope,sans-serif;font-size:3rem;font-weight:800;line-height:1;color:#fff}
.route-pass-stub span{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#e8dfcf}
.pass-barcode{width:100%;height:54px;fill:#f4efe4;opacity:.92}
.route-pass-stamp{position:absolute;z-index:2;right:calc(var(--stub) + 34px);bottom:30px;padding:8px 14px;border:3px double var(--lime,#d6b151);border-radius:12px;color:var(--lime,#d6b151);font-family:Manrope,sans-serif;font-size:.9rem;font-weight:800;letter-spacing:.2em;transform:rotate(-12deg);opacity:.85;mix-blend-mode:screen}
.route-pass-slot.is-printing .route-pass-stamp{animation:stamp .45s cubic-bezier(.3,1.6,.5,1) 1.95s both}
@keyframes stamp{0%{transform:rotate(-12deg) scale(2.6);opacity:0}100%{transform:rotate(-12deg) scale(1);opacity:.85}}
.route-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.route-actions .pg-btn{gap:8px}
.route-actions .pg-btn[disabled]{opacity:.6;cursor:progress}
.route-toast{min-height:1.4em;margin:-14px 0 0;text-align:center;color:var(--muted,#777);font-size:.875rem;word-break:break-all}
.route-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:22px;align-items:start}
.route-detail-copy{display:grid;gap:14px;padding:clamp(22px,3vw,32px);border-radius:26px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2)}
.route-detail-copy>p:first-child{margin:0;font-size:1.08rem;line-height:1.7;color:var(--ink,#222)}
.route-detail h3,.route-related h3{margin:6px 0 0;font-family:Manrope,sans-serif;font-size:1.05rem;color:var(--ink,#222)}
.route-detail ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.route-detail li{display:flex;gap:10px;align-items:flex-start;color:var(--ink,#222);line-height:1.5}
.route-detail li svg{flex:0 0 auto;margin-top:3px;color:var(--route-color,#d6b151)}
.route-season{margin:0;color:var(--muted,#777)}
.route-season b{color:var(--ink,#222)}
.route-detail-copy .pg-btn{justify-self:start}
.route-others{display:grid;gap:10px;padding:22px;border-radius:26px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2)}
.route-others h3{margin:0 0 4px}
.route-other{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;padding:10px;border-radius:16px;color:var(--ink,#222);text-decoration:none;transition:background .2s}
.route-other:hover{background:color-mix(in srgb,var(--ink,#222) 5%,transparent)}
.route-other-code{grid-row:span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#14110d;color:var(--route-color,#d6b151);font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.06em}
.route-other-copy{display:grid;gap:1px;min-width:0}
.route-other-copy b{font-size:.9375rem}.route-other-copy small{color:var(--muted,#777)}
.route-other-bar{position:relative;display:flex;align-items:center;gap:8px}
.route-other-bar::before{content:"";position:absolute;left:0;right:44px;height:6px;border-radius:9px;background:var(--line,#e7e5e2)}
.route-other-bar i{position:relative;display:block;height:6px;max-width:calc(100% - 44px);border-radius:9px;background:var(--route-color,#d6b151)}
.route-other-bar em{margin-left:auto;font-style:normal;font-size:.75rem;font-weight:800;color:var(--muted,#777)}
.route-related{display:grid;gap:14px}
.route-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.route-card{display:grid;border-radius:22px;overflow:hidden;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2);color:var(--ink,#222);text-decoration:none;transition:transform .2s,box-shadow .2s}
.route-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2),0 16px 30px #0000001f}
.route-card-media{aspect-ratio:16/10;overflow:hidden}
.route-card-media img{width:100%;height:100%;object-fit:cover}
.route-card-body{display:grid;gap:6px;padding:14px 16px 16px}
.route-card-body small{color:var(--muted,#777);font-size:.75rem;font-weight:700;letter-spacing:.04em}
.route-card-body strong{font-size:.98rem;line-height:1.35}
.route-card-body b{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--accent-strong,#8f6f28)}
.route-off{display:grid;gap:18px;justify-items:center;padding:80px 20px;text-align:center}

@media (max-width:900px){
 .route-intro{grid-template-columns:1fr}
 .route-detail{grid-template-columns:1fr}
}
@media (max-width:700px){
 .route-board{padding:14px 12px 10px;border-radius:18px}
 .route-board-cols,.route-board-row{grid-template-columns:calc(var(--t)*6) 1fr;gap:.8em;font-size:clamp(7px,calc(100cqi/30),15px)}
 .route-board-cols span:nth-child(n+3),.route-board-row>span:nth-child(n+3){display:none}
 .route-board-row.is-match::before{inset:0 -12px}
 .route-options{grid-template-columns:1fr;gap:10px}
 .route-option{min-height:76px;padding:14px 16px;gap:14px}
 .route-option-icon{flex-basis:48px;height:48px;border-radius:14px}
 .route-hint{display:none}
 .route-quiz,.route-name{padding:22px 18px;border-radius:24px}
 .route-pass{grid-template-columns:1fr;--stub:0px;-webkit-mask:none;mask:none}
 .route-pass-main{border-right:0;border-bottom:2px dashed #ffffff2a;padding:22px 20px 22px 26px}
 .route-pass-stub{grid-template-columns:auto 1fr;align-items:end;min-height:150px}
 .route-pass-stub .pass-barcode{height:46px}
 .route-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .route-pass-stamp{right:auto;left:auto;right:22px;bottom:auto;top:calc(100% - 196px)}
 .route-actions .pg-btn{flex:1 1 100%}
 .route-intro{border-radius:24px}
}
@media (prefers-reduced-motion:reduce){
 .flap.is-flip,.route-pass-slot.is-printing .route-pass-wrap,.route-pass-slot.is-printing .route-pass-stamp,.route-board-row.is-match .route-board-status .flap{animation:none}
 .route-pass,.route-option,.route-option-icon,.route-flight-clip,.route-flight-plane,.route-card{transition:none}
}
.route-detail:not(:has(.route-others)){grid-template-columns:minmax(0,820px);justify-content:center}

/* ---------- Giriş sayfası: nasıl çalışır + rota galerisi ---------- */
.route-app[data-stage=intro]{display:grid;gap:clamp(22px,3.5vw,44px)}
.route-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.route-step{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:20px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--line,#e7e5e2)}
.route-step-no{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:#14110d;color:var(--lime,#d6b151);font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.06em}
.route-step h3{margin:2px 0 4px;font-family:Manrope,sans-serif;font-size:1rem;color:var(--ink,#222)}
.route-step p{margin:0;font-size:.875rem;line-height:1.5;color:var(--muted,#777)}
.route-gallery{display:grid;gap:18px}
.route-gallery-head{display:grid;gap:8px;justify-items:start}
.route-gallery-head h2{margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.03em;color:var(--ink,#222)}
.route-gallery-head p{margin:0;max-width:60ch;color:var(--muted,#777);line-height:1.6}
.route-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.route-dest{position:relative;display:block;aspect-ratio:16/10;padding:0;border:0;border-radius:20px;overflow:hidden;background:#14110d;color:#fff;text-align:left;cursor:pointer;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s}
.route-dest img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.route-dest::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000 35%,#0d0b09e6 100%)}
.route-dest-code{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:10px;background:#0d0b09b3;color:var(--route-color,#d6b151);font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.14em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.route-dest-copy{position:absolute;left:16px;right:16px;bottom:14px;display:grid;gap:2px}
.route-dest-copy b{font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:800}
.route-dest-copy small{font-size:.8125rem;color:#e8dfcf}
.route-dest:focus-visible{outline:3px solid var(--lime,#d6b151);outline-offset:3px}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .route-dest:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 36px #00000040}
  .route-dest:hover img{transform:scale(1.06)}
}
@media (max-width:900px){.route-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-steps{grid-template-columns:1fr}}

/* ---------- Telefon düzeltmeleri ---------- */
@media (max-width:700px){
  .route-intro{padding:26px 20px}
  .route-intro p{font-size:.98rem}
  .route-start{width:100%}
  .route-intro-actions{display:grid;justify-items:start;gap:10px}
  .route-gallery-grid{gap:10px}
  .route-dest{aspect-ratio:4/5;border-radius:16px}
  .route-dest-copy{left:12px;right:12px;bottom:10px}
  .route-dest-copy b{font-size:1rem}.route-dest-copy small{font-size:.75rem}
  .route-dest-code{top:8px;left:8px;padding:4px 8px;font-size:.75rem}
  .route-step{padding:14px 16px}
  .route-result{gap:20px}
  .route-result-head h1{font-size:1.9rem}
  .route-detail-copy{padding:18px}
  .route-detail-copy>p:first-child{font-size:.98rem;line-height:1.6}
  .route-others{padding:16px}
  /* İlgili tur ve yazılar: küçük fotoğraflı yatay satırlar */
  .route-cards{grid-template-columns:1fr;gap:10px}
  .route-card{grid-template-columns:96px minmax(0,1fr);align-items:stretch}
  .route-card-media{aspect-ratio:auto;height:100%;min-height:96px}
  .route-card-body{padding:10px 12px;gap:4px}
  .route-card-body strong{font-size:.9rem}
  .route-calc .route-board{padding:12px 10px}
}
@media (max-width:360px){.route-gallery-grid{grid-template-columns:1fr}.route-dest{aspect-ratio:16/10}}

/* Giriş bölümü her temada koyu: üst başlık ve vurgu her zaman parlak altın. */
.route-intro .pg-eyebrow,.route-teaser .pg-eyebrow{color:#d6b151}
.route-intro h1 em,.route-teaser h2 em{color:#d6b151}

/* Biniş kartı: üst satırda Instagram hesabı; "Nereden" kullanıcının adı (ad girildiyse altın renkli kod). */
.route-pass-top{gap:10px 16px}
.route-pass-brand img{width:30px;height:30px;object-fit:contain}
.route-pass-insta{display:inline-flex;align-items:center;gap:6px;margin-right:auto;margin-left:6px;padding:4px 10px;border-radius:999px;background:#ffffff0f;color:#e8dfcf;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:none}
.route-pass-insta svg{color:var(--route-color,#d6b151)}
.route-pass.has-name .route-pass-from b{color:#d6b151;text-shadow:0 0 28px #d6b15155}
.route-pass-from span{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-story-btn svg{color:#e1306c}
@media (max-width:700px){
  .route-pass-top{flex-wrap:wrap}
  .route-pass-kind{display:none}
  .route-pass-insta{margin-left:auto;margin-right:0;font-size:.6875rem}
}

/* Instagram hikâye önizlemesi: telefon çerçevesi + hikâye arayüzü taklidi (üst profil satırı, alt yanıt çubuğu). */
html.story-preview-open{overflow:hidden}
dialog.story-preview{width:min(920px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:28px;border:0;border-radius:28px;background:#14110d;color:#f4efe4;box-shadow:0 30px 80px #00000099;overflow:auto;animation:none}
dialog.story-preview[open]{display:block}
dialog.story-preview::backdrop{background:#0d0c0ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.story-preview-close{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff14;color:#f4efe4;cursor:pointer}
.story-preview-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:center}
.story-phone{position:relative;height:min(74dvh,640px);aspect-ratio:9/16;border-radius:34px;overflow:hidden;background:#000;box-shadow:0 0 0 8px #050505,0 0 0 9px #ffffff26,0 24px 50px #00000080}
.story-phone>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-ui{position:absolute;inset:0;pointer-events:none;font-family:-apple-system,'Segoe UI',Roboto,sans-serif}
.story-ui::before{content:"";position:absolute;inset:0 0 auto;height:18%;background:linear-gradient(#0000008c,#0000)}
.story-ui::after{content:"";position:absolute;inset:auto 0 0;height:14%;background:linear-gradient(#0000,#00000080)}
.story-bars{position:absolute;z-index:1;top:10px;left:10px;right:10px;height:2.5px;border-radius:3px;background:#ffffff59;overflow:hidden}
.story-bars i{display:block;width:38%;height:100%;background:#fff}
.story-user{position:absolute;z-index:1;top:22px;left:12px;right:12px;display:flex;align-items:center;gap:8px;color:#fff;font-size:.8125rem}
.story-avatar{flex:0 0 30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fdd36c,#e8664d 55%,#b13597);box-shadow:inset 0 0 0 2px #000,0 0 0 1.5px #fff}
.story-user b{font-weight:600}
.story-user small{color:#ffffffb3}
.story-dots{margin-left:auto;letter-spacing:1px;font-size:.7rem}
.story-x{font-size:1rem;margin-left:8px}
.story-reply{position:absolute;z-index:1;left:12px;right:12px;bottom:14px;display:flex;align-items:center;gap:12px;color:#fff}
.story-reply span{flex:1;padding:9px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffffb3;font-size:.8125rem;color:#ffffffd9}
.story-reply svg{flex:0 0 auto}
.story-reply svg:last-child{transform:rotate(45deg)}
.story-preview-copy{display:grid;gap:14px;justify-items:start}
.story-preview-copy h2{margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;color:#fff}
.story-preview-copy p{margin:0;color:#cfc6b5;line-height:1.6}
.story-preview-copy .pg-eyebrow{color:#d6b151}
.story-preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.story-preview-actions .pg-btn.line{color:#f4efe4;box-shadow:inset 0 0 0 1px #ffffff47}
.story-preview-actions .pg-btn svg{flex:0 0 auto}
@media (max-width:700px){
  dialog.story-preview{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;padding:16px 16px 20px}
  .story-preview-layout{grid-template-columns:1fr;justify-items:center;gap:16px}
  .story-phone{height:min(62dvh,560px)}
  .story-preview-copy{justify-items:stretch;text-align:center}
  .story-preview-copy .pg-eyebrow{justify-self:center}
  .story-preview-actions{display:grid;grid-template-columns:1fr 1fr}
  .story-preview-actions .pg-btn{width:100%}
  .story-preview-copy p{font-size:.875rem}
}
@media (max-width:700px){dialog.story-preview{padding-top:64px}.story-preview-close{top:12px;right:12px}.story-phone{height:min(58dvh,540px)}}
.route-city-code{min-height:1.4em;margin:-4px 0 0;font-size:.9rem;color:var(--muted,#777);letter-spacing:.06em}
.route-city-code b{color:var(--lime,#d6b151);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.1rem;letter-spacing:.14em}
.story-preview-note{margin:2px 0 0;padding:10px 12px;border-radius:10px;background:#ffffff14;color:#efe6d4;font-size:.875rem;line-height:1.55}
.story-preview-note[hidden]{display:none}
.story-preview-image .story-preview-copy{justify-items:center;padding:8px}
.story-preview-image img{display:block;width:min(100%,640px);height:auto;border-radius:14px;-webkit-touch-callout:default;user-select:auto}
@media(max-width:560px){.story-preview-actions [data-story-open]{grid-column:1/-1}}
