.kaszino-estek-page { background: var(--color-petrol-950); color: var(--color-warm-white); }
.kaszino-estek-page .section { position: relative; }
.kaszino-estek-page .eyebrow { margin-bottom: var(--space-3); }
.kaszino-estek-page .lead { margin-bottom: 0; }
.kaszino-estek-page .surface-light .eyebrow { color: var(--color-petrol-700); }
.kaszino-estek-page .surface-light .lead { color: var(--color-ink); }

.ke-hero { position: relative; display: grid; min-height: 45rem; isolation: isolate; overflow: hidden; align-items: end; }
.ke-hero__image, .ke-hero__shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.ke-hero__image { object-fit: cover; object-position: center right; }
.ke-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(7,24,26,.78) 0%, rgba(7,24,26,.5) 46%, rgba(7,24,26,.22) 100%), linear-gradient(0deg, rgba(7,24,26,.82) 0%, rgba(7,24,26,.15) 65%); }
.ke-hero__container { width: min(100% - (var(--container-padding) * 2), var(--container-max)); }
.ke-hero__content { display: flex; width: min(100%, 35rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-block: var(--space-10); }
.ke-hero__content > * { margin: 0; }
.ke-hero__content h1 { font-size: clamp(3.2rem, 5vw, 4rem); }
.ke-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }
.ke-hero__actions > * { min-width: 0; }

.ke-definition__intro { display: flex; width: min(100%, 38.75rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-definition__intro > * { margin: 0; }
.ke-definition__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); margin-top: var(--space-8); align-items: start; }
.ke-definition__item { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-definition__item > * { margin: 0; }
.ke-definition__item--offline { grid-column: 1; padding-top: var(--space-5); }
.ke-definition__item--chips { grid-column: 2; padding: var(--space-5); }
.ke-definition__item--rhythm { grid-column: 3; padding-top: var(--space-7); }
.ke-kicker { color: var(--color-amber-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .1em; line-height: var(--leading-meta); text-transform: uppercase; }
.ke-chip-index { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px dashed var(--color-amber-300); border-radius: 50%; color: var(--color-amber-300); font-family: var(--font-heading); font-size: 1.2rem; }

.ke-games { background: var(--color-petrol-900); }
.ke-games__intro { display: flex; width: min(100%, 36.25rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-games__intro > * { margin: 0; }
.ke-games__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); margin-top: var(--space-8); align-items: stretch; }
.ke-game-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--color-divider-dark); border-radius: var(--radius-lg); background: rgba(245,240,231,.04); transition: border-color var(--transition-fast); }
.ke-game-card--poker { grid-column: 1; }
.ke-game-card--blackjack { grid-column: 2; align-self: start; margin-top: var(--space-6); }
.ke-game-card--roulette { grid-column: 3; margin-top: var(--space-8); }
.ke-game-card__media { overflow: hidden; width: 100%; min-width: 0; }
.ke-game-card__media img { width: 100%; height: 15rem; object-fit: cover; transition: transform var(--transition-fast); }
.ke-game-card--roulette .ke-game-card__media img { height: 12rem; }
.ke-game-card__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.ke-game-card__body > * { margin: 0; }
.ke-game-card:hover { border-color: var(--color-glass-line); }
.ke-game-card:hover img { transform: scale(1.03); }

.ke-evening__intro { display: flex; width: min(100%, 35rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-evening__intro > * { margin: 0; }
.ke-evening__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); align-items: stretch; }
.ke-moment { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5) 0; border-left: 1px solid var(--color-amber-500); padding-left: var(--space-4); }
.ke-moment > * { margin: 0; }
.ke-moment--dinner { border-left: 0; padding: var(--space-5); }
.ke-moment--tables { background: linear-gradient(135deg, rgba(32,84,90,.12), transparent); }
.ke-moment__number { color: var(--color-amber-500); font-family: var(--font-heading); font-size: 2.2rem; line-height: 1; }
.ke-evening__closing { width: min(100%, 37rem); margin: var(--space-7) 0 0; color: var(--color-petrol-900); font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.25; }

