/* Původní pevná šířka 760 px, tabulkové rozložení a typografie jsou v HTML.
   Společné styly doplňují přístupnost, vlajky, oddělovače a zarovnání legendy. */
.privacy-link { float:right; text-align:right; font:10px Arial,sans-serif; }
:focus-visible { outline:2px solid #8fff00; outline-offset:2px; }
.privacy-content { color:#ccc; font:13px/1.5 Arial,sans-serif; padding:25px; background:#666 url('/obrazky/bkg.gif') repeat; }
.privacy-content h1 { font-size:18px; color:#999; }
.privacy-content h2 { font-size:14px; color:#8fff00; }
/* Miniatury a hlavní obrázek začínají na stejné horní hraně. */
.project-gallery .gallery-thumb,
.project-gallery .gallery-stage,
.project-gallery .gallery-thumb img,
.project-gallery .gallery-stage img { vertical-align:top; }

.contact-link, .contact-link:link, .contact-link:visited, .contact-link:hover, .contact-link:active,
.service-link, .service-link:link, .service-link:visited, .service-link:hover, .service-link:active {
  color:#cccccc !important; text-decoration:none !important; font-weight:normal !important; font-family:Arial,sans-serif; font-size:13px; background:transparent !important;
}
.new-project { color:#ccc; font:13px/1.5 Arial,sans-serif; padding:20px; }
.new-project h1 { color:#333; background:#999; font-size:14px; padding:8px; }
.new-project .gallery-stage img { max-width:100%; height:auto; }
.new-project .project-thumbs { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.new-project .gallery-thumb img { width:80px; height:60px; object-fit:cover; }

/* Original image navigation and a language switch above the logo strip. */
.logo-header { position:relative; max-width:760px; margin:0 auto; font-size:0; line-height:0; }
.language-switch { position:absolute; top:-31px; right:0; display:flex; align-items:center; justify-content:flex-end; gap:6px; height:22px; margin:0; padding:0; z-index:2; line-height:0; }
.language-switch a { display:block; padding:1px; border:1px solid transparent; line-height:0; background:transparent; }
.language-switch a[aria-current="page"] { border-color:#999; }
.language-switch img { display:block; width:28px; height:18px; margin:0; }
.service-list { color:#ccc; font:13px Arial,sans-serif; text-align:left; }
.contact-link:focus, .service-link:focus { color:#ccc !important; text-decoration:none !important; font-weight:normal !important; }

/* One repeating layer maintains the same four-pixel cadence through every row. */
.original-navigation { position:relative; height:127px; }
.original-navigation img { display:block; margin:0 auto; }
.original-navigation::after { content:""; position:absolute; inset:0; pointer-events:none; background-image:url('/obrazky/tecky-svisle-souvisle.svg'); background-repeat:repeat-y; background-size:100% 4px; z-index:1; }
.original-navigation img[src*="tecky-svisle"] { visibility:hidden; }
/* Legend symbols and captions share the same rows and vertical alignment. */
.contact-legend { width:187px; height:48px; table-layout:fixed; }
.contact-legend td { height:16px; padding:0; vertical-align:middle; font:13px/16px Arial,sans-serif; color:#ccc; }
.contact-legend td:first-child { width:30px; }
.contact-legend td:last-child { width:157px; }
.contact-legend img { display:block; width:6px; height:6px; margin:0 auto; vertical-align:middle; }

/* The title's original 16 px paragraph margins become 8 px: about 47 -> 31 px. */
.content-with-sidebar > tr > td[bgcolor="#999999"] > p,
.content-with-sidebar > tbody > tr > td[bgcolor="#999999"] > p {
  margin:8px 0; line-height:15px;
}
.new-project h1 { padding:4px 8px; }
/* Content determines the card height; image and legend dimensions stay intact. */
.compact-card p { margin:4px 0; }
.compact-card .mobile-spacer p { margin:0; }
.compact-card .service-list { line-height:16px; }
.compact-card .contact-details { font:13px/16px Arial,sans-serif; }
.compact-card .contact-map { display:block; margin:0 auto; }

/* Identical header geometry on every card, independent of the content height. */
.site-frame { width:760px; margin:0 auto; border-spacing:2px; }
.site-header-row > td { height:166px; padding:0; vertical-align:top; }
.site-header-row > td > table { width:760px; height:166px; border-spacing:0; }
.site-header-row > td > table > tr:first-child > td,
.site-header-row > td > table > tbody > tr:first-child > td {
  height:46px; padding:0; font-size:0; line-height:0;
}
.site-header-row > td > table > tr:last-child > td,
.site-header-row > td > table > tbody > tr:last-child > td {
  height:120px; padding:0; vertical-align:middle; font-size:0; line-height:0;
}
.logo-header { height:100px; }
.logo-header > img { display:block; width:760px; height:100px; }
.site-navigation-row > td { height:127px; padding:0; vertical-align:top; }
/* Keep the two left paragraphs aligned with the top edge of the right picture. */
.home-image-row p { margin:0; }
.home-image-row > td { vertical-align:top; }
.home-image-row img { display:block; }
/* Separate the registration block, postal addresses and website. */
.contact-details .contact-addresses > td { padding-top:16px; }
.contact-details .contact-website > td { padding-top:16px; padding-bottom:4px; }

/* A little more space below the home heading, with the photo row unchanged. */
.home-intro-paragraph { margin-top:22px; }
.contact-map-column { vertical-align:top; }
.contact-map-table { margin-top:0; }
.contact-map-table > tr:first-child > td > p,
.contact-map-table > tbody > tr:first-child > td > p { margin-top:0; }

/* Three uncropped 4:3 photographs alongside one continuous text column. */
.home-columns { table-layout:fixed; }
.home-text-column, .home-photo-column { vertical-align:top; }
.home-text-column { text-align:justify; font:13px/21px Arial,sans-serif; }
.home-text-column p { margin:0 0 16px; }
.home-text-column .home-intro-paragraph { margin-top:22px; }
.home-photo-column { padding-top:22px; }
.home-photo-column a { display:block; margin-bottom:12px; }
.home-photo-column a:last-child { margin-bottom:0; }
.home-photo-column img { display:block; width:300px; height:225px; }
/* The patterned panel fills the full row occupied by the 318 px side strip. */
.services-panel { background:#666 url('/obrazky/bkg.gif') repeat; }
.services-content-row { height:318px; }

.contact-education td { padding-top:16px; }
.contact-map-column { position:relative; min-width:410px; }
.contact-map-layout { position:absolute; inset:0; }
.contact-region-text { margin:0 !important; text-align:left; font:13px/16px Arial,sans-serif; }
.contact-map-cluster { position:absolute; top:50%; left:0; right:0; transform:translateY(-100px); }
.contact-map-cluster .contact-map { display:block; margin:0 auto; }
.contact-map-cluster .contact-legend { margin:12px 0 0 auto; }

.reference-card-link { font:700 14px/18px Arial,sans-serif; color:#ccc; text-decoration:none; }
.reference-card-link:visited { color:#ccc; }
.reference-card-link:hover, .reference-card-link:focus { color:#8fff00; text-decoration:none; }

/* Úpravy 6. 10. 2026: samostatný posun české vlajky. */
.language-switch a[hreflang="cs"] { transform:translateX(-10px); }
/* 3 × 225 px fotografií + 2 × 12 px mezery; stejné horní a dolní hrany. */
.home-text-column { padding-right:10px; box-sizing:border-box; }
.home-text-flow { display:flex; flex-direction:column; justify-content:space-between;
  height:699px; min-height:0; margin-top:22px; }
.home-text-flow p, .home-text-flow .home-intro-paragraph { margin:0; }
/* Stejná rodina a tučnost písma jako u českého úvodního nadpisu. */
.home-title-line { font:bold 18px Geneva,Arial,Helvetica,sans-serif;
  white-space:nowrap; line-height:normal; }
.home-title-line span { font:inherit; }
.home-title-separator { color:#00ff00; }
.home-title-line { color:#999999; }
.home-text-flow > p { flex:0 0 auto; }
/* Dlouhé anglické názvy se vejdou do původních 45px řádků bez ořezu. */
.reference-category-table { table-layout:fixed; }
.reference-category-row td,
.reference-category-row font { line-height:15px; }
.reference-category-row .reference-card-link { font-size:14px; line-height:15px; }
/* Blokové miniatury nezvětšují řádky o mezeru pod účařím obrázku. */
.reference-category-row img { display:block; margin:0 auto; }

/* Copyright vlevo a GDPR vpravo na společném spodním řádku. */
.site-footer { display:flex; justify-content:space-between; align-items:baseline; gap:16px; width:100%; text-align:left; }
.footer-copyright { display:block; color:#fff; font:normal 10px Arial,sans-serif; white-space:pre; }
.site-footer .privacy-link { float:none; margin-left:auto; white-space:nowrap; }
/* Dvě mezery mají i v tabulce viditelný odstup před celou adresou. */
.contact-addresses > td:last-child { font-size:13px; padding-left:0.556em; }

/* Větší řádkování vyplní sloupec textem a zmenší rovnoměrné mezery odstavců. */
.home-text-flow, .home-text-flow p, .home-text-flow font { line-height:21px; }
