/* Compact photo catalogue inspired by the supplied KOH reservation reference. */
body.hymne-reservations-page { background: #e4e6df; color: #29312b; }
.hymne-reservations-page .about { min-height: 100vh; padding: 146px 24px 64px; background: #e4e6df; }
.hymne-reservations-page .about h2.about-floating-title { position: static; margin: 0 auto 10px; color: #29312b; font: 400 clamp(42px, 6vw, 66px)/1 Italiana, serif !important; letter-spacing: -.055em; text-align: center; }
.reservation-catalog-intro { margin: 0 auto 30px; color: #6e766e; font: 400 12px/1.6 Manrope, sans-serif; text-align: center; }
.hymne-reservations-page .about-frame { width: 100%; max-width: 1100px; margin: 0 auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.hymne-reservations-page .about-layout { display: block; margin: 0; padding: 0; }
.hymne-reservations-page .hymne-pricelist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: none; }
.hymne-reservations-page .hymne-pricelist__card { aspect-ratio: 3/4; border: 0; border-radius: 24px; box-shadow: none; background: #9da99a; overflow: hidden; }
.hymne-reservations-page .hymne-pricelist__card::after { background: linear-gradient(180deg, transparent 50%, #17281b30); }
.hymne-reservations-page .hymne-pricelist__image-wrap::after { display: none; }
.reservation-catalog-link { position: absolute; inset: 0; z-index: 2; color: #fff; text-decoration: none; border-radius: inherit; }
.reservation-catalog-link:focus-visible { outline: 3px solid #293f30; outline-offset: -4px; }
.hymne-reservations-page .hymne-pricelist__details { position: absolute; inset: auto 10px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 6px 10px; padding: 16px 14px; border: 1px solid #ffffff70; border-radius: 18px; background: #9ba69558; box-shadow: inset 0 1px 0 #ffffff25; backdrop-filter: blur(22px) saturate(.8); -webkit-backdrop-filter: blur(22px) saturate(.8); text-align: left; transition: background 180ms ease; }
.hymne-reservations-page .hymne-pricelist__details h3 { grid-column: 1; grid-row: 1; justify-self: start; max-width: none; margin: 0; color: #fff; font: 500 14px/1.4 Manrope, sans-serif; letter-spacing: -.025em; text-shadow: none; }
.hymne-reservations-page .hymne-pricelist__price { grid-column: 2; grid-row: 1; align-self: start; margin: 0; padding-top: 2px; color: #fff; font: 400 12px/1.5 Manrope, sans-serif; letter-spacing: -.025em; white-space: nowrap; }
.reservation-catalog-caption { grid-column: 1; grid-row: 2; color: #ffffffe0; font: 400 10px/1.4 Manrope, sans-serif; }
.reservation-catalog-arrow { grid-column: 2; grid-row: 2; justify-self: end; }
.reservation-catalog-arrow svg { width: 14px; height: 14px; }
.reservation-catalog-link:hover .hymne-pricelist__details { background: #8a99866e; }
@media(max-width: 900px) { .hymne-reservations-page .hymne-pricelist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 600px) {
  .hymne-reservations-page .about { padding: 118px 14px 106px; }
  .hymne-reservations-page .about h2.about-floating-title { font-size: 46px !important; }
  .reservation-catalog-intro { font-size: 11px; margin-bottom: 24px; }
  .hymne-reservations-page .hymne-pricelist { grid-template-columns: minmax(0, 1fr); gap: 14px; max-width: 440px; }
  .hymne-reservations-page .hymne-pricelist__card { aspect-ratio: 1/1.08; border-radius: 22px; }
  .hymne-reservations-page .hymne-pricelist__details { padding: 14px; border-radius: 16px; }
}
@media(prefers-reduced-motion: reduce) { .hymne-reservations-page .hymne-pricelist__details { transition: none; } }
