@font-face { font-family: "Exo 2"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/exo-2-latin-wght-italic.26a4dc84a1.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Exo 2"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/exo-2-latin-ext-wght-italic.82ff7689d4.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url(/assets/fonts/manrope-latin-wght-normal.a30ddcd349.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url(/assets/fonts/manrope-latin-ext-wght-normal.3911b66d9f.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/jetbrains-mono-latin-500-normal.cb182feeed.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/jetbrains-mono-latin-ext-500-normal.879df9319f.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
:root {
  --accent: #2bb8ff;
  --accent-dark: #2bb8ff;
  --btn-bg: #2bb8ff;
  --btn-fg: #04101f;
  --btn-hover: #5cc9ff;
  --soft: #0b1630;
}
/* Svijetla inačica (theme.variant "light"): bijelo zaglavlje i podnožje, grafitni tekst,
   tirkizna samo za ukrase i gumbe. Dodaje se iza site.css i boja klijenta. */
:root {
  --navy: #20262d;
  --navy-soft: #3a434c;
  --ink: #20262d;
  --muted: #52606a;
  --line: #dce5e7;
  --foam: #f5f7f7;
  --soft: #eaf8f7;
  --shadow: 0 6px 22px rgba(32, 38, 45, 0.06);
  --radius: 14px;
}
body { font-size: 16.5px; line-height: 1.55; }
h1, h2 { letter-spacing: -0.02em; }
h1 { font-weight: 750; }
h2 { font-weight: 750; font-size: clamp(1.5rem, 3.2vw, 2.05rem); }
.brand-logo img { height: 46px; }
.langs span, .menu-langs span { background: var(--accent-dark); }
.menu summary { border-color: var(--line); }

/* Motiv: tanka putanja s dvije točke */
.motif { width: 46px; height: 12px; flex: none; fill: var(--accent); stroke: var(--accent); }
.motif path { fill: none; stroke-width: 1.6; stroke-linecap: round; }
.eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; text-transform: none; letter-spacing: 0; font-size: 0.95rem; color: var(--muted); font-weight: 600; }

