.kapcsolat-page { background: var(--color-graphite-950); }
.kapcsolat-page .container { width: min(100%, var(--container-max)); }
.kapcsolat-breadcrumb-section { border-bottom: 1px solid var(--color-border); }
.kapcsolat-breadcrumb-container { padding-block: var(--space-4); }
.kapcsolat-breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; width: fit-content; min-width: 0; color: var(--color-text-muted); font-size: var(--font-size-12); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); line-height: var(--leading-label); text-transform: uppercase; }
.kapcsolat-breadcrumb > * { min-width: 0; }
.kapcsolat-breadcrumb a { color: var(--color-pearl-200); }
.kapcsolat-hero { padding-block: clamp(5.5rem, 10vw, 8rem); }
.kapcsolat-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: end; min-height: 38.75rem; }
.kapcsolat-hero-grid > * { min-width: 0; }
.kapcsolat-hero-copy { width: 100%; max-width: 48rem; }
.kapcsolat-hero-kicker { margin-block-end: var(--space-4); color: var(--color-copper-300); font-size: var(--font-size-12); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); line-height: var(--leading-label); text-transform: uppercase; }
.kapcsolat-hero-copy h1 { margin-block-end: var(--space-6); }
.kapcsolat-hero-lead { max-width: 44rem; margin-block-end: var(--space-6); color: var(--color-pearl-200); font-size: var(--font-size-20); line-height: 1.5; }
.kapcsolat-inline-link { display: inline-flex; gap: var(--space-2); align-items: center; color: var(--color-pearl-050); font-size: var(--font-size-14); font-weight: var(--weight-medium); text-decoration-color: var(--color-copper-500); text-underline-offset: .32em; }
.kapcsolat-concierge { width: 100%; border-left: 1px solid var(--color-copper-500); border-radius: 0; }
.kapcsolat-concierge-inner { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: clamp(1.5rem, 3vw, 3rem); }
.kapcsolat-concierge-inner > * { min-width: 0; margin-block: 0; }
.kapcsolat-concierge h2 { margin: 0; font-size: clamp(2rem, 3.3vw, 2.75rem); }
.kapcsolat-concierge p { max-width: 32rem; }
.kapcsolat-concierge-links { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.kapcsolat-concierge-links > * { min-width: 0; width: fit-content; }
.kapcsolat-hours { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; }
.kapcsolat-hours > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); min-width: 0; }
.kapcsolat-hours dt, .kapcsolat-hours dd { min-width: 0; margin: 0; font-size: var(--font-size-14); }
.kapcsolat-hours dt { color: var(--color-pearl-200); font-weight: var(--weight-regular); }
.kapcsolat-hours dd { color: var(--color-pearl-050); text-align: right; }
.kapcsolat-placeholder-note { color: var(--color-text-muted); font-size: var(--font-size-12); line-height: var(--leading-caption); }
.kapcsolat-directions { background: var(--color-graphite-900); }
.kapcsolat-directions-intro { width: 100%;  margin-block-end: var(--space-12); }
.kapcsolat-directions-intro > :last-child { margin-block-end: 0; }
.kapcsolat-direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.kapcsolat-direction-grid > * { min-width: 0; }
.kapcsolat-direction { position: relative; display: flex; align-items: flex-end; min-width: 0; min-height: 22.5rem; overflow: hidden; padding: var(--space-6); color: var(--color-pearl-050); text-decoration: none; transition: background-color var(--transition-base), color var(--transition-base); }
.kapcsolat-direction::after { position: absolute; right: var(--space-6); bottom: 0; left: var(--space-6); height: 1px; background: var(--color-copper-500); content: ""; transform: scaleX(.3); transform-origin: left; transition: transform var(--transition-base); }
.kapcsolat-direction--restaurant { background: linear-gradient(135deg, #2b1d18 0%, #171315 100%); }
.kapcsolat-direction--casino { background: linear-gradient(135deg, #102a43 0%, #161d27 100%); }
.kapcsolat-direction--event { background: linear-gradient(135deg, #252b30 0%, #111417 70%); }
.kapcsolat-direction-number { position: absolute; top: var(--space-6); right: var(--space-6); color: rgba(243,239,232,.36); font-family: var(--font-display); font-size: 4.25rem; line-height: 1; }
.kapcsolat-direction-content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; width: 100%; }
.kapcsolat-direction-content > * { min-width: 0; }
.kapcsolat-direction-content strong { max-width: 18rem; color: var(--color-pearl-050); font-family: var(--font-display); font-size: clamp(2rem, 3vw, 2.75rem); font-weight: var(--weight-medium); line-height: 1; }
.kapcsolat-direction-content > span:not(.meta):not(.kapcsolat-direction-more) { max-width: 22rem; color: var(--color-pearl-200); font-size: var(--font-size-16); line-height: var(--leading-body-mobile); }
.kapcsolat-direction-more { display: inline-flex; gap: var(--space-2); align-items: center; width: fit-content; margin-top: var(--space-2); color: var(--color-pearl-050); font-size: var(--font-size-14); text-decoration: underline; text-decoration-color: var(--color-copper-500); text-underline-offset: .3em; }
.kapcsolat-direction-more b { color: var(--color-copper-300); transition: transform var(--transition-base); }
.kapcsolat-direction:hover { color: var(--color-pearl-050); background-color: var(--color-graphite-800); }
.kapcsolat-direction:hover::after, .kapcsolat-direction:focus-visible::after { transform: scaleX(1); }
.kapcsolat-direction:hover .kapcsolat-direction-more b { transform: translateX(8px); }
.kapcsolat-plan { background: var(--color-sapphire-900); }
.kapcsolat-plan-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: center; min-height: 30rem; }
.kapcsolat-plan-grid > * { min-width: 0; }
.kapcsolat-plan-copy { width: 100%; max-width: 42rem; }
.kapcsolat-plan-copy > :last-child { margin-block-end: 0; }
.kapcsolat-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin: 0; padding: 0; list-style: none; }
.kapcsolat-steps > li { display: grid; grid-template-columns: 1fr; gap: var(--space-4); min-width: 0; border-top: 1px solid var(--color-copper-500); padding-top: var(--space-4); }
.kapcsolat-steps > li > * { min-width: 0; }
.kapcsolat-steps > li > span { color: var(--color-copper-300); font-family: var(--font-display); font-size: 3.5rem; line-height: .9; }
.kapcsolat-steps h3 { margin-block-end: var(--space-2); font-family: var(--font-body); font-size: var(--font-size-16); font-weight: var(--weight-semibold); }
.kapcsolat-steps p { margin: 0; color: var(--color-pearl-200); font-size: var(--font-size-14); line-height: var(--leading-caption); }
.kapcsolat-form-heading { width: 100%; max-width: 42rem; margin-block-end: var(--space-12); }
.kapcsolat-form-heading > :last-child { margin-block-end: 0; }
.kapcsolat-form-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-12); align-items: start; }
.kapcsolat-form-layout > * { min-width: 0; }
.kapcsolat-form { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.kapcsolat-form > * { min-width: 0; margin-block: 0; }
.kapcsolat-form-status { display: none; padding: var(--space-4); border: 1px solid var(--color-border); color: var(--color-pearl-200); font-size: var(--font-size-14); line-height: var(--leading-caption); }
.kapcsolat-form-status.is-error, .kapcsolat-form-status.is-success { display: block; }
.kapcsolat-form-status.is-error { border-color: var(--color-copper-500); }
.kapcsolat-form-status.is-success { border-color: var(--color-copper-300); background: rgba(184,115,74,.12); }
.kapcsolat-required-note { color: var(--color-text-muted); font-size: var(--font-size-14); }
.kapcsolat-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); }
.kapcsolat-field-grid > * { min-width: 0; }
.kapcsolat-field { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.kapcsolat-field > * { min-width: 0; margin-block: 0; }
.kapcsolat-field--full { grid-column: 1 / -1; }
.kapcsolat-field input, .kapcsolat-field textarea, .kapcsolat-field select { min-height: 3.25rem; border-radius: var(--radius-control); background: var(--color-graphite-900); }
.kapcsolat-field textarea { min-height: 10rem; }
.kapcsolat-field-help { color: var(--color-text-muted); font-size: var(--font-size-12); line-height: var(--leading-caption); }
.kapcsolat-field-error { min-height: 1.25rem; color: var(--color-copper-300); font-size: var(--font-size-12); line-height: var(--leading-caption); }
.kapcsolat-submit { align-self: flex-start; min-height: 3.25rem; }
.kapcsolat-response-panel { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; border-top: 1px solid var(--color-copper-500); background: var(--color-graphite-900); padding: var(--space-6); }
.kapcsolat-response-panel > * { min-width: 0; margin-block: 0; }
.kapcsolat-response-panel h3 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.kapcsolat-response-panel p { max-width: 32rem; }
.kapcsolat-venue { background: var(--color-walnut-900); }
.kapcsolat-venue-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: center; }
.kapcsolat-venue-grid > * { min-width: 0; }
.kapcsolat-venue-copy { width: 100%; max-width: 42rem; }
.kapcsolat-venue-copy > :last-child { margin-block-end: 0; }
.kapcsolat-venue-attributes { display: flex; flex-direction: column; min-width: 0; }
.kapcsolat-venue-attributes > div { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; border-top: 1px solid var(--color-border); padding-block: var(--space-6); }
.kapcsolat-venue-attributes > div:last-child { border-bottom: 1px solid var(--color-border); }
.kapcsolat-venue-attributes > div > * { min-width: 0; }
.kapcsolat-venue-attributes > div > span { color: var(--color-copper-300); font-family: var(--font-display); font-size: var(--font-size-32); line-height: 1; }
.kapcsolat-venue-attributes h3 { margin-block-end: var(--space-2); color: var(--color-pearl-050); font-family: var(--font-body); font-size: var(--font-size-16); font-weight: var(--weight-semibold); text-transform: uppercase; }
.kapcsolat-venue-attributes p { max-width: 30rem; margin: 0; color: var(--color-pearl-200); }
.kapcsolat-location-heading { width: 100%; max-width: 44rem; margin-block-end: var(--space-12); }
.kapcsolat-location-heading > :last-child { margin-block-end: 0; }
.kapcsolat-location-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); align-items: start; }
.kapcsolat-location-grid > * { min-width: 0; }
.kapcsolat-map { position: relative; width: 100%; min-width: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-graphite-900); }
.kapcsolat-map svg { width: 100%; height: 100%; }
.kapcsolat-map-label { position: absolute; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; border-left: 2px solid var(--color-copper-500); background: rgba(17,20,23,.88); padding: var(--space-4); }
.kapcsolat-map-label > * { min-width: 0; }
.kapcsolat-map-label strong { font-size: var(--font-size-16); line-height: var(--leading-heading); }
.kapcsolat-map-link { position: absolute; top: var(--space-4); right: var(--space-4); display: inline-flex; gap: var(--space-2); align-items: center; border-bottom: 1px solid var(--color-copper-500); background: rgba(17,20,23,.88); padding: var(--space-2) var(--space-3); color: var(--color-pearl-050); font-size: var(--font-size-14); text-decoration: none; }
.kapcsolat-location-info { display: flex; flex-direction: column; gap: var(--space-8); min-width: 0; }
.kapcsolat-location-info > * { min-width: 0; }
.kapcsolat-contact-data, .kapcsolat-arrival { min-width: 0; }
.kapcsolat-contact-data h3, .kapcsolat-arrival h3 { margin-block-end: var(--space-4); font-size: clamp(1.8rem, 2.8vw, 2.4rem); }
.kapcsolat-contact-data dl { display: flex; flex-direction: column; gap: var(--space-4); margin: 0; }
.kapcsolat-contact-data dl > div { min-width: 0; border-bottom: 1px solid var(--color-border); padding-bottom: var(--space-4); }
.kapcsolat-contact-data dt { margin-bottom: var(--space-2); color: var(--color-text-muted); font-size: var(--font-size-12); letter-spacing: var(--tracking-label); line-height: var(--leading-label); text-transform: uppercase; }
.kapcsolat-contact-data dd { min-width: 0; color: var(--color-pearl-200); overflow-wrap: anywhere; }
.kapcsolat-contact-data .kapcsolat-placeholder-note { margin-top: var(--space-4); margin-bottom: 0; }
.kapcsolat-arrival { display: flex; flex-direction: column; gap: var(--space-4); }
.kapcsolat-arrival > * { min-width: 0; margin-block: 0; }
.kapcsolat-arrival > div { border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.kapcsolat-arrival h4 { margin-block-end: var(--space-2); color: var(--color-pearl-050); font-family: var(--font-body); font-size: var(--font-size-14); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.kapcsolat-arrival p { max-width: 38rem; margin: 0; color: var(--color-pearl-200); font-size: var(--font-size-14); line-height: var(--leading-body); }
.kapcsolat-close { background: var(--color-graphite-900); border-top: 1px solid var(--color-copper-500); }
.kapcsolat-close-inner { display: flex; flex-direction: column; gap: var(--space-6); width: 58.333%; max-width: 46rem; min-width: 0; }
.kapcsolat-close-inner > * { min-width: 0; margin-block: 0; }
.kapcsolat-close-inner p { max-width: 46rem; }
.kapcsolat-close-inner .button { align-self: flex-start; }
@media (max-width: 1080px) { .kapcsolat-direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kapcsolat-direction-grid > :nth-child(3) { grid-column: 1 / -1; } .kapcsolat-direction-grid > :nth-child(3) .kapcsolat-direction-content > span:not(.meta):not(.kapcsolat-direction-more) { max-width: 32rem; } }
@media (max-width: 1040px) { .kapcsolat-hero-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); min-height: 0; } .kapcsolat-plan-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); } .kapcsolat-steps { grid-template-columns: 1fr; gap: var(--space-4); } .kapcsolat-steps > li { grid-template-columns: 4rem minmax(0, 1fr); align-items: start; } .kapcsolat-venue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); } }
@media (max-width: 980px) { .kapcsolat-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kapcsolat-map { grid-column: 1 / -1; } .kapcsolat-location-info { display: contents; } .kapcsolat-contact-data { grid-column: 1; } .kapcsolat-arrival { grid-column: 2; } }
@media (max-width: 960px) { .kapcsolat-form-layout { grid-template-columns: 1fr; gap: var(--space-8); } .kapcsolat-response-panel { width: 100%; max-width: 42rem; } }
@media (max-width: 900px) { .kapcsolat-hero-grid { grid-template-columns: 1fr; gap: var(--space-8); } .kapcsolat-concierge { max-width: none; } .kapcsolat-close-inner { width: 100%; } }
@media (max-width: 820px) { .kapcsolat-plan-grid, .kapcsolat-venue-grid { grid-template-columns: 1fr; gap: var(--space-8); } .kapcsolat-plan-copy, .kapcsolat-venue-copy { max-width: none; } }
@media (max-width: 760px) { .kapcsolat-location-grid { grid-template-columns: 1fr; gap: var(--space-8); } .kapcsolat-map, .kapcsolat-contact-data, .kapcsolat-arrival { grid-column: 1; } .kapcsolat-location-info { display: flex; } .kapcsolat-map { aspect-ratio: 5 / 4; } }
@media (max-width: 700px) { .kapcsolat-field-grid { grid-template-columns: 1fr; } .kapcsolat-field--full { grid-column: 1; } }
@media (max-width: 767px) { .kapcsolat-hero { padding-block: var(--section-space); } .kapcsolat-hero-copy h1 { font-size: clamp(2.4rem, 12vw, 2.75rem); line-height: .96; } .kapcsolat-hero-lead { font-size: var(--font-size-16); line-height: var(--leading-body-mobile); } .kapcsolat-concierge-inner { padding: var(--space-6); } .kapcsolat-directions-intro, .kapcsolat-form-heading, .kapcsolat-location-heading { margin-block-end: var(--space-8); } .kapcsolat-direction-grid { grid-template-columns: 1fr; gap: var(--space-4); } .kapcsolat-direction-grid > :nth-child(3) { grid-column: 1; } .kapcsolat-direction { min-height: 13.75rem; padding: var(--space-6); } .kapcsolat-direction-number { font-size: 3.25rem; } .kapcsolat-steps { gap: var(--space-6); } .kapcsolat-steps > li { grid-template-columns: 3.5rem minmax(0, 1fr); } .kapcsolat-steps > li > span { font-size: 2.75rem; } .kapcsolat-venue-attributes > div { grid-template-columns: 3.5rem minmax(0, 1fr); } .kapcsolat-map-label strong { font-size: var(--font-size-14); } .kapcsolat-map-link { top: var(--space-3); right: var(--space-3); } .kapcsolat-submit, .kapcsolat-close-inner .button { width: 100%; align-self: stretch; min-height: 3.25rem; } }
@media (max-width: 479px) { .kapcsolat-breadcrumb { align-items: flex-start; } .kapcsolat-concierge-inner, .kapcsolat-response-panel { padding: var(--space-4); } .kapcsolat-hours > div { grid-template-columns: 1fr; gap: var(--space-1); } .kapcsolat-hours dd { text-align: left; } .kapcsolat-map-label { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); padding: var(--space-3); } }
@media (prefers-reduced-motion: reduce) { .kapcsolat-direction::after, .kapcsolat-direction-more b { transition: none; } }