.rezerwacje-page { overflow: clip; }
.rezerwacje-page a { text-decoration-thickness: .0625rem; }
.rezerwacje-hero { position: relative; min-height: 50rem; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; padding: calc(var(--header-height) + var(--space-8)) 0 var(--space-8); background: var(--color-espresso-950); }
.rezerwacje-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 70% center; }
.rezerwacje-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(32,26,24,.72), rgba(32,26,24,.16) 72%), linear-gradient(0deg, rgba(22,58,60,.46), transparent 55%); content: ""; }
.rezerwacje-hero__container { width: min(100% - (var(--container-padding) * 2), var(--container-max)); }
.rezerwacje-hero__panel { display: flex; width: min(50%, 38rem); min-width: 31.25rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-7); border: .0625rem solid var(--color-border-copper); background: rgba(32,26,24,.9); box-shadow: var(--shadow-soft); }
.rezerwacje-hero__panel .eyebrow, .rezerwacje-hero__panel h1, .rezerwacje-hero__panel p { margin: 0; }
.rezerwacje-hero__panel h1 { max-width: 35rem; font-size: clamp(3.5rem, 5.2vw, 4.25rem); }
.rezerwacje-hero__panel .lead { max-width: 31.25rem; }
.rezerwacje-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.rezerwacje-hero__actions > * { min-width: 0; }
.rezerwacje-hero__note { width: 100%; max-width: 31.25rem; padding-top: var(--space-4); border-top: .0625rem solid var(--color-border-copper); color: var(--color-ivory-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.rezerwacje-quick__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); }
.rezerwacje-quick__form-area, .rezerwacje-quick__contact { min-width: 0; }
.rezerwacje-quick__form-area { width: 100%; max-width: 43.75rem; }
.rezerwacje-quick__form-area > .eyebrow, .rezerwacje-quick__form-area > h2, .rezerwacje-quick__form-area > .lead { display: block; }
.rezerwacje-quick__form-area > .lead { max-width: 28.75rem; }
.rezerwacje-quick__contact { align-self: start; width: 100%; max-width: 20rem; padding-top: calc(var(--space-3) + var(--space-5)); }
.rezerwacje-quick__contact p { max-width: 17.5rem; }
.rezerwacje-contact-link, .rezerwacje-contact-email { display: block; width: 100%; min-width: 0; overflow-wrap: anywhere; }
.rezerwacje-contact-link { margin-bottom: var(--space-2); font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: 700; text-decoration: none; }
.rezerwacje-contact-email { color: var(--color-ivory-muted); }
.rezerwacje-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.rezerwacje-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.rezerwacje-form__fields > * { min-width: 0; }
.rezerwacje-field { width: 100%; min-width: 0; }
.rezerwacje-field--full { grid-column: 1 / -1; }
.rezerwacje-error { min-height: 1.4rem; margin: var(--space-1) 0 0; color: #f2b8a8; font-size: var(--text-small); line-height: 1.4; }
.rezerwacje-field.is-invalid input, .rezerwacje-field.is-invalid select, .rezerwacje-field.is-invalid textarea { border-color: #f2b8a8; }
.rezerwacje-form__status { display: none; width: 100%; min-width: 0; padding: var(--space-4); border-left: .1875rem solid var(--color-aged-copper); background: rgba(164,111,76,.14); }
.rezerwacje-form__status.is-visible { display: block; }
.rezerwacje-form__status.is-error { border-color: #f2b8a8; background: rgba(242,184,168,.12); }
.rezerwacje-occasions__intro { width: min(100%, 37.5rem); margin-left: auto; }
.rezerwacje-occasions__intro .lead { max-width: 37.5rem; }
.rezerwacje-occasions__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.rezerwacje-occasions__cards > * { min-width: 0; }
.rezerwacje-occasion-card { display: flex; min-height: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border-top: .125rem solid var(--color-aged-copper); border-right: .0625rem solid var(--color-border-copper); border-bottom: .0625rem solid var(--color-border-copper); border-left: .0625rem solid var(--color-border-copper); transition: border-color var(--transition-fast); }
.rezerwacje-occasion-card > * { margin: 0; }
.rezerwacje-occasion-card__number, .rezerwacje-rule > span, .rezerwacje-tips__cards > article > span { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.rezerwacje-occasion-card a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.rezerwacje-occasion-card:hover, .rezerwacje-occasion-card:focus-within { border-top-color: var(--color-warm-ivory); }
.rezerwacje-cuisine__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.rezerwacje-cuisine__grid > * { min-width: 0; }
.rezerwacje-cuisine__copy { width: 100%; max-width: 31.25rem; }
.rezerwacje-cuisine__blocks { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.rezerwacje-cuisine__blocks > * { min-width: 0; }
.rezerwacje-cuisine__blocks h3 { margin-bottom: var(--space-3); }
.rezerwacje-cuisine__blocks p { max-width: 28.125rem; }
.rezerwacje-cuisine__quote { padding-top: var(--space-5); border-top: .0625rem solid var(--color-border-light); }
.rezerwacje-cuisine__quote h3 { font-family: var(--font-heading); font-size: 1.75rem; font-style: italic; }
.rezerwacje-cuisine__media { width: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.rezerwacje-cuisine__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 70% center; transition: transform var(--transition-image); }
.rezerwacje-process__intro { width: min(100%, 35rem); margin-inline: auto; text-align: center; }
.rezerwacje-process__intro .eyebrow { justify-content: center; }
.rezerwacje-process__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.rezerwacje-process__steps > * { min-width: 0; }
.rezerwacje-step { position: relative; display: flex; min-width: 0; align-items: flex-start; gap: var(--space-4); }
.rezerwacje-step__number { flex: 0 0 3rem; width: 3rem; min-width: 3rem; color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 3.25rem; line-height: .85; }
.rezerwacje-step > div { min-width: 0; width: calc(100% - 4rem); }
.rezerwacje-step h3 { margin-bottom: var(--space-3); }
.rezerwacje-step p { margin-bottom: var(--space-4); }
.rezerwacje-step a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.rezerwacje-interior__layout { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: var(--space-8); }
.rezerwacje-interior__media { grid-row: 1; grid-column: 1; width: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.rezerwacje-interior__media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; transition: transform var(--transition-image); }
.rezerwacje-interior__lead { z-index: 1; grid-row: 1; grid-column: 1; align-self: end; width: min(42%, 31.25rem); min-width: 0; margin: 0 0 calc(var(--space-6) * -1) var(--space-6); padding: var(--space-6); background: var(--color-espresso-950); }
.rezerwacje-interior__lead > * { margin-top: 0; }
.rezerwacje-interior__lead > :last-child { margin-bottom: 0; }
.rezerwacje-interior__lead p { max-width: 30rem; }
.rezerwacje-interior__callout { z-index: 1; grid-row: 1; grid-column: 1; align-self: end; justify-self: end; width: min(32%, 23rem); min-width: 0; margin: 0 var(--space-6) calc(var(--space-8) * -1) 0; padding: var(--space-6); background: var(--color-burgundy-700); }
.rezerwacje-interior__callout > :last-child { margin-bottom: 0; }
.rezerwacje-interior__callout a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.rezerwacje-program__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); align-items: center; }
.rezerwacje-program__top > * { min-width: 0; }
.rezerwacje-program__copy { width: 100%; max-width: 37.5rem; }
.rezerwacje-program__copy .lead { max-width: 37.5rem; }
.rezerwacje-program__media { width: 100%; margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.rezerwacje-program__media img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center bottom; }
.rezerwacje-program__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.rezerwacje-program__rules > * { min-width: 0; }
.rezerwacje-rule { display: flex; min-height: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); border: .0625rem solid var(--color-border-copper); }
.rezerwacje-rule > * { margin: 0; }
.rezerwacje-rule p { max-width: 20rem; }
.rezerwacje-rule .button { width: 100%; margin-top: auto; }
.rezerwacje-tips__intro { width: min(100%, 32.5rem); }
.rezerwacje-tips__intro .lead { max-width: 32.5rem; }
.rezerwacje-tips__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.rezerwacje-tips__cards > * { min-width: 0; }
.rezerwacje-tips__cards article { display: flex; min-height: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: .0625rem solid var(--color-border-copper); transition: border-color var(--transition-fast); }
.rezerwacje-tips__cards article:nth-child(3) { background: var(--color-burgundy-700); }
.rezerwacje-tips__cards article > * { margin: 0; }
.rezerwacje-tips__cards article a { min-height: 2.75rem; margin-top: auto; display: inline-flex; align-items: center; }
.rezerwacje-tips__cards article:hover, .rezerwacje-tips__cards article:focus-within { border-color: var(--color-aged-copper); }
.rezerwacje-location__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); margin-top: var(--space-6); }
.rezerwacje-location__grid > * { min-width: 0; }
.rezerwacje-location__address { width: 100%; max-width: 25rem; }
.rezerwacje-location__address-text { font-family: var(--font-heading); font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.02; }
.rezerwacje-location__contact { width: 100%; min-width: 0; padding-left: var(--space-8); border-left: .0625rem solid var(--color-border-light); }
.rezerwacje-location__contact p { max-width: 22.5rem; }
.rezerwacje-location__contact > a { display: block; width: 100%; min-width: 0; overflow-wrap: anywhere; font-size: 1.15rem; font-weight: 700; line-height: 1.5; }
.rezerwacje-final__intro { width: min(100%, 32.5rem); }
.rezerwacje-final__intro .lead { max-width: 32.5rem; }
.rezerwacje-form--full { width: min(100%, 57.5rem); margin: var(--space-7) auto 0; padding: var(--space-7); background: var(--color-warm-ivory); color: var(--color-espresso-950); }
.rezerwacje-form--full input, .rezerwacje-form--full select, .rezerwacje-form--full textarea { border-color: var(--color-border-light); background: var(--color-espresso-950); color: var(--color-warm-ivory); }
.rezerwacje-form--full .rezerwacje-error { color: var(--color-burgundy-700); }
.rezerwacje-program-notice { width: 100%; min-width: 0; max-width: 31.25rem; padding: var(--space-5); background: var(--color-burgundy-700); color: var(--color-warm-ivory); }
.rezerwacje-program-notice h3, .rezerwacje-program-notice p { margin: 0; }
.rezerwacje-program-notice h3 { margin-bottom: var(--space-2); }
.rezerwacje-program-notice.is-emphasized { outline: .125rem solid var(--color-aged-copper); outline-offset: .1875rem; }
.rezerwacje-form__help { margin: 0; font-size: var(--text-small); line-height: var(--leading-small); }
@media (hover: hover) and (pointer: fine) { .rezerwacje-cuisine__media:hover img, .rezerwacje-interior__media:hover img { transform: scale(1.02); } }
@media (max-width: 67.5rem) { .rezerwacje-hero { min-height: 47.5rem; } .rezerwacje-hero__panel { width: 100%; min-width: 0; max-width: none; } .rezerwacje-hero__panel .lead, .rezerwacje-hero__note { max-width: 37.5rem; } }
@media (max-width: 66.25rem) { .rezerwacje-tips__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 62.5rem) { .rezerwacje-cuisine__grid, .rezerwacje-program__top { grid-template-columns: minmax(0, 1fr); } .rezerwacje-cuisine__media { grid-row: 1; } .rezerwacje-cuisine__copy { grid-row: 2; max-width: none; } .rezerwacje-cuisine__blocks p { max-width: 28.125rem; } .rezerwacje-program__media { grid-row: 1; max-width: 37.5rem; } .rezerwacje-program__copy { grid-row: 2; max-width: none; } .rezerwacje-interior__layout { gap: var(--space-5); padding-bottom: 0; } .rezerwacje-interior__lead, .rezerwacje-interior__callout { grid-row: auto; grid-column: auto; width: 100%; margin: 0; } .rezerwacje-interior__media { grid-row: auto; grid-column: auto; } }
@media (max-width: 60rem) { .rezerwacje-occasions__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rezerwacje-occasions__cards > :last-child { grid-column: 1 / -1; } }
@media (max-width: 56.25rem) { .rezerwacje-quick__grid, .rezerwacje-process__steps { grid-template-columns: minmax(0, 1fr); } .rezerwacje-quick__contact { max-width: none; padding-top: 0; } .rezerwacje-quick__contact p { max-width: 28rem; } .rezerwacje-process__steps { gap: var(--space-5); } .rezerwacje-step { width: 100%; } .rezerwacje-step > div { width: calc(100% - 4rem); } }
@media (max-width: 52.5rem) { .rezerwacje-program__rules { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rezerwacje-program__rules > :last-child { grid-column: 1 / -1; } }
@media (max-width: 47.5rem) { .rezerwacje-form--full { padding: var(--space-5); } .rezerwacje-form__fields { grid-template-columns: minmax(0, 1fr); } .rezerwacje-field--full { grid-column: auto; } }
@media (max-width: 45rem) { .rezerwacje-location__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .rezerwacje-location__contact { padding-left: 0; border-top: .0625rem solid var(--color-border-light); border-left: 0; padding-top: var(--space-6); } }
@media (max-width: 40rem) { .rezerwacje-hero { min-height: 41rem; padding: calc(var(--header-height) + var(--space-7)) 0 var(--space-5); } .rezerwacje-hero__image { object-position: 62% center; } .rezerwacje-hero__container { width: min(100% - (var(--container-padding-mobile) * 2), var(--container-max)); } .rezerwacje-hero__panel { gap: var(--space-3); padding: var(--space-5); } .rezerwacje-hero__panel h1 { font-size: 2.5rem; line-height: 1.02; } .rezerwacje-hero__panel .lead { font-size: 1.0625rem; } .rezerwacje-hero__actions { flex-direction: column; align-items: stretch; } .rezerwacje-hero__actions > * { width: 100%; } .rezerwacje-occasions__intro { width: 100%; margin-left: 0; } .rezerwacje-occasions__cards, .rezerwacje-tips__cards, .rezerwacje-program__rules { grid-template-columns: minmax(0, 1fr); } .rezerwacje-occasions__cards > :last-child, .rezerwacje-program__rules > :last-child { grid-column: auto; } .rezerwacje-cuisine__media img { aspect-ratio: 4 / 5; object-position: 68% center; } .rezerwacje-interior__media img, .rezerwacje-program__media img { aspect-ratio: 4 / 5; } .rezerwacje-process__intro { width: 100%; text-align: left; } .rezerwacje-process__intro .eyebrow { justify-content: flex-start; } }
@media (max-width: 26.25rem) { .rezerwacje-step { flex-direction: column; gap: var(--space-2); } .rezerwacje-step > div { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .rezerwacje-cuisine__media img, .rezerwacje-interior__media img { transition: none; } }