/* Gumbi */
.btn-outline { background: #fff; color: var(--ink); border-color: var(--ink); }
.btn-outline:hover { background: var(--foam); color: var(--ink); }
.btn-outline .icon { color: var(--accent-dark); }
.btn-quiet { background: transparent; color: var(--ink); border-color: transparent; padding-inline: 0.6rem; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.btn-quiet .icon { color: #128c4a; }
.btn-quiet:hover { text-decoration-color: currentColor; }
.btn .icon { width: 20px; height: 20px; }
.actions { gap: 0.6rem; margin-top: 1.25rem; }
.more-row { margin-top: 1rem; }

/* Naslovnica */
.hero-light { background: #fff; padding: clamp(2rem, 6vw, 4rem) 0 clamp(1.5rem, 4vw, 2.5rem); }
.hero-light .lead { color: var(--muted); max-width: 52ch; }
.hero-light .lead + .lead { font-weight: 400; color: var(--muted); }
.hero-light h1 { font-size: clamp(2rem, 4.8vw, 3.1rem); }
.hero-photo { border-radius: 18px; box-shadow: none; aspect-ratio: 4 / 3; }
.info-row { list-style: none; margin: 1.75rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 0.6rem 1.75rem; color: var(--ink); font-weight: 600; font-size: 0.95rem; }
.info-row li { display: inline-flex; align-items: center; gap: 0.45rem; }
.info-row .icon { width: 18px; height: 18px; color: var(--accent-dark); }

/* Podstranice */
.page-hero { background: #fff; border-bottom: 1px solid var(--line); }
.page-hero h1 { font-size: clamp(1.8rem, 4.2vw, 2.7rem); }
.split { display: grid; gap: 1.5rem; align-items: center; }
.section { padding: clamp(2.5rem, 6vw, 4rem) 0; }
.tint { background: var(--foam); }
.section-lead p { color: var(--muted); max-width: 64ch; }
.section .narrow > p { color: var(--muted); }
.section .narrow h3 { margin-top: 1.25rem; }
.card { box-shadow: none; }
.card p { margin: 0 0 0.6rem; }
.card p:last-child { margin-bottom: 0; }
.items { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.service { border-top: 3px solid var(--accent); }
.badge-icon { width: 46px; height: 46px; border-radius: 12px; }

/* Vozila: sjedala i prtljaga u zasebnim redovima */
.vgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.vcard-top { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin: 0 0 0.5rem !important; }
.vcard-model { font-size: 1.3rem; font-weight: 750; color: var(--ink); }
.vcard-year { font-size: 0.85rem; font-weight: 700; color: var(--accent-dark); background: var(--soft); border-radius: 999px; padding: 0.15rem 0.6rem; }
.vcard h3 { font-size: 1rem; color: var(--muted); font-weight: 600; }
.vrows { margin: 0.25rem 0 1rem; display: grid; gap: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.vrows div { display: grid; grid-template-columns: 1fr; gap: 0.15rem 0.75rem; padding: 0.65rem 0.85rem; }
.vrows div + div { border-top: 1px solid var(--line); }
.vrows dt { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--muted); font-size: 0.9rem; }
.vrows dt .icon { width: 18px; height: 18px; color: var(--accent-dark); }
.vrows dd { margin: 0; font-weight: 700; color: var(--ink); }

/* Cjenik: tablica na računalu, kartice na mobitelu */
.rt { margin-top: 1.25rem; }
.rt-head { display: none; }
.rt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.rt-row { display: grid; gap: 0.5rem; padding: 0.9rem 1rem; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.rt-name { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; font-weight: 700; color: var(--ink); }
.rt-name .motif { width: 34px; }
.rt-cell { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.95rem; }
.rt-cell .tier { color: var(--muted); }
.rt-cell strong { color: var(--ink); white-space: nowrap; }
.rt-request { color: var(--muted); }
.rt-request strong { font-weight: 600; color: var(--muted); }
.rt-note { margin-top: 0.9rem; font-weight: 600; color: var(--ink); font-size: 0.95rem; }
.rt-note span { font-weight: 400; color: var(--muted); }
.price-inline { display: flex; flex-wrap: wrap; gap: 0.35rem 1.25rem; margin-top: 0.75rem !important; padding-top: 0.6rem; border-top: 1px solid var(--line); }
.price-inline .tier { color: var(--muted); font-size: 0.9rem; }
.price-inline strong { color: var(--ink); }

/* Postupak: upit -> dogovor -> potvrda */
.steps { list-style: none; margin: 0.5rem 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 0; }
.steps li { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; color: var(--ink); }
.steps li + li::before { content: ""; width: 34px; height: 2px; margin: 0 0.6rem; background: var(--accent); border-radius: 2px; }
.step-n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--accent); color: var(--accent-dark); font-size: 0.9rem; }

/* Pitanja */
.faq-list { margin-top: 0.5rem; }
.faq-item summary { min-height: 44px; }
.faq-a { padding: 0 1.25rem 1.1rem; }
.faq-a p { margin: 0 0 0.5rem; padding: 0; color: var(--muted); }
.faq-item[open] summary { color: var(--accent-dark); }

/* Vozač */
.driver { box-shadow: none; border: 1px solid var(--line); }
.avatar { background: var(--soft); color: var(--accent-dark); }

/* Kontakt */
.contact-grid { display: grid; gap: 2rem; align-items: start; }
.contact-list { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.4rem; }
.contact-list li { display: grid; grid-template-columns: minmax(6rem, auto) 1fr; gap: 0.75rem; }
.cl-label { color: var(--muted); }
.cl-value { font-weight: 700; }
.cl-value a { color: var(--ink); }
.contact-more { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.contact-more h2 { font-size: 1.2rem; }
.contact-more p { color: var(--muted); }
.form-card { padding: clamp(1.1rem, 3vw, 1.75rem); }
.form-card > h2 { font-size: 1.35rem; }
.form-card > p { color: var(--muted); }
.form-card .booking { margin-top: 1rem; padding: 0; border: 0; box-shadow: none; }
.field input, .field textarea { border-color: #8a989f; }
.error-list { color: var(--ink); text-align: left; }

/* Izleti partnera */
.tour-cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
.tour-badge { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 700; color: var(--accent-dark); margin: 0 !important; }
.tour-badge .motif { width: 34px; }
.tour-body h3 { font-size: 1.1rem; margin: 0; }
.tour-body > p { color: var(--muted); }
.tour-price { color: var(--ink); }
.tour .btn { align-self: stretch; }

/* Podnožje: svijetlo */
.foot { background: var(--foam); color: var(--muted); border-top: 1px solid var(--line); }
.foot a { color: var(--ink); }
.foot-brand { color: var(--ink); }
.foot-label { color: var(--ink); }
.foot-list span { color: var(--muted); }
.foot-bottom { border-top-color: var(--line); color: var(--muted); }
.foot :focus-visible { outline-color: var(--accent-dark); }

@media (min-width: 700px) {
  .vrows div { grid-template-columns: minmax(7.5rem, auto) 1fr; }
  .rt-head { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 1rem; margin: 0 0 0.4rem; padding: 0 1rem; font-size: 0.85rem; font-weight: 700; color: var(--muted); }
  .rt-row { grid-template-columns: 1.6fr 1fr 1fr; align-items: center; gap: 1rem; }
  .rt-row .tier { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .rt-request { grid-column: span 2; }
  .rt-cell { justify-content: flex-start; }
}
@media (min-width: 900px) {
  .hero-light .hero-grid { grid-template-columns: 55fr 45fr; gap: 3rem; }
  .split { grid-template-columns: 1.4fr 1fr; gap: 3rem; }
  .contact-grid { grid-template-columns: 1fr 1.15fr; grid-template-areas: "intro form" "rest form"; grid-template-rows: auto 1fr; gap: 0 3rem; }
  .contact-intro { grid-area: intro; }
  .form-card { grid-area: form; }
  .contact-rest { grid-area: rest; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.home-tours { border-top: 1px solid var(--line); }
.top-inner { gap: 1rem; }
.nav { gap: 1rem; }

/* Izravni transferi / transferi sa stajanjem */
.switch { display: grid; gap: 0.6rem; margin-top: 1.75rem; }
.switch-opt { display: grid; gap: 0.15rem; padding: 0.9rem 1.1rem; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--muted); background: #fff; }
.switch-opt strong { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--ink); font-size: 1.05rem; }
.switch-opt .motif { width: 34px; }
.switch-opt:hover { border-color: var(--accent); }
.switch-opt.is-current { border-color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent-dark); background: var(--soft); }
.page-hero .switch + * { margin-top: 0; }

/* Kartice relacija */
.route-cards-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.rcard.has-photo { padding: 0; overflow: hidden; }
.rcard.has-photo .item-body { padding: 1.1rem 1.3rem 1.3rem; }
.rcard-img { display: block; }
.rcard h3 a { color: var(--ink); text-decoration: none; }
.rcard h3 a:hover { color: var(--accent-dark); text-decoration: underline; }
.rcard .more-row, .rcard .more { margin-top: 0.75rem; }
.item .more-row { margin-top: 0.75rem; }

/* Stranica relacije */
.crumbs { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; font-size: 0.9rem; color: var(--muted); margin-bottom: 1rem; }
.crumbs a { color: var(--muted); }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.route-grid { display: grid; gap: 2rem; align-items: start; }
.route-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; margin-bottom: 1rem; }
.facts-box h2 { font-size: 1.15rem; margin-bottom: 0.6rem; }
.facts-box dl { margin: 0; display: grid; }
.facts-box dl div { display: grid; grid-template-columns: 1fr; gap: 0.1rem; padding: 0.6rem 0; border-top: 1px solid var(--line); }
.facts-box dt { font-size: 0.85rem; font-weight: 600; color: var(--muted); }
.facts-box dd { margin: 0; color: var(--ink); }
.facts-note { font-size: 0.85rem; color: var(--muted); }
.timeline { list-style: none; counter-reset: stop; margin: 1.25rem 0 0; padding: 0; }
.timeline li { counter-increment: stop; position: relative; padding: 0 0 1.4rem 3rem; }
.timeline li::before { content: counter(stop); position: absolute; left: 0; top: -0.1rem; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--accent); color: var(--accent-dark); font-weight: 700; background: #fff; }
.timeline li:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 34px; bottom: 0.2rem; width: 2px; background: var(--line); }
.timeline h3 { margin-bottom: 0.3rem; }
.timeline p { color: var(--muted); margin: 0; }

@media (min-width: 700px) {
  .switch { grid-template-columns: 1fr 1fr; }
  .facts-box dl div { grid-template-columns: 9rem 1fr; gap: 1rem; }
}
@media (min-width: 900px) {
  .route-grid { grid-template-columns: 1.2fr 1fr; gap: 3rem; }
}

/* Galerija i autori fotografija */
.gallery-section { padding-top: 0; }
.gallery { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.gallery figure { margin: 0; }
.gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.gallery figcaption { font-size: 0.85rem; color: var(--muted); margin-top: 0.35rem; }
.photo-credits { margin-top: 2rem; font-size: 0.8rem; color: var(--muted); }
.photo-credits a { color: var(--muted); }
.tour h3 a { color: var(--ink); text-decoration: none; }
.tour h3 a:hover { color: var(--accent-dark); text-decoration: underline; }

.foot-label { font-size: 0.875rem; }
@media (min-width: 700px) { .rt-head { font-size: 0.9rem !important; } }
.photo-credits { font-size: 0.875rem; }
.night-note { font-weight: 600; color: var(--accent-dark); }
.vcard-photo { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; margin-bottom: 0.9rem; }
/* Tamna, futuristička inačica (theme.mode "dark"): tamna podloga, svijetli tekst,
   neonski tirkiz i ljubičasta kao naglasak. Dodaje se iza light.css. */
:root {
  --navy: #eef4fb;
  --navy-soft: #c9d6e6;
  --ink: #e6edf5;
  --muted: #9fb0c3;
  --paper: #070b12;
  --line: #1e2a3a;
  --foam: #0b111b;
  --soft: #0f2230;
  --card: #0e1520;
  --glow: 0 0 0 1px rgba(var(--accent-rgb), 0.16), 0 10px 40px rgba(var(--accent-rgb), 0.05);
  --accent2: #a78bfa;
  --accent-rgb: 34, 211, 238;
  --accent2-rgb: 167, 139, 250;
  color-scheme: dark;
}
body { background: var(--paper); color: var(--ink); }
a { color: var(--accent); }
h1, h2 { letter-spacing: -0.03em; }
/* Puna bijela boja: tekst s gradijentom (background-clip) nestaje u tamnom načinu nekih preglednika (Samsung Internet). */
:root { color-scheme: dark; }
h1 { color: #ffffff; }
.eyebrow, .tour-badge { color: var(--accent); }
.eyebrow span { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.78rem; }
.motif { fill: var(--accent); stroke: url(#none); stroke: var(--accent2); }

/* Zaglavlje i izbornik */
.top { background: rgba(7, 11, 18, 0.92); border-bottom-color: var(--line); backdrop-filter: blur(8px); }
.top .nav a { color: var(--ink); }
.top .nav a:hover, .top .nav a[aria-current="page"] { color: var(--accent); }
.brand { color: #fff; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 800; }
.brand::before { background: linear-gradient(180deg, var(--accent) 0 50%, var(--accent2) 50% 100%); border-radius: 2px; width: 6px; }
.langs a { color: var(--muted); }
.langs a:hover { background: var(--soft); color: #fff; }
.langs span, .menu-langs span { background: var(--accent); color: var(--btn-fg, #04121a); }
.menu summary { color: var(--ink); border-color: var(--line); }
.menu-bars, .menu-bars::before, .menu-bars::after { background: var(--ink); }
.menu nav { background: var(--card); border-color: var(--line); }
.menu nav a { color: var(--ink); }
.menu nav a:hover, .menu nav a[aria-current="page"] { background: var(--soft); }

/* Odjeljci i kartice */
.hero-light, .page-hero { background: radial-gradient(1200px 500px at 85% -10%, rgba(var(--accent2-rgb), 0.16), transparent 60%), radial-gradient(900px 400px at 0% 0%, rgba(var(--accent-rgb), 0.10), transparent 60%), var(--paper); border-bottom-color: var(--line); }
.tint { background: var(--foam); }
.section .narrow > p, .section-lead p, .card p, .hero-light .lead { color: var(--muted); }
.card, .rt-row, .faq-item, .driver, .switch-opt, .vrows, .booking, .form-card { background: var(--card); border-color: var(--line); box-shadow: var(--glow); }
.card:hover { border-color: rgba(var(--accent-rgb), 0.45); }
.service { border-top-color: var(--accent); }
.badge-icon, .avatar, .fact-icon { background: var(--soft); color: var(--accent); }
.vcard-model, .rt-name, .vrows dd, .cl-value a, .tour-price, .steps li, .rt-note { color: var(--ink); }
.vcard-year { background: var(--soft); color: var(--accent); }
.info-row { border-top-color: var(--line); color: var(--ink); }
.hero-photo, .route-photo { box-shadow: 0 0 0 1px var(--line), 0 30px 80px rgba(var(--accent-rgb), 0.12); }
.faq-item summary { color: var(--ink); }
.faq-item[open] summary { color: var(--accent); }
.timeline li::before { background: var(--paper); }
.step-n { color: var(--accent); }
.switch-opt strong { color: var(--ink); }
.switch-opt.is-current { background: var(--soft); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.vcard-photo { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; margin-bottom: 0.9rem; }

/* Gumbi */
.btn-primary, .btn-call { background: linear-gradient(90deg, var(--accent), var(--accent2)); border-color: transparent; color: var(--btn-fg, #04121a); }
.btn-primary:hover, .btn-call:hover { filter: brightness(1.1); background: linear-gradient(90deg, var(--accent), var(--accent2)); color: var(--btn-fg, #04121a); }
.btn-outline, .btn-ghost { background: transparent; color: var(--ink); border-color: rgba(230, 237, 245, 0.55); }
.btn-outline:hover, .btn-ghost:hover { background: var(--soft); color: #fff; }
.btn-quiet { color: var(--ink); }
.more { color: var(--accent); }

/* Obrazac */
.field label { color: var(--ink); }
.field input, .field textarea { background: #0a1018; color: var(--ink); border-color: #33465c; }
.field input::-webkit-calendar-picker-indicator { filter: invert(1); }
.field-help, .booking .form-note { color: var(--muted); }

/* Podnožje i traka za poziv */
.foot { background: #05080e; border-top-color: var(--line); color: var(--muted); }
.foot a, .foot-label, .foot-brand { color: var(--ink); }
.foot-bottom { border-top-color: var(--line); }
.callbar { background: rgba(7, 11, 18, 0.96); border-top-color: var(--line); }
:focus-visible { outline-color: var(--accent); }
@media (prefers-reduced-motion: no-preference) {
  .card { transition: border-color 0.2s ease; }
}
:root { --radius: 14px; }
:root { --accent-rgb: 43, 184, 255; --accent2: #2bb8ff; --accent2-rgb: 43, 184, 255; }
.top { background: #050b18; border-bottom-color: #050b18; }
.top .nav a { color: #fff; } .top .nav a:hover, .top .nav a[aria-current="page"] { color: #2bb8ff; }
.top .langs a { color: #d6dde3; } .top .langs a:hover { background: rgba(255,255,255,.12); color: #fff; }
.top .menu summary { color: #fff; border-color: rgba(255,255,255,.35); } .top .menu-bars, .top .menu-bars::before, .top .menu-bars::after { background: #fff; }
.top :focus-visible { outline-color: #fff; }
.field select { font: inherit; color: var(--ink); background: #fff; border: 1px solid #8a989f; border-radius: 12px; padding: 0.65rem 0.8rem; min-height: 48px; width: 100%; }
.field select:focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 1px; }
.driver-note { color: var(--muted); font-size: 0.92rem; }
/* Izgled "tours": web prijevoznika kao web turističkog operatera.
   Tamni "futuristički krom" iz loga: tamnoplava podloga, kromirani naslovi (Exo 2),
   tekst u Manropeu, male HUD oznake u JetBrains Monu, električno plava za gumbe i
   jantarna za cijene. Fontovi su na istoj adresi (vidi toursFonts u build.mjs). */

:root {
  --t-ground: #050b18;
  --t-sec: #071125;
  --t-card: #0b1630;
  --t-line: rgba(140, 180, 255, 0.14);
  --t-line-2: rgba(140, 180, 255, 0.22);
  --t-text: #e8eef7;
  --t-soft: #c9d5e6;
  --t-muted: #a9b6c9;
  --t-muted-2: #8b9bb2;
  --t-blue: #2bb8ff;
  --t-blue-text: #7fd3ff;
  --t-blue-ink: #04101f;
  --t-amber: #ffc08a;
  --t-green: #22c55e;
  --t-green-text: #6ee7a8;
  --t-display: "Exo 2", "Arial Narrow", system-ui, sans-serif;
  --t-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --t-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --t-glow: 0 0 0 1px rgba(43, 184, 255, 0.6), 0 8px 30px rgba(43, 184, 255, 0.35);
  --t-glow-hover: 0 0 0 1px rgba(43, 184, 255, 0.9), 0 10px 40px rgba(43, 184, 255, 0.55);
  --font: var(--t-sans);
  --navy: #ffffff;
  --navy-soft: var(--t-soft);
  --ink: var(--t-text);
  --muted: var(--t-muted);
  --paper: var(--t-ground);
  --line: var(--t-line);
  --foam: var(--t-sec);
  --soft: var(--t-card);
  --card: var(--t-card);
  --accent2: var(--t-blue);
  --accent-rgb: 43, 184, 255;
  --accent2-rgb: 43, 184, 255;
  --radius: 16px;
  color-scheme: dark;
}

/* ---------------------------------------------------------------- osnova */
.t-body { background: var(--t-ground); color: var(--t-text); font-family: var(--t-sans); font-size: 16px; line-height: 1.6; }
.t-body .wrap { width: min(1280px, 100% - 2.5rem); }
.t-body .narrow { width: min(880px, 100% - 2.5rem); }
:where(.t-body) a:where(:not(.btn)) { color: var(--t-blue-text); }
:where(.t-body) a:where(:not(.btn)):hover { color: #fff; }
.t-body :focus-visible { outline: 3px solid var(--t-blue); outline-offset: 3px; }
.t-body h1, .t-body h2 { font-family: var(--t-display); font-style: italic; color: #fff; letter-spacing: -0.01em; }
.t-body h1 { font-weight: 900; font-size: clamp(2.6rem, 6.4vw, 5.25rem); line-height: 1.02; margin: 0 0 0.3em; }
.t-body h2 { font-weight: 800; font-size: clamp(1.85rem, 4vw, 3.25rem); line-height: 1.06; margin: 0 0 0.45em; }
.t-body h3 { font-family: var(--t-sans); font-weight: 700; font-size: 1.2rem; color: #fff; letter-spacing: 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Kromirani tekst (naslovi): svaki redak dobiva svoj prijelaz (veličina pozadine = visina retka). */
.t-chrome, .t-title {
  color: #f4f7fb;
  background-image: linear-gradient(180deg, #ffffff 0%, #dfe7f2 45%, #9aa8bc 55%, #f4f7fb 100%);
  background-size: 100% 1.02em;
  background-repeat: repeat-y;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.02;
  padding-right: 0.08em;
}
.t-body .t-title { line-height: 1.06; background-size: 100% 1.06em; }

/* HUD oznake: mono, velika slova, razmak */
.t-kicker, .t-eyebrow-text, .t-card-meta, .t-coords, .t-crumbs, .t-hudfacts dt, .t-mono, .t-pricebox-kicker, .t-tl-time, .t-plan-route, .t-planner-head, .t-rl-km, .t-fleet-meta, .t-spec, .t-badge, .t-filter legend, .t-body .langs, .t-body .menu-langs, .t-trust-list {
  font-family: var(--t-mono);
  font-weight: 500;
}
.t-kicker { margin: 0 0 0.6rem; font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--t-blue-text); }
.t-kicker-n { color: var(--t-blue-text); }
.t-eyebrow { margin: 0 0 1.25rem; }
.t-eyebrow-text { margin: 0; font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--t-blue-text); }
.t-section-lead { color: var(--t-muted); max-width: 64ch; margin: 0; }
.t-section-lead + .t-section-lead { margin-top: 0.75rem; }
.t-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.25rem 2rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.t-head-row > div { min-width: 0; max-width: 820px; }
.t-head-row h2 { margin-bottom: 0.35em; }
.t-body .section { padding: clamp(3.5rem, 8vw, 6.5rem) 0; }
.t-body .section.compact { padding: 0 0 2.5rem; }
.t-body .tint { background: var(--t-sec); }
.t-band { background: var(--t-sec); border-block: 1px solid var(--t-line); }
.t-body .more { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; color: var(--t-blue-text); font-weight: 700; text-decoration: none; }
.t-body .more:hover { color: #fff; }
.t-body .more .icon { width: 18px; height: 18px; }
.t-body .more-row { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }

/* ---------------------------------------------------------------- gumbi */
.t-body .btn { min-height: 48px; border-radius: 999px; font-weight: 700; border-width: 1px; font-family: var(--t-sans); }
.t-body .btn-lg { min-height: 56px; padding: 0.9rem 1.75rem; font-size: 1rem; }
.t-body .btn-primary, .t-body .btn-call, .t-btn-glow { background: var(--t-blue); border-color: var(--t-blue); color: var(--t-blue-ink); box-shadow: var(--t-glow); filter: none; }
.t-body .btn-primary:hover, .t-body .btn-call:hover, .t-btn-glow:hover { background: #5cc9ff; border-color: #5cc9ff; color: var(--t-blue-ink); box-shadow: var(--t-glow-hover); filter: none; }
.t-body .btn-primary .icon, .t-btn-glow .icon { color: var(--t-blue-ink); }
.t-body .btn-ghost, .t-btn-line { background: transparent; color: #fff; border-color: rgba(201, 213, 230, 0.45); box-shadow: none; }
.t-body .btn-ghost:hover, .t-btn-line:hover { background: rgba(255, 255, 255, 0.06); border-color: #fff; color: #fff; }
.t-body .btn-wa { background: var(--t-green); border-color: var(--t-green); color: #03140a; }
.t-body .btn-wa:hover { background: #3ad673; border-color: #3ad673; color: #03140a; }
.t-body .btn-wa .icon { color: #03140a; }
.t-body .actions { gap: 0.85rem; margin-top: 2rem; }

/* ---------------------------------------------------------------- zaglavlje */
.t-body .top { background: rgba(5, 11, 24, 0.86); border-bottom: 1px solid var(--t-line); backdrop-filter: blur(10px); box-shadow: none; }
.t-body .top-inner { min-height: 72px; gap: 1.5rem; }
.t-body .top .brand-logo img { height: 46px; width: auto; }
.t-body .nav { gap: 1.6rem; }
.t-body .top .nav a { position: relative; color: var(--t-soft); font-weight: 600; font-size: 15px; padding: 0.6rem 0; }
.t-body .top .nav a:hover { color: #fff; }
.t-body .top .nav a[aria-current="page"] { color: #fff; }
.t-body .top .nav a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0.15rem; height: 2px; border-radius: 2px; background: var(--t-blue); box-shadow: 0 0 10px rgba(43, 184, 255, 0.8); }
.t-body .langs { gap: 0.2rem; font-size: 12px; letter-spacing: 0.08em; }
.t-body .top .langs a, .t-body .langs span { display: inline-flex; align-items: center; min-height: 32px; padding: 0.3rem 0.5rem; border-radius: 6px; color: var(--t-muted-2); text-decoration: none; }
.t-body .top .langs a:hover { background: rgba(43, 184, 255, 0.1); color: #fff; }
.t-body .langs span, .t-body .menu-langs span { background: rgba(43, 184, 255, 0.14); color: var(--t-blue-text); }
.t-body .btn-call { min-height: 46px; padding: 0.6rem 1.25rem; font-size: 15px; }
.t-body .btn-head-wa { min-height: 46px; width: 46px; padding: 0; }
.t-body .menu summary { color: #fff; border-color: rgba(140, 180, 255, 0.3); min-height: 44px; min-width: 44px; justify-content: center; }
.t-body .menu-bars, .t-body .menu-bars::before, .t-body .menu-bars::after { background: #fff; }
.t-body .menu nav { background: var(--t-card); border-color: var(--t-line-2); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); }
.t-body .menu nav a { color: var(--t-text); min-height: 44px; display: flex; align-items: center; }
.t-body .menu nav a:hover, .t-body .menu nav a[aria-current="page"] { background: rgba(43, 184, 255, 0.1); color: #fff; }
.t-body .menu-langs { border-top-color: var(--t-line); font-size: 13px; }
.t-body .menu-langs a, .t-body .menu-langs span { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; padding: 0.35rem 0.5rem; }
.t-body .menu-langs a { color: var(--t-muted); }
.t-body .install-btn { border-color: var(--t-line-2); color: var(--t-soft); min-height: 44px; }

/* ---------------------------------------------------------------- velika fotografija */
.t-hero { position: relative; isolation: isolate; overflow: hidden; color: var(--t-text); background: var(--t-ground); min-height: clamp(460px, 68vh, 720px); display: flex; align-items: flex-end; }
.t-hero-short { min-height: clamp(400px, 56vh, 600px); }
.t-hero-media, .t-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.t-hero-media { z-index: -1; overflow: hidden; }
.t-hero-media img { object-fit: cover; object-position: center 40%; }
.t-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 11, 24, 0.45) 0%, rgba(5, 11, 24, 0.6) 45%, rgba(5, 11, 24, 0.92) 80%, #050b18 100%); }
.t-hero-inner { position: relative; padding: clamp(6rem, 13vw, 8.5rem) 0 clamp(2.25rem, 5vw, 4rem); }
.t-hero h1 { max-width: 18ch; }
.t-hero .t-lead { color: #dbe3ee; }
.t-lead { font-size: clamp(1.05rem, 1.8vw, 1.19rem); max-width: 60ch; margin: 0; color: var(--t-soft); }
.t-hero .actions { margin-top: 2.25rem; }
.t-swoosh { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }

/* Naslovna: tekst lijevo, planer desno */
.t-hero-home { display: block; min-height: 0; }
.t-hero-home .t-hero-media img { object-position: center 60%; }
.t-hero-home .t-hero-media::after { background: linear-gradient(180deg, rgba(5, 11, 24, 0.6) 0%, rgba(5, 11, 24, 0.78) 50%, #050b18 100%); }
.t-hero-grid { position: relative; z-index: 1; display: grid; gap: 2rem; padding: 2.75rem 0 2rem; }
.t-hero-copy { min-width: 0; }
.t-hero-home .t-eyebrow-text { margin-bottom: 1rem; font-size: 0.72rem; letter-spacing: 0.16em; }
.t-hero-home h1 { max-width: none; font-size: clamp(2.75rem, 11.5vw, 4.75rem); margin: 0; }
.t-hero-home h1 span { display: block; }
.t-hero-home .t-lead { margin-top: 1.25rem; max-width: 560px; }

/* Putanja (breadcrumbs) */
.t-crumbs ol { list-style: none; margin: 0 0 0.75rem; align-items: center; padding: 0; display: flex; flex-wrap: wrap; gap: 0.15rem 0.5rem; font-size: 0.8rem; color: var(--t-soft); }
.t-crumbs li + li::before { content: "/"; margin-right: 0.5rem; color: var(--t-muted-2); }
.t-crumbs a { color: var(--t-soft); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.t-crumbs a:hover { color: #fff; text-decoration: underline; }
.t-crumbs [aria-current] { color: var(--t-blue-text); }

/* Činjenice u traci (HUD) */
.t-hudfacts { margin: 2rem 0 0; max-width: 860px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--t-line-2); border-radius: 16px; background: rgba(5, 11, 24, 0.72); backdrop-filter: blur(6px); overflow: hidden; }
.t-hudfacts div { padding: 0.9rem 1.1rem; border-right: 1px solid var(--t-line); border-bottom: 1px solid var(--t-line); min-width: 0; }
.t-hudfacts div:nth-child(2n) { border-right: 0; }
.t-hudfacts div:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
.t-hudfacts dt { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--t-muted-2); }
.t-hudfacts dd { margin: 0.25rem 0 0; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.t-hudfacts .t-mono { font-family: var(--t-mono); font-weight: 500; font-size: 0.875rem; }
.t-hero-price { margin: 1.25rem 0 0; }
.t-hero-price strong { font-family: var(--t-display); font-style: italic; font-weight: 800; font-size: 1.6rem; color: var(--t-amber); }
.t-hero-price span { color: var(--t-soft); font-size: 0.9rem; }

/* Zaglavlje podstranice bez fotografije: mreža i plavi sjaj */
.t-pagehead {
  position: relative;
  padding: clamp(3.5rem, 9vw, 7rem) 0 clamp(2.25rem, 6vw, 4rem);
  border-bottom: 1px solid var(--t-line);
  background-color: var(--t-ground);
  background-image: radial-gradient(900px 420px at 85% -10%, rgba(43, 184, 255, 0.16), transparent 60%), linear-gradient(rgba(140, 180, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 180, 255, 0.05) 1px, transparent 1px);
  background-size: auto, 80px 80px, 80px 80px;
}
.t-pagehead h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); max-width: 20ch; }
.t-pagehead .t-lead { color: var(--t-soft); }

/* ---------------------------------------------------------------- planer */
.t-planner { min-width: 0; background: rgba(11, 22, 48, 0.86); border: 1px solid var(--t-line-2); border-radius: 22px; padding: 1.25rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06); backdrop-filter: blur(8px); }
.t-planner-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem; margin: 0; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--t-muted-2); }
.t-live { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--t-green-text); letter-spacing: 0.04em; text-transform: none; }
.t-live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--t-green-text); box-shadow: 0 0 10px var(--t-green-text); }
.t-planner-label { display: block; margin: 1rem 0 0.5rem; padding: 0; float: none; font-size: 0.82rem; font-weight: 600; color: var(--t-muted-2); }
.t-planner-from { margin: 0; padding: 0.75rem 0.9rem; border-radius: 12px; background: rgba(5, 11, 24, 0.7); border: 1px solid rgba(140, 180, 255, 0.16); font-weight: 700; color: #fff; }
.t-planner-from span { font-family: var(--t-mono); font-weight: 500; font-size: 0.75rem; color: var(--t-muted-2); margin-left: 0.35rem; }
.t-pl-group { border: 0; margin: 1rem 0 0; padding: 0; min-width: 0; }
.t-pl-group legend.t-planner-label { margin: 0 0 0.5rem; }
.t-pl-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.t-pl-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.t-pl-in, .t-filter-in { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.t-pl-chip, .t-filter-chip { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 44px; padding: 0.5rem 0.9rem; border: 1px solid rgba(140, 180, 255, 0.25); border-radius: 999px; background: rgba(5, 11, 24, 0.6); color: var(--t-soft); font-weight: 600; font-size: 0.875rem; line-height: 1.25; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.t-pl-chip:hover, .t-filter-chip:hover { border-color: rgba(43, 184, 255, 0.7); color: #fff; }
.t-pl-mode { border-radius: 12px; }
.t-pl-in:checked + .t-pl-chip, .t-filter-in:checked + .t-filter-chip { background: var(--t-blue); border-color: var(--t-blue); color: var(--t-blue-ink); box-shadow: 0 0 18px rgba(43, 184, 255, 0.35); }
.t-pl-in:focus-visible + .t-pl-chip, .t-filter-in:focus-visible + .t-filter-chip { outline: 3px solid #fff; outline-offset: 2px; }
.t-plans { margin-top: 1.1rem; }
.t-plan { display: none; padding: 1rem 1.1rem 1.1rem; border-radius: 14px; background: linear-gradient(135deg, rgba(43, 184, 255, 0.12), rgba(43, 184, 255, 0.02)); border: 1px solid rgba(43, 184, 255, 0.3); }
.t-plans .t-plan:first-child { display: block; }
.t-plan-route { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.25rem 0.75rem; margin: 0; font-size: 0.75rem; letter-spacing: 0.06em; }
.t-plan-route span:first-child { color: var(--t-blue-text); }
.t-plan-route span:last-child { color: var(--t-muted); }
.t-plan-price { margin: 0.4rem 0 0; font-family: var(--t-display); font-style: italic; font-weight: 800; font-size: clamp(2rem, 8vw, 2.5rem); line-height: 1.05; color: #fff; }
.t-plan-note { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--t-soft); }
.t-plan-cta { width: 100%; margin-top: 1rem; border-radius: 12px; }
.t-planner .t-disclaimer { margin: 0.75rem 0 0; font-size: 0.75rem; }

/* ---------------------------------------------------------------- HUD traka povjerenja */
.t-hud { background: var(--t-sec); border-block: 1px solid var(--t-line); }
.t-hud .wrap { width: 100%; max-width: 1280px; }
.t-hud-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.t-hud-list li { padding: 1rem 1.15rem; border-right: 1px solid rgba(140, 180, 255, 0.1); border-bottom: 1px solid rgba(140, 180, 255, 0.1); min-width: 0; }
.t-hud-list li:nth-child(2n) { border-right: 0; }
.t-hud-list li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.t-hud-list strong { display: block; font-family: var(--t-display); font-style: italic; font-weight: 800; font-size: 1.5rem; line-height: 1.2; color: #fff; }
.t-hud-list span { display: block; font-size: 0.8rem; color: var(--t-muted); }
.t-trust-list { list-style: none; margin: 0; padding: 0.85rem 1.15rem 1rem; display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; font-size: 0.72rem; letter-spacing: 0.04em; color: var(--t-muted); }
.t-trust-list li { display: inline-flex; align-items: center; gap: 0.4rem; }
.t-trust-list .icon { width: 15px; height: 15px; color: var(--t-blue); }

/* ---------------------------------------------------------------- kartice */
.t-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1.1rem, 2vw, 1.6rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.t-cards-4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.t-cards-2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.t-cards-mini { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); margin-top: 1.25rem; }
.t-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--t-card); border: 1px solid var(--t-line); border-radius: 20px; overflow: hidden; box-shadow: none; transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.t-card:hover, .t-card:focus-within { transform: translateY(-6px); border-color: rgba(43, 184, 255, 0.55); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(43, 184, 255, 0.25), 0 0 40px rgba(43, 184, 255, 0.18); }
.t-card:focus-within { outline: 2px solid var(--t-blue); outline-offset: 3px; }
.t-card-media { position: relative; height: clamp(180px, 22vw, 230px); overflow: hidden; background: var(--t-sec); }
.t-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 11, 24, 0) 40%, rgba(11, 22, 48, 0.95) 100%); pointer-events: none; }
.t-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.t-card:hover .t-card-media img { transform: scale(1.04); }
.t-card-media .t-badges { position: absolute; left: 1rem; top: 1rem; z-index: 1; }
.t-coords { position: absolute; right: 1rem; bottom: 0.85rem; z-index: 1; font-size: 0.7rem; color: #b4c2d6; letter-spacing: 0.02em; }
.t-card-body { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.15rem 1.35rem 1.35rem; flex: 1; }
.t-card-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 0.85rem; margin: 0; font-size: 0.75rem; color: var(--t-muted-2); text-transform: uppercase; letter-spacing: 0.04em; }
.t-card-meta span + span::before { content: "·"; margin-right: 0.85rem; }
.t-card-title { margin: 0; font-family: var(--t-display) !important; font-style: italic; font-weight: 700 !important; font-size: clamp(1.35rem, 2.2vw, 1.6rem) !important; line-height: 1.15; }
.t-card-title a { color: #fff; text-decoration: none; }
.t-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.t-card-title a:focus-visible { outline: none; }
.t-card-text { margin: 0; color: var(--t-muted); font-size: 0.94rem; }
.t-card-price { margin: auto 0 0; padding-top: 1rem; border-top: 1px solid rgba(140, 180, 255, 0.12); display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.35rem 1rem; }
.t-card-amount strong { font-family: var(--t-display); font-style: italic; font-weight: 800; font-size: 1.5rem; color: var(--t-amber); }
.t-card-amount span { color: var(--t-muted-2); font-size: 0.82rem; }
.t-card-more { color: var(--t-blue-text); font-weight: 700; font-size: 0.875rem; white-space: nowrap; }
.t-card-mini .t-card-media { height: 160px; }
.t-card-mini .t-card-body { padding: 1rem 1.15rem 1.15rem; }
.t-card-mini .t-card-price { border-top: 0; padding-top: 0.25rem; }
.t-card-route .t-card-amount strong, .t-card-mini .t-card-amount strong { font-size: 1.2rem; }

.t-badges { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; }
.t-badge { display: inline-block; padding: 0.3rem 0.65rem; border-radius: 999px; background: rgba(5, 11, 24, 0.78); border: 1px solid rgba(43, 184, 255, 0.5); color: var(--t-blue-text); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; box-shadow: none; }
.t-badge-multi, .t-badge-season, .t-badge-request { background: rgba(38, 22, 10, 0.86); border-color: rgba(255, 157, 77, 0.6); color: var(--t-amber); }

/* ---------------------------------------------------------------- filteri (bez JavaScripta) */
.t-filter { border: 0; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; min-width: 0; }
.t-filter legend { width: 100%; margin-bottom: 0.7rem; padding: 0; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--t-muted-2); }
.t-filter-home { margin: 0; position: relative; }
.t-filter-home legend { top: 0; left: 0; }
.t-filter-note { display: none; margin: -1rem 0 1.5rem; color: var(--t-muted); }
.t-home-tours:has(#hf-group:checked) .t-card:not([data-type~="group"]),
.t-home-tours:has(#hf-private:checked) .t-card:not([data-type~="private"]),
.t-home-tours:has(#hf-multi:checked) .t-card:not([data-type~="multi"]) { display: none; }
.t-home-tours:has(#hf-private:checked) .t-filter-note { display: block; }
.t-tour-group + .t-tour-group { margin-top: clamp(3rem, 7vw, 5rem); }
.t-tour-group .t-section-lead { margin-bottom: 1.75rem; }
.t-tours-index:has(#tf-group:checked) .t-tour-group[data-family="private"],
.t-tours-index:has(#tf-private:checked) .t-tour-group[data-family="group"] { display: none; }
.t-tours-index:has(#tf-group:checked) .t-tour-group + .t-tour-group,
.t-tours-index:has(#tf-private:checked) .t-tour-group + .t-tour-group,
.t-tours-index:has(#tf-multi:checked) .t-tour-group + .t-tour-group,
.t-tours-index:has(#tf-advent:checked) .t-tour-group + .t-tour-group { margin-top: 0; }
.t-tours-index:has(#tf-multi:checked) .t-card:not([data-type~="multi"]),
.t-tours-index:has(#tf-advent:checked) .t-card:not([data-type~="advent"]) { display: none; }
.t-tours-index:has(#tf-multi:checked) .t-tour-group:not(:has([data-type~="multi"])),
.t-tours-index:has(#tf-advent:checked) .t-tour-group:not(:has([data-type~="advent"])) { display: none; }

.t-legal { margin: 1.75rem 0 0; padding: 0.9rem 1.1rem; border-left: 3px solid var(--t-amber); background: rgba(255, 157, 77, 0.07); color: var(--t-text); font-size: 0.94rem; border-radius: 0 12px 12px 0; }
.t-legal-top { margin: 0 0 2rem; }
.t-disclaimer { margin: 1rem 0 0; color: var(--t-muted-2); font-size: 0.82rem; }

/* ---------------------------------------------------------------- mreža ruta */
.t-network { display: grid; gap: 2rem; align-items: center; padding: clamp(1.25rem, 4vw, 3rem); background: var(--t-sec); border: 1px solid var(--t-line); border-radius: 28px; }
.t-network-map, .t-network-list { min-width: 0; }
.t-network-map h2 { margin-bottom: 0.4em; }
.t-map { display: none; width: 100%; height: auto; margin-top: 1rem; overflow: visible; }
.t-map-labels text { font-family: var(--t-mono); font-size: 12px; letter-spacing: 0.04em; }
.t-map-labels .t-map-hub { font-size: 13px; }
.t-map-pulse { transform-box: fill-box; transform-origin: center; animation: t-pulse 2.8s ease-out infinite; }
@keyframes t-pulse { 0% { transform: scale(0.6); opacity: 0.9; } 100% { transform: scale(1.9); opacity: 0; } }
.t-network-list .t-section-lead { margin-bottom: 1rem; }
.t-route-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--t-line); border-radius: 16px; overflow: hidden; }
.t-route-list li + li { border-top: 1px solid rgba(140, 180, 255, 0.08); }
.t-route-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; gap: 0.75rem; min-height: 48px; padding: 0.7rem 1rem; color: var(--t-text); text-decoration: none; }
.t-route-list a:hover { background: rgba(43, 184, 255, 0.07); color: #fff; }
.t-route-list a:focus-visible { outline-offset: -3px; }
.t-rl-city { font-weight: 600; overflow-wrap: anywhere; }
.t-rl-km { font-size: 0.75rem; color: var(--t-muted-2); white-space: nowrap; }
.t-rl-price { font-family: var(--t-display); font-style: italic; font-weight: 700; font-size: 1.15rem; color: var(--t-amber); white-space: nowrap; }
.t-network-list .more { margin-top: 0.75rem; }

/* ---------------------------------------------------------------- vozila */
.t-fleet { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1.1rem, 2vw, 1.6rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.t-fleet-item { min-width: 0; padding: clamp(1.4rem, 3vw, 1.9rem); background: var(--t-card); border: 1px solid var(--t-line); border-radius: 20px; transition: border-color 0.25s ease, box-shadow 0.25s ease; }
.t-fleet-item:hover { border-color: rgba(43, 184, 255, 0.45); box-shadow: 0 0 40px rgba(43, 184, 255, 0.12); }
.t-fleet-item h3 { margin: 0.5rem 0 0; font-family: var(--t-display); font-style: italic; font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 1.65rem); }
.t-fleet-item p { color: var(--t-muted); margin: 0.6rem 0 0; }
.t-fleet-meta { margin: 0 !important; font-size: 0.78rem; color: var(--t-blue-text) !important; letter-spacing: 0.06em; }
.t-fleet-big { padding: 0; display: grid; overflow: hidden; }
.t-fleet-photo { min-height: 240px; position: relative; }
.t-fleet-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.t-fleet-body { padding: clamp(1.4rem, 3vw, 1.9rem); min-width: 0; }
.t-fleet-big h3 { margin-top: 1rem; font-weight: 800; font-size: clamp(1.6rem, 3vw, 2rem); }
.t-spec { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; font-size: 0.72rem; color: var(--t-soft); text-transform: uppercase; letter-spacing: 0.05em; }
.t-spec li { padding: 0.65rem 0.75rem; border: 1px solid var(--t-line); border-radius: 10px; }
.t-vrows { margin-top: 1rem; background: rgba(5, 11, 24, 0.5) !important; border: 1px solid var(--t-line) !important; box-shadow: none !important; }
.t-body .vrows dt { color: var(--t-muted-2); }
.t-body .vrows dd { color: var(--t-text); }
.t-body .vrows .icon { color: var(--t-blue); }

/* ---------------------------------------------------------------- zašto mi i koraci */
.t-why { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: clamp(1.1rem, 2vw, 1.6rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.t-why-item { padding: 1.6rem; border-radius: 18px; background: var(--t-card); border: 1px solid var(--t-line); position: relative; overflow: hidden; }
.t-why-item::before { content: ""; position: absolute; left: 1.6rem; right: 1.6rem; top: 0; height: 2px; background: linear-gradient(90deg, var(--t-blue), transparent); box-shadow: 0 0 12px rgba(43, 184, 255, 0.6); }
.t-why-item h3 { margin-bottom: 0.4rem; }
.t-why-item p { margin: 0; color: var(--t-muted); }
.t-steps { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: clamp(1.1rem, 2vw, 1.6rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.t-steps li { display: block; padding: 1.75rem; border-radius: 18px; border: 1px solid var(--t-line); background: var(--t-card); }
.t-step-n { display: block; width: auto; height: auto; background: none; border-radius: 0; font-family: var(--t-display); font-style: italic; font-weight: 900; font-size: 2.9rem; line-height: 1; color: var(--t-blue); text-shadow: 0 0 24px rgba(43, 184, 255, 0.45); }
.t-steps h3 { margin: 0.6rem 0 0; font-size: 1.25rem; }
.t-steps p { margin: 0.5rem 0 0; color: var(--t-muted); }

/* ---------------------------------------------------------------- poziv na upit */
.t-cta { padding-top: 0 !important; }
.t-cta-box { position: relative; isolation: isolate; overflow: hidden; padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 5vw, 3.5rem) clamp(1.25rem, 3vw, 1.75rem); border-radius: 28px; border: 1px solid rgba(43, 184, 255, 0.35); background: var(--t-sec); box-shadow: 0 0 60px rgba(43, 184, 255, 0.08); }
.t-cta-media, .t-cta-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.t-cta-media { z-index: -1; }
.t-cta-media img { object-fit: cover; }
.t-cta-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 11, 24, 0.95) 0%, rgba(5, 11, 24, 0.78) 55%, rgba(5, 11, 24, 0.45) 100%); }
.t-cta-inner h2 { max-width: 640px; font-weight: 900; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.02; background-size: 100% 1.02em; }
.t-cta-inner p { margin: 0; max-width: 540px; color: var(--t-soft); font-size: 1.1rem; }
.t-cta-box .photo-credits { margin: 2.5rem 0 0; color: var(--t-muted); }

/* ---------------------------------------------------------------- obrazac */
.t-book { padding-top: 0 !important; }
.t-book-card { padding: clamp(1.25rem, 4vw, 2.5rem); border-radius: 22px; background: var(--t-card); border: 1px solid rgba(43, 184, 255, 0.35); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45), 0 0 50px rgba(43, 184, 255, 0.12); }
.t-book .actions { margin-top: 1.25rem; }
.t-body .booking { margin-top: 1.5rem; padding: 0; background: transparent; border: 0; box-shadow: none; color: var(--t-text); }
.t-body .field label { color: var(--t-muted); font-size: 0.82rem; font-weight: 600; }
.t-body .field input, .t-body .field textarea, .t-body .field select { font: inherit; font-size: 1rem; color: var(--t-text); background: var(--t-ground); border: 1px solid rgba(140, 180, 255, 0.3); border-radius: 12px; min-height: 48px; padding: 0.7rem 0.85rem; width: 100%; }
.t-body .field input:focus-visible, .t-body .field textarea:focus-visible, .t-body .field select:focus-visible { outline: 2px solid var(--t-blue); outline-offset: 1px; border-color: var(--t-blue); }
.t-body .field-help, .t-body .booking .form-note { color: var(--t-muted-2); }
.t-body .booking .form-note a { color: var(--t-blue-text); }

/* ---------------------------------------------------------------- stranica ture, ponude i relacije */
.t-layout { display: grid; gap: 2.5rem; padding-block: clamp(2rem, 5vw, 3rem) clamp(3rem, 8vw, 6rem); }
.t-main { min-width: 0; }
.t-block { margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.t-block:last-child { margin-bottom: 0; }
.t-block h2 { font-size: clamp(1.6rem, 3.2vw, 2.3rem); }
.t-block > p, .t-intro, .t-main > p { color: var(--t-soft); }
.t-intro { font-size: 1.1rem; }
.t-facts { margin: 0 0 0.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); border: 1px solid var(--t-line); border-radius: 16px; overflow: hidden; background: var(--t-card); }
.t-facts div { padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--t-line); }
.t-facts dt { font-family: var(--t-mono); font-weight: 500; color: var(--t-muted-2); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; }
.t-facts dd { margin: 0.25rem 0 0; color: #fff; font-weight: 600; }
.t-approx { color: var(--t-muted-2); font-size: 0.85rem; margin: 0.5rem 0 1.5rem; }

.t-side { min-width: 0; scroll-margin-top: 96px; }
.t-pricebox { display: grid; gap: 0.75rem; padding: clamp(1.25rem, 3vw, 1.75rem); background: var(--t-card); border: 1px solid rgba(43, 184, 255, 0.35); border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45), 0 0 50px rgba(43, 184, 255, 0.12); }
.t-pricebox .t-badges { margin-bottom: 0.25rem; }
.t-pricebox-kicker { margin: 0; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--t-muted-2); }
.t-pricebox-main { margin: 0; font-family: var(--t-display); font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 5vw, 3.1rem); line-height: 1; color: #fff; }
.t-pricebox-sub { margin: 0; color: var(--t-muted); font-size: 0.9rem; }
.t-pricebox-title { margin: 0.75rem 0 0 !important; padding-top: 1rem; border-top: 1px solid var(--t-line); font-size: 1.4rem !important; }
.t-pricebox-lead { margin: 0; color: var(--t-muted); font-size: 0.9rem; }
.t-pricebox .btn { width: 100%; }
.t-pricebox .t-disclaimer { margin: 0.25rem 0 0; }
.t-pricebox .booking { margin-top: 0.25rem; }
.t-pricebox .fields { grid-template-columns: 1fr; gap: 0.75rem; }
.t-pricebox .booking .form-note { font-size: 0.8rem; margin: 0.85rem 0; }
.t-variants { list-style: none; margin: 0.25rem 0; padding: 0; display: grid; gap: 0.5rem; }
.t-variants li { display: grid; gap: 0.1rem; padding: 0.7rem 0.85rem; border-radius: 12px; background: rgba(5, 11, 24, 0.6); border: 1px solid var(--t-line); }
.t-variants span { font-weight: 600; color: #fff; }
.t-variants strong { color: var(--t-amber); font-family: var(--t-display); font-style: italic; font-weight: 800; }
.t-variants small { color: var(--t-muted); }

/* Plan puta: okomita svjetleća linija */
.t-timeline { list-style: none; margin: 1.75rem 0 0; padding: 0 0 0 2.25rem; position: relative; }
.t-timeline::before { content: ""; position: absolute; left: 0.55rem; top: 0.4rem; bottom: 0.4rem; width: 2px; background: linear-gradient(180deg, var(--t-blue), rgba(43, 184, 255, 0.1)); box-shadow: 0 0 10px rgba(43, 184, 255, 0.4); }
.t-tl-item { position: relative; padding: 0 0 1.75rem; }
.t-tl-item::before { content: ""; position: absolute; left: -2.25rem; top: 0.2rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--t-ground); border: 2px solid var(--t-blue); box-shadow: 0 0 14px rgba(43, 184, 255, 0.6); }
.t-tl-day::before { background: var(--t-blue); }
.t-tl-time { margin: 0; font-size: 0.8rem; color: var(--t-blue-text); letter-spacing: 0.04em; text-transform: uppercase; }
.t-tl-item h3 { margin: 0.25rem 0 0; font-size: 1.2rem; }
.t-tl-item p:last-child { margin: 0.35rem 0 0; color: var(--t-muted); }

/* Uključeno / nije uključeno */
.t-incl { display: grid; gap: 1.25rem; }
.t-incl > div { padding: 1.5rem; border-radius: 18px; background: var(--t-card); border: 1px solid var(--t-line); }
.t-incl .t-incl-yes { border-color: rgba(110, 231, 168, 0.32); }
.t-incl .t-incl-no { border-color: rgba(255, 157, 77, 0.32); }
.t-incl h2 { font-family: var(--t-sans); font-style: normal; font-weight: 700; font-size: 1.1rem; margin-bottom: 0.85rem; -webkit-text-fill-color: currentColor; }
.t-incl-yes h2 { color: var(--t-green-text); }
.t-incl-no h2 { color: var(--t-amber); }
.t-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; color: var(--t-soft); }
.t-ticks li { display: flex; gap: 0.55rem; align-items: flex-start; }
.t-ticks .icon { flex: none; width: 20px; height: 20px; margin-top: 0.15rem; color: var(--t-green-text); }
.t-ticks-no .icon { color: var(--t-amber); }
.t-ticks-info .icon { color: var(--t-blue-text); }

/* Česta pitanja */
.t-body .faq-item { background: var(--t-card); border: 1px solid var(--t-line); border-radius: 14px; box-shadow: none; }
.t-body .faq-item summary { min-height: 52px; display: flex; align-items: center; gap: 0.75rem; padding: 0.9rem 1.15rem; color: #fff; font-weight: 600; list-style: none; }
.t-body .faq-item summary::-webkit-details-marker { display: none; }
.t-body .faq-item summary::after { content: "+"; margin-left: auto; font-family: var(--t-mono); color: var(--t-blue-text); font-size: 1.1rem; }
.t-body .faq-item[open] summary { color: var(--t-blue-text); }
.t-body .faq-item[open] summary::after { content: "−"; }
.t-body .faq-item p { color: var(--t-muted); padding: 0 1.15rem 1.1rem; margin: 0; }

.t-gallery { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.t-gallery figure { margin: 0; }
.t-gallery img { display: block; width: 100%; height: auto; border-radius: 16px; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid var(--t-line); }
.t-gallery figcaption { color: var(--t-muted-2); font-family: var(--t-mono); font-weight: 500; font-size: 0.75rem; margin-top: 0.5rem; }

/* Cjenik najma */
.t-table-wrap { overflow-x: auto; border: 1px solid var(--t-line); border-radius: 16px; background: var(--t-card); }
.t-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.t-table caption { text-align: left; padding: 0.9rem 1rem 0; font-weight: 700; color: #fff; }
.t-table th, .t-table td { padding: 0.8rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--t-line); }
.t-table thead th { font-family: var(--t-mono); font-weight: 500; color: var(--t-muted-2); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; }
.t-table tbody th { color: #fff; }
.t-table td { color: var(--t-muted); }
.t-table .t-num { color: var(--t-amber); font-weight: 700; white-space: nowrap; }
.t-table tr:last-child th, .t-table tr:last-child td { border-bottom: 0; }
.t-bigprice { margin: 0; font-size: 1rem; color: var(--t-muted); }
.t-bigprice strong { font-family: var(--t-display); font-style: italic; font-weight: 800; font-size: 2.2rem; color: var(--t-amber); }

.t-related { background: var(--t-sec); border-top: 1px solid var(--t-line); }
.t-related .t-cards { margin-top: 1.25rem; }

/* Blog */
.t-article { font-size: 1.07rem; line-height: 1.75; color: var(--t-soft); }
.t-article h2 { margin-top: 1.75em; font-size: clamp(1.55rem, 3vw, 2.1rem); }
.t-article ul { padding-left: 1.2rem; }
.t-article li { margin-bottom: 0.4rem; }
.t-article li::marker { color: var(--t-blue); }
.t-article .t-intro { color: #fff; font-size: 1.2rem; }
.t-article-note { margin-top: 2rem; padding: 1rem 1.15rem; background: var(--t-card); border: 1px solid var(--t-line); border-radius: 14px; color: var(--t-muted); font-size: 0.95rem; }
.t-meta-hero { margin: 1rem 0 0; font-family: var(--t-mono); font-weight: 500; font-size: 0.8rem; color: var(--t-soft); letter-spacing: 0.04em; }

/* O nama, kontakt, fotografije */
.t-split { display: grid; gap: 2.5rem; }
.t-split-top { align-items: start; }
.t-block .t-ticks, .t-block > ul { color: var(--t-soft); }
.t-body .drivers { gap: 1rem; }
.t-body .driver { background: var(--t-card); border: 1px solid var(--t-line); box-shadow: none; color: var(--t-muted); }
.t-body .driver strong { color: #fff; }
.t-body .avatar { background: rgba(43, 184, 255, 0.14); color: var(--t-blue-text); font-family: var(--t-display); font-style: italic; }
.t-contact .contact-list { margin-bottom: 1.5rem; }
.t-body .contact-list li { border-color: var(--t-line); }
.t-body .cl-label { color: var(--t-muted-2); font-family: var(--t-mono); font-weight: 500; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; }
.t-body .cl-value, .t-body .cl-value a { color: #fff; }
.t-contact .form-card { padding: clamp(1.25rem, 3vw, 2rem); background: var(--t-card); border: 1px solid rgba(43, 184, 255, 0.35); border-radius: 22px; box-shadow: 0 0 50px rgba(43, 184, 255, 0.12); }
.t-contact .form-card h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.t-contact .form-card > p { color: var(--t-muted); }
.t-contact .form-card .booking { margin-top: 0.5rem; }
.t-credits { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.t-credit { display: grid; grid-template-columns: 120px 1fr; gap: 0.85rem; align-items: start; padding: 0.75rem; font-size: 0.9rem; color: var(--t-muted); background: var(--t-card); border: 1px solid var(--t-line); border-radius: 14px; }
.t-credit img { width: 120px; height: auto; border-radius: 8px; aspect-ratio: 16 / 9; object-fit: cover; }
.t-credit strong { color: #fff; }
.t-body .photo-credits { font-size: 0.8rem; color: var(--t-muted-2); margin: 1.5rem 0 0; }
.t-body .photo-credits a { color: var(--t-muted); }
.t-body .section.compact.prose { padding: clamp(2.5rem, 6vw, 4rem) 0; }
.t-body .narrow > .t-faq + h2 { margin-top: 2.75rem; }
.t-fleet + .t-block { margin-top: clamp(2.5rem, 6vw, 4rem); }
.t-body .prose h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); }
.t-body .prose p, .t-body .prose li { color: var(--t-soft); }
.t-body .error-list { color: var(--t-soft); }

/* ---------------------------------------------------------------- podnožje i traka na mobitelu */
.t-body .foot { background: #030814; border-top: 1px solid var(--t-line); color: var(--t-muted); }
.t-body .foot a { color: var(--t-text); text-decoration: none; }
.t-body .foot a:hover { color: var(--t-blue-text); text-decoration: underline; }
.t-body .foot-label { font-family: var(--t-mono); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.14em; color: #fff; }
.t-body .foot-list li { padding: 0; }
.t-body .foot-list a { display: inline-flex; align-items: center; min-height: 44px; }
.t-body .foot a[href^="tel:"], .t-body .foot a[href^="mailto:"], .t-body .foot a[href*="wa.me"], .t-body .foot-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.t-body .foot-list span { color: var(--t-muted-2); }
.t-body .foot-bottom { border-top-color: var(--t-line); color: var(--t-muted-2); }
.t-foot .foot-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.t-foot .foot-brand img { display: block; height: 72px; width: auto; }
.t-foot-partners { margin-top: 1.25rem; }
.t-body .callbar { background: rgba(5, 11, 24, 0.94); border-top: 1px solid rgba(140, 180, 255, 0.16); box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.5); backdrop-filter: blur(8px); gap: 0.65rem; padding: 0.75rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom)); }
.t-body .callbar .btn { border-radius: 14px; min-height: 50px; box-shadow: none; }
.t-callbar .btn-primary { box-shadow: 0 8px 30px rgba(43, 184, 255, 0.35) !important; }
.t-body .callbar :focus-visible { outline-color: #fff; }

/* ---------------------------------------------------------------- veći zasloni */
@media (min-width: 600px) {
  .t-map { display: block; }
  .t-hud-list li { padding: 1.4rem 1.4rem; }
  .t-hud-list strong { font-size: 1.85rem; }
  .t-hudfacts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .t-hudfacts div { border-bottom: 0; border-right: 1px solid var(--t-line) !important; padding: 1rem 1.25rem; }
  .t-hudfacts div:last-child, .t-hudfacts div:last-child:nth-child(odd) { border-right: 0 !important; grid-column: auto; }
  .t-pricebox .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .t-pricebox .field { grid-column: auto; }
  .t-pricebox .field.wide { grid-column: 1 / -1; }
  .t-fleet-big { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .t-incl { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px) {
  .t-body .top-inner { min-height: 86px; }
  .t-body .top .brand-logo img { height: 58px; }
  .t-hero-home .t-hero-media::after { background: linear-gradient(90deg, rgba(5, 11, 24, 0.96) 0%, rgba(5, 11, 24, 0.82) 42%, rgba(5, 11, 24, 0.35) 100%), linear-gradient(180deg, rgba(5, 11, 24, 0) 75%, #050b18 100%); }
  .t-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: center; gap: 3.5rem; padding: 6rem 0 7rem; }
  .t-hero-home .t-eyebrow-text { font-size: 0.8rem; letter-spacing: 0.18em; margin-bottom: 1.4rem; }
  .t-hero-home .t-lead { margin-top: 1.75rem; }
  .t-planner { padding: 1.75rem; }
  .t-hud-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .t-hud-list li { border-bottom: 0; border-right: 1px solid rgba(140, 180, 255, 0.1) !important; padding: 1.6rem 1.4rem; }
  .t-hud-list li:last-child, .t-hud-list li:last-child:nth-child(odd) { border-right: 0 !important; grid-column: auto; }
  .t-hud-list strong { font-size: 2.1rem; }
  .t-hud-list span { font-size: 0.875rem; }
  .t-trust-list { padding: 0.9rem 1.4rem 1.1rem; border-top: 1px solid rgba(140, 180, 255, 0.08); }
  .t-cta-media::after { background: linear-gradient(90deg, rgba(5, 11, 24, 0.95) 0%, rgba(5, 11, 24, 0.7) 60%, rgba(5, 11, 24, 0.4) 100%); }
}

@media (min-width: 1000px) {
  .t-network { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 3rem; }
  .t-fleet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .t-fleet-big { grid-column: span 2; grid-row: span 2; }
  .t-fleet-photo { min-height: 300px; }
  .t-layout { grid-template-columns: minmax(0, 1fr) 400px; gap: 3.5rem; align-items: start; }
  .t-side { position: sticky; top: 104px; }
  /* Okvir s obrascem ostaje uz tekst; kad je viši od zaslona, pomiče se unutar sebe. */
  .t-side .t-pricebox { max-height: calc(100vh - 128px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(43, 184, 255, 0.5) transparent; }
  .t-hero-price { display: none; }
  .t-split { grid-template-columns: 1.2fr 1fr; gap: 4rem; }
  .t-hero-tour .t-hero-inner { padding-bottom: 4.5rem; }
}


@media (max-width: 999px) {
  .t-body .wrap, .t-body .narrow { width: min(100% - 2rem, 1280px); }
}

@media (max-width: 480px) {
  .t-body .top .brand-logo img { height: 46px; }
  .t-body .top-inner { min-height: 66px; }
  .t-route-list a { grid-template-columns: minmax(0, 1fr) auto; }
  .t-rl-km { grid-column: 1; grid-row: 2; margin-top: -0.35rem; }
  .t-rl-price { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .t-spec { grid-template-columns: 1fr; }
  .t-cta-box .actions .btn { width: 100%; }
  .t-hero-home .actions .btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .t-card, .t-card-media img, .t-fleet-item, .t-pl-chip, .t-filter-chip { transition: none; }
  .t-card:hover, .t-card:focus-within { transform: none; }
  .t-card:hover .t-card-media img { transform: none; }
  .t-map-pulse { animation: none; opacity: 0.6; }
}

@media print {
  .t-body { background: #fff; color: #000; }
  .t-hero { min-height: 0; background: none; }
  .t-chrome, .t-title { -webkit-text-fill-color: currentColor; color: #000; background: none; }
  .t-hero-media, .t-swoosh, .t-planner, .t-filter, .t-book, .t-cta-media { display: none; }
}
@supports selector(:has(a)) {
  .t-plans .t-plan:first-child { display: none; }
  .t-planner:has(#pl-bec:checked):has(#pl-bus:checked) #plan-bec-bus,
  .t-planner:has(#pl-bec:checked):has(#pl-car:checked) #plan-bec-car,
  .t-planner:has(#pl-budimpesta:checked):has(#pl-bus:checked) #plan-budimpesta-bus,
  .t-planner:has(#pl-budimpesta:checked):has(#pl-car:checked) #plan-budimpesta-car,
  .t-planner:has(#pl-prag:checked):has(#pl-bus:checked) #plan-prag-bus,
  .t-planner:has(#pl-prag:checked):has(#pl-car:checked) #plan-prag-car,
  .t-planner:has(#pl-venecija:checked):has(#pl-bus:checked) #plan-venecija-bus,
  .t-planner:has(#pl-venecija:checked):has(#pl-car:checked) #plan-venecija-car,
  .t-planner:has(#pl-ljubljana:checked):has(#pl-bus:checked) #plan-ljubljana-bus,
  .t-planner:has(#pl-ljubljana:checked):has(#pl-car:checked) #plan-ljubljana-car,
  .t-planner:has(#pl-pariz:checked):has(#pl-bus:checked) #plan-pariz-bus,
  .t-planner:has(#pl-pariz:checked):has(#pl-car:checked) #plan-pariz-car { display: block; }
}
@media (max-width: 1248px) {
  html[lang="de"] .nav { display: none !important; }
  html[lang="de"] .menu { display: block !important; }
}
@media (max-width: 1208px) {
  html[lang="it"] .nav { display: none !important; }
  html[lang="it"] .menu { display: block !important; }
}
@media (max-width: 1205px) {
  html[lang="fr"] .nav { display: none !important; }
  html[lang="fr"] .menu { display: block !important; }
}
