/* Original Location composition, translated to the 2027 palette. */
.location-main{width:min(calc(1280 * var(--komkon-font-unit)),90%);margin-inline:auto;padding:72px 0 64px;color:#24463b}
.location-heading{text-align:center;margin-bottom:52px}
.location-heading h1{max-width:none;font-size:clamp(calc(38 * var(--komkon-font-unit)),4vw,calc(50 * var(--komkon-font-unit)));line-height:1.2;color:var(--komkon-green);text-wrap:balance}
.location-heading h2{font-size:calc(26 * var(--komkon-font-unit));line-height:1.2;margin:14px 0 0;color:var(--komkon-green)}
.location-description,.location-address,.location-parking{text-align:center;text-wrap:balance;margin-inline:auto}
.location-description{max-width:100ch;font-size:calc(21 * var(--komkon-font-unit));line-height:1.45;margin-top:0;margin-bottom:28px}
.location-address{font-size:calc(21 * var(--komkon-font-unit));line-height:1.45;margin-top:0;margin-bottom:28px}
.location-parking{max-width:calc(1160 * var(--komkon-font-unit));font-size:calc(18 * var(--komkon-font-unit));line-height:1.45;margin-top:0;margin-bottom:28px}
.location-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-bottom:54px}
.location-page #main-content .location-actions a.location-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--komkon-green);border-radius:3px;min-height:48px;padding:10px 24px;margin:0;font-size:calc(19 * var(--komkon-font-unit));font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.location-page #main-content .location-actions a.location-action::after{content:none}
.location-action svg{flex-shrink:0}
.location-action-outline{color:var(--komkon-green);background:transparent}
.location-action-solid{color:var(--komkon-cream);background:var(--komkon-green)}
.location-page #main-content .location-actions a.location-action:is(:hover,:focus-visible){background:var(--komkon-signal);border-color:var(--komkon-signal);color:var(--komkon-cream)}
.location-photo{margin:0}
.location-photo-filter{position:absolute;pointer-events:none}
.location-photo-link{position:relative;isolation:isolate;border-radius:4px;background:var(--komkon-green)}
.location-photo-link img{display:block;width:100%;height:auto;aspect-ratio:1200/743;object-fit:cover;transition:transform 1.2s ease,opacity 1.2s ease}
.location-photo-link .location-photo-duotone{position:absolute;inset:0;filter:url(#location-duotone);opacity:1;pointer-events:none}
.location-photo-link:is(:hover,:focus-visible) img{transform:scale(1.025)}
.location-photo-link:is(:hover,:focus-visible) .location-photo-duotone{opacity:0}
.location-photo figcaption{text-align:right;margin-top:16px;font-size:calc(14 * var(--komkon-font-unit));line-height:1.4}
@media(max-width:760px){
 .location-main{width:calc(100% - 48px);padding:112px 0 48px}
 .location-heading{margin-bottom:32px}
 .location-heading h1{font-size:calc(38 * var(--komkon-font-unit))}
 .location-heading h2{font-size:calc(24 * var(--komkon-font-unit));margin-top:10px}
 .location-description,.location-address{font-size:calc(19 * var(--komkon-font-unit));margin-bottom:24px}
 .location-parking{font-size:calc(17 * var(--komkon-font-unit));margin-bottom:26px}
 .location-parking br{display:none}
 .location-actions{gap:12px;margin-bottom:32px}
 .location-page #main-content .location-actions a.location-action{padding:10px 18px}
 .location-photo figcaption{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
 .location-page #main-content .location-actions a.location-action{transition:none}
 .location-photo-link:is(:hover,:focus-visible) img{transform:none}
}
