/* Morskaya Rybalka shared visual foundation. */
/* Stage 8 color foundation. Merge once with typography-spacing.candidate.css.
   Existing owned stage CSS uses these tokens after the supplied migrations.
   No widget/player selectors or media/icon recoloring. */
:root {
  --mr-color-primary: #1267c5;
  --mr-color-primary-hover: #0f58a8;
  --mr-color-link: var(--mr-color-primary);
  --mr-color-link-hover: var(--mr-color-primary-hover);
  --mr-color-heading: #0a2540;
  --mr-color-text: #25394c;
  --mr-color-text-muted: #526475;
  --mr-color-surface: #ffffff;
  --mr-color-surface-subtle: #eef5fc;
  --mr-color-surface-hover: #e6f1ff;
  --mr-color-border: #d5dee8;
  --mr-color-control-border: #7b8da3;
  --mr-color-on-primary: #ffffff;
  --mr-color-on-primary-muted: #e6f1ff;
  --mr-color-footer-bg: #1264b0;
  --mr-color-focus: #082f5b;
  --mr-color-focus-gap: #ffffff;
  --mr-color-danger: #b42318;
  --mr-color-danger-surface: #fff1f0;
  --mr-color-success: #137c3a;
  --mr-color-success-surface: #edf8f0;
  --mr-color-warning: #8a5a12;
  --mr-color-warning-surface: #fff7e6;
  --mr-color-disabled-text: #526475;
  --mr-color-disabled-surface: #eef2f7;
  --mr-color-accent-decorative: #1577e5;
  --mr-color-accent-gold: #d2a24c;
  --mr-color-action-wa: #137c3a;
  --mr-color-action-wa-hover: #106a32;
  --mr-color-action-tg: #0875a7;
  --mr-color-action-tg-hover: #06648f;
  --mr-color-action-max: linear-gradient(135deg, #6842d7, #8640bd);
  --mr-color-action-max-hover: linear-gradient(135deg, #5935c2, #7433a8);
  --mr-color-shadow: rgba(20, 40, 70, .16);
  --mr-color-on-primary-wash: rgba(255, 255, 255, .10);

  /* Compatibility aliases: one source of values for existing owned components. */
  --mr-ui-blue: var(--mr-color-primary);
  --mr-ui-blue-hover: var(--mr-color-primary-hover);
  --mr-ui-footer: var(--mr-color-footer-bg);
  --mr-ui-footer-muted: var(--mr-color-on-primary-muted);
  --mr-ui-wa: var(--mr-color-action-wa);
  --mr-ui-wa-hover: var(--mr-color-action-wa-hover);
  --mr-ui-tg: var(--mr-color-action-tg);
  --mr-ui-tg-hover: var(--mr-color-action-tg-hover);
  --mr-ui-max: var(--mr-color-action-max);
  --mr-ui-max-hover: var(--mr-color-action-max-hover);
  --mr-accent: var(--mr-color-accent-decorative);
  --mr-accent-ink: var(--mr-color-link-hover);
  --mr-ink: var(--mr-color-heading);
  --mr-text: var(--mr-color-text);
  --mr-muted: var(--mr-color-text-muted);
}

/* Plain navigation/text links. Media cards and branded/image buttons are separate. */
body .container > .content :is(nav.breadcrumbs, .breadcrumbs, .section-nav) a[href],
body .container > .content :is(nav.breadcrumbs, .breadcrumbs, .section-nav) a[href] > span,
body .container > .content :is(.member-menu, .block-user, .block-profile) a[href]:not(.button),
body [data-mr-ui-form-modal] .popup-holder .links a,
body .container > .content .mr-dirs a[href],
body .container > .content :is(.sidebar .list, .list-tags, .tags-cloud) a[href],
body .container > .content .text :is(p, li, td) > a[href]:not(.vcard, .mrd-t, .btn, .hbtn, .cat-map-ctl-btn):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
body .container > .content :is(.legal-page, .steps-note, .list-comments .username, .block-user .username) a[href],
body .container > .content :is(.list-comments a.username, .block-user a.username, .text a.username):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
body .container > .content .page-toc a[href] {
  color: var(--mr-color-link) !important;
}
body .container > .content :is(nav.breadcrumbs, .breadcrumbs, .section-nav) a[href]:is(:hover, :active),
body .container > .content :is(nav.breadcrumbs, .breadcrumbs, .section-nav) a[href]:is(:hover, :active) > span,
body .container > .content :is(.member-menu, .block-user, .block-profile) a[href]:not(.button):is(:hover, :active),
body [data-mr-ui-form-modal] .popup-holder .links a:is(:hover, :active),
body .container > .content .mr-dirs a[href]:is(:hover, :active),
body .container > .content :is(.sidebar .list, .list-tags, .tags-cloud) a[href]:is(:hover, :active),
body .container > .content .text :is(p, li, td) > a[href]:not(.vcard, .mrd-t, .btn, .hbtn, .cat-map-ctl-btn):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)):is(:hover, :active),
body .container > .content :is(.legal-page, .steps-note, .list-comments .username, .block-user .username) a[href]:is(:hover, :active),
body .container > .content :is(.list-comments a.username, .block-user a.username, .text a.username):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)):is(:hover, :active),
body .container > .content .page-toc a[href]:is(:hover, :active) {
  color: var(--mr-color-link-hover) !important;
}
body .container > .content :is(.breadcrumbs .bc-current, .breadcrumbs .bc-sep, .section-nav .count,
  .list-videos .yt-meta, .list-albums .wrap.meta-compact, .list-comments .added,
  .video-info .block-details .item, .album-info .block-details .item) {
  color: var(--mr-color-text-muted) !important;
}
body .container > .content > .headline :is(h1, h2),
body .container > .content .main-container > .headline :is(h1, h2),
body .container > .content .main-container-user > div[id^="list_"] > .headline :is(h1, h2),
body .container > .content :is(.related-videos, .related-albums) > :is(h2, .headline),
body .container > .content :is(.list-videos, .list-albums, .list-categories, .list-members) .item .title {
  color: var(--mr-color-heading) !important;
}
body .container > .content :is(.list-videos, .list-albums, .list-categories, .list-members) .item:hover .title {
  color: var(--mr-color-link) !important;
}
body .container > .content .text > p,
body .container > .content .legal-page,
body .container > .content :is(.video-info, .album-info) .block-details .info,
body .container > .content .list-comments .comment-text {
  color: var(--mr-color-text) !important;
}
body .container > .content :is(.list-videos, .list-albums, .list-categories, .list-members) .item {
  border-color: var(--mr-color-border) !important;
}