.ke-space__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.ke-space__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.ke-space__copy > * { margin: 0; }
.ke-space__highlight { width: 100%; min-width: 0; margin-top: var(--space-3); padding: var(--space-4); }
.ke-space__highlight p { margin: 0; }
.ke-space__figure { position: relative; min-width: 0; margin: 0; }
.ke-space__image-wrap { overflow: hidden; border-radius: var(--radius-lg); }
.ke-space__image-wrap img { width: 100%; height: 38rem; object-fit: cover; transition: transform var(--transition-fast); }
.ke-space__figure:hover img { transform: scale(1.03); }
.ke-space__caption { display: flex; width: min(100%, 18rem); min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; padding: var(--space-4); border-radius: var(--radius-md); background: rgba(7,24,26,.7); color: var(--color-warm-white); font-size: var(--text-meta); line-height: var(--leading-meta); }
.ke-space__caption strong { color: var(--color-amber-300); font-size: var(--text-label); }
@media (min-width: 921px) { .ke-space__caption { position: absolute; bottom: var(--space-4); left: var(--space-4); } }

.ke-participation__intro { display: flex; width: min(100%, 35rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-participation__intro > * { margin: 0; }
.ke-participation__grid { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.ke-info-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.ke-info-card > * { margin: 0; }
.ke-info-card__number { color: var(--color-amber-500); font-family: var(--font-heading); font-size: 1.8rem; line-height: 1; }
.ke-info-card--contact { background: var(--color-petrol-900); color: var(--color-warm-white); }
.ke-info-card--contact a { width: 100%; min-height: 2.75rem; color: var(--color-amber-300); font-size: var(--text-label); font-weight: 700; }

.ke-occasions { background: var(--color-petrol-900); }
.ke-occasions__intro { display: flex; width: min(100%, 35rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-occasions__intro > * { margin: 0; }
.ke-occasions__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr); gap: var(--space-5); margin-top: var(--space-8); align-items: start; }
.ke-occasion-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.ke-occasion-card > * { margin: 0; }
.ke-occasion-card:nth-child(2) { margin-top: var(--space-6); }
.ke-occasion-card--private { min-height: 100%; }
.ke-occasion-card--private a { margin-top: auto; color: var(--color-amber-300); font-weight: 700; }

.ke-gallery__intro { display: flex; width: min(100%, 28.75rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-gallery__intro > * { margin: 0; }
.ke-gallery__track { display: grid; min-width: 0; grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr); gap: var(--space-5); margin-top: var(--space-8); align-items: start; }
.ke-gallery__item { min-width: 0; margin: 0; }
.ke-gallery__item > div { overflow: hidden; border-radius: var(--radius-lg); }
.ke-gallery__item img { width: 100%; object-fit: cover; }
.ke-gallery__item--table img { height: 28rem; }
.ke-gallery__item--detail { padding-top: var(--space-8); }
.ke-gallery__item--detail img { height: 20rem; }
.ke-gallery__item--interior img { height: 32rem; }
.ke-gallery__item figcaption { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-2); max-width: 15.625rem; margin: var(--space-3) 0 0; color: rgba(245,240,231,.78); }
.ke-gallery__item figcaption strong { grid-column: 2; color: var(--color-warm-white); font-size: var(--text-label); }
.ke-gallery__dot { width: .5rem; height: .5rem; grid-row: span 2; margin-top: .3rem; border-radius: 50%; background: var(--color-amber-500); }
.ke-gallery__dot--sage { background: var(--color-sage-500); }

.ke-booking { background: radial-gradient(circle at 70% 50%, rgba(217,154,69,.13), transparent 35%), var(--color-petrol-950); }
.ke-booking__layout { display: grid; min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: stretch; }
.ke-booking__panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-7); }
.ke-booking__panel > * { margin: 0; }
.ke-booking__panel .button { margin-top: var(--space-2); }
.ke-booking__air { min-width: 0; }
.ke-booking__contact { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3); color: rgba(245,240,231,.82); font-size: var(--text-label); }
.ke-booking__contact > * { min-width: 0; }
.ke-booking__contact a { color: var(--color-warm-white); }

