﻿/*
Theme Name:   A2Z Studio
Theme URI:    https://www.a2z.studio
Description:  A2Z Studio child theme based on GeneratePress. Dark base, brand red accent, self-hosted fonts.
Author:       A2Z Studio
Template:     generatepress
Version:      1.7.80
Text Domain:  a2z-studio
*/

/* === A2Z STUDIO BRAND COLORS === */
:root {
  --color-brand-red:   #D42B2B;  /* A2Z brand red - ověřeno z live webu */
  --color-black:       #000000;
  --color-white:       #FFFFFF;
  --color-dark-bg:     #0d0d0d;  /* tmavé pozadí stránek */
  --color-gray-dark:   #1a1a1a;
  --color-gray-mid:    #888888;
  --color-gray-light:  #f0f0f0;
  --color-border:      #2a2a2a;
  --color-text-muted:  rgba(255,255,255,.45);
}

/* === TYPOGRAPHY (self-hosted - viz assets/fonts/fonts.css) === */
body,
button,
input,
select,
textarea {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
}

h1, h2, h3,
.site-title,
.entry-title {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  font-weight: 400;
  text-transform: uppercase;
}

/* === DARK BASE (GeneratePress je světlý → přepis na tmavý) === */
body {
  background-color: var(--color-dark-bg);
  color: var(--color-white);
}

.site-content,
.inside-header {
  background-color: var(--color-dark-bg);
  color: var(--color-white);
}

a {
  color: var(--color-white);
}

/* === HOVER EFFECTS (andelsound.com) - BW → červená === */
a:hover,
a:focus,
.main-navigation .menu-item a:hover,
.main-navigation .current-menu-item > a {
  color: var(--color-brand-red);
  transition: color 200ms ease;
}

/* === CTA BUTTONS === */
.wp-block-button__link,
button.button,
.button,
input[type="submit"] {
  background-color: var(--color-brand-red);
  border: 2px solid var(--color-brand-red);
  color: var(--color-white);
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

.wp-block-button__link:hover,
button.button:hover,
.button:hover,
input[type="submit"]:hover {
  background-color: transparent;
  border-color: var(--color-brand-red);
  color: var(--color-brand-red);
}

/* === ACCENT ELEMENTS === */
.accent,
.highlight { color: var(--color-brand-red); }

.section-divider,
hr.accent {
  border: 0;
  border-top: 2px solid var(--color-brand-red);
}

/* === STICKY HEADER === */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: var(--color-dark-bg);
}

/* === LANGUAGE SWITCHER (CS | EN) === */
.main-navigation .lang-item a { text-transform: uppercase; font-weight: 600; }
.main-navigation .lang-item.current-lang a { color: var(--color-brand-red); }
.main-navigation .a2z-lang-sep {
  width: 1px;
  align-self: center;
  background: var(--color-border);
  margin: 0 .25rem;
}

/* === FOOTER === */
.site-footer,
.site-footer .site-info {
  background-color: var(--color-black);
  color: var(--color-white);
  border-top: 0 !important;
}
.site-footer {
  position: relative;
  z-index: 0;
}
.site-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--color-brand-red) 0%, rgba(212,43,43,.65) 35%, transparent 85%);
  z-index: 1;
}
/* Footer base - details in the FOOTER v2 section below */
.a2z-footer { display: block; text-align: left; }
.a2z-footer a { color: var(--color-white); transition: color 200ms ease; }
.a2z-footer a:hover { color: var(--color-brand-red); }

/* === ACCESSIBILITY === */
:focus-visible {
  outline: 2px solid var(--color-brand-red);
  outline-offset: 2px;
}

/* === HOMEPAGE SECTIONS === */
.a2z-section { padding: 3.25rem 0; border-bottom: 1px solid var(--color-border); }
.a2z-section:last-child { border-bottom: 0; }
.a2z-section h2 { color: var(--color-white); font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 1rem; }

.a2z-hero { padding: 5.5rem 0; text-align: center; border-bottom: 0; }
.a2z-hero h1 { font-size: clamp(2.75rem, 8vw, 6rem); line-height: 1.04; margin: 0 0 1.75rem; }

.a2z-service-links { list-style: none; margin: 1.25rem 0; padding: 0; }
.a2z-service-links li { border-left: 2px solid var(--color-brand-red); padding-left: .85rem; margin-bottom: .6rem; }
.a2z-service-links a { font-weight: 600; }

.a2z-reference-names { color: var(--color-brand-red); font-weight: 600; letter-spacing: .02em; }
.a2z-references blockquote:not(.a2z-bigquote) { border-left: 3px solid var(--color-brand-red); color: var(--color-gray-light); font-style: italic; }

.a2z-contact-info { line-height: 1.9; }

.a2z-social .wp-block-social-links { gap: .5rem; }

/* Outline button varianta (sekundární CTA) */
.is-style-outline .wp-block-button__link { background: transparent; color: var(--color-brand-red); border: 2px solid var(--color-brand-red); }
.is-style-outline .wp-block-button__link:hover { background: var(--color-brand-red); color: var(--color-white); }

/* === CONTENT HELPERS (inner pages) === */
.a2z-lead { font-size: 1.25rem; color: var(--color-white); font-weight: 600; }
.a2z-price { display: inline-block; color: var(--color-brand-red); font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; font-size: 2rem; letter-spacing: .03em; }
.a2z-muted { color: var(--color-gray-mid); }
.a2z-service-links a { font-weight: 600; }
/* Placeholdery chybějícího obsahu - vizuálně odlišené, NEpublikovat na produkci */
.a2z-todo { display: block; border: 1px dashed var(--color-brand-red); color: var(--color-gray-mid); padding: .5rem .75rem; font-size: .85rem; border-radius: 3px; }

/* === LOGO SIZE - fix (originál je 1723×1738) === */
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 68px;
  width: auto;
}
@media (max-width: 768px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo { max-height: 52px; }
}

/* === VOUCHER CARDS === */
.a2z-voucher-card { border: 1px solid var(--color-border); padding: 1.5rem; border-radius: 4px; text-align: center; }
.a2z-voucher-card .a2z-price { font-size: 1.6rem; }

/* === ACCORDION (50 důvodů, wp:details) === */
.wp-block-details { border: 1px solid var(--color-border); border-radius: 4px; padding: .75rem 1.1rem; margin-bottom: .5rem; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; letter-spacing: .02em; font-size: 1.15rem; }
.wp-block-details[open] summary { color: var(--color-brand-red); }

/* === ARTIST LANDING PAGE === */
.a2z-artist { max-width: 680px; margin: 0 auto; text-align: center; }
.a2z-artist h1 { font-size: clamp(2.5rem, 7vw, 5rem); }
.a2z-artist .wp-block-buttons { margin-bottom: 2rem; }

/* === HONEYPOT (spam) - skryté pole === */
.a2z-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ===================================================================
   DESIGN PASS (homepage + global) - soundlab layout + andelsound B&W→barva
   =================================================================== */

/* --- Sekční rytmus + jemné střídání pozadí (čistá separace à la soundlab) --- */
.a2z-section { padding: clamp(2.75rem, 6vw, 5.5rem) 0; }
.a2z-section:nth-of-type(even) { background-color: #121212; }
.a2z-section h2 { font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 1.25rem; }
.a2z-section p { max-width: 62ch; }
.a2z-section.a2z-hero p, .a2z-section.a2z-social p, .a2z-section .has-text-align-center { max-width: none; }

/* --- Hero --- */
.a2z-hero { padding: clamp(4rem, 12vw, 8rem) 0; border-bottom: 0; background-color: var(--color-black); }
.a2z-hero h1 { font-size: clamp(3rem, 10vw, 7rem); line-height: 0.98; margin: 0 0 1.5rem; }

/* --- Služby jako karty (soundlab) - z .a2z-service-links grid karet --- */
.a2z-service-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; list-style: none; margin: 1.5rem 0; padding: 0; }
.a2z-service-links li { margin: 0; border: 1px solid var(--color-border); border-left: 3px solid var(--color-brand-red); padding: 1.25rem; transition: transform 200ms ease, background-color 200ms ease; }
.a2z-service-links li:hover { transform: translateY(-3px); background-color: var(--color-gray-dark); }
.a2z-service-links a { display: block; font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; font-size: 1.35rem; letter-spacing: .02em; }

/* --- Reference --- */
.a2z-reference-names { font-size: clamp(1.05rem, 2.4vw, 1.55rem); line-height: 1.85; }

/* --- B&W → barva při hover (andelsound) - galerie + obsahové obrázky (NE logo) --- */
.wp-block-gallery img, .wp-block-image img { filter: grayscale(1); transition: filter 350ms ease; }
.wp-block-gallery img:hover, .wp-block-image img:hover, .wp-block-gallery:hover img, .wp-block-image:hover img { filter: grayscale(0); }

/* --- Fade-in sekcí při scrollu (jen s JS; fallback = viditelné) --- */
.js-anim .a2z-section:not(.a2z-hero) { opacity: 0; transform: translateY(18px); transition: opacity 600ms ease, transform 600ms ease; }
.js-anim .a2z-section.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-anim .a2z-section { opacity: 1 !important; transform: none !important; transition: none; } }

/* ===================================================================
   FOUNDATION REDESIGN - tmavý full-bleed obsah, širší layout
   (řeší bílé pruhy / mrtvý prostor / úzký sloupec / neviditelný text služeb)
   =================================================================== */

/* Šířka obsahu (WP default content-size byl ~620px → úzký sloupec) */
:root { --wp--style--global--content-size: 1180px; --wp--style--global--wide-size: 1400px; }

/* Zrušit bílou kartu GeneratePress (separate-containers) - vše tmavé */
/* removed ruleset - lámalo hero bg */
.inside-article { padding: 0 !important; border: 0 !important; }
.site.grid-container.container { max-width: 100%; padding-left: 0; padding-right: 0; }

/* Full-bleed sekce: pozadí přes celou šířku, obsah uvnitř v kontejneru */
.a2z-section { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; box-sizing: border-box; padding-left: 1.25rem; padding-right: 1.25rem; }
.entry-content { overflow-x: hidden; }

/* Hero je alignfull → vyjmout z full-bleed triku (jinak posun/ořez) */
.a2z-section.a2z-hero { width: auto !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Homepage: skrýt page title (A2Z Studio) - H1 je hero */
.home .entry-header, .page-id-6 .entry-title, .page-id-7 .entry-title { display: none; }

/* === HERO image-first === */
.a2z-hero { min-height: 86vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #000; }
.a2z-hero h1 { text-shadow: 0 2px 24px rgba(0,0,0,.5); }

/* Wrappery natvrdo tmavé (transparent nestačil - prosvítala bílá karta GP) */
.site-content, .content-area, article, .inside-article, .entry-content { background-color: var(--color-dark-bg) !important; }
.a2z-section:not(.a2z-hero):nth-of-type(odd) { background-color: var(--color-dark-bg); }

/* ===================================================================
   REDESIGN v2 - image-first kompozice sekcí (každá jiná)
   =================================================================== */
.a2z-section { padding: clamp(3rem, 6vw, 6rem) 0; }
.a2z-section > .wp-block-heading, .a2z-section > h2 { margin-bottom: 2rem; }

/* Split (O studiu / Lokalita) */
.a2z-split .wp-block-columns, .a2z-location .wp-block-columns { gap: 3rem; align-items: center; }
.a2z-split figure.wp-block-image { margin: 0; height: 100%; }
.a2z-split figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }

/* Služby - 4 obrazové karty */
.a2z-service-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 3px; margin-top: 1rem; }
.a2z-service-card { min-height: 360px; }
.a2z-service-card .wp-block-cover__inner-container { width: 100%; }
.a2z-service-card h3 { font-size: clamp(1.4rem, 2.2vw, 2.1rem); margin: 0; }
.a2z-service-card h3 a { color: #fff; }
.a2z-service-card h3 a:hover { color: var(--color-brand-red); }
.a2z-service-card p { color: var(--color-gray-light); margin: .35rem 0 0; font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; text-transform: none; font-weight: 400; font-size: .95rem; max-width: none; }

/* Reference - artist grid + velká citace */
.a2z-artist-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 5px; margin: 2.5rem auto; }
.a2z-artist-card { min-height: 230px; }
.a2z-artist-card h3 { font-size: clamp(1.05rem, 1.5vw, 1.45rem); margin: 0; color: #fff; }
.a2z-bigquote { border: 0; text-align: center; max-width: 820px; margin: 1rem auto 0; padding: 0; }
.a2z-bigquote p { font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; font-size: clamp(1.7rem, 3.6vw, 2.8rem); line-height: 1.12; color: #fff; max-width: none; }
.a2z-bigquote cite { color: var(--color-brand-red); font-style: normal; letter-spacing: .05em; display: block; margin-top: .75rem; font-size: 1rem; }

/* Credibility - stats */
.a2z-stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2rem; margin: 1.5rem 0; text-align: center; }
.a2z-stat { display: flex; flex-direction: column; }
.a2z-stat .num { font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; font-size: clamp(2.6rem, 5vw, 4rem); color: var(--color-brand-red); line-height: 1; }
.a2z-stat .lbl { color: var(--color-gray-light); font-size: .9rem; letter-spacing: .03em; margin-top: .4rem; }
.a2z-brands { color: var(--color-gray-mid); letter-spacing: .05em; margin-top: 1.25rem; max-width: none; }

/* B&W foto na kartách (andelsound základ) */
/* Service cards: grayscale on image (not in animated carousel = no sub-pixel blur) */
.a2z-service-card img.wp-block-cover__image-background { filter: grayscale(1); transition: filter 300ms ease; }
.a2z-service-card:hover img.wp-block-cover__image-background { filter: grayscale(0); }
/* Artist cards: grayscale on CARD wrapper, not image — image stays on track's GPU layer without own sub-layer */
.a2z-artist-card { filter: none; }

/* Grid musí být na inner-containeru (WP group obaluje obsah) */
.a2z-service-grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 3px; }
.a2z-artist-grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 5px; }
.a2z-stats > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2rem; align-items: start; }

/* Sekce jsou teď alignfull (GeneratePress) → zrušit starý full-bleed margin trik (dvojitý posun) */
.a2z-section { width: auto !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: 0 !important; }

/* ===================================================================
   REDESIGN v3 - zesílení (větší hero/reference/služby, loga, bandy)
   =================================================================== */
/* Větší hero */
.a2z-hero { min-height: 92vh; }
.a2z-hero h1 { font-size: clamp(3.5rem, 9vw, 8rem); }
.a2z-cta-big .wp-block-button__link { font-size: 1.15rem; padding: 1rem 2.6rem; }

/* Větší služby */
.a2z-service-card { min-height: 440px; }
.a2z-service-card h3 { font-size: clamp(1.6rem, 2.6vw, 2.5rem); }

/* Větší reference (největší sekce po hero) */
.a2z-references { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.a2z-artist-grid > .wp-block-group__inner-container { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.a2z-artist-card { min-height: 330px; }
.a2z-artist-card h3 { font-size: clamp(1.2rem, 1.9vw, 1.8rem); }
.a2z-bigquote { max-width: 960px; margin-bottom: 2.5rem; }
.a2z-bigquote p { font-size: clamp(2rem, 4.6vw, 3.6rem); }

/* Fotografické bandy (wide) */
.a2z-band { margin: 0 !important; }
.a2z-band .wp-block-cover__inner-container { min-height: 0; }
.a2z-band img.wp-block-cover__image-background { filter: grayscale(1); }

/* Logo strip klientů */
.a2z-logos > .wp-block-group__inner-container { display: flex; flex-wrap: wrap; gap: 2.5rem 3rem; align-items: center; justify-content: center; margin-top: 2.5rem; }
.a2z-logo { margin: 0 !important; }
.a2z-logo img { height: 44px; width: auto; object-fit: contain; filter: grayscale(1) brightness(1.7); opacity: .6; transition: opacity .3s ease, filter .3s ease; }
.a2z-logo img:hover { opacity: 1; filter: grayscale(0); }

/* ===================================================================
   FOOTER - v3 redesign: cinematic, centered "album closing credit"
   =================================================================== */
.a2z-footer {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 6rem) clamp(1.25rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 2rem);
}

/* ── Mark: large centered logo + keyword tagline ── */
.a2z-footer-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.a2z-footer-logo-link { display: inline-block; margin-bottom: 1.5rem; }
.a2z-footer-logo { height: 84px; width: auto; display: block; margin: 0 auto; }
.a2z-footer-tagline {
  color: rgba(212,43,43,.65) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase;
  line-height: 1.6 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100%;
}

/* ── Social: centered, large, generous spacing ── */
.a2z-footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.25rem;
  margin: clamp(2.25rem, 5vw, 3.25rem) 0;
}
.a2z-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color 200ms ease, transform 200ms ease;
}
.a2z-footer-social a:hover {
  color: var(--color-brand-red);
  transform: translateY(-2px) scale(1.15);
}

/* ── Discreet line: navigation + contact, single row, centered ── */
.a2z-footer-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  font-size: .8rem;
  color: var(--color-text-muted);
}
.a2z-footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem 1.25rem;
}
.a2z-footer-nav li { margin: 0; }
.a2z-footer-nav li:not(:last-child)::after {
  content: '\00b7';
  margin-left: 1.25rem;
  color: var(--color-text-muted);
}
.a2z-footer-nav a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  letter-spacing: .02em;
  transition: color 200ms ease;
}
.a2z-footer-nav a:hover,
.a2z-footer-nav .current-menu-item > a { color: var(--color-white); }
.a2z-footer-nav .a2z-lang-sep,
.a2z-footer-nav .lang-item { display: none; }

.a2z-footer-line-sep {
  width: 1px;
  height: 1em;
  background: rgba(255,255,255,.18);
}
.a2z-footer-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem 1.25rem;
}
.a2z-footer-contact > *:not(:last-child)::after {
  content: '\00b7';
  margin-left: 1.25rem;
  color: var(--color-text-muted);
}
.a2z-footer-address { color: rgba(255,255,255,.44); }
.a2z-footer-contact a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color 200ms ease;
}
.a2z-footer-contact a:hover { color: var(--color-brand-red); }

/* ── Meta: copyright + legal links, very subtle, very bottom ── */
.a2z-footer-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-top: clamp(2.25rem, 5vw, 3.25rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid rgba(255,255,255,.06);
  width: 100%;
}
.a2z-footer-copy {
  color: var(--color-text-muted) !important;
  font-size: .74rem !important;
  margin: 0 !important;
}
.a2z-footer-legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.5rem;
}
.a2z-footer-legal a {
  color: var(--color-text-muted);
  font-size: .74rem;
  text-decoration: none;
  transition: color 200ms ease;
}
.a2z-footer-legal a:hover { color: rgba(255,255,255,.75); }

@media (max-width: 600px) {
  .a2z-footer-line {
    flex-direction: column;
    gap: 1rem;
  }
  .a2z-footer-line-sep { display: none; }
  .a2z-footer-meta { flex-direction: column; gap: .75rem; }
}

/* ===================================================================
   REDESIGN v4 - polish pass (header, rhythm, cards, mobile)
   =================================================================== */

/* Header / navigation */
.site-header,
.main-navigation,
.main-navigation .inside-navigation,
.main-navigation ul ul {
  background-color: rgba(0, 0, 0, .92);
}
.site-header {
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(10px);
}
.inside-header {
  padding: .85rem 1.25rem;
}
.main-navigation .main-nav ul li a,
.menu-toggle {
  color: var(--color-white);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.main-navigation .main-nav ul li a {
  padding-left: .8rem;
  padding-right: .8rem;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .menu-toggle:hover {
  background: transparent;
  color: var(--color-brand-red);
}

/* Page rhythm */
.entry-content > .a2z-section,
.entry-content > .a2z-band {
  margin-top: 0;
  margin-bottom: 0;
}
.a2z-section > .wp-block-heading:first-child,
.a2z-section h2:first-child {
  margin-top: 0;
}
.a2z-section .wp-block-buttons {
  margin-top: 1.75rem;
}

/* Hero */
.a2z-hero {
  min-height: min(820px, calc(88vh - 72px));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  isolation: isolate;
}
.a2z-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  background: linear-gradient(to bottom, rgba(13,13,13,0), var(--color-dark-bg));
  pointer-events: none;
  z-index: -1;
}
.a2z-hero h1 {
  max-width: 11ch;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-button__link {
  border-radius: 2px;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .82rem 1.55rem;
  text-transform: uppercase;
}

/* Image bands */
.a2z-band {
  min-height: clamp(260px, 36vw, 520px) !important;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.a2z-band img.wp-block-cover__image-background {
  transform: scale(1.01);
}

/* Split sections */
.a2z-split .wp-block-columns,
.a2z-location .wp-block-columns {
  gap: clamp(2rem, 5vw, 4.5rem);
}
.a2z-split figure.wp-block-image img {
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(255,255,255,.1);
}
.a2z-split h2,
.a2z-location h2 {
  max-width: 10ch;
}

/* Service cards */
.a2z-service-grid > .wp-block-group__inner-container,
.a2z-artist-grid > .wp-block-group__inner-container {
  align-items: stretch;
}
.a2z-service-card,
.a2z-artist-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}
.a2z-service-card .wp-block-cover__background,
.a2z-artist-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.86), rgba(0,0,0,.18)) !important;
  opacity: 1 !important;
}
.a2z-service-card img.wp-block-cover__image-background,
.a2z-artist-card img.wp-block-cover__image-background {
  transform: scale(1.01);
  transition: filter 300ms ease, transform 450ms ease;
}
.a2z-service-card:hover img.wp-block-cover__image-background,
.a2z-artist-card:hover img.wp-block-cover__image-background {
  transform: scale(1.06);
}
.a2z-service-card h3 a {
  text-decoration: none;
}
.a2z-service-card p {
  opacity: .84;
}

/* Pricing / guide / social plain sections */
.a2z-pricing,
.a2z-guide,
.a2z-social {
  text-align: center;
}
.a2z-pricing p.has-text-align-center,
.a2z-guide p.has-text-align-center {
  margin-left: auto;
  margin-right: auto;
  color: var(--color-gray-light);
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  line-height: 1.8;
}
.a2z-pricing strong {
  color: var(--color-brand-red);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: 1.45em;
  font-weight: 400;
  letter-spacing: .04em;
}

/* Guide article cards - editorial / numbered */
.a2z-guide-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 3.5rem;
  text-align: left;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  counter-reset: guide-counter;
}
.a2z-guide-card {
  counter-increment: guide-counter;
  border-top: 1px solid rgba(255,255,255,.1);
  transition: border-color 240ms ease;
}
.a2z-guide-card:last-child {
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.a2z-guide-card:hover {
  border-color: rgba(212,43,43,.4);
}
.a2z-guide-card__link {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 1.75rem 0;
  text-decoration: none !important;
  color: inherit !important;
}
.a2z-guide-card__link::before {
  content: counter(guide-counter, decimal-leading-zero);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-brand-red);
  line-height: 1;
  opacity: .75;
  transition: opacity 240ms ease;
}
.a2z-guide-card:hover .a2z-guide-card__link::before {
  opacity: 1;
}
.a2z-guide-card__body {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.a2z-guide-card__title {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--color-white) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  letter-spacing: 0 !important;
  transition: color 240ms ease;
}
.a2z-guide-card:hover .a2z-guide-card__title {
  color: rgba(255,255,255,.9) !important;
}
.a2z-guide-card__excerpt {
  font-size: .88rem !important;
  color: rgba(255,255,255,.48) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.a2z-guide-card__arrow {
  font-size: 1.4rem;
  color: rgba(255,255,255,.2);
  transition: color 240ms ease, transform 240ms ease;
  flex-shrink: 0;
}
.a2z-guide-card:hover .a2z-guide-card__arrow {
  color: var(--color-brand-red);
  transform: translateX(4px);
}
@media (max-width: 680px) {
  .a2z-guide-card__link {
    grid-template-columns: 44px 1fr;
    gap: 1.25rem;
  }
  .a2z-guide-card__arrow { display: none; }
  .a2z-guide-card__link::before { font-size: 1.5rem; }
}

/* References */
.a2z-references {
  background: radial-gradient(circle at top center, rgba(212,43,43,.16), transparent 34%), #0b0b0b;
}
.a2z-bigquote {
  border-top: 1px solid rgba(212,43,43,.45);
  border-bottom: 1px solid rgba(212,43,43,.45);
  padding: 2rem 0;
}
.a2z-artist-card .wp-block-cover__inner-container {
  padding: 1.1rem;
}

/* Credibility */
.a2z-credibility {
  text-align: center;
}
.a2z-stats > .wp-block-group__inner-container {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.a2z-stat .num {
  white-space: nowrap;
}

/* Location */
.a2z-location {
  background: radial-gradient(ellipse at 60% 50%, rgba(212,43,43,.07), transparent 60%), #0a0a0a;
}
.a2z-location > .wp-block-group__inner-container > .wp-block-columns {
  gap: clamp(2.5rem, 5vw, 5rem) !important;
  align-items: center !important;
}
.a2z-location h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  margin-bottom: 1.25rem !important;
}
.a2z-location p {
  color: rgba(255,255,255,.72) !important;
  line-height: 1.75 !important;
  max-width: 44ch;
}
.a2z-contact-info {
  margin-top: 1.5rem !important;
  color: var(--color-white) !important;
  font-size: 1rem;
  line-height: 1.9;
}
.a2z-contact-info a {
  color: rgba(255,255,255,.75);
  text-decoration: none;
  transition: color 200ms ease;
}
.a2z-contact-info a:hover {
  color: var(--color-brand-red);
}
.a2z-location .wp-block-buttons {
  margin-top: 2rem !important;
}
.a2z-location iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 1px solid rgba(255,255,255,.1) !important;
  filter: grayscale(1) brightness(.85) contrast(1.1);
  transition: filter 300ms ease;
}
.a2z-location iframe:hover {
  filter: grayscale(.4) brightness(.95) contrast(1.05);
}
@media (max-width: 768px) {
  .a2z-location > .wp-block-group__inner-container > .wp-block-columns {
    flex-direction: column !important;
  }
  .a2z-location iframe {
    height: 300px;
  }
}