/* Shared controls: the same selected, default and hover roles across page types. */
body .container > .content .sort,
body .container > .content .sort :is(strong, a),
body .container > .content .tabs-menu a.toggle-button {
  color: var(--mr-color-text) !important;
  background-color: var(--mr-color-surface-subtle) !important;
}
body .container > .content .sort.mr-sort-enhanced > ul,
body .container > .content .sort.mr-sort-enhanced > ul :is(a, button) {
  color: var(--mr-color-text) !important;
  background: var(--mr-color-surface) !important;
}
body .container > .content .sort.mr-sort-enhanced > ul :is(a, button):is(:hover, :focus-visible),
body .container > .content .tabs-menu a.toggle-button:hover {
  color: var(--mr-color-heading) !important;
  background: var(--mr-color-surface-hover) !important;
}
body .container > .content .pagination .page-current > span[aria-current="page"],
body .container > .content .tabs-menu a.toggle-button:is(.active, [aria-selected="true"]) {
  color: var(--mr-color-on-primary) !important;
  background: var(--mr-color-primary) !important;
}

/* Contact page local tokens now point to the same foundation. Branded icon
   inline colors, photo overlays and the MAX gradient keep their own roles. */
body .container > .content .ct-conv {
  --blue: var(--mr-color-link);
  --ink: var(--mr-color-heading);
  --body: var(--mr-color-text);
  --mut: var(--mr-color-text-muted);
  --line: var(--mr-color-border);
  --panel: var(--mr-color-surface-subtle);
  --gold: var(--mr-color-accent-gold);
}

/* Public forms share ordinary site colors. Popup hosts are identified by the
   existing public form IDs; foreign dialogs and the image gallery are excluded. */
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.textfield, .textarea, select),
body [data-mr-ui-form-modal] .popup-holder form :is(.textfield, .textarea, select) {
  color: var(--mr-color-text) !important;
  background: var(--mr-color-surface) !important;
  border-color: var(--mr-color-control-border) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.textfield, .textarea)::placeholder,
