/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 2.0
*/




/* open-sans-regular - latin */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/open-sans-v34-latin-regular.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('fonts/open-sans-v34-latin-regular.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('fonts/open-sans-v34-latin-regular.woff') format('woff'),
		/* Modern Browsers */
		url('fonts/open-sans-v34-latin-regular.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg');
	/* Legacy iOS */
}

/* open-sans-700 - latin */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/open-sans-v34-latin-700.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('fonts/open-sans-v34-latin-700.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('fonts/open-sans-v34-latin-700.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('fonts/open-sans-v34-latin-700.woff') format('woff'),
		/* Modern Browsers */
		url('fonts/open-sans-v34-latin-700.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('fonts/open-sans-v34-latin-700.svg#OpenSans') format('svg');
	/* Legacy iOS */
}

/* open-sans-500 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/open-sans-v44-latin-500.woff2') format('woff2'),
    url('fonts/open-sans-v44-latin-500.woff') format('woff');
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/open-sans-v44-latin-600.woff2') format('woff2'),
    url('fonts/open-sans-v44-latin-600.woff') format('woff');
}

/* open-sans-italic - latin */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 400;
	src: url('fonts/open-sans-v34-latin-italic.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('fonts/open-sans-v34-latin-italic.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('fonts/open-sans-v34-latin-italic.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('fonts/open-sans-v34-latin-italic.woff') format('woff'),
		/* Modern Browsers */
		url('fonts/open-sans-v34-latin-italic.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('fonts/open-sans-v34-latin-italic.svg#OpenSans') format('svg');
	/* Legacy iOS */
}


body,
ul.timeline_items,
.icon_box a .desc,
.icon_box a:hover .desc,
.feature_list ul li a,
.list_item a,
.list_item a:hover,
.widget_recent_entries ul li a,
.flat_box a,
.flat_box a:hover,
.story_box .desc,
.content_slider.carousel ul li a .title,
.content_slider.flat.description ul li .desc,
.content_slider.flat.description ul li a .desc,
.post-nav.minimal a i,
.ui-tabs .ui-tabs-nav li a,
.accordion .question>.title,
.faq .question>.title,
table th,
.fake-tabs>ul li a {
	color: #000;
}

body {
	line-height: 180%;
	font-size: 19px;
}

h1,
h2,
h3,
h4 {
	line-height: 140%;
}


h2 {
	margin-bottom: 30px;
}

h3 {
	margin-top: 25px;
	margin-bottom: 10px !important;
}

a:hover {
	text-decoration: none !important;
}

@media (max-width: 959px) {
	body {
		line-height: 160%;
		font-size: 15px;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		line-height: 140%;
	}

	h2 {
		font-size: 22px;
	}

	h3 {
		font-size: 20px;
	}

	h4 {
		font-size: 18px;
	}

	h5 {
		font-size: 16px;
		margin-bottom: 5px;
	}

	h6 {
		font-size: 16px;
	}

}


.button,
input:not(input[type='checkbox']):not(input[type='radio']) {
	font-weight: normal !important;
	appearance: none !important;
	box-shadow: none !important;
}

input[type='text'],
input[type='email'],
textarea {
	padding: 15px;
	color: #000 !important;
	font-size: inherit !important;
}

textarea {
	height: 300px;
}

.style-simple .faq .question {
	border-width: 1px;
	background: #fff;
	margin-bottom: 10px;
}

.style-simple .faq .question .title {
	font-size: inherit !important;
	line-height: inherit !important;
	padding-left: 30px;
	font-weight: inherit !important;
}

.style-simple .faq .question .answer {
	margin-top: 15px;
	padding-left: 30px;
	line-height: inherit !important;
	font-weight: inherit !important;
	font-size: inherit !important;
}

#Subheader .title {
	font-size: 38px;
	line-height: 48px;
}

.style-simple .faq .question>.title .num {
	display: none !important;
}

.style-simple .faq .question>.title>.acc-icon-plus,
.style-simple .faq .question .title>.acc-icon-minus {
	font-size: 16px;
}

.mfn-acc ul,
.mfn-acc ol {
	margin: 0 0 15px 20px;
}

@media (max-width: 959px) {
	#Subheader {
		padding: 30px 0;
	}

	#Subheader .title {
		font-size: 24px;
		line-height: 34px;
	}
}