/* Social icons */
.a2z-social .wp-block-social-links {
  gap: 1rem;
}
.a2z-social .wp-social-link a {
  color: var(--color-white);
  transform: scale(1.25);
  transition: color 200ms ease, transform 200ms ease;
}
.a2z-social .wp-social-link a:hover {
  color: var(--color-brand-red);
  transform: scale(1.38);
}

/* Mobile */
@media (max-width: 900px) {
  .inside-header {
    padding: .65rem 1rem;
  }
  .a2z-hero {
    min-height: 74vh;
  }
  .a2z-service-card {
    min-height: 330px !important;
  }
  .a2z-artist-card {
    min-height: 280px !important;
  }
}
@media (max-width: 600px) {
  .a2z-section {
    padding: 3rem 1rem;
  }
  .a2z-hero {
    min-height: 68vh;
  }
  .a2z-hero h1 {
    font-size: clamp(3rem, 18vw, 5rem);
  }
  .a2z-service-grid > .wp-block-group__inner-container,
  .a2z-artist-grid > .wp-block-group__inner-container,
  .a2z-stats > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
  /* "Naše služby" na mobilu - dlaždice na šířku místo na výšku
     (brief 2026-07-09/13, bod 1.6): při 1 sloupci by 330px výška proti
     ~340-380px šířce displeje dávala skoro čtverec, ne jasně "na šířku"
     tvar - snížením výšky vznikne zřetelně landscape poměr stran. */
  .a2z-service-card {
    min-height: 200px !important;
  }
}

/* "Nahrávali u nás" na mobilu - galerie od kraje do kraje, bez bočních
   okrajů (brief 2026-07-09/13, bod 1.9; audit Web_2026). Karusel je za
   běhu obalen JS (a2z_carousel_arrows_script) do .a2z-carousel-nav, ale
   MEZI ním a .a2z-section leží ještě Gutenberg .wp-block-group__inner-
   -container s VLASTNÍM paddingem (30px) a max-width (~327px na této
   šířce) - ten je sdílený se zbytkem sekce (nadpis atd.), takže ho
   nejde jen tak zrušit, aniž by to rozjelo i text. Řešení: klasický
   viewport-relative full-bleed trik přímo na .a2z-carousel-nav (100vw
   + left:50%/margin-left:-50vw) - ignoruje veškerý padding/max-width
   všech rodičů, protože se váže k viewportu, ne k rodičovskému boxu. */
@media (max-width: 600px) {
  .a2z-references .a2z-carousel-nav:has(.a2z-artist-grid) {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
  }
}

/* v4 fix: keep hero fade above background and below content */
.a2z-hero::after {
  z-index: 0;
}
.a2z-hero > * {
  position: relative;
  z-index: 1;
}

/* ===================================================================
   FINAL POLISH - trust bar, footer, quote, photo moment, header
   =================================================================== */

/* Header final polish */
.site-header {
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}
.inside-header {
  align-items: center;
  min-height: 76px;
}
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 64px;
}
.main-navigation .main-nav ul li a {
  line-height: 76px;
  padding-left: .95rem;
  padding-right: .95rem;
  position: relative;
}
.main-navigation .main-nav ul li a::after {
  content: "";
  position: absolute;
  left: .95rem;
  right: .95rem;
  bottom: 21px;
  height: 2px;
  background: var(--color-brand-red);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}
.main-navigation .main-nav ul li:hover > a::after,
.main-navigation .main-nav ul li[class*="current-menu-"] > a::after {
  transform: scaleX(1);
}

/* Quote as primary social proof */
.a2z-references > .wp-block-group__inner-container {
  max-width: 1260px;
}
.a2z-bigquote {
  max-width: 1120px;
  margin-top: 1.25rem;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1rem, 4vw, 3rem);
  border-top: 1px solid rgba(212, 43, 43, .55);
  border-bottom: 1px solid rgba(212, 43, 43, .55);
  background: linear-gradient(90deg, transparent, rgba(212, 43, 43, .08), transparent);
}
.a2z-bigquote p {
  font-size: clamp(2.55rem, 6vw, 5rem);
  letter-spacing: .025em;
  line-height: .98;
}
.a2z-bigquote cite {
  margin-top: 1.35rem;
  color: var(--color-brand-red);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Strong photo moment between references and trust */
.a2z-references + .a2z-band {
  min-height: clamp(360px, 48vw, 680px) !important;
  border-top: 0;
  border-bottom: 0;
}
.a2z-references + .a2z-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.12), rgba(0,0,0,.72));
  pointer-events: none;
}
.a2z-references + .a2z-band img.wp-block-cover__image-background {
  filter: grayscale(.85) contrast(1.08);
}

/* Trust bar */
.a2z-credibility {
  padding-top: clamp(4rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 7rem);
  background: #101010;
}
.a2z-credibility > .wp-block-group__inner-container {
  max-width: 1240px;
}
.a2z-credibility h2 {
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}
.a2z-stats > .wp-block-group__inner-container {
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.a2z-logos {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}
.a2z-logos > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0;
}
.a2z-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 1.5rem;
  background: none;
  border: none;
  transition: opacity 300ms ease;
}
.a2z-logo:hover { opacity: 1 !important; }
.a2z-logo img {
  width: auto;
  max-width: 160px;
  height: auto;
  max-height: 56px;
  object-fit: contain;
  /* grayscale + invert: white bg → black (splyne s tmavou stránkou), logo shapes → white/light */
  filter: grayscale(1) invert(1) !important;
  opacity: 0.5;
  transition: filter 300ms ease, opacity 300ms ease;
}
.a2z-logo:hover img {
  filter: grayscale(0) invert(0) brightness(1.1) !important;
  opacity: 1;
}

/* Footer background */
.site-footer,
.site-footer .site-info {
  background: #000000;
}

@media (max-width: 1024px) {
  .a2z-logos > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .inside-header {
    min-height: 64px;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 48px;
  }
  .main-navigation .main-nav ul li a {
    line-height: 48px;
  }
  .a2z-bigquote p {
    font-size: clamp(2.35rem, 13vw, 4rem);
  }
  .a2z-logo {
    min-height: 96px;
  }
  .a2z-logo img {
    max-width: 150px;
    max-height: 62px;
  }
}
@media (max-width: 560px) {
  .a2z-logos > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}

/* ===================================================================
   QA FIXES - mobile overflow, touch targets, footer stability
   =================================================================== */
html,
body {
  overflow-x: clip;
}
.a2z-section,
.a2z-band,
.site-footer {
  max-width: 100%;
}
.a2z-contact-info,
.a2z-footer-contact p,
.a2z-footer-brand p,
.a2z-footer-nav a,
.a2z-footer-menu a {
  overflow-wrap: anywhere;
}
.main-navigation .main-nav ul li a,
.menu-toggle,
.wp-block-button__link,
.a2z-footer-social a,
.a2z-social .wp-social-link a {
  min-height: 44px;
}
.a2z-service-card,
.a2z-artist-card,
.a2z-logo {
  contain: layout paint;
}
.a2z-logo img {
  flex: 0 1 auto;
}
@media (max-width: 768px) {
  .a2z-split .wp-block-columns,
  .a2z-location .wp-block-columns {
    gap: 1.5rem;
  }
  .a2z-split .wp-block-column,
  .a2z-location .wp-block-column {
    flex-basis: 100% !important;
  }
  .a2z-pricing p.has-text-align-center,
  .a2z-guide p.has-text-align-center,
  .a2z-location p,
  .a2z-split p {
    font-size: 1rem;
    line-height: 1.75;
  }
  .a2z-service-card .wp-block-cover__inner-container,
  .a2z-artist-card .wp-block-cover__inner-container {
    padding: 1rem;
  }
  .a2z-footer-menu {
    gap: .9rem;
  }
}
@media (max-width: 420px) {
  .a2z-section {
    padding-left: .9rem;
    padding-right: .9rem;
  }
  .a2z-hero h1 {
    max-width: 9ch;
  }
  .a2z-logo {
    min-height: 88px;
    padding: 1rem;
  }
  .a2z-logo img {
    max-width: 132px;
    max-height: 56px;
  }
  .a2z-footer-menu {
    flex-direction: column;
    align-items: center;
  }
}

/* ===================================================================
   HEADER REDESIGN - premium studio navigation
   =================================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.88));
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 18px 46px rgba(0,0,0,.42);
  backdrop-filter: blur(14px);
}
.site-header .inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1360px;
  min-height: 92px;
  margin: 0 auto;
  padding: 1rem clamp(1.25rem, 3vw, 2.5rem);
  gap: 2rem;
  background: transparent;
}
.site-logo,
.site-branding,
.site-header .site-logo {
  flex: 0 0 auto;
}
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  display: block;
  max-height: 78px;
  width: auto;
}
.main-navigation,
.main-navigation .inside-navigation {
  margin-left: auto;
  background: transparent !important;
}
.main-navigation .main-nav > ul {
  display: flex;
  align-items: center;
  gap: clamp(.35rem, 1vw, .85rem);
}
.main-navigation .main-nav ul li a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  line-height: 46px;
  padding: 0 .9rem;
  color: rgba(255,255,255,.82);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: color 180ms ease, background-color 180ms ease;
}
.main-navigation .main-nav ul li a .dropdown-menu-toggle {
  display: inline-flex !important;
  align-items: center !important;
  height: auto !important;
  float: none !important;
  clear: none !important;
  margin-top: 0 !important;
  padding: 0 0 0 .4rem !important;
}
.main-navigation .main-nav ul li a .gp-icon {
  display: inline-flex !important;
  align-items: center !important;
}
.main-navigation .main-nav ul li a .gp-icon svg {
  top: 0 !important;
  position: static !important;
}
.main-navigation .main-nav ul li a::after {
  left: .9rem;
  right: .9rem;
  bottom: 7px;
  height: 1px;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li:focus > a {
  color: var(--color-white);
}
.main-navigation .a2z-lang-sep {
  height: 24px;
  margin: 0 .35rem;
  background: rgba(255,255,255,.18);
}
.main-navigation .lang-item a {
  min-width: 38px;
  padding-left: .45rem;
  padding-right: .45rem;
  color: rgba(255,255,255,.7);
  letter-spacing: .08em;
}
.main-navigation .lang-item.current-lang a {
  color: var(--color-brand-red);
}
.main-navigation .a2z-menu-cta a {
  min-height: 48px;
  line-height: 46px;
  margin-left: .45rem;
  padding: 0 1.35rem;
  border: 1px solid var(--color-brand-red);
  background: var(--color-brand-red);
  color: var(--color-white) !important;
  box-shadow: 0 10px 26px rgba(212,43,43,.28);
}
.main-navigation .a2z-menu-cta a::after {
  display: none;
}
.main-navigation .a2z-menu-cta a:hover,
.main-navigation .a2z-menu-cta a:focus {
  background: transparent;
  color: var(--color-brand-red) !important;
  box-shadow: 0 0 0 1px rgba(212,43,43,.25), 0 12px 30px rgba(0,0,0,.35);
}
.main-navigation .main-nav ul ul {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(5,5,5,.98) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.5);
}
.main-navigation .main-nav ul ul li a {
  min-height: 42px;
  line-height: 42px;
  padding: 0 1rem;
}
.menu-toggle {
  min-height: 48px;
  padding: 0 1rem;
  border: 1px solid rgba(255,255,255,.16);
  color: var(--color-white);
  background: transparent;
}
.menu-toggle:hover,
.menu-toggle:focus {
  border-color: var(--color-brand-red);
  color: var(--color-brand-red);
  background: transparent;
}

@media (max-width: 1180px) {
  .site-header .inside-header {
    min-height: 82px;
    gap: 1.25rem;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 64px;
  }
  .main-navigation .main-nav ul li a {
    padding-left: .62rem;
    padding-right: .62rem;
    font-size: .7rem;
    letter-spacing: .09em;
  }
  .main-navigation .a2z-menu-cta a {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (max-width: 768px) {
  .site-header .inside-header {
    min-height: 72px;
    padding: .75rem 1rem;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 58px;
  }
  .main-navigation.toggled .main-nav > ul,
  .main-navigation .main-nav > ul {
    gap: 0;
  }
  .main-navigation .main-nav ul li a {
    min-height: 48px;
    line-height: 48px;
    padding: 0 1rem;
    font-size: .82rem;
    letter-spacing: .08em;
  }
  .main-navigation .a2z-menu-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: .75rem 1rem .45rem;
    min-height: 50px;
    width: calc(100% - 2rem);
  }
  .main-navigation .a2z-lang-sep {
    display: none;
  }
  .main-navigation .lang-item {
    display: inline-block;
  }
}
@media (max-width: 420px) {
  .site-header .inside-header {
    min-height: 78px;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 52px;
  }
}

/* ===================================================================
   HEADER FINAL REFINEMENT - logo-only brand, language, compact height
   =================================================================== */
.site-header .site-branding {
  display: none !important;
}
.site-header .inside-header {
  min-height: 96px;
  padding-top: .9rem;
  padding-bottom: .9rem;
  gap: clamp(1.25rem, 2.6vw, 2.75rem);
}
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 86px;
}
.main-navigation .main-nav > ul {
  gap: clamp(.5rem, 1.2vw, 1rem);
}
.main-navigation .main-nav ul li a {
  min-height: 44px;
  line-height: 44px;
  padding-left: .98rem;
  padding-right: .98rem;
}
.main-navigation .a2z-lang-sep {
  margin-left: .55rem;
  margin-right: .25rem;
}
.main-navigation .a2z-lang-wrap {
  display: flex;
  align-items: center;
}
.main-navigation .a2z-lang-group {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  padding: .18rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.035);
}
.main-navigation .a2z-lang-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
  min-height: 34px !important;
  height: 34px;
  line-height: 1 !important;
  padding: 0 !important;
  color: var(--color-white);
  font-size: 1rem !important;
  opacity: .55;
  text-decoration: none;
  transition: opacity 180ms ease, background-color 180ms ease, transform 180ms ease;
}
.main-navigation .a2z-lang-link::after {
  display: none;
}
.main-navigation .a2z-lang-link:hover,
.main-navigation .a2z-lang-link:focus,
.main-navigation .a2z-lang-link.is-active {
  background: rgba(255,255,255,.1);
  opacity: 1;
  transform: translateY(-1px);
}
.main-navigation .a2z-lang-link.is-active {
  box-shadow: inset 0 -2px 0 var(--color-brand-red);
}
.main-navigation .a2z-menu-cta a {
  min-height: 46px;
  line-height: 44px;
  margin-left: .35rem;
  box-shadow: 0 8px 18px rgba(212,43,43,.18);
}
.main-navigation .a2z-menu-cta a:hover,
.main-navigation .a2z-menu-cta a:focus {
  box-shadow: 0 0 0 1px rgba(212,43,43,.22), 0 10px 22px rgba(0,0,0,.28);
}
@media (max-width: 1180px) {
  .site-header .inside-header {
    min-height: 84px;
    padding-top: .75rem;
    padding-bottom: .75rem;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 74px;
  }
  .main-navigation .main-nav ul li a {
    padding-left: .7rem;
    padding-right: .7rem;
  }
}
@media (max-width: 768px) {
  .site-header .inside-header {
    min-height: 76px;
    padding-top: .7rem;
    padding-bottom: .7rem;
  }
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 62px;
  }
  .main-navigation .a2z-lang-wrap {
    padding: .5rem 1rem 0;
  }
  .main-navigation .a2z-lang-group {
    width: 100%;
    justify-content: center;
  }
  .main-navigation .a2z-lang-link {
    width: 44px;
    height: 44px;
    min-height: 44px !important;
    font-size: 1.15rem !important;
  }
  .main-navigation .a2z-menu-cta a {
    margin-top: .6rem;
  }
}
@media (max-width: 420px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 56px;
  }
}

/* ===================================================================
   FINAL HOMEPAGE POLISH - larger logo, language clarity, pricing block
   =================================================================== */
.site-header .inside-header {
  min-height: 82px;
}
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 104px;
}
.main-navigation .a2z-lang-group {
  gap: .36rem;
  padding: .24rem;
}
.main-navigation .a2z-lang-link {
  width: 42px;
  min-width: 42px;
  height: 40px;
  min-height: 40px !important;
  font-size: 1.28rem !important;
}
.main-navigation .a2z-menu-cta a {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-shadow: 0 7px 16px rgba(212,43,43,.16);
}
.a2z-pricing {
  background: radial-gradient(circle at center top, rgba(212,43,43,.13), transparent 34%), #0f0f0f;
}
.a2z-pricing > .wp-block-group__inner-container {
  max-width: 1120px;
}
.a2z-pricing h2 {
  max-width: 12ch;
  margin-left: auto;
  margin-right: auto;
}
.a2z-pricing-lead {
  max-width: 760px !important;
  margin-left: auto;
  margin-right: auto;
}
.a2z-pricing-grid > .wp-block-group__inner-container,
.a2z-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
}
.a2z-pricing-card {
  min-height: 100%;
  padding: clamp(1.25rem, 2.2vw, 1.8rem);
  border: 1px solid rgba(255,255,255,.11);
  border-top: 2px solid rgba(212,43,43,.72);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02));
  text-align: left;
}
.a2z-pricing-kicker {
  display: block;
  margin-bottom: .75rem;
  color: var(--color-gray-mid);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.a2z-pricing-card strong {
  display: block;
  color: var(--color-white);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1;
}
.a2z-pricing-card p {
  margin: .85rem 0 0;
  color: var(--color-gray-light);
  font-size: .95rem;
  line-height: 1.65;
}
.a2z-pricing-note {
  max-width: 660px !important;
  margin: clamp(1.75rem, 3vw, 2.5rem) auto 0;
  color: var(--color-gray-light);
}
@media (max-width: 1180px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 88px;
  }
}
@media (max-width: 820px) {
  .a2z-pricing-grid > .wp-block-group__inner-container,
  .a2z-pricing-grid {
    grid-template-columns: 1fr;
  }
  .a2z-pricing-card {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 68px;
  }
  .main-navigation .a2z-lang-link {
    width: 48px;
    height: 46px;
    min-height: 46px !important;
    font-size: 1.35rem !important;
  }
}

/* ===================================================================
   PRICING CORRECTION - readable conversion cards
   =================================================================== */
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 116px;
}
.a2z-pricing h2 {
  max-width: none;
}
.a2z-pricing-grid,
.a2z-pricing-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.4rem);
  align-items: stretch;
}
.a2z-pricing-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 220px;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  border: 1px solid rgba(255,255,255,.13);
  border-top: 3px solid var(--color-brand-red);
  background: rgba(255,255,255,.055);
  text-align: center;
}
.a2z-pricing-card h3 {
  margin: 0 0 .85rem;
  color: var(--color-white);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.05;
}
.a2z-pricing-card strong {
  display: block;
  margin: 0 0 1rem;
  color: var(--color-brand-red);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1.02;
  text-transform: uppercase;
  writing-mode: horizontal-tb;
  white-space: normal;
}
.a2z-pricing-card p {
  max-width: none;
  margin: auto 0 0;
  color: var(--color-gray-light);
  font-size: 1rem;
  line-height: 1.65;
}
.a2z-pricing-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem 1rem;
  max-width: 900px;
  margin: clamp(1.75rem, 3vw, 2.4rem) auto 0;
  padding: 0;
  list-style: none;
}
.a2z-pricing-benefits li {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .55rem .9rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.2);
  color: var(--color-gray-light);
  font-size: .92rem;
  font-weight: 600;
}
.a2z-pricing-benefits li::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: .55rem;
  background: var(--color-brand-red);
}
@media (max-width: 1180px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 98px;
  }
}
@media (max-width: 820px) {
  .a2z-pricing-grid,
  .a2z-pricing-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
  .a2z-pricing-card {
    min-height: 0;
  }
}
@media (max-width: 768px) {
  .site-logo img,
  .header-image.is-logo-image,
  img.custom-logo {
    max-height: 74px;
  }
}

/* ===================================================================
   PRICING REWORK - compact commercial presentation
   =================================================================== */
.a2z-pricing {
  padding-top: clamp(2.6rem, 4.5vw, 4.25rem);
  padding-bottom: clamp(2.6rem, 4.5vw, 4.25rem);
  background: #0f0f0f;
}
.a2z-pricing > .wp-block-group__inner-container {
  max-width: 1060px;
}
.a2z-pricing h2 {
  max-width: none;
  margin-bottom: .55rem;
  font-size: clamp(2.25rem, 4.6vw, 3.5rem);
  line-height: .98;
}
.a2z-pricing-lead {
  max-width: 680px !important;
  margin: 0 auto clamp(1.35rem, 2.2vw, 1.9rem);
  color: var(--color-gray-light);
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.55;
}
.a2z-pricing-grid,
.a2z-pricing-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: .7rem;
  max-width: 920px;
  margin: 0 auto;
}
.a2z-pricing-card {
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(180px, .9fr) minmax(0, 1.45fr);
  align-items: center;
  gap: 1rem;
  min-height: 0;
  padding: .9rem 1.1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-left: 3px solid var(--color-brand-red);
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  text-align: left;
}
.a2z-pricing-card h3 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1;
}
.a2z-pricing-card strong {
  display: block;
  margin: 0;
  color: var(--color-brand-red);
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
  white-space: normal;
}
.a2z-pricing-card p {
  max-width: none;
  margin: 0;
  color: var(--color-gray-light);
  font-size: .96rem;
  line-height: 1.45;
}
.a2z-pricing-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem .8rem;
  max-width: 900px;
  margin: clamp(1.2rem, 2vw, 1.6rem) auto clamp(1.15rem, 2vw, 1.55rem);
  padding: 0;
  list-style: none;
}
.a2z-pricing-benefits li {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .36rem .72rem;
  border: 0;
  background: transparent;
  color: var(--color-gray-light);
  font-size: .92rem;
  font-weight: 600;
}
.a2z-pricing-benefits li::before {
  content: '✓';
  width: auto;
  height: auto;
  margin-right: .45rem;
  background: none;
  color: var(--color-brand-red);
  font-weight: 700;
}
.a2z-pricing .wp-block-buttons {
  margin-top: 0;
}
@media (max-width: 820px) {
  .a2z-pricing-card {
    grid-template-columns: 1fr;
    gap: .45rem;
    text-align: center;
  }
}

/* ===================================================================
   PRICING TYPOGRAPHY FIX - consistent readable text
   =================================================================== */
