/* Complete site: shared forms, editorial pages and accessible documents. */
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.header nav { gap:24px; }
.header .nav-book { color:#ff7870; }
.header nav [aria-current=page]::after { width:100%; }
.footer-nav { display:flex; flex-wrap:wrap; gap:16px 30px; padding:30px 0; border-top:1px solid #ffffff1a; font-size:13px; color:#c9cdcf; }
.footer-nav a:hover,.document-nav a:hover { color:#ff8179; }
.footer-bottom { flex-wrap:wrap; gap:20px; }
.inner-page .header { background:rgba(17,19,21,.93); backdrop-filter:blur(20px); }
.inner-page .mobile-call { opacity:1; transform:none; }
.page-hero { position:relative; padding:145px 0 64px; border-bottom:1px solid #ffffff20; overflow:hidden; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:13px; font-size:12px; color:#a2aaae; margin-bottom:50px; }
.breadcrumbs a { color:#fff; }
.page-hero h1 { font-size:clamp(54px,6.8vw,104px); position:relative; z-index:1; line-height:1.04; margin:25px 0 28px; max-width:1050px; }
.page-hero h1 em { color:#d0d2d2; }
.page-hero > p { color:#b5bdc1; font-size:18px; line-height:1.8; max-width:660px; position:relative; z-index:1; }
.hero-page-cross { position:absolute; right:0; bottom:-80px; font-size:370px; font-weight:200; color:#ef342b0c; pointer-events:none; }
.page-section { padding-top:64px; padding-bottom:38px; }
.section-label { display:flex; justify-content:space-between; gap:20px; padding-bottom:25px; font-size:10px; letter-spacing:1.9px; color:#acb6bb; }
.page-section h2,.next-stop h2 { font-size:clamp(32px,3.2vw,50px); font-weight:500; line-height:1.15; letter-spacing:-.05em; }
.page-section h2 em,.next-stop h2 em { font-family:Georgia,serif; font-weight:400; color:#a9b5ba; }
.page-section h3 { font-weight:500; font-size:24px; letter-spacing:-.035em; margin:18px 0; }
.page-section p { color:#b3bec4; line-height:1.8; }
.page-section-head { display:flex; gap:50px; justify-content:space-between; align-items:center; margin-bottom:30px; }
.page-section-head p { max-width:460px; }
.schedule-cards,.note-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.info-card { border:1px solid #ffffff19; border-radius:20px; padding:35px; background:linear-gradient(135deg,#ffffff08,#ffffff01); }
.info-card h2 { margin:26px 0; font-size:clamp(30px,3vw,43px); }
.info-card p { font-size:15px; }
.info-card .eyebrow { font-size:10px; }
.day-pills { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 34px; }
.day-pills span { border:1px solid #ffffff29; padding:10px 18px; border-radius:30px; font-size:13px; }
.note-grid { margin-top:28px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.feature-number { font-size:60px; letter-spacing:-.07em; color:#ff6b60; }
.feature-number small { font-size:12px; letter-spacing:1px; }
.map-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.map-card { border:1px solid #ffffff22; border-radius:18px; overflow:hidden; }
.map-heading { display:flex; align-items:center; justify-content:space-between; padding:5px 25px; }
.map-heading span { font-size:12px; color:#ff7368; }
.map-open { position:relative; display:block; width:100%; padding:0; background:#1d3331; border:0; overflow:hidden; }
.map-open img { width:100%; height:auto; aspect-ratio:640/683; object-fit:cover; display:block; transition:transform .6s; }
.map-open:hover img { transform:scale(1.045); }
.map-open > span { position:absolute; bottom:18px; right:18px; background:#101718df; border:1px solid #ffffff66; border-radius:40px; padding:10px 16px; color:white; font-size:12px; }
.map-confirm { display:block; padding:20px 25px; font-size:14px; }
.map-dialog { padding:24px; border:1px solid #ffffff44; border-radius:20px; background:#14191b; color:white; max-width:min(760px,94vw); max-height:92svh; }
.map-dialog::backdrop { background:#05080de6; backdrop-filter:blur(8px); }
.dialog-head { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.dialog-head h2 { font-size:18px; letter-spacing:0; }
.dialog-close { border:1px solid #ffffff44; padding:10px 16px; border-radius:30px; background:transparent; color:white; }
.map-dialog > img { width:100%; max-height:65svh; object-fit:contain; }
.map-dialog > p { font-size:13px; line-height:1.6; max-width:640px; }
.map-dialog a { text-decoration:underline; }
.fare-list { border-top:1px solid #ffffff33; }
.fare-row { display:grid; grid-template-columns:120px 1fr 220px 58px; align-items:center; gap:24px; padding:30px 0; border-bottom:1px solid #ffffff24; }
.fare-code { font-size:12px; letter-spacing:1px; color:#a7b1b5; }
.fare-row h2 { font-size:28px; margin:0; letter-spacing:-.035em; }
.fare-row h2 span { display:block; color:#9aa9b1; margin-top:6px; }
.fare-row p { font-size:15px; margin:0; }
.fare-row p strong { font-size:60px; font-weight:500; color:white; letter-spacing:-.06em; }
.round-arrow { width:55px; height:55px; display:grid; place-items:center; border-radius:50%; border:1px solid #ffffff55; font-size:24px; transition:background .25s; }
.round-arrow:hover { background:#ef342b; border-color:#ef342b; }
.service-price { display:grid; grid-template-columns:1fr 230px 185px; gap:20px; align-items:center; border-top:1px solid #ffffff22; padding:28px 0; }
.service-price h3 { margin:0; }
.service-price p { font-size:14px; margin-bottom:0; }
.service-price > strong { font-size:33px; font-weight:500; letter-spacing:-1px; }
.service-price > strong small { font-size:15px; }
.service-price > .quote-price { font-size:20px; letter-spacing:0; }
.page-note { font-size:13px; }
.page-note a,.document-body a,.field-hint a,.form-note a { text-decoration:underline; text-underline-offset:4px; }
.service-editorial { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; }
.service-editorial h2 { font-size:clamp(40px,4vw,64px); margin:25px 0; }
.service-editorial .button { margin-top:20px; }
.service-photo { position:relative; height:500px; border-radius:20px; overflow:hidden; }
.service-photo img { width:100%; height:100%; object-fit:cover; }
.service-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%,#061317e6); }
.service-photo span { position:absolute; bottom:35px; left:35px; font-size:13px; letter-spacing:3px; z-index:1; line-height:1.6; }
.page-section .large-fare { color:#fff; font-size:19px; margin:30px 0 10px; }
.large-fare strong { font-size:80px; font-weight:500; letter-spacing:-.07em; }
.steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.steps-grid article { border-top:1px solid #ffffff30; padding-top:25px; }
.steps-grid article > span { color:#ff6c63; font-size:13px; }
.steps-grid p { font-size:15px; }
.next-stop { padding:90px 0; display:flex; justify-content:space-between; gap:40px; align-items:center; border-top:1px solid #ffffff22; margin-top:70px; }
.next-stop .eyebrow { font-size:10px; }
.next-stop h2 { margin-bottom:0; }
.next-stop > div:last-child { display:flex; flex-direction:column; gap:17px; }
.next-phone { font-size:22px; letter-spacing:-.04em; }
.next-stop small { color:#a9b2b7; }
.service-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }
.service-links > a { padding:28px; border:1px solid #ffffff1f; border-radius:18px; background:linear-gradient(130deg,#ffffff08,transparent); transition:border-color .3s,transform .3s; }
.service-links > a:hover { transform:translateY(-5px); border-color:#f66a6080; }
.service-links > a > span:first-child { font-size:10px; letter-spacing:1.4px; color:#b2b8bd; }
.service-links h3 { font-size:26px; letter-spacing:-1px; font-weight:500; line-height:1.3; }
.service-link-bottom { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:#bcc4c9; }
.service-link-bottom b { font-size:25px; color:#ff756c; font-weight:400; }
.inquiry-layout { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1fr); gap:8%; align-items:start; }
.inquiry-aside { position:sticky; top:130px; }
.booking-steps { list-style:none; padding:0; margin:32px 0; }
.booking-steps li { display:flex; gap:20px; padding:22px 0; border-top:1px solid #ffffff20; }
.booking-steps li > span { font-size:11px; color:#ff786d; margin-top:7px; }
.booking-steps h3 { margin:0; font-size:21px; }
.booking-steps p { margin-bottom:0; margin-top:7px; font-size:14px; }
.aside-note { margin-top:35px; padding:24px; background:#ffffff06; border:1px solid #ffffff19; border-radius:14px; font-size:14px; }
.aside-note p { font-size:14px; }
.inquiry-form { min-width:0; }
.inquiry-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.inquiry-form .field-row { margin-bottom:0; }
.inquiry-form label { display:flex; flex-direction:column; gap:9px; margin-bottom:19px; }
.inquiry-form textarea { resize:vertical; width:100%; padding:15px; min-height:90px; border:1px solid #ffffff24; background:#ffffff08; color:#fff; border-radius:8px; font:inherit; font-size:14px; line-height:1.6; }
.inquiry-form input,.inquiry-form select { width:100%; min-width:0; }
.inquiry-form input[type=date] { min-height:52px; }
.inquiry-form .field-hint { font-size:12px; line-height:1.6; color:#b3c2ca; margin:0 0 22px; }
.inquiry-form .field-hint:empty { display:none; }
.form-divider { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:24px 0; border-top:1px solid #ffffff22; margin-top:6px; font-size:10px; letter-spacing:1px; }
.form-divider small { color:#adb8be; font-size:10px; letter-spacing:0; }
.service-picker { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:30px; }
.service-picker button { color:#c8cfd4; background:transparent; border:1px solid #ffffff22; padding:11px 16px; border-radius:30px; font-size:12px; }
.service-picker button[aria-pressed=true] { color:white; border-color:#fa6054; background:#ef342b28; }
.booking-result { scroll-margin-top:110px; }
.booking-result h3 { font-size:25px; color:#fff; }
.booking-result pre { font:inherit; font-size:13px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; background:#0003; padding:20px; border-radius:12px; color:#e3e9ec; margin:25px 0; }
.booking-result .eyebrow { font-size:9px; color:#d7dcdf; }
.result-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.result-actions .button { font-size:12px; padding:13px 17px; min-height:45px; }
.text-button { border:0; background:none; color:inherit; font:inherit; font-size:13px; padding:9px 0; text-align:left; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.copy-status { font-size:12px; }
.inquiry-form .form-note { line-height:1.7; }
textarea:focus-visible { outline:3px solid #ff7067; outline-offset:4px; }
.header-phone { white-space:nowrap; }
.contact-number { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:clamp(35px,6vw,95px); letter-spacing:-.065em; padding:10px 0 50px; border-bottom:1px solid #ffffff22; }
.contact-number > span { color:#ff6d62; }
.contact-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-top:30px; }
.contact-channel { transition:border-color .3s,background .3s; }
.contact-channel:hover { border-color:#f7696080; background:#ef342b0e; }
.contact-channel h2 { display:flex; justify-content:space-between; font-size:34px; }
.contact-channel h2 span { color:#ff6c64; font-size:28px; }
.contact-channel p { overflow-wrap:anywhere; }
.documents-grid { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:20px; }
.document-link { display:flex; flex-direction:column; gap:8px; padding:20px 0; margin-bottom:10px; border-top:1px solid #ffffff22; font-size:14px; }
.document-link span { color:#9dabb2; font-size:10px; }
.document-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:8%; }
.document-nav { position:sticky; top:135px; align-self:start; display:flex; flex-direction:column; gap:18px; font-size:13px; }
.document-nav .eyebrow { font-size:9px; margin-bottom:15px; }
.document-body { max-width:820px; }
.document-body article { padding:0 0 35px; margin-bottom:40px; border-bottom:1px solid #ffffff22; scroll-margin-top:130px; }
.document-body h2 { font-size:32px; }
.document-body p { line-height:1.9; }
.document-body .eyebrow { color:#ff776c; }
.error-actions { display:flex; flex-wrap:wrap; gap:20px; padding-bottom:100px; }
@media(min-width:901px) and (max-width:1250px) { .header { gap:16px; padding-inline:32px; } .header nav { gap:18px; font-size:12px; } .header .nav-book { display:none; } .header-phone { padding:12px; } }
@media(max-width:1000px) { .fare-row { grid-template-columns:90px 1fr 170px 50px; gap:15px; } .service-price { grid-template-columns:1fr 200px; } .service-price .text-link { grid-column:1/-1; } .documents-grid { grid-template-columns:1fr 1fr; } .documents-grid .info-card:first-child { grid-column:1/-1; } .inquiry-layout { gap:35px; grid-template-columns:.7fr 1fr; } .info-card { padding:27px; } .contact-cards { gap:12px; } .contact-channel h2 { font-size:26px; } .document-layout { gap:35px; grid-template-columns:190px 1fr; } }
@media(max-width:900px) { .page-hero { padding-top:125px; } .header nav { gap:0; } .inquiry-layout { grid-template-columns:1fr; } .inquiry-aside { position:static; } .booking-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; } .booking-steps li { flex-direction:column; gap:15px; } .inquiry-aside .aside-note { display:none; } .inquiry-aside .booking-help { margin-bottom:15px; } .map-grid { gap:13px; } .map-heading { padding-inline:18px; } .map-heading h3 { font-size:20px; } .service-editorial { gap:30px; } .service-photo { height:410px; } .document-layout { grid-template-columns:1fr; } .document-nav { position:static; flex-direction:row; flex-wrap:wrap; gap:14px 24px; border-bottom:1px solid #ffffff22; padding-bottom:30px; } .document-nav .eyebrow { width:100%; margin-bottom:0; } }
@media(max-width:650px) { .page-hero { padding-top:105px; padding-bottom:38px; } .breadcrumbs { margin-bottom:36px; font-size:11px; } .page-hero h1 { font-size:clamp(40px,10.2vw,62px); margin-top:22px; } .page-hero > p { font-size:15px; } .page-hero .eyebrow { font-size:9px; letter-spacing:1.3px; } .hero-page-cross { font-size:240px; bottom:-45px; } .page-section { padding-top:40px; padding-bottom:25px; } .section-label { font-size:9px; letter-spacing:1px; } .section-label > span+span { display:none; } .schedule-cards,.map-grid,.service-editorial,.steps-grid,.service-links,.contact-cards,.documents-grid { grid-template-columns:1fr; } .documents-grid .info-card:first-child { grid-column:auto; } .page-section-head { display:block; } .page-section-head p { font-size:14px; } .info-card { padding:25px; border-radius:16px; } .map-grid { gap:22px; } .map-open img { max-height:440px; object-fit:contain; } .map-dialog { padding:16px; } .dialog-head h2 { font-size:15px; } .dialog-close { padding:10px; font-size:12px; } .dialog-head { gap:14px; } .fare-row { grid-template-columns:1fr auto; gap:16px; padding:25px 0; } .fare-code { grid-column:1/-1; font-size:10px; } .fare-row h2 { font-size:23px; } .fare-row p { grid-row:2; grid-column:2; font-size:12px; } .fare-row p strong { font-size:42px; } .fare-row .round-arrow { width:40px; height:40px; grid-column:2; justify-self:end; font-size:20px; } .service-price { grid-template-columns:1fr; gap:20px; } .service-price h3 { font-size:23px; } .service-photo { height:350px; } .service-editorial { gap:32px; } .service-editorial.rental .service-photo { order:2; } .steps-grid { gap:20px; } .service-links { gap:13px; margin-top:30px; } .service-links h3 { font-size:29px; margin:22px 0; } .next-stop { display:block; margin-top:30px; padding:55px 0; } .next-stop > div:last-child { margin-top:35px; align-items:start; } .booking-steps { display:block; margin:25px 0; } .booking-steps li { flex-direction:row; gap:20px; padding:16px 0; } .booking-steps h3 { font-size:19px; } .booking-steps p { font-size:13px; } .booking-result pre { padding:15px; font-size:12px; } .result-actions .button { width:100%; } .result-actions { gap:14px; } .inquiry-form .field-row { grid-template-columns:1fr; gap:0; } .inquiry-form textarea { font-size:16px; } .service-picker { gap:6px; } .service-picker button { padding:10px 13px; font-size:11px; } .contact-number { font-size:clamp(29px,7.2vw,47px); padding-bottom:30px; } .contact-channel h2 { font-size:34px; } .document-body h2 { font-size:28px; } .document-body p { font-size:15px; } .footer-nav { gap:16px 20px; font-size:12px; } .footer-bottom { line-height:1.7; } }
@media print { .header,.footer,.mobile-call,.next-stop,.document-nav,.page-hero .breadcrumbs,.hero-page-cross,.reading-progress { display:none!important; } body { background:white!important; color:black!important; } .wrap { width:100%; } .page-hero { padding:0; border:0; } .page-hero h1 { font-size:36px; } .page-hero h1 em,.page-hero p,.page-section p { color:#333; } .page-hero .eyebrow { display:none; } .document-layout { display:block; padding:20px 0; } .document-body { max-width:none; } .document-body article { break-inside:avoid; margin-bottom:20px; padding-bottom:15px; } .document-body h2 { font-size:22px; } .document-body p { font-size:12px; line-height:1.6; } a { color:black; } }
@media(max-width:370px) { .header,.header.scrolled { gap:10px; padding-inline:16px; } .header .brand { font-size:23px; gap:8px; } .header .brand-symbol { width:22px; height:22px; font-size:25px; } .header-phone { font-size:0; padding:10px 9px; } .header-phone::after { content:'Zadzwoń'; font-size:9px; } }
