/* Staging-only shared type roles. Unmodified official Satoshi variable webfonts.
   Local assets cover normal/italic and weights300–900, including Czech/Slovak. */
@font-face {
  font-family:'Satoshi'; font-style:normal; font-weight:300 900; font-display:swap;
  src:url('/wp-content/mu-plugins/privez-site-ui/fonts/satoshi-variable-e739aff9.woff2') format('woff2');
}
@font-face {
  font-family:'Satoshi'; font-style:italic; font-weight:300 900; font-display:swap;
  src:url('/wp-content/mu-plugins/privez-site-ui/fonts/satoshi-variable-italic-e7b4e0ec.woff2') format('woff2');
}
body {
  --pz-type-family: 'Satoshi', Arial, sans-serif;
  --pz-type-body: 14px;
  --pz-type-control: 14px;
  --pz-type-editable: 14px;
  --pz-type-label: 12px;
  --pz-type-small: 12px;
  --pz-type-h1: 28px;
  --pz-type-h2: 22px;
  --pz-type-h3: 18px;
  font-family: var(--pz-type-family) !important;
  font-size: var(--pz-type-body) !important;
  font-weight: 400;
  line-height: 1.65;
}
/* overflow-x:hidden used to turn body into a second (2px) scrolling box.
   clip + visible keeps horizontal clipping but leaves vertical scrolling to the viewport.
   flow-root preserves the original float-containing layout without a scroll box.
   Do not change .wrap or nested controls; lock the viewport only while the mobile menu is open. */
@supports (overflow: clip) {
  body:not(.open-mobile) { display:flow-root; overflow-x: clip; overflow-y: visible; }
  @media (max-width:980px) { html:has(>body.open-mobile) { overflow:hidden; } }
  @media (min-width:981px) { body.open-mobile { display:flow-root; overflow-x:clip; overflow-y:visible; } }
}
/* One important layer beats scattered unlayered legacy !important declarations
   without growing selector specificity across individual pages. */
@layer pz-site-type {
/* Explicit family normalization also reaches old Futura rules and pasted inline fonts.
   Keep third-party maps, icon glyph fonts, code and the admin toolbar intact. */
body :where(*):not(:where(#wpadminbar,#wpadminbar *,.gm-style,.gm-style *,.leaflet-container,.leaflet-container *,.dashicons,.dashicons-before,.fa,.fas,.far,.fab,.fal,.fad,.fat,.fa-solid,.fa-regular,.fa-brands,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp,[class^="um-faicon-"],[class*=" um-faicon-"],.material-icons,.google-symbols,[class^="um-icon-"],[class*=" um-icon-"],pre,pre *,code,code *)) {
  font-family: var(--pz-type-family) !important;
}
/* Ordinary Leaflet text inherits Satoshi; its zoom/icon glyph controls stay native. */
body :where(.leaflet-container,.leaflet-control-attribution,.leaflet-popup-content,.leaflet-tooltip) { font-family:var(--pz-type-family) !important; }
body :where(.entry,.po-section,.pz-data-panel__body,.pz-reference-card,.pz-individual-page,footer) {
  font-size: var(--pz-type-body);
}
body :where(p,li,dt,dd,blockquote):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-body) !important; line-height: 1.65 !important; }
/* Benefit descriptions are body copy, not the legacy uppercase/bold labels. */
body .cols .pz-benefit-description { font-size:var(--pz-type-body) !important; font-weight:400 !important; line-height:1.6 !important; text-transform:none !important; letter-spacing:normal !important; }

