:root{--yellow:#ffdc00;--ink:#141414;--red:#ce2424;--paper:#fff;--soft:#f4f4f0;--muted:#585851;--line:#d8d8d0;--width:1200px;--gutter:clamp(22px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;font-size:1rem}a{color:inherit}img{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #195dda;outline-offset:6px}::selection{background:var(--ink);color:var(--yellow)}.container{width:min(100% - var(--gutter)*2,var(--width));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:12px 18px;color:#fff;background:#111;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.header{background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px}.brand{width:265px;flex-shrink:0}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:32px}.nav a{text-decoration:none;font-size:.9375rem;font-weight:700;padding-block:10px}.nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-call{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:12px 18px;text-decoration:none;font-weight:800;white-space:nowrap}.header-call:hover{background:var(--ink);color:#fff}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero{background:var(--yellow);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,5vw,80px);align-items:center;padding-block:70px 64px}.eyebrow{margin:0 0 25px;font-size:.8125rem;font-weight:800;letter-spacing:.13em;display:flex;gap:10px;align-items:center}.mini-check{width:18px;height:18px;display:inline-block;background:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0);background-size:12px 12px}.hero h1{font-size:clamp(3.1rem,6.35vw,5.7rem);line-height:1.025;letter-spacing:-.06em;font-weight:900;margin:0 0 25px}.outlined{-webkit-text-stroke:1.5px var(--ink);color:var(--yellow)}.hero-intro{font-size:1.1875rem;line-height:1.6;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:60px;padding:16px 26px;font-size:1.0625rem;font-weight:800;text-decoration:none;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#303030}.button-yellow{background:var(--yellow);color:var(--ink);min-width:190px}.button-yellow:hover{background:#ffe743}.hero-note{font-size:.8125rem;margin:14px 0 0}.fare-ticket{background:var(--ink);color:var(--yellow);position:relative;transform:rotate(3deg);box-shadow:14px 15px 0 rgba(20,20,20,.13);border-radius:5px;max-width:450px;width:100%;justify-self:end;padding:30px 32px 0;overflow:hidden}.ticket-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;font-size:.9375rem}.ticket-badge{background:var(--red);color:#fff;font-size:.8125rem;padding:7px 12px;letter-spacing:.05em}.ticket-fare{display:flex;align-items:flex-start;justify-content:center;line-height:.9;padding:33px 0 17px;font-weight:900;letter-spacing:-.06em}.ticket-number{font-size:clamp(10rem,21vw,18rem)}.ticket-euro{font-size:clamp(3rem,5vw,4.5rem);padding-top:12px;margin-left:14px}.ticket-caption{font-size:clamp(1.45rem,2.5vw,2rem);font-weight:900;line-height:1.2;letter-spacing:-.025em;margin:0 0 27px;text-align:center}.ticket-line{border-top:1px dashed #67624a;margin:0 -32px}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:12px}.ticket-bottom span{font-size:.75rem;letter-spacing:.06em}.ticket-bottom strong{font-size:1.375rem}.checker{height:22px;background:conic-gradient(var(--ink) 25%,var(--yellow) 0 50%,var(--ink) 0 75%,var(--yellow) 0);background-size:44px 44px;margin-inline:-32px}.hero-footer{border-top:1px solid rgba(20,20,20,.23)}.hero-footer .container{display:flex;justify-content:space-between;gap:20px;padding-block:19px;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.section{padding-block:92px}.section .eyebrow{font-size:.75rem;color:var(--muted);margin-bottom:21px}.section h2{font-size:clamp(2.3rem,4vw,3.3rem);line-height:1.12;letter-spacing:-.055em;margin:0;font-weight:850}.price-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.price-row{display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:2px solid var(--ink);padding:0 0 23px}.price-row h3{font-size:1.25rem;margin:0;font-weight:800;letter-spacing:-.02em}.price-row p{margin:3px 0 0;color:var(--muted);font-size:.9375rem}.price-row strong{font-size:3.75rem;font-weight:900;letter-spacing:-.05em;line-height:1;white-space:nowrap}.price-explainer{margin-top:24px;max-width:550px}.small{font-size:.875rem;color:var(--muted)}.text-link{font-weight:700;text-underline-offset:5px;text-decoration-thickness:1px;display:inline-block;padding-block:8px}.text-link:hover{text-decoration-thickness:2px}.how-section{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:center;margin-bottom:47px}.hours-label{color:var(--red);font-weight:900;font-size:1.65rem;line-height:1.1;transform:rotate(-6deg);border:2px solid var(--red);padding:14px 21px;flex-shrink:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.step{padding:30px 26px 0 0}.step+.step{padding-left:28px;border-left:1px solid var(--line)}.step-number{font-size:.875rem;font-weight:800;color:var(--red)}.step h3{font-size:1.375rem;letter-spacing:-.035em;line-height:1.3;margin:25px 0 12px}.step p{font-size:.9375rem;line-height:1.7;margin-bottom:0}.step p a{text-underline-offset:4px}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.faq-intro{color:var(--muted);margin-top:26px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;font-weight:700;font-size:1rem;line-height:1.45;padding:25px 0}summary::-webkit-details-marker{display:none}summary span{width:18px;height:18px;position:relative;flex-shrink:0}summary span::before,summary span::after{content:"";position:absolute;background:var(--ink);top:8px;left:1px;width:16px;height:2px}summary span::after{transform:rotate(90deg)}details[open] summary span::after{transform:rotate(0deg)}.faq-answer{padding:0 26px 25px 0;color:var(--muted);font-size:.9375rem}.faq-answer a{text-underline-offset:3px}
.contact-section{background:var(--ink);color:#fff;overflow:hidden}.contact-inner{padding-block:65px 57px}.contact-section .eyebrow{color:var(--yellow);font-size:.75rem}.contact-section h2{font-size:clamp(2.25rem,4.5vw,4rem);letter-spacing:-.045em;line-height:1.1;margin:0 0 20px}.contact-number{font-size:clamp(2.5rem,7.8vw,7rem);line-height:1.15;font-weight:900;letter-spacing:-.055em;text-decoration:none;color:var(--yellow);white-space:nowrap}.contact-number:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:9px}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:28px}.contact-bottom p{color:#bcbcb5}.checker-yellow{margin:0;height:18px;background-size:36px 36px}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-block:25px;font-size:.8125rem;color:var(--muted)}.footer a{text-underline-offset:4px}.mobile-callbar{display:none}
@media(min-width:1500px){.hero-grid{padding-block:90px 82px}}
@media(max-width:1050px){.nav{gap:18px}.header-inner{gap:20px}.brand{width:220px}.header-call{padding:10px 12px;font-size:.875rem}.hero-grid{gap:35px}.fare-ticket{padding:24px 25px 0}.ticket-line,.checker{margin-inline:-25px}.checker-yellow{margin:0}.price-grid,.faq-grid{gap:50px}.hero h1{font-size:clamp(3.1rem,6.3vw,4.5rem)}}
@media(max-width:800px){.header-inner{min-height:90px}.nav{display:none}.hero-grid{padding-block:50px;gap:35px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:3rem}.hero-intro{font-size:1rem}.hero-copy .button{font-size:.9375rem;padding-inline:18px}.fare-ticket{padding:22px 20px 0}.ticket-top{font-size:.75rem;letter-spacing:.02em}.ticket-badge{font-size:.75rem;padding:6px 7px}.ticket-number{font-size:10rem}.ticket-euro{font-size:3rem;margin-left:7px}.ticket-caption{font-size:1.25rem}.ticket-line,.checker{margin-inline:-20px}.ticket-bottom span{font-size:.75rem}.ticket-bottom strong{font-size:1.1rem}.checker-yellow{margin:0}.hero-footer .container{font-size:.75rem;letter-spacing:.05em}.section{padding-block:65px}.price-grid,.faq-grid{gap:32px;grid-template-columns:.9fr 1.1fr}.steps{gap:18px}.step{padding-right:0}.step+.step{padding-left:18px}.step h3{font-size:1.15rem}.step br{display:none}.footer-inner{flex-wrap:wrap}}
@media(max-width:620px){html{scroll-padding-top:18px}.container{width:calc(100% - 44px)}body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.header-inner{min-height:82px;gap:14px}.brand{width:205px;max-width:60%}.header-call{border:0;padding:12px 8px;min-height:46px}.header-call span{display:none}.header-call .icon{width:24px;height:24px}.hero-grid{grid-template-columns:1fr;padding-top:33px;padding-bottom:38px;gap:40px}.eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:22px}.hero h1{font-size:clamp(2.75rem,12.2vw,4.3rem);letter-spacing:-.055em;line-height:1.03;margin-bottom:19px}.hero-intro{font-size:1.0625rem;margin-bottom:22px}.hero-copy .button{min-height:59px;font-size:1.0625rem;width:100%;padding-inline:14px}.hero-note{font-size:.8125rem;margin-top:12px}.fare-ticket{max-width:360px;justify-self:center;width:calc(100% - 16px);padding:23px 24px 0;transform:rotate(2deg);box-shadow:9px 10px 0 rgba(20,20,20,.14)}.ticket-top{font-size:.875rem}.ticket-badge{font-size:.75rem;padding:7px 11px}.ticket-fare{padding:22px 0 12px}.ticket-number{font-size:11rem}.ticket-euro{font-size:3.5rem}.ticket-caption{font-size:1.6rem;margin-bottom:20px}.ticket-line,.checker{margin-inline:-24px}.ticket-bottom{padding:16px 0}.ticket-bottom span{font-size:.75rem}.ticket-bottom strong{font-size:1.25rem}.hero-footer .container{padding-block:17px;font-size:.75rem;letter-spacing:.025em}.hero-footer span:nth-child(2){display:none}.section{padding-block:54px}.section h2{font-size:2.55rem}.price-grid,.faq-grid{grid-template-columns:1fr;gap:32px}.price-row{padding-bottom:22px}.price-row h3{font-size:1.125rem}.price-row strong{font-size:3.35rem}.price-explainer{margin-bottom:13px}.section-heading{gap:10px;margin-bottom:35px;align-items:flex-start}.section-heading h2{font-size:2.2rem}.hours-label{font-size:1rem;padding:10px 11px;margin-top:38px}.steps{grid-template-columns:1fr;gap:0}.step,.step+.step{padding:25px 0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;column-gap:14px}.step-number{grid-row:1/3;padding-top:2px}.step h3{font-size:1.25rem;margin:0 0 10px}.step p{grid-column:2;margin:0}.faq-intro{margin:18px 0 0}.faq-intro br{display:none}.faq-intro .text-link{margin-left:5px}.faq-grid{gap:22px}summary{font-size:1rem;padding-block:22px}.faq-answer{padding-right:0}.contact-inner{padding-block:49px 42px}.contact-section h2{font-size:2.65rem}.contact-number{font-size:clamp(2rem,9.8vw,3.8rem);letter-spacing:-.035em}.contact-bottom{margin-top:22px;display:block}.contact-bottom p{font-size:1rem}.contact-bottom .button{margin-top:6px;width:100%}.checker-yellow{margin:0}.footer-inner{font-size:.8125rem;gap:10px}.footer-inner>span:nth-child(2){display:none}.mobile-callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 22px #0000000a;padding:13px 18px calc(13px + env(safe-area-inset-bottom));gap:10px;align-items:center;justify-content:space-between}.mobile-callbar>div{display:flex;flex-direction:column;gap:1px}.mobile-callbar strong{font-size:1rem;font-weight:800}.mobile-callbar span{font-size:.75rem;color:var(--muted)}.mobile-callbar>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 15px;background:var(--yellow);text-decoration:none;font-weight:800;font-size:1rem;white-space:nowrap}.mobile-callbar .icon{width:18px;height:18px}}
@media(max-width:350px){.container{width:calc(100% - 32px)}.hero h1{font-size:2.5rem}.mobile-callbar{padding-inline:12px}.mobile-callbar>a{padding-inline:10px;font-size:.875rem}.mobile-callbar span{max-width:120px}.hours-label{display:none}.contact-number{font-size:1.95rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.header,.mobile-callbar,.footer,.hero-footer{display:none}body{padding:0}.section{padding-block:25px}.hero{background:#fff}.hero-grid{padding-block:25px}.fare-ticket{transform:none;box-shadow:none}.outlined{color:#111;-webkit-text-stroke:0}.contact-section{color:#111;background:#fff}.contact-number{color:#111}.checker{display:none}details .faq-answer{display:block}.contact-bottom .button{display:none}}

/* Dlhé texty a zväčšené písmo ostávajú použiteľné. */
.hero-copy,.price-content,.faq-list{min-width:0}.contact-number{white-space:normal;overflow-wrap:normal}.mobile-callbar{flex-wrap:wrap}.mobile-callbar>a{flex-shrink:0}@media(min-width:621px) and (max-width:800px){.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:2.5rem}.hero-copy .button{white-space:normal}}

/* Súhlas s cookies: rovnaká váha prijatia a odmietnutia. */
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-inner{align-items:center;flex-wrap:wrap}
.footer-privacy{border:0;background:none;padding:10px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.cookie-banner{position:fixed;z-index:20;inset:auto 24px 24px;max-width:1152px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:24px 28px;background:var(--paper);border:1px solid var(--ink);border-top:5px solid var(--yellow);box-shadow:0 10px 55px #0003;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.cookie-kicker{margin:0 0 6px;font-size:.6875rem;font-weight:800;letter-spacing:.13em}
.cookie-copy h2{font-size:1.375rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
.cookie-copy>p:not(.cookie-kicker){font-size:.875rem;line-height:1.55;margin:0;max-width:560px}
.cookie-copy>p.cookie-current,.cookie-current{font-size:.75rem;color:var(--muted);margin-top:8px}
.cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:360px}
.cookie-button{appearance:none;cursor:pointer;border:1px solid var(--ink);border-radius:0;padding:12px 16px;min-height:46px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:.8125rem;font-weight:700;line-height:1.35;transition:background .15s}
.cookie-button:hover{background:var(--soft)}
.cookie-button-solid{background:var(--ink);color:white}
.cookie-button-solid:hover{background:#363636}
.cookie-actions>[data-cookie-settings]{grid-column:1/-1}
.cookie-dialog{color:var(--ink);background:var(--paper);width:calc(100% - 36px);max-width:640px;max-height:calc(100dvh - 36px);padding:30px;border:1px solid var(--ink);border-top:6px solid var(--yellow);overscroll-behavior:contain}
.cookie-dialog::backdrop{background:#14141499}
.cookie-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cookie-dialog h2{font-size:1.8rem;line-height:1.15;letter-spacing:-.045em;margin:0 0 15px}
.cookie-close{border:1px solid var(--line);background:white;min-width:44px;min-height:44px;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--ink)}
.cookie-close:hover{background:var(--soft)}
.cookie-dialog>p{font-size:.875rem;line-height:1.6;margin:0 0 16px}
.cookie-dialog>p.cookie-current{padding:10px 12px;background:var(--soft);font-size:.8125rem}
.cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:center}
.cookie-category h3,.cookie-category label strong{font-size:1rem;font-weight:800;margin:0 0 5px;line-height:1.35;display:block}
.cookie-category label{cursor:pointer}
.cookie-category p,.cookie-category label span{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:0;display:block}
.cookie-category p.cookie-service{grid-column:1/-1;font-size:.75rem;margin-top:7px}
.cookie-required{color:var(--muted);font-size:.6875rem;font-weight:800;text-transform:uppercase;white-space:nowrap}
.cookie-category input{appearance:none;width:46px;height:26px;border:1px solid #76766b;border-radius:20px;position:relative;margin:0;background:#e5e5df;cursor:pointer;flex-shrink:0}
.cookie-category input::before{content:"";width:18px;height:18px;position:absolute;left:3px;top:3px;background:#55554e;border-radius:50%;transition:transform .15s}
.cookie-category input:checked{background:var(--yellow);border-color:var(--ink)}
.cookie-category input:checked::before{transform:translateX(19px);background:var(--ink)}
.cookie-category input:focus-visible{outline:3px solid #195dda;outline-offset:4px}
.cookie-details{border-top:1px solid var(--line)}
.cookie-details summary{font-size:.8125rem;padding-block:16px}
.cookie-details>div{font-size:.8125rem;color:var(--muted);padding-bottom:14px}
.cookie-details p{margin:0 0 12px}
.cookie-details code{overflow-wrap:anywhere;font-size:.75rem}
.cookie-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}
.cookie-save{grid-column:1/-1}
@media(max-width:1000px){.cookie-banner{grid-template-columns:1fr;gap:18px}.cookie-actions{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.cookie-actions>[data-cookie-settings]{grid-column:auto}.cookie-copy>p:not(.cookie-kicker){max-width:none}}
@media(max-width:620px){.cookie-banner{inset:auto 10px calc(var(--callbar-height,86px + env(safe-area-inset-bottom)) + 10px);padding:18px;gap:15px;max-height:calc(100dvh - var(--callbar-height,86px + env(safe-area-inset-bottom)) - 30px)}.cookie-copy h2{font-size:1.1875rem}.cookie-copy>p:not(.cookie-kicker){font-size:.8125rem}.cookie-copy>p.cookie-current{font-size:.6875rem}.cookie-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cookie-actions>[data-cookie-settings]{grid-column:1/-1}.cookie-button{padding:11px 8px;font-size:.75rem;min-height:46px}.cookie-dialog{padding:22px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.cookie-dialog h2{font-size:1.5rem}.cookie-category{gap:12px}.cookie-required{font-size:.625rem}}
@media(forced-colors:active){.cookie-category input{appearance:auto}.cookie-category input::before{display:none}}
@media print{.cookie-banner,.cookie-dialog,.footer-privacy{display:none!important}}

/* Vyhľadávanie cieľa cesty a stránky trás. */
.destination-section{padding-block:65px;border-bottom:1px solid var(--line);background:#fff}
.destination-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}
.destination-intro .eyebrow{font-size:.6875rem;color:var(--muted);margin-bottom:17px}
.destination-intro h2{font-size:clamp(2.3rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.055em;margin:0 0 18px}
.destination-intro>p:last-child{font-size:.9375rem;color:var(--muted);max-width:370px;margin:0}
.destination-tool{padding:28px;background:var(--soft);border:1px solid var(--line);min-width:0}
.destination-form>label{font-size:.8125rem;font-weight:800;display:block;margin-bottom:10px}
.destination-input-row{display:flex;align-items:stretch;gap:9px}
.destination-input-wrap{position:relative;min-width:0;flex:1}
.destination-input-wrap input{appearance:none;border:1px solid #8d8d83;background:white;color:var(--ink);width:100%;min-height:60px;padding:15px;font-family:inherit;font-size:1rem;line-height:1.5;border-radius:0}
.destination-input-wrap input:focus-visible{outline:3px solid #195dda;outline-offset:2px}
.destination-input-wrap input::placeholder{color:#66665e;font-size:.875rem}
.destination-submit{border:0;cursor:pointer;font-family:inherit;font-size:.875rem;padding-inline:17px;white-space:nowrap}
.destination-submit span{font-size:1.25rem}
.destination-help{font-size:.75rem;color:var(--muted);margin:12px 0 0;line-height:1.6}
.destination-error{padding:12px;margin:14px 0 0;border-left:3px solid var(--red);background:#fff;font-size:.875rem;color:var(--ink)}
.destination-featured{border-top:1px solid var(--line);margin-top:23px;padding-top:19px}
.destination-featured>p{font-size:.625rem;font-weight:800;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}
.destination-chips{display:flex;flex-wrap:wrap;gap:8px}
.destination-chips>a{display:flex;align-items:center;gap:12px;padding:9px 12px;background:white;border:1px solid var(--line);font-size:.75rem;font-weight:700;text-decoration:none;min-height:40px}
.destination-chips>a:hover{background:var(--yellow);border-color:var(--ink)}
.destination-chips>a span{font-size:1rem}
.destination-suggestions{position:absolute;z-index:9;top:calc(100% + 5px);inset-inline:0;margin:0;padding:0;list-style:none;background:#fff;border:1px solid var(--ink);box-shadow:0 10px 25px #0002;max-height:min(390px,45dvh);overflow-y:auto;overscroll-behavior:contain}
.destination-suggestions>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
.destination-suggestions>li:last-child{border-bottom:0}
.destination-suggestions>li:hover,.destination-suggestions>li[aria-selected="true"]{background:var(--yellow)}
.destination-suggestions strong{display:block;font-size:.875rem;line-height:1.45}
.destination-suggestions>li>div>span{display:block;color:var(--muted);font-size:.6875rem;line-height:1.5;margin-top:2px}
.destination-option-price{font-size:.6875rem;font-weight:800;white-space:nowrap}
.route-breadcrumbs{display:flex;flex-wrap:wrap;gap:11px;font-size:.75rem;padding-top:22px;line-height:1.5}
.route-breadcrumbs a{text-underline-offset:4px}
.route-hero .hero-grid{padding-block:48px 62px}
.route-hero h1{font-size:clamp(2.75rem,5.5vw,4.5rem);overflow-wrap:anywhere}
.route-arrow{font-weight:400;font-size:.85em}
.route-hero .button{flex-wrap:wrap;font-size:.9375rem}
.route-hero .button span{white-space:nowrap}
.route-hero .hero-footer span{letter-spacing:.04em}
.route-fare-word{font-size:clamp(3rem,5vw,4.5rem);font-weight:900;line-height:1.04;letter-spacing:-.05em;padding:42px 0 28px;text-align:center}
.route-error-number{font-size:clamp(5rem,12vw,9rem);padding-block:32px}
.route-ticket .ticket-number{font-size:clamp(8rem,17vw,14rem)}
.route-ticket .ticket-caption{font-size:1.1rem;letter-spacing:0;line-height:1.35}
.route-ticket .ticket-top{font-size:.75rem}
.route-details{border-bottom:1px solid var(--line)}
.route-details h2{overflow-wrap:anywhere}
.route-summary{margin:0 0 24px;border-top:1px solid var(--line)}
.route-summary>div{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.route-summary dt{font-size:.875rem;color:var(--muted)}
.route-summary dd{margin:0;text-align:right;font-weight:800;max-width:75%}
.route-summary>div:last-child dd{font-size:1.75rem;line-height:1.3}
.route-directory{background:var(--soft)}
.route-directory .section-heading{margin-bottom:24px}
.route-directory-intro{max-width:740px;font-size:.9375rem;margin:0 0 28px;color:var(--muted)}
.destination-grid-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:25px}
.destination-grid-links>a{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);min-height:66px;padding:15px 18px;text-decoration:none;font-size:.8125rem;font-weight:700}
.destination-grid-links>a:hover{border-color:var(--ink);background:var(--yellow)}
.destination-grid-links>a>strong{font-size:.75rem;white-space:nowrap}
.destination-result-links small{display:block;color:var(--muted);font-size:.6875rem;font-weight:400;margin-top:5px}
@media(max-width:1050px){.destination-grid{gap:35px;grid-template-columns:.8fr 1.3fr}.destination-tool{padding:22px}.destination-input-row{flex-wrap:wrap}.destination-input-wrap{flex-basis:100%}.destination-submit{width:100%}}
@media(max-width:800px){.destination-grid{gap:28px;grid-template-columns:1fr 1.3fr}.destination-intro h2{font-size:2.2rem}.destination-grid-links{grid-template-columns:repeat(2,minmax(0,1fr))}.route-hero .hero-grid{grid-template-columns:1fr 1fr}.route-hero h1{font-size:2.8rem}.route-hero .hero-intro{font-size:1rem}.route-hero .button{font-size:.8125rem;padding-inline:15px}.route-fare-word{font-size:3rem}}
@media(max-width:620px){.destination-section{padding-block:38px}.destination-grid{grid-template-columns:1fr;gap:25px}.destination-intro h2{font-size:2.35rem}.destination-intro h2 br{display:none}.destination-intro>p:last-child{max-width:none}.destination-tool{padding:20px 16px}.destination-input-wrap input{font-size:1rem;min-height:55px;padding:13px}.destination-input-wrap input::placeholder{font-size:.8125rem}.destination-submit{min-height:54px;font-size:.9375rem}.destination-help{font-size:.75rem}.destination-chips>a{min-height:44px}.destination-suggestions strong{font-size:.8125rem}.route-breadcrumbs{padding-top:18px;font-size:.6875rem;gap:8px}.route-hero .hero-grid{grid-template-columns:1fr;padding-block:28px 42px;gap:34px}.route-hero h1{font-size:clamp(2.55rem,10vw,3.5rem)}.route-hero .button{font-size:1rem}.route-fare-word{font-size:3.6rem;padding-block:31px 24px}.route-ticket .ticket-number{font-size:9rem}.route-hero .hero-footer .container{flex-wrap:wrap;gap:7px 15px;font-size:.6875rem}.route-hero .hero-footer span:nth-child(2){display:block}.route-hero .hero-footer span:last-child{display:none}.destination-grid-links{grid-template-columns:1fr;gap:8px}.destination-grid-links>a{min-height:60px;padding:14px 16px}.route-directory h2{font-size:2.1rem}.route-directory-intro{font-size:.875rem}.route-details h2{font-size:2.2rem}.route-summary dd{font-size:.9375rem}}
@media print{.destination-suggestions,.destination-form{display:none}.destination-section{padding-block:20px}.route-hero .hero-grid{padding-block:20px}}

/* Hlavné trasy sú viditeľné v HTML aj bez použitia vyhľadávania. */
.featured-routes{background:var(--paper);border-bottom:1px solid var(--line)}
.featured-routes .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}
.featured-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.featured-route-card{padding:30px 28px;display:flex;flex-direction:column;border:1px solid var(--ink);background:var(--paper);min-width:0}
.route-card-label{font-size:.625rem;font-weight:800;letter-spacing:.1em;margin:0 0 23px}
.featured-route-card h3{font-size:1.3rem;line-height:1.3;letter-spacing:-.035em;margin:0 0 10px}
.featured-route-card h3 a{text-decoration:none}
.featured-route-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.route-card-price{font-size:4.5rem;font-weight:900;line-height:1.1;letter-spacing:-.06em;margin:5px 0 22px}
.route-card-price span{font-size:2rem;letter-spacing:-.03em}
.route-card-price-word{font-size:2.8rem;letter-spacing:-.045em;margin-block:20px 31px}
.featured-route-card>p:not(.route-card-label):not(.route-card-price){font-size:.875rem;line-height:1.7;margin:0 0 27px;color:var(--muted)}
.route-card-link{margin-top:auto;padding-block:16px 0;border-top:1px solid var(--line);font-size:.8125rem;font-weight:800;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:44px}
.route-card-link:hover{text-decoration:underline;text-underline-offset:4px}
.route-card-dark{background:var(--ink);color:var(--paper)}
.route-card-dark .route-card-price,.route-card-dark .route-card-label{color:var(--yellow)}
.route-card-dark>p:not(.route-card-label):not(.route-card-price){color:#cacac1}
.route-card-dark .route-card-link{border-color:#ffffff36}
.route-card-airport{background:var(--yellow)}
.route-card-airport>p:not(.route-card-label):not(.route-card-price){color:var(--ink)}
.route-card-airport .route-card-link{border-color:#11111140}
.route-history{background:var(--soft);padding-block:56px;border-bottom:1px solid var(--line)}
.route-history-heading .eyebrow{margin-bottom:15px}
.route-history-heading h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 30px}
.route-history .small{max-width:780px;margin-bottom:0}
.route-negotiable{font-size:.875rem;display:inline-block;margin-top:8px}
.route-article{background:var(--paper);border-bottom:1px solid var(--line)}
.route-article-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}
.route-article h2{font-size:clamp(2rem,3vw,3rem)}
.route-article-text>p{font-size:1rem;line-height:1.8;margin:0 0 20px}
.route-article-text details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-article-text .faq-answer{font-size:.9375rem;line-height:1.7}
.route-article-text .text-link{display:inline-block;margin-top:23px}
.route-summary>div:nth-child(3) dd{font-size:1.75rem;line-height:1.3}
.route-summary>div:last-child dd{font-size:1rem;line-height:1.5}
@media(max-width:1050px){.featured-route-card{padding:25px 20px}.featured-route-card h3{font-size:1.15rem}.route-card-price-word{font-size:2.3rem}.route-article-grid{gap:40px}}
@media(max-width:800px){.featured-route-cards{gap:12px}.featured-route-card{padding:22px 16px}.featured-route-card h3{font-size:1.0625rem}.route-card-price{font-size:3.5rem}.route-card-price-word{font-size:2rem;margin-bottom:24px}.featured-route-card>p:not(.route-card-label):not(.route-card-price){font-size:.8125rem}.route-card-link{font-size:.75rem}.route-card-label{font-size:.5625rem}.route-article-grid{grid-template-columns:1fr 1.2fr;gap:30px}}
@media(max-width:620px){.featured-routes .section-heading{display:block}.featured-routes .section-heading>.text-link{display:inline-block;margin-top:20px}.featured-route-cards{grid-template-columns:1fr;gap:16px}.featured-route-card{padding:27px 24px}.route-card-label{font-size:.6875rem;margin-bottom:18px}.featured-route-card h3{font-size:1.35rem}.route-card-price{font-size:4.5rem;margin-bottom:20px}.route-card-price-word{font-size:2.9rem;margin-top:16px;margin-bottom:26px}.featured-route-card>p:not(.route-card-label):not(.route-card-price){font-size:.875rem;margin-bottom:23px}.route-card-link{font-size:.875rem}.route-history{padding-block:40px}.route-history-heading h2{font-size:2.1rem}.route-article-grid{grid-template-columns:1fr;gap:20px}.route-article h2{font-size:2.2rem}.route-article-text>p{font-size:.9375rem}}
@media print{.featured-route-card{padding:15px}.route-history{padding-block:20px}.route-card-dark{color:var(--ink);background:var(--paper)}.route-card-dark>p:not(.route-card-label):not(.route-card-price){color:var(--ink)}.route-card-dark .route-card-price,.route-card-dark .route-card-label{color:var(--ink)}}

.featured-route-note{font-size:.8125rem;line-height:1.7;color:var(--muted);max-width:870px;margin:22px 0 0}.featured-route-note a{color:var(--ink);font-weight:700;text-underline-offset:3px}

/* Štyri fotografie na úvode; pri výmene zostávajú stabilné rozmery kariet. */
.gallery-section{background:var(--soft);border-top:1px solid var(--line)}
.gallery-heading{align-items:flex-end;gap:32px;margin-bottom:36px}
.gallery-intro{max-width:310px;margin:0;color:var(--muted);font-size:.875rem;line-height:1.7}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-card{margin:0;min-width:0}
.gallery-photo{display:block;position:relative;overflow:hidden;background:#deded7;aspect-ratio:4/3;border:1px solid var(--line);text-decoration:none}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.gallery-photo:hover img{transform:scale(1.035)}
.gallery-photo:focus-visible{outline:3px solid #195dda;outline-offset:4px}
.gallery-index{position:absolute;top:12px;left:12px;background:var(--yellow);color:var(--ink);padding:7px 9px;font-size:.6875rem;font-weight:800;letter-spacing:.06em;line-height:1}
.gallery-expand{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;background:var(--ink);color:#fff;font-size:1.1rem;line-height:1}
.gallery-card figcaption{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:.75rem;font-weight:700;line-height:1.5}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}}
@media(max-width:620px){.gallery-heading{display:block;margin-bottom:28px}.gallery-intro{margin-top:18px;max-width:360px;font-size:.8125rem}.gallery-grid{gap:23px 12px}.gallery-index{top:8px;left:8px;padding:6px 7px;font-size:.625rem}.gallery-expand{bottom:8px;right:8px;width:26px;height:26px}.gallery-card figcaption{font-size:.6875rem;margin-top:10px;padding-top:10px}}
@media(max-width:380px){.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-card figcaption{font-size:.8125rem}}
@media print{.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-expand{display:none}.gallery-card{break-inside:avoid}}

/* Galéria nad stránkou: šípky, dotykové posúvanie a bezpečné okraje mobilu. */
html.gallery-is-open{overflow:hidden}
.gallery-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;background:#111; color:#fff;overscroll-behavior:contain}
.gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.gallery-dialog:not([open]){display:none}
.gallery-dialog::backdrop{background:#111e}
.gallery-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:calc(18px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 18px max(24px,env(safe-area-inset-left));border-bottom:1px solid #ffffff20}
.gallery-dialog-kicker{font-size:.625rem;letter-spacing:.16em;font-weight:800;color:var(--yellow);margin:0 0 5px}
.gallery-dialog-header h2{font-size:1.15rem;font-weight:800;line-height:1.2;letter-spacing:-.025em;margin:0}
.gallery-dialog-actions{display:flex;align-items:center;gap:24px}
.gallery-counter{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem;color:#d1d1cc}
.gallery-close,.gallery-arrow{display:grid;place-items:center;flex-shrink:0;width:50px;height:50px;border:1px solid #ffffff4a;background:#202020;color:#fff;cursor:pointer;padding:10px}
.gallery-close{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.gallery-close:hover{background:#ffe743}
.gallery-close svg,.gallery-arrow svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gallery-close:focus-visible,.gallery-arrow:focus-visible{outline:3px solid #fff;outline-offset:4px}
.gallery-stage{position:relative;min-width:0;min-height:0;overflow:hidden}
.gallery-viewport{height:100%;width:100%;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab}
.gallery-viewport:active{cursor:grabbing}
.gallery-track{display:flex;width:100%;height:100%;transition:transform .28s cubic-bezier(.22,.68,.1,1);will-change:transform}
.gallery-slide{flex:0 0 100%;min-width:0;height:100%;padding:24px 100px;display:grid;place-items:center;user-select:none}
.gallery-slide img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.gallery-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);background:#202020e6}
.gallery-previous{left:max(24px,env(safe-area-inset-left))}
.gallery-next{right:max(24px,env(safe-area-inset-right))}
.gallery-arrow:hover:not(:disabled){background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.gallery-arrow:disabled{opacity:.3;cursor:default}
.gallery-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top:1px solid #ffffff20}
.gallery-caption{margin:0;font-size:.9375rem;font-weight:700;line-height:1.5}
.gallery-help{margin:0;color:#bcbcb4;font-size:.75rem;line-height:1.5}
.gallery-touch-help{display:none}
@media(pointer:coarse){.gallery-desktop-help{display:none}.gallery-touch-help{display:inline}}
@media(max-width:620px){.gallery-dialog-header{padding:calc(12px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));gap:12px}.gallery-dialog-actions{gap:16px}.gallery-close,.gallery-arrow{width:46px;height:46px}.gallery-dialog-header h2{font-size:1rem}.gallery-slide{padding:10px max(12px,env(safe-area-inset-right)) 72px max(12px,env(safe-area-inset-left))}.gallery-arrow{top:auto;bottom:12px;transform:none}.gallery-previous{left:max(14px,env(safe-area-inset-left))}.gallery-next{right:max(14px,env(safe-area-inset-right))}.gallery-dialog-footer{display:block;text-align:center;padding:14px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.gallery-caption{font-size:.875rem}.gallery-help{margin-top:5px;font-size:.6875rem}.gallery-desktop-help{display:none}.gallery-touch-help{display:inline}}
@media(max-height:450px){.gallery-dialog-header{padding-top:8px;padding-bottom:8px}.gallery-dialog-kicker{display:none}.gallery-close,.gallery-arrow{width:44px;height:44px}.gallery-dialog-footer{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.gallery-slide{padding-top:8px;padding-bottom:8px}.gallery-help{display:none}}
@media print{.gallery-dialog{display:none!important}}

/* Statická karta namiesto mapy, kým návštevník mapu nezobrazí. */
.location-section{background:var(--paper);border-top:1px solid var(--line)}
.location-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.location-phone{display:block;width:fit-content;margin-top:0;color:var(--ink);font-size:clamp(1.85rem,4vw,2.6rem);font-weight:900;letter-spacing:-.045em;line-height:1.15;text-decoration:none}
.location-phone:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.location-hours{display:block;margin-top:8px;font-size:.75rem;font-weight:800;letter-spacing:.14em;color:var(--red)}
.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.location-actions .button{min-width:168px}
.location-map{position:relative;min-height:22rem;overflow:hidden;border:1px solid var(--ink);border-top:6px solid var(--yellow);background:var(--soft)}
.location-map-name,.location-map-address{display:none;position:absolute;z-index:2;margin:0;pointer-events:none}
.location-map-name{left:50%;top:calc(50% - 40px);transform:translate(-50%,-100%);background:var(--ink);color:var(--yellow);padding:8px 10px;font-size:.75rem;font-weight:800;letter-spacing:.1em;line-height:1;white-space:nowrap}
.location-map-address{top:12px;left:12px;max-width:calc(100% - 24px);background:#fff;color:var(--ink);padding:8px 10px;font-size:.8125rem;font-weight:700;line-height:1.35;box-shadow:0 1px 4px rgba(20,20,20,.16)}
.location-map:has(.location-frame) .location-map-name,.location-map:has(.location-frame) .location-map-address{display:block}
.location-map:has(.location-frame){aspect-ratio:4/3}
.location-placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:22rem;padding:32px 22px 42px;text-align:center;background:linear-gradient(rgba(20,20,20,.06) 2px,transparent 2px) 0 0/100% 44px,linear-gradient(90deg,rgba(20,20,20,.06) 2px,transparent 2px) 0 0/44px 100%,radial-gradient(circle at 50% 38%,#fff 0 12%,transparent 42%),var(--soft)}
.location-placeholder[hidden]{display:none}
.location-pin{display:flex;flex-direction:column;align-items:center;gap:8px}
.location-pin svg{width:68px;height:auto;filter:drop-shadow(4px 6px 0 rgba(20,20,20,.14))}
.location-pin span{background:var(--ink);color:var(--yellow);padding:8px 10px;font-size:.75rem;font-weight:800;letter-spacing:.1em;line-height:1;white-space:nowrap}
.location-reveal{border:0;cursor:pointer;font-family:inherit;color:#fff}
.location-map-note{max-width:18rem;margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}
.location-strip{position:absolute;right:0;bottom:0;left:0;height:14px;background:conic-gradient(var(--ink) 25%,var(--yellow) 0 50%,var(--ink) 0 75%,var(--yellow) 0);background-size:28px 28px}
.location-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:800px){.location-grid{grid-template-columns:1fr;gap:28px}.location-actions .button{flex:1 1 180px}}
@media(max-width:620px){.location-map:has(.location-frame){aspect-ratio:3/4}.location-actions{display:grid;grid-template-columns:1fr}.location-actions .button,.location-reveal{width:100%}.location-pin svg{width:58px}}
@media print{.location-map,.location-actions{display:none}}