@media (max-width: 767px) {
	.mobile-sticky #Top_bar.is-sticky {
		border-bottom: 1px solid rgba(0, 0, 0, .08);
	}

	.style-simple .faq .question .title {
		font-size: 15px;
		line-height: 24px;
		font-weight: 300;
	}
}


@media (min-width: 1240px) {

	.sticky-white #Top_bar.is-sticky,
	.sticky-white #Top_bar.is-sticky #menu {
		background: rgba(255, 255, 255, 1) !important;
	}
}

.column_column ul li,
.column_helper ul li,
.column_visual ul li,
.icon_box ul li,
.mfn-acc ul li,
.ui-tabs-panel ul li,
.post-excerpt ul li,
.the_content_wrapper ul li,
.column_product_short_description ul li,
.elementor-text-editor ul li,
.column_column ol li,
.column_helper ol li,
.column_visual ol li,
.icon_box ol li,
.mfn-acc ol li,
.ui-tabs-panel ol li,
.post-excerpt ol li,
.the_content_wrapper ol li,
.column_product_short_description ol li,
.elementor-text-editor ol li {
	margin-bottom: 0;
}

.column_column ul,
.column_column ol,
.the_content_wrapper:not(.is-elementor) ul,
.the_content_wrapper:not(.is-elementor) ol {
	margin-left: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
}

.wp-caption-text {
	background: transparent;
	padding-top: 30px !important;
	font-size: 75%;

}

.image_frame .image_wrapper img:not(.ls-l) {
	width: 100%;
}

.wpcf7-list-item {
	margin: 0 0 0 0;
}

.wpcf7-form-control-wrap {
	text-align: left;
}

#mapsiframe {
	line-height: 0 !important;
}

iframe {
	width: 100%;
	height: 500px;
}

#mapsiframe p {
	margin: 0 !important;
}

.wpcf7 form .wpcf7-response-output {
	border: 2px solid;
	margin: 20px 0 0 0 !important;
	border-radius: 5px;
}

video {
	border: 5px solid #E4EDEE;
	border-radius: 5px;
}

body:not(.cf7p-message) .wpcf7-not-valid-tip {
	left: -10px !important;
	width: 12px !important;
	height: 59px !important;
}

body:not(.cf7p-message) .wpcf7-not-valid-tip:before {
	top: 24px !important;
}

body:not(.cf7p-message) .wpcf7-not-valid-tip:after {
	content: '' !important;
}

.inline {
	padding: 10px;
	margin-left: -15px;
	margin-right: 20px;
}

@media (max-width: 767px) {
	.inline {
		display: block;
		padding: 10px;
		margin-left: -15px;
	}
}


.terminbutton {
	background-color: #F58600 !important;
	color: #fff !important;
	margin: 20px 0 0 0 !important;
}

.terminbutton .icon-clock {
	padding-right: 10px;
}

/* Dropdown menu: width follows the longest entry, no line breaks */
@media only screen and (min-width: 1240px) {
  #Top_bar .menu li ul {
    width: max-content;
    min-width: 200px;
  }

  #Top_bar .menu li ul li {
    width: 100%;
  }

  #Top_bar .menu li ul li a {
    white-space: nowrap;
    padding-right: 35px;
  }

  #Top_bar .menu li ul li ul {
    left: 100%;
  }
}

/* Language switcher: only the flag of the other language, without border and background */
#Top_bar .wpml-languages.horizontal {
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: none;
}

