/* Restored site settings and compatibility fixes. No external fonts. */
html { scroll-padding-top: 135px; }
body { font-family: Verdana, sans-serif; color: #000; background: #fff; }
h1,h2,h3,h4,h5,h6 { font-family: Verdana, sans-serif; }
h3,h4 { font-size: 14px; }
a,a:hover,a:focus { color: #3f9dda; }
.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-content { flex: 1; }
.site-header,.site-header.header-scrolled { position: fixed; background: rgba(255,255,255,.97); z-index: 1000; padding: 15px 0; }
.site-header .container { display: flex; align-items: center; flex-wrap: wrap; }
.site-branding { padding-top: 0; }
.custom-logo-link { display: inline-block; }
.custom-logo { width: 200px; height: 90px; max-width: 100%; object-fit: contain; }
.header-clone { display: block; height: 120px; }
.admin-bar .site-header { top: 32px; }
.main-navigation { top: auto; }
.main-navigation a { color: #409fd7; }
.main-navigation li a::before,.main-navigation li a::after { border-color: #3f9dda; }
.main-navigation .wpglobus-current-language { font-weight: bold; }
.content-area { width: 100%; float: none; padding-right: 0; }
.entry-title { overflow-wrap: anywhere; }
.footer-wrapper { margin-top: 45px; }
.footer-info,.site-footer { background: linear-gradient(90deg, #fff 20%, #409fd7 50%, #fff 80%); color: #000; }
.footer-info a,.site-footer a { color: #000; }
.footer-contact { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 25px; }
.footer-contact-block { width: auto; padding: 0; }
.footer-contact-block span { display: inline; font-size: 16px; margin-right: 4px; }
.footer-navigation a:hover,.footer-info a:hover { color: #000; text-decoration: underline; }
.ruehl-intro { padding-top: 25px; text-align: center; }
.ruehl-intro h3 { font-size: 24px; }
.ruehl-cards-section { padding: 50px 0; }
.service-area,.employees-area { display: flex; flex-wrap: wrap; justify-content: center; gap: 35px; }
.service.astrid-3col { width: 35%; margin: 0; float: none; }
.service-thumb img { max-height: 285px; width: auto; object-fit: contain; }
.service-title { font-family: Verdana, sans-serif; font-size: 16px; }
.employee.astrid-3col { width: 40%; margin: 0; float: none; }
.employee-title-custom { font-size: 14px; font-weight: bold; }
.employee-content-detail { overflow-wrap: anywhere; }
.employee-thumb img { max-width: 100%; height: auto; }
.ruehl-menu-toggle { display: none; }
:focus-visible { outline: 3px solid #154a6a; outline-offset: 4px; }
.entry-content img { max-width: 100%; height: auto; }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { min-width: 300px; }
.preloader { display: none; }
/* Current catalog markup replaces the former prod-cat / upcp-thumb selectors. */
.ruehl-classic .ewd-upcp-catalog-information-name h3 { color: #409fd7; }
.ruehl-classic .ewd-upcp-catalog-div { clear: both; }
.ruehl-classic .ewd-upcp-catalog-product-thumbnail { width: 145px; min-height: 0; max-height: none; border: 0; margin: 10px 14px 25px; }
.ruehl-classic .ewd-upcp-catalog-product-thumbnail-image-div { background: #fff; height: 150px; display: flex; align-items: center; justify-content: center; }
.ruehl-classic .ewd-upcp-catalog-product-thumbnail-image-div img { max-height: 145px; max-width: 130px; width: auto; height: auto; object-fit: contain; }
.ruehl-classic .ewd-upcp-catalog-product-thumbnail-body-div { padding: 5px 0; min-height: 0; font-size: 12px; line-height: 1.6; }
.ruehl-classic .ewd-upcp-catalog-category-label { color: #409fd7; border-bottom: 1px solid #409fd7; font-size: 16px; margin-top: 20px; }
.ruehl-classic .ewd-upcp-catalog-product-price:empty { display: none; }
@media (max-width: 1024px) {
    .site-header,.site-header.header-scrolled { position: relative; padding: 10px 0; }
    .admin-bar .site-header { top: 0; }
    .header-clone { display: none; }
    .site-branding { width: auto; flex: 1; }
    .custom-logo { width: 160px; height: 72px; }
    .ruehl-menu-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; margin-right: 15px; font-size: 15px; color: #246c99; border: 1px solid #246c99; background: #fff; }
    #mainnav { display: none; width: 100%; padding: 15px; }
    #mainnav.ruehl-open { display: block; }
    #mainnav ul { float: none; display: block; margin: 0; }
    #mainnav li { float: none; display: block; padding: 0; }
    #mainnav a { display: block; padding: 10px 0; text-align: left; }
    #mainnav ul ul { position: static; display: block; opacity: 1; visibility: visible; width: auto; box-shadow: none; }
    .ruehl-cards-section { padding: 30px 0; }
    .service.astrid-3col { width: calc(50% - 18px); }
    .employee.astrid-3col { width: calc(50% - 18px); }
}
@media (max-width: 600px) {
    .ruehl-intro h3 { font-size: 15px; line-height: 1.7; }
    .service.astrid-3col,.employee.astrid-3col { width: 100%; }
    .footer-contact { display: block; }
    .footer-contact-block { margin-bottom: 12px; }
    .footer-navigation { width: 100%; }
    .site-content { padding-top: 25px; padding-bottom: 25px; }
}