.a2z-pricing,
.a2z-pricing p,
.a2z-pricing a,
.a2z-pricing li,
.a2z-pricing h3,
.a2z-pricing strong {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
.a2z-pricing h2 {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 3.2vw, 2.85rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
  text-transform: none;
}
.a2z-pricing-lead {
  font-size: 1.05rem;
  line-height: 1.55;
}
.a2z-pricing-card {
  grid-template-columns: 180px 190px minmax(0, 1fr);
  padding: .95rem 1.15rem;
}
.a2z-pricing-card h3,
.a2z-pricing-card strong,
.a2z-pricing-card p {
  font-size: 1rem;
  line-height: 1.45;
}
.a2z-pricing-card h3 {
  font-weight: 700;
}
.a2z-pricing-card strong {
  font-weight: 700;
}
.a2z-pricing-card p {
  font-weight: 400;
}
.a2z-pricing-benefits li {
  font-size: .95rem;
  line-height: 1.35;
}
@media (max-width: 820px) {
  .a2z-pricing-card {
    grid-template-columns: 1fr;
  }
  .a2z-pricing-card h3,
  .a2z-pricing-card strong,
  .a2z-pricing-card p {
    font-size: 1rem;
  }
}

/* ===================================================================
   GLOBAL TYPOGRAPHY FIX - readable Inter everywhere
   =================================================================== */
body,
button,
input,
select,
textarea,
a,
p,
li,
blockquote,
cite,
.wp-block-button__link,
.main-navigation .main-nav ul li a,
.menu-toggle,
.site-footer,
.a2z-footer,
.a2z-footer h3,
.a2z-service-card h3,
.a2z-service-card p,
.a2z-artist-card h3,
.a2z-stat .num,
.a2z-stat .lbl,
.a2z-bigquote p,
.a2z-bigquote cite,
.a2z-price,
.wp-block-details summary {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.entry-title,
.wp-block-heading,
.a2z-section h2,
.a2z-service-card h3,
.a2z-artist-card h3,
.a2z-footer-col h3 {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.a2z-hero h1 {
  max-width: 16ch;
  font-size: 4.25rem !important;
  line-height: 1.05 !important;
}
.a2z-section h2,
.entry-content h2 {
  font-size: 2.4rem !important;
  line-height: 1.12 !important;
}
.entry-content h3,
.a2z-service-card h3,
.a2z-artist-card h3,
.a2z-footer-col h3 {
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
}
.a2z-section p,
.entry-content p,
.a2z-service-card p,
.a2z-artist-card p,
.a2z-footer p {
  font-size: 1rem;
  line-height: 1.65;
}
.main-navigation .main-nav ul li a,
.menu-toggle,
.wp-block-button__link {
  font-size: .88rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
.a2z-bigquote p {
  font-size: 2.4rem !important;
  line-height: 1.18 !important;
}
.a2z-stat .num {
  font-size: 2.8rem !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
}
@media (max-width: 768px) {
  .a2z-hero h1 {
    font-size: 2.85rem !important;
  }
  .a2z-section h2,
  .entry-content h2 {
    font-size: 2rem !important;
  }
  .a2z-bigquote p {
    font-size: 2rem !important;
  }
  .a2z-stat .num {
    font-size: 2.25rem !important;
  }
}
@media (max-width: 420px) {
  .a2z-hero h1 {
    font-size: 2.35rem !important;
  }
  .a2z-section h2,
  .entry-content h2 {
    font-size: 1.75rem !important;
  }
}

/* ===================================================================
   SCROLLBAR FIX - single document scrollbar
   =================================================================== */
html {
  overflow-x: hidden;
  overflow-y: auto;
  height: auto;
  max-height: none;
}
body {
  overflow-x: hidden;
  overflow-y: visible;
  height: auto;
  max-height: none;
  min-height: 100%;
}
#page,
.site,
.site-content,
.content-area,
.site-main,
main,
.inside-article,
.entry-content {
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
}
/* GeneratePress defaultně dává na <main> spodní margin (Customizer
   "Content Bottom Margin", ~20px) - na tomhle tmavém full-bleed designu
   to mezi poslední sekcí a patičkou vytváří viditelný "pruh" jiné barvy
   pozadí (prosvítá pozadí body/site-content skrz mezeru). */
main {
  margin-bottom: 0 !important;
}
#page,
.site,
.site-content,
.content-area,
.site-main,
main,
.inside-article {
  overflow-x: clip;
}
.entry-content {
  overflow-x: clip;
}
.a2z-section,
.a2z-band,
.a2z-hero,
.wp-block-cover {
  max-height: none !important;
}

/* ===================================================================
   LIVE WIX TYPOGRAPHY MATCH - Signika + DIN Next
   =================================================================== */
:root {
  --a2z-font-body: 'Source Sans 3', Arial, Helvetica, sans-serif;
  --a2z-font-heading: 'Source Sans 3', Arial, Helvetica, sans-serif;
}
body,
button,
input,
select,
textarea,
a,
p,
li,
blockquote,
cite,
.wp-block-button__link,
.main-navigation .main-nav ul li a,
.menu-toggle,
.site-footer,
.a2z-footer,
.a2z-footer p,
.a2z-footer a,
.a2z-service-card p,
.a2z-artist-card p,
.a2z-stat .lbl,
.a2z-pricing,
.a2z-pricing p,
.a2z-pricing li,
.a2z-pricing strong {
  font-family: var(--a2z-font-body) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.entry-title,
.wp-block-heading,
.a2z-section h2,
.a2z-hero h1,
.a2z-service-card h3,
.a2z-artist-card h3,
.a2z-footer-col h3,
.a2z-bigquote p,
.a2z-stat .num,
.wp-block-details summary {
  font-family: var(--a2z-font-heading) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.main-navigation .main-nav ul li a,
.menu-toggle,
.wp-block-button__link,
.a2z-pricing-card h3,
.a2z-pricing-card strong,
.a2z-pricing-benefits li {
  font-family: var(--a2z-font-body) !important;
  font-weight: 400 !important;
}
.a2z-hero h1 {
  font-size: clamp(2.6rem, 6vw, 5rem) !important;
  line-height: 1.1 !important;
}
.a2z-section h2,
.entry-content h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.55rem) !important;
  line-height: 1.1 !important;
}
.entry-content h3,
.a2z-service-card h3,
.a2z-artist-card h3,
.a2z-footer-col h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.55rem) !important;
  line-height: 1.18 !important;
}
body,
.entry-content p,
.a2z-section p {
  font-size: 16px;
  line-height: 1.55;
}

/* ===================================================================
   STUDIOS SECTION - Studio A / Studio Z homepage advantage
   =================================================================== */
.a2z-studios {
  background: #0b0b0b;
  padding-top: clamp(3.5rem, 6vw, 6rem);
  padding-bottom: clamp(3.5rem, 6vw, 6rem);
}
.a2z-studios > .wp-block-group__inner-container {
  max-width: 1240px;
}
.a2z-studios h2 {
  margin-bottom: .65rem;
}
.a2z-studios-lead {
  max-width: 680px !important;
  margin: 0 auto clamp(2rem, 3.5vw, 3rem);
  color: var(--color-gray-light);
  font-size: 1.05rem;
  line-height: 1.55;
}
.a2z-studio-grid,
.a2z-studio-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.4rem);
  align-items: stretch;
}
.a2z-studio-card {
  min-height: clamp(360px, 35vw, 500px) !important;
  border: 1px solid rgba(255,255,255,.1);
  overflow: hidden;
}
.a2z-studio-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.15)) !important;
  opacity: 1 !important;
}
.a2z-studio-card img.wp-block-cover__image-background {
  filter: grayscale(.85) contrast(1.05);
  transform: scale(1.01);
  transition: filter 300ms ease, transform 450ms ease;
}
.a2z-studio-card:hover img.wp-block-cover__image-background {
  filter: grayscale(0) contrast(1.04);
  transform: scale(1.05);
}
.a2z-studio-card .wp-block-cover__inner-container {
  width: 100%;
  max-width: 520px;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.a2z-studio-card h3 {
  margin: 0 0 .9rem;
  color: var(--color-white);
  font-family: var(--a2z-font-heading) !important;
  font-size: clamp(1.7rem, 3vw, 2.5rem) !important;
  line-height: 1.05 !important;
}
.a2z-studio-card ul {
  display: grid;
  gap: .45rem;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}
.a2z-studio-card li {
  color: var(--color-gray-light);
  font-family: var(--a2z-font-body) !important;
  font-size: 1rem;
  line-height: 1.4;
}
.a2z-studio-card li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: .55rem;
  vertical-align: middle;
  background: var(--color-brand-red);
}
.a2z-studio-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .65rem 1rem;
  border: 1px solid var(--color-brand-red);
  color: var(--color-white);
  font-family: var(--a2z-font-body) !important;
  font-size: .95rem;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}
.a2z-studio-link:hover,
.a2z-studio-link:focus {
  background: var(--color-brand-red);
  color: var(--color-white);
}
@media (max-width: 820px) {
  .a2z-studio-grid,
  .a2z-studio-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
  .a2z-studio-card {
    min-height: 390px !important;
  }
}
@media (max-width: 480px) {
  .a2z-studio-card {
    min-height: 360px !important;
  }
}

/* ===================================================================
   STUDIOS SECTION REFINEMENT - wide premium desktop cards
   =================================================================== */
.a2z-studios {
  padding-top: clamp(4rem, 6vw, 6.8rem);
  padding-bottom: clamp(4rem, 6vw, 6.8rem);
}
.a2z-studios > .wp-block-group__inner-container {
  max-width: min(1500px, calc(100vw - 72px));
}
.a2z-studios h2 {
  font-size: clamp(2rem, 3.8vw, 3.25rem) !important;
}
.a2z-studios-lead {
  margin-bottom: clamp(2.2rem, 3.2vw, 3.6rem);
  font-size: clamp(1.05rem, 1.25vw, 1.22rem) !important;
}
.a2z-studio-grid,
.a2z-studio-grid > .wp-block-group__inner-container {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.4rem, 2.6vw, 2.8rem);
}
.a2z-studio-card {
  min-height: clamp(560px, 48vw, 720px) !important;
  border: 0;
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.a2z-studio-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.58) 28%, rgba(0,0,0,.12) 68%) !important;
}
.a2z-studio-card .wp-block-cover__inner-container {
  max-width: 620px;
  padding: clamp(1.6rem, 3.2vw, 3rem);
}
.a2z-studio-card h3 {
  margin-bottom: clamp(.8rem, 1.2vw, 1.15rem);
  font-size: clamp(2.45rem, 4.4vw, 4.7rem) !important;
  line-height: .98 !important;
}
.a2z-studio-card ul {
  gap: .55rem;
  margin-bottom: clamp(1.25rem, 2vw, 1.8rem);
}
.a2z-studio-card li {
  font-size: clamp(1.02rem, 1.25vw, 1.22rem);
  color: rgba(255,255,255,.88);
}
.a2z-studio-link {
  min-height: 46px;
  padding: .72rem 1.15rem;
  font-size: 1rem;
}
@media (max-width: 1100px) {
  .a2z-studios > .wp-block-group__inner-container {
    max-width: min(1180px, calc(100vw - 40px));
  }
  .a2z-studio-card {
    min-height: clamp(500px, 56vw, 620px) !important;
  }
}
@media (max-width: 820px) {
  .a2z-studios > .wp-block-group__inner-container {
    max-width: min(720px, calc(100vw - 28px));
  }
  .a2z-studio-grid,
  .a2z-studio-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .a2z-studio-card {
    min-height: clamp(420px, 82vw, 560px) !important;
  }
  .a2z-studio-card h3 {
    font-size: clamp(2.15rem, 10vw, 3.2rem) !important;
  }
}
@media (max-width: 480px) {
  .a2z-studios > .wp-block-group__inner-container {
    max-width: calc(100vw - 22px);
  }
  .a2z-studio-card {
    min-height: 430px !important;
  }
  .a2z-studio-card .wp-block-cover__inner-container {
    padding: 1.25rem;
  }
}

/* ===================================================================
   STUDIOS SECTION REDESIGN - two full-size studio spaces
   =================================================================== */
.a2z-studios {
  padding: clamp(4.5rem, 7vw, 7.5rem) 0 !important;
  background: #080808;
  overflow: hidden;
}
.a2z-studios > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  padding-inline: clamp(1rem, 3vw, 3.5rem);
}
.a2z-studios h2,
.a2z-studios-lead {
  max-width: 900px !important;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.a2z-studios h2 {
  margin-bottom: .75rem;
  font-size: clamp(2.35rem, 5vw, 4.4rem) !important;
  line-height: .95 !important;
}
.a2z-studios-lead {
  margin-bottom: clamp(2.5rem, 4.5vw, 5rem) !important;
  color: rgba(255,255,255,.72);
  font-size: clamp(1.08rem, 1.35vw, 1.3rem) !important;
}
.a2z-studio-grid,
.a2z-studio-grid > .wp-block-group__inner-container {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
}
.a2z-studio-card {
  width: 100% !important;
  min-height: clamp(700px, 52vw, 900px) !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #111;
  isolation: isolate;
}
.a2z-studio-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.62) 24%, rgba(0,0,0,.16) 62%, rgba(0,0,0,.04) 100%) !important;
  opacity: 1 !important;
}
.a2z-studio-card img.wp-block-cover__image-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: grayscale(.72) contrast(1.08) brightness(.9);
  transform: scale(1.015);
}
.a2z-studio-card:hover img.wp-block-cover__image-background {
  filter: grayscale(0) contrast(1.06) brightness(.96);
  transform: scale(1.045);
}
.a2z-studio-card .wp-block-cover__inner-container {
  width: min(100%, 680px) !important;
  max-width: 680px !important;
  padding: clamp(1.8rem, 3.8vw, 4.5rem) !important;
}
.a2z-studio-card h3 {
  margin: 0 0 clamp(1rem, 1.6vw, 1.6rem) !important;
  font-size: clamp(3.2rem, 6.8vw, 7.6rem) !important;
  line-height: .88 !important;
  color: #fff;
  text-shadow: 0 10px 36px rgba(0,0,0,.6);
}
.a2z-studio-card ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: .65rem .75rem !important;
  max-width: 620px;
  margin: 0 0 clamp(1.25rem, 2vw, 2rem) !important;
  padding: 0 !important;
  list-style: none !important;
}
.a2z-studio-card li {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .45rem .72rem;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.32);
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(.98rem, 1vw, 1.08rem) !important;
  line-height: 1.2 !important;
  backdrop-filter: blur(8px);
}
.a2z-studio-card li::before {
  width: 5px !important;
  height: 5px !important;
  margin-right: .5rem !important;
  background: var(--color-brand-red) !important;
}
.a2z-studio-link {
  min-height: 48px !important;
  padding: .8rem 1.25rem !important;
  background: rgba(0,0,0,.2);
  border-color: var(--color-brand-red) !important;
  color: #fff !important;
  font-size: 1rem !important;
}
@media (min-width: 1500px) {
  .a2z-studios > .wp-block-group__inner-container {
    padding-inline: clamp(2rem, 4vw, 5rem);
  }
  .a2z-studio-card {
    min-height: min(900px, 74vh) !important;
  }
}
@media (max-width: 1180px) {
  .a2z-studio-card {
    min-height: clamp(620px, 64vw, 760px) !important;
  }
  .a2z-studio-card h3 {
    font-size: clamp(2.8rem, 7vw, 5.8rem) !important;
  }
}
@media (max-width: 820px) {
  .a2z-studios {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .a2z-studios > .wp-block-group__inner-container {
    padding-inline: 1rem;
  }
  .a2z-studio-grid,
  .a2z-studio-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .a2z-studio-card {
    min-height: clamp(520px, 92vw, 680px) !important;
  }
  .a2z-studio-card .wp-block-cover__inner-container {
    padding: 1.45rem !important;
  }
  .a2z-studio-card h3 {
    font-size: clamp(2.8rem, 14vw, 4.4rem) !important;
  }
}
@media (max-width: 480px) {
  .a2z-studio-card {
    min-height: 500px !important;
  }
  .a2z-studio-card ul {
    gap: .5rem !important;
  }
  .a2z-studio-card li {
    min-height: 34px;
    padding: .38rem .58rem;
    font-size: .94rem !important;
  }
}

/* ===================================================================
   STUDIOS SECTION CENTERING FIX - center desktop two-panel grid
   =================================================================== */
.a2z-studio-grid {
  display: block !important;
  width: 100% !important;
  max-width: min(1760px, 100%) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
.a2z-studio-grid > .wp-block-group__inner-container {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
}
.a2z-studio-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
}
.a2z-studio-grid .a2z-studio-card {
  min-width: 0;
}
@media (min-width: 1920px) {
  .a2z-studio-grid {
    max-width: 1800px !important;
  }
}
@media (min-width: 2400px) {
  .a2z-studio-grid {
    max-width: 1900px !important;
  }
}
@media (max-width: 820px) {
  .a2z-studio-grid,
  .a2z-studio-grid:not(:has(> .wp-block-group__inner-container)),
  .a2z-studio-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
  }
}

/* ===================================================================
   UI/UX PASS 2026-06-08 - Czech glyphs, wide studio layout, CTA restraint
   =================================================================== */

/* Keep WIX-matched typography but prevent synthetic weight and mixed rendering. */
:root {
  --a2z-font-body: 'Source Sans 3', Arial, Helvetica, sans-serif;
  --a2z-font-heading: 'Source Sans 3', Arial, Helvetica, sans-serif;
}
body, button, input, select, textarea, a, p, li, blockquote, cite,
.wp-block-button__link, .main-navigation .main-nav ul li a, .menu-toggle,
.site-footer, .a2z-footer, .a2z-footer p, .a2z-footer a,
.a2z-service-card p, .a2z-artist-card p, .a2z-studio-card li,
.a2z-studio-link, .a2z-stat .lbl, .a2z-pricing, .a2z-pricing p,
.a2z-pricing li, .a2z-pricing strong {
  font-family: var(--a2z-font-body) !important;
  font-synthesis: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, .site-title, .entry-title, .wp-block-heading,
.a2z-section h2, .a2z-hero h1, .a2z-service-card h3, .a2z-artist-card h3,
.a2z-studio-card h3, .a2z-footer-col h3, .a2z-bigquote p, .a2z-stat .num,
.wp-block-details summary {
  font-family: var(--a2z-font-heading) !important;
  font-weight: 400 !important;
  font-synthesis: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.wp-block-heading a,
.a2z-section h2 a,
.a2z-hero h1 a,
.a2z-service-card h3 a,
.a2z-artist-card h3 a,
.a2z-studio-card h3 a,
.a2z-footer-col h3 a {
  font-family: inherit !important;
  font-weight: inherit !important;
  font-synthesis: inherit;
  text-rendering: inherit;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
}

/* Editorial studio intro: fewer boxes/buttons, more space and type. */
.a2z-split {
  background: #090909;
  padding-top: clamp(4.5rem, 7vw, 7rem) !important;
  padding-bottom: clamp(4.5rem, 7vw, 7rem) !important;
}
.a2z-split > .wp-block-group__inner-container { max-width: 1320px; }
.a2z-split .wp-block-columns { gap: clamp(2.5rem, 6vw, 7rem) !important; }
.a2z-split .wp-block-image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 0;
  filter: grayscale(.85) contrast(1.08) brightness(.88);
}
.a2z-split .wp-block-column:last-child { max-width: 620px; }
/* max-width zde záměrně NENÍ nastavená - viz aktivní pravidlo
   .a2z-split h2 níže (řádek ~3274), které dřív mělo max-width:none a
   white-space:nowrap; bez explicitního max-width tady by staré
   max-width:9ch (psané pro úplně jiný, kratší nadpis) prosvítalo
   zpátky přes cascade a lámalo text po písmenech. */
.a2z-split h2 {
  margin-bottom: clamp(1.2rem, 2vw, 1.8rem) !important;
  font-size: clamp(2.8rem, 6vw, 5.8rem) !important;
  line-height: .9 !important;
  max-width: 100% !important;
}
.a2z-split p {
  max-width: 58ch;
  color: rgba(255,255,255,.76);
  font-size: clamp(1.05rem, 1.3vw, 1.22rem) !important;
  line-height: 1.7 !important;
}
.a2z-split .wp-block-buttons { margin-top: clamp(1.7rem, 3vw, 2.5rem); }

/* Secondary CTA buttons: outline style, red border, white text → fill on hover */
.a2z-split .wp-block-button__link,
.a2z-references .wp-block-button__link {
  background: transparent !important;
  border: 1.5px solid var(--color-brand-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--color-white) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  padding: 0.72rem 2rem !important;
  transition: background 180ms ease, color 180ms ease !important;
}
.a2z-split .wp-block-button__link:hover,
.a2z-references .wp-block-button__link:hover {
  background: var(--color-brand-red) !important;
  color: var(--color-white) !important;
}

/* Guide section: keep subtle link style */
.a2z-guide .wp-block-button__link {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-brand-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0;
  padding: 0 0 .28rem !important;
  color: var(--color-white) !important;
}
.a2z-guide .wp-block-button__link:hover {
  color: var(--color-brand-red) !important;
}

/* Studio A/Z: dominant 2-column layout, max ~1500px, no headline wrapping. */
.a2z-studios { padding: clamp(4.5rem, 6vw, 7rem) 0 !important; }
.a2z-studios > .wp-block-group__inner-container {
  width: min(100%, 1560px) !important;
  max-width: 1560px !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 2.5vw, 2.5rem) !important;
}
.a2z-studios h2 {
  max-width: none !important;
  font-size: clamp(2.2rem, 3.5vw, 3.8rem) !important;
  line-height: .95 !important;
}
.a2z-studios-lead {
  max-width: 680px !important;
  margin-bottom: clamp(2.3rem, 3vw, 3.8rem) !important;
}
/* grid musí být jen na inner-containeru, ne na samotném .a2z-studio-grid */
.a2z-studio-grid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
.a2z-studio-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.8rem, 2.5vw, 3rem) !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  align-items: stretch !important;
  padding: 0 !important;
}
/* fallback: pokud WP nevrátí inner-container */
.a2z-studio-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.8rem, 2.5vw, 3rem) !important;
  align-items: stretch !important;
}

/* Card: foto dominantní, gradient zprava (kde je text) */
.a2z-studio-card {
  min-height: clamp(480px, 36vw, 680px) !important;
  max-height: none !important;
  contain: layout paint;
  box-shadow: 0 20px 60px rgba(0,0,0,.4) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
}
.a2z-studio-card .wp-block-cover__background {
  background: linear-gradient(
    to right,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.38) 36%,
    rgba(0,0,0,.72) 60%,
    rgba(0,0,0,.86) 100%
  ) !important;
  opacity: 1 !important;
}
.a2z-studio-card img.wp-block-cover__image-background {
  filter: grayscale(.6) contrast(1.08) brightness(.88) !important;
  transform: scale(1.02);
  transition: filter 400ms ease, transform 550ms ease !important;
}
.a2z-studio-card:hover img.wp-block-cover__image-background {
  filter: grayscale(0) contrast(1.05) brightness(.92) !important;
  transform: scale(1.05) !important;
}

/* Inner container: text v pravé polovině karty, vertikálně vycentrovaný */
.a2z-studio-card .wp-block-cover__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  padding: 2rem 2.5rem 2rem 42% !important;
  box-sizing: border-box !important;
}

/* Nadpis: tučný, jedna řádka, s červenou čárou pod ním */
.a2z-studio-card h3 {
  white-space: nowrap !important;
  font-size: clamp(2.8rem, 5vw, 5rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  margin: 0 0 0 !important;
  letter-spacing: -.01em !important;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.5);
}
.a2z-studio-card h3::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  background: var(--color-brand-red);
  margin-top: .75rem;
  margin-bottom: .85rem;
}

/* Tagy: vertikální sloupec plno-šířkových boxů */
.a2z-studio-card ul {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: .45rem !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.a2z-studio-card li {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: .55rem .9rem !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(0,0,0,.45) !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  backdrop-filter: blur(10px);
  transition: border-color 200ms ease, background-color 200ms ease !important;
}
.a2z-studio-card:hover li {
  border-color: rgba(255,255,255,.35) !important;
  background: rgba(0,0,0,.55) !important;
}
.a2z-studio-card li::before {
  width: 6px !important;
  height: 6px !important;
  flex-shrink: 0 !important;
  margin-right: .6rem !important;
  background: var(--color-brand-red) !important;
}
.a2z-studio-link { display: none !important; }

@media (max-width: 820px) {
  .a2z-split .wp-block-columns { gap: 2rem !important; }
  .a2z-split .wp-block-image img { aspect-ratio: 16 / 10; }
  .a2z-studio-grid > .wp-block-group__inner-container,
  .a2z-studio-grid:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .a2z-studio-card {
    min-height: clamp(420px, 82vw, 580px) !important;
  }
  .a2z-studio-card .wp-block-cover__inner-container {
    padding: 1.75rem !important;
    justify-content: flex-end !important;
  }
  .a2z-studio-card .wp-block-cover__background {
    background: linear-gradient(to top,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.55) 35%,
      rgba(0,0,0,.18) 65%,
      rgba(0,0,0,.04) 100%) !important;
  }
  .a2z-studio-card h3 {
    white-space: normal !important;
    font-size: clamp(2.2rem, 10vw, 3.2rem) !important;
  }
  .a2z-studio-card ul {
    max-width: 100% !important;
  }
}
@media (max-width: 480px) {
  .a2z-studio-card {
    min-height: 420px !important;
  }
  .a2z-studio-card li {
    font-size: .92rem !important;
    min-height: 30px !important;
  }
}

/* CTA audit: one meaningful dominant CTA per section, quieter secondary links. */
.a2z-section .wp-block-buttons { gap: .75rem; }
.a2z-services .wp-block-buttons, .a2z-studios .wp-block-buttons, .a2z-social .wp-block-buttons { display: none !important; }

/* ===================================================================
   ITEM 4 - clickable cards + hover "pop"
   =================================================================== */

