/* Linea Transfer — layout & components (mobile-first). Logical properties keep RTL working. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
body { margin: 0; font-family: var(--lt-font); font-size: var(--lt-fs-base); line-height: var(--lt-lh); color: var(--lt-text); background: var(--lt-bg); overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { line-height: 1.2; font-weight: 600; margin: 0 0 var(--lt-s2); color: var(--lt-text); }
p { margin: 0 0 var(--lt-s2); }
a { color: var(--lt-accent); text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--lt-accent); outline-offset: 2px; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; width: auto; height: auto; margin: 0; inset-block-start: 8px; inset-inline-start: 8px; z-index: 100000; background: var(--lt-accent); color: #fff; padding: 12px 16px; border-radius: var(--lt-radius-sm); }

/* Layout */
.lt-container { width: 100%; max-width: var(--lt-container); margin-inline: auto; padding-inline: var(--lt-s2); }
.lt-container--narrow { max-width: var(--lt-narrow); }
.lt-main { padding-block: var(--lt-s5) var(--lt-s6); min-height: 50vh; }
.lt-center { text-align: center; }
.lt-muted { color: var(--lt-text-2); }
.lt-hint { padding: var(--lt-s1) var(--lt-s2); border: 1px dashed var(--lt-border); border-radius: var(--lt-radius-sm); color: var(--lt-text-2); font-size: var(--lt-fs-sm); }
.lt-page-title { font-size: clamp(1.75rem, 4vw, 2.5rem); margin-block-end: var(--lt-s3); }
.lt-section { padding-block: var(--lt-s5); }
.lt-section--alt { background: var(--lt-bg-alt); border-block: 1px solid var(--lt-border); }
.lt-h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-block-end: var(--lt-s3); }
.lt-h3 { font-size: 1.125rem; margin-block-end: var(--lt-s1); }
.lt-card { background: #fff; border: 1px solid var(--lt-border); border-radius: var(--lt-radius); }

/* Buttons */
.lt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--lt-s3); font: inherit; font-weight: 600; color: #fff; background: var(--lt-accent); border: 1px solid var(--lt-accent); border-radius: 6px; text-decoration: none; cursor: pointer; }
.lt-btn:hover { filter: brightness(1.12); }
.lt-btn--ghost { color: var(--lt-accent); background: #fff; }
.lt-btn--ghost:hover { filter: none; background: var(--lt-bg-alt); }
.lt-btn--inverse { background: #fff; color: var(--lt-accent); border-color: #fff; }
.lt-btn--header { min-height: 44px; }
.lt-link { font-weight: 600; }

/* Header */
.lt-header { background: #fff; border-block-end: 1px solid var(--lt-border); }
.lt-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--lt-s2); min-height: 64px; flex-wrap: wrap; }
.lt-brand__text { font-weight: 700; font-size: 1.125rem; color: var(--lt-text); text-decoration: none; }
.custom-logo { max-height: 40px; width: auto; }
.lt-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #fff; border: 1px solid var(--lt-border); border-radius: 6px; cursor: pointer; }
.lt-menu-toggle__bars, .lt-menu-toggle__bars::before, .lt-menu-toggle__bars::after { display: block; width: 18px; height: 2px; background: var(--lt-text); content: ""; position: relative; }
.lt-menu-toggle__bars::before { position: absolute; inset-block-start: -6px; }
.lt-menu-toggle__bars::after { position: absolute; inset-block-start: 6px; }
.lt-nav-wrap { display: none; width: 100%; flex-direction: column; gap: var(--lt-s2); padding-block: var(--lt-s2); }
.lt-nav-wrap.is-open { display: flex; }
.lt-menu, .lt-footer__list, .lt-footer__legal, .lt-lang ul, .lt-trust, .lt-grid, .lt-meta { list-style: none; margin: 0; padding: 0; }
.lt-menu { display: flex; flex-direction: column; gap: var(--lt-s1); }
.lt-menu a { display: block; padding: 10px 0; color: var(--lt-text); text-decoration: none; font-weight: 500; }
.lt-menu a:hover, .lt-menu .current-menu-item > a { color: var(--lt-accent); }
.lt-lang ul { display: flex; gap: var(--lt-s1); }
.lt-lang a { padding: 6px 8px; border-radius: var(--lt-radius-sm); color: var(--lt-text-2); text-decoration: none; font-size: var(--lt-fs-sm); font-weight: 600; }
.lt-lang a[aria-current="true"] { color: var(--lt-accent); background: var(--lt-bg-alt); }

/* Hero */
.lt-hero { padding-block: var(--lt-s4) var(--lt-s5); background: var(--lt-bg-alt); border-block-end: 1px solid var(--lt-border); }
.lt-hero__intro { max-width: 720px; margin-block-end: var(--lt-s3); }
.lt-hero__title { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.02em; margin-block-end: var(--lt-s1); }
.lt-hero__text { font-size: 1.125rem; color: var(--lt-text-2); }
.lt-hero__text > :last-child { margin-block-end: 0; }
.lt-hero__form { padding: var(--lt-s3); }
.lt-hero--page { padding-block-end: var(--lt-s4); }

/* Trust */
.lt-section--trust { padding-block: var(--lt-s3); border-block-end: 1px solid var(--lt-border); }
.lt-trust { display: grid; gap: var(--lt-s2); grid-template-columns: 1fr; }
.lt-trust__item { font-weight: 600; font-size: var(--lt-fs-sm); }
.lt-trust__mark { color: var(--lt-success); margin-inline-end: 4px; }

/* Grids & cards */
.lt-grid { display: grid; gap: var(--lt-s3); grid-template-columns: 1fr; }
.lt-route, .lt-vehicle { display: flex; flex-direction: column; overflow: hidden; }
.lt-route__media img, .lt-vehicle__media img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.lt-route__body, .lt-vehicle__body { padding: var(--lt-s3); display: flex; flex-direction: column; gap: 4px; flex: 1; }
.lt-vehicle__body .lt-btn { margin-block-start: auto; }
.lt-meta { display: flex; flex-wrap: wrap; gap: 4px var(--lt-s2); color: var(--lt-text-2); font-size: var(--lt-fs-sm); margin-block-end: var(--lt-s1); }
.lt-from { margin: 0; color: var(--lt-text-2); }
.lt-from strong { color: var(--lt-text); }
.lt-steps { counter-reset: none; padding: 0; margin: 0; list-style: none; }
.lt-step { padding: var(--lt-s3); border: 1px solid var(--lt-border); border-radius: var(--lt-radius); background: #fff; }
.lt-step__n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-block-end: var(--lt-s2); border-radius: 50%; background: var(--lt-accent); color: #fff; font-weight: 600; }
.lt-why { padding-block: var(--lt-s1); }

/* FAQ */
.lt-faq__item { border-block-end: 1px solid var(--lt-border); }
.lt-faq__item summary { cursor: pointer; padding-block: var(--lt-s2); font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: var(--lt-s2); }
.lt-faq__item summary::-webkit-details-marker { display: none; }
.lt-faq__item summary::after { content: "+"; font-weight: 400; color: var(--lt-accent); }
.lt-faq__item[open] summary::after { content: "–"; }
.lt-faq__answer { padding-block-end: var(--lt-s2); color: var(--lt-text-2); }

/* CTA */
.lt-section--cta { background: var(--lt-accent); color: #fff; }
.lt-cta { text-align: center; }
.lt-cta .lt-h2 { color: #fff; }
.lt-cta p { opacity: .92; }

/* Footer */
.lt-footer { background: var(--lt-bg-alt); border-block-start: 1px solid var(--lt-border); padding-block-start: var(--lt-s5); }
.lt-footer__grid { display: grid; gap: var(--lt-s4); grid-template-columns: 1fr; }
.lt-footer__brand { font-weight: 700; font-size: 1.125rem; margin-block-end: var(--lt-s1); }
.lt-footer__title { font-size: var(--lt-fs-sm); text-transform: uppercase; letter-spacing: .06em; color: var(--lt-text-2); margin-block-end: var(--lt-s1); }
.lt-footer__list li { margin-block-end: 6px; }
.lt-footer__list a { color: var(--lt-text); }
.lt-footer__bottom { display: flex; flex-direction: column; gap: var(--lt-s1); padding-block: var(--lt-s3); margin-block-start: var(--lt-s4); border-block-start: 1px solid var(--lt-border); font-size: var(--lt-fs-sm); }
.lt-footer__bottom p { margin: 0; }
.lt-footer__legal { display: flex; flex-wrap: wrap; gap: var(--lt-s1) var(--lt-s2); }
.lt-footer__legal a { color: var(--lt-text-2); }

/* Content */
.entry-content > * + * { margin-block-start: var(--lt-s2); }
.entry-content img { border-radius: var(--lt-radius-sm); }
.lt-post { padding-block-end: var(--lt-s3); margin-block-end: var(--lt-s3); border-block-end: 1px solid var(--lt-border); }
.lt-post .lt-h3 a { color: inherit; text-decoration: none; }
.lt-contact { padding: var(--lt-s3); display: grid; gap: var(--lt-s2); margin-block-end: var(--lt-s3); }
.lt-contact dt { font-size: var(--lt-fs-sm); color: var(--lt-text-2); }
.lt-contact dd { margin: 0; font-weight: 600; }
.lt-search { display: flex; gap: var(--lt-s1); }
.lt-search input[type="search"] { flex: 1; min-height: 48px; padding: 0 12px; border: 1px solid var(--lt-border); border-radius: 6px; font: inherit; }
.navigation.pagination .nav-links, .post-navigation .nav-links { display: flex; flex-wrap: wrap; gap: var(--lt-s1); margin-block-start: var(--lt-s3); }
.page-numbers { padding: 8px 14px; border: 1px solid var(--lt-border); border-radius: var(--lt-radius-sm); text-decoration: none; }
.page-numbers.current { background: var(--lt-accent); color: #fff; border-color: var(--lt-accent); }
.alignwide { max-width: var(--lt-container); } .alignleft { float: left; margin-inline-end: var(--lt-s2); } .alignright { float: right; margin-inline-start: var(--lt-s2); } .aligncenter { margin-inline: auto; }
.wp-caption-text { font-size: var(--lt-fs-sm); color: var(--lt-text-2); }
.lt-comments { margin-block-start: var(--lt-s5); }

/* Tablet */
@media (min-width: 768px) {
  .lt-container { padding-inline: var(--lt-s3); }
  .lt-trust { grid-template-columns: repeat(2, 1fr); }
  .lt-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .lt-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .lt-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .lt-footer__bottom { flex-direction: row; justify-content: space-between; }
  .lt-hero { padding-block: var(--lt-s5) var(--lt-s6); }
  .lt-section { padding-block: var(--lt-s6); }
}
/* Laptop+: inline navigation */
@media (min-width: 1024px) {
  .lt-header__inner { flex-wrap: nowrap; }
  .lt-menu-toggle { display: none; }
  .lt-nav-wrap { display: flex; flex-direction: row; align-items: center; width: auto; padding: 0; gap: var(--lt-s3); }
  .lt-menu { flex-direction: row; gap: var(--lt-s3); }
  .lt-menu a { padding: 8px 0; font-size: .9375rem; }
  .lt-trust { grid-template-columns: repeat(4, 1fr); }
  .lt-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .lt-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .lt-footer__grid { grid-template-columns: 1.5fr repeat(3, 1fr); }
}
