.kalendarz-page { overflow: clip; }
.kalendarz-page .section { padding-block: var(--space-10); }
.kalendarz-page .button { min-height: 2.75rem; }
.kalendarz-breadcrumbs { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); color: var(--color-forest-700); font-size: var(--text-sm); }
.kalendarz-breadcrumbs > * { min-width: 0; }
.kalendarz-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: var(--space-8); min-height: 35rem; }
.kalendarz-hero__grid > * { min-width: 0; width: 100%; }
.kalendarz-hero__content { display: flex; min-width: 0; max-width: 38.75rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kalendarz-hero__content > * { min-width: 0; margin: 0; }
.kalendarz-hero__lead { max-width: 36rem; font-size: var(--text-lg); line-height: 1.56; }
.kalendarz-hero__actions { width: 100%; }
.kalendarz-hero__note { width: 100%; max-width: 35rem; padding-top: var(--space-3); border-top: 1px solid rgba(164, 119, 63, 0.7); color: var(--color-forest-700); font-size: var(--text-sm); line-height: 1.5; }
.kalendarz-hero__media { width: 100%; margin: var(--space-6) 0 0; align-self: end; }
.kalendarz-hero__media img { width: 100%; max-width: 100%; height: 31.25rem; border-radius: var(--radius-large); object-fit: cover; object-position: 65% center; box-shadow: var(--shadow-soft); }
.kalendarz-legend__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); align-items: start; gap: var(--space-7); }
.kalendarz-legend__grid > * { min-width: 0; width: 100%; }
.kalendarz-legend__intro { max-width: 17rem; }
.kalendarz-legend__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.kalendarz-legend__cards > * { min-width: 0; width: 100%; }
.kalendarz-legend-card { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-ivory-50); }
.kalendarz-legend-card > * { min-width: 0; margin: 0; }
.kalendarz-legend-card h3 { margin-bottom: var(--space-3); }
.kalendarz-legend-card p { margin: 0; font-size: var(--text-sm); line-height: 1.6; }
.kalendarz-sample-date { display: flex; min-width: 0; flex-direction: column; padding-left: var(--space-3); border-left: 2px solid var(--color-brass-600); line-height: 1.1; }
.kalendarz-sample-date span { font-family: var(--font-heading); font-size: 3rem; font-weight: 600; }
.kalendarz-sample-date strong { font-size: var(--text-sm); }
.kalendarz-sample-date small { color: var(--color-forest-700); }
.kalendarz-status { display: inline-flex; max-width: 100%; align-items: center; min-height: 1.75rem; padding: 0.25rem 0.5rem; border: 1px solid currentColor; border-radius: var(--radius-button); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.03em; line-height: 1.2; }
.kalendarz-status--available { color: var(--color-forest-700); background: rgba(44, 90, 69, 0.08); }
.kalendarz-status--limited { color: var(--color-burgundy-800); background: rgba(113, 58, 67, 0.08); }
.kalendarz-status--waiting { color: var(--color-heather-700); background: rgba(118, 80, 111, 0.09); }
.kalendarz-events__heading { display: flex; min-width: 0; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-4); }
.kalendarz-events__heading > * { min-width: 0; }
.kalendarz-events__heading > div:first-child { width: min(100%, 43rem); }
.kalendarz-events__heading p:last-child { max-width: 42rem; }
.kalendarz-filters { display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.kalendarz-filters > * { min-width: 0; width: auto; }
.kalendarz-filter { border-color: var(--color-stone-200); background: transparent; color: var(--color-forest-900); }
.kalendarz-filter:hover, .kalendarz-filter.is-active { border-color: var(--color-forest-700); background: var(--color-forest-700); color: var(--color-white); }
.kalendarz-results { margin: 0 0 var(--space-5); color: var(--color-forest-700); font-size: var(--text-sm); }
.kalendarz-event-list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kalendarz-event-list > * { min-width: 0; width: 100%; }
.kalendarz-event-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 2fr) minmax(10rem, 3fr); align-items: center; gap: var(--space-5); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-white); transition: box-shadow var(--transition-base), transform var(--transition-fast); }
.kalendarz-event-card > * { min-width: 0; width: 100%; }
.kalendarz-event-card:hover { box-shadow: var(--shadow-soft); transform: translateY(-1px); }
.kalendarz-event-date time, .kalendarz-event-date { display: flex; min-width: 0; flex-direction: column; line-height: 1.05; }
.kalendarz-event-date span { color: var(--color-forest-900); font-family: var(--font-heading); font-size: clamp(2.75rem, 4vw, 4.1rem); font-weight: 600; }
.kalendarz-event-date strong { font-size: var(--text-sm); }
.kalendarz-event-date small { margin-top: var(--space-1); color: var(--color-forest-700); font-size: var(--text-xs); }
.kalendarz-event-copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.kalendarz-event-copy > * { min-width: 0; margin: 0; }
.kalendarz-event-copy__title { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.kalendarz-event-copy__title > * { min-width: 0; margin: 0; }
.kalendarz-event-copy p { max-width: 36rem; font-size: var(--text-sm); line-height: 1.62; }
.kalendarz-event-tag, .kalendarz-mood { color: var(--color-heather-700); font-size: var(--text-xs) !important; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.kalendarz-event-meta { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.kalendarz-event-meta > * { min-width: 0; margin: 0; }
.kalendarz-event-meta p { font-size: var(--text-sm); line-height: 1.45; }
.kalendarz-event-meta__place { color: var(--color-forest-700); }
.kalendarz-event-action { display: flex; min-width: 0; justify-content: flex-end; }
.kalendarz-event-action .button { min-width: 9.5rem; }
.kalendarz-event-card--forthcoming { background: var(--color-sand-100); }
.kalendarz-event-card[hidden] { display: none; }
.kalendarz-adults__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-8); }
.kalendarz-adults__grid > * { min-width: 0; width: 100%; }
.kalendarz-adults__intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kalendarz-adults__intro > * { min-width: 0; margin: 0; }
.kalendarz-adults__intro p { max-width: 20rem; }
.kalendarz-adults__rules { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.kalendarz-adults__rules > * { min-width: 0; width: 100%; }
.kalendarz-rule { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: 1px solid rgba(255, 253, 247, 0.26); }
.kalendarz-rule > * { min-width: 0; }
.kalendarz-rule > span { color: var(--color-brass-600); font-family: var(--font-heading); font-size: 2rem; font-weight: 600; line-height: 1; }
.kalendarz-rule h3 { margin-bottom: var(--space-2); color: var(--color-white); }
.kalendarz-rule p { max-width: 32rem; margin: 0; }
.kalendarz-adults__link { align-self: flex-start; }
.kalendarz-experience__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--space-8); }
.kalendarz-experience__grid > * { min-width: 0; width: 100%; }
.kalendarz-experience__media { margin: 0; }
.kalendarz-experience__media img { width: 100%; max-width: 100%; height: 38rem; border-radius: var(--radius-large); object-fit: cover; object-position: center; box-shadow: var(--shadow-soft); }
.kalendarz-experience__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kalendarz-experience__content > * { min-width: 0; margin: 0; }
.kalendarz-experience__lead { max-width: 35rem; font-size: var(--text-lg); }
.kalendarz-experience__details { display: flex; min-width: 0; width: 100%; flex-direction: column; gap: var(--space-4); margin-top: var(--space-2); }
.kalendarz-experience__details > * { min-width: 0; width: 100%; }
.kalendarz-experience__details article { padding: 0 0 var(--space-4) var(--space-4); border-bottom: 1px solid var(--color-border); border-left: 2px solid var(--color-brass-600); }
.kalendarz-experience__details article:nth-child(2) { border-left-color: var(--color-heather-700); }
.kalendarz-experience__details h3 { margin-bottom: var(--space-2); }
.kalendarz-experience__details p { max-width: 31rem; margin: 0; font-size: var(--text-sm); }
.kalendarz-process__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); }
.kalendarz-process__grid > * { min-width: 0; width: 100%; }
.kalendarz-process__intro { max-width: 22rem; }
.kalendarz-process__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.kalendarz-process__steps > * { min-width: 0; width: 100%; }
.kalendarz-process__steps article { padding-left: var(--space-4); border-left: 1px solid var(--color-brass-600); }
.kalendarz-process__steps span { display: block; margin-bottom: var(--space-2); color: var(--color-heather-700); font-family: var(--font-heading); font-size: 3rem; font-weight: 600; line-height: 1; }
.kalendarz-process__steps h3 { margin-bottom: var(--space-3); }
.kalendarz-process__steps p { margin: 0; font-size: var(--text-sm); line-height: 1.62; }
.kalendarz-process__notice { grid-column: 2; max-width: 35rem; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-ivory-50); font-size: var(--text-sm); }
.kalendarz-private__intro { max-width: 43rem; }
.kalendarz-private__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.kalendarz-private__cards > * { min-width: 0; width: 100%; }
.kalendarz-private__cards .card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kalendarz-private__cards .card > * { min-width: 0; margin: 0; }
.kalendarz-private__cards p { max-width: 32rem; }
.kalendarz-private__cards .button { margin-top: auto; }
.kalendarz-private__adults { border-color: rgba(113, 58, 67, 0.42); }
.kalendarz-faq__content { width: min(100%, 47.5rem); margin-inline: auto; }
.kalendarz-faq__content > h2 { text-align: left; }
.kalendarz-faq__items { display: flex; min-width: 0; flex-direction: column; border-top: 1px solid var(--color-brass-600); }
.kalendarz-faq__items > * { min-width: 0; width: 100%; }
.kalendarz-faq-item { border-bottom: 1px solid var(--color-brass-600); }
.kalendarz-faq-item h3 { margin: 0; }
.kalendarz-faq-item button { display: flex; width: 100%; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border: 0; border-radius: 0; background: transparent; color: var(--color-forest-900); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; text-align: left; text-transform: none; }
.kalendarz-faq-item button:hover { background: transparent; color: var(--color-forest-700); transform: none; }
.kalendarz-faq-item button span { flex: 0 0 auto; font-family: var(--font-body); font-size: 1.5rem; font-weight: 400; }
.kalendarz-faq-item button[aria-expanded="true"] span { transform: rotate(45deg); }
.kalendarz-faq-item [role="region"] { max-width: 42rem; padding-bottom: var(--space-4); }
.kalendarz-faq-item p { margin: 0; }
.kalendarz-cta__content { display: flex; width: min(100%, 40rem); min-width: 0; margin-inline: auto; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.kalendarz-cta__content > * { min-width: 0; margin: 0; }
.kalendarz-cta__content p { max-width: 31rem; text-align: left; }
.kalendarz-cta__content .button-group { justify-content: center; }
.kalendarz-cta__back { color: var(--color-white); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
@media (max-width: 61.25rem) {
.kalendarz-event-card { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); align-items: start; }
.kalendarz-event-meta { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; }
.kalendarz-event-meta > * { width: auto; }
.kalendarz-event-action { grid-column: 2; justify-content: flex-start; }
}
@media (max-width: 60rem) {
.kalendarz-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-6); min-height: auto; }
.kalendarz-hero__media img { height: 27rem; }
}
@media (max-width: 56.25rem) {
.kalendarz-page .section { padding-block: 4.5rem; }
.kalendarz-legend__grid, .kalendarz-adults__grid, .kalendarz-experience__grid, .kalendarz-process__grid { grid-template-columns: minmax(0, 1fr); }
.kalendarz-legend__intro, .kalendarz-process__intro { max-width: 32rem; }
.kalendarz-legend__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kalendarz-legend__cards > :last-child { grid-column: 1 / -1; }
.kalendarz-adults__intro p { max-width: 34rem; }
.kalendarz-experience__media { order: 2; }
.kalendarz-experience__content { order: 1; }
.kalendarz-experience__media img { height: auto; aspect-ratio: 4 / 3; }
.kalendarz-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kalendarz-process__steps > :last-child { grid-column: 1 / -1; }
.kalendarz-process__notice { grid-column: 1; }
}
@media (max-width: 53.125rem) {
.kalendarz-events__heading { flex-direction: column; align-items: flex-start; }
.kalendarz-filters { justify-content: flex-start; }
}
@media (max-width: 44.9375rem) {
.kalendarz-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.kalendarz-hero__content { max-width: 100%; }
.kalendarz-hero__media { order: 2; margin-top: 0; }
.kalendarz-hero__media img { height: auto; aspect-ratio: 4 / 3; object-position: center; }
}
@media (max-width: 42.5rem) {
.kalendarz-event-card { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.kalendarz-event-meta, .kalendarz-event-action { grid-column: 1; }
.kalendarz-event-meta { align-items: flex-start; }
.kalendarz-event-meta > * { width: 100%; }
.kalendarz-event-action { justify-content: stretch; }
.kalendarz-event-action .button { width: 100%; }
}
@media (max-width: 47.5rem) {
.kalendarz-private__cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 40rem) {
.kalendarz-page .section { padding-block: 3.5rem; }
.kalendarz-hero__content { gap: var(--space-3); }
.kalendarz-hero h1 { font-size: 2.5rem; line-height: 1.1; }
.kalendarz-hero__lead { font-size: var(--text-base); }
.kalendarz-legend__cards, .kalendarz-process__steps { grid-template-columns: minmax(0, 1fr); }
.kalendarz-legend__cards > :last-child, .kalendarz-process__steps > :last-child { grid-column: auto; }
.kalendarz-legend-card { padding: var(--space-4); }
.kalendarz-events__heading { gap: var(--space-4); }
.kalendarz-filters { width: 100%; }
.kalendarz-filters > * { flex: 1 1 100%; width: 100%; }
.kalendarz-event-card { padding: var(--space-4); }
.kalendarz-event-copy__title { align-items: flex-start; }
.kalendarz-event-date time { flex-direction: row; align-items: baseline; gap: var(--space-2); }
.kalendarz-event-date small { margin-top: 0; }
.kalendarz-rule { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.kalendarz-experience__details article { padding-left: var(--space-3); }
.kalendarz-process__steps article { padding-left: var(--space-3); }
.kalendarz-private__cards .button { width: 100%; }
.kalendarz-faq-item button { align-items: flex-start; font-size: 1.35rem; }
.kalendarz-cta__content { align-items: stretch; text-align: left; }
.kalendarz-cta__content .button-group { align-items: stretch; }
.kalendarz-cta__content .button { width: 100%; }
.kalendarz-cta__back { display: block; padding: var(--space-3) 0; text-align: center; }
}
@media print {
.kalendarz-filters, .kalendarz-event-action, .kalendarz-cta { display: none !important; }
.kalendarz-event-card { break-inside: avoid; box-shadow: none; }
.kalendarz-page .section { padding-block: 1.5rem; }
}