#Top_bar .wpml-languages.horizontal ul li {
  margin-right: 0;
}

#Top_bar .wpml-languages.horizontal ul li.lang-active {
  display: none;
}

/* Flag larger than the theme default of 18px */
#Top_bar .wpml-languages img {
  width: 24px !important;
  height: auto !important;
}

/* Desktop header: less vertical padding on the appointment button */
@media only screen and (min-width: 1240px) {
  #Top_bar .top_bar_right .top_bar_right_wrapper > a.action_button {
    order: 1;
    margin-left: 5px;
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* Logo and language flag closer to the left and right edge, logo 10px higher */
  #Top_bar .logo {
    margin-left: 16px;
  }

  #Top_bar .logo #logo {
    padding-top: 12px;
    padding-bottom: 32px;
  }

  /* Sticky header: logo 7px higher, header height unchanged */
  #Top_bar.is-sticky #logo img.logo-sticky {
    position: relative;
    top: -7px;
  }

  #Top_bar .top_bar_right {
    padding-right: 16px;
  }

  #Top_bar .top_bar_right .wpml-languages.horizontal {
    padding-right: 0;
  }

  /* Main menu: less horizontal space between the links */
  #Top_bar .menu > li > a span:not(.description) {
    padding-left: 14px;
    padding-right: 14px;
  }

  /* Language flag after the appointment button */
  #Top_bar .top_bar_right .wpml-languages {
    order: 2;
    margin-left: 5px;
    margin-right: 0;
  }
}

/* Mobile and tablet header: compact, always visible, language switcher left, appointment button right */
@media only screen and (max-width: 1239px) {
  #Top_bar #logo img.logo-mobile,
  #Top_bar #logo img.logo-mobile-sticky {
    max-height: 34px !important;
  }

  #Top_bar .logo #logo,
  #Top_bar .logo .custom-logo-link {
    height: 50px;
    line-height: 50px;
    margin: 5px 50px;
  }

  /* Header stays at the top, in this range the theme has no sticky positioning of its own */
  body #Top_bar,
  body #Top_bar.is-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    z-index: 701;
  }

  #Header {
    padding-top: 61px;
  }

  #Top_bar .container {
    position: relative;
  }

  /* The theme hides this row once the header is sticky */
  .mobile-sticky #Top_bar.is-sticky .top_bar_right,
  #Top_bar .top_bar_right {
    display: block;
    position: static;
    float: none;
    padding: 0;
    height: 0;
    background: none;
  }

  #Top_bar .top_bar_right .wpml-languages {
    position: absolute;
    top: 50%;
    left: 10px;
    margin: 0;
    transform: translateY(-50%);
  }

  /* Appointment link as plain icon, without button background */
  #Top_bar .top_bar_right .action_button {
    display: block !important;
    position: absolute;
    top: 50%;
    right: 66px;
    width: 22px !important;
    height: 22px !important;
    min-width: 0;
    max-height: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: none !important;
    box-shadow: none !important;
    font-size: 0;
    line-height: 1;
    transform: translateY(-50%);
  }

  /* Calendar as svg mask, independent of any icon font */
  #Top_bar .top_bar_right .action_button:before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    margin: 0;
    background-color: #f58600;
    -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3Cg fill='black' stroke='none'%3E%3Ccircle cx='8' cy='14' r='1.25'/%3E%3Ccircle cx='12' cy='14' r='1.25'/%3E%3Ccircle cx='16' cy='14' r='1.25'/%3E%3Ccircle cx='8' cy='18' r='1.25'/%3E%3Ccircle cx='12' cy='18' r='1.25'/%3E%3Ccircle cx='16' cy='18' r='1.25'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3Cg fill='black' stroke='none'%3E%3Ccircle cx='8' cy='14' r='1.25'/%3E%3Ccircle cx='12' cy='14' r='1.25'/%3E%3Ccircle cx='16' cy='14' r='1.25'/%3E%3Ccircle cx='8' cy='18' r='1.25'/%3E%3Ccircle cx='12' cy='18' r='1.25'/%3E%3Ccircle cx='16' cy='18' r='1.25'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  }

  #Top_bar .top_bar_right .action_button:hover:before {
    background-color: #d97600;
  }

  #Top_bar a.responsive-menu-toggle {
    top: 50%;
    right: 15px;
    margin-top: 0;
    transform: translateY(-50%);
  }

  /* Doctolib link at the right screen edge is hidden, the compact header has its own appointment icon */
  #doctoliblink {
    display: none !important;
  }
}

