/* Bounded static/accessibility repairs; original Photolab theme remains primary.
   Source imagery, palette and font families are preserved, not redesigned. */
:root { --recovery-ink: #003366; --recovery-link: #003366; }
body, .welcome_message .message_content p { color: #333333; }
.header-image-box .page-header-wrap .page-header.with-img .entry-title { color: #003366; }
.archive-recovery-notice { background: #f5fffa; color: #003366; padding: 10px 24px; font-size: 14px; line-height: 1.5; border-bottom: 1px solid #a4bedb; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 12px; top: 12px; padding: 12px; z-index: 1000; background: #fff; color: #003366; }
a:focus-visible, summary:focus-visible { outline: 3px solid #003366; outline-offset: 4px; }
.site-description { color: #57616b; }
.header-widgets { text-align: right; }
.header-widgets a { color: #003366; }
.main-navigation .sf-menu > li > a { padding-top: 10px; padding-bottom: 10px; }
.sf-menu li:focus-within > ul { display: block; }
.sf-menu ul { top: 100%; min-width: 240px; }
.sf-menu ul > li > a { padding: 12px 15px; color: #003366; }
.sf-menu ul > li { display: block; }
.site-content { overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; }
.entry-content a, .welcome_message a { color: #003366; }
.recovery-note, .recovery-image-note, .recovery-gap-label { font-size: 0.9em; color: #494949; line-height: 1.5; }
.recovery-image-note { display: inline-block; border: 1px solid #a4bedb; padding: 12px; max-width: 100%; }
.unrecovered-link { cursor: default; color: #494949 !important; border-bottom: none; }
.recovery-gap-label { font-weight: normal; }
.footer-widgets { overflow-wrap: anywhere; }
.footer-widgets .row .row { margin-left: 0; margin-right: 0; }
.footer-widgets a, .footer-widgets .widget-title, .footer-widgets .widget ul li a { color: #003366; }
.footer-widgets .widget-title::before { content: none; }
footer#colophon, footer#colophon a { color: #d0e5e7; }
footer#colophon .sub-menu { display: none; }
footer#colophon .sf-menu li:focus-within > .sub-menu,
footer#colophon .sf-menu li:hover > .sub-menu { display: block; bottom: 100%; top: auto; }
.strong-view.intro-slideshow { padding: 40px 0; }
.strong-view.intro-slideshow .strong-content { position: relative; }
.strong-view.intro-slideshow .wpmtst-testimonial { position: relative; opacity: 1; display: block; }
.strong-view.intro-slideshow .wpmtst-testimonial-inner { color: #333; }
.testimonial .readmore a:before { content: none; }
#faqss-modern .faqss-section { display: block; float: none; margin-left: 30%; }
#faqss-modern .faqss-item summary { cursor: pointer; padding: 15px; color: #003366; font-weight: 700; }
#faqss-modern .faqss-item .faqss-content { display: block; }
#faqss-modern .faqss-aside a { color: #003366; }
#faqss-modern .faqss-aside a.active { background: #003366; border-color: #003366; color: white; }
.fa, .social-list, .social-list_item, #wpstats { display: none !important; }
@media (max-width: 991px) {
  .header-widgets { text-align: center; }
  .site-title { font-size: 30px; line-height: 1.25; }
}
@media (max-width: 767px) {
  body { font-size: 16px; }
  .site-title { font-size: 27px; }
  .site-description { line-height: 1.5; }
  .main-navigation ul, .main-navigation ul.sub-menu { display: block; }
  .main-navigation .sf-menu > li { display: block; margin: 0; float: none; }
  .main-navigation .sf-menu ul { position: static; width: auto; min-width: 0; background: transparent; padding: 0; }
  .main-navigation .sf-menu a { padding: 10px 8px; min-height: 44px; line-height: 24px; }
  .main-navigation .sf-menu ul a { font-size: 15px; }
  .main-navigation .sf-menu ul > li > a:before { content: none; }
  .sf-menu > li > a:before { content: none; }
  .main-navigation .sf-menu > li.menu-item-has-children { border-top: 1px solid #d3e0ec; }
  .header-image-box .page-header-wrap { max-height: none; }
  .header-image-box .page-header-wrap img { width: 100%; max-width: 100%; left: 0; margin-left: 0; object-fit: cover; }
  .header-image-box .page-header { padding: 38px 0; }
  .page-header .entry-title { font-size: 27px; line-height: 1.25; }
  .entry-content h1, .entry-content h2 { font-size: 26px; line-height: 1.35; }
  #faqss-modern .faqss-aside { float: none; width: 100%; }
  #faqss-modern .faqss-section { margin-left: 0; width: 100%; clear: both; }
  .footer-widgets figure.alignright { float: none; margin-left: 0; }
  .footer-widgets .siteorigin-widget-tinymce h2, .footer-widgets .siteorigin-widget-tinymce p { text-align: left !important; }
  .footer-navigation .sf-menu > li { display: block; margin: 0; }
  footer#colophon .sub-menu { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