body [data-mr-ui-form-modal] .popup-holder form :is(.textfield, .textarea)::placeholder {
  color: var(--mr-color-text-muted) !important;
  opacity: 1;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.field-label, label),
body [data-mr-ui-form-modal] .popup-holder form :is(.field-label, label) {
  color: var(--mr-color-text) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.submit, input[type="submit"]),
body [data-mr-ui-form-modal] .popup-holder form :is(.submit, input[type="submit"]) {
  color: var(--mr-color-on-primary) !important;
  background: var(--mr-color-primary) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.submit, input[type="submit"]):not(:disabled):hover,
body [data-mr-ui-form-modal] .popup-holder form :is(.submit, input[type="submit"]):not(:disabled):hover {
  color: var(--mr-color-on-primary) !important;
  background: var(--mr-color-primary-hover) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.field-error, .generic-error),
body [data-mr-ui-form-modal] .popup-holder form :is(.field-error, .generic-error),
body .container > .content .page-error {
  color: var(--mr-color-danger) !important;
  border-color: var(--mr-color-danger) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.generic-success, .success),
body [data-mr-ui-form-modal] .popup-holder form :is(.generic-success, .success) {
  color: var(--mr-color-success) !important;
}
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.textfield, .textarea, select, .submit):disabled,
body [data-mr-ui-form-modal] .popup-holder form :is(.textfield, .textarea, select, .submit):disabled {
  color: var(--mr-color-disabled-text) !important;
  background: var(--mr-color-disabled-surface) !important;
  border-color: var(--mr-color-border) !important;
}
body .container > .content .mr-empty-note,
body .container > .content .mr-search-empty {
  color: var(--mr-color-text) !important;
  background: var(--mr-color-surface-subtle) !important;
  border-color: var(--mr-color-primary) !important;
}
body .container > .content :is(.mr-dirs a[href], .page-toc a[href], .tabs-menu a.toggle-button):focus-visible,
body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.textfield, .textarea, select, .submit):focus-visible,
body [data-mr-ui-form-modal] .popup-holder :is(a, input, textarea, select, button):focus-visible {
  outline: 3px solid var(--mr-color-focus) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--mr-color-focus-gap) !important;
}
@media (forced-colors: active) {
  body .container > .content :is(.mr-dirs a[href], .page-toc a[href], .tabs-menu a.toggle-button):focus-visible,
  body .container > .content :is(.block-comments, .block-share, .block-flagging, .sidebar) form :is(.textfield, .textarea, select, .submit):focus-visible,
  body [data-mr-ui-form-modal] .popup-holder :is(a, input, textarea, select, button):focus-visible {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
}

/* Existing public profile action buttons use the same primary action role. */
body .container > .content :is(.main-container-user, .member-menu) a.button,
body .container > .content :is(.main-container-user, .member-menu) a.button > span {
  color: var(--mr-color-on-primary) !important;
  background-color: var(--mr-color-primary) !important;
}
body .container > .content :is(.main-container-user, .member-menu) a.button:hover,
body .container > .content :is(.main-container-user, .member-menu) a.button:hover > span {
  color: var(--mr-color-on-primary) !important;
  background-color: var(--mr-color-primary-hover) !important;
}
body [data-mr-ui-form-modal] .popup-title {
  color: var(--mr-color-heading) !important;
}

/* Stage 8 preview candidate. Load after the existing site UI styles.
   Keep the 62.5% html root, self-hosted Roboto, icon fonts and media UI. */
:root {
  --mr-font-family: 'Roboto', Arial, Helvetica, sans-serif;
  --mr-font-h1: 36px;
  --mr-font-detail-title: 30px;
  --mr-font-h2: 28px;
  --mr-font-h3: 20px;
  --mr-font-body: 16px;
  --mr-font-support: 14px;
  --mr-font-compact: 12px;
  --mr-font-dialog-title: 24px;
  --mr-font-line-body: 1.5;
  --mr-font-line-support: 1.42857143;
  --mr-font-line-title: 1.2;
  --mr-space-1: 4px;
  --mr-space-2: 8px;
  --mr-space-3: 12px;
  --mr-space-4: 16px;
  --mr-space-5: 24px;
  --mr-space-6: 32px;
  --mr-space-7: 48px;
  --mr-radius-small: 8px;
  --mr-radius-control: 12px;
  --mr-radius-card: 16px;
  --mr-radius-hero: 20px;
  --mr-radius-pill: 999px;
  --mr-control-height: 44px;
  --mr-control-height-large: 52px;
  --mr-shadow-card: none;
  --mr-shadow-card-hover: 0 8px 24px rgb(18 44 86 / 12%);
}

/* Page titles, including the five cached public profile sections. */
.container > .content .headline > h1,
.container > .content .main-container > h1.page-error,
.main-container-user :is(#list_videos_uploaded_videos, #list_albums_created_albums,
  #list_members_friends, #list_videos_favourite_videos, #list_albums_favourite_albums) > .headline > h1 {
  font-size: var(--mr-font-h1) !important;
  font-weight: 700 !important;
  line-height: var(--mr-font-line-title) !important;
}
.container > .content:has(.block-video, .block-album) > .headline > h1 {
  font-size: var(--mr-font-detail-title) !important;
}

/* Content hierarchy. Compact TOC and sidebar labels remain component labels. */
.container > .content .headline > h2,
.container > .content .main-container .list-videos + .headline > h2,
.container > .content .main-container .list-albums + .headline > h2,
.container > .content .related-videos > h2,
.container > .content .related-albums > h2,
.container > .content > .box > h2,
.container > .content .info-section-title,
.container > .content .block-comments > h2,
.container > .content .block-comments > form > h2,
.container > .content > .text h2:not(.page-toc-title):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .cat-section h2:not(.page-toc-title):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .legal-page h2 {
  font-size: var(--mr-font-h2) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.container > .content .headline > h3,
.container > .content > .text h3:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .cat-section h3:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .legal-page h3 {
  font-size: var(--mr-font-h3) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.container > .content > .text :is(p, li):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .cat-section :is(p, li):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .legal-page,
.container > .content .legal-page li,
.container > .content.is-category .text .faq .faq-a {
  font-size: var(--mr-font-body) !important;
  line-height: var(--mr-font-line-body) !important;
}
.container > .content .legal-page :is(.legal-meta, .legal-requisites) {
  font-size: var(--mr-font-support) !important;
  line-height: var(--mr-font-line-support) !important;
}
.container > .content > .text h2:not(.page-toc-title):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .cat-section h2:not(.page-toc-title):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .legal-page h2 {
  margin-top: var(--mr-space-6) !important;
  margin-bottom: var(--mr-space-4) !important;
}
.container > .content > .text p:not(.mr-tcap):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .cat-section p:not(.mr-tcap):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
.container > .content .legal-page > p:not(.legal-meta) {
  margin-bottom: var(--mr-space-4) !important;
}

/* Same list card anatomy for tours and albums; preserve two-line titles and 16:10 media. */
.container > .content :is(.list-videos, .list-albums) .item {
  border-radius: var(--mr-radius-card) !important;
  box-shadow: var(--mr-shadow-card) !important;
}
.container > .content :is(.list-videos, .list-albums) .item .img {
  border-radius: var(--mr-radius-card) var(--mr-radius-card) 0 0 !important;
}
.container > .content :is(.list-videos, .list-albums) .item .title {
  font-size: var(--mr-font-body) !important;
  line-height: 1.375 !important;
  padding: var(--mr-space-4) var(--mr-space-4) 0 !important;
}
.container > .content .list-videos .item > a > .wrap:not(.yt-wrap-hidden),
.container > .content .list-albums .item .wrap.meta-compact {
  padding: var(--mr-space-3) var(--mr-space-4) var(--mr-space-4) !important;
  gap: var(--mr-space-2) !important;
  font-size: var(--mr-font-support) !important;
  line-height: var(--mr-font-line-support) !important;
}
.container > .content .list-videos .item .yt-meta,
.container > .content .list-albums .item .meta-compact :is(.photos, .added, em) {
  font-size: var(--mr-font-support) !important;
  line-height: var(--mr-font-line-support) !important;
}
@media (hover: hover) {
  .container > .content :is(.list-videos, .list-albums) .item:hover {
    box-shadow: var(--mr-shadow-card-hover) !important;
  }
}

/* Compact navigation remains secondary, with a legible common support size. */
.container > .content .mr-dir-name,
.container > .content .mr-dir-list li a,
.container > .content .sidebar .headline .sidebar-browse {
  font-size: var(--mr-font-support) !important;
  line-height: var(--mr-font-line-support) !important;
}
.container > .content :is(.breadcrumbs, .breadcrumbs a, .breadcrumbs span),
.ct-conv .ct-crumb {
  font-size: var(--mr-font-support) !important;
  line-height: var(--mr-font-line-support) !important;
}
.container > .content .sort,
.container > .content .sort > :is(a, strong),
.container > .content .sort > ul :is(a, button) {
  font-size: var(--mr-font-support) !important;
  line-height: 20px !important;
}
.container > .content .sort {
  min-height: var(--mr-control-height);
  box-sizing: border-box;
  padding-block: var(--mr-space-3) !important;
}
.container > .content .pagination :is(a, span) {
  font-size: var(--mr-font-support) !important;
  line-height: 20px !important;
  min-height: var(--mr-control-height);
  box-sizing: border-box;
  border-radius: var(--mr-radius-control) !important;
}
.container > .content .sort,
.container > .content .sort.mr-sort-enhanced:not(.mr-sort-open) {
  border-radius: var(--mr-radius-control) !important;
}
.container > .content .sort.mr-sort-enhanced.mr-sort-open:not(.mr-sort-above) {
  border-radius: var(--mr-radius-control) var(--mr-radius-control) 0 0 !important;
}
.container > .content .sort.mr-sort-enhanced.mr-sort-open.mr-sort-above {
  border-radius: 0 0 var(--mr-radius-control) var(--mr-radius-control) !important;
}
.container > .content .sort.mr-sort-enhanced > ul {
  border-radius: 0 0 var(--mr-radius-control) var(--mr-radius-control) !important;
}
.container > .content .sort.mr-sort-enhanced.mr-sort-above > ul {
  border-radius: var(--mr-radius-control) var(--mr-radius-control) 0 0 !important;
}

/* Shared CTA typography and shape. Large hero/contact controls keep a distinct size. */
.header .hero-pills a.hpill,
.footer .footer-cta-buttons a.footer-btn.footer-btn,
body .mr-cta-bar a.mr-cta,
.mr-pchead a.mr-pch-contact,
#mr-mobtop a.mr-mobtop-c,
.container > .content .ct-conv a.hbtn {
  font-size: var(--mr-font-support) !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  border-radius: var(--mr-radius-control) !important;
  min-height: var(--mr-control-height) !important;
}
.header .hero-pills a.hpill,
.container > .content .ct-conv a.hbtn {
  height: var(--mr-control-height-large) !important;
}
.footer .footer-cta-buttons a.footer-btn.footer-btn,
body .mr-cta-bar a.mr-cta {
  height: var(--mr-control-height) !important;
}
.container > .content .main-container-user .headline > a.button {
  min-height: var(--mr-control-height) !important;
  height: auto !important;
  font-size: var(--mr-font-support) !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  padding: var(--mr-space-3) var(--mr-space-4) !important;
  box-sizing: border-box;
  border-radius: var(--mr-radius-control) !important;
}
.container > .content .main-container-user .headline > a.button > span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Directory and community cards use the same title/support hierarchy. */
.container > .content .list-categories .item {
  border-radius: var(--mr-radius-card) !important;
}
.container > .content .list-categories .item :is(strong.title, .title),
.container > .content .list-members .item :is(.title, .title strong) {
  font-size: var(--mr-font-body) !important;
  font-weight: 700 !important;
  line-height: 22px !important;
}
.container > .content .list-categories .item .wrap,
.container > .content .list-categories .item .wrap :is(.videos, .albums, .rating),
.container > .content .list-members .item :is(.added, .added em) {
  font-size: var(--mr-font-support) !important;
  line-height: 20px !important;
}
.container > .content .list-categories .item .wrap {
  flex-wrap: wrap !important;
  gap: var(--mr-space-1) var(--mr-space-2) !important;
}

/* Existing editorial tables, disclosure panels and public empty states. */
.container > .content.is-category .text .faq summary {
  font-size: var(--mr-font-body) !important;
  line-height: var(--mr-font-line-body) !important;
  padding: var(--mr-space-4) !important;
}
.container > .content.is-category .text .faq .faq-a {
  padding: 0 var(--mr-space-4) var(--mr-space-4) !important;
}
.container > .content > .text table th,
.container > .content .cat-section table th {
  font-size: var(--mr-font-compact) !important;
  line-height: 1.5 !important;
}
.container > .content > .text table td,
.container > .content .cat-section table td {
  font-size: var(--mr-font-body) !important;
  line-height: var(--mr-font-line-body) !important;
}
.container > .content :is(.empty-content, .mr-empty-note, .mr-search-empty):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)) {
  font-size: var(--mr-font-body) !important;
  line-height: var(--mr-font-line-body) !important;
}
.container > .content :is(#list_videos_videos_list_search_result, #list_albums_albums_list_search_result) > .mr-search-empty {
  margin: var(--mr-space-4) 0 var(--mr-space-5);
  padding: var(--mr-space-4);
  border-radius: var(--mr-radius-small);
}

/* Public native popup forms only. No club forms, widget, captcha or image dialogs. */
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner > .popup-title {
  font-size: var(--mr-font-dialog-title) !important;
  line-height: var(--mr-font-line-title) !important;
  padding: var(--mr-space-5) var(--mr-space-7) var(--mr-space-4) var(--mr-space-5);
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner .popup-holder {
  padding: var(--mr-space-4) !important;
  background: var(--mr-color-surface, #fff) !important;
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner .popup-holder :is(input.textfield, textarea.textarea, select.selectbox):not([type='hidden']) {
  font-size: var(--mr-font-body) !important;
  line-height: var(--mr-font-line-body) !important;
  min-height: var(--mr-control-height);
  height: auto;
  box-sizing: border-box;
  padding: 10px var(--mr-space-4);
  border-radius: var(--mr-radius-control);
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner .popup-holder form .submit {
  font-size: var(--mr-font-body) !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  min-height: var(--mr-control-height);
  height: auto !important;
  box-sizing: border-box;
  padding: 10px var(--mr-space-5) !important;
  border-radius: var(--mr-radius-control) !important;
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner .popup-holder :is(input.textfield, textarea.textarea, select.selectbox, .submit):focus-visible {
  outline: 3px solid var(--mr-color-focus, #1267c5) !important;
  outline-offset: 3px;
}

@media (max-width: 768px) {
  :root {
    --mr-font-h1: 28px;
    --mr-font-detail-title: 24px;
    --mr-font-h2: 24px;
  }
  .fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner > .popup-title {
    padding: var(--mr-space-4) var(--mr-space-7) var(--mr-space-4) var(--mr-space-4);
  }
  .container > .content > .text table td[data-label]::before,
  .container > .content .cat-section table td[data-label]::before {
    font-size: var(--mr-font-compact) !important;
    line-height: 16px !important;
  }
}
@media (forced-colors: active) {
  .fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner .popup-holder :is(input.textfield, textarea.textarea, select.selectbox, .submit):focus-visible {
    outline-color: Highlight !important;
  }
}

/* Stage 8 preview. Apply gutters once on the outer site content container.
   Contacts has its own viewport breakout; cancel it before using that gutter. */
@media (max-width: 768px) {
  .container > .content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .container > .content > .main-content > .main-container > .ct-conv {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .container > .content > .main-content > .main-container > .ct-conv .wrap {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .container > .content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .container > .content > .main-content > .main-container > .ct-conv {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .container > .content > .main-content > .main-container > .ct-conv .wrap {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Optional Stage 8 preview. Existing panorama script measures these CSS bounds.
   Min-height allows content growth for zoom, long copy and text scaling. */
@media (max-width: 768px) {
  .container > .header {
    min-height: clamp(440px, 62vh, 520px) !important;
    min-height: clamp(440px, 62svh, 520px) !important;
  }
  .header .dynamic-text,
  .header .dynamic-text-bold {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }
}

/* Recognized site auth/support modal only. This is an unshipped source candidate. */
.fancybox-overlay[data-mr-ui-form-modal] {
  z-index: var(--mr-layer-modal-overlay, 2147482500) !important;
}
.fancybox-wrap[data-mr-ui-form-modal] {
  z-index: var(--mr-layer-modal, 2147482530) !important;
}

/* Ordinary links outside article paragraphs use the shared link role. */
body .container > .content :is(.video-info, .album-info) .block-details .info .item > a[href],
body .container > .content .headline a.more[href],
body .container > .content .tags-inline > a[href],
body .container > .content .comments :is(.comment-text, .username) > a[href],
body .container > .content .ct-conv > .wrap > a[href]:not(.hbtn, .ct-card) {
  color: var(--mr-color-link) !important;
}
body .container > .content :is(.video-info, .album-info) .block-details .info .item > a[href]:is(:hover, :active),
body .container > .content .headline a.more[href]:is(:hover, :active),
body .container > .content .tags-inline > a[href]:is(:hover, :active),
body .container > .content .comments :is(.comment-text, .username) > a[href]:is(:hover, :active),
body .container > .content .ct-conv > .wrap > a[href]:not(.hbtn, .ct-card):is(:hover, :active) {
  color: var(--mr-color-link-hover) !important;
}
body .container > .content :is(.mr-dirs-total, .mr-chev, .mr-tcap > b, .user-menu > li > span) {
  color: var(--mr-color-primary) !important;
}

/* Keep the hero search and its adjacent primary actions on one size scale.
   Horizontal button width and input clearance retain the existing fitter. */
.container > .header .search form {
  height: var(--mr-control-height-large) !important;
  min-height: var(--mr-control-height-large) !important;
}
.container > .header .search {
  height: auto !important;
  min-height: var(--mr-control-height-large) !important;
}
.container > .header .search form {
  border-radius: var(--mr-radius-control) !important;
}
.container > .header .search input[type="text"] {
  height: 50px !important;
  min-height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: var(--mr-font-body) !important;
}
.container > .header #search_form button.search-button {
  top: 3px !important;
  right: 4px !important;
  bottom: auto !important;
  height: var(--mr-control-height) !important;
  min-height: var(--mr-control-height) !important;
  font-size: var(--mr-font-support) !important;
  line-height: 20px !important;
  border-radius: var(--mr-radius-control) !important;
  transform: none !important;
}
@media (max-width: 768px) {
  .container > .header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .container > .header .header-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .container > .header .search {
    padding-top: 16px !important;
    padding-bottom: 0 !important;
  }
}

/* Keep recognized public forms inside the viewport in either orientation. */
.fancybox-wrap[data-mr-ui-form-modal] {
  position: fixed !important;
  top: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  max-width: calc(100vw - 32px) !important;
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-skin,
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner {
  width: 100% !important;
  box-sizing: border-box;
}
.fancybox-wrap[data-mr-ui-form-modal] .fancybox-inner {
  height: auto !important;
  max-height: calc(100vh - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}

/* Give the native popup fitter a stable width before it measures form content. */
.fancybox-wrap[data-mr-ui-form-modal] {
  width: 600px !important;
  max-width: calc(100% - 32px) !important;
}
.fancybox-wrap[data-mr-ui-form-modal] .popup-holder {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Complete the existing semantic heading color role on public site content.
   Contact photo hero and embedded club/consent/push surfaces keep their roles.
   This append changes color only, including no TOC typography or geometry. */
body .container > .content .headline > :is(h1, h2, h3):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *, .ct-conv .hero-card, .ct-conv .hero-card *)),
body .container > .content .info-section-title:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *, .ct-conv .hero-card, .ct-conv .hero-card *)),
body .container > .content .legal-page :is(h1, h2, h3):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *, .ct-conv .hero-card, .ct-conv .hero-card *)),
body .container > .content > .text :is(h2, h3):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *, .ct-conv .hero-card, .ct-conv .hero-card *)),
body .container > .content .cat-section :is(h2, h3):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *, .ct-conv .hero-card, .ct-conv .hero-card *)) {
  color: var(--mr-color-heading, #0a2540) !important;
}

/* Stage 8 narrow preview: these two native links have a filled action role.
   Keep their current layout, dimensions, focus rules and destinations. */
body .container > .content .mr-dirs a.mr-dirs-all[href]:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
body .container > .content .headline a.more[href]:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)) {
  color: var(--mr-color-on-primary, #fff) !important;
  background-color: var(--mr-color-primary, #1267c5) !important;
}
body .container > .content .mr-dirs a.mr-dirs-all[href]:is(:hover, :active):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
body .container > .content .headline a.more[href]:is(:hover, :active):not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)) {
  color: var(--mr-color-on-primary, #fff) !important;
  background-color: var(--mr-color-primary-hover, #0f58a8) !important;
}
body .container > .content .mr-dirs a.mr-dirs-all[href] > span:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)),
body .container > .content .headline a.more[href] > span:not(:where(.bbclub, .bbclub *, .bb-si, .bb-si *, .bb-push, .bb-push *)) {
  color: inherit !important;
}
