.casino-programok-page { overflow: hidden; }
.casino-programok-page .container { width: min(100% - (2 * var(--container-padding)), var(--container-max)); }
.cp-hero { padding: calc(var(--space-16) + var(--space-8)) 0 var(--space-24); }
.cp-hero__grid, .cp-selector__grid, .cp-scale__grid, .cp-process__grid, .cp-faq__grid, .cp-contact__grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.cp-hero__panel { grid-column: 1 / span 6; align-self: center; min-width: 0; border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-porcelain-white); padding: var(--space-16); display: flex; flex-direction: column; gap: var(--space-6); }
.cp-hero__panel > * { min-width: 0; margin: 0; }
.cp-hero__panel h1 { color: var(--color-cobalt-blue); }
.cp-hero__copy { max-width: 35.625rem; }
.cp-hero__copy p + p { margin-top: var(--space-4); }
.cp-hero__actions { align-items: flex-start; }
.cp-hero__pillars { border-top: var(--border-default); padding-top: var(--space-4); color: var(--color-cobalt-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: var(--tracking-label); line-height: 1.7; word-spacing: .16em; }
.cp-hero__pillars span { color: var(--color-coral); }
.cp-hero__media { grid-column: 7 / span 6; align-self: center; min-width: 0; margin: var(--space-8) 0 0; overflow: hidden; border-radius: var(--radius-lg); }
.cp-hero__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.cp-selector { background: var(--color-sandstone); padding: var(--space-24) 0; }
.cp-selector__intro { grid-column: 1 / span 4; min-width: 0; max-width: 30.625rem; }
.cp-selector__controls { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); min-width: 0; }
.cp-format-button { min-width: 0; min-height: 4.5rem; border: 1px solid rgb(36 87 197 / 18%); border-radius: var(--radius-sm); background: rgb(247 245 239 / 72%); color: var(--color-ink-blue); padding: var(--space-3); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; text-align: left; }
.cp-format-button strong { color: var(--color-cobalt-blue); font-size: var(--font-size-body-s); }.cp-format-button span { min-width: 0; display: grid; gap: var(--space-1); }.cp-format-button b { font-size: var(--font-size-body-s); }.cp-format-button small { color: var(--color-muted-blue); }.cp-format-button i { color: var(--color-cobalt-blue); font-style: normal; }.cp-format-button[aria-pressed="true"] { border-color: var(--color-cobalt-blue); box-shadow: inset 0 -3px 0 var(--color-coral); }
.cp-core { padding: var(--space-24) 0; }.cp-section-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: end; margin-bottom: var(--space-12); }.cp-section-head > * { min-width: 0; }.cp-section-head > :first-child { grid-column: 1 / span 5; }.cp-section-head > :last-child { grid-column: 7 / span 5; max-width: 35rem; margin-bottom: var(--space-2); font-size: var(--font-size-body-l); }
.cp-core__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; min-width: 0; }.cp-program-card { min-width: 0; overflow: hidden; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); display: flex; flex-direction: column; }.cp-program-card__media { margin: 0; overflow: hidden; }.cp-program-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }.cp-program-card__body { min-width: 0; padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); }.cp-program-card__body > * { margin: 0; }.cp-program-card--graphic::before, .cp-program-card--line::before { content: ""; display: block; flex: 0 0 auto; height: 5.625rem; background: radial-gradient(circle at center, transparent 0 30%, rgb(36 87 197 / 12%) 30.5% 31%, transparent 31.5%), var(--color-porcelain-white); border-bottom: var(--border-default); }.cp-program-card--line::before { height: 1.125rem; background: repeating-linear-gradient(90deg, var(--color-cobalt-blue) 0 1px, transparent 1px 24px); }
.cp-specs { margin: 0; display: grid; gap: var(--space-2); }.cp-specs div { display: grid; grid-template-columns: minmax(5.5rem, .65fr) minmax(0, 1.35fr); gap: var(--space-2); border-top: 1px solid rgb(184 201 234 / 72%); padding-top: var(--space-2); }.cp-specs dt { color: var(--color-muted-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.cp-specs dd { margin: 0; font-size: var(--font-size-body-s); }.cp-text-link { align-self: flex-start; font-size: var(--font-size-body-s); font-weight: 700; }
.cp-scale { background: var(--color-cobalt-blue); color: var(--color-white); padding: var(--space-24) 0; }.cp-scale__copy { grid-column: 1 / span 5; min-width: 0; align-self: center; max-width: 33.75rem; }.cp-scale__copy > * { min-width: 0; }.cp-scale__copy h2, .cp-scale__copy h3 { color: var(--color-white); }.cp-scale__media { grid-column: 7 / span 6; min-width: 0; margin: 0; align-self: center; overflow: hidden; border-radius: var(--radius-md); }.cp-scale__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }.cp-specs--light dt { color: var(--color-soft-olive); }.cp-specs--light div { border-color: rgb(255 255 255 / 24%); }.cp-private { grid-column: 3 / span 8; min-width: 0; margin-top: var(--space-8); border-radius: var(--radius-lg); background: var(--color-sandstone); color: var(--color-ink-blue); overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.cp-private__media { min-width: 0; margin: 0; }.cp-private__media img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }.cp-private__body { min-width: 0; padding: var(--space-8); display: flex; flex-direction: column; gap: var(--space-4); }.cp-private__body > * { margin: 0; }
.cp-production { padding: var(--space-24) 0; }.cp-production__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; min-width: 0; }.cp-production-card { min-width: 0; border: var(--border-default); border-radius: var(--radius-md); padding: var(--space-8); background: var(--color-white); transition: transform var(--transition-fast), border-color var(--transition-fast); }.cp-production-card:nth-child(3) { grid-column: 1; }.cp-production-card:nth-child(4) { grid-column: 2; }.cp-production-card:hover { border-color: var(--color-cobalt-blue); transform: translateY(-4px); }.cp-production-card--sand { background: var(--color-sandstone); }.cp-production-card--olive { background: var(--color-soft-olive); }.cp-production-card span, .cp-occasion-card span { display: block; color: var(--color-cobalt-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: var(--tracking-label); }.cp-inline-list { color: var(--color-cobalt-blue); font-size: var(--font-size-body-s); font-weight: 700; }
.cp-process { border-top: var(--border-default); padding: var(--space-24) 0; }.cp-process__head { grid-column: 1 / span 3; min-width: 0; }.cp-process__steps { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }.cp-process__steps article { min-width: 0; }.cp-process__steps strong { display: block; color: rgb(36 87 197 / 38%); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; margin-bottom: var(--space-4); }.cp-process__steps h3 { font-size: var(--font-size-heading-s); }.cp-process__steps p { font-size: var(--font-size-body-s); }
.cp-occasions { background: var(--color-sandstone); padding: var(--space-24) 0; }.cp-occasions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; min-width: 0; }.cp-occasion-card { min-width: 0; min-height: 100%; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-porcelain-white); padding: var(--space-8); display: flex; flex-direction: column; gap: var(--space-4); color: var(--color-ink-blue); text-decoration: none; transition: transform var(--transition-fast), border-color var(--transition-fast); }.cp-occasion-card > * { margin: 0; }.cp-occasion-card:nth-child(2) { transform: translateY(-2rem); }.cp-occasion-card:hover { border-color: var(--color-cobalt-blue); transform: translateY(-4px); }.cp-occasion-card:nth-child(2):hover { transform: translateY(calc(-2rem - 4px)); }.cp-occasion-card b { margin-top: auto; color: var(--color-cobalt-blue); font-size: var(--font-size-body-s); }
.cp-faq { padding: var(--space-24) 0; }.cp-faq__head { grid-column: 1 / span 4; min-width: 0; }.cp-faq__list { grid-column: 6 / span 7; min-width: 0; }.cp-faq__list article { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); padding: var(--space-6) 0; border-top: var(--border-default); }.cp-faq__list article:last-child { border-bottom: var(--border-default); }.cp-faq__list span { color: var(--color-cobalt-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: var(--tracking-label); }.cp-faq__list h3 { font-size: var(--font-size-heading-s); }
.cp-contact { background: var(--color-coral); padding: var(--space-24) 0; }.cp-contact__panel { grid-column: 1 / span 7; min-width: 0; border-radius: var(--radius-lg); background: var(--color-porcelain-white); padding: var(--space-12); }.cp-contact__intro { max-width: 35rem; }.cp-contact__form { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }.cp-contact__form > * { min-width: 0; margin: 0; }.cp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }.cp-form-grid > * { min-width: 0; }.cp-form-grid__full { grid-column: 1 / -1; }.cp-form-summary[hidden] { display: none; }.cp-form-summary, .cp-field-error { color: #9b2630; font-size: var(--font-size-body-s); font-weight: 600; }.cp-field-error { display: block; margin-top: var(--space-1); }.cp-contact__form .is-invalid { border-color: #9b2630; }.cp-form-note { font-size: var(--font-size-body-s); }.cp-form-success { color: var(--color-cobalt-blue); font-weight: 700; }.cp-contact__aside { grid-column: 9 / span 4; min-width: 0; align-self: center; color: var(--color-cobalt-blue); }.cp-contact__aside h3 { color: var(--color-cobalt-blue); }.cp-contact__aside ul { padding-left: var(--space-4); }.cp-contact__aside li + li { margin-top: var(--space-3); }
.cp-closing { padding: var(--space-24) 0 var(--space-32); }.cp-closing__content { width: min(100%, 42.5rem); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-6); }.cp-closing__content > * { margin: 0; }.cp-closing__content > div { width: 100%; height: 2px; background: var(--color-soft-olive); }.cp-closing__content h2 { color: var(--color-cobalt-blue); font-size: var(--font-size-heading-s); }
.cp-reveal {  transition: clip-path var(--transition-reveal); }
@media (max-width: 63.99rem) { .cp-hero__grid, .cp-selector__grid, .cp-scale__grid, .cp-process__grid, .cp-faq__grid, .cp-contact__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 20px; }.cp-hero__panel { grid-column: 1 / span 4; padding: var(--space-8); }.cp-hero__media { grid-column: 5 / span 4; }.cp-selector__intro { grid-column: 1 / -1; }.cp-selector__controls { grid-column: 1 / -1; }.cp-core__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }.cp-core__cards > :last-child { grid-column: 1 / -1; }.cp-scale__copy { grid-column: 1 / span 3; }.cp-scale__media { grid-column: 4 / span 5; }.cp-private { grid-column: 2 / span 6; }.cp-process__head, .cp-faq__head { grid-column: 1 / -1; }.cp-process__steps { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }.cp-faq__list { grid-column: 1 / -1; max-width: 37rem; }.cp-contact__panel { grid-column: 1 / -1; }.cp-contact__aside { grid-column: 1 / -1; }.cp-occasion-card:nth-child(2) { transform: none; }.cp-occasion-card:nth-child(2):hover { transform: translateY(-4px); } }
@media (max-width: 47.99rem) { .cp-hero { padding: var(--space-8) 0 var(--space-12); }.cp-hero__grid, .cp-selector__grid, .cp-scale__grid, .cp-process__grid, .cp-faq__grid, .cp-contact__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }.cp-hero__media { grid-column: 1 / -1; grid-row: 1; margin: 0; }.cp-hero__panel { grid-column: 1 / -1; grid-row: 2; padding: var(--space-6); }.cp-hero__panel h1 { font-size: 2.625rem; }.cp-hero__actions { flex-direction: column; }.cp-hero__actions .button { width: 100%; }.cp-selector, .cp-scale, .cp-occasions, .cp-contact { padding: var(--space-12) 0; }.cp-selector__controls, .cp-core__cards, .cp-production__grid, .cp-occasions__grid, .cp-process__steps { grid-template-columns: 1fr; }.cp-core__cards > :last-child { grid-column: auto; }.cp-format-button { min-height: 3.5rem; }.cp-section-head { grid-template-columns: 1fr; gap: var(--space-4); margin-bottom: var(--space-8); }.cp-section-head > :first-child, .cp-section-head > :last-child { grid-column: auto; }.cp-section-head > :last-child { margin: 0; }.cp-scale__media { grid-column: 1 / -1; grid-row: 1; }.cp-scale__copy { grid-column: 1 / -1; grid-row: 2; }.cp-private { grid-column: 1 / -1; grid-template-columns: 1fr; margin-top: var(--space-2); }.cp-private__body, .cp-program-card__body, .cp-production-card, .cp-occasion-card { padding: var(--space-6); }.cp-production-card:nth-child(3), .cp-production-card:nth-child(4) { grid-column: auto; }.cp-process { padding: var(--space-12) 0; }.cp-process__steps article { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); }.cp-process__steps strong { margin: 0; font-size: 2rem; }.cp-occasions__grid { gap: var(--space-4); }.cp-faq { padding: var(--space-12) 0; }.cp-contact__panel { padding: var(--space-6); }.cp-form-grid { grid-template-columns: 1fr; }.cp-form-grid__full { grid-column: auto; }.cp-contact__aside { border-top: 1px solid var(--color-cobalt-blue); padding-top: var(--space-6); }.cp-closing { padding: var(--space-16) 0 var(--space-24); }.cp-specs div { grid-template-columns: 6.25rem minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .cp-reveal { clip-path: none; }.cp-production-card:hover, .cp-occasion-card:hover, .cp-occasion-card:nth-child(2):hover { transform: none; } }