/* Shared responsive layout, without changing the desktop artwork. */
.mobile-navigation { display:none; }
.skip-link { position:absolute; left:8px; top:-100px; z-index:10; color:#000; background:#8fff00; padding:12px; font:16px Arial,sans-serif; }
.skip-link:focus { top:8px; }
.page-heading { font:bold 13px/15px Arial,Helvetica,sans-serif; margin:8px 0; }
.home-title-line { margin:0; }
.compact-card .page-heading { margin:4px 0; }
.breadcrumbs { max-width:760px; margin:6px auto 10px; color:#ccc; font:11px/1.5 Arial,sans-serif; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:4px 8px; padding:0; margin:0; list-style:none; }
.breadcrumbs li+li::before { content:'›'; margin-right:8px; color:#999; }
.breadcrumbs a { color:#ccc; }
@media (max-width:780px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { margin:12px; color:#eee; font:16px/1.6 Arial,Helvetica,sans-serif; }
  .site-frame, .site-frame table, .site-frame tbody, .site-frame tr, .site-frame td {
    display:block; width:100% !important; max-width:100%; min-width:0 !important; height:auto !important; box-sizing:border-box;
  }
  .site-frame { margin:0 auto; border-spacing:0; }
  .site-frame table { table-layout:auto; border-spacing:0; }
  .site-frame td { padding:0; overflow-wrap:break-word; }
  .site-frame colgroup, .site-frame col, .mobile-spacer, .original-sidebar,
  .site-frame .original-navigation { display:none !important; }
  .site-header-row > td, .site-navigation-row > td { height:auto; padding:0; }
  .site-header-row > td > table > tbody > tr:last-child > td { height:auto; }
  .logo-header { width:100%; max-width:760px; height:auto; padding-top:48px; }
  .logo-header > img { width:100%; height:auto; margin:0; }
  .language-switch { top:0; right:0; height:44px; gap:10px; }
  .language-switch a { display:flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; box-sizing:border-box; }
  .language-switch img { width:28px; height:18px; max-width:none; }
  .mobile-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0; font:700 15px/1.4 Arial,sans-serif; }
  .mobile-navigation a { display:flex; min-height:48px; padding:10px; justify-content:center; align-items:center; text-align:center; text-decoration:none; background:#333; color:#ddd; border:1px solid #666; }
  .mobile-navigation a[aria-current="page"] { color:#8fff00; border-color:#8fff00; }
  .site-main { padding:16px; background:#666 url('/obrazky/bkg.gif') repeat; box-sizing:border-box; }
  .site-main img { max-width:100%; height:auto !important; }
  .site-main p, .site-main div[align="justify"] { text-align:left; }
  .site-main .body-copy, .site-main .contact-link, .site-main .service-link,
  .site-main .contact-details, .site-main .service-list {
    font-family:Arial,Helvetica,sans-serif !important; font-size:16px !important; line-height:1.6 !important; color:#eee !important;
  }
  .site-main p { margin:0 0 16px; }
  .site-main .page-heading, .privacy-content h1 { font:bold 21px/1.4 Arial,sans-serif; margin:0 0 16px; padding:8px 0; }
  .page-heading .body-copy { font:inherit !important; color:inherit !important; }
  .home-title-line { white-space:normal; font-size:22px; line-height:1.4; letter-spacing:0 !important; margin-bottom:20px; }
  .home-text-column { padding-right:0; text-align:left; }
  .home-text-flow { display:block; height:auto; min-height:0; margin:0; }
  .home-text-flow p, .home-text-flow .home-intro-paragraph { margin:0 0 18px; line-height:1.6; }
  .home-photo-column { display:grid !important; gap:16px; padding-top:8px; }
  .home-photo-column a { margin:0; }
  .home-photo-column img { width:100%; height:auto; }
  .service-list { width:100% !important; max-width:100%; }
  .service-list a { display:inline-block; min-height:44px; padding:6px 0; }
  .services-panel img { display:block; margin:12px auto; }
  .contact-addresses { display:grid !important; grid-template-columns:minmax(90px,0.85fr) minmax(0,1.6fr); gap:8px; }
  .contact-addresses > td { padding-top:16px !important; width:auto !important; }
  .contact-addresses > td:last-child { padding-left:0; }
  .contact-details a[href^="tel:"], .contact-details a[href^="mailto:"] { display:inline-block; min-height:44px; }
  .contact-map-column { position:static; min-width:0; margin-top:24px; }
  .contact-map-layout, .contact-map-cluster { position:static; inset:auto; transform:none; }
  .contact-map-table { margin:0; }
  .contact-region-text { margin:0 0 16px !important; font:16px/1.6 Arial,sans-serif; }
  .contact-map-cluster .contact-map { width:100%; max-width:320px; }
  .site-frame .contact-legend { display:table; max-width:300px; margin:16px 0; }
  .site-frame .contact-legend tbody { display:table-row-group; }
  .site-frame .contact-legend tr { display:table-row; }
  .site-frame .contact-legend td { display:table-cell; width:auto !important; height:28px !important; font:14px/1.4 Arial,sans-serif; vertical-align:middle; }
  .site-frame .contact-legend td:first-child { width:30px !important; }
  .contact-legend img { width:6px; height:6px !important; }
  .site-frame .project-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .site-frame .project-gallery > tbody, .site-frame .project-gallery > tbody > tr,
  .site-frame .project-gallery > tr { display:contents; }
  .project-gallery td:not(.gallery-thumb):not(.gallery-stage):not(.mobile-spacer) { grid-column:1/-1; }
  .project-gallery .gallery-stage { grid-column:1/-1; order:-1; }
  .project-gallery .gallery-stage img { display:block; width:100%; }
  .project-gallery .gallery-thumb a { display:block; min-height:44px; }
  .project-gallery .gallery-thumb img { display:block; width:100%; height:auto; }
  .site-frame .reference-list-row { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid #777; }
  .site-frame .reference-list-row > td { width:auto !important; }
  .reference-list-image img { width:80px; height:auto; }
  .reference-card-link { font-size:16px; line-height:1.4; overflow-wrap:break-word; }
  .reference-category-row td, .reference-category-row font, .reference-category-row .reference-card-link { line-height:1.5; }
  .site-footer { flex-wrap:wrap; gap:8px; margin-top:20px; padding-bottom:12px; }
  .footer-copyright { white-space:pre-wrap; font-size:12px; }
  .site-footer .privacy-link { margin-left:0; white-space:normal; font-size:12px; }
  .site-footer a { display:inline-block; min-height:44px; }
  .privacy-content { padding:0; font-size:16px; line-height:1.6; color:#eee; }
  .privacy-content h2 { font-size:18px; margin-top:24px; }
  .breadcrumbs { margin:0 0 16px; font-size:13px; }
}
@media (max-width:360px) {
  body { margin:8px; }
  .site-main { padding:12px; }
  .site-frame .reference-list-row { grid-template-columns:64px minmax(0,1fr); gap:10px; }
  .reference-list-image img { width:64px; }
}
.page-heading, .contact-address-label { color:#ccc; }
.contact-address-label { font:13px/16px Arial,sans-serif; }
@media (max-width:780px) {
  .contact-address-label { color:#eee; font-size:16px; line-height:1.6; }
  .privacy-content h1 { color:#eee; }
}

.mobile-brand { display:none; }
@media (max-width:780px) {
  .mobile-brand { display:block; margin-top:10px; color:#eee; font:bold 21px/1.4 Arial,sans-serif; }
  .mobile-brand small { display:block; color:#ccc; font:14px/1.5 Arial,sans-serif; }
}

.logo-home-link { display:block; }
.logo-header .logo-home-link img { display:block; width:760px; height:100px; }
@media (max-width:780px) {
  .logo-header .logo-home-link img { width:100%; height:auto; }
}

/* Jednotné písmo horního pruhu a čtyř navigačních tlačítek. */
.mobile-brand, .mobile-brand small, .mobile-navigation a { font-family:Arial, "Liberation Sans", sans-serif; font-weight:700; }