/* Studio cards (Studio A / Studio Z): whole card clickable, with a
   lift on hover in addition to the existing photo zoom. */
.a2z-studio-card {
  cursor: pointer;
  transition: transform 350ms ease, box-shadow 350ms ease;
}
.a2z-studio-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(0,0,0,.55) !important;
}
.a2z-studio-link {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
/* Stretched link covers the whole card - keep it invisible on
   hover/focus instead of filling the card with the red button color.
   The card lift + photo zoom already provide hover feedback. */
.a2z-studio-link:hover,
.a2z-studio-link:focus {
  background: transparent !important;
}

/* Service cards (Naše služby): whole card clickable + noticeable
   scale-up on hover (in addition to the existing photo desaturate/zoom). */
.a2z-service-card {
  cursor: pointer;
  transition: transform 350ms ease, box-shadow 350ms ease;
}
.a2z-service-card:hover {
  transform: scale(1.08);
  z-index: 2;
  box-shadow: 0 24px 60px rgba(0,0,0,.55) !important;
}
.a2z-service-card h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}

/* Artist cards ("Nahrávali u nás"): celá karta klikatelná na /cs/references/,
   stejný princip jako u service cards výše (2026-06-23) */
.a2z-artist-card {
  cursor: pointer;
}
.a2z-artist-card h3 a {
  color: inherit;
  text-decoration: none;
}
.a2z-artist-card h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}

/* ===================================================================
   ITEM 6 - "bedna" photo band replaced with a quote block
   =================================================================== */
.a2z-band.a2z-bedna-quote {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(280px, 32vw, 440px) !important;
  background: radial-gradient(ellipse at center, rgba(212,43,43,.08), transparent 60%), #121212;
  text-align: center;
  padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 5vw, 3rem);
}
.a2z-bedna-quote .a2z-bigquote {
  border: 0;
  background: none;
  margin: 0;
  padding: 0;
  max-width: 900px;
}
.a2z-bedna-quote .a2z-bigquote p {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
}

/* ===================================================================
   ITEM 8 - red corner brackets around the map (matches .a2z-split photo)
   =================================================================== */
.a2z-location .wp-block-column:last-child {
  position: relative;
}
.a2z-location .wp-block-column:last-child::before,
.a2z-location .wp-block-column:last-child::after {
  content: '';
  position: absolute;
  width: 36px;
  height: 36px;
  pointer-events: none;
  z-index: 2;
}
.a2z-location .wp-block-column:last-child::before {
  top: -10px;
  left: -10px;
  border-top: 2px solid var(--color-brand-red);
  border-left: 2px solid var(--color-brand-red);
}
.a2z-location .wp-block-column:last-child::after {
  bottom: -10px;
  right: -10px;
  border-bottom: 2px solid var(--color-brand-red);
  border-right: 2px solid var(--color-brand-red);
}

/* ===================================================================
   A2Z CTA DESIGN SYSTEM - premium recording studio
   Přebíjí GeneratePress inline styly přes !important + vyšší specificitu.
   =================================================================== */

:root {
  --a2z-btn-px:       2.2rem;
  --a2z-btn-py:       0.88rem;
  --a2z-btn-min-h:    50px;
  --a2z-btn-size:     0.84rem;
  --a2z-btn-weight:   600;
  --a2z-btn-tracking: 0.1em;
  --a2z-btn-ease:     180ms ease;
  --a2z-tag-h:        34px;
  --a2z-tag-px:       0.82rem;
  --a2z-tag-size:     0.84rem;
}

/* Primary CTA - brand red, flat, authoritative
   Selektory pokrývají oba GP inline vzory (class i element+class) */
.wp-block-button__link,
.wp-element-button,
a.wp-block-button__link,
a.wp-element-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--a2z-btn-min-h) !important;
  padding: var(--a2z-btn-py) var(--a2z-btn-px) !important;
  background-color: var(--color-brand-red) !important;
  background-image: none !important;
  border: 1px solid var(--color-brand-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: var(--a2z-font-body) !important;
  font-size: var(--a2z-btn-size) !important;
  font-weight: var(--a2z-btn-weight) !important;
  letter-spacing: var(--a2z-btn-tracking) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition:
    background-color var(--a2z-btn-ease),
    border-color var(--a2z-btn-ease),
    color var(--a2z-btn-ease),
    transform var(--a2z-btn-ease) !important;
}
.wp-block-button__link:hover,
.wp-element-button:hover,
a.wp-block-button__link:hover,
a.wp-element-button:hover,
a.wp-block-button__link:not(.has-background):hover,
a.wp-block-button__link:not(.has-background):focus,
a.wp-block-button__link:not(.has-background):active {
  background-color: transparent !important;
  border-color: var(--color-brand-red) !important;
  color: var(--color-brand-red) !important;
  transform: translateY(-1px) !important;
}
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible {
  outline: 2px solid var(--color-brand-red) !important;
  outline-offset: 3px !important;
  transform: none !important;
}

/* Secondary / outline - ghost, bílý border */
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button,
.is-style-outline .wp-block-button__link,
.is-style-outline .wp-element-button {
  background-color: transparent !important;
  border-color: rgba(255,255,255,.28) !important;
  color: rgba(255,255,255,.88) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-element-button:hover,
.is-style-outline .wp-block-button__link:hover,
.is-style-outline .wp-element-button:hover {
  background-color: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.52) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Guide section: subtle link underline CTA */
.a2z-guide .wp-block-button__link,
.a2z-guide .wp-element-button {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 0 0.2rem !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(212,43,43,.5) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.85) !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  transition: color 160ms ease, border-color 160ms ease !important;
}
.a2z-guide .wp-block-button__link:hover,
.a2z-guide .wp-element-button:hover {
  background-color: transparent !important;
  color: var(--color-brand-red) !important;
  border-bottom-color: var(--color-brand-red) !important;
  transform: none !important;
}

/* Split + References: solid red CTA by default (same look as a2z-cta-big), ghost on hover
   Selektory zahrnují i .is-style-outline na wrapperu (4 třídy), aby specificitou
   přebily ".is-style-outline .wp-element-button" (3 třídy) výše v souboru — jinak
   starší pravidlo vyhraje bez ohledu na pořadí v cascade. */
.a2z-split .wp-block-button__link,
.a2z-split .wp-element-button,
.a2z-split .wp-block-button.is-style-outline .wp-block-button__link,
.a2z-split .wp-block-button.is-style-outline .wp-element-button,
.a2z-references .wp-block-button__link,
.a2z-references .wp-element-button,
.a2z-references .wp-block-button.is-style-outline .wp-block-button__link,
.a2z-references .wp-block-button.is-style-outline .wp-element-button {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 0.65rem 1.9rem !important;
  background-color: var(--color-brand-red) !important;
  background-image: none !important;
  border: 2px solid var(--color-brand-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--color-white) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  transition: background-color 180ms ease, color 180ms ease !important;
}
.a2z-split .wp-block-button__link:hover,
.a2z-split .wp-element-button:hover,
.a2z-split .wp-block-button.is-style-outline .wp-block-button__link:hover,
.a2z-split .wp-block-button.is-style-outline .wp-element-button:hover,
.a2z-references .wp-block-button__link:hover,
.a2z-references .wp-element-button:hover,
.a2z-references .wp-block-button.is-style-outline .wp-block-button__link:hover,
.a2z-references .wp-block-button.is-style-outline .wp-element-button:hover {
  background-color: transparent !important;
  color: var(--color-brand-red) !important;
}

/* Form submit */
input[type="submit"],
button[type="submit"] {
  min-height: var(--a2z-btn-min-h);
  padding: var(--a2z-btn-py) var(--a2z-btn-px);
  background-color: var(--color-brand-red);
  border: 1px solid var(--color-brand-red);
  border-radius: 0;
  color: #fff;
  font-family: var(--a2z-font-body) !important;
  font-size: var(--a2z-btn-size) !important;
  font-weight: var(--a2z-btn-weight) !important;
  letter-spacing: var(--a2z-btn-tracking) !important;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--a2z-btn-ease), border-color var(--a2z-btn-ease), color var(--a2z-btn-ease), transform var(--a2z-btn-ease);
}
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: transparent;
  border-color: var(--color-brand-red);
  color: var(--color-brand-red);
  transform: translateY(-1px);
}

/* Nav CTA - zachovat červenou */
.main-navigation .a2z-menu-cta a,
.main-navigation .a2z-menu-cta a:visited {
  background-color: var(--color-brand-red) !important;
  border: 1px solid var(--color-brand-red) !important;
  color: #fff !important;
  letter-spacing: 0.06em !important;
}
.main-navigation .a2z-menu-cta a:hover,
.main-navigation .a2z-menu-cta a:focus {
  background-color: transparent !important;
  color: var(--color-brand-red) !important;
  transform: translateY(-1px);
}

/* Pricing benefits - rack label / channel strip estetika */
.a2z-pricing-benefits {
  gap: 0.55rem 1rem !important;
}
.a2z-pricing-benefits li {
  display: inline-flex !important;
  align-items: center !important;
  height: var(--a2z-tag-h) !important;
  min-height: var(--a2z-tag-h) !important;
  padding: 0 var(--a2z-tag-px) !important;
  background: rgba(255,255,255,.042) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-family: var(--a2z-font-body) !important;
  font-size: var(--a2z-tag-size) !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  white-space: nowrap;
  transition: border-color 160ms ease, background-color 160ms ease !important;
}
.a2z-pricing-benefits li::before {
  content: '' !important;
  display: inline-block !important;
  width: 2px !important;
  height: 13px !important;
  margin-right: 0.6rem !important;
  background: var(--color-brand-red) !important;
  flex-shrink: 0 !important;
  font-weight: normal !important;
}
.a2z-pricing-benefits li:hover {
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.078) !important;
}

/* ===================================================================
   TYPOGRAPHY LAYOUT FIXES - single-line quote + uvolnění max-width
   =================================================================== */

/* Bigquote - jeden řádek na desktopu: rozšíříme references kontejner */
.a2z-references > .wp-block-group__inner-container {
  max-width: min(1520px, calc(100vw - 48px)) !important;
}
.a2z-bigquote {
  max-width: none !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: clamp(1rem, 2vw, 2rem) !important;
}
.a2z-bigquote p {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(1.4rem, 2.3vw, 2.2rem) !important;
}
@media (max-width: 900px) {
  .a2z-bigquote p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(1.4rem, 5vw, 1.9rem) !important;
  }
}

/* Location h2 - "Najdete nás v Praze" nesmí lámat */
.a2z-location h2 {
  max-width: none !important;
  white-space: nowrap !important;
}
@media (max-width: 600px) {
  .a2z-location h2 { white-space: normal !important; }
}

/* ===================================================================
   SPLIT SECTION - "Studio od A do Z" premium treatment
   =================================================================== */
/* Kicker label above the heading - editable via Customizer (item 3) */
.a2z-split-kicker {
  margin: 0 0 .6rem !important;
  color: var(--color-brand-red) !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif !important;
}
.a2z-split h2 {
  /* Pravidlo psané pro původní kratší text "Studio od A do Z" - s
     white-space:nowrap se novější delší text "Profesionální zvuk od A
     do Z" na menších monitorech nevejde a odteče mimo obrazovku místo
     zalomení na víc řádků. Bez nowrap/max-width:none se přirozeně
     zalomí podle šířky sloupce (.a2z-split .wp-block-column:last-child,
     max-width 620px výš). */
  font-size: clamp(2.6rem, 4.8vw, 4.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.015em !important;
  color: #fff !important;
  margin-bottom: 0 !important;
}
.a2z-split h2::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  background: var(--color-brand-red);
  margin-top: .8rem;
  margin-bottom: 1.1rem;
}
.a2z-split .wp-block-column:last-child > p {
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
  line-height: 1.75 !important;
  max-width: 52ch !important;
}
/* Image - warm, minimal grayscale, red corner brackets */
.a2z-split .wp-block-column:first-child {
  overflow: visible !important;
}
.a2z-split figure.wp-block-image {
  position: relative !important;
  overflow: visible !important;
}
.a2z-split figure.wp-block-image::before,
.a2z-split figure.wp-block-image::after {
  content: '' !important;
  position: absolute !important;
  width: 36px !important;
  height: 36px !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
.a2z-split figure.wp-block-image::before {
  top: -10px !important;
  left: -10px !important;
  border-top: 2px solid var(--color-brand-red) !important;
  border-left: 2px solid var(--color-brand-red) !important;
}
.a2z-split figure.wp-block-image::after {
  bottom: -10px !important;
  right: -10px !important;
  border-bottom: 2px solid var(--color-brand-red) !important;
  border-right: 2px solid var(--color-brand-red) !important;
}
.a2z-split figure.wp-block-image img {
  position: relative !important;
  z-index: 1 !important;
  border: 0 !important;
  filter: grayscale(.15) contrast(1.05) brightness(.9) !important;
}

/* ===================================================================
   PRICING SECTION - premium recording studio treatment
   =================================================================== */
.a2z-pricing h2 {
  font-size: clamp(2.6rem, 4.8vw, 4.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.015em !important;
  margin-bottom: 0 !important;
}
.a2z-pricing h2::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  background: var(--color-brand-red);
  margin: .8rem auto 1rem;
}
/* Fix Individuální nabídka - widen name column, no overflow */
.a2z-pricing-card {
  grid-template-columns: max-content minmax(160px, max-content) minmax(0, 1fr) !important;
}
.a2z-pricing-card h3 {
  white-space: nowrap !important;
  font-size: clamp(1rem, 1.3vw, 1.35rem) !important;
  font-weight: 700 !important;
}
@media (max-width: 820px) {
  .a2z-pricing-card {
    grid-template-columns: 1fr !important;
  }
}
/* ===================================================================
   PRICING - Studio rate card redesign: 3 vertical columns
   =================================================================== */

/* Section: subtle red radial glow from top */
.a2z-pricing {
  background: radial-gradient(ellipse 60% 28% at 50% 0%, rgba(212,43,43,.12), transparent 70%), #0d0d0d !important;
}

/* Header: wider container, centred h2 with red underline */
.a2z-pricing > .wp-block-group__inner-container {
  max-width: 1120px !important;
}
.a2z-pricing h2 {
  max-width: none !important;
  text-align: center !important;
}

/* Grid: 3 equal columns - inner container must be 100% of grid width */
.a2z-pricing-grid {
  width: 100% !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  margin-top: clamp(1.5rem, 2.5vw, 2.2rem) !important;
}
.a2z-pricing-grid > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 1.8vw, 1.6rem) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Card: vertical flex, red top accent */
.a2z-pricing-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: clamp(1.5rem, 2.4vw, 2rem) clamp(1.2rem, 2vw, 1.8rem) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-top: 2px solid var(--color-brand-red) !important;
  border-left: 0 !important;
  background: rgba(255,255,255,.04) !important;
  text-align: left !important;
  transition: background 220ms ease, border-top-color 220ms ease !important;
}
.a2z-pricing-card:hover {
  background: rgba(212,43,43,.06) !important;
  border-top-color: var(--color-brand-red) !important;
}

/* h3 → eyebrow label (small uppercase, muted) */
.a2z-pricing-card h3 {
  white-space: normal !important;
  margin: 0 0 .85rem !important;
  color: rgba(255,255,255,.5) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* strong → large price, dominant */
.a2z-pricing-card strong {
  display: block !important;
  margin: 0 0 1.4rem !important;
  color: #fff !important;
  font-family: var(--a2z-font-body) !important;
  font-size: clamp(1.3rem, 2.2vw, 1.85rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* p → description, separated by thin line */
.a2z-pricing-card p {
  flex: 1 !important;
  margin: 0 !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.58) !important;
  font-size: .93rem !important;
  line-height: 1.65 !important;
  max-width: none !important;
}

/* Benefits row - bordered chips, evenly spaced */
.a2z-pricing-benefits {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: .6rem !important;
  max-width: 900px !important;
  margin: clamp(2rem, 3vw, 2.8rem) auto clamp(1.5rem, 2.5vw, 2rem) !important;
  padding: 0 !important;
  list-style: none !important;
}
.a2z-pricing-benefits li {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
  padding: .55rem 1.1rem !important;
  min-height: 0 !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
}
.a2z-pricing-benefits li::before {
  content: '' !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  background: var(--color-brand-red) !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}
/* Chipy prokliknutelné na Kontakt (stejný princip jako ostatní hover
   dlaždice na webu) - odkaz uvnitř dědí barvu/styl chipu, jen samotný
   li dostane při hover červený okraj jako vizuální feedback. */
.a2z-pricing-benefits li {
  transition: border-color 180ms ease, background 180ms ease;
}
.a2z-pricing-benefits li:hover {
  border-color: rgba(212,43,43,.6) !important;
  background: rgba(212,43,43,.08) !important;
}
.a2z-pricing-benefits li a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Responsive: stack on mobile */
@media (max-width: 820px) {
  .a2z-pricing-grid,
  .a2z-pricing-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr !important;
    max-width: 480px !important;
  }
  .a2z-pricing-card {
    align-items: center !important;
    text-align: center !important;
  }
  .a2z-pricing-card p {
    text-align: center !important;
  }
}

/* =============================================
   SOCIAL - skryta, jen footer
   ============================================= */

.a2z-section.a2z-social { display: none !important; }

/* Footer social icons - minimal monochrome, premium hover */
.a2z-footer-social a svg {
  width: 28px !important;
  height: 28px !important;
}

/* Hlavní header logo + nav text - zvětšit */
.site-logo img,
.header-image.is-logo-image,
img.custom-logo {
  max-height: 96px !important;
}
.main-navigation .main-nav ul li a {
  font-size: .96rem !important;
  letter-spacing: .06em !important;
}

/* ===================================================================
   SERVICES PAGE - process steps + CTA
   =================================================================== */
.a2z-process {
  background: #0d0d0d;
}
.a2z-process h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  margin-bottom: 3rem !important;
}
.a2z-steps {
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: flex-start !important;
}
.a2z-step {
  position: relative;
}
.a2z-step p.a2z-step__num {
  font-size: 1.17rem !important;
  font-weight: 700 !important;
  color: var(--color-brand-red) !important;
  opacity: .7;
  line-height: 1 !important;
  margin: 0 0 .25rem !important;
  font-family: 'Source Sans 3', Arial, sans-serif;
  letter-spacing: .12em;
}
.a2z-step h3 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  margin: 0 0 .75rem !important;
  color: var(--color-white) !important;
}
.a2z-step p {
  color: rgba(255,255,255,.62) !important;
  font-size: .96rem !important;
  line-height: 1.75 !important;
}

.a2z-services-cta {
  background: radial-gradient(ellipse at 50% 60%, rgba(212,43,43,.09), transparent 65%), #070707;
  text-align: center;
}
.a2z-services-cta h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  margin-bottom: 1rem !important;
}
.a2z-services-cta .a2z-muted {
  margin-bottom: 2.5rem !important;
  font-size: .95rem !important;
}

/* ===================================================================
   SERVICE SUBPAGES - intro, feature list, price, back link
   =================================================================== */
.a2z-service-intro {
  background: #0d0d0d;
}
.a2z-service-intro .a2z-price {
  display: inline-block;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--color-brand-red) !important;
  letter-spacing: .04em;
  margin: 0 0 .75rem !important;
  text-transform: uppercase;
}
.a2z-service-intro .a2z-lead {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,.52) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin: 0 0 .85rem !important;
}
.a2z-service-intro h2 {
  font-size: clamp(1.9rem, 3.8vw, 3rem) !important;
  margin-bottom: 1.25rem !important;
  max-width: 22ch;
}
.a2z-service-intro p:not(.a2z-price):not(.a2z-lead) {
  max-width: 52ch;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.75 !important;
  margin-bottom: 2rem !important;
}

.a2z-feature-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 1rem 0 1.5rem !important;
}
.a2z-feature-list li {
  position: relative;
  padding-left: 1.5rem !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .96rem !important;
  line-height: 1.7 !important;
  margin-bottom: .55rem !important;
}
.a2z-feature-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  background: var(--color-brand-red);
  border-radius: 50%;
}

.a2z-back-link {
  color: rgba(255,255,255,.38) !important;
  text-decoration: none !important;
  font-size: .88rem !important;
  letter-spacing: .04em;
  transition: color 200ms ease;
}
.a2z-back-link:hover { color: var(--color-white) !important; }

/* ===================================================================
   SERVICES OVERVIEW - card grid
   =================================================================== */
.a2z-svc-grid-wrap {
  background: #0d0d0d;
}
.a2z-svc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.07);
  margin: 0 0 0;
}
.a2z-svc-card {
  background: #0d0d0d !important;
  padding: 2.5rem 2rem 2.25rem !important;
  position: relative;
  display: flex !important;
  flex-direction: column;
  gap: .6rem;
  transition: background 220ms ease;
}
.a2z-svc-card:hover {
  background: #141414 !important;
}
.a2z-svc-card__num {
  font-size: 1.17rem;
  font-weight: 700;
  color: var(--color-brand-red);
  letter-spacing: .12em;
  opacity: .7;
  font-family: 'Source Sans 3', Arial, sans-serif;
}
.a2z-svc-card__title {
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  margin: 0 0 .25rem !important;
  line-height: 1.3 !important;
}
.a2z-svc-card__title a {
  color: var(--color-white) !important;
  text-decoration: none !important;
}
.a2z-svc-card__title a::after {
  content: '';
  position: absolute;
  inset: 0;
}
.a2z-svc-card__desc {
  color: rgba(255,255,255,.52) !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  flex: 1;
}
.a2z-svc-card__arrow {
  display: inline-block;
  color: rgba(255,255,255,.2);
  font-size: 1.25rem;
  text-decoration: none !important;
  transition: color 200ms ease, transform 200ms ease;
  margin-top: .5rem;
  position: relative;
}
.a2z-svc-card:hover .a2z-svc-card__arrow {
  color: var(--color-brand-red);
  transform: translateX(4px);
}
@media (max-width: 640px) {
  .a2z-svc-grid { grid-template-columns: 1fr; }
}

/* ===================================================================
   ITEM 2 / ITEM 5 - hero photo flush to top + section divider
   =================================================================== */

/* GeneratePress adds 30px vertical padding on .site-content by default,
   which shows up as a dark gap between the sticky header and the hero
   photo. Remove it on the homepage so the hero starts right under the
   header. */
.home .site-content {
  padding-top: 0;
  padding-bottom: 0;
}

/* Match the hero's bottom fade to the next section's background
   (#121212, since it's an even .a2z-section) so the two sections blend
   into one surface, then add the same divider line used between the
   other sections. */
.a2z-hero::after {
  background: linear-gradient(to bottom, rgba(13,13,13,0), #121212);
}
.a2z-hero {
  border-bottom: 1px solid var(--color-border);
}

/* ===================================================================
   ITEM 7 - dual reference carousel (hudební + firemní reference)
   Pure CSS marquee: track content is duplicated by a2z_make_carousel_track()
   in functions.php, then scrolled by -50% to loop seamlessly.
   =================================================================== */
.a2z-carousel {
  /* scrollLeft-based infinite scroll: native scroll compositor renders at full physical DPI */
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-behavior: auto;       /* no smooth-scroll easing — JS controls position directly */
  -ms-overflow-style: none;    /* IE/Edge */
  scrollbar-width: none;       /* Firefox */
  -webkit-mask-image: none;
          mask-image: none;
}
.a2z-carousel::-webkit-scrollbar { display: none; }
.a2z-carousel-clone {
  display: contents;
}
.a2z-carousel > .wp-block-group__inner-container.a2z-carousel-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  width: max-content;
  /* No transform, no will-change — JS moves box.scrollLeft instead */
  transform: none !important;
  will-change: auto;
}

/* Music references row (artist photo cards) */
.a2z-artist-grid.a2z-carousel > .wp-block-group__inner-container.a2z-carousel-track {
  gap: 12px;
  animation: a2z-marquee-left 55s linear infinite;
}
.a2z-artist-grid.a2z-carousel .a2z-artist-card {
  flex: 0 0 220px;
  min-height: 330px;
}

/* Corporate references row (logos) */
.a2z-logos.a2z-carousel {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}
.a2z-logos.a2z-carousel > .wp-block-group__inner-container.a2z-carousel-track {
  gap: 1rem;
  align-items: center;
  margin-top: 0;
  animation: a2z-marquee-right 40s linear infinite;
}
.a2z-logos.a2z-carousel .a2z-logo {
  flex: 0 0 220px;
}

