.session-page { --christmas-green: var(--session-primary); --christmas-red: var(--session-accent); }
.session-kobiece { --session-primary: #693646; --session-accent: #345c55; --session-soft: #f1e7eb; }
.session-meskie { --session-primary: #343d42; --session-accent: #825041; --session-soft: #e9edeb; }
.session-pary { --session-primary: #7b404b; --session-accent: #385c58; --session-soft: #f2e8e6; }
.session-slubne { --session-primary: #40574b; --session-accent: #73555d; --session-soft: #e8eee7; }
.session-biznes { --session-primary: #254c5a; --session-accent: #755038; --session-soft: #e7edef; }
.session-eventy { --session-primary: #5f2e40; --session-accent: #225762; --session-soft: #ece7ed; }
.session-pasja { --session-primary: #3f5946; --session-accent: #8a472d; --session-soft: #e9ede3; }
.session-artystyczne { --session-primary: #31525a; --session-accent: #803b64; --session-soft: #eae6ee; }
.session-page .christmas-story { background: var(--session-soft); }
.session-page .christmas-ribbon img,
.session-page .christmas-package-photo img,
.session-page .christmas-story img { object-position: var(--session-focus, 50% 20%); }
.session-page .christmas-ribbon { grid-template-columns: .9fr 1.2fr .9fr; }
.session-page .christmas-hero h1 { overflow-wrap: break-word; }
.session-page .christmas-section-nav { flex-wrap: nowrap; justify-content: safe center; overflow-x: auto; white-space: nowrap; overscroll-behavior-x: contain; }
.session-page .christmas-package-price.is-quote strong { font-size: 36px; line-height: 1.2; }
.session-page .christmas-preparation-grid h3 { overflow-wrap: break-word; }
.session-page .christmas-faq-list details { border-top: 1px solid var(--line); }
.session-page .christmas-faq-list details:last-child { border-bottom: 1px solid var(--line); }
.session-page .christmas-faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
}
.session-page .christmas-faq-list summary::-webkit-details-marker { display: none; }
.session-page .christmas-faq-list summary img {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  transition: transform 200ms ease;
}
.session-page .christmas-faq-list details[open] summary img { transform: rotate(180deg); }
.session-page .christmas-faq-list details > p { margin: 0 0 26px; color: #635c56; }
.session-location-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.session-location-links a { font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.session-related { border-top: 1px solid var(--line); }
.session-related h2, .session-directory h2 { margin: 14px 0 32px; font: 500 56px/1.05 var(--font-display); letter-spacing: 0; }
.session-category-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; }
.session-category-links a { padding: 20px 0; border-top: 1px solid var(--line); font: 500 26px/1.15 var(--font-display); letter-spacing: 0; }
.session-category-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.session-category-links [aria-current="page"] { color: var(--session-primary); font-weight: 700; }
.session-directory { padding: 80px var(--edge); border-bottom: 1px solid var(--line); scroll-margin-top: 90px; }
.session-directory :focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
@media (max-width: 1100px) { .session-category-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .session-page .christmas-ribbon { grid-template-columns: 1fr 1.1fr; }
  .session-page .christmas-ribbon img { object-position: var(--session-mobile-focus, var(--session-focus, 50% 20%)); }
  .session-page .christmas-package-price.is-quote strong { font-size: 30px; }
  .session-related h2, .session-directory h2 { font-size: 40px; }
  .session-category-links { gap: 0 20px; }
  .session-category-links a { font-size: 23px; }
  .session-directory { padding-block: 56px; }
}