.ke-note { padding-block: var(--space-7); border-top: 1px solid var(--color-divider-dark); }
.ke-note__copy { display: flex; width: min(100%, 45rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.ke-note__copy > * { margin: 0; }
.ke-note__label { color: var(--color-amber-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; line-height: var(--leading-meta); text-transform: uppercase; }

@media (max-width: 980px) { .ke-games__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ke-game-card--poker { grid-column: 1; } .ke-game-card--blackjack { grid-column: 2; margin-top: 0; } .ke-game-card--roulette { grid-column: 1 / span 2; width: min(100%, 66.666%); margin-top: 0; } }
@media (max-width: 920px) { .ke-space__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .ke-space__figure { order: -1; width: 100%; } .ke-space__copy { width: min(100%, 51.67rem); } .ke-space__image-wrap img { height: 30rem; } .ke-occasions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ke-occasion-card:nth-child(2) { margin-top: 0; } .ke-occasion-card--private { grid-column: 1 / span 2; width: min(100%, 66.666%); } }
@media (max-width: 900px) { .ke-definition__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ke-definition__item--offline { grid-column: 1; padding-top: 0; } .ke-definition__item--chips { grid-column: 2; } .ke-definition__item--rhythm { grid-column: 1 / span 2; width: min(100%, 66.666%); padding-top: 0; } .ke-gallery__track { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .ke-gallery__item--table { grid-column: 1; } .ke-gallery__item--detail { grid-column: 2; padding-top: 0; } .ke-gallery__item--interior { grid-column: 2; } }
@media (max-width: 880px) { .ke-participation__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .ke-evening__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ke-moment--tables { grid-column: 1 / span 2; width: min(100%, 66.666%); } }
@media (max-width: 820px) { .ke-booking__layout { grid-template-columns: minmax(0, 1fr); } .ke-booking__panel { width: min(100%, 83.333%); margin-inline: auto; } .ke-booking__air { display: none; } }
@media (max-width: 959px) { .ke-hero { min-height: 38.75rem; } .ke-hero__content { width: min(100%, 43.75rem); padding-block: var(--space-9); } }
@media (max-width: 639px) { .ke-hero { min-height: 40rem; } .ke-hero__image { object-position: 64% center; } .ke-hero__shade { background: linear-gradient(0deg, rgba(7,24,26,.92) 0%, rgba(7,24,26,.72) 42%, rgba(7,24,26,.12) 100%); } .ke-hero__content { width: 100%; gap: var(--space-3); padding-block: var(--space-8); } .ke-hero__content h1 { font-size: clamp(2.4rem, 11vw, 2.65rem); } .ke-hero__actions { flex-direction: column; gap: var(--space-3); } .ke-hero__actions .button { width: 100%; }
.ke-definition__grid, .ke-games__grid, .ke-evening__grid, .ke-participation__grid, .ke-occasions__grid { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-6); } .ke-definition__item--offline, .ke-definition__item--chips, .ke-definition__item--rhythm, .ke-game-card--poker, .ke-game-card--blackjack, .ke-game-card--roulette, .ke-moment--tables, .ke-occasion-card--private { grid-column: 1; width: 100%; } .ke-definition__item--chips { padding: var(--space-5); } .ke-game-card--roulette { margin-top: 0; } .ke-game-card__media img, .ke-game-card--roulette .ke-game-card__media img { height: 15rem; } .ke-moment { padding: var(--space-5) 0 var(--space-5) var(--space-4); } .ke-moment--dinner { padding: var(--space-5); } .ke-evening__closing { margin-top: var(--space-6); font-size: 1.35rem; }
.ke-space__image-wrap img { height: 25rem; } .ke-space__caption { width: 100%; max-width: none; border-radius: 0 0 var(--radius-md) var(--radius-md); } .ke-space__copy { width: 100%; } .ke-space__highlight { padding: var(--space-4); }
.ke-gallery__track { display: flex; width: calc(100% + var(--container-padding)); margin-right: calc(var(--container-padding) * -1); margin-top: var(--space-6); overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--space-4); padding-right: var(--container-padding); scrollbar-width: thin; } .ke-gallery__item { width: 85vw; min-width: 85vw; scroll-snap-align: start; } .ke-gallery__item--detail { padding-top: 0; } .ke-gallery__item--table img, .ke-gallery__item--detail img, .ke-gallery__item--interior img { height: 24rem; } .ke-gallery__item figcaption { max-width: 100%; }
.ke-booking__panel { width: 100%; padding: var(--space-5); } .ke-booking__contact { flex-direction: column; align-items: flex-start; gap: var(--space-2); } .ke-booking__contact span { display: none; } .ke-booking__contact a { display: flex; width: 100%; min-height: 2.75rem; align-items: center; } .ke-note { padding-block: var(--space-6); }
}
@media (prefers-reduced-motion: reduce) { .ke-game-card:hover img, .ke-space__figure:hover img { transform: none; } }
