﻿/* SamostatnĂ© styly novĂ© Ĺˇablony. NenaÄŤĂ­tat spoleÄŤnÄ› se starĂ˝m site.css. */
:root { --ink: #233d36; --green: #286653; --line: #d7e5df; --paper: #fff; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: #eef3f0; color: var(--ink); font: 17px/1.65 Arial, Helvetica, sans-serif; }
a { color: var(--green); text-underline-offset: .18em; }
a:focus-visible { outline: 3px solid #bc6e19; outline-offset: 3px; }
.site-shell { width: min(1120px, calc(100% - 48px)); margin: 28px auto; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 36px; }
.logo { display: block; width: 230px; max-width: 100%; height: auto; }
.header-note { color: #537267; font-size: 18px; }
.quick-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 18px 36px; background: #edf5f1; border-block: 1px solid var(--line); }
.quick-links a { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px; border: 1px solid #bbd1c5; border-radius: 8px; text-align: center; text-decoration: none; font-weight: bold; background: #fff; }
.quick-links a:hover { background: #dcece3; }
.secondary-nav { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 10px 28px; border-bottom: 1px solid var(--line); }
.secondary-nav a { padding: 8px; text-decoration: none; }
.secondary-nav a:hover { text-decoration: underline; }
main { padding: 36px; }
.mv-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,300px); gap: 36px; align-items: start; }
.page-text, .page-photo { min-width: 0; overflow-wrap: anywhere; }
h1, h2, h3 { line-height: 1.25; color: #2170BD; }
h1 { margin: 0 0 24px; font-size: 24px; }
h2 { margin: 22px 0 10px; font-size: 20px; }
p { margin: 0 0 18px; }
.eyebrow { text-transform: uppercase; letter-spacing: .09em; font-size: .73rem; font-weight: bold; color: #637b6d; margin-bottom: 10px; }
.notice { padding: 16px 18px; background: #fff5e8; border-left: 4px solid #bf7924; border-radius: 0 8px 8px 0; }
.notice p { margin: 5px 0 0; }
.hours-row { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; border-block: 1px solid var(--line); padding: 14px 0; }
figure { margin: 0; }
.page-photo img { display: block; width: auto; max-width: 100%; height: auto !important; border-radius: 8px; }
figcaption { margin: 12px 0 0; color: #607568; font-size: .85rem; }
.page-text img { display: block; float: none !important; max-width: 100% !important; height: auto !important; margin: 18px 0 !important; }
.page-text table { display: block; max-width: 100%; overflow-x: auto; }
.page-text iframe { max-width: 100%; }
footer { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; padding: 20px 36px; border-top: 1px solid var(--line); font-size: .9rem; overflow-wrap: anywhere; }
.skip-link { position: absolute; top: -100px; left: 12px; background: #fff; padding: 12px; z-index: 5; }
.skip-link:focus { top: 12px; }
@media (max-width: 760px) {
  .site-shell { width: 100%; margin: 0; border: 0; border-radius: 0; }
  .header { padding: 14px 20px; }
  .logo { width: 200px; }
  .header-note { display: none; }
  .quick-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 14px 16px; }
  .quick-links a { font-size: 1rem; }
  .secondary-nav { gap: 0 8px; padding: 8px; font-size: .94rem; }
  .secondary-nav a { min-height: 44px; }
  main { padding: 24px 20px; }
  .mv-columns { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .page-photo { width: min(100%,420px); justify-self: center; }
  footer { padding: 20px; }
}

/* UniverzĂˇlnĂ­ viditelnĂˇ mĂ­sta pro obsah. RĂˇmeÄŤky jsou uvnitĹ™ editovatelnĂ˝ch oblastĂ­. */
.edit-text-box { min-height: 320px; }
.edit-photo-box { min-width: 0; }
.placeholder-label { font-size: 14px; letter-spacing: .04em; }
@media (max-width: 760px) { .edit-text-box { min-height: 0; } }

/* PomocnĂ© pokyny a rĂˇmeÄŤky se na hotovĂ˝ch strĂˇnkĂˇch nezobrazujĂ­.
   PlatĂ­ takĂ© pro strĂˇnky vytvoĹ™enĂ© z pĹ™edchozĂ­ verze Ĺˇablony. */
.edit-photo-box { border: 0 !important; padding: 0 !important; background: transparent !important; }
.edit-photo-box > p, .edit-photo-box figcaption { display: none !important; }
.edit-text-box { border: 0 !important; padding: 0 !important; min-height: 0; }
.edit-text-box > .placeholder-label { display: none !important; }

/* Izolace starĹˇĂ­ho obsahu pĹ™i hromadnĂ©m pĹ™ipojenĂ­ novĂ© Ĺˇablony. */
.site-shell > #content { width: auto; margin: 0; float: none; padding: 36px; }
.page-text .page-layout, .page-text .mv-columns { display: block; }
.page-text .page-text, .page-text .page-photo { width: auto; margin: 0; }
.page-photo figure { margin: 0; }
.page-photo img { float: none !important; max-width: 100% !important; }
.page-text input, .page-text select, .page-text textarea { max-width: 100%; }
.page-text .redhead { color: #a12c21; background: #fff3ef; padding: 14px; border-left: 4px solid #bd5847; }
/* ZĂˇstupnĂ˝ obrĂˇzek slouĹľĂ­ editoru. Na strĂˇnce v prohlĂ­ĹľeÄŤi nenĂ­ vidÄ›t.
   StarĹˇĂ­ pomocnĂ© nĂˇpisy uvnitĹ™ oblasti fotografie jsou takĂ© skrytĂ©. */
@media screen, print {
  .page-photo img[src$="foto-misto.png"],
  .page-photo img[src$="foto-zastupne.svg"] { display: none; }
}
@media (max-width: 760px) {
  .site-shell > #content { padding: 24px 20px; }
  .page-text [width] { max-width: 100%; }
  .page-text .page-photo { width: 100%; }
}
@media print {
  body { background: #fff; font-size: 12pt; }
  .site-shell { width: 100%; margin: 0; border: 0; }
  .quick-links, .secondary-nav, .skip-link { display: none; }
  .mv-columns { display: block; }
  .page-photo { max-width: 280px; margin-top: 20px; }
}

/* SjednocenĂ­ starĹˇĂ­ch i novÄ›jĹˇĂ­ch nĂˇzvĹŻ rozloĹľenĂ­.
   PĹ™Ă­mĂ˝ potomek hlavnĂ­ho obsahu mĂˇ na poÄŤĂ­taÄŤi pĹ™esnÄ› dva sloupce. */
.site-shell > #content > .page-layout,
.site-shell > #content > .mv-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
  gap: 36px;
  align-items: start;
}
.site-shell > #content > .page-layout > .page-text,
.site-shell > #content > .mv-columns > .page-text {
  min-width: 0;
}
@media (max-width: 760px) {
  .site-shell > #content > .page-layout,
  .site-shell > #content > .mv-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
@media print {
  .site-shell > #content > .page-layout,
  .site-shell > #content > .mv-columns { display: block; }
}

/* StarĹˇĂ­ obsah: vĂ˝znamovĂ© styly zachovanĂ© bez starĂ˝ch obalĹŻ strĂˇnky. */
.blackbold, .orangebold { font-weight: bold; }
.undertext { text-decoration: underline; }
.textctr, .ctr { text-align: center; }
.texright { text-align: right; }
.kurziva { font-style: italic; }
.colourtext {
	background: #DFEFFF;
}
.h3 { font-weight: bold; color: #2170BD; }
.smltxt { font-size: .85em; }
.page-text [align=left], .page-text [align=right] { float: none !important; }
/* PĹ™i chybÄ›jĂ­cĂ­ samostatnĂ© fotografii vyuĹľije text celou ĹˇĂ­Ĺ™ku. */
.page-layout:not(:has(> .page-photo img:not([src$="foto-misto.png"]):not([src$="foto-zastupne.svg"]))) {
  grid-template-columns: minmax(0, 1fr) !important;
}
.page-photo:not(:has(img:not([src$="foto-misto.png"]):not([src$="foto-zastupne.svg"]))) { display: none; }

/* PĂ­smo spoleÄŤnĂ© pro celĂ˝ web. */
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }

/* KompaktnÄ›jĹˇĂ­ zobrazenĂ­ poÄŤĂ­taÄŤe, bez zvÄ›tĹˇovĂˇnĂ­ malĂ˝ch fotografiĂ­. */
@media screen and (min-width: 761px) {
  body { font-size: 16px; line-height: 1.45; }
  .site-shell { width: calc(100% - 40px); max-width: 1000px; margin: 20px auto; }
  .header { padding: 12px 26px; }
  .header-note { font-size: 16px; }
  .quick-links { padding: 12px 26px; gap: 10px; }
  .quick-links a { min-height: 42px; padding: 8px; }
  .secondary-nav { padding: 6px 18px; }
  .site-shell > #content { padding: 26px; }
  .site-shell > #content > .page-layout,
  .site-shell > #content > .mv-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 220px);
    gap: 28px;
  }
  h1 { font-size: 24px; margin-bottom: 16px; }
  h2 { font-size: 20px; margin-top: 22px; }
  p { margin-bottom: 14px; }
  footer { padding: 14px 26px; }
}
@media screen and (max-width: 760px) {
  body { font-size: 17px; line-height: 1.6; }
  h1 { font-size: 22px; }
}
/* MalĂ˝ originĂˇl zĹŻstane malĂ˝. VelkĂ˝ obrĂˇzek se pouze zmenĹˇĂ­ podle prostoru. */
.page-photo img { width: auto; max-width: 100% !important; height: auto !important; }

/* NovĂ© zĂˇhlavĂ­ ve spoleÄŤnĂ©m stylu. */
/* Pouze novĂ© zĂˇhlavĂ­ pĹŻvodnĂ­ Ĺˇablony. OstatnĂ­ styly zĹŻstĂˇvajĂ­ pĹŻvodnĂ­. */
#header.mv-contact-header {
  box-sizing:border-box;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px 36px;
  padding:18px 26px;
  background:#fff;
  background-image:none;
  color:#62534e;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.5;
}
#header.mv-contact-header .mv-identity { flex:0 1 320px; min-width:0; }
#header.mv-contact-header .mv-logo-link { display:block; }
#header.mv-contact-header img.mv-logo { display:block; width:320px; max-width:100%; height:auto; margin:0; padding:0; border:0; float:none; }
#header.mv-contact-header .mv-doctor { margin:8px 0 0; color:#62534e; text-align:center; font-size:15px; font-weight:normal; }
#header.mv-contact-header .mv-contacts { flex:0 1 auto; min-width:0; text-align:left; }
#header.mv-contact-header .mv-phone,
#header.mv-contact-header .mv-map { display:flex; align-items:center; gap:12px; min-height:44px; text-decoration:none; color:#62534e; padding:4px 0; }
#header.mv-contact-header .mv-phone { font-size:20px; font-weight:bold; }
#header.mv-contact-header .mv-map { font-size:17px; }
#header.mv-contact-header .mv-icon { flex:0 0 24px; color:#bb6925; }
#header.mv-contact-header .mv-phone:hover,
#header.mv-contact-header .mv-map:hover { color:#2170bd; text-decoration:underline; }
#header.mv-contact-header a:focus-visible,
#header.mv-contact-header summary:focus-visible { outline:3px solid #2170bd; outline-offset:3px; }
#header.mv-contact-header .mv-gps { font-size:12px; margin:6px 0 0 36px; color:#62534e; }
#header.mv-contact-header .mv-gps summary { cursor:pointer; padding:5px 0; }
#header.mv-contact-header .mv-gps p { margin:5px 0 0; overflow-wrap:anywhere; }
@media screen and (max-width:700px) {
  #header.mv-contact-header { flex-direction:column; gap:14px; padding:16px; }
  #header.mv-contact-header .mv-identity { flex:0 1 auto; width:100%; max-width:320px; }
  #header.mv-contact-header .mv-contacts { flex:0 1 auto; max-width:100%; }
  #header.mv-contact-header .mv-phone { font-size:19px; }
  #header.mv-contact-header .mv-map { font-size:17px; }
}
@media screen and (max-width:350px) {
  #header.mv-contact-header { padding:12px; }
  #header.mv-contact-header .mv-phone { font-size:17px; gap:8px; }
  #header.mv-contact-header .mv-doctor { font-size:14px; }
}

/* SjednocenĂ© pĂ­smo Arial pro obsah, navigaci a kontaktnĂ­ zĂˇhlavĂ­. */
body, button, input, select, textarea,
#header.mv-contact-header { font-family: Arial, Helvetica, sans-serif; }
@media screen and (max-width: 760px) {
  body { font-size: 16px; line-height: 1.5; }
  .page-text h1 { font-size: 22px; line-height: 1.3; }
  .page-text h2 { font-size: 18px; line-height: 1.3; }
}

/* PĹ™ehlednĂˇ ordinaÄŤnĂ­ doba. KaĹľdĂ˝ interval se zobrazuje jako celek. */
.mv-hours { margin:0 0 22px; padding:20px; border:1px solid #d1dfec; border-radius:10px; background:#f4f8fc; }
.page-text .mv-hours h1 { margin:0 0 6px; color:#2170BD; font-size:22px; line-height:1.3; }
.mv-hours .mv-hours-days { margin:0 0 16px; color:#344b5f; font-size:16px; font-weight:normal; }
.mv-hours-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mv-hours-slot { display:flex; flex-direction:column; gap:4px; min-width:0; padding:12px 14px; background:#fff; border:1px solid #dce6ef; border-radius:7px; }
.mv-hours-label { color:#536777; font-size:13px; line-height:1.4; }
.mv-hours-slot strong { color:#2170BD; font-size:26px; line-height:1.25; white-space:nowrap; overflow-wrap:normal; word-break:normal; font-variant-numeric:tabular-nums; }
@media(max-width:760px) {
 .mv-hours { padding:16px; margin-bottom:20px; }
 .mv-hours-times { gap:10px; }
 .mv-hours-slot { padding:10px; }
 .mv-hours-slot strong { font-size:22px; }
}
@media(max-width:350px) { .mv-hours { padding:12px; } .mv-hours-times { gap:8px; } .mv-hours-slot { padding:9px 7px; } }

/* PĹ™ehled kontaktĹŻ na pohotovost; bez zĂˇsahu do ostatnĂ­ch strĂˇnek. */
.mv-em-intro { border-left:3px solid #2170bd; padding:12px 15px; background:#f1f6fb; margin-bottom:20px; border-radius:0 7px 7px 0; }
.mv-em-intro p { margin:0; }
.mv-clinics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; }
.mv-clinic { min-width:0; padding:20px; border:1px solid #d7e2ec; border-radius:9px; background:#fff; }
.page-text .mv-clinic h2 { font-size:18px; line-height:1.35; margin:0 0 10px; }
.mv-clinic-web { display:inline-block; margin-bottom:15px; overflow-wrap:anywhere; }
.mv-clinic-hours { margin:0 0 15px; }
.mv-clinic-hours>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 14px; padding:8px 0; border-bottom:1px solid #e6edf3; }
.mv-clinic-hours dt { color:#526473; }
.mv-clinic-hours dd { margin:0; font-weight:bold; }
.mv-keep { white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.mv-call { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin:0 0 10px; }
.mv-call>span { color:#526473; font-size:14px; }
.mv-call a,.mv-em-phone { display:inline-block; padding:7px 0; white-space:nowrap; font-weight:bold; color:#2170bd; }
.mv-fee { font-size:14px; margin-bottom:12px; }
.mv-em-service { background:#f1f6fb; border-radius:6px; padding:12px; margin-top:10px; }
.mv-em-service>strong { display:block; line-height:1.5; }
.mv-em-phone { font-size:20px; }
.mv-em-service p { margin:5px 0 0; font-size:14px; }
.mv-appointment { margin:12px 0 0; font-weight:bold; }
@media(max-width:760px) { .mv-clinics { grid-template-columns:minmax(0,1fr); gap:16px; } .mv-clinic { padding:16px; } .page-text .mv-clinic h2 { font-size:18px; } }
@media print { .mv-clinics { display:block; } .mv-clinic { break-inside:avoid; margin-bottom:15px; } }

/* ZĂˇpatĂ­: identita ordinace, adresa s mapou a klikacĂ­ kontakty. */
.site-shell > footer.mv-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:20px 32px; padding:22px 26px; border-top:1px solid #d7e2ea; background:#f5f8fa; color:#425464; font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.6; }
.mv-footer-identity { display:flex; flex-direction:column; gap:3px; }
.mv-footer-identity strong { color:#2170BD; font-size:18px; }
.mv-footer-contact { margin:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-style:normal; }
.mv-footer-contact a { display:inline-block; color:#425464; text-decoration:none; overflow-wrap:anywhere; padding:5px 0; }
.mv-footer-contact a:hover { color:#2170BD; text-decoration:underline; }
.mv-footer-address span { display:block; }
.mv-footer-contact .mv-footer-phone { white-space:nowrap; font-weight:bold; }
@media(max-width:760px) {
 .site-shell > footer.mv-footer { grid-template-columns:minmax(0,1fr); gap:14px; padding:20px; font-size:14px; }
}

/* DoplnÄ›nĂ­ jednotnĂ© hierarchie nadpisĹŻ. */
h3 { font-size:18px; margin:18px 0 8px; line-height:1.35; }
@media screen and (max-width:760px) {
  h2 { font-size:18px; }
  h3 { font-size:16px; }
  .page-text .mv-hours h1 { font-size:20px; }
}

/* ZĂˇpatĂ­ s logem: tĹ™i ÄŤĂˇsti vedle sebe na poÄŤĂ­taÄŤi. */
.site-shell > footer.mv-footer { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); align-items:center; gap:20px 28px; }
.mv-footer .mv-footer-identity { min-width:0; gap:8px; }
.mv-footer .mv-footer-logo-link { display:block; width:140px; max-width:100%; }
.mv-footer img.mv-footer-logo { display:block; width:140px; max-width:100%; height:auto; margin:0; padding:0; border:0; float:none; }
.mv-footer .mv-footer-identity>span { font-size:14px; }
.mv-footer .mv-footer-location { margin:0; min-width:0; font-style:normal; }
.mv-footer .mv-footer-location a { display:block; padding:5px 0; color:#425464; text-decoration:none; }
.mv-footer .mv-footer-location a:hover { color:#2170BD; text-decoration:underline; }
.mv-footer .mv-footer-contact { min-width:0; }
@media(max-width:760px) {
 .site-shell > footer.mv-footer { grid-template-columns:minmax(0,1fr); align-items:start; gap:16px; }
}

/* Fotografie uprostred mezi dvema oblastmi textu. */
.site-shell > #content > .page-layout.mv-inline-photo-layout {
  display: block;
}
.mv-inline-photo-layout > .page-text { width:100%; min-width:0; }
.mv-inline-photo-layout > .page-photo {
  display:block;
  width:100%;
  max-width:600px;
  margin:28px auto;
  text-align:center;
}
.mv-inline-photo-layout > .page-photo img {
  display:block;
  width:auto;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto;
  float:none !important;
}
.mv-inline-photo-layout > .page-photo:not(:has(img:not([src$="foto-misto.png"]):not([src$="foto-zastupne.svg"]))) { display:none; }
@media(max-width:760px) {
  .mv-inline-photo-layout > .page-photo { margin:22px auto; }
}

