/* plakaty-mb.cz — modernizovaný vizuál v3 (2026)
   Směr: přátelský, lokální — jeden souvislý teplý podklad, žádné tvrdé
   barevné pruhy/bloky. Firemní modrá je akcent (tlačítka, odkazy, aktivní
   stav menu), ne plocha na pozadí. Zaoblené "karty" tam, kde dává smysl
   (foto, kontakt, upozornění), ne jako obal celé stránky.
   Zachovává původní HTML strukturu a třídy (texlercz-*, WP gallery markup). */

:root{
  --bg:             #FAF7F1;
  --surface:        #ffffff;
  --primary-dark:   #18506D;
  --primary:        #206C92;
  --accent:         #2E9BD1;
  --accent-hover:   #227fb0;
  --accent-tint:    #e8f3f9;
  --ink:            #2f2b27;
  --ink-soft:       #5a5450;
  --border:         #ece4d8;
  --shadow:         0 1px 2px rgba(47,38,26,.05), 0 6px 20px rgba(47,38,26,.07);
  --shadow-hover:   0 4px 10px rgba(47,38,26,.08), 0 14px 32px rgba(47,38,26,.12);
  --radius:         16px;
  --radius-sm:      10px;
  --radius-pill:    999px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --measure: 70ch;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--primary); text-decoration:none; }
a:hover{ color:var(--accent-hover); text-decoration:underline; }
hr{ border:none; border-top:1px solid var(--border); margin:var(--space-3) 0; }

:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
  border-radius:4px;
}

/* ---------- layout shell: jeden souvislý podklad, žádné pruhy ---------- */
#texlercz-main{ background:var(--bg); }
.texlercz-sheet{
  width:auto !important;
  max-width:1080px;
  min-width:0 !important;
  margin:0 auto;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}
.texlercz-sheet::before, .texlercz-sheet::after{ display:none !important; content:none !important; }

/* header + nav tvoří jeden řádek, menu vycentrované */
.texlercz-layout-wrapper,
.texlercz-footer{
  flex:1 1 100%;
}

