/* CarePlus look for Occasio – Poliklinika Doubravka
 * Barvy: tmavě modrá #08364b, zelená #9bc03c, text #576777
 */
:root { --cp-blue: #08364b; --cp-green: #9bc03c; --cp-text: #576777; --cp-grey: #f5f5f5; }

body.cp-look .entry-content { color: var(--cp-text); letter-spacing: .3px; }
body.cp-look .entry-content a { color: #13506b; }
body.cp-look .entry-content a:hover { text-decoration: underline; }
body.cp-look .entry-content h2,
body.cp-look .entry-content h3 { color: var(--cp-blue); font-weight: 700; }
body.cp-look .entry-content h2 { font-size: 1.6rem; }
body.cp-look .entry-content h3 { font-size: 1.2rem; margin-top: 1.6em; }

/* skrýt Occasio titulek na stránkách s fancy nadpisem */
body.cp-has-fancy .entry-header { display: none; }

/* ---------- Fancy title (careplus_fancy_heading) ---------- */
.careplus-fancy-title { text-align: center; margin: 10px 0 50px; clear: both; }
.careplus-fancy-title h2 {
  font-size: 30px !important; line-height: 1.2; margin: 0 0 14px; letter-spacing: 2px;
  text-transform: uppercase; font-weight: 700; color: var(--cp-blue) !important;
}
.careplus-fancy-title span { display: inline-block; position: relative; padding: 0 2px; }
.careplus-fancy-title span:before,
.careplus-fancy-title span:after { content: ''; position: absolute; top: 14px; width: 75px; height: 1px; background-color: var(--cp-blue); }
.careplus-fancy-title span:before { left: -75px; }
.careplus-fancy-title span:after  { right: -75px; }
.careplus-fancy-title span small { position: absolute; left: 0; top: 0; width: 100%; }
.careplus-fancy-title span small:before,
.careplus-fancy-title span small:after { content: ''; position: absolute; top: 11px; width: 40px; height: 1px; background-color: var(--cp-green); }
.careplus-fancy-title span small:before { left: -40px; }
.careplus-fancy-title span small:after  { right: -40px; }
.careplus-fancy-title span i { font-size: 25px; color: var(--cp-green); margin: 0 5px; }

/* ---------- Service tiles (careplus_services_list) ---------- */
.careplus-service-grid ul.row {
  display: flex; flex-wrap: wrap; justify-content: center;
  list-style: none; margin: 0 -15px; padding: 0;
}
.careplus-service-grid ul.row > li { list-style: none; width: 25%; padding: 0 15px; margin: 0 0 30px; box-sizing: border-box; }
.hp-services.careplus-service-grid ul.row > li { width: 33.333%; }
.careplus-service-grid a { text-decoration: none !important; }
.careplus-service-wrap {
  height: 213px; overflow: hidden; padding: 57px 10px 9px; text-align: center; box-sizing: border-box;
  background: radial-gradient(ellipse at center, rgba(8,54,75,1) 15%, rgba(30,77,77,1) 51%);
  transition: all .4s ease-in-out;
}
.careplus-service-grid li:hover .careplus-service-wrap { padding: 38px 10px 34px; background: var(--cp-blue); }
.careplus-service-wrap i { font-size: 64px; display: inline-block; color: #fff; margin: 0 0 10px; transition: all .4s ease-in-out; }
.careplus-service-grid li:hover i { font-size: 41px; margin: 0 0 17px; color: var(--cp-green); }
.careplus-service-wrap h5 { margin: 0; text-transform: uppercase; color: #fff !important; font-weight: 700; font-size: 16px; line-height: 1.3; }
.careplus-service-grid li:hover h5 { text-transform: none; }

/* ---------- Department grid (careplus_department_shortcode) ---------- */
.careplus-department-grid ul.row { display: flex; flex-wrap: wrap; list-style: none; margin: 0 -15px; padding: 0; }
.careplus-department-grid ul.row > li { width: 50%; padding: 0 15px; margin: 0 0 30px; box-sizing: border-box; display: flex; }
.careplus-department-grid-text {
  width: 100%; background-color: var(--cp-grey); padding: 24px 20px 35px 30px;
  position: relative; line-height: 1.4; margin-top: 12px;
}
.careplus-department-grid-text:before { content: ''; position: absolute; left: 0; top: -12px; width: 77%; height: 6px; background-color: #dfdfdf; transition: background-color .3s; }
.careplus-department-grid-text:after  { content: ''; position: absolute; right: -2px; top: -11px; width: 25%; height: 6px; background-color: #dfdfdf; transition: background-color .3s; }
.careplus-department-grid li:hover .careplus-department-grid-text:before,
.careplus-department-grid li:hover .careplus-department-grid-text:after { background-color: var(--cp-green); }
.careplus-department-grid-text h5 { font-size: 18px; margin: 0 0 12px; font-weight: 700; padding-right: 60px; }
.careplus-department-grid-text h5 a { color: var(--cp-blue) !important; text-decoration: none; }
.careplus-department-grid-text .cp-dept-excerpt { color: #686868; margin: 0 0 23px; letter-spacing: .5px; font-size: 14px; }
.careplus-department-grid-text .cp-dept-excerpt h3 { font-size: 15px; margin: 0 0 4px; color: var(--cp-text); }
.careplus-department-grid-text > i { font-size: 65px; position: absolute; right: 20px; bottom: 20px; opacity: .10; color: var(--cp-blue); }

/* readmore button */
.careplus-readmore-btn {
  display: inline-block; font-size: 13px; color: #888 !important; font-weight: 700; position: relative;
  padding: 5px 21px; line-height: 2; letter-spacing: 1px; text-decoration: none !important;
  border: 1px solid #bbb; transition: all .3s;
}
.careplus-readmore-btn:hover,
.careplus-department-grid li:hover .careplus-readmore-btn { color: var(--cp-blue) !important; border-color: var(--cp-blue); }

/* ---------- Dvousloupec text + obrázek ---------- */
body.cp-look .wp-block-columns.cp-two-col { gap: 40px; }
body.cp-look .wp-block-columns.cp-two-col .wp-block-image img { width: 100%; height: auto; }

/* ---------- Banner na úvodu ---------- */
.cp-banner { position: relative; overflow: hidden; border-bottom: 4px solid var(--cp-blue); margin: 0 0 60px; }
.cp-banner > img { display: block; width: 100%; height: auto; }
.cp-banner .cp-banner-caption {
  position: absolute; left: 0; top: 0; height: 100%; width: 40%;
  display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
  background: rgba(255,255,255,.9); padding: 20px; box-sizing: border-box;
}
.cp-banner .cp-banner-caption img { max-width: 150px; height: auto; margin: 0 auto 10px; }
.cp-banner .cp-banner-caption span { color: var(--cp-green); font-size: 24px; font-weight: 700; line-height: 1.2; }

.cp-notice { text-align: center; margin: 0 0 40px; }
.cp-notice p { font-size: 22px; line-height: 1.4; color: #2b2b2b; font-weight: 700; margin: 0 0 12px; }

/* ---------- Správa budovy (aboutinfo fancy) ---------- */
.cp-building {
  position: relative; overflow: hidden; margin: 40px 0 0; padding: 68px 40px 60px; color: #fff;
  background-size: cover; background-position: right center;
}
.cp-building:before {
  content: ''; position: absolute; top: 0; left: -17%; height: 100%; width: 86%;
  background-color: var(--cp-blue); transform: skewX(-28deg); opacity: .95;
}
.cp-building > * { position: relative; z-index: 1; max-width: 60%; }
.cp-building h2 { color: #fff !important; font-size: 30px !important; font-weight: 700; text-transform: uppercase; margin: 0 0 4px; }
.cp-building .cp-building-icon { display: block; position: relative; margin: 0 0 21px; }
.cp-building .cp-building-icon i { font-size: 25px; color: #fff; }
.cp-building p { color: #fff !important; letter-spacing: 1px; margin: 0 0 30px; }
.cp-building ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.cp-building ul li { width: 50%; padding: 0 0 0 61px; position: relative; color: #fff; line-height: 22px; margin: 0 0 27px; box-sizing: border-box; min-height: 44px; }
.cp-building ul li i { position: absolute; left: 0; top: 0; width: 44px; height: 44px; line-height: 44px; text-align: center; background: var(--cp-green); color: #fff; font-size: 17px; }
.cp-building ul li a { color: #fff !important; font-weight: 700; }

/* ---------- Mapa ---------- */
.map-wrapper { position: relative; padding-bottom: 40%; height: 0; overflow: hidden; margin-top: 40px; }
.map-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
  .careplus-service-grid ul.row > li,
  .hp-services.careplus-service-grid ul.row > li { width: 50%; }
  .cp-building > * { max-width: 100%; }
  .cp-building:before { left: 0; width: 100%; transform: none; }
}
@media (max-width: 768px) {
  .careplus-department-grid ul.row > li { width: 100%; }
  .cp-banner .cp-banner-caption { position: static; width: 100%; }
  .cp-building ul li { width: 100%; }
}
@media (max-width: 480px) {
  .careplus-service-grid ul.row > li,
  .hp-services.careplus-service-grid ul.row > li { width: 100%; }
}