@keyframes a2z-marquee-left {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes a2z-marquee-right {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

@media (max-width: 768px) {
  .a2z-artist-grid.a2z-carousel .a2z-artist-card {
    flex-basis: 180px;
    min-height: 260px;
  }
  .a2z-logos.a2z-carousel .a2z-logo {
    flex-basis: 170px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a2z-carousel-track {
    animation: none !important;
    overflow-x: auto;
    width: auto;
    -webkit-mask-image: none;
            mask-image: none;
  }
  .a2z-carousel-clone {
    display: none;
  }
}

/* ===================================================================
   HOMEPAGE PASS 2026-06-16
   1.  Header: red gradient divider, no white border, no lang separator
   2.  Service cards: color photos (no grayscale)
   3.  Artist cards: uniform 4-side border
   4.  Carousel arrows (artist + logos)
   5.  Stats: hide numbers, enlarge labels
   6.  Logos: white-silhouette integration on dark background
   7.  Map: full color (no grayscale filter)
   =================================================================== */

/* 1. Header: remove white border-bottom, replace with gradient line */
.site-header {
  position: relative;
  border-bottom: 0 !important;
}
.site-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, transparent 52%, rgba(212,43,43,.2) 68%, var(--color-brand-red) 86%);
  z-index: 2;
  pointer-events: none;
}

/* 1. Remove vertical language separator bar */
.main-navigation .a2z-lang-sep {
  display: none !important;
}

/* 2. Service cards: remove grayscale so photos read clearly */
.a2z-service-card img.wp-block-cover__image-background {
  filter: none !important;
}
.a2z-service-card:hover img.wp-block-cover__image-background {
  filter: none !important;
}

/* 3. Artist cards: uniform 1px border all four sides */
.a2z-artist-card {
  border: 1px solid rgba(255,255,255,.14) !important;
}

/* 4. Carousel navigation arrow buttons */
.a2z-carousel-nav {
  position: relative;
}
.a2z-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.62);
  color: rgba(255,255,255,.85);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.a2z-carousel-btn:hover,
.a2z-carousel-btn:focus {
  background: var(--color-brand-red);
  border-color: var(--color-brand-red);
  color: #fff;
}
.a2z-carousel-btn--prev { left: 8px; }
.a2z-carousel-btn--next { right: 8px; }

/* 5. Stats: hide numeric values, make label text dominant */
.a2z-stat .num {
  display: none !important;
}
.a2z-stat .lbl {
  font-size: clamp(1rem, 1.9vw, 1.35rem) !important;
  color: rgba(255,255,255,.82) !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
  letter-spacing: 0 !important;
}

/* 6. Logos: white silhouettes on dark background; full color on hover */
.a2z-logo img {
  filter: brightness(0) invert(1) !important;
  opacity: .45 !important;
}
.a2z-logo img:hover {
  filter: none !important;
  opacity: 1 !important;
}

/* 7. Map: full color */
.a2z-location iframe {
  filter: none !important;
  transition: none !important;
}
.a2z-location iframe:hover {
  filter: none !important;
}

/* ===================================================================
   FOLLOW-UP FIXES 2026-06-16 v2
   =================================================================== */

/* FIX 1 – Header gradient: red LEFT → transparent RIGHT
   (was reversed; 90deg = to right but gradient stops were wrong order) */
.site-header::after {
  background: linear-gradient(to right,
    var(--color-brand-red) 0%,
    rgba(212,43,43,.35) 38%,
    transparent 76%) !important;
}

/* FIX 2 – Remove dark shadow stripe below header on hero */
.site-header {
  box-shadow: none !important;
}

/* FIX 3 – Service cards: lighten the dark overlay so photos show */
.a2z-service-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.52), rgba(0,0,0,.04)) !important;
  opacity: 0.78 !important;
}

/* FIX 4 – Logos: invert dark-on-light logos → light-on-dark; grayscale first
   for consistent look. Hover: full color. */
.a2z-logo img {
  filter: grayscale(1) invert(1) !important;
  opacity: 0.68 !important;
}
.a2z-logo img:hover {
  filter: none !important;
  opacity: 1 !important;
}

/* FIX 5+6 – Carousel arrow buttons: red default so they're visible on dark bg */
.a2z-carousel-btn {
  background: rgba(212,43,43,.7) !important;
  border: 1px solid rgba(212,43,43,.9) !important;
  color: #fff !important;
  opacity: 1 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.55) !important;
}
.a2z-carousel-btn:hover,
.a2z-carousel-btn:focus {
  background: var(--color-brand-red) !important;
  border-color: var(--color-brand-red) !important;
}
/* Ensure nav wrapper never clips buttons */
.a2z-carousel-nav {
  overflow: visible !important;
}
.a2z-carousel-btn {
  z-index: 100 !important;
}

/* ===================================================================
   FIX ROUND 3 – 2026-06-16
   =================================================================== */

/* R3-1: Restore sticky header
   (earlier rule added position:relative which overrode sticky) */
.site-header {
  position: sticky !important;
}

/* R3-2: Header gradient line – display:block approach (no abs positioning needed)
   Overrides the position:absolute rule from the first pass. */
.site-header::after {
  position: static !important;
  display: block !important;
  bottom: auto !important; left: auto !important; right: auto !important;
  z-index: auto !important;
  height: 2px !important;
  width: 100% !important;
  background: linear-gradient(to right,
    #D42B2B 0%, rgba(212,43,43,.32) 42%, transparent 74%) !important;
  pointer-events: none !important;
}

/* R3-3a: Restore stat numbers (removed display:none) */
.a2z-stat .num {
  display: block !important;
  font-size: clamp(2.4rem, 4.8vw, 3.8rem) !important;
  color: var(--color-brand-red) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  margin-bottom: .2rem !important;
}
/* R3-3b: Stat labels – smaller, muted */
.a2z-stat .lbl {
  font-size: clamp(.82rem, 1.3vw, .98rem) !important;
  color: rgba(255,255,255,.72) !important;
  font-weight: 500 !important;
  margin-top: 0 !important;
}

/* R3-4: Service cards – overlay max rgba(0,0,0,.40) */
.a2z-service-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.40), rgba(0,0,0,.06)) !important;
  opacity: 1 !important;
}

/* R3-5: Logos – brightness(0) invert(1) as requested; opacity .70 */
.a2z-logo img {
  filter: brightness(0) invert(1) !important;
  opacity: .70 !important;
}
.a2z-logo img:hover {
  filter: none !important;
  opacity: 1 !important;
}

/* R3-6: Remove visible dividers between sections
   (any border-bottom / border-top on section wrappers) */
.a2z-section,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  border-top: none !important;
  border-bottom: none !important;
}
/* Remove GeneratePress separator line if present */
.site-main > .entry-content > * + * {
  border-top: none !important;
}

/* ===================================================================
   FIX ROUND 4 – 2026-06-16
   =================================================================== */

/* R4-1: Dark stripe under header – zero GP default top padding on wrappers */
.site-content,
.content-area,
.site-main,
article.page,
article.home,
.inside-article,
.entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.entry-content > *:first-child,
.entry-content > .a2z-hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* R4-2: Studio cards – uniform visible border on both Studio A and Studio Z */
.a2z-studio-card {
  border: 1px solid rgba(255,255,255,.20) !important;
}

/* R4-3: Logos – semi-transparent light bg, no aggressive filter
   Relies on existing logo images being visible at reduced opacity.
   The glass container provides enough contrast on dark bg. */
.a2z-logo {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 4px !important;
  transition: background 220ms ease, border-color 220ms ease !important;
}
.a2z-logo:hover {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.25) !important;
}
.a2z-logo img {
  filter: none !important;
  opacity: .85 !important;
}
.a2z-logo img:hover {
  filter: none !important;
  opacity: 1 !important;
}

/* FIX ROUND 6 - artist carousel: blur fix + wow upgrade */
/* 1. mask-image forces compositing that blurs children; replace with solid-colour overlays */
.a2z-carousel { -webkit-mask-image: none !important; mask-image: none !important; }
.a2z-carousel-nav::before,
.a2z-carousel-nav::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 80px !important;
  z-index: 6 !important;
  pointer-events: none !important;
}
.a2z-carousel-nav::before { left: 0 !important; background: linear-gradient(to right, #0b0b0b, transparent) !important; }
.a2z-carousel-nav::after  { right: 0 !important; background: linear-gradient(to left,  #0b0b0b, transparent) !important; }

/* 2. No transform on image — avoids GPU sub-pixel bilinear blur.
      Hover uses brightness (no geometric distortion = no resampling = sharp). */
.a2z-artist-card img.wp-block-cover__image-background {
  transform: none !important;
  filter: none !important;
  transition: filter 400ms ease !important;
}
.a2z-artist-card:hover img.wp-block-cover__image-background {
  filter: brightness(1.18) !important;
}

/* 3. Bigger, more impactful cards */
.a2z-artist-grid.a2z-carousel .a2z-artist-card { flex: 0 0 250px !important; min-height: 370px !important; }

/* 4. Cinematic gradient: strong black at bottom for legibility, fades up */
.a2z-artist-card .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.45) 44%, rgba(0,0,0,.04) 100%) !important;
  opacity: 1 !important;
}

/* 5. No border in carousel — gap separates cards; border/shadow on composited track bliká */
.a2z-artist-grid .a2z-artist-card { border: none !important; box-shadow: none !important; outline: none !important; }

/* 6. Remove contain:layout paint from carousel cards — prevents nested GPU sub-layers inside track */
.a2z-artist-grid .a2z-artist-card { contain: none !important; }

/* FIX ROUND 5 - studio photo fills full text-column height */
.a2z-split .wp-block-columns { align-items: stretch !important; }
.a2z-split .wp-block-column:first-child { display: flex !important; flex-direction: column !important; align-self: stretch !important; }
.a2z-split figure.wp-block-image { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; height: 100% !important; margin: 0 !important; }
.a2z-split figure.wp-block-image img { aspect-ratio: unset !important; flex: 1 1 auto !important; height: 100% !important; width: 100% !important; object-fit: cover !important; }
/* Mobile bug: WP core stacks .wp-block-columns into a single column, so there's no
   sibling row to "stretch to match" — the height:100% chain above has nothing to
   resolve against and the photo renders at a runaway/huge height (several
   screen-heights tall) instead of a normal photo. Force a sane aspect-ratio back. */
@media (max-width: 820px) {
  .a2z-split .wp-block-column:first-child { flex: none !important; height: auto !important; }
  .a2z-split figure.wp-block-image { height: auto !important; }
  .a2z-split figure.wp-block-image img {
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
  }
}

/* =============================================
   O NAS PAGE — page-about.php
   ============================================= */

/* ── Reset grayscale for About page ── */
.a2z-about-page .wp-block-gallery img,
.a2z-about-page .wp-block-image img,
.a2z-about-page img { filter: none !important; }
/* Keep grayscale+invert on logo carousel images */
.a2z-about-page .a2z-logos .a2z-logo img { filter: grayscale(1) invert(1) !important; opacity: 0.5; }
.a2z-about-page .a2z-logos .a2z-logo:hover img { filter: grayscale(0) invert(0) brightness(1.1) !important; opacity: 1; }

/* ── Section shared ── */
.a2z-section-heading {
  text-align: center;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 1rem;
}
.a2z-section-sub {
  text-align: center;
  color: var(--color-gray-light, #aaa);
  max-width: 640px;
  margin: 0 auto 3rem;
  font-size: 1.05rem;
  line-height: 1.6;
}

/* ── 1. HERO ── */
.a2z-about-hero {
  position: relative;
  width: 100%;
  min-height: 55vh;
  background-size: cover;
  background-position: center 40%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.a2z-about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 100%);
}
.a2z-about-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 4rem 1.5rem;
}
.a2z-about-hero__eyebrow {
  font-size: .85rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--color-brand-red, #e60000);
  margin: 0 0 .75rem;
}
.a2z-about-hero__title {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(3.5rem, 10vw, 7rem);
  line-height: 1;
  letter-spacing: .04em;
  color: #fff;
  margin: 0;
}

/* ── 2. STATS ── */
.a2z-about-stats {
  padding: 3.5rem 1.5rem;
  background: #0d0d0d;
}
.a2z-about-stats .a2z-stats {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  text-align: center;
}
@media (max-width: 640px) {
  .a2z-about-stats .a2z-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ── 3. INTRO TEXT ── */
.a2z-about-intro {
  padding: 5rem 1.5rem;
  background: #111;
}
.a2z-about-intro__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}
.a2z-about-intro__col h2 {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 1.2rem;
}
.a2z-about-intro__col p {
  color: var(--color-gray-light, #ccc);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.a2z-about-intro__col p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
  .a2z-about-intro__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* ── 4. GALLERY ── */
.a2z-about-gallery {
  padding: 0;
  background: #000;
  line-height: 0;
}
.a2z-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 240px;
  gap: 4px;
}
/* Asymmetric item sizing */
.a2z-gallery-item--1 { grid-column: span 2; grid-row: span 2; }
.a2z-gallery-item--2 { grid-column: span 2; }
.a2z-gallery-item--3 { grid-column: span 1; }
.a2z-gallery-item--4 { grid-column: span 1; }
.a2z-gallery-item--5 { grid-column: span 2; }
.a2z-gallery-item--6 { grid-column: span 1; }
.a2z-gallery-item--7 { grid-column: span 2; }
.a2z-gallery-item--8 { grid-column: span 1; }

.a2z-gallery-item {
  display: block;
  overflow: hidden;
  cursor: zoom-in;
  position: relative;
}
.a2z-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease, filter 400ms ease;
  filter: none !important;
}
.a2z-gallery-item:hover img { transform: scale(1.04); }
@media (max-width: 768px) {
  .a2z-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .a2z-gallery-item--1 { grid-column: span 2; grid-row: span 1; }
  .a2z-gallery-item--2,
  .a2z-gallery-item--5,
  .a2z-gallery-item--7 { grid-column: span 2; }
}
@media (max-width: 480px) {
  .a2z-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .a2z-gallery-item { grid-column: span 1 !important; grid-row: span 1 !important; }
}

/* ── 5. TIMELINE ── */
.a2z-about-timeline {
  padding: 5rem 1.5rem;
  background: #0a0a0a;
}
.a2z-about-timeline__inner {
  max-width: 700px;
  margin: 0 auto;
}
.a2z-about-timeline__inner .a2z-section-heading { margin-bottom: 3rem; }

