/* Contact page */
.ct-art { top: calc(50% - 10px); right: calc(max(var(--padx), 50% - 610px) - 70px); opacity: .4; }
html[data-mc-dark] .ct-art { opacity: .12; }
.ct-dir { list-style: none; margin: 40px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 24px 56px; }
.ct-dir li { display: flex; flex-direction: column; gap: 8px; }
.ct-label { margin: 0; font-family: var(--ui); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: rgba(var(--ink-rgb), .68); }
.ct-link { font-family: var(--serif); font-size: 22px; line-height: 1.3; color: var(--ink); text-decoration: none; transition: color .2s ease; }
.ct-link:hover { color: #AA8A53; }
.ct-link span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ct-eyebrow { margin: 0 0 22px; font-family: var(--ui); font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--accent-strong); }
.ct-h2 { margin: 0 0 18px; max-width: 18ch; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 3vw, 44px); line-height: 1.18; color: var(--ink); text-wrap: balance; }
.ct-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; max-width: var(--maxw); margin: 0 auto; }
.ct-copy { display: flex; flex-direction: column; }
.ct-addr { margin: 0 0 44px; font-size: 16px; line-height: 1.6; color: var(--ink-body); }
.ct-h3 { margin: 0 0 14px; font-family: var(--ui); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: rgba(var(--ink-rgb), .56); }
.ct-routes { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid var(--stroke); }
.ct-routes li { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--stroke); }
.ct-route__name { font-family: var(--serif); font-size: 20px; color: var(--ink); white-space: nowrap; }
.ct-dash { color: rgba(var(--ink-rgb), .56); }
.ct-route__to { color: var(--ink-body); }
.ct-leader { flex: 1 1 auto; border-bottom: 1px solid var(--stroke); transform: translateY(-5px); min-width: 12px; }
.ct-route__time { font-family: var(--ui); font-size: 14px; font-weight: 500; letter-spacing: .04em; font-variant-numeric: tabular-nums; color: var(--accent-strong); white-space: nowrap; }
.ct-note { margin: 0; max-width: 52ch; font-size: 14.5px; line-height: 1.72; color: var(--ink-body); text-wrap: pretty; }
.ct-map-wrap { position: relative; width: 100%; aspect-ratio: 4 / 5; border-radius: 32px; overflow: hidden; border: 1px solid var(--stroke); background: #EEE9E1; }
html[data-mc-dark] .ct-map-wrap { background: #1C1316; }
.ct-maplink {
  position: absolute; left: 16px; bottom: 14px; z-index: 500; padding: 10px 16px; border-radius: 999px; background: rgba(248, 246, 243, .92);
  border: 1px solid var(--stroke); color: var(--ink); text-decoration: none; font-family: var(--ui); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; transition: color .2s ease;
}
html[data-mc-dark] .ct-maplink { background: rgba(28, 19, 22, .88); }
.ct-maplink:hover { color: #AA8A53; }

.mc-map { --map-bg: #EEE9E1; --map-ink: var(--ink); --map-muted: rgba(var(--ink-rgb), .5); --map-line: var(--stroke); position: absolute; inset: 0; z-index: 1; }
html[data-mc-dark] .mc-map { --map-bg: #1C1316; }
.mc-map .leaflet-control-attribution { background: transparent; font: 10px Manrope, sans-serif; color: var(--map-muted); }
.mc-map .leaflet-control-attribution a { color: var(--map-muted); }
.mc-map .leaflet-bar { border: 1px solid var(--map-line); box-shadow: none; border-radius: 999px; overflow: hidden; }
.mc-map .leaflet-bar a { background: var(--map-bg); color: var(--map-ink); border-bottom: 1px solid var(--map-line); width: 36px; height: 36px; line-height: 36px; font: 300 18px Geist, sans-serif; }
.mc-map .leaflet-bar a:last-child { border-bottom: 0; }
.mc-map .leaflet-bar a:hover { background: var(--map-bg); color: #AA8A53; }
.mc-map .leaflet-container { background: var(--map-bg); font-family: Manrope, sans-serif; }
.mc-tiles-light { filter: grayscale(1) sepia(.18) brightness(1) contrast(1.3); }
.mc-tiles-dark { filter: invert(1) hue-rotate(180deg) grayscale(1) sepia(.2) brightness(1.6) contrast(1.05); } /* világosabb, hogy az utak és a nevek jól kivehetők legyenek */
@keyframes mcPulse { 0% { transform: scale(.6); opacity: .55; } 100% { transform: scale(2.4); opacity: 0; } }

.ct-us { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: start; max-width: var(--maxw); margin: 0 auto; }
.ct-dl { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--stroke); }
.ct-dl > div { display: flex; flex-direction: column; gap: 8px; padding: 20px 16px 20px 0; border-bottom: 1px solid var(--stroke); }
.ct-dl dd { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink); }
.ct-dl dd .ct-link { font-size: 18px; }

.ct-career-section { padding-bottom: 128px; }
.ct-career {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); max-width: var(--maxw); margin: 0 auto;
  border-radius: 32px; overflow: hidden; border: 1px solid rgba(170, 138, 83, .22); background: #F4F1EC;
}
html[data-mc-dark] .ct-career { background: #140A0D; border-color: rgba(236, 230, 222, .16); }
.ct-career__img { position: absolute; left: -8%; top: 0; bottom: 0; width: 60%; pointer-events: none; }
.ct-career__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 50%; display: block; filter: brightness(1) contrast(1) saturate(.85); }
html[data-mc-dark] .ct-career__img img { filter: brightness(1.45) contrast(.92) saturate(.95); }
.ct-career__fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,241,236,0) 0%, rgba(244,241,236,.06) 22%, rgba(244,241,236,.22) 42%, rgba(244,241,236,.5) 60%, rgba(244,241,236,.8) 78%, rgba(244,241,236,.95) 90%, #F4F1EC 100%); }
html[data-mc-dark] .ct-career__fade { background: linear-gradient(90deg, rgba(20,10,13,0) 0%, rgba(20,10,13,.02) 22%, rgba(20,10,13,.12) 42%, rgba(20,10,13,.4) 60%, rgba(20,10,13,.75) 78%, rgba(20,10,13,.94) 90%, #140A0D 100%); }
.ct-career__copy { position: relative; grid-column: 2; display: flex; flex-direction: column; align-items: flex-start; padding: 44px 56px 44px 40px; }
.ct-career__body { margin: 0 0 28px; max-width: 46ch; font-size: 15.5px; line-height: 1.74; color: var(--ink-body); text-wrap: pretty; }
.ct-career__mail { margin-top: 20px; font-family: var(--sans); font-size: 15px; }

@media (max-width: 899px) {
  .ct-grid, .ct-us { grid-template-columns: 1fr; gap: 40px; }
  .ct-map-wrap { aspect-ratio: 4 / 3; }
  .ct-career { grid-template-columns: 1fr; }
  .ct-career__img { position: relative; left: 0; width: 100%; height: 220px; }
  .ct-career__fade { background: linear-gradient(180deg, rgba(244,241,236,0) 30%, #F4F1EC 100%); }
  html[data-mc-dark] .ct-career__fade { background: linear-gradient(180deg, rgba(20,10,13,0) 30%, #140A0D 100%); }
  .ct-career__copy { grid-column: 1; padding: 16px 40px 48px; }
}
@media (max-width: 759px) {
  .ct-dir { gap: 20px 32px; }
  .ct-link { font-size: 19px; }
  .ct-map-wrap, .ct-career { border-radius: 22px; }
  .ct-route__name { font-size: 18px; }
  .ct-us { gap: 32px; }
  .ct-dl { grid-template-columns: 1fr; }
  .ct-career__copy { padding: 8px 24px 36px; }
  .ct-career-section { padding-bottom: 80px; }
}

/* Mobil: "Work with us" blokk – a CTA teljes szélességű, az e-mail közepen alatta */
@media (max-width: 759px) {
  .ct-career__copy { align-items: stretch; }
  .ct-career__copy .mc-btn { width: 100%; }
  .ct-career__mail { align-self: center; margin-top: 18px; }
}

/* Az utolsó adat (Contact person) alatt nincs vonal */
.ct-dl > div:last-child { border-bottom: 0; }

/* Térkép: a Leaflet forrásmegjelölés mindig olvasható (a térkép világos csempéken van, sötét módban is) */
.leaflet-container .leaflet-control-attribution { color: #33302b; background: rgba(255, 255, 255, .88); }
.leaflet-container .leaflet-control-attribution a { color: #1c4f7d; }
