.marina-feature-pill--absent { color:var(--bs-secondary-color,#596b70); }
.marina-feature-pill--absent > .material-symbols-rounded { position:relative; }
.marina-feature-pill--absent > .material-symbols-rounded::after { content:""; position:absolute; left:-2px; top:50%; width:calc(100% + 4px); height:2px; background:currentColor; transform:rotate(-45deg); }
.marina-services__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.marina-services__groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem 2.5rem; margin-top:1.25rem; }
.marina-service-group h3, .marina-services__leisure h3 { font-size:1rem; margin:0 0 .75rem; font-weight:500; }
.marina-service-group-title { display:flex; align-items:flex-start; gap:.5rem; }
.marina-service-group-title > .material-symbols-outlined { flex:none; font-size:21px; line-height:1.3; color:rgba(var(--site-color-dark-rgb,56,62,66),.72); }
.marina-service-group dl { margin:0; display:grid; gap:.55rem; }
.marina-service-row { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:.2rem .5rem; align-items:start; font-size:.9rem; line-height:1.5; }
.marina-service-row dt { grid-column:2; grid-row:1; font-weight:400; }
.marina-service-row dd { margin:0; }
.marina-service-row .marina-service-marker { grid-column:1; grid-row:1; color:#568064; padding-top:2px; }
.marina-service-marker .material-symbols-outlined { font-size:17px; vertical-align:top; }
.marina-service-row .marina-service-marker--unknown { color:#758087; }
.marina-service-row .marina-service-marker--qualified { color:#ad620e; }
.marina-service-row .marina-service-marker--no { color:#bf4141; }
.marina-service-value { grid-column:3; grid-row:1; text-align:right; }
.marina-service-status { font-size:.85rem; color:var(--bs-secondary-color,#5c6875); }
.marina-service-note { margin:.35rem 0 0; font-size:.85rem; white-space:pre-line; overflow-wrap:anywhere; color:var(--bs-secondary-color,#5c6875); }
.marina-service-row .marina-service-note { grid-column:2 / -1; text-align:left; }
.marina-services__footnote { font-size:.85rem; color:var(--bs-secondary-color,#5c6875); margin:1rem 0; }
.marina-services__legacy { margin-top:1rem; font-size:.9rem; }
.marina-services__legacy summary { cursor:pointer; }
.marina-services__legacy p { margin-top:.6rem; }
.marina-services__mooring { margin-top:1.5rem; }
.marina-services__leisure { margin-top:1.5rem; padding:1.25rem; border-radius:1rem; background:var(--bs-tertiary-bg,#f3f7f6); }
.marina-services__leisure .marina-services__heading { margin-bottom:.85rem; }
.marina-services__leisure .marina-service-group dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 2rem; }
.marina-services-admin { display:grid; gap:.75rem; max-width:32rem; margin-top:1rem; }
#siteModalContent:has(> .marina-service-editor) { max-width:720px; }
.marina-service-editor { max-height:calc(100dvh - 3.5rem); }
.marina-service-editor .modal-header { gap:1rem; align-items:center; padding:1.25rem 1.5rem; }
.marina-service-editor .modal-title { flex:1; font-size:1.4rem; line-height:1.25; }
.marina-service-editor .btn-close { flex-shrink:0; }
.marina-service-editor form { display:flex; flex-direction:column; overflow:hidden; min-height:0; }
.marina-service-editor .modal-body { padding:1rem 1.5rem; overflow-y:auto; }
.marina-service-editor .modal-footer { flex-shrink:0; padding:1rem 1.5rem; }
.marina-service-policy { color:var(--bs-secondary-color,#63717a); font-size:.9rem; margin:0 0 1rem; }
.marina-service-search { margin:0 0 1rem; }
.marina-service-choice { display:block; min-width:0; margin:0; padding:.85rem 0; border:0; border-bottom:1px solid #e7ecee; }
.marina-service-choice__body { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:center; gap:.6rem 1rem; }
.marina-service-choice__body > span { font-size:.95rem; }
.marina-service-choice .marina-service-note { grid-column:1 / -1; margin:0; }
.marina-service-options { display:flex; gap:.5rem; }
.marina-service-options label { display:flex; align-items:center; justify-content:center; gap:.4rem; flex:1; padding:.5rem .25rem; border:1px solid #dce2e4; border-radius:.6rem; min-height:44px; cursor:pointer; font-size:.9rem; }
.marina-service-options label:has(input:checked) { background:#edf5f4; border-color:#42756f; color:#254f49; }
.marina-service-options label:focus-within { outline:2px solid #42756f; outline-offset:2px; }
.marina-service-options input { width:1rem; height:1rem; accent-color:#42756f; }
.marina-service-change-count { margin-right:auto; font-size:.85rem; color:var(--bs-secondary-color,#63717a); }
.marina-service-choice[hidden], [data-service-no-results][hidden] { display:none; }
@media(max-width:600px) {
    .marina-services__groups { grid-template-columns:1fr; gap:1.3rem; }
    .marina-services__leisure { padding:1rem; }
    .marina-services__leisure .marina-service-group dl { grid-template-columns:1fr; }
    .marina-service-editor { max-height:calc(100dvh - 1rem); }
    .marina-service-editor .modal-header, .marina-service-editor .modal-body, .marina-service-editor .modal-footer { padding:1rem; }
    .marina-service-editor .modal-footer { gap:.5rem; }
    .marina-service-change-count { flex-basis:100%; }
    .marina-service-choice__body { grid-template-columns:1fr; }
}

.marina-visit-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; align-items:start; }
.marina-visit-card { background:var(--bs-tertiary-bg,#f5f7f6); border-radius:1rem; min-width:0; }
.marina-visit-card[open] { grid-column:1 / -1; }
.marina-visit-card summary { display:flex; align-items:flex-start; gap:.65rem; padding:1rem; cursor:pointer; list-style:none; }
.marina-visit-card summary::-webkit-details-marker { display:none; }
.marina-visit-card summary:focus-visible { outline:2px solid #42756f; outline-offset:3px; border-radius:1rem; }
.marina-visit-card__icon, .marina-visit-card__chevron { flex:none; font-size:21px; color:#6b757a; }
.marina-visit-card--positive .marina-visit-card__icon { color:#568064; }
.marina-visit-card--negative .marina-visit-card__icon { color:#bf4141; }
.marina-visit-card--mixed .marina-visit-card__icon { color:#ad620e; }
.marina-visit-card__summary { display:grid; gap:.2rem; flex:1; min-width:0; }
.marina-visit-card__label { font-weight:500; }
.marina-visit-card__value { font-size:.95rem; }
.marina-visit-card__meta, .marina-visit-card__hint, .marina-visit-cards__freshness { font-size:.85rem; color:#626c70; }
.marina-visit-card__notice { font-size:.85rem; color:#955b19; }
.marina-visit-card[open] .marina-visit-card__chevron { transform:rotate(180deg); }
.marina-visit-card__body { padding:0 1rem 1rem; border-top:1px solid var(--bs-border-color,#e2e8e5); }
.marina-visit-card__caption { margin:1rem 0 .5rem; font-weight:500; }
.marina-visit-card__values { list-style:none; padding:0; margin:0; display:grid; gap:.3rem; }
.marina-visit-card__values li { display:flex; justify-content:space-between; gap:1rem; }
.marina-visit-card__history { list-style:none; padding:0; margin:0; }
.marina-visit-card__history > li { border-top:1px solid var(--bs-border-color,#e2e8e5); padding:.75rem 0; }
.marina-visit-card__history time { display:block; color:#626c70; margin-bottom:.4rem; }
.marina-visit-card__history blockquote { margin:.65rem 0 0; padding-left:.75rem; border-left:2px solid #c7d2cd; white-space:pre-line; overflow-wrap:anywhere; }
.marina-visit-card__note-label { display:block; color:#626c70; font-size:.8rem; }
.marina-visit-cards__freshness { margin:.8rem 0 0; }
@media(max-width:600px) { .marina-visit-cards { grid-template-columns:1fr; } }

.marina-visit-card__toggle { font-size:.8rem; color:#42756f; margin-top:.25rem; text-decoration:underline; text-underline-offset:3px; }
.marina-visit-card__hide, .marina-visit-card[open] .marina-visit-card__show { display:none; }
.marina-visit-card[open] .marina-visit-card__hide { display:inline; }

.marina-visit-update__disclosure > summary { cursor:pointer; list-style:none; grid-template-columns:minmax(0,1fr) auto auto; }
.marina-visit-update__disclosure > summary::-webkit-details-marker { display:none; }
.marina-visit-update__disclosure > summary:focus-visible { outline:2px solid #42756f; outline-offset:5px; border-radius:.5rem; }
.marina-visit-update__disclosure-arrow { font-size:22px; color:#626c70; }
.marina-visit-update__disclosure[open] .marina-visit-update__disclosure-arrow { transform:rotate(180deg); }
.marina-visit-update__content { padding-top:.7rem; }
@media(max-width:600px) { .marina-visit-update__disclosure > summary { grid-template-columns:minmax(0,1fr) auto; } .marina-visit-update__disclosure > summary .marina-visit-update__count { grid-column:1; } .marina-visit-update__disclosure-arrow { grid-column:2; grid-row:1; } }

[data-mooring-mode] .marina-service-choice__body { grid-template-columns:1fr; gap:.25rem; }
[data-mooring-mode] .marina-service-choice__body > label { display:flex; align-items:center; gap:.65rem; min-height:44px; cursor:pointer; }
[data-mooring-mode] .marina-service-choice__body > span { padding-left:1.65rem; font-size:.85rem; }
[data-mooring-mode] input[type="checkbox"], [data-mooring-mode] input[type="radio"] { width:1rem; height:1rem; flex-shrink:0; accent-color:#42756f; }
[data-mooring-mode] .marina-service-choice__body > label:has(input:disabled) { cursor:default; }