/* ---------- header — beze značky, jen neviditelný (a11y) odkaz domů ---------- */
.texlercz-header{
  background:transparent;
  min-height:0 !important;
  padding:0;
  display:flex;
  align-items:center;
  border-radius:0;
  flex:0 0 auto;
}
.texlercz-shapes{ display:none; }
.texlercz-headline{ font-size:0; line-height:0; }
.texlercz-headline a{
  /* text webu zachovaný pro SEO/čtečky obrazovky, vizuálně skrytý a bez zabraného místa */
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.texlercz-slogan{ display:none; }

/* ---------- nav — lehký, zaoblený, vycentrovaný ---------- */
.texlercz-nav{
  position:relative;
  background:transparent;
  padding:var(--space-4) var(--space-4) var(--space-3);
  flex:0 0 auto;
}
.texlercz-hmenu{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.2rem;
  margin:0;
  padding:.35rem;
  background:var(--surface);
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow);
  width:fit-content;
  max-width:100%;
}
.texlercz-hmenu li{ margin:0; }
.texlercz-hmenu a{
  display:block;
  padding:.55rem 1.05rem;
  color:var(--ink-soft);
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
  border-radius:var(--radius-pill);
  transition:background-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.texlercz-hmenu a:hover,
.texlercz-hmenu a:focus-visible{
  background:var(--accent-tint);
  color:var(--primary-dark);
  text-decoration:none;
}
.texlercz-hmenu a.active,
.texlercz-hmenu li.active a{
  background:var(--primary-dark);
  color:#fff;
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:.25rem 0;
  padding:0;
  border-radius:var(--radius-pill);
  border:none;
  background:var(--surface);
  box-shadow:var(--shadow);
  cursor:pointer;
}
.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after{
  display:block;
  width:20px;
  height:2px;
  background:var(--primary-dark);
  border-radius:2px;
  position:relative;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle span::before{ content:""; position:absolute; top:-7px; }
.nav-toggle span::after{ content:""; position:absolute; top:7px; }
.nav-toggle[aria-expanded="true"] span{ background:transparent; }
.nav-toggle[aria-expanded="true"] span::before{ transform:translateY(7px) rotate(45deg); background:var(--primary-dark); }
.nav-toggle[aria-expanded="true"] span::after{ transform:translateY(-7px) rotate(-45deg); background:var(--primary-dark); }

.texlercz-menu-btn{ display:none !important; }

/* ---------- content ---------- */
.texlercz-layout-wrapper{ padding:0; }
.texlercz-content-layout-row{ display:block; }
.texlercz-layout-cell.texlercz-content{
  width:auto !important;
  padding:var(--space-3) var(--space-4) var(--space-5);
}
.texlercz-postcontent{ max-width:var(--measure); margin:0 auto; }
.texlercz-postcontent h1{
  font-size:clamp(1.5rem, 1.15rem + 1.5vw, 2.05rem);
  line-height:1.28;
  font-weight:800;
  color:var(--primary-dark);
  margin:0 0 var(--space-3);
  text-wrap:balance;
  letter-spacing:-.01em;
}
.texlercz-postcontent h2{
  font-size:1.3rem;
  font-weight:800;
  color:var(--primary-dark);
  margin:var(--space-4) 0 var(--space-2);
}
.texlercz-postcontent p, .texlercz-postcontent li{
  color:var(--ink-soft);
  margin:0 0 var(--space-2);
}
.texlercz-postcontent ul, .texlercz-postcontent ol{ padding-left:1.3em; }
.texlercz-postcontent strong{ color:var(--ink); }

/* hero — pěkně zarámovaná karta, ne přes celou obrazovku */
.texlercz-postcontent img.aligncenter{
  margin:0 auto var(--space-4);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* "zvýrazněné" upozornění (červený text v originále) jako přátelský callout —
   cíleno přes barvu textu (#ff0000), ne přes text-align: center, aby to
   nezasáhlo centrované nadpisy fotogalerie na jiné stránce */
.texlercz-postcontent p:has(span[style*="color: #ff0000"]){
  background:var(--accent-tint);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:var(--space-2) var(--space-3);
}
.texlercz-postcontent p:has(span[style*="color: #ff0000"]) strong{ color:var(--primary-dark); }
.texlercz-postcontent p:has(span[style*="color: #ff0000"]) span[style*="color"]{ color:var(--primary-dark) !important; }

/* ---------- gallery grid (Naše plochy - foto) ---------- */
.gallery{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap:var(--space-2) !important;
  margin:0 0 var(--space-4) !important;
}
.gallery .gallery-item{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.gallery .gallery-icon{ margin:0; }
.gallery img.attachment-thumbnail{
  width:100%;
  height:140px;
  object-fit:cover;
  border:none !important;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
  background:var(--surface);
  transition:transform .18s ease, box-shadow .18s ease;
}
.gallery a:hover img.attachment-thumbnail,
.gallery a:focus-visible img.attachment-thumbnail{
  transform:translateY(-3px) scale(1.02);
  box-shadow:var(--shadow-hover);
}

/* ---------- forms (objednávkový formulář) ---------- */
.static-order-form{
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:var(--space-4);
}
.static-order-form p{ margin:0 0 var(--space-2); }
.static-order-form strong{
  display:block;
  margin-bottom:.35rem;
  font-size:.92rem;
  color:var(--ink);
}
.static-order-form input[type="text"],
.static-order-form input[type="email"],
.static-order-form input[type="tel"],
.static-order-form input[type="date"],
.static-order-form select,
.static-order-form textarea{
  width:100%;
  max-width:420px;
  padding:.65rem .9rem;
  font:inherit;
  font-size:.95rem;
  color:var(--ink);
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.static-order-form textarea{ max-width:100%; resize:vertical; }
.static-order-form input:focus,
.static-order-form select:focus,
.static-order-form textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(46,155,209,.18);
  outline:none;
  background:var(--surface);
}
.static-order-form input[type="submit"]{
  width:auto;
  max-width:none;
  padding:.8rem 2rem;
  font-weight:700;
  letter-spacing:.02em;
  color:#fff;
  background:var(--primary);
  border:none;
  border-radius:var(--radius-pill);
  cursor:pointer;
  box-shadow:var(--shadow);
  transition:background-color .15s ease, transform .05s ease, box-shadow .15s ease;
}
.static-order-form input[type="submit"]:hover{
  background:var(--accent-hover);
  box-shadow:var(--shadow-hover);
  transform:translateY(-1px);
}
.static-order-form input[type="submit"]:active{ transform:translateY(0); }

input[type="submit"], button{ font-family:var(--font); }

/* ---------- footer — stejný podklad, jen jemná karta s kontaktem ---------- */
.texlercz-footer{
  background:transparent;
  border-top:1px solid var(--border);
  margin-top:var(--space-4);
}
.texlercz-footer-text{ padding:var(--space-4); }
.texlercz-footer .texlercz-content-layout-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
}
.texlercz-footer .texlercz-layout-cell{
  width:auto !important;
  flex:1 1 240px;
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:var(--space-3);
}
.texlercz-footer p{ margin:0 0 .3rem; color:var(--ink-soft); font-size:.92rem; }
.texlercz-footer strong{ color:var(--primary-dark); }
.texlercz-footer a{ color:var(--primary); }
.texlercz-rss-tag-icon{ display:none; }

/* ---------- responsive ---------- */
@media (max-width:900px){
  .texlercz-nav{ padding:var(--space-3) var(--space-3) var(--space-2); }
  .texlercz-layout-cell.texlercz-content{ padding:var(--space-2) var(--space-3) var(--space-4); }
  .texlercz-footer-text{ padding:var(--space-3); }
  .static-order-form{ padding:var(--space-3); }

  .nav-toggle{ display:inline-flex; }
  .texlercz-hmenu{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + .5rem);
    flex-direction:column;
    width:max-content;
    min-width:200px;
    max-width:calc(100vw - 2 * var(--space-3));
    z-index:10;
  }
  .texlercz-hmenu.is-open{ display:flex; }
  .texlercz-hmenu a{ padding:.75rem 1.1rem; text-align:right; }
}

@media (max-width:480px){
  .texlercz-postcontent h1{ font-size:1.35rem; }
  .gallery{ grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)) !important; }
  .gallery img.attachment-thumbnail{ height:110px; }
}