body :where(h1,h2,h3,h4,h5,h6):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { letter-spacing: -.02em !important; overflow-wrap: break-word; }
body h1:not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-h1) !important; font-weight: 800 !important; line-height: 1.2 !important; }
body h2:not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-h2) !important; font-weight: 700 !important; line-height: 1.3 !important; }
body h3:not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-h3) !important; font-weight: 700 !important; line-height: 1.35 !important; }
body :where(h4,h5,h6):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-control) !important; font-weight: 700 !important; line-height: 1.4 !important; }
body :where(.entry,.po-intro) :where(span[style*="font-size"],font[size]) { font-size: inherit !important; line-height: inherit !important; }
body :where(strong,b):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-weight: 700 !important; }
body :where(.news>.row>.title,.partners .title,.map .title,.pz-map-title-label,.pz-reference-section-heading,.pz-reference-section-heading span,.pz-reference-form-heading>span,.com>.title) { font-family: var(--pz-type-family) !important; font-size: var(--pz-type-h2) !important; font-weight: 700 !important; line-height: 1.3 !important; }
body :where(footer .title,.cols .col .title) { font-family: var(--pz-type-family) !important; font-size: var(--pz-type-h3) !important; font-weight: 700 !important; line-height: 1.35 !important; }
body :where(label,legend):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-label) !important; font-weight:700 !important; line-height: 1.5 !important; }
body :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,button,.reg-submit,.wpcf7-submit,.cn-button,.um-button,.pz-reference-button,.header-cta,.po-combo-trigger,.po-option):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) {
  font-size: var(--pz-type-control) !important; line-height: 1.5 !important;
}
body :where(button,input[type=submit],.reg-submit,.wpcf7-submit,.cn-button,.um-button,.pz-reference-button,.header-cta):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-weight: 700 !important; }
/* Slick supplies numbered accessible labels; only its decorative text is hidden. */
body .slick-dots button { font-size:0 !important; }
body :where(.po-option,.po-combo-trigger) { font-weight: 400 !important; }
body :where(.po-option[aria-selected=true]) { font-weight: 700 !important; }
body :where(.main-menu a,.header-phone,.header-email,footer a,footer .copy) { font-family: var(--pz-type-family) !important; font-size: var(--pz-type-control) !important; line-height: 1.5 !important; }
body :where(.po-eyebrow,.po-help,.po-route-state,.po-address-hint,.po-fallback-help,.po-fallback-selected,.po-link,.po-manual,.po-other-date,.po-offer-note,.po-recap,.po-status,.po-extras summary,.po-mode button,.po-contact #error-msg,.po-contact #error-msg-pri,.po-contact #valid-msg,.po-contact #valid-msg-pri,.pz-reference-eyebrow,.pz-reference-meta,.pz-reference-date,.pz-individual-eyebrow,.pz-reference-card-top span,.news a.more,.pz-individual-lang-switcher a,.pz-individual-kicker,.pz-individual-route-top,.um-link-alt,.news .date,.breadcrumb,.breadcrumbs,.copy,small,#cn-notice-text) {
  font-size: var(--pz-type-small) !important; line-height: 1.6 !important;
}
body :where(.header-phone,.header-email,.header-phone a,.header-email a) { font-size: var(--pz-type-small) !important; }
body :where(.header-email,.header-email a) { text-transform:uppercase !important; }
body :where(.po-terms label,.po-account-note,.po-service-explanation,.po-intro p) { font-size: var(--pz-type-body) !important; line-height: 1.65 !important; }
body :where(td,tbody th):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-body) !important; line-height: 1.5 !important; }
body thead th:not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size: var(--pz-type-small) !important; font-weight: 700 !important; line-height: 1.5 !important; }
body :where(.select2-selection,.select2-selection__rendered,.select2-results__option) { font-family: var(--pz-type-family) !important; font-size: var(--pz-type-control) !important; }
body :where(.um-field-label,.um-field-label label) { font-family:var(--pz-type-family) !important; font-size:var(--pz-type-label) !important; }
body :where(.po-other-date,.po-manual,.po-terms label) { font-weight:400 !important; }
body .po-calendar :where(td,th,a,span):not(.ui-datepicker-prev span,.ui-datepicker-next span) { font-family: var(--pz-type-family) !important; font-size: var(--pz-type-small) !important; }
body :where(.pz-map-count,.pz-reference-total strong) { font-weight:800 !important; }
body :where(.pz-reference-card-top strong,.pz-reference-card-top strong a,.pz-individual-contact,.pz-individual-button,.pz-individual-step>span) { font-size:var(--pz-type-body) !important; line-height:1.5 !important; }
body :where(.pz-individual-button,.pz-individual-step>span) { font-weight:700 !important; }
body .pz-individual-route-line span { font-size:var(--pz-type-label) !important; font-weight:700 !important; }
/* The actual text inside linked headings/pasted spans follows its semantic parent too. */
body :where(h1,h2,h3,h4,h5,h6) :where(a,span,em,strong,b,font):not(:where(.gm-style *,.leaflet-container *,#wpadminbar *)) { font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important; }
/* Order dates are metadata, even though the native template nests them in a heading. */
body :where(.single-objednavka-date,.objednavky-archive .objednavky-box-title>span) { font-size:var(--pz-type-small) !important; font-weight:400 !important; line-height:1.6 !important; color:var(--pz-muted) !important; }
body .entry :where(p,li,td,th):not(:where(form *,.gm-style *,.leaflet-container *)) :where(a,span,em,strong,b,font) { font-size:inherit !important; line-height:inherit !important; }
/* Keep editable mobile text at16px so Safari does not zoom on focus. Touch targets stay unchanged. */
@media (max-width:760px) {
  body :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea):not(:where(#wpadminbar *, .gm-style *, .leaflet-container *, pre *, code *)) { font-size:var(--pz-type-editable) !important; }
}
}
/* Reserve a shared feedback row: blur cannot move the control a customer is clicking. */
body .po-contact .form-item:has(.iti) { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(48px,auto); align-content:start; }
body .po-contact .form-item:has(.iti)>label { grid-area:1/1; }
body .po-contact .form-item>.iti { grid-area:2/1; }
body .po-contact :where(#error-msg,#error-msg-pri,#valid-msg,#valid-msg-pri) { grid-area:3/1; position:static !important; top:auto !important; left:auto !important; margin-top:8px; padding-top:0 !important; }
body .po-contact :where(#error-msg,#error-msg-pri,#valid-msg,#valid-msg-pri):not(.hide) { display:block; }
body .po-contact :where(#error-msg,#error-msg-pri,#valid-msg,#valid-msg-pri).hide { display:none !important; }
@media (max-width: 760px) { body { --pz-type-h1: 24px; --pz-type-editable:16px; } }
@media (max-width: 380px) { body .header-actions { grid-template-columns: minmax(0,1fr); } }
/* Phone brand row: a slightly larger logo aligned to the same inset as content.
   Keep the original asset/ratio, contact row and independent menu toggle. */
@media (max-width:720px) {
  body .header-top .row { grid-template-columns:minmax(0,1fr) 46px; }
  body .header-top .logo { grid-column:1; justify-self:start; width:clamp(180px,54vw,224px); max-width:100%; }
  body .header-top .logo img { width:100%; max-width:100%; height:auto; max-height:none; }
}


/* Shared visual language, taken from the order form, not a second theme.
   Exact-host enqueue is the scope. Native controls, visibility, handlers and
   authentication/order state remain owned by the original theme and UM. */
body {
  --pz-green: #315d25;
  --pz-green-dark: #315d25;
  --pz-orange: #e99230;
  --pz-ink: #253723;
  --pz-text: #36442f;
  --pz-muted: #64715e;
  --pz-line: #dce5d6;
  --pz-paper: #fff;
  --pz-soft: #f4f7f1;
  --pz-radius: 14px;
  --pz-card-padding: 23px;
  --pz-shadow-soft: 0 3px 18px #25372304;
  color: var(--pz-text);
  color-scheme: light;
}
@layer pz-site-design {
/* The title lives on the page canvas, like .po-intro; breadcrumbs remain links. */
body .page-detail { padding-top:28px !important; }
body .entry-top {
  background:none !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; padding:0 !important; margin:0 0 22px !important;
  display:flex; flex-direction:column; align-items:flex-start;
}
body .entry-top:before {
  content:'PŘIVEZ-ZVÍŘE'; display:block; color:var(--pz-green);
  font:700 var(--pz-type-small)/1.6 var(--pz-type-family); letter-spacing:.1em;
}
body .entry-top h1 { float:none !important; width:auto !important; margin:7px 0 0 !important; }
body .entry-top .navigation { order:2; float:none !important; position:static !important; width:auto !important; text-align:left !important; margin:9px 0 0 !important; color:var(--pz-muted) !important; font-size:var(--pz-type-small) !important; }
body .entry-top .navigation a { color:var(--pz-green) !important; }
body :where(.page-detail,.pz-individual-page) :where(h1,h2,h3,h4,h5,h6),
body :where(.news h2,.news>.row>.title,.partners .title,.map .title,.cols .title,.pz-reference-section-heading,.pz-reference-form-heading,footer .title) {
  color:var(--pz-ink) !important; text-transform:none !important; text-shadow:none !important;
}
body :where(h1,h2,h3) :where(a,span,strong,b):not(:where(.gm-style *,.leaflet-container *,#wpadminbar *)) { text-transform:inherit !important; }
body .entry { background:var(--pz-paper) !important; border:1px solid var(--pz-line) !important; border-radius:var(--pz-radius) !important; padding:var(--pz-card-padding) !important; box-shadow:var(--pz-shadow-soft) !important; color:var(--pz-text) !important; }
body .entry> :first-child { margin-top:0; }
body .entry> :last-child { margin-bottom:0; }
body .entry :where(h1,h2,h3) { text-align:left !important; background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:24px 0 14px !important; }
body .entry :where(h1,h2,h3):first-child { margin-top:0 !important; }
body .entry :where(h1,h2,h3):after { display:none !important; }
body .entry :where(p,li) { color:var(--pz-text); }
body .entry :where(a:not(.um-button):not(.pz-reference-button):not(.reg-submit)) { text-decoration-color:#315d2555; text-underline-offset:3px; }
body .entry hr { border:0 !important; border-top:1px solid var(--pz-line) !important; margin:24px 0 !important; }

/* Existing semantic sections stay in place; remove the extra outer price card. */
body .entry:has(>.pz-data-panel) { padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
body :where(.pz-data-panel,.pz-reference-hero,.pz-reference-card,.pz-reference-form-wrap,.pz-reference-empty,.objednavky-box,.pz-individual-step,.pz-individual-card,.pz-individual-route-panel,.pz-individual-trust-grid) {
  background:var(--pz-paper) !important; border:1px solid var(--pz-line) !important;
  border-radius:var(--pz-radius) !important; box-shadow:var(--pz-shadow-soft) !important; color:var(--pz-text) !important;
}
body :where(.pz-reference-hero,.pz-reference-card,.pz-reference-form-wrap,.objednavky-box,.news-content:not(.news-item .news-content),.pz-individual-step,.pz-individual-card,.pz-individual-route-panel) { padding:var(--pz-card-padding) !important; }
body :where(.entry,.pz-data-panel,.pz-reference-card,.objednavky-box):hover { transform:none !important; box-shadow:var(--pz-shadow-soft) !important; }
body .pz-data-panel { margin:0 0 18px !important; }
body .pz-data-panel__header { background:none !important; border-bottom:1px solid #eaf0e6 !important; padding:20px var(--pz-card-padding) 14px !important; }
body .pz-data-panel__header:before,body .pz-reference-card:before { display:none !important; }
body .entry .pz-data-panel__header h2 { padding:0 !important; margin:0 !important; }
body .pz-data-panel__body { background:var(--pz-paper) !important; padding:18px var(--pz-card-padding) var(--pz-card-padding) !important; color:var(--pz-text) !important; }
body .pz-data-table :where(td,th) { border-color:#eaf0e6 !important; }
body .pz-data-table thead th { background:var(--pz-soft) !important; color:var(--pz-green) !important; text-transform:none !important; }
body :where(.pz-reference-eyebrow,.pz-individual-kicker) { color:var(--pz-green) !important; letter-spacing:.1em !important; font-weight:700 !important; }
body :where(.pz-reference-hero h2,.news-content:not(.news-item .news-content) h2,.objednavky-box h2) { margin:0 0 14px !important; padding:0 0 13px !important; border-bottom:1px solid #eaf0e6 !important; }
body :where(.pz-reference-section-heading,.pz-reference-form-heading) { margin-bottom:18px !important; background:none !important; }
body :where(.pz-reference-section-heading,.pz-reference-form-heading,.news>.row>.title,.partners .title,footer .title):after { display:none !important; }
/* The old inner span retained its grey tab/capitals after the wrapper was unified. */
body .pz-reference-section-heading { border-bottom-color:#eaf0e6 !important; padding:0 0 13px !important; }
body .pz-reference-section-heading>span { background:none !important; color:inherit !important; text-transform:inherit !important; padding:0 !important; }
/* Reviews are server-rendered: do not fade only the cards behind a static heading. */
body:has(.pz-reference) :where(.entry-top,.pz-reference-hero,.pz-reference-intro,.pz-reference-card,.pz-reference-form-wrap,.pz-reference-empty) { animation:none !important; }
body :where(.news-content h2 a,.pz-reference-card-top strong,.objednavky-box-title) { color:var(--pz-ink) !important; }
body :where(.pz-reference-total,.pz-map-count) { color:var(--pz-green) !important; }
body :where(.pz-reference-card blockquote,.pz-reference-card blockquote p) { color:var(--pz-text) !important; }
body .pz-reference-card blockquote { border:0 !important; padding:0 !important; }
body :where(.pz-reference-actions,.pz-reference-grid) { gap:18px; }
body :where(.cols .col .title,.map .title,.news .title,.partners .title) { text-shadow:none !important; }
/* Homepage benefit/news surfaces keep the original editorial rail/dividers.
   Do not recreate cards from older, superseded theme rules; typography stays shared. */
body :where(section.full.cols .row,.news>.row) { --pz-line:#dce4d8; }
body .news-content:not(.news-item .news-content) { background:none !important; }
body .trasa { border-color:var(--pz-line) !important; border-radius:var(--pz-radius) !important; box-shadow:var(--pz-shadow-soft) !important; }
body .trasa-date-stops { color:var(--pz-ink) !important; }

/* Same native input treatment as order controls, without restyling widget glyphs. */
body :where(.entry .um,.entry .wpcf7,.pz-reference-form) :where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea) {
  color:var(--pz-ink) !important; background-color:var(--pz-paper) !important;
  border:1px solid #ccd9c4 !important; border-radius:8px !important; box-shadow:none !important;
  min-height:44px; padding:10px 12px !important; box-sizing:border-box;
}
body :where(.entry .um,.entry .wpcf7,.pz-reference-form) :where(input,select,textarea):focus {
  border-color:#769d5f !important; box-shadow:0 0 0 3px #89ac6d24 !important;
}
body :where(.entry .um,.entry .wpcf7,.pz-reference-form) :where(input.um-error,input.error,input[aria-invalid=true],textarea[aria-invalid=true],.wpcf7-not-valid) {
  border-color:#b7442d !important; box-shadow:0 0 0 2px #b7442d12 !important;
}
body .entry .um .select2-selection { border:1px solid #ccd9c4 !important; border-radius:8px !important; box-shadow:none !important; min-height:44px; }
body .entry .um .select2-selection--single .select2-selection__rendered { line-height:42px !important; }
body .entry .um input.um-iconed { padding-left:44px !important; }
body .entry .um a:focus-visible { outline:3px solid var(--pz-orange) !important; outline-offset:3px; }
body .entry .um .um-field-area>input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
body .entry .um .um-field-area>select:not(.select2-hidden-accessible),
body .entry .um-account .um-field-area>.select2-container { width:100% !important; max-width:100%; }
body :where(.entry .um,.entry .wpcf7,.pz-reference-form) :where(label,.um-field-label) { color:var(--pz-text) !important; }
body :where(.um-button,.wpcf7-submit,.pz-reference-button,.pz-reference-submit,.pz-individual-button,.news a.more) {
  border-radius:8px !important; box-shadow:none !important; text-transform:none !important;
  transform:none !important; min-height:44px; line-height:1.5 !important;
}
/* Homepage article links are real secondary buttons, not rounded underlines. */
body .news .news-content a.more {
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
  align-self:center !important; margin-inline:auto !important;
  box-sizing:border-box; min-height:44px; height:auto !important; padding:10px 18px !important;
  background:#fff !important; border:1px solid var(--pz-green) !important;
  border-radius:999px !important; color:var(--pz-green) !important;
  text-decoration:none !important; letter-spacing:0 !important; white-space:nowrap;
  transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease !important;
}
body .news .news-content a.more:after { content:'→' !important; }
body .news .news-content a.more:hover { background:#eaf2e2 !important; }
body .news .news-content a.more:focus-visible { outline:3px solid var(--pz-orange) !important; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { body .news .news-content a.more { transition:none !important; } }
body :where(.entry .um input[type=submit].um-button,.entry .wpcf7-submit,.pz-reference-submit,.pz-reference-button.primary,.pz-individual-button.primary) {
  background:var(--pz-orange) !important; border:1px solid var(--pz-orange) !important; color:#34250e !important;
}
body :where(.entry .um a.um-button,.entry .um .um-button.um-alt,.pz-reference-button.secondary,.pz-individual-button.ghost) {
  background:var(--pz-paper) !important; border:1px solid var(--pz-line) !important; color:var(--pz-green) !important;
}
body :where(.um-button,.pz-reference-button,.pz-reference-submit,.pz-individual-button):focus-visible { outline:3px solid var(--pz-orange) !important; outline-offset:3px; }
body .entry .um :where(.um-field,.um-account-heading) { border-color:var(--pz-line) !important; }
body .entry .um :where(.um-account-heading,.um-account-name a,.um-link,.um-link-alt,.um-field-checkbox-option,.um-field-radio-option) { color:var(--pz-ink) !important; text-transform:none !important; }
body .entry .um .um-account-heading { font-size:var(--pz-type-h2) !important; font-weight:700 !important; line-height:1.3 !important; padding-bottom:13px !important; margin-bottom:18px !important; border-bottom:1px solid #eaf0e6 !important; }
body .entry .um-account-name a { font-size:var(--pz-type-h3) !important; font-weight:700 !important; }
body .entry .um-account-side li { background:transparent !important; }
body .entry .um-account-side li:before { display:none !important; }
body .entry .um-account-side li a { border:1px solid transparent !important; border-radius:8px !important; color:var(--pz-text) !important; }
body .entry .um-account-side li a.current,body .entry .um-account-nav a.current { background:#eaf2e2 !important; color:var(--pz-green) !important; border-color:var(--pz-line) !important; }
body .entry .um-account-nav a { border-radius:8px !important; border-color:var(--pz-line) !important; }
/* Keep status colours and edit/cancel selectors intact. A badge must not cover a title. */
body .objednavky-box { padding:var(--pz-card-padding) !important; min-width:0; }
body .objednavky-grid { gap:18px !important; }
body .objednavky-box-title { background:none !important; text-transform:none !important; }
body .objednavky-box-label { text-transform:none !important; margin-bottom:12px !important; font-size:var(--pz-type-small) !important; }
body .no-hover>.objednavky-box-label { position:static !important; }
body .objednavky-box-divider { border-color:var(--pz-line) !important; opacity:1 !important; width:100% !important; }
body :where(.objednavky-box p,.objednavky-box .c-gray,.objednavky-link,.objednavky-paginace a) { color:var(--pz-text) !important; }
body .objednavky-box :where(input,select,textarea) { max-width:100%; box-sizing:border-box; border-radius:8px; }
body .page-detail .btn-link { color:var(--pz-green) !important; }
body #order-cancel { color:#a13d26 !important; }
body :where(.objednavky-box button,#order-cancel):focus-visible { outline:3px solid var(--pz-orange) !important; outline-offset:3px; }

/* Preserve real photography; use the same readable white content surface on it. */
body .pz-individual-hero-content { padding:var(--pz-card-padding) !important; margin:34px 0 65px !important; max-width:650px; background:var(--pz-paper) !important; border:1px solid var(--pz-line) !important; border-radius:var(--pz-radius) !important; color:var(--pz-ink) !important; }
body .pz-individual-hero :where(h1,p) { text-shadow:none !important; color:var(--pz-ink) !important; }
body .pz-individual-hero p { color:var(--pz-muted) !important; margin-top:14px !important; }
body .pz-individual-hero .pz-individual-kicker { background:none !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
body .pz-individual-lang-switcher { background:var(--pz-soft) !important; border-color:var(--pz-line) !important; border-radius:8px !important; }
body .pz-individual-lang-switcher a { color:var(--pz-green) !important; background:transparent !important; border-radius:5px !important; box-shadow:none !important; }
body .pz-individual-lang-switcher a.is-active { background:#eaf2e2 !important; }
body .pz-individual-trust strong { text-transform:none !important; font-size:var(--pz-type-h3) !important; font-weight:700 !important; line-height:1.35 !important; }
body .pz-individual-section { padding:40px 0 !important; }
body .pz-individual-section-head { text-align:left !important; max-width:none !important; margin:0 0 22px !important; }
body .pz-individual-route-panel { background:var(--pz-soft) !important; color:var(--pz-ink) !important; }
body .pz-individual-route-panel :where(li,.pz-individual-route-top,.pz-individual-route-line span) { color:var(--pz-ink) !important; border-color:var(--pz-line) !important; }
body .pz-individual-cta { background:var(--pz-soft) !important; color:var(--pz-ink) !important; }
body .pz-individual-cta-inner { padding:var(--pz-card-padding) !important; background:var(--pz-paper); border:1px solid var(--pz-line); border-radius:var(--pz-radius); }
body .pz-individual-cta p { color:var(--pz-muted) !important; }
/* The unchanged native WordPress auth/reset fallback uses the same system. */
body.login { background:var(--pz-soft) url('/wp-content/themes/privez-zvire.cz/img/body-right.png') no-repeat right top/220px auto !important; min-height:100dvh; }
body.login #login { width:450px !important; max-width:calc(100% - 32px); padding:32px 0 24px !important; }
body.login .wp-login-logo a { background-image:url('/wp-content/themes/privez-zvire.cz/img/logo.png') !important; background-size:contain !important; background-position:center !important; width:100% !important; height:60px !important; margin:0 0 22px !important; }
body.login form { background:var(--pz-paper) !important; border:1px solid var(--pz-line) !important; border-radius:var(--pz-radius) !important; padding:var(--pz-card-padding) !important; box-shadow:var(--pz-shadow-soft) !important; color:var(--pz-ink) !important; }
body.login :where(label,#nav,#backtoblog,.privacy-policy-page-link,.language-switcher label) { color:var(--pz-text) !important; }
body.login label { font-size:var(--pz-type-label) !important; font-weight:700 !important; }
body.login #login :where(input.input,input[type=text],input[type=password],input[type=email]) { box-sizing:border-box; border:1px solid #ccd9c4 !important; border-radius:8px !important; min-height:44px; padding:10px 12px !important; font-size:var(--pz-type-control) !important; color:var(--pz-ink) !important; background:var(--pz-paper) !important; box-shadow:none !important; }
body.login #login :where(input.input,input[type=text],input[type=password],input[type=email]):focus { border-color:#769d5f !important; box-shadow:0 0 0 3px #89ac6d24 !important; }
body.login #login .wp-pwd input { padding-right:48px !important; }
body.login #wp-submit { background:var(--pz-orange) !important; color:#34250e !important; border:1px solid var(--pz-orange) !important; border-radius:8px !important; box-shadow:none !important; text-shadow:none !important; min-height:44px; padding:8px 18px !important; }
body.login .button.wp-hide-pw { min-height:44px; color:var(--pz-green) !important; }
body.login .language-switcher :where(.button,select) { min-height:44px; background:var(--pz-paper) !important; color:var(--pz-green) !important; border:1px solid var(--pz-line) !important; border-radius:8px !important; box-shadow:none !important; }
body.login :where(a,.button):focus-visible { outline:3px solid var(--pz-orange) !important; outline-offset:3px; }
body.login :where(#nav a,#backtoblog a,.privacy-policy-link,.language-switcher a) { color:var(--pz-green) !important; }
body.login :where(.notice,.message,#login_error) { border-radius:8px; box-shadow:none !important; }
@media(max-width:760px) {
  body { --pz-radius:12px; --pz-card-padding:18px 15px; }
  body .page-detail { padding-top:16px !important; }
  body .entry-top { margin-bottom:17px !important; }
  body .entry-top .navigation { display:block !important; }
  body :where(.pz-data-panel__header,.pz-data-panel__body) { padding:18px 15px !important; }
  body .pz-individual-hero-content { margin:22px 0 40px !important; }
  body .pz-individual-section { padding:26px 0 !important; }
  body .pz-individual-route-panel { padding:18px 15px !important; }
  body .objednavky-box { overflow-wrap:anywhere; }
  body.login #login :where(input.input,input[type=text],input[type=password],input[type=email]) { font-size:var(--pz-type-editable) !important; }
}
}

/* Homepage benefit copy stays inside the original grouped rail. */
body section.full.cols .col:has(>.pz-benefit-copy) { align-items:start; }
body section.full.cols .pz-benefit-copy { min-width:0; }
body section.full.cols .pz-benefit-title { display:flex; align-items:center; min-height:56px; margin:0; }
body section.full.cols .pz-benefit-description { margin:7px 0 0; color:var(--pz-muted); }

/* Native WordPress tables: page content, not a custom renderer or editor. */
/* Center all pricing-panel titles, including the explanatory rate cards. */
@layer pz-site-design {
  body .entry:has(.pz-native-table--price) .pz-data-panel__header h2 { text-align:center !important; }
}
body figure.wp-block-table.pz-native-table { margin:0; border:0; overflow:visible; }
body .pz-native-table thead { border-bottom:0; }
body .pz-native-table table { border:0; border-collapse:collapse; margin:0; table-layout:fixed; width:100%; }
/* Bring desktop price columns closer without changing the mobile card layout. */
@media(min-width:1024px) {
  body .pz-native-table:is(.pz-native-table--price,.pz-native-table--supplement) table { max-width:900px; margin-inline:auto; }
}
/* Equal-width price columns keep centered text symmetric within full-width tables. */
body .pz-native-table:is(.pz-native-table--price,.pz-native-table--supplement) tr>:is(th,td) { text-align:center; }
@media(min-width:641px) {
  body .pz-native-table:is(.pz-native-table--price,.pz-native-table--supplement) thead th { width:50%; }
}
body .pz-data-panel>.wp-block-group__inner-container { margin:0; }
@media(max-width:640px) {
  body .pz-native-table table { display:block; }
  body .pz-native-table--price tbody td:before { content:"Cena: "; }
  body .pz-native-table--supplement tbody td:before { content:"Příplatek: "; }
  body .pz-native-table--dimensions tbody td:before { content:none; }
}

/* Native page content: price notice and contact form, no field/handler changes. */
body .pz-copy-panel { background:var(--pz-paper); border:1px solid var(--pz-line); border-radius:var(--pz-radius); box-shadow:var(--pz-shadow-soft); padding:var(--pz-card-padding); margin:0 0 18px; }
body .pz-copy-panel p { margin:0; }
body .entry:has(.wpcf7) { display:flow-root; }
body .entry:has(.wpcf7) .half { box-sizing:border-box; }
body .entry:has(.wpcf7) .half.left { width:62%; padding:0 28px 0 0; }
body .entry:has(.wpcf7) .half.right { width:38%; padding:22px; margin:0; background:var(--pz-soft); border:1px solid var(--pz-line); border-radius:var(--pz-radius); line-height:1.8; }
body .entry:has(.wpcf7) .wpcf7-form { display:block; }
body .entry:has(.wpcf7) .form-item { float:none; width:100%; margin:0 0 18px; }
body .entry:has(.wpcf7) .form-item label { display:block; font-weight:700; margin:0 0 7px; }
body .entry:has(.wpcf7) .wpcf7-form-control-wrap { display:block; }
body .entry:has(.wpcf7) :is(.reg-text,.reg-textarea) { width:100%; box-sizing:border-box; margin:0; padding:12px 14px; border:1px solid var(--pz-line); border-radius:10px; background:var(--pz-paper); }
body .entry:has(.wpcf7) .reg-textarea { min-height:170px; height:180px; resize:vertical; }
body .entry:has(.wpcf7) .wpcf7-form-control:focus-visible { outline:2px solid var(--pz-green); outline-offset:2px; }
body .entry:has(.wpcf7) .wpcf7-submit { min-height:44px; margin:0; }
body .entry:has(.wpcf7) .wpcf7-not-valid-tip { display:block !important; color:#a43d2f; font-size:12px; line-height:1.5; margin-top:6px; }
body .entry:has(.wpcf7) .wpcf7-response-output { margin:0; padding:12px 14px; border-radius:10px; background:var(--pz-soft); line-height:1.6; }
body .pz-contact-lang-switcher { justify-content:flex-end; margin:0 0 20px; }
@media(max-width:700px) {
  body .entry:has(.wpcf7) .half.left,body .entry:has(.wpcf7) .half.right { float:none; width:100%; }
  body .entry:has(.wpcf7) .half.left { padding:0; margin:0 0 22px; }
  body .entry:has(.wpcf7) :is(.reg-text,.reg-textarea) { font-size:16px !important; }
  body .pz-copy-panel { padding:18px 15px; }
}

body .entry:has(.wpcf7) .wpcf7-form p { margin:0; }
body .entry:has(.wpcf7) .form-item br { display:none; }

/* One native entrance for the entire page: heading and body never stagger. */
body .page-detail > .row { animation:pzFadeUp 520ms ease backwards; }
body .page-detail > .row :is(.entry-top,.entry,.reg-form) { animation:none; }
@media(prefers-reduced-motion:reduce) {
  body .page-detail > .row { animation:none; }
}
@layer pz-site-design {
  body .entry-top .pz-page-lead { margin:9px 0 0 !important; color:var(--pz-muted) !important; max-width:760px; }
}

/* Native landing blocks retain the established layout; copy is edited in pages. */
body .pz-individual-native .pz-individual-hero {
  background-image:linear-gradient(90deg,rgba(22,34,28,.78),rgba(22,34,28,.38)),url('/wp-content/themes/privez-zvire.cz/img/release-optimized/793babe6af4834963b-1199.webp');
}
@layer pz-site-design {
body .pz-individual-native p.pz-individual-kicker {
  margin:0 !important; font-size:var(--pz-type-small) !important; line-height:1.6 !important; color:var(--pz-green) !important;
}
}
body .pz-individual-native p.pz-individual-route-top { margin:0; }
body .pz-individual-native .pz-native-inline-label { margin:0 !important; }
body .pz-individual-native .pz-individual-route-line .pz-native-inline-label span { display:block; }
body .pz-individual-native .pz-native-route-divider { width:52px; height:3px; margin:0; padding:0; border:0; background:#fff; opacity:.8; }
body .pz-individual-native .pz-native-contact-line { display:contents; }
body .pz-individual-native .pz-native-cta-buttons { margin:0; }
body .pz-individual-native .pz-native-button > a { min-height:53px; }
body .pz-individual-native .pz-individual-gallery-grid > figure { margin:0; min-width:0; height:100%; aspect-ratio:1/1; }
body .pz-individual-native .pz-individual-gallery-grid img { display:block; }
body .pz-individual-native .pz-individual-gallery-grid > figure:nth-child(1),
body .pz-individual-native .pz-individual-gallery-grid > figure:nth-child(4) { grid-column:span 2; grid-row:span 2; }
@media(max-width:650px) {
  body .pz-individual-native .pz-individual-gallery-grid > figure:nth-child(n) { grid-column:auto; grid-row:auto; }
  body .pz-individual-native .pz-native-route-divider { width:3px; height:34px; margin:-6px auto; }
}

/* Native About page: same brand tokens, with an editable process diagram. */
@layer pz-site-design {
  body .entry:has(>.pz-about) { padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
  body .entry .pz-about :is(h2,h3) { margin:0 !important; padding:0 !important; }
  body .entry .pz-about .pz-about-step h3 { margin:0 0 7px !important; }
}
body .pz-about { display:grid; gap:18px; }
body .pz-about .wp-block-group__inner-container { display:contents; }
body .pz-about .wp-block-group { min-width:0; }
body .pz-about :where(p,figure,.wp-block-group,.wp-block-buttons) { margin:0; }
body .pz-about-panel { background:var(--pz-paper); border:1px solid var(--pz-line); border-radius:var(--pz-radius); padding:var(--pz-card-padding); box-shadow:var(--pz-shadow-soft); }
body .pz-about-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:28px; align-items:center; }
body .pz-about-hero-copy { display:grid; gap:14px; }
body .pz-about-photo { width:100%; aspect-ratio:1199/730; border-radius:var(--pz-radius); overflow:hidden; }
body .pz-about-photo img { display:block; width:100%; height:100%; object-fit:cover; }
body .pz-about-process,body .pz-about-contact { background:var(--pz-soft); }
body .pz-about .pz-about-section-lead { margin-top:10px; max-width:760px; color:var(--pz-muted); }
body .pz-about-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:24px !important; }
@media(min-width:861px) {
  body .pz-about-flow:has(.pz-about-step:nth-child(5)) { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
body .pz-about-step { position:relative; display:grid; grid-template-rows:36px auto 1fr; align-content:start; gap:10px; }
body .pz-about .pz-about-step-number { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--pz-paper); background:var(--pz-green); font-weight:800; }
body .pz-about-step:last-child .pz-about-step-number { color:var(--pz-ink); background:var(--pz-orange); }
body .pz-about-step h3 { min-height:2.7em; }
body .pz-about-step:not(:last-child)::after { content:''; position:absolute; top:17px; left:48px; right:-10px; border-top:2px solid var(--pz-green); pointer-events:none; }
body .pz-about-step:not(:last-child)::before { content:''; position:absolute; top:13px; right:-15px; border-left:5px solid var(--pz-green); border-top:5px solid transparent; border-bottom:5px solid transparent; pointer-events:none; }
body .pz-about .pz-about-note { margin-top:22px; padding:12px 14px; border-left:3px solid var(--pz-orange); border-radius:0 8px 8px 0; background:var(--pz-paper); color:var(--pz-muted); }
body .pz-about-principles-list { display:grid; margin-top:18px !important; }
body .pz-about-principle { display:grid; grid-template-columns:minmax(170px,.36fr) 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--pz-line); }
body .pz-about-principle:first-child { padding-top:0; }
body .pz-about-principle:last-child { padding-bottom:0; border:0; }
body .pz-about-journey-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:20px !important; }
body .pz-about-journey { display:grid; align-content:start; gap:12px; padding-left:18px; border-left:2px solid var(--pz-green); }
body .pz-about-route-link { align-self:end; font-weight:700; }
body .pz-about-route-link a { color:var(--pz-green); }
body .pz-about-contact { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center; }
body .pz-about-contact-copy { display:grid; gap:12px; }
body .pz-about .pz-about-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
body .entry .pz-about-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 17px; border:1px solid transparent; border-radius:8px; background:var(--pz-orange); color:var(--pz-ink); text-decoration:none; font-weight:700; line-height:1.5; white-space:nowrap; transition:opacity 150ms ease; }
body .entry .pz-about-button.secondary .wp-block-button__link { color:var(--pz-green); background:var(--pz-paper); border-color:var(--pz-line); }
body .entry .pz-about-button .wp-block-button__link:hover { opacity:.86; }
body .entry .pz-about-button .wp-block-button__link:focus-visible { outline:3px solid var(--pz-green); outline-offset:3px; }
@media(max-width:860px) {
  body .pz-about-hero,body .pz-about-contact { grid-template-columns:minmax(0,1fr); gap:20px; }
  body .pz-about-flow { grid-template-columns:minmax(0,1fr); gap:24px; }
  body .pz-about-step { display:block; min-height:76px; padding-left:52px; }
  body .pz-about .pz-about-step-number { position:absolute; top:0; left:0; }
  body .pz-about-step h3 { min-height:0; }
  body .pz-about-step:not(:last-child)::after { top:44px; bottom:-13px; left:17px; right:auto; border-top:0; border-left:2px solid var(--pz-green); }
  body .pz-about-step:not(:last-child)::before { top:auto; bottom:-18px; left:13px; right:auto; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid var(--pz-green); border-bottom:0; }
  body .pz-about-journey-options { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(max-width:640px) {
  body .pz-about-principle { grid-template-columns:minmax(0,1fr); gap:7px; }
  body .pz-about-contact .wp-block-button,body .pz-about-contact .wp-block-button__link { width:100%; }
}
@media(prefers-reduced-motion:reduce) { body .entry .pz-about-button .wp-block-button__link { transition:none; } }

/* Native menu items explicitly restricted to the existing mobile overlay. */
body .main-menu li.pz-mobile-only { display:none !important; }
@media(max-width:980px) {
  body.open-mobile .main-menu li.pz-mobile-only { display:block !important; }
  body.open-mobile .main-menu li.pz-mobile-only:last-child > a { border-bottom-color:transparent !important; }
}