/* Tablet header: exactly like the mobile header (theme rules from the max-width 767px range) */
@media only screen and (min-width: 768px) and (max-width: 1239px) {
  /* Boxed layout: page box starts directly below the fixed header, without a gap */
  body.layout-boxed {
    padding-top: 0;
  }

  #Top_bar,
  #Top_bar .container,
  #Top_bar .column,
  #Top_bar .top_bar_left,
  #Top_bar .logo {
    height: 60px;
  }

  #Top_bar .container {
    max-width: 100% !important;
    margin: 0;
    padding: 0 !important;
  }

  #Top_bar .column {
    flex-wrap: wrap;
  }

  #Top_bar .top_bar_left {
    float: none;
    width: 100% !important;
    background: none !important;
  }

  #Top_bar .menu_wrapper {
    float: left !important;
    width: 100%;
    margin: 0 !important;
  }

  #Top_bar #menu {
    float: left;
    position: static !important;
    width: 100% !important;
  }

  #Top_bar .logo {
    position: static;
    float: left;
    width: 100%;
    text-align: center;
    margin: 0;
  }

  #Top_bar .logo #logo,
  #Top_bar .logo .custom-logo-link {
    padding: 0 !important;
  }

  #Top_bar #logo img.logo-main,
  #Top_bar #logo img.logo-mobile-sticky {
    display: none;
  }

  #Top_bar #logo img.logo-mobile {
    display: inline-block;
  }

  .mobile-sticky #Top_bar.is-sticky #logo img:not(.svg) {
    width: auto !important;
  }

  .mobile-sticky #Top_bar.is-sticky #logo img.logo-main,
  .mobile-sticky #Top_bar.is-sticky #logo img.logo-sticky,
  .mobile-sticky #Top_bar.is-sticky #logo img.logo-mobile {
    display: none;
  }

  .mobile-sticky #Top_bar.is-sticky #logo img.logo-mobile-sticky {
    display: inline-block;
  }

  .mobile-sticky #Top_bar.is-sticky {
    border-bottom: 1px solid rgba(0, 0, 0, .08);
  }
}

/* Side menu: language switcher is in the header, the theme renders it here regardless of the options */
#Side_slide .lang-wrapper,
#Side_slide .extras .extras-wrapper {
  display: none !important;
}

/* Side menu: larger text and larger tap areas for links, plus and close button */
#Side_slide #menu ul li a {
  margin-right: 56px;
  padding: 16px 5px 16px 20px;
  font-size: 17px;
  line-height: 24px;
}

/* Entries without a plus button may use the whole width */
#Side_slide #menu ul li:not(.submenu) > a {
  margin-right: 12px;
}

#Side_slide #menu ul li ul li a {
  padding-left: 32px;
}

#Side_slide #menu ul li ul li ul li a {
  padding-left: 44px;
}

#Side_slide #menu ul li.submenu .menu-toggle {
  right: 0;
  width: 56px;
  height: 56px;
  line-height: 56px;
  font-size: 30px;
  opacity: .75;
}

#Side_slide .close-wrapper a.close {
  width: 44px;
  height: 44px;
  margin: 10px 8px 0 0;
}

#Side_slide .close-wrapper a.close i {
  font-size: 28px;
  line-height: 44px;
}

