[data-cms-field] { overflow-wrap: anywhere; }
#mobile-navigation { max-height: calc(100svh - 4.5rem); overflow-y: auto; }
.cms-menu-open svg { transform: rotate(90deg); }
.cms-more { position: relative; font-size: .875rem; color: var(--muted-foreground); }
.cms-more summary { cursor: pointer; white-space: nowrap; }
.cms-more summary:hover, .cms-more[open] summary { color: var(--gold); }
.cms-more nav { position: absolute; right: 0; top: calc(100% + 1rem); min-width: 210px; max-height: 65vh; overflow-y: auto; border: 1px solid var(--border); background: var(--background); padding: .5rem; box-shadow: 0 12px 32px #0008; }
.cms-more-link { display: block; padding: .8rem; border-radius: .25rem; }
.cms-more-link:hover { color: var(--gold); background: var(--muted); }
.cms-paragraph { white-space: pre-line; overflow-wrap: anywhere; }
.cms-custom-section { display: grid; align-items: center; gap: 2.5rem; }
.cms-custom-section:has(.cms-section-image) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
.cms-section-image { display: block; width: 100%; max-height: 520px; object-fit: contain; border-radius: .375rem; }
.cms-action { display: inline-flex; align-items: center; justify-content: center; margin-top: 1.5rem; padding: .8rem 1.25rem; background: var(--gold); color: var(--background); font-weight: 600; border-radius: .25rem; }
[data-cms-selected] { outline: 2px solid #d1aa58 !important; outline-offset: 4px; }
@media (max-width: 767px) { .cms-custom-section:has(.cms-section-image) { grid-template-columns: 1fr; } }
