/* =====================================================================
   GRÜN-DRUCK GmbH – Ergänzungen zum Original-Design (andreas09.css)
   1. Seitenspezifische Stile (früher in jeder Seite einzeln)
   2. Moderne Grundregeln (Bilder, Menü-Knopf)
   3. Responsive Anpassungen für Tablet und Handy
   ===================================================================== */

/* ---------- 1. Seitenstile ---------- */

body { background-color: #666666; }

#sitename { height: auto; min-height: 92px; }

#sitename .site-title,
#sitename .site-claim {
  color: #eaeeed;
  font-weight: 400;
  letter-spacing: -2px;
  line-height: normal;
  margin: 0;
  padding: 0;
}
#sitename .site-title { font-size: 2.4em; padding-top: 20px; }
#sitename .site-claim { font-size: 1.6em; }

.Stil2 { font-weight: bold; }
.ds3 { font-size: 1.4em; font-weight: bold; }
.clear { clear: both; }

/* Inhaltsbereich als eigener Block: "clear" wirkt nur innerhalb des Inhalts */
#content { display: flow-root; }

/* Menü wie bisher (früher stand es in einem Absatz mit diesen Werten) */
.menu-head, #hauptmenue { font-size: 0.9em; margin: 0 0 0 10px; }
#hauptmenue { margin-bottom: 16px; }

/* Liste "Unsere Leistungen" */
.leistungen { list-style: none; margin: 0 0 15px; padding: 0; }
.leistungen li {
  color: #606060;
  font-size: 1.6em;
  font-weight: bold;
  letter-spacing: -1px;
  margin: 0 0 10px;
}

/* Maschinenpark */
#content h2.maschinen { font-size: 1.3em; margin: 20px 0 6px; }
ul.maschinen { font-weight: bold; list-style: none; margin: 0 0 10px; padding: 0 0 0 10px; }
ul.maschinen li { display: flex; line-height: 1.6em; }
ul.maschinen span { flex: 0 0 3.2em; }   /* feste Spalte für die Anzahl */

/* Kontakt: zwei Standorte nebeneinander, auf dem Handy untereinander */
.standorte { display: flex; flex-wrap: wrap; gap: 0 40px; }

/* Trumpf-Logo im Link nicht umranden */
#content a img[src*="Trumpflogo"] { vertical-align: middle; }

/* ---------- 2. Moderne Grundregeln ---------- */

img { max-width: 100%; height: auto; }

#footer { box-sizing: border-box; }
#content { overflow-wrap: break-word; }
#content a { overflow-wrap: anywhere; }

#container { min-width: 0; }           /* alte Mindestbreite 770px aufheben */

.menu-toggle { display: none; }        /* Menü-Knopf nur auf dem Handy */

/* ---------- 3. Responsive ---------- */

/* Mittlere Breite (Tablet / kleines Notebook): rechte Leerspalte entfernen */
@media (max-width: 1000px) {
  #content { margin-right: 20px; }
}

/* Handy und schmale Tablets */
@media (max-width: 760px) {
  body { font-size: 15px; }
  #wrap { font-size: 1em; }

  #sitename { margin: 0 12px 8px; min-height: 0; padding-bottom: 6px; }
  #sitename .site-title { font-size: 1.7em; padding-top: 12px; letter-spacing: -1px; }
  #sitename .site-claim { font-size: 1.1em; letter-spacing: 0; }

  /* Seitenleiste wird zur Kopfleiste mit Logo + Menü-Knopf */
  #leftside { float: none; width: auto; margin: 0; padding: 0 12px 10px; }
  .menu-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .menu-head .thumbnail { margin: 0; }

  .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #e8e9ea;
    border: 1px solid #909090;
    color: #303030;
    cursor: pointer;
    font: bold 1em Verdana, Tahoma, Arial, sans-serif;
    padding: 10px 14px;
    text-transform: uppercase;
  }
  .burger,
  .burger::before,
  .burger::after {
    background: #303030;
    display: block;
    height: 2px;
    width: 20px;
    position: relative;
  }
  .burger::before, .burger::after { content: ""; position: absolute; left: 0; }
  .burger::before { top: -6px; }
  .burger::after  { top: 6px; }

  /* Menü einklappen – nur wenn JavaScript läuft, sonst bleibt es sichtbar */
  .js #hauptmenue { display: none; }
  .js #hauptmenue.offen { display: block; }

  .menu-head, #hauptmenue { font-size: 1em; margin-left: 0; }
  #hauptmenue { margin-top: 6px; }
  .nav, .sub { width: auto; }
  .nav { font-size: 1em; padding: 11px 12px; margin-top: 6px; }
  .sub { font-size: 0.9em; margin-left: 16px; padding: 9px 12px; }

  #content { margin: 0 8px; padding: 14px 14px 5px; }
  #content h1 { font-size: 1.5em; }
  #content h2 { font-size: 1.3em; }
  .large, .ds3 { font-size: 1.15em; }
  .leistungen li { font-size: 1.25em; }

  #content img { margin: 4px 12px 8px 0; max-width: 40%; }

  #footer { line-height: 2em; padding: 16px 10px; }
}

/* Sehr schmale Handys: Bilder nicht mehr neben dem Text */
@media (max-width: 420px) {
  #content img { float: none; display: block; margin: 0 auto 12px; max-width: 100%; }
  #content a img[src*="Trumpflogo"] { display: inline; margin: 0 8px 0 0; }
}


/* ---------- 4. Barrierefreiheit (unsichtbar für Maus-Nutzer) ----------
   Das Aussehen bleibt wie bisher. Nur wer mit der Tastatur bedient,
   sieht einen Fokusrahmen und den Sprunglink "Zum Inhalt springen". */

a:focus-visible, button:focus-visible { outline: 3px solid #1a6411; outline-offset: 2px; }
#footer a:focus-visible { outline-color: #ffffff; }
main:focus { outline: none; }

.skip { position: absolute; left: -9999px; top: 8px; z-index: 10; background: #ffffff; color: #1a6411; padding: 8px 12px; border: 2px solid #1a6411; }
.skip:focus { left: 8px; }

/* Nur für Screenreader (z. B. Hinweis "öffnet in neuem Fenster") */
.nur-vorlesen {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap;
}


/* ---------- 5. Druckansicht (nur beim Ausdrucken sichtbar) ---------- */
@media print {
  @page { margin: 18mm 16mm; }
  html, body, #container, #wrap, #content { background: #fff !important; color: #000 !important; }
  body { font: 10.5pt/1.5 Verdana, Tahoma, Arial, sans-serif; }
  .skip, #leftside, .menu-toggle, .clearingdiv { display: none !important; }
  #container { min-width: 0 !important; }
  #sitename { height: auto !important; min-height: 0 !important; margin: 0 0 6mm !important; padding: 0 0 3mm !important; border-bottom: 1pt solid #000; }
  #sitename .site-title, #sitename .site-claim { color: #000 !important; letter-spacing: 0; }
  #sitename .site-title { font-size: 18pt; padding-top: 0; }
  #sitename .site-claim { font-size: 11pt; }
  #content { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  #content h1, #content h2 { color: #000 !important; break-after: avoid; }
  #content img { max-width: 50mm !important; border-color: #999 !important; }
  a { color: #000 !important; text-decoration: none !important; }
  #content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; font-weight: normal; }
  ul.maschinen, .standorte p, .leistungen li { break-inside: avoid; }
  #footer { background: none !important; color: #000 !important; border-top: 1pt solid #000; margin-top: 8mm; padding: 3mm 0 0 !important; text-align: left !important; }
  #footer a { color: #000 !important; }
}