/* Tile panels: text of a tile opens below its row (js/tile-panels.js) */
.mvz-tile-toggle.is-active .mfn-icon-box {
  background-color: #f58600 !important;
}

body:not(.mfn-ui) .mcb-wrap-inner > .mvz-tile-panel {
  flex: 0 0 auto;
  width: calc(100% - 24px) !important;
  max-width: none;
  margin: 0 12px 24px !important;
}

@media only screen and (max-width: 767px) {
  body:not(.mfn-ui) .mcb-wrap-inner > .mvz-tile-panel {
    width: calc(100% - 12px) !important;
    margin: 0 6px 12px !important;
  }

  /* Tile sections on mobile: tile wrap uses the full width, the empty spacer wraps next to it collapse */
  body:not(.mfn-ui) .mcb-section .mcb-wrap:has(> .mcb-wrap-inner > .mvz-tile-toggle) {
    width: 100% !important;
  }

  body:not(.mfn-ui) .mcb-section:has(.mvz-tile-toggle) .mcb-wrap:not(:has(.mcb-column)) {
    width: 0 !important;
  }

  /* Same padding for all tiles, tiles of a row share the height of the highest tile */
  body:not(.mfn-ui) .mcb-section .mcb-wrap-inner:has(> .mvz-tile-toggle) {
    align-items: stretch !important;
  }

  body:not(.mfn-ui) .mcb-wrap-inner:has(> .mvz-tile-toggle) > .mcb-column {
    display: flex;
  }

  body:not(.mfn-ui) .mcb-wrap-inner:has(> .mvz-tile-toggle) > .mcb-column > .mcb-column-inner,
  body:not(.mfn-ui) .mcb-wrap-inner:has(> .mvz-tile-toggle) > .mcb-column > .mcb-column-inner > a {
    display: flex;
    flex: 1 1 auto;
  }

  body:not(.mfn-ui) .mcb-wrap-inner:has(> .mvz-tile-toggle) .mfn-icon-box {
    flex: 1 1 auto;
    justify-content: center;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  /* Doctor cards on mobile: limited width, centered, so the photos do not become too large */
  body:not(.mfn-ui) .mcb-wrap:has(.mvz-team-card) > .mcb-wrap-inner,
  body:not(.mfn-ui) .mcb-wrap:has(.mvz-team-role) > .mcb-wrap-inner {
    max-width: 300px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Centered lists (contact, hours, address): icon flows with the text, so every line is centered */
.mvz-list-center .mfn-list .mfn-list-item {
  display: block;
  font-size: 17px;
  line-height: 25px;
  text-align: center;
}

.mvz-list-center .mfn-list .mfn-list-item .mfn-list-icon {
  display: inline-block;
  top: 0 !important;
  margin-right: var(--mfn-list-icon-spacing, 12px);
  line-height: 25px;
  vertical-align: top;
}

.mvz-list-center .mfn-list .mfn-list-desc {
  display: inline;
}

/* Accordions (js/tile-panels.js sets the same min-height on all titles of a section): title text vertically centered */
.mvz-accordion .question > .title {
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

/* MVZ forms (Contact Form 7): question groups as cards, answers as selectable boxes */
.mvz-form .wpcf7-form br {
  display: none;
}

.mvz-form .mvz-form-group {
  margin: 0 0 16px;
  padding: 22px 24px 18px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 24px 0 rgba(40, 70, 110, 0.10);
}

.mvz-form .mvz-form-label {
  display: block;
  margin: 0 0 4px;
  color: #f58600;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mvz-form .mvz-form-question {
  display: block;
  margin: 0 0 14px;
  color: #000000;
  font-size: 17px;
  font-weight: 500;
  line-height: 26px;
}

.mvz-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mvz-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

.mvz-form .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid #d7e1ee;
  border-radius: 6px;
  background: #ffffff;
  font-size: 16px;
  line-height: 22px;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}

.mvz-form .wpcf7-radio .wpcf7-list-item label:hover {
  border-color: #81a1c8;
}

.mvz-form .wpcf7-radio .wpcf7-list-item label:has(input:checked) {
  border-color: #466ea0;
  background: #eef3f9;
}

.mvz-form .wpcf7-radio input[type='radio'] {
  margin: 0;
  accent-color: #466ea0;
}

.mvz-form .mvz-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 20px;
}

.mvz-form .mvz-form-field label {
  display: block;
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
}

.mvz-form .mvz-form-field .wpcf7-form-control-wrap {
  display: block;
  margin-top: 6px;
}

.mvz-form .mvz-form-field input,
.mvz-form .mvz-form-field textarea {
  padding: 15px;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  font-weight: normal;
}

.mvz-form .mvz-form-field textarea {
  height: 180px;
}

.mvz-form .mvz-form-field-wide {
  grid-column: 1 / -1;
}

.mvz-form .mvz-form-consent {
  margin: 8px 0 20px;
  font-size: 15px;
  line-height: 24px;
}

@media only screen and (max-width: 767px) {
  .mvz-form .mvz-form-group {
    padding: 18px 16px 14px;
  }

  .mvz-form .mvz-form-grid {
    grid-template-columns: 1fr;
  }

  .mvz-form .wpcf7-radio .wpcf7-list-item,
  .mvz-form .wpcf7-radio .wpcf7-list-item label {
    width: 100%;
    box-sizing: border-box;
  }
}

/* MVZ forms: slim validation bar at the left edge of the field, same height as the field */
body:not(.cf7p-message) .mvz-form .wpcf7-not-valid-tip {
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  transform: none;
}

body:not(.cf7p-message) .mvz-form .wpcf7-not-valid-tip:before,
body:not(.cf7p-message) .mvz-form .wpcf7-not-valid-tip:after {
  display: none;
}

.mvz-form .mvz-form-field .wpcf7-not-valid {
  border-color: #ed3b2e;
}

/* Doctor profiles: qualification rows (title left, list right) without the default element spacing */
.mvz-profile-row .mcb-column-inner {
  margin-bottom: 0;
}

.mvz-profile-row h3 {
  margin: 0;
}

.mvz-profile-row .column_attr ul {
  margin: 0 0 0 20px;
}

/* Doctor profiles: book rows (title, text and link next to the cover) */
.mvz-book-row .mcb-column-inner {
  margin-bottom: 0;
}

.mvz-book-row h3 {
  margin: 0 0 12px;
}

.mvz-book-row .column_attr ul {
  margin: 0 0 15px 20px;
}

.mvz-book-row .mcb-item-button {
  margin-top: 10px;
}

/* Profile and book rows: both columns of a row have the same height, so the separator lines stay aligned */
.mcb-wrap.mvz-profile-row,
.mcb-wrap.mvz-book-row {
  align-self: stretch;
}

.mvz-profile-row > .mcb-wrap-inner,
.mvz-book-row > .mcb-wrap-inner {
  height: 100%;
}

/* Doctor profiles: photo on the right, intro text in its own column next to it */
.mvz-profile-intro .mcb-column.mvz-intro-image {
  margin-bottom: 30px;
}

/* portrait format like the doctor cards on the homepage */
.mvz-profile-intro .mvz-intro-image .image_wrapper img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

@media only screen and (min-width: 768px) {
  .mvz-profile-intro > .mcb-wrap-inner {
    display: grid;
    grid-template-columns: 1fr 36%;
    grid-template-rows: auto auto auto auto 1fr;
    column-gap: 50px;
    align-content: start;
  }

  .mvz-profile-intro .mcb-column {
    grid-column: 1;
  }

  .mvz-profile-intro .mcb-column.mvz-intro-image {
    grid-column: 2;
    grid-row: 1 / 6;
    margin: 0 12px 0 0;
    width: auto;
  }
}