.a2z-timeline { position: relative; padding-left: 2.5rem; }
.a2z-timeline::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--color-brand-red, #e60000) 0%, transparent 100%);
}
.a2z-timeline__item {
  position: relative;
  margin-bottom: 2.5rem;
  padding-left: 1.5rem;
}
.a2z-timeline__item:last-child { margin-bottom: 0; }
.a2z-timeline__connector {
  position: absolute;
  left: -2.5rem;
  top: .3rem;
  display: flex;
  align-items: center;
}
.a2z-timeline__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-brand-red, #e60000);
  border: 2px solid #0a0a0a;
  box-shadow: 0 0 0 2px var(--color-brand-red, #e60000);
  flex-shrink: 0;
}
.a2z-timeline__card {}
.a2z-timeline__year {
  display: block;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 1.6rem;
  letter-spacing: .05em;
  color: var(--color-brand-red, #e60000);
  line-height: 1;
  margin-bottom: .4rem;
}
.a2z-timeline__card p {
  color: var(--color-gray-light, #ccc);
  line-height: 1.6;
  margin: 0;
  font-size: .98rem;
}

/* ── 6. TEAM ── */
.a2z-about-team {
  padding: 5rem 1.5rem;
  background: #111;
}
.a2z-about-team__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.a2z-about-team__inner .a2z-section-heading { margin-bottom: .6rem; }
.a2z-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 2.5rem;
  margin-top: 3rem;
}
.a2z-team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.a2z-team-card__photo-wrap {
  position: relative;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--color-brand-red, #e60000);
  margin-bottom: 1.2rem;
  flex-shrink: 0;
}
.a2z-team-card__photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: none !important;
}
.a2z-team-card--memorial .a2z-team-card__photo-wrap {
  border-color: #888;
  filter: grayscale(.5);
}
.a2z-team-card__badge {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  background: #555;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.a2z-team-card__name {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 1.35rem;
  letter-spacing: .05em;
  color: #fff;
  margin: 0 0 .25rem;
}
.a2z-team-card__role {
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-brand-red, #e60000);
  margin: 0 0 .8rem;
}
.a2z-team-card__bio {
  font-size: .88rem;
  color: var(--color-gray-light, #aaa);
  line-height: 1.6;
  margin: 0 0 1rem;
}
.a2z-team-card__quote {
  border: none;
  margin: 0;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.04);
  border-left: 2px solid var(--color-brand-red, #e60000);
  border-radius: 2px;
}
.a2z-team-card__quote p {
  font-size: .82rem;
  font-style: italic;
  color: #aaa;
  margin: 0;
  line-height: 1.55;
}
.a2z-team-card--memorial .a2z-team-card__quote {
  border-left-color: #666;
}

/* ── 7. LOGOS SECTION ── */
.a2z-about-logos {
  padding: 4rem 0 3rem;
  background: #0a0a0a;
}
.a2z-about-logos__inner { }
.a2z-about-logos .a2z-section-heading { padding: 0 1.5rem; margin-bottom: 2.5rem; }

/* ── 8. PRESS RELEASES ── */
.a2z-about-press {
  padding: 5rem 1.5rem;
  background: #111;
}
.a2z-about-press__inner {
  max-width: 700px;
  margin: 0 auto;
}
.a2z-about-press__inner .a2z-section-heading { margin-bottom: 2.5rem; }
.a2z-press-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.a2z-press-card {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 1.5rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 6px;
  text-decoration: none;
  color: #fff;
  transition: background 250ms ease, border-color 250ms ease;
}
.a2z-press-card:hover {
  background: rgba(230,0,0,.08);
  border-color: var(--color-brand-red, #e60000);
}
.a2z-press-card__icon {
  color: var(--color-brand-red, #e60000);
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.a2z-press-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.a2z-press-card__title {
  font-weight: 600;
  font-size: 1rem;
  color: #fff;
}
.a2z-press-card__meta {
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #888;
}
.a2z-press-card__arrow {
  font-size: 1.2rem;
  color: var(--color-brand-red, #e60000);
  flex-shrink: 0;
  transition: transform 200ms ease;
}
.a2z-press-card:hover .a2z-press-card__arrow { transform: translateY(3px); }

/* ── 9. CTA ── */
.a2z-about-cta {
  padding: 6rem 1.5rem;
  background: #0a0a0a;
  text-align: center;
}
.a2z-about-cta__inner {
  max-width: 640px;
  margin: 0 auto;
}
.a2z-about-cta h2 {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 1rem;
}
.a2z-about-cta p {
  color: var(--color-gray-light, #ccc);
  font-size: 1.1rem;
  line-height: 1.65;
  margin: 0 0 2.5rem;
}
.a2z-about-cta .a2z-cta-big {
  display: inline-block;
  padding: .9rem 2.5rem;
  background: var(--color-brand-red, #e60000);
  color: #fff;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 3px;
  transition: background 200ms ease, transform 200ms ease;
}
.a2z-about-cta .a2z-cta-big:hover {
  background: #c00;
  transform: translateY(-2px);
}

/* ── LIGHTBOX ── */
.a2z-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.94);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 250ms ease;
}
.a2z-lightbox[hidden] { display: none; }
.a2z-lightbox.is-open { opacity: 1; pointer-events: auto; display: flex; }
.a2z-lightbox__frame {
  max-width: 90vw;
  max-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.a2z-lightbox__img {
  max-width: 90vw;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 2px;
  box-shadow: 0 8px 48px rgba(0,0,0,.8);
  filter: none !important;
}
.a2z-lightbox__close,
.a2z-lightbox__prev,
.a2z-lightbox__next {
  position: fixed;
  background: rgba(0,0,0,.6);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  transition: background 200ms ease;
  z-index: 10000;
}
.a2z-lightbox__close:hover,
.a2z-lightbox__prev:hover,
.a2z-lightbox__next:hover { background: var(--color-brand-red, #e60000); border-color: transparent; }
.a2z-lightbox__close { top: 1.5rem; right: 1.5rem; font-size: 1.6rem; }
.a2z-lightbox__prev  { left: 1.5rem; top: 50%; transform: translateY(-50%); }
.a2z-lightbox__next  { right: 1.5rem; top: 50%; transform: translateY(-50%); }

/* =============================================
   O NAS PAGE — VISUAL UPGRADE
   ============================================= */

/* ── Scroll reveal base ── */
.a2z-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 680ms cubic-bezier(.25,.46,.45,.94), transform 680ms cubic-bezier(.25,.46,.45,.94);
}
.a2z-reveal--left  { transform: translateX(-36px); }
.a2z-reveal--right { transform: translateX(36px); }
.a2z-reveal.is-revealed { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .a2z-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ── Hero: diagonal bottom + parallax base ──
   POZOR: .a2z-hero-diagonal element už není v žádné šabloně použitý
   (starý design nahrazen jednodušším vystředěným hero, viz .onas-hero.
   a2z-about-hero výš) - zbytek bloku (animace, SVG diagonála) je mrtvý
   kód, neškodí. padding-bottom ale škodil: třída .a2z-about-hero se
   dodnes používá i pro NOVÝ hero (spolu s .onas-hero), takže tenhle
   starý padding-bottom:5rem (80px) potichu ujídal z prostoru pro
   vertikální centrování obsahu ve flexboxu - na mobilu (nízká výška
   hera) to obsah natlačilo úplně nahoru, skoro slepené s headerem. */
.a2z-hero-diagonal {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 64px;
  pointer-events: none;
  z-index: 2;
}
.a2z-hero-diagonal svg {
  width: 100%;
  height: 100%;
  display: block;
}
/* Hero text fade-in animation */
.a2z-about-hero__content {
  animation: a2z-hero-enter 1s cubic-bezier(.25,.46,.45,.94) both;
}
.a2z-about-hero__eyebrow {
  animation: a2z-hero-enter 1.2s cubic-bezier(.25,.46,.45,.94) both;
  animation-delay: .15s;
}
.a2z-about-hero__title {
  animation: a2z-hero-enter 1.2s cubic-bezier(.25,.46,.45,.94) both;
  animation-delay: .25s;
  font-size: clamp(4.5rem, 14vw, 9rem);
  letter-spacing: .02em;
  text-shadow: 0 4px 32px rgba(0,0,0,.6);
}
@keyframes a2z-hero-enter {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .a2z-about-hero__content,
  .a2z-about-hero__eyebrow,
  .a2z-about-hero__title { animation: none !important; }
}

/* ── Stats: enhanced size and spacing ── */
.a2z-about-stats .a2z-stat .num {
  font-size: clamp(3.2rem, 7vw, 5.5rem);
}
.a2z-about-stats .a2z-stat .lbl {
  font-size: 1rem;
  letter-spacing: .06em;
}
.a2z-about-stats {
  background: linear-gradient(180deg, #0d0d0d 0%, #0a0a0a 100%);
  border-top: 1px solid rgba(255,255,255,.05);
}

/* ── Gallery: masonry layout + hover overlay ── */
.a2z-gallery-grid {
  columns: 3 220px !important;
  display: block !important;
  gap: 6px !important;
  column-gap: 6px;
  grid-template-columns: unset !important;
  grid-auto-rows: unset !important;
}
.a2z-gallery-item {
  break-inside: avoid;
  display: block !important;
  overflow: hidden;
  position: relative;
  margin-bottom: 6px;
  cursor: zoom-in;
}
/* Override old grid-column/row spans */
.a2z-gallery-item--1,
.a2z-gallery-item--2,
.a2z-gallery-item--3,
.a2z-gallery-item--4,
.a2z-gallery-item--5,
.a2z-gallery-item--6,
.a2z-gallery-item--7,
.a2z-gallery-item--8 {
  grid-column: unset !important;
  grid-row: unset !important;
}
.a2z-gallery-item img {
  width: 100% !important;
  height: auto !important;
  display: block;
  transition: transform 500ms ease;
}
.a2z-gallery-item:hover img { transform: scale(1.05); }
/* Hover overlay */
.a2z-gallery-zoom {
  position: absolute;
  inset: 0;
  background: rgba(230, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 300ms ease;
  color: #fff;
}
.a2z-gallery-item:hover .a2z-gallery-zoom { opacity: 1; }
@media (max-width: 600px) {
  .a2z-gallery-grid { columns: 2 120px !important; }
}

/* ── Timeline: alternating left/right ── */
.a2z-timeline {
  position: relative;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding-left: 0 !important;
}
/* Remove old single-column spine */
.a2z-timeline::before { display: none !important; }

.a2z-timeline__item {
  display: grid;
  grid-template-columns: 1fr 72px 1fr;
  align-items: flex-start;
  min-height: 80px;
  position: relative;
}
/* Continuous vertical spine through center column */
.a2z-timeline__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  position: relative;
  z-index: 1;
}
.a2z-timeline__center::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: -100%;
  left: 50%;
  width: 2px;
  background: linear-gradient(to bottom, var(--color-brand-red, #e60000), rgba(230,0,0,.15));
  transform: translateX(-50%);
  z-index: -1;
}
.a2z-timeline__item:last-child .a2z-timeline__center::before { display: none; }

.a2z-timeline__dot {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #111;
  border: 2px solid var(--color-brand-red, #e60000);
  box-shadow: 0 0 0 4px rgba(230,0,0,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: .15rem;
  flex-shrink: 0;
  transition: box-shadow 300ms ease, background 300ms ease;
}
.a2z-timeline__item:hover .a2z-timeline__dot {
  background: var(--color-brand-red, #e60000);
  box-shadow: 0 0 0 8px rgba(230,0,0,.2);
}
.a2z-timeline__icon {
  font-size: 1rem;
  color: var(--color-brand-red, #e60000);
  line-height: 1;
  transition: color 300ms ease;
}
.a2z-timeline__item:hover .a2z-timeline__icon { color: #fff; }

/* Left items: card on left, dot in center, spacer right */
.a2z-timeline__item--left .a2z-timeline__card { grid-column: 1; padding-right: 1.8rem; text-align: right; }
.a2z-timeline__item--left .a2z-timeline__center { grid-column: 2; }
.a2z-timeline__item--left .a2z-timeline__spacer { grid-column: 3; }
/* Right items: spacer left, dot in center, card right */
.a2z-timeline__item--right .a2z-timeline__spacer { grid-column: 1; }
.a2z-timeline__item--right .a2z-timeline__center { grid-column: 2; }
.a2z-timeline__item--right .a2z-timeline__card { grid-column: 3; padding-left: 1.8rem; text-align: left; }

.a2z-timeline__card {
  padding-top: .1rem;
  padding-bottom: 2rem;
}
.a2z-timeline__year {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 2rem;
  letter-spacing: .05em;
  color: var(--color-brand-red, #e60000);
  line-height: 1;
  margin-bottom: .4rem;
  display: block;
  transition: text-shadow 300ms ease;
}
.a2z-timeline__item:hover .a2z-timeline__year {
  text-shadow: 0 0 24px rgba(230,0,0,.5);
}
.a2z-timeline__card p {
  color: #bbb;
  font-size: .95rem;
  line-height: 1.65;
  margin: 0;
}
/* Mobile: collapse to single column */
@media (max-width: 640px) {
  .a2z-timeline__item { grid-template-columns: 48px 1fr; }
  .a2z-timeline__item--left .a2z-timeline__card,
  .a2z-timeline__item--right .a2z-timeline__card { grid-column: 2; padding-left: 1.2rem; padding-right: 0; text-align: left; }
  .a2z-timeline__item--left .a2z-timeline__center,
  .a2z-timeline__item--right .a2z-timeline__center { grid-column: 1; grid-row: 1; }
  .a2z-timeline__item--left .a2z-timeline__spacer,
  .a2z-timeline__item--right .a2z-timeline__spacer { display: none; }
  .a2z-timeline__dot { width: 36px; height: 36px; }
  .a2z-timeline__icon { font-size: .8rem; }
}

/* ── Team cards: hover effects ── */
.a2z-team-grid { align-items: stretch; }
.a2z-team-card {
  transition: box-shadow 300ms ease;
}
.a2z-team-card:hover {
  box-shadow: 0 8px 48px rgba(230,0,0,.18);
}
.a2z-team-card__photo-wrap {
  transition: border-color 300ms ease, box-shadow 300ms ease;
}
.a2z-team-card:hover .a2z-team-card__photo-wrap {
  border-color: var(--color-brand-red, #e60000);
  box-shadow: 0 0 0 3px rgba(230,0,0,.3);
}
.a2z-team-card__photo-wrap img {
  transition: transform 400ms ease, filter 400ms ease !important;
}
.a2z-team-card:hover .a2z-team-card__photo-wrap img {
  transform: scale(1.08);
}
/* Truncate bio; expand on hover */
.a2z-team-card__bio {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 2.9em;
  transition: max-height 400ms ease, -webkit-line-clamp 400ms ease;
}
.a2z-team-card:hover .a2z-team-card__bio {
  -webkit-line-clamp: unset;
  max-height: 10em;
}
@media (prefers-reduced-motion: reduce) {
  .a2z-team-card:hover .a2z-team-card__bio { max-height: none; }
}

/* ── Press cards: hover lift + date highlight ── */
.a2z-press-card {
  transition: background 250ms ease, border-color 250ms ease, transform 250ms ease, box-shadow 250ms ease;
}
.a2z-press-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(0,0,0,.5);
}
.a2z-press-card__date {
  color: var(--color-brand-red, #e60000);
  font-weight: 600;
}

/* ── CTA: pulse button + gradient background ── */
.a2z-about-cta {
  background: radial-gradient(ellipse 70% 80% at 50% 0%, rgba(230,0,0,.09) 0%, #0a0a0a 65%) !important;
}
.a2z-about-cta .a2z-cta-big {
  position: relative;
  animation: a2z-btn-pulse 2.6s ease infinite;
}
.a2z-about-cta .a2z-cta-big:hover {
  animation-play-state: paused;
  transform: translateY(-3px) !important;
}
@keyframes a2z-btn-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(230,0,0,.5), 0 6px 24px rgba(230,0,0,.25); }
  60%       { box-shadow: 0 0 0 14px rgba(230,0,0,.0), 0 6px 24px rgba(230,0,0,.25); }
}
@media (prefers-reduced-motion: reduce) {
  .a2z-about-cta .a2z-cta-big { animation: none !important; }
}

/* ── Logo static grid (replaces carousel on About page) ── */
.a2z-logos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.a2z-logos-grid__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem;
  border: 1px solid rgba(255,255,255,.06);
}
.a2z-logos-grid__item img {
  max-width: 130px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(1.6) !important;
  opacity: .45;
  transition: filter 350ms ease, opacity 350ms ease, transform 300ms ease;
}
.a2z-logos-grid__item:hover img {
  filter: grayscale(0) brightness(1.05) !important;
  opacity: 1;
  transform: scale(1.07);
}
@media (max-width: 700px) {
  .a2z-logos-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
  .a2z-logos-grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
}

/* ── Spacing audit — all sections min 80px / mobile 48px ── */
.a2z-about-stats  { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-intro  { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-timeline { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-team   { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-logos  { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-press  { padding-top: 5rem; padding-bottom: 5rem; }
.a2z-about-cta    { padding-top: 6rem; padding-bottom: 6rem; }

@media (max-width: 768px) {
  .a2z-about-stats,
  .a2z-about-intro,
  .a2z-about-timeline,
  .a2z-about-team,
  .a2z-about-logos,
  .a2z-about-press  { padding-top: 3rem; padding-bottom: 3rem; }
  .a2z-about-cta    { padding-top: 4rem; padding-bottom: 4rem; }
  .a2z-logos-grid   { padding: 0 1rem; }
}

/* ── Team card: consistent height + translateY lift on hover ── */
.a2z-team-grid { align-items: stretch; }
.a2z-team-card { transition: transform 280ms ease, box-shadow 280ms ease; }
.a2z-team-card:hover { transform: translateY(-6px); }

/* ── AOS: disable when prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* =============================================
   O NAS PAGE — SIMPLIFIED (2026-06)
   ============================================= */

/* Force full-width — GeneratePress sidebar bypass */
body.full-width-content #primary,
body.full-width-content .content-area,
body.no-sidebar #primary,
body.no-sidebar .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
}
body.full-width-content .widget-area,
body.full-width-content aside.widget-area {
  display: none !important;
}

/* 2. Intro — single centred column */
.a2z-about-intro__inner {
  display: block !important;
  grid-template-columns: unset !important;
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
}
.a2z-about-intro__heading {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 1.8rem;
  line-height: 1.1;
}
.a2z-about-intro p {
  color: var(--color-gray-light, #ccc);
  line-height: 1.78;
  margin-bottom: 1.1rem;
  font-size: 1.05rem;
}
.a2z-about-intro p:last-child { margin-bottom: 0; }

/* 3. Studios */
.a2z-about-studios {
  padding: 5rem 1.5rem;
  background: #0d0d0d;
}
.a2z-about-studios__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.a2z-about-studios__text {
  max-width: 760px;
  margin: 0 auto 3rem;
  text-align: center;
}
.a2z-about-studios__heading {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 1.4rem;
}
.a2z-about-studios__text p {
  color: var(--color-gray-light, #ccc);
  line-height: 1.75;
  margin-bottom: 1rem;
  font-size: 1.02rem;
}
.a2z-about-studios__text p:last-child { margin-bottom: 0; }

/* Studio gallery — 3-column grid */
.a2z-studio-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.a2z-studio-gallery__item {
  display: block;
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
  aspect-ratio: 4/3;
  background: #000;
}
.a2z-studio-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease;
  filter: none !important;
}
.a2z-studio-gallery__item:hover img { transform: scale(1.05); }
.a2z-studio-gallery__zoom {
  position: absolute;
  inset: 0;
  background: rgba(230,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: opacity 280ms ease;
}
.a2z-studio-gallery__item:hover .a2z-studio-gallery__zoom { opacity: 1; }
@media (max-width: 640px) {
  .a2z-studio-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
  .a2z-studio-gallery { grid-template-columns: 1fr; }
}

/* 4. Team heading / subtitle */
.a2z-about-team__heading {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 .6rem;
  text-align: center;
}
.a2z-about-team__sub {
  color: var(--color-gray-light, #aaa);
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.65;
}

/* ── Team: kompaktní karty + modal (dle mockupu tym-a2z.html) ── */
.a2z-about-team .a2z-team-grid {
  display: flex !important;
  flex-wrap: wrap; /* brief 2026-07-09/13 bod 3: dřív "nowrap" + flex:1 1 0 na
    kartách donekonečna zmenšovalo karty místo zalomení na nový řádek při
    přidání dalšího člena týmu/na užší obrazovce. */
  gap: 16px 24px;
  justify-content: center;
  align-items: stretch;
  margin-top: 3rem;
}
.a2z-about-team .a2z-team-card {
  flex: 0 1 200px;
  min-width: 180px;
  max-width: 220px;
  background: #161616;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 32px 16px 24px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  text-align: center;
  cursor: default;
  transition: border-color 200ms ease, transform 200ms ease;
}
.a2z-about-team .a2z-team-card:hover {
  border-color: rgba(204,41,41,.4);
  transform: translateY(-4px);
}
.a2z-about-team .a2z-team-card--memorial .a2z-team-card__photo-wrap {
  filter: grayscale(25%);
}
/* Photo wrap: 96×96px kruh s červeným okrajem */
.a2z-about-team .a2z-team-card .a2z-team-card__photo-wrap {
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  border: 2.5px solid #cc2929 !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  flex-shrink: 0 !important;
  position: relative;
}
.a2z-about-team .a2z-team-card .a2z-team-card__photo-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border-radius: 0 !important;
  border: none !important;
  filter: none !important;
}
/* Jméno, role */
.a2z-about-team .a2z-team-card .a2z-team-card__name {
  font-size: 16px !important;
  font-weight: 600;
  color: #fff !important;
  margin-bottom: 5px !important;
  line-height: 1.2;
}
.a2z-about-team .a2z-team-card .a2z-team-card__role {
  font-size: 10px !important;
  font-weight: 500;
  text-transform: uppercase !important;
  letter-spacing: 2px;
  color: #cc2929 !important;
  margin-bottom: 20px !important;
}
/* Vizuální odlišení zesnulého člena přímo na dlaždici (ne jen v modalu po
   prokliku) - brief 2026-07-09/13, bod 4. Grayscale foto (viz
   .a2z-team-card--memorial .a2z-team-card__photo-wrap výš) zůstává, tohle
   je navíc. */
.a2z-about-team .a2z-team-card__memorial-tag {
  font-size: 11px;
  font-style: italic;
  color: #999;
  margin-top: -12px;
  margin-bottom: 16px;
}
/* Tlačítko "Více info" — vysoká specifičnost + !important */
.a2z-about-team .a2z-team-card .a2z-team-btn,
.a2z-about-team .a2z-team-card .a2z-team-btn:not(:hover) {
  display: inline-block !important;
  margin-top: auto !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(204,41,41,.55) !important;
  color: #cc2929 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 8px 18px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important;
  text-decoration: none !important;
  line-height: normal !important;
}
.a2z-about-team .a2z-team-card .a2z-team-btn:hover,
.a2z-about-team .a2z-team-card .a2z-team-btn:focus {
  background: #cc2929 !important;
  background-color: #cc2929 !important;
  color: #fff !important;
  border-color: #cc2929 !important;
  outline: none !important;
}
/* Mobil: 2 sloupce */
@media (max-width: 768px) {
  .a2z-about-team .a2z-team-grid {
    flex-wrap: wrap;
    gap: 12px;
  }
  .a2z-about-team .a2z-team-card {
    flex: 1 1 calc(50% - 6px);
    max-width: none;
  }
}
@media (max-width: 420px) {
  .a2z-about-team .a2z-team-card {
    flex: 1 1 100%;
  }
}

/* ── Team modal ── */
.a2z-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  display: none;
  align-items: center;
  justify-content: center;
}
.a2z-modal-overlay[hidden] { display: none !important; }
.a2z-modal-overlay.is-open { display: flex; }
.a2z-modal {
  background: #181818;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  max-width: 480px;
  width: 90%;
  padding: 36px 32px;
  position: relative;
  animation: a2z-modal-up 250ms ease both;
  max-height: 90vh;
  overflow-y: auto;
}
@keyframes a2z-modal-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .a2z-modal { animation: none; }
}
.a2z-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: #666;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  transition: color 150ms ease;
  padding: 4px;
}
.a2z-modal__close:hover { color: #fff; }
.a2z-modal__header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.a2z-modal__avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  border: 2px solid #cc2929 !important;
  object-fit: cover !important;
  object-position: center top !important;
  flex-shrink: 0;
  filter: none !important;
}
.a2z-modal__name {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}
.a2z-modal__role {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #cc2929;
  font-weight: 500;
}
.a2z-modal__divider {
  height: 1px;
  background: rgba(255,255,255,.07);
  margin-bottom: 20px;
}
.a2z-modal__bio {
  font-size: 13.5px;
  color: #999;
  line-height: 1.75;
  margin-bottom: 16px;
}
.a2z-modal__memorial {
  font-size: 12.5px;
  color: #ccc;
  font-style: italic;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 16px;
  border-top: 1px solid rgba(204,41,41,.3);
  border-bottom: 1px solid rgba(204,41,41,.3);
}
.a2z-modal__quote {
  border: none;
  border-left: 2px solid #cc2929;
  padding: 0 0 0 14px;
  margin: 0;
  font-size: 13px;
  font-style: italic;
  color: #ddd;
  line-height: 1.75;
}
/* Soubory ke stažení na konci modálu (externí odkaz a/nebo nahrané
   soubory člena týmu) - zobrazí se jen když existuje aspoň jeden,
   vycentrované, s možností více tlačítek pod sebou. */
.a2z-modal__files {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.a2z-modal__file {
  font-size: 13px;
  padding: 10px 20px;
}
/* ===================================================================
   LIGHTBOX - "Nahrávali u nás" (brief 2026-07-09/13, bod 1.8), stejný
   vizuální jazyk jako .a2z-modal (memorial modal na About).
   =================================================================== */
.a2z-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5vh 5vw;
}
.a2z-lightbox[hidden] { display: none !important; }
.a2z-lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #ccc;
  font-size: 32px;
  cursor: pointer;
  line-height: 1;
  transition: color 150ms ease;
  padding: 4px 10px;
}
.a2z-lightbox__close:hover { color: #fff; }
.a2z-lightbox__frame {
  margin: 0;
  max-width: min(92vw, 1400px);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: a2z-modal-up 220ms ease both;
}
.a2z-lightbox__img {
  max-width: 100%;
  max-height: 82vh;
  width: auto;
  height: auto;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.12);
  object-fit: contain;
}
.a2z-lightbox__caption {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 600;
  margin-top: 16px;
  text-align: center;
}
.a2z-lightbox__all {
  color: var(--color-brand-red);
  font-size: .85rem;
  margin-top: 10px;
  text-decoration: none;
}
.a2z-lightbox__all:hover { text-decoration: underline; }
.a2z-lightbox__counter {
  color: rgba(255,255,255,.5);
  font-size: .8rem;
  margin-top: 6px;
  text-align: center;
}
/* .a2z-lightbox__prev/__next mají display:flex výš (kruhové šipky) -
   bez tohohle by nativní [hidden] atribut (nastavovaný z JS, když je
   v galerii jen 1 fotka) přebilo, protože display:flex má vyšší
   specificitu než UA styl "[hidden]{display:none}". */
.a2z-lightbox__prev[hidden],
.a2z-lightbox__next[hidden] {
  display: none !important;
}
html.a2z-lightbox-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .a2z-lightbox__frame { animation: none; }
}

/* Notice (standalone class used in previous version, keep for compat) */
.a2z-team-card__notice {
  font-size: .75rem;
  color: #999;
  font-style: italic;
  margin: 0 0 .6rem;
  line-height: 1.45;
}

/* 5. Press heading */
.a2z-about-press__heading {
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: .04em;
  color: #fff;
  margin: 0 0 2.5rem;
  text-align: center;
}

/* Studios spacing */
.a2z-about-studios { padding-top: 5rem; padding-bottom: 5rem; }
@media (max-width: 768px) {
  .a2z-about-studios { padding-top: 3rem; padding-bottom: 3rem; }
}

/* =============================================
   ONAS PAGE REDESIGN (2026-06)
   ============================================= */

/* Inter font scoped to about page */
.onas-page { font-family: 'Source Sans 3', Arial, Helvetica, sans-serif; }

/* ── Hero ── */
.onas-hero.a2z-about-hero {
  position: relative;
  height: clamp(320px, 44vw, 480px);
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #0a0a0a;
}
.onas-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.18);
  z-index: 0;
}
.onas-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 1.25rem;
}
.onas-hero__label {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin: 0 0 .65rem;
}
.onas-hero__title {
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0 0 1rem;
  color: var(--color-white);
}
.onas-hero__sub {
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  color: var(--color-gray-mid);
  line-height: 1.6;
  margin: 0;
}
.onas-hero__line {
  width: 40px;
  height: 2px;
  background: var(--color-brand-red);
  margin: 1.35rem auto 0;
}

/* ── Shared section primitives ── */
.onas-section-label {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cc2929;
  margin-bottom: 10px;
}
.onas-section-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -0.5px;
  margin-bottom: 20px;
  color: #fff;
  line-height: 1.2;
}
.onas-section-title em {
  font-style: normal;
  color: #cc2929;
}

/* ── O studiu ── */
.onas-about-section {
  padding: 96px 48px;
  background: #0f0f0f;
}
.onas-about {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.onas-about__left { position: relative; padding-top: 34px; }
.onas-about__big-quote {
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 700;
  color: #7a1616; /* plná, tmavší červená - brief 2026-07-09/13: dřív rgba(204,41,41,.55) na tmavém pozadí působilo světleji, ne tmavěji */
  line-height: 1;
  position: absolute;
  top: -34px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}
.onas-about__text {
  font-size: 15px;
  color: #888;
  line-height: 1.8;
}
.onas-about__text p + p { margin-top: 16px; }
.onas-about__right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.onas-stat-card {
  background: #161616;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 28px 20px;
  text-align: center;
}
.onas-stat-number {
  font-size: 36px;
  font-weight: 700;
  color: #cc2929;
  display: block;
  margin-bottom: 6px;
}
.onas-stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #888;
}

/* ── Studia ── */
.onas-studios-section {
  padding: 96px 48px;
  background: #0a0a0a;
}
.onas-studios-inner { max-width: 1200px; margin: 0 auto; }
.onas-studios-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-bottom: 56px;
  align-items: center;
}
.onas-studios-desc {
  font-size: 15px;
  color: #888;
  line-height: 1.8;
  margin-top: 16px;
}
.onas-studio-tags { display: flex; flex-direction: column; gap: 14px; }
.onas-studio-tag {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: #161616;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
}
.onas-studio-tag__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #cc2929;
  flex-shrink: 0;
}
.onas-studio-tag__name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 2px;
}
.onas-studio-tag__desc {
  font-size: 11px;
  color: #888;
}

/* ── Asymmetric gallery ── */
.onas-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 200px 160px 200px;
  gap: 8px;
}
.onas-gal-item {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  cursor: pointer;
  background: #111;
}
.onas-gal-item.wide { grid-column: span 2; }
.onas-gal-item.tall { grid-row: span 2; }
.onas-gal-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease, filter 0.45s ease;
  filter: brightness(0.8);
  border: none !important;
  border-radius: 0 !important;
}
.onas-gal-item:hover img {
  transform: scale(1.06);
  filter: brightness(1);
}
.onas-gal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(204,41,41,0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
  pointer-events: none;
}
.onas-gal-item:hover .onas-gal-overlay { background: rgba(204,41,41,0.15); }
.onas-gal-icon {
  opacity: 0;
  font-size: 24px;
  color: #fff;
  transition: opacity 0.3s;
}
.onas-gal-item:hover .onas-gal-icon { opacity: 1; }

/* ── Studio A / Studio Z - dva samostatné bloky, každý s vlastní galerií
   (brief 2026-07-09/13, bod 2) ── */
.onas-studio-block {
  padding: 96px 48px;
  background: #0a0a0a;
}
/* Web 2026 feedback #16 - Studio Z: výrazně tmavší pozadí než Studio A
   (dřív #0f0f0f, tj. o odstín SVĚTLEJŠÍ než Studio A - opačně, než bylo
   zamýšleno). Čistá černá dává jasný, čitelný kontrast mezi bloky. */
.onas-studio-block--alt {
  background: #000;
}
.onas-studio-block__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 60px;
  align-items: center;
}
.onas-studio-block__text .onas-studios-desc { margin-top: 16px; }
.onas-studio-area {
  margin-top: 16px;
  font-size: 13px;
  color: #cc2929;
  font-weight: 600;
  letter-spacing: .5px;
}
.onas-gallery--studio {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 200px 200px;
}
@media (max-width: 960px) {
  .onas-studio-block__inner { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 860px) {
  .onas-gallery--studio {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 180px);
  }
  .onas-gallery--studio .onas-gal-item.tall { grid-row: auto; grid-column: span 2; }
}
@media (max-width: 768px) {
  .onas-studio-block { padding: 64px 24px; }
}
@media (max-width: 480px) {
  .onas-studio-block { padding: 48px 16px; }
  .onas-gallery--studio {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, 140px);
  }
}

/* ── Lightbox ── */
.onas-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
}
.onas-lightbox[hidden] { display: none !important; }
.onas-lightbox.is-open { display: flex; }
.onas-lightbox__img {
  max-width: 85vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 6px;
  display: block;
  border: none !important;
}
.onas-lightbox__close {
  position: absolute;
  top: 20px; right: 28px;
  background: none; border: none;
  color: #aaa; font-size: 28px;
  cursor: pointer; transition: color 0.2s;
  line-height: 1; z-index: 1;
  padding: 4px;
}
.onas-lightbox__close:hover { color: #fff; }
.onas-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
  border-radius: 50%;
  width: 44px; height: 44px;
  font-size: 20px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
  z-index: 1;
}
.onas-lightbox__nav:hover { background: rgba(204,41,41,0.4); }
.onas-lightbox__prev { left: 20px; }
.onas-lightbox__next { right: 20px; }
.onas-lightbox__counter {
  position: absolute;
  bottom: 20px; left: 50%;
  transform: translateX(-50%);
  font-size: 12px; color: #666;
  letter-spacing: 1px; z-index: 1;
}

/* ── Team section ── */
.onas-team-section {
  padding: 96px 48px;
  background: #0f0f0f;
}
.onas-team-inner { max-width: 1200px; margin: 0 auto; }
.onas-team-header { text-align: center; margin-bottom: 52px; }
.onas-team-intro {
  font-size: 15px;
  color: #888;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.8;
}

/* ── Press ── */
.onas-press-section {
  padding: 96px 48px;
  background: #0a0a0a;
}
.onas-press-inner { max-width: 1200px; margin: 0 auto; }
.onas-press-header { margin-bottom: 40px; }
/* CS/EN filtr - brief 2026-07-09/13, bod 5 */
.onas-press-filter {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}
.onas-press-filter__btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,.14);
  color: #999;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 20px;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}
.onas-press-filter__btn:hover {
  border-color: rgba(204,41,41,.5);
  color: #fff;
}
.onas-press-filter__btn.is-active {
  background: #cc2929;
  border-color: #cc2929;
  color: #fff;
}
.onas-press-empty {
  grid-column: 1 / -1;
  color: #888;
  font-size: 14px;
  font-style: italic;
  padding: 24px 0;
}
.onas-press-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.onas-press-card {
  background: #161616;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none !important;
  color: inherit;
  transition: border-color 0.2s, transform 0.2s;
}
.onas-press-card:hover {
  border-color: rgba(204,41,41,0.3);
  transform: translateY(-2px);
  color: inherit;
}
.onas-press-icon {
  width: 44px; height: 44px;
  background: rgba(204,41,41,0.15);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #cc2929;
}
.onas-press-title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}
.onas-press-meta {
  font-size: 11px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.onas-press-arrow {
  margin-left: auto;
  color: #cc2929;
  font-size: 18px;
  flex-shrink: 0;
}

/* ── CTA ── */
.onas-cta-section {
  position: relative;
  text-align: center;
  overflow: hidden;
  padding: 96px 48px;
  background: #0f0f0f;
}
.onas-cta-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(204,41,41,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.onas-cta-inner {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}
.onas-cta-inner h2 {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700;
  letter-spacing: -1px;
  margin-bottom: 16px;
  color: #fff;
}
.onas-cta-inner > p {
  font-size: 15px;
  color: #888;
  margin-bottom: 36px;
  line-height: 1.7;
}
/* Kontakt - CTA "Nahrávání od 800 Kč/hod · Mix & mastering od 4 500 Kč":
   bez tohohle se řádek lámal uprostřed druhé věty (např. "Mix &
   mastering od" na jednom řádku, osamocené "4 500 Kč" na dalším) -
   každá polovina (oddělená &middot;) teď drží pohromadě jako jeden
   celek a zalomí se nanejvýš mezi nimi, ne uvnitř. */
.onas-cta-price-part {
  white-space: nowrap;
}
/* .onas-section-label je taky přímé dítě <p> -> výše uvedené pravidlo ho
   nechtěně přebarvovalo na šedo; label má být červený jako všude jinde. */
.onas-cta-inner > p.onas-section-label {
  color: var(--color-brand-red) !important;
  margin-bottom: 28px !important;
}
.onas-cta-btn {
  display: inline-block;
  background: #cc2929;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 40px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.onas-cta-btn:hover {
  background: #aa1f1f;
  transform: translateY(-2px);
  color: #fff !important;
}

/* ── Responsive ── */
@media (max-width: 960px) {
  .onas-about { grid-template-columns: 1fr; gap: 48px; }
  .onas-studios-header { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 860px) {
  /* :not(.onas-gallery--studio) - tohle je stará šablona pro původní
     JEDNU sdílenou galerii (6-8 namíchaných fotek obou studií, viz
     brief 2026-07-09/13 bod 2), teď platí jen pro jiné/obecné .onas-gallery
     výskyty (Reference apod.). Bez :not() přebíjela (stejná specificita,
     ale je v souboru NÍŽ) novější .onas-gallery--studio pravidla o kus
     výš (3 řádky pro 4 fotky), takže 4fotkové galerie Studio A/Z dostaly
     6 řádků místo 3 - zbylé 3 prázdné řádky (~420px) dělaly obrovskou
     černou mezeru pod fotkami než začal další blok (Studio Z/Lidé). */
  .onas-gallery:not(.onas-gallery--studio) {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 180px);
  }
  /* 2-column mobile grid: 3 "wide" (full-row) + 1 "tall" + 4 normal photos
     packed as half-width cells would leave 5 half-width items (odd count) →
     one photo stranded alone in the last row with an empty gap beside it.
     Making "tall" also full-width (like "wide") evens it out to 4 full-width
     + 4 half-width = exactly 6 clean rows, no gap. */
  .onas-gallery:not(.onas-gallery--studio) .onas-gal-item.tall { grid-row: auto; grid-column: span 2; }
  .onas-press-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .onas-about-section,
  .onas-studios-section,
  .onas-team-section,
  .onas-press-section,
  .onas-cta-section { padding: 64px 24px; }
  .onas-about__right { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .onas-about-section,
  .onas-studios-section,
  .onas-team-section,
  .onas-press-section,
  .onas-cta-section { padding: 48px 16px; }
  .onas-gallery:not(.onas-gallery--studio) {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(6, 140px);
  }
  .onas-gallery:not(.onas-gallery--studio) .onas-gal-item.wide { grid-column: span 2; }
  .onas-hero.a2z-about-hero { height: clamp(320px, 60vw, 340px); }
}

/* ===================================================================
   PAGE REFERENCES — page-references.php → reuses .onas-* patterns
   (hero, intro+stats, CTA) plus unique .ref-* timeline & testimonials
   =================================================================== */
.ref-timeline-section { padding: 96px 48px; background: #0a0a0a; }
.ref-timeline-inner { max-width: 900px; margin: 0 auto; }
.ref-timeline-header { text-align: center; margin-bottom: 56px; }
.ref-timeline {
  position: relative;
  padding-left: 32px;
  border-left: 2px solid rgba(204,41,41,.25);
}
.ref-timeline__item { position: relative; padding-bottom: 28px; }
.ref-timeline__item:last-child { padding-bottom: 0; }
.ref-timeline__dot {
  position: absolute;
  left: -39px; top: 6px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #cc2929;
  box-shadow: 0 0 0 4px #0a0a0a, 0 0 10px rgba(204,41,41,.6);
}
.ref-timeline__card {
  background: #161616;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  padding: 22px 26px;
  transition: border-color .2s ease;
}
.ref-timeline__card:hover { border-color: rgba(204,41,41,.3); }
.ref-timeline__name { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.ref-timeline__desc { font-size: 14px; color: #888; line-height: 1.6; margin: 0 0 14px; }
.ref-tag {
  display: inline-block;
  font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase;
  color: #cc2929;
  background: rgba(204,41,41,.08);
  border: 1px solid rgba(204,41,41,.4);
  border-radius: 999px;
  padding: 4px 12px;
}

/* ── Testimonials ── */
.ref-testimonials-section { padding: 96px 48px; background: #0f0f0f; }
.ref-testimonials-inner { max-width: 1180px; margin: 0 auto; }
.ref-testimonials-header { text-align: center; margin-bottom: 48px; }
.ref-testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ref-testimonial-card {
  position: relative;
  background: #161616;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 36px 28px;
  transition: border-color .2s ease;
}
.ref-testimonial-card:hover { border-color: rgba(204,41,41,.3); }
.ref-testimonial-mark {
  font-size: 56px; font-weight: 800; font-family: Georgia, serif;
  color: rgba(204,41,41,.6); line-height: .6;
  margin-bottom: 8px;
  pointer-events: none; user-select: none;
}
.ref-testimonial-quote { font-size: 15px; color: #ccc; line-height: 1.7; font-style: italic; margin: 0 0 24px; text-wrap: pretty; }
.ref-testimonial-author { display: flex; flex-direction: column; gap: 2px; }
.ref-testimonial-name { font-size: 14px; font-weight: 700; color: #fff; }
.ref-testimonial-role { font-size: 12px; color: #888; }

@media (max-width: 700px) {
  .ref-timeline-section,
  .ref-testimonials-section { padding: 64px 24px; }
  .ref-timeline { padding-left: 24px; }
  .ref-timeline__dot { left: -31px; }
  .ref-testimonials-grid { grid-template-columns: 1fr; }
}

/* ── Google recenze (Web 2026 feedback #24) ── */
.ref-google-reviews-section { padding: 96px 48px; background: #0a0a0a; }
.ref-google-reviews-inner { max-width: 1180px; margin: 0 auto; text-align: center; }
.ref-google-reviews-header { margin-bottom: 20px; }
.ref-google-rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.ref-google-rating__score { font-size: 22px; font-weight: 800; color: #fff; }
.ref-google-rating__stars { color: #f5b400; font-size: 18px; letter-spacing: 2px; }
.ref-google-rating__count { font-size: 14px; color: #999; }
.ref-google-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
  text-align: left;
}
.ref-google-review-card {
  background: #161616;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 28px 24px;
  transition: border-color .2s ease;
}
.ref-google-review-card:hover { border-color: rgba(212,43,43,.3); }
.ref-google-review-card__stars { color: #f5b400; font-size: 14px; letter-spacing: 2px; margin-bottom: 14px; }
.ref-google-review-card__text { font-size: 14px; color: #ccc; line-height: 1.7; margin: 0 0 20px; }
.ref-google-review-card__author { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.ref-google-review-card__name { font-size: 14px; font-weight: 700; color: #fff; }
.ref-google-review-card__time { font-size: 12px; color: #777; white-space: nowrap; }
.ref-google-reviews__all-link {
  display: inline-block;
  margin-top: 40px;
  color: var(--color-brand-red);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease;
}
.ref-google-reviews__all-link:hover { border-color: var(--color-brand-red); }
@media (max-width: 900px) {
  .ref-google-reviews-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .ref-google-reviews-section { padding: 64px 24px; }
  .ref-google-reviews-grid { grid-template-columns: 1fr; }
}

/* ── Reference subpages: back link (stejný vzhled jako .back-link u
   service subpages, ale definováno tady - References používá style.css,
   ne services-shared.css) - brief 2026-07-09/13, sekce 4 ── */
.ref-timeline-header .back-link {
  display: inline-block;
  text-align: center;
  font-size: 12px;
  color: #888;
  letter-spacing: 1px;
  text-decoration: none;
  margin-bottom: 24px;
  transition: color 0.2s;
}
.ref-timeline-header .back-link:hover { color: #fff; }

/* ── References hub: kategorie výběr (dlaždice) — stejná struktura jako
   "Naše služby" na Home (jen prostý vycentrovaný h2, žádný label navíc) ── */
.onas-ref-category-section {
  padding: 96px 48px;
  background: #0f0f0f;
}
.onas-ref-category-section > .wp-block-group__inner-container {
  max-width: 1200px;
  margin: 0 auto;
}
.onas-ref-category-section h2 {
  text-align: center;
  margin-bottom: 2rem;
}
.onas-ref-category-section .a2z-service-grid {
  max-width: 100%;
  margin: 0;
}
/* Ruční fix: page-references.php je psané jako čisté PHP/HTML (ne přes
   the_content()), takže se na něj nenačte jádrové WP "block library" CSS,
   které normálně dělá .wp-block-cover__image-background img position:absolute
   (na Home to funguje, protože tam jde o skutečný Gutenberg obsah). Bez
   tohoto pravidla se obrázek zobrazoval v přirozené výšce podle vlastního
   poměru stran → různě vysoké dlaždice a text najíždějící do fotky. */
.onas-ref-category-section .a2z-service-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center; /* výchozí pozice obsahu wp:cover je na středu (stejně jako "Naše služby" na Home), ne dole */
}
.onas-ref-category-section .a2z-service-card .wp-block-cover__background {
  position: absolute;
  inset: 0;
}
.onas-ref-category-section .a2z-service-card img.wp-block-cover__image-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.onas-ref-category-section .a2z-service-card .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
}

/* ── Firemní reference: placeholder karty ── */
.onas-todo-note {
  color: #999;
  font-size: 13px;
  font-style: italic;
  margin-top: 12px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.ref-commercial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
/* Kolo 5 #7 — karty firemních referencí: tmavé pozadí + červená linka vlevo,
   audio přehrávač (native <audio controls>) v tmavém režimu prohlížeče. */
.ref-commercial-card {
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,.07);
  border-left: 3px solid #e30000;
  border-radius: 10px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
}
.ref-commercial-card__name {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  margin: 0 0 14px;
  transition: color 180ms ease;
}
a.ref-commercial-card__name:hover { color: var(--color-brand-red); text-decoration: underline; }
.ref-commercial-card__desc { font-size: 14px; color: #888; line-height: 1.6; margin: 0; }
.ref-commercial-card__audio {
  display: block;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  color-scheme: dark;
  border-radius: 8px;
}

@media (max-width: 700px) {
  .onas-ref-category-section { padding: 64px 24px; }
}

/* ===================================================================
   PAGE VOUCHERS — page-vouchers.php → reuses .onas-* hero + unique
   .voucher-* card grid and contact form
   =================================================================== */
.voucher-cards-section { padding: 96px 48px; background: #0f0f0f; }
.voucher-cards-inner { max-width: 1200px; margin: 0 auto; }
.voucher-intro {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: center;
  font-size: 15px;
  color: #999;
  line-height: 1.8;
}
.voucher-conditions {
  max-width: 760px;
  margin: 40px auto 0;
  text-align: center;
  font-size: 13px;
  color: #777;
  line-height: 1.8;
}
.voucher-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.voucher-card {
  position: relative;
  background: #161616;
  border: 1px solid rgba(255,255,255,.07);
  border-top: 3px solid rgba(255,255,255,.14);
  border-radius: 12px;
  padding: 34px 28px 28px;
  display: flex;
  flex-direction: column;
  text-align: center;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.voucher-card:hover {
  border-color: rgba(204,41,41,.35);
  border-top-color: var(--color-brand-red, #cc2929);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -24px rgba(0,0,0,.6);
}
/* Karta se slevovým odznakem (aktuálně "Kompletní balíček") = doporučená
   volba - jemný červený nádech pozadí + trvale zvýrazněný horní pruh,
   ať vizuálně vynikne mezi třemi kartami hned na první pohled, ne až
   při najetí myší. */
.voucher-card:has(.voucher-card__badge) {
  border-top-color: var(--color-brand-red, #cc2929);
  background: linear-gradient(180deg, rgba(204,41,41,.09), #161616 55%);
  box-shadow: 0 0 0 1px rgba(204,41,41,.12);
}
.voucher-card:has(.voucher-card__badge):hover {
  box-shadow: 0 0 0 1px rgba(204,41,41,.2), 0 24px 44px -24px rgba(204,41,41,.4);
}
.voucher-card__badge-slot { height: 24px; margin-bottom: 16px; display: flex; justify-content: center; }
.voucher-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #e63939, #a81e1e);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 2px 12px rgba(204,41,41,.55), 0 0 0 1px rgba(204,41,41,.3);
}
.voucher-card__badge::before {
  content: '\2605';
  font-size: 10px;
  line-height: 1;
}
.voucher-card__name {
  font-size: 12.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: #888;
  margin: 0 0 16px;
}
.voucher-card__price { display: flex; align-items: baseline; justify-content: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; min-height: 38px; width: 100%; }
.voucher-card__price-old { font-size: 14px; color: #666; text-decoration: line-through; }
.voucher-card__price-new { font-size: 34px; font-weight: 800; color: #fff; line-height: 1.15; letter-spacing: -.5px; }
.voucher-card__price-new--num { color: #cc2929; }
.voucher-card__price-new--status { font-size: 19px; font-weight: 700; color: #cc2929; }
.voucher-card__desc {
  font-size: 14px;
  color: #888;
  line-height: 1.65;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
/* Redesign 13. 7. 2026 (feedback klienta - dřív vodorovný pruh s přerušovanou
   čárou působil jako neúplný placeholder): svislá karta, plná čára s
   červeným akcentem nahoře, větší QR kód nahoře, popisek pod ním. */
.voucher-card__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 16px 18px;
  background: #0a0a0a;
  border: 1px solid rgba(255,255,255,.09);
  border-top: 2px solid var(--color-brand-red, #cc2929);
  border-radius: 10px;
  margin-bottom: 18px;
  text-align: center;
}
.voucher-card__qr-box {
  width: 130px; height: 130px; min-width: 130px;
  display: flex; align-items: center; justify-content: center;
  background: #1f1f1f;
  border: 1px solid rgba(255,255,255,.08);
  color: #666;
  font-size: 10px; font-weight: 700; letter-spacing: 1px;
  border-radius: 8px;
}
.voucher-card__qr-img {
  width: 130px !important; height: 130px !important; min-width: 130px !important;
  background: #fff !important;
  border-radius: 8px;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  padding: 8px;
}
.voucher-card__qr-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #999;
}
.voucher-card__btn {
  margin-top: auto;
  display: inline-block;
  text-align: center;
  background: #cc2929;
  color: #fff;
  border: none;
  font-family: inherit;
  font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 14px 24px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.voucher-card__btn:hover { background: #aa1f1f; transform: translateY(-2px); }

/* ── Contact form ── */
.voucher-form-section { padding: 96px 48px; background: #0a0a0a; }
.voucher-form-inner { max-width: 720px; margin: 0 auto; }
.voucher-form__title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -.5px;
  color: #fff;
  text-align: center;
  margin: 0 0 40px;
}
.voucher-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.voucher-form__field { display: flex; flex-direction: column; gap: 8px; }
.voucher-form__field--full { margin-bottom: 24px; }
.voucher-form__label { font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: #888; }
.voucher-form__field input,
.voucher-form__field select,
.voucher-form__field textarea {
  background: #161616;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 14px;
  color: #fff;
  transition: border-color .2s ease;
}
.voucher-form__field input:focus,
.voucher-form__field select:focus,
.voucher-form__field textarea:focus {
  outline: none;
  border-color: rgba(204,41,41,.5);
}
.voucher-form__field textarea { resize: vertical; }
.voucher-form__submit {
  display: block;
  width: 100%;
  background: #cc2929;
  color: #fff;
  border: none;
  font-family: inherit;
  font-size: 14px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.voucher-form__submit:hover { background: #aa1f1f; transform: translateY(-2px); }

@media (max-width: 900px) {
  .voucher-cards-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 700px) {
  .voucher-cards-section,
  .voucher-form-section { padding: 64px 24px; }
  .voucher-form__row { grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
}

/* ===================================================================
   PAGE SERVICES — sluzby-redesign.html implementation
   page-services.php → .sluzby-* namespace
   =================================================================== */

/* Shared layout helpers */
.sluzby-page {
  background: var(--color-dark-bg);
  color: var(--color-white);
  font-family: 'Source Sans 3', Arial, sans-serif;
  width: 100%;
  min-width: 0;
}
.sluzby-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 4vw, 3rem);
  padding-right: clamp(1.25rem, 4vw, 3rem);
}
.sluzby-label {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin: 0 0 .65rem;
}

/* ── Hero ── */
.sluzby-hero {
  position: relative;
  height: clamp(320px, 44vw, 480px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: 0;
}
.sluzby-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.18);
}
.sluzby-hero__inner {
  position: relative;
  text-align: center;
  padding: 0 1.25rem;
}
.sluzby-hero__inner h1 {
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0 0 1rem;
  color: var(--color-white);
}
.sluzby-hero__sub {
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  color: var(--color-gray-mid);
  line-height: 1.6;
  margin: 0;
}
.sluzby-hero__line {
  width: 40px;
  height: 2px;
  background: var(--color-brand-red);
  margin: 1.35rem auto 0;
}

/* ── Section chrome ── */
.sluzby-section,
.sluzby-process,
.sluzby-cta {
  padding: clamp(4rem, 8vw, 7rem) 0;
}
.sluzby-section { background: var(--color-dark-bg); }
.sluzby-process { background: #0a0a0a; }
.sluzby-cta     { background: var(--color-dark-bg); position: relative; overflow: hidden; }

/* ===================================================================
   HOMEPAGE REVIZE 2026-06-23 — nadpisy: tučné + jednotná velikost
   (vzor: .a2z-pricing h2 "Cenově dostupné studio", už dříve font-weight:700)
   =================================================================== */
.a2z-studios h2,
.a2z-services h2,
.a2z-references h2,
.a2z-credibility h2,
.a2z-location h2,
.a2z-guide h2 {
  font-weight: 700 !important;
}
.a2z-studios h2,
.a2z-services h2,
.a2z-references h2,
.a2z-credibility h2,
.a2z-guide h2 {
  font-size: clamp(2.25rem, 4.2vw, 3.5rem) !important;
}

/* ===================================================================
   HOMEPAGE REVIZE 2026-06-23 — loga "Důvěřují nám umělci i značky"
   Problém: některá logo PNG mají vypálené bílé pozadí, jiná jsou transparentní
   → na tmavém podkladu vznikal nesouvislý pruh (bílé obdélníky vs. tmavé mezery).
   Původní oprava (2026-06-23) dávala pod každé logo jednotnou bílou
   zaoblenou "kartu" - to je přesně to, co klient 2026-07-09 označil jako
   nechtěného "bílého jezevčíka".
   REVIZE 2026-07-13: karta odstraněna (žádné pozadí/padding/border-radius
   navíc) - logo se ukazuje tak, jak ho má nahraný soubor. POZOR: ověřeno
   (`logo-pubg.jpg`, `logo-bohemia.png`) že většina zdrojových souborů má
   bílé pozadí VYPÁLENÉ přímo v pixelech (i ty .png, ne jen .jpg) - jde tedy
   o vlastnost obrázků samotných, ne o CSS kartu okolo nich. Bez skutečně
   transparentních verzí log (nebo dodatečného zpracování - odbarvení bílého
   pozadí na průhledné) se u těchto konkrétních log bílý obdélník objeví tak
   jako tak, jen bez umělého rámování navíc. Plnohodnotné řešení = buď nové
   podklady od klienta/partnerů s průhledným pozadím, nebo hromadné
   dodatečné zpracování existujících souborů (lze udělat v dalším kole).
   =================================================================== */
.a2z-logos.a2z-carousel .a2z-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .4rem !important;
}
.a2z-logos.a2z-carousel .a2z-logo:hover {
  background: transparent !important;
}
.a2z-logos.a2z-carousel .a2z-logo img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Loga větší a čitelnější (2026-06-23, zvětšeno dál 2026-07-13 dle feedbacku)
   Pozn.: rychlost karuselu NEřeší tato CSS animace — JS (a2z_carousel_arrows_script
   ve functions.php) animaci přebírá a pohání scrollLeft přes requestAnimationFrame,
   takže reálnou rychlost nastavuje konstanta "spd" tam, ne tahle keyframe. */
.a2z-logos.a2z-carousel .a2z-logo {
  flex: 0 0 370px !important;
  padding: .4rem 1.5rem !important;
}
.a2z-logos.a2z-carousel .a2z-logo img {
  height: 120px !important;
  max-height: 120px !important;
  width: auto !important;
  max-width: 100% !important;
}
@media (max-width: 768px) {
  .a2z-logos.a2z-carousel .a2z-logo {
    flex: 0 0 226px !important;
    padding: .4rem 1rem !important;
  }
  .a2z-logos.a2z-carousel .a2z-logo img {
    height: 76px !important;
    max-height: 76px !important;
    max-width: none !important;
  }
}

/* ===================================================================
   HOMEPAGE REVIZE 2026-06-23 — odstranění osamocené červené svislé čáry
   u citace "Nahrávali u nás" (staré .a2z-references blockquote border-left
   z doby před redesignem citace; nyní řeší border-top/bottom na .a2z-bigquote)
   =================================================================== */
.a2z-references .a2z-bigquote {
  border-left: 0 !important;
}

.sluzby-section__header,
.sluzby-process__header {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.sluzby-section__title {
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 .65rem;
  color: var(--color-white);
  line-height: 1.1;
}
.sluzby-section__sub {
  font-size: clamp(.9rem, 1.3vw, 1rem);
  color: var(--color-gray-mid);
  line-height: 1.7;
  margin: 0;
}

/* ── Service cards grid ── */
.sluzby-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sluzby-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.75rem, 3vw, 2.75rem);
  background: #161616;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 280ms ease, transform 280ms ease;
}
.sluzby-card:hover {
  border-color: rgba(212,43,43,.45);
  transform: translateY(-4px);
  color: inherit;
}
.sluzby-card__bgnum {
  position: absolute;
  right: -8px;
  top: -16px;
  font-size: clamp(80px, 12vw, 140px);
  font-weight: 800;
  color: rgba(255,255,255,.03);
  line-height: 1;
  letter-spacing: -.04em;
  user-select: none;
  pointer-events: none;
  transition: color 280ms ease;
}
.sluzby-card:hover .sluzby-card__bgnum {
  color: rgba(212,43,43,.055);
}
.sluzby-card__num {
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin: 0 0 1.1rem;
}
.sluzby-card__title {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0 0 .9rem;
  color: var(--color-white);
  text-transform: none;
}
.sluzby-card__desc {
  font-size: clamp(.88rem, 1.15vw, .96rem);
  color: var(--color-gray-mid);
  line-height: 1.75;
  flex: 1;
  margin: 0 0 1.75rem;
  max-width: none;
}
.sluzby-card__arrow {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  transition: letter-spacing 200ms ease;
}
.sluzby-card:hover .sluzby-card__arrow {
  letter-spacing: .22em;
}

/* ── Process steps ── */
.sluzby-process__header { text-align: center; }
.sluzby-process__header .sluzby-section__sub { margin: 0 auto; }

.sluzby-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}
/* Horizontální linka propojující kroužky */
.sluzby-steps::before {
  content: '';
  position: absolute;
  top: 27px;
  left: calc(100% / 6);
  right: calc(100% / 6);
  height: 1px;
  background: linear-gradient(90deg, var(--color-brand-red) 0%, rgba(212,43,43,.3) 50%, var(--color-brand-red) 100%);
  z-index: 0;
}
.sluzby-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 clamp(1rem, 3vw, 2.25rem);
  position: relative;
  z-index: 1;
}
.sluzby-step__dot {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0a0a0a;
  border: 2px solid var(--color-brand-red);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
  font-weight: 700;
  color: var(--color-brand-red);
  letter-spacing: .08em;
  margin-bottom: 1.75rem;
  flex-shrink: 0;
}
.sluzby-step__title {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 700;
  margin: 0 0 .75rem;
  color: var(--color-white);
  text-transform: none;
  letter-spacing: 0;
}
.sluzby-step__desc {
  font-size: clamp(.84rem, 1.1vw, .93rem);
  color: var(--color-gray-mid);
  line-height: 1.75;
  margin: 0;
}

/* ── CTA ── */
.sluzby-cta .sluzby-label { margin-bottom: 28px; }
.sluzby-cta__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(212,43,43,.07) 0%, transparent 70%);
  pointer-events: none;
}
.sluzby-cta__inner {
  position: relative;
  text-align: center;
}
.sluzby-cta__h2 {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 1rem;
  color: var(--color-white);
  text-transform: none;
}
.sluzby-cta__prices {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  font-size: 1.05rem;
  color: #666;
  margin: 0 0 2.5rem;
}
.sluzby-cta__prices span {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.sluzby-cta__prices span::before {
  content: '\00b7';
  color: var(--color-brand-red);
}
.sluzby-cta__prices span:first-child::before { display: none; }
.sluzby-cta__btns {
  display: flex;
  gap: .85rem;
  justify-content: center;
  flex-wrap: wrap;
}
.sluzby-btn {
  display: inline-block;
  background: var(--color-brand-red);
  color: var(--color-white);
  border: 2px solid var(--color-brand-red);
  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .9rem 2.25rem;
  text-decoration: none;
  border-radius: 2px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease;
}
.sluzby-btn:hover {
  background: transparent;
  color: var(--color-brand-red);
  transform: translateY(-2px);
}
.sluzby-btn--outline {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255,255,255,.22);
}
.sluzby-btn--outline:hover {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255,255,255,.55);
}

/* ── Responsive ── */
@media (max-width: 820px) {
  .sluzby-grid {
    grid-template-columns: 1fr;
  }
  .sluzby-steps {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .sluzby-steps::before { display: none; }
  .sluzby-step { align-items: flex-start; text-align: left; flex-direction: row; gap: 1.25rem; }
  .sluzby-step__dot { flex-shrink: 0; margin-bottom: 0; }
}
@media (max-width: 560px) {
  .sluzby-hero { height: clamp(260px, 60vw, 340px); }
  .sluzby-step { flex-direction: column; align-items: center; text-align: center; }
}

/* =============================================================
   GP MARGIN RESET — GeneratePress adds margin-bottom:20px to
   .site-main > * which creates visible gaps between sections.
   Reset for all custom full-width page templates.
   Pozn.: produkce/nahravani/postprodukce/dabing mají vlastní reset
   v services-shared.css (.a2z-service-page).
   ============================================================= */
.sluzby-page > * {
  margin-bottom: 0 !important;
}

/* =============================================
   CONTACT PAGE (page-contact.php) — 2026-06-24
   Reuses onas-hero / onas-cta-section primitives (see ONAS PAGE REDESIGN block)
   ============================================= */
.onas-page > * {
  margin-bottom: 0 !important;
}
.contact-hero-btn {
  margin-top: 1.75rem;
}

/* Section 2 — contact info + form */
.contact-split-section {
  padding: 96px 48px;
  background: #0f0f0f;
}
.contact-split-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.contact-info-col {
  text-align: center;
}
.contact-info-col h2,
.contact-form-col h2 {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -.5px;
  color: #fff;
  margin: 0 0 24px;
  text-align: center;
}
.contact-lead {
  color: rgba(255,255,255,.6);
  line-height: 1.7;
  margin: 0 0 40px;
}
.contact-detail {
  margin-bottom: 28px;
}
.contact-detail__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin-bottom: 8px;
}
.contact-detail__value {
  font-size: 16px;
  line-height: 1.6;
  color: #fff;
}
.contact-detail__value a {
  color: #fff;
  text-decoration: none;
  transition: color 200ms ease;
}
.contact-detail__value a:hover {
  color: var(--color-brand-red);
}
/* Odkaz "Otevřít v Google Maps" v ADRESE - duplicitní s .contact-map-
   -overlay__link na desktopu (kde overlay funguje bez problémů), proto
   tu defaultně schovaný. Na mobilu je overlay skrytý (viz media query
   níž, přerývaly pin na mapě), takže se tenhle odkaz místo toho ukáže. */
.contact-detail__map-link {
  display: none;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-brand-red);
  text-decoration: none;
}
.contact-detail__map-link:hover {
  text-decoration: underline;
}
/* Sociální sítě pod e-mailem (brief 2026-07-09/13, sekce 7) */
.contact-social {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 14px;
}
.contact-social a {
  color: rgba(255,255,255,.7);
  transition: color 200ms ease, transform 200ms ease;
}
.contact-social a:hover {
  color: var(--color-brand-red);
  transform: translateY(-2px);
}
.contact-hours {
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-hours li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 9px 0;
  font-size: 15px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.contact-hours li:last-child { border-bottom: none; }
.contact-hours__open { color: #4fb86f; }
.contact-hours__flex { color: rgba(255,255,255,.5); font-style: italic; }

/* CF7 form styling, scoped to contact page */
.contact-form-col .wpcf7-form label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 24px;
}
.contact-form-col .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}
.contact-form-col .wpcf7-form-control {
  width: 100%;
  background: #161616;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 14px;
  color: #fff;
  transition: border-color .2s ease;
}
.contact-form-col textarea.wpcf7-form-control {
  resize: vertical;
  min-height: 130px;
}
.contact-form-col .wpcf7-form-control:focus {
  outline: none;
  border-color: rgba(212,43,43,.5);
}
.contact-form-col .wpcf7-submit {
  display: inline-block;
  background: var(--color-brand-red);
  color: #fff;
  border: 1px solid var(--color-brand-red);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 14px 35px;
  border-radius: 0;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.contact-form-col .wpcf7-submit:hover {
  background: #aa1f1f;
  border-color: #aa1f1f;
  transform: translateY(-2px);
}
.contact-form-col .wpcf7-response-output {
  margin-top: 1rem;
  border-radius: 6px;
}
.contact-form-col .a2z-hp { display: none !important; }

/* Section 3 — map */
.contact-map-section {
  background: #0a0a0a;
}
.contact-map-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 21 / 7;
  overflow: hidden;
}
.contact-map-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: brightness(.9) contrast(1.05);
  transition: filter 300ms ease;
}
.contact-map-frame:hover iframe {
  filter: brightness(1) contrast(1);
}
.contact-map-overlay {
  position: absolute;
  bottom: 32px;
  left: 48px;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,.08);
  padding: 20px 24px;
  max-width: 260px;
}
.contact-map-overlay strong {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin-bottom: 6px;
}
.contact-map-overlay p {
  font-size: 14px;
  color: #fff;
  line-height: 1.6;
  margin: 0;
}
.contact-map-overlay__link {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-brand-red);
  text-decoration: none;
}
.contact-map-overlay__link:hover {
  text-decoration: underline;
}
.contact-map-admin-note {
  max-width: 1200px;
  margin: 12px auto 0;
  padding: 10px 16px;
  font-size: 12.5px;
  color: #999;
  background: rgba(204,41,41,.08);
  border: 1px dashed rgba(204,41,41,.3);
  border-radius: 6px;
}

@media (max-width: 900px) {
  .contact-split-inner {
    grid-template-columns: 1fr;
    gap: 56px;
  }
}
@media (max-width: 768px) {
  .contact-split-section { padding: 64px 24px; }
  .contact-map-frame { aspect-ratio: 4 / 3; }
  /* Na mobilu je mapa nižší (aspect-ratio 4:3 místo širokého desktop
     pruhu), takže černý "čtvereček" s adresou přes celou šířku dole
     zasahoval přímo do červeného pinu na mapě (překrýval ho). Adresa
     navíc už je vidět výš v sekci "Kde nás najdete", takže overlay tu
     jen duplikoval informaci - na mobilu ho radši úplně skrýt, ať pin
     zůstane čitelný. Odkaz "Otevřít v Google Maps" zůstává dostupný
     v .contact-map-admin-note i v sekci nahoře přes ADRESA. */
  .contact-map-overlay { display: none; }
  .contact-detail__map-link { display: inline-block; }
}
@media (max-width: 480px) {
  .contact-split-section { padding: 48px 16px; }
}

/* ===================================================================
   MOBILE UX OVERHAUL — menu, logo, homepage sections, footer (2026-06-25)
   =================================================================== */

/* --- Header: logo centered on mobile, hamburger pinned right ---
   .site-branding is already display:none sitewide, so without this the
   remaining flex row (logo + toggle) keeps logo flush left via
   justify-content:space-between. Taking both out of flow and centering
   the logo independently works regardless of toggle button width. */
@media (max-width: 768px) {
  .site-header .inside-header {
    position: relative;
    min-height: 116px !important;
  }
  .site-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
  }
  .main-navigation.mobile-menu-control-wrapper {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1001 !important; /* must paint above the .toggled overlay (z-index:999) — both
                                  share .site-header's local stacking context, so the overlay's
                                  999 would otherwise cover the close (×) button */
  }
  /* the "X" close icon (shown when aria-expanded=true) renders in GP's
     default dark gray, invisible against our dark theme — force white
     to match the hamburger icon's own (already-correct) color */
  .mobile-menu-control-wrapper .menu-toggle,
  .mobile-menu-control-wrapper .menu-toggle svg {
    color: var(--color-white) !important;
    fill: var(--color-white) !important;
  }
  /* larger hamburger/close icon glyph on phones - brief 2026-07-09 item 0.3
     (default GeneratePress icon reads too small on a smartphone) */
  .mobile-menu-control-wrapper .menu-toggle {
    min-width: 56px;
    min-height: 56px;
  }
  .mobile-menu-control-wrapper .menu-toggle svg {
    width: 30px !important;
    height: 30px !important;
  }
}

/* --- Mobile menu: full-screen overlay instead of inline accordion ---
   GeneratePress core only adds/removes the .toggled class (no JS-driven
   inline height), so this is pure CSS — no JS changes needed for the
   open/close mechanics themselves. */
@media (max-width: 768px) {
  #site-navigation.main-navigation.sub-menu-right.toggled {
    position: fixed !important;
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    z-index: 1002 !important; /* ABOVE the sticky header (1000) — the overlay fully
                                  replaces the header while open, own logo+close live
                                  inside it (see .a2z-mobile-menu-bar), so there's no
                                  seam/gap from two separate fixed elements competing */
    background: var(--color-dark-bg) !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .inside-navigation {
    flex: 1;
    display: flex;
    flex-direction: column;
    /* GeneratePress dá na tenhle prvek defaultně flex-wrap:wrap (pro
       běžné desktop menu, kde se má zalamovat na víc řádků) - v
       kombinaci s naším flex-direction:column tady ale zalamování
       znamenalo NOVÝ SLOUPEC, ne nový řádek. Dokud se obsah vešel
       (Služby zavřené), nebylo to vidět. Jakmile se rozklikla
       podnabídka Služeb a obsah přerostl výšku kontejneru, celé menu
       (položky pod/za "přetečením") se přesunulo do druhého sloupce
       vpravo, mimo obrazovku - přesně ten "posun doprava" nahlášený
       uživatelem. nowrap donutí vše zůstat v jednom sloupci a nechá
       posouvání (overflow-y:auto na rodiči, viz výš) dělat svou práci. */
    flex-wrap: nowrap !important;
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    padding-bottom: 2rem;
  }
  /* this nav has its own duplicate toggle button (GP markup) — hidden; we use our
     own logo+close bar (.a2z-mobile-menu-bar, injected by JS) instead */
  #site-navigation.main-navigation.sub-menu-right.toggled .inside-navigation > .menu-toggle {
    display: none;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-mobile-menu-bar {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
    padding: 1rem 1.25rem;
  }
  .a2z-mobile-menu-bar__logo {
    display: inline-flex;
    align-items: center;
  }
  .a2z-mobile-menu-bar__logo img {
    max-height: 56px;
    width: auto;
    display: block;
  }
  .a2z-mobile-menu-bar__close {
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--color-white);
    font-size: 2.1rem;
    line-height: 1;
    padding: .25rem .4rem;
    cursor: pointer;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled #primary-menu.main-nav {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav > ul {
    width: 100%;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav ul li {
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav > ul > li:last-child,
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav > ul > li.a2z-lang-wrap,
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav > ul > li.a2z-menu-cta,
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav > ul > li.a2z-mobile-social {
    border-bottom: none;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .main-nav ul li a {
    justify-content: center;
  }

  /* language switcher — same desktop look (flag pair + red underline),
     just no longer stretched into a full-width bar */
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-lang-wrap {
    display: flex;
    justify-content: center;
    padding: 1.1rem 0 .6rem;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-lang-group {
    width: auto !important;
  }

  /* social icons — hidden everywhere except inside the open mobile overlay */
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-mobile-social {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 1.75rem;
    padding: 1.5rem 0 .5rem;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-mobile-social a {
    display: inline-flex;
    color: rgba(255,255,255,.55);
    transition: color 200ms ease;
  }
  #site-navigation.main-navigation.sub-menu-right.toggled .a2z-mobile-social a:hover {
    color: var(--color-brand-red);
  }
}
.a2z-mobile-social { display: none; }
.a2z-mobile-menu-bar { display: none; }

html.a2z-menu-open {
  overflow: hidden;
}

/* --- Homepage: "Studio od A do Z" kicker/heading/text/button centered on mobile ---
   Desktop is an intentional 2-column layout (photo left, left-aligned text right);
   on mobile the columns stack but the text kept its left-aligned ragged edge, which
   reads as "lopsided" next to the now-full-width photo above it. */
@media (max-width: 820px) {
  .a2z-split-kicker,
  .a2z-split h2,
  .a2z-split .wp-block-column:last-child > p {
    text-align: center !important;
  }
  /* Web 2026 feedback: nový delší tagline ("Profesionální zvuk od A do Z")
     se s white-space:nowrap (řádek 3273) na mobilu nevejde a odteče mimo
     obrazovku. Pod tímto breakpointem je sloupec i tak jednosloupcový
     a vystředěný, takže zalomení na 2 řádky vypadá čistě. */
  .a2z-split h2 {
    white-space: normal !important;
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
  }
  .a2z-split h2::after {
    margin-left: auto;
    margin-right: auto;
  }
  .a2z-split .wp-block-column:last-child > p {
    max-width: none !important;
    margin-left: auto;
    margin-right: auto;
  }
  .a2z-split .wp-block-buttons {
    justify-content: center;
  }
}

/* --- Homepage: "Najdete nás v Praze" text + button centered on mobile --- */
@media (max-width: 768px) {
  .a2z-location h2,
  .a2z-location p,
  .a2z-contact-info {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .a2z-location .wp-block-buttons {
    justify-content: center;
  }
}

/* --- Footer: cleaner mobile alignment (nav grid instead of wrapping
   dot-separated list, which left an orphaned trailing dot at the
   line-wrap point and read as "scattered") --- */
@media (max-width: 600px) {
  .a2z-footer-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem 1.5rem;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }
  .a2z-footer-nav li:not(:last-child)::after {
    content: none;
  }
  .a2z-footer-contact {
    flex-direction: column;
    gap: .5rem;
  }
  .a2z-footer-contact > *:not(:last-child)::after {
    content: none;
  }
}

/* ===================================================================
   WEB 2026 FEEDBACK #4 — .a2z-hero h1 přetéká mimo obrázek/plochu.
   Příčina: 9 konfliktních deklarací .a2z-hero h1 rozeseto po souboru,
   z toho dvě bez @media (řádky ~1960 a ~2140) mají !important a v pořadí
   zdroje přebíjí i mobilní @media pravidla před nimi (CSS řeší shodnou
   specificitu podle pořadí ve zdroji, ne podle "specificity" media query),
   takže mobilní zmenšení fontu bylo mrtvý kód. Řešení: jedno finální
   pravidlo přes clamp() (funguje responzivně bez potřeby dalších
   breakpointů) + overflow-wrap jako pojistka proti dlouhým slovům.
   =================================================================== */
.a2z-hero h1 {
  font-size: clamp(2.35rem, 7vw, 4.25rem) !important;
  line-height: 1.08 !important;
  max-width: min(16ch, 92vw) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* ===================================================================
   WEB 2026 FEEDBACK #1 — Header: přidat trochu prostoru nad/pod logo,
   na mobilu posunout červenou linku pod headerem o kousek níž.
   =================================================================== */
.site-header .inside-header {
  padding-top: 1.4rem !important;
  padding-bottom: 1.4rem !important;
}
@media (max-width: 768px) {
  .site-header .inside-header {
    min-height: 128px !important;
  }
  .site-header::after {
    margin-top: 10px !important;
  }
}

/* ===================================================================
   WEB 2026 FEEDBACK #7 — "Naše služby" dlaždice na mobilu skoro čtverec
   místo jasně landscape poměru stran. Příčina: dvojitě vnořený grid
   (.a2z-service-grid MÁ vlastní grid-template-columns a JEHO potomek
   .wp-block-group__inner-container má TAKÉ vlastní grid-template-columns
   se stejným auto-fit/minmax) — stejný bug jako dřív na Reference, jen
   tady nejde odstranit obalový div (Gutenberg Group blok z DB obsahu),
   takže řešeno přes display:contents, aby vnořený grid úplně zmizel
   z layoutu a karty se staly přímými položkami jediného (vnějšího) gridu.
   =================================================================== */
@media (max-width: 600px) {
  .a2z-service-grid > .wp-block-group__inner-container {
    display: contents !important;
  }
}

/* ===================================================================
   WEB 2026 FEEDBACK #13 — "Důvěřují nám" (loga): odstranit ztmavení
   v krajích. .a2z-carousel-nav::before/::after (řádek ~4108) je tmavý
   fade navržený pro karusel umělců (busy fotky), ale JS obaluje stejným
   .a2z-carousel-nav i karusel log - fade se tak nechtěně aplikoval i tam.
   Scoped jen na logo karusel přes :has(), karusel umělců zůstává beze změny.
   =================================================================== */
.a2z-carousel-nav:has(.a2z-logos.a2z-carousel)::before,
.a2z-carousel-nav:has(.a2z-logos.a2z-carousel)::after {
  display: none !important;
}

/* ===================================================================
   WEB 2026 FEEDBACK #14 — CTA "Sledujte nás na sociálních sítích" na
   konec homepage. Sekce .a2z-social už v obsahu existovala (nadpis +
   4 funkční odkazy), ale dřívější revize ji schválně skryla pravidlem
   ".a2z-section.a2z-social { display:none !important; }" (řádek ~3503,
   "SOCIAL - skryta, jen footer") a spoléhala jen na malé ikony v patičce.
   Nové zadání klienta výslovně chce viditelnou CTA sekci - rušíme skrytí.
   =================================================================== */
.a2z-section.a2z-social {
  display: block !important;
}

/* ===================================================================
   KOLO 5 #3 — ikony "Sledujte nás" na homepage jsou příliš malé (dřív
   30px SVG zvětšované jen přes transform:scale, což zvětší jen vykreslení,
   ne skutečný rozměr/klikací plochu). Nastavujeme reálnou velikost 56px.
   =================================================================== */
.a2z-social .wp-block-social-links {
  gap: 1.5rem !important;
}
.a2z-social .wp-social-link {
  width: 56px !important;
  height: 56px !important;
}
.a2z-social .wp-social-link a {
  width: 56px !important;
  height: 56px !important;
  transform: none !important;
}
.a2z-social .wp-social-link a svg {
  width: 56px !important;
  height: 56px !important;
}
.a2z-social .wp-social-link a:hover {
  color: var(--color-brand-red) !important;
  transform: scale(1.12) !important;
}

/* ===================================================================
   KOLO 5 #2 — výměra studií doplněna i do karet "Naše studia" na
   homepage (pod stávající odrážky, nad tlačítko "Zjistit více").
   =================================================================== */
.a2z-studio-area-home {
  color: var(--color-brand-red) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  margin: .6rem 0 .9rem !important;
}
/* Každá polovina ("Nahrávací místnost: 16,1 m²" / "Režie: 9,4 m²")
   drží pohromadě jako jeden celek - na užších kartách (homepage) se
   jinak dokázalo zalomit uprostřed čísla a "m²" osamostatnit na
   vlastním řádku. Zalomení teď padne nanejvýš mezi polovinami u
   &middot;, ne uvnitř. */
.a2z-area-part {
  white-space: nowrap;
}

/* ===================================================================
   VÝCHOZÍ WP ŠABLONA (page-template-default) - stránky BEZ vlastního
   PHP šablonu/vlastní .a2z-section struktury (Obchodní podmínky, 50
   Důvodů...) zůstávaly úplně bez bočního paddingu. Site-wide reset
   ".inside-article { padding:0 !important }" (viz FOUNDATION REDESIGN
   výš) počítá s tím, že si padding řeší každá stránka sama přes
   .a2z-section - tyhle "holé" stránky ale žádnou takovou obálku nemají,
   takže text i karty sahaly od kraje do kraje obrazovky bez vzduchu.

   :not(.home) je NUTNÉ - homepage taky běží na page-template-default
   (žádná vlastní PHP šablona, jen Gutenberg obsah), ale MÁ vlastní
   .a2z-section full-bleed sekce (hero atd.), který potřebuje
   .entry-content BEZ max-width, jinak se hero na širokých monitorech
   smrskne do úzkého orámovaného boxu uprostřed obrazovky místo přes
   celou šířku (přesně tenhle bug to způsobilo na 2560px monitoru).
   =================================================================== */
.page-template-default:not(.home) .entry-content {
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding: clamp(2.5rem, 5vw, 4rem) 1.25rem !important;
}
.page-template-default:not(.home) .entry-header {
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding: clamp(2rem, 4vw, 3rem) 1.25rem 0 !important;
}
/* Obchodní podmínky (CS id 19 / EN id 20) - nadpis stránky i "Ceník"
   na střed. */
.page-id-19 .entry-title, .page-id-20 .entry-title,
.page-id-19 .entry-content h2, .page-id-20 .entry-content h2 {
  text-align: center !important;
}

/* ===================================================================
   OBCHODNÍ PODMÍNKY - reálný obsah od klienta, stylováno v duchu webu:
   právní upozornění jako tmavá karta s červeným okrajem (stejný jazyk
   jako .ref-commercial-card), ceník jako .a2z-pricing-card grid
   (přesně stejná komponenta jako na homepage - "sedí do rázu webu"
   bez vymýšlení nového vizuálu).
   =================================================================== */
.a2z-terms-notice {
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,.07);
  border-top: 3px solid var(--color-brand-red);
  border-radius: 10px;
  padding: 36px 40px;
  margin: 1.5rem 0 2.5rem;
  max-width: none !important;
  text-align: center;
}
/* .entry-content > *:first-child { padding-top:0 !important } (R4-1, výše)
   nechtěně vynuloval horní padding tohoto boxu, protože je na stránce
   první prvek - text pak seděl nalepený nahoře a dole zbyla velká mezera.
   .entry-content > .a2z-terms-notice má stejnou specificitu, takže tu
   (jako pozdější pravidlo v souboru) vyhraje a padding obnoví symetricky. */
.entry-content > .a2z-terms-notice {
  padding-top: 36px !important;
}
.a2z-terms-notice__label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-brand-red);
  margin-bottom: 14px;
}
.a2z-terms-notice p {
  color: rgba(255,255,255,.78);
  font-size: 1rem !important;
  line-height: 1.75 !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  text-align: center;
}
/* Ceník jako řádkový seznam místo karet - u 5 položek karetní grid
   nechtěně nechával poslední kartu osamocenou na vlastním řádku
   (4+1). Pro ceníkovou tabulku v právním dokumentu navíc řádkový
   formát čte přirozeněji než promo-karty (ty sedí spíš na homepage
   u 3 hlavních nabídek). */
.a2z-terms-price-list {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 1.5rem 0 2.5rem !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.a2z-terms-price-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .5rem 1.5rem !important;
  padding: 20px 28px !important;
  background: rgba(255,255,255,.03) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  transition: background 180ms ease !important;
  text-decoration: none !important;
  cursor: pointer;
}
.a2z-terms-price-row:last-child { border-bottom: 0 !important; }
.a2z-terms-price-row:hover,
.a2z-terms-price-row:focus-visible {
  background: rgba(212,43,43,.07) !important;
}
.a2z-terms-price-row__name {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}
.a2z-terms-price-row__desc {
  color: rgba(255,255,255,.5) !important;
  font-size: .85rem !important;
  margin-top: 3px !important;
}
.a2z-terms-price-row__price {
  color: var(--color-brand-red) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  white-space: nowrap !important;
  margin-left: auto !important;
}
@media (max-width: 480px) {
  .a2z-terms-price-row { padding: 16px 20px !important; }
  .a2z-terms-price-row__price { font-size: 1.1rem !important; }
}

