.facility-detail {
    --facility-surface: #fff;
    --facility-soft: #f5f8f6;
    --facility-text: #233d32;
    --facility-muted: #63756c;
    --facility-line: #e1e9e4;
    --facility-green: #237347;
    padding: 8px clamp(8px, 2vw, 16px) 16px;
    color: var(--facility-text);
    width: 100%;
    min-width: 0;
}
.facility-detail, .facility-detail * { box-sizing: border-box; }
.facility-detail, .facility-detail :where(p, h2, h3, h4, span, strong, small, summary, button, input, li, a) { font-family: Montserrat, system-ui, sans-serif !important; }
.facility-detail h2 { font-size: .8rem; font-weight: 750; line-height: 1.3; margin: 0 0 8px; color: var(--facility-text); }
.facility-detail p { color: var(--facility-muted); font-size: .65rem; line-height: 1.6; margin: 0; }
.facility-detail__section { margin-top: 18px; }
.facility-detail__section-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px; }
.facility-detail h3 { margin: 0 0 5px; font-size: .8rem; line-height: 1.4; font-weight: 700; color: var(--facility-text); }
.facility-detail h3 span { font-size: .6rem; display: inline-block; padding: 2px 7px; border-radius: 6px; background: var(--facility-soft); color: var(--facility-muted); vertical-align: middle; }
.facility-detail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.facility-detail__card { min-width: 0; margin: 0; border: 1px solid var(--facility-line); border-radius: 14px; background: var(--facility-surface); overflow: hidden; }
.facility-detail__summary { display: flex; align-items: center; gap: 9px; list-style: none; cursor: pointer; padding: 12px; min-height: 76px; }
.facility-detail summary::-webkit-details-marker { display: none; }
.facility-detail summary::marker { content: ''; }
.facility-detail__summary:hover { background: var(--facility-soft); }
.facility-detail summary:focus-visible, .facility-detail__photo:focus-visible { outline: 3px solid var(--facility-green); outline-offset: -3px; }
.facility-detail__icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: 12px; background: var(--facility-soft); color: var(--facility-green); font-size: .8rem; }
.facility-detail__title { min-width: 0; flex: 1; }
.facility-detail__title strong { display: block; color: var(--facility-text); font-size: .7rem; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.facility-detail__title small { display: block; color: var(--facility-muted); font-size: .55rem; line-height: 1.6; margin-top: 3px; }
.facility-detail__title small:empty { display: none; }
.facility-detail__price { flex-shrink: 0; padding: 4px 8px; border-radius: 6px; color: #286243; background: #eaf5ee; font-size: .55rem; font-weight: 650; }
.facility-detail__price--paid { color: #8b5d12; background: #fcf3df; }
.facility-detail__chevron { color: var(--facility-muted); font-size: .5rem; transition: transform .15s ease; }
.facility-detail__card[open] > .facility-detail__summary .facility-detail__chevron { transform: rotate(180deg); }
.facility-detail__summary--static { cursor: default; }
.facility-detail__summary--static:hover { background: transparent; }
.facility-detail__content { border-top: 1px solid var(--facility-line); padding: 12px; }
.facility-detail h4 { margin: 0 0 10px; color: var(--facility-text); font-size: .7rem; font-weight: 700; }
.facility-detail__description { color: var(--facility-muted); font-size: .65rem; line-height: 1.75; overflow-wrap: anywhere; overflow-x: auto; }
.facility-detail__description p { margin-bottom: 10px; }
.facility-detail__description :last-child { margin-bottom: 0; }
.facility-detail__description ul, .facility-detail__description ol { padding-left: 22px; margin: 8px 0; }
.facility-detail__description ul { list-style: disc; }
.facility-detail__description ol { list-style: decimal; }
.facility-detail__description li { list-style: inherit; }
.facility-detail__description a { color: var(--facility-green); text-decoration: underline; }
.facility-detail__description td, .facility-detail__description th { padding: 6px; border: 1px solid var(--facility-line); }
.facility-detail__gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; margin-top: 14px; }
.facility-detail__gallery--overview { display: flex; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
.facility-detail__photo { display: block; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: var(--facility-soft); aspect-ratio: 4 / 3; cursor: zoom-in; }
.facility-detail__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.facility-detail__gallery--overview .facility-detail__photo { flex: 0 0 148px; scroll-snap-align: start; }
.facility-detail__reviews { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--facility-line); }
.facility-detail__reviews > summary { color: var(--facility-green); font-size: .6rem; font-weight: 650; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; }
.facility-detail__reviews > summary i { font-size: .5rem; }
.facility-detail__reviews .card { margin-left: 0 !important; margin-right: 0 !important; }
.facility-detail__reviews .card-body { padding: 12px 0; }
.facility-detail__reviews .rating .star { font-size: .8rem !important; margin-right: 4px !important; }
.facility-detail__reviews input[type=text] { font-size: .8rem !important; min-height: 44px; }
.facility-detail__reviews button[type=submit] { min-height: 44px; min-width: 70px; }
.facility-detail .facility-detail__empty { padding: 20px; border: 1px dashed var(--facility-line); border-radius: 12px; }
.facility-detail .facility-detail__note { display: flex; align-items: baseline; gap: 8px; margin-top: 24px; font-size: .6rem; }
[data-bs-theme=dark] .facility-detail, body.dark-mode .facility-detail, body.darkmode .facility-detail { --facility-surface: #17221d; --facility-soft: #1e2c24; --facility-text: #e7f0eb; --facility-muted: #afc0b5; --facility-line: #314638; --facility-green: #8acaa3; }
body.dark-mode .facility-detail span, body.darkmode .facility-detail span { color: inherit !important; }
body.dark-mode .facility-detail__price, body.darkmode .facility-detail__price { background: #284133; color: #a6dfba !important; }
body.dark-mode .facility-detail__price--paid, body.darkmode .facility-detail__price--paid { background: #473b24; color: #e9cc92 !important; }
@media (max-width: 640px) {
    .facility-detail__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .facility-detail__summary { padding: 14px 12px; gap: 9px; }
    .facility-detail__icon { width: 34px; height: 34px; font-size: .75rem; }
    .facility-detail__title strong { font-size: .65rem; }
    .facility-detail__price { font-size: .5rem; padding: 4px 6px; }
    .facility-detail__content { padding: 14px; }
    .facility-detail__gallery--overview .facility-detail__photo { flex-basis: 124px; }
}
@media (prefers-reduced-motion: reduce) { .facility-detail__chevron { transition: none; } }

/* Bound typography even in editor HTML and asynchronously loaded comment partials. */
.facility-detail, .facility-detail * { font-size: .7rem !important; }
.facility-detail h2, .facility-detail h3 { font-size: .8rem !important; }
.facility-detail :is(small, .facility-detail__price, .facility-detail__metrics, .facility-detail__metrics *, .facility-detail__slide small) { font-size: .6rem !important; }
.facility-detail__showcase { padding: 12px; background: var(--facility-soft); border: 1px solid var(--facility-line); border-radius: 14px; }
.facility-detail__showcase h2 { margin:0 0 4px; }
.facility-detail__slider-controls { display:flex;gap:4px; }
.facility-detail__slider-controls button { display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--facility-line);border-radius:50%;background:var(--facility-surface);color:var(--facility-text);cursor:pointer; }
.facility-detail__slider { display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 8px; }
.facility-detail__slide { flex:0 0 142px;min-width:0;scroll-snap-align:start;background:var(--facility-surface);border:1px solid var(--facility-line);border-radius:11px;overflow:hidden;color:var(--facility-text);text-decoration:none; }
.facility-detail__slide-image { position:relative;display:grid;place-items:center;height:84px;background:var(--facility-line);color:var(--facility-green); }
.facility-detail__slide-image img { width:100%;height:84px;object-fit:cover; }
.facility-detail__slide-image>.facility-detail__price { position:absolute;bottom:5px;right:5px; }
.facility-detail__slide>strong { display:block;padding:8px 9px 2px;overflow-wrap:anywhere; }
.facility-detail__slide>small { display:block;padding:0 9px 9px;color:var(--facility-muted); }
.facility-detail__slide:hover { border-color:var(--facility-green); }
.facility-detail__metrics { display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:5px;color:var(--facility-muted);font-weight:500; }
.facility-detail__score { display:inline-flex;align-items:center;gap:4px; }
.facility-detail__stars { display:inline-flex;gap:1px;color:#b97a13; }
.facility-detail__card[open] { border-color:var(--facility-green); }
.facility-detail__card { scroll-margin-top:80px;box-shadow:0 3px 12px #122b1e04; }
.facility-detail :focus-visible { outline:2px solid var(--facility-green);outline-offset:-2px; }
.facility-detail__reviews .card { background:var(--facility-surface)!important;color:var(--facility-text); }
.facility-detail__reviews input { background:var(--facility-soft);color:var(--facility-text);border-color:var(--facility-line); }
:is(body.dark-mode, body.darkmode, [data-bs-theme=dark]) .facility-detail .facility-detail__stars { color:#edbe6c!important; }
:is(body.dark-mode, body.darkmode, [data-bs-theme=dark]) .facility-detail__price { background:#284133;color:#a6dfba!important; }
:is(body.dark-mode, body.darkmode, [data-bs-theme=dark]) .facility-detail__price--paid { background:#473b24;color:#e9cc92!important; }
@media(max-width:640px) { .facility-detail__showcase{padding:10px}.facility-detail__slide{flex-basis:124px}.facility-detail__summary{padding:12px 10px}.facility-detail__price{padding:4px 5px}.facility-detail__metrics{gap:3px 7px} }
