:root {
  /* Custom Logo */
  --logo-height: calc(4rem + 1.8vw);
  /* Custom Fonts */
  --primary-font: 'Greycliff', 'Helvetica Neue', Arial, sans-serif;
  --secondary-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --bs-body-font-size: 1rem;
  /* 16px */
  --legal-font-size: 0.688rem;
  /* 11px */
  --legal-font-color: #373536;
  --legal-line-height: 1rem;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* MOBILE FIRST 1rem = 16px */
  /* H1 */
  --text-h1-size: 2rem;
  --text-h1-line: 2.3rem;
  --text-h1-weight: var(--font-weight-bold);
  /* H2 */
  --text-h2-size: 1.5rem;
  --text-h2-line: 2.1rem;
  --text-h2-weight: var(--font-weight-bold);
  /* H3 */
  --text-h3-size: clamp(1.25rem, 1.125rem + 0.6vw, 1.5rem);
  --text-h3-line: clamp(1.875rem, 1.75rem + 0.6vw, 2.25rem);
  --text-h3-weight: var(--font-weight-bold);
  /* H4 */
  --text-h4-size: 1rem;
  --text-h4-line: 1.5rem;
  --text-h4-weight: var(--font-weight-bold);
  /* H4 */
  --text-h5-size: 1rem;
  --text-h5-line: 1.5rem;
  --text-h5-weight: var(--font-weight-bold);
  /* Body */
  --text-body-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-body-line: clamp(1.5rem, 1.4rem + 0.5vw, 1.75rem);
  --text-body-weight: var(--font-weight-regular);
  /* Small */
  --text-small-size: 0.75rem;
  /* 12px */
  --text-small-line: 1.1rem;
  --text-small-weight: var(--font-weight-regular);
  /* Custom LMD Colors */
  --link-color: #8A8A8A;
  /* surlignement + icones */
  --bs-body-color: #373536;
  /* Copy Neutral Grey */
  --border-color: #DEDEDE;
  /* border bloc */
  --primary-theme-color: #4700F0;
  /* Primary Deep Blue */
  --secondary-theme-color: #8A64FF;
  /* Primary Lavender Purple */
  --tertiary-theme-color: #F7A700;
  /* Primary Yellow */
  --primary-darker-color: #3900BC;
  /* Darker Blue */
  --secondary-darker-color: #260099;
  /* Darker Purple */
  --tertiary-darker-color: #DB7500;
  /* Darker Yellow - orange */
  --title-font-color: #000000;
  /* Copy Black */
  --title-grey-color: #373536;
  /* Copy Neutral Grey */
  --bg-blue-color: #EEF5FD;
  --bg-grey-color: #F6F6F5;
  --bg-purple-color: #F0EEF8;
  --bg-yellow-color: #FFFAEF;
  --footer-color: #FFFFFF;
  --footer-bg: #1B1A1B;
  /* shade of #373536 color for more contrast*/
  --footer-bloc-title-color: #FFF;
  --footer-bloc-border-color: rgba(255, 255, 255, 0);
  /* Custom Menu */
  --main-menu-active-bg: transparent;
  --main-menu-active-color: #373536;
  --main-menu-font-size: clamp(1.0625rem, 1rem + 0.5vw, 1.125rem);
  --main-menu-sub-font-size: clamp(1rem, 0.95rem + 0.3vw, 1.0625rem);
  /* Custom topbar > remove LMD? */
  --topbar-link-color: #4700F0;
  --topbar-bg: #EFF2F4;
  --topbar-border: #d6d6d6;
  --topbar-book-color: #FFF;
  --topbar-book-bg: #F7A700;
  --topbar-fik-color: #FFF;
  --topbar-fik-bg: #165895;
  --language-switcher-bg-color: #FFF;
  /* Custom Accordeons */
  --accordion-background: transparent !important;
  --accordion--border: 0;
  /* Custom Floating CTA */
  --floating-cta-backgroud: #033887;
  --floating-cta-color: #FFF;
  --floating-cta-font: 'Greycliff';
  /* Custom CTAs style 1, 2 et 3 */
  --cta-style-1-bg: #F0EEF8;
  --cta-style-1-color: #260099;
  --cta-style-1-border: 1px solid #8A64FF;
  --cta-style-1-border-radius: 50px;
  --cta-hover-style-1-bg: #260099;
  --cta-hover-style-1-color: #FFF;
  --cta-hover-style-1-border: 1px solid #260099;
  --cta-hover-style-1-border-radius: 50px;
  /* version Book only */
  --cta-style-2-bg: #4700F0;
  --cta-style-2-color: #FFF;
  --cta-style-2-border: 1px solid #4700F0;
  --cta-style-2-border-radius: 50px;
  --cta-hover-style-2-bg: #000;
  --cta-hover-style-2-color: #FFF;
  --cta-hover-style-2-border: 1px solid #000;
  --cta-hover-style-2-border-radius: 50px;
  --cta-style-3-bg: transparent;
  --cta-style-3-color: #373536;
  --cta-style-3-border: 1px solid #8A8A8A;
  --cta-style-3-border-radius: 50px;
  --cta-hover-style-3-bg: #373536;
  --cta-hover-style-3-color: #FFF;
  --cta-hover-style-3-border: 1px solid #373536;
  --cta-hover-style-3-border-radius: 50px;
  /* Custom View Doctors */
  --view-staff-card-height: auto;
  --view-staff-image-height: 177px;
}

/* Ajustement Desktop/Tablette */
@media (min-width: 768px) {
  :root {
    --text-h1-size: 3rem;
    --text-h1-line: 3.35rem;
    --text-h2-size: 2.1875rem;
    --text-h2-line: 2.75rem;
    --text-h4-size: 1.125rem;
    --text-h4-line: 1.75rem;
    --text-h5-size: 1.125rem;
    --text-h5-line: 1.75rem;
    --text-cta-size: 1.25rem;
    --text-cta-line: 2.25rem;
    --text-small-size: 0.875rem;
    /* 14px */
    --text-small-line: 1.3rem;
  }
}

sub,
sup {
  position: relative;
  font-size: 0.5em;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -.6em;
  font-family: var(--secondary-font) !important;
  color: inherit;
  font-weight: inherit;
}

.hide-desktop {
  display: none;
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none;
  }
}

hr {
  border: none;
  height: 1px;
  background-color: var(--link-color);
  margin: 1rem 0;
}

/*------------ Ajustement des fonts ------------*/
body {
  font-family: var(--secondary-font) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line) !important;
}

h1,
.h1 {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h1-size) !important;
  line-height: var(--text-h1-line) !important;
  font-weight: var(--text-h1-weight) !important;
  color: var(--title-font-color) !important;
}

/* h1 special promo page, do not edit - create new css class if needed */
h1.title-promo-page {
  font-family: var(--secondary-font) !important;
  font-size: 0.7rem !important;
  line-height: var(--text-body-line) !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.12rem;
  margin: 0;
}

h2,
.h2 {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h2-size) !important;
  line-height: var(--text-h2-line) !important;
  font-weight: var(--text-h2-weight) !important;
  color: var(--title-grey-color) !important;
}

h3,
.h3 {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h3-size) !important;
  line-height: var(--text-h3-line) !important;
  font-weight: var(--text-h3-weight) !important;
  color: var(--title-grey-color) !important;
}

h4,
.h4 {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h4-size) !important;
  line-height: var(--text-h4-line) !important;
  font-weight: var(--text-h4-weight) !important;
  color: var(--title-grey-color) !important;
}

h5,
.h5 {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h4-size) !important;
  line-height: var(--text-h4-line) !important;
  font-weight: var(--text-h4-weight) !important;
  color: var(--title-grey-color) !important;
}

small,
.small {
  font-size: var(--text-small-size) !important;
  line-height: var(--text-small-line) !important;
  color: var(--title-grey-color) !important;
}

p.legal,
ul.legal {
  line-height: var(--legal-line-height) !important;
}

ul.legal li {
  font-size: var(--legal-font-size) !important;
}

/* Design of anchor text link*/
a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  text-decoration: underline !important;
}

p a,
p a.link,
li a,
li a.link {
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-color: var(--link-color);
  color: inherit !important;
  text-underline-offset: 6px;
}

p a:hover,
p a.link:hover,
li a:hover,
li a.link:hover {
  color: var(--primary-darker-color) !important;
  cursor: pointer;
}

a.link-yellow {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color);
  color: var(--title-font-color);
}

a.link-grey {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--link-color);
  color: var(--title-font-color);
}

a.link-yellow:hover,
a.link-grey:hover {
  color: var(--primary-darker-color) !important;
  text-decoration: none;
}

h1 a {
  color: var(--title-font-color) !important;
}

h2 a,
h3 a,
h4 a,
h5 a {
  color: var(--title-grey-color) !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 7px;
  text-decoration-color: var(--link-color);
}

h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover {
  color: var(--primary-darker-color) !important;
}

.underline-yellow {
  position: relative;
  margin: 0;
  padding: 0 0 7px 0;
}

.underline-yellow::after {
  content: '';
  width: 90px;
  height: 4px;
  background-color: var(--tertiary-theme-color);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 1;
}

.underline-yellow-center {
  position: relative;
  margin: 0;
  padding: 0 0 7px 0;
}

.underline-yellow-center::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 180px;
  height: 4px;
  background-color: var(--tertiary-theme-color);
  z-index: 1;
}

.underline-purple {
  position: relative;
  margin: 0;
  padding: 0 0 6px 0;
}

.underline-purple::after {
  content: '';
  width: 75px;
  height: 2px;
  background-color: var(--secondary-theme-color);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 1;
}

.underline-purple-center {
  position: relative;
  margin: 0;
  padding: 0 0 7px 0;
}

.underline-purple-center::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 180px;
  height: 4px;
  background-color: var(--secondary-theme-color);
  z-index: 1;
}


/* version Promotions page, can be declined for differents campaign*/
.underline-white {
  position: relative;
  margin: 0;
  padding: 0 0 7px 0;
}

.underline-white::after {
  content: '';
  width: 120px;
  height: 1px;
  background-color: rgb(255, 255, 255, 0.6);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  z-index: 1;
}


blockquote {
  border-left: 2px solid var(--border-color);
  margin: 0;
  padding: 0.5rem 1.5rem .5rem 1.5rem;
  width: 90%;
}

blockquote p {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-style: italic !important;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  blockquote {
    width: 100%;
  }
}

thead tr,
thead tr:hover {
  background-color: var(--bg-blue-color) !important;
}

thead tr p,
thead tr:hover p {
  color: var(--title-grey-color) !important;
}

/*------------ Creating CSS classes for colors ------------*/
.blue {
  color: #4700F0 !important;
  /* Primary Deep Blue */
}

.purple {
  color: #8A64FF !important;
  /* Primary Lavender Purple */
}

.yellow {
  color: #F7A700 !important;
  /* Primary Yellow */
}

.grey {
  color: #373536 !important;
  /* Copy Neutral Grey */
}

.black {
  color: #000000 !important;
  /* Copy Black */
}

.darkblue {
  color: #3900BC !important;
  /* Darker Purple */
}

.darkpurple {
  color: #260099 !important;
  /* Primary Lavender Purple */
}

.darkyellow {
  color: #DB7500 !important;
  /* Darker Yellow - orange */
}

.white {
  color: white !important;
}

.bordergrey {
  color: #DEDEDE;
  !important
}

/* Gradient BG */
.bg-gradient-white-blue {
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-blue-color) 100%);
}

.bg-gradient-white-purple {
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-purple-color) 100%);
}

.bg-gradient-white-yellow {
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-yellow-color) 100%);
}

.bg-gradient-white-grey {
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-grey-color) 100%);
}

.bg-gradient-transparent-blue {
  background: linear-gradient(to bottom, transparent 0%, var(--bg-blue-color) 100%);
  /* for accordion*/
}

.bg-gradient-transparent-purple {
  background: linear-gradient(to bottom, transparent 0%, var(--bg-purple-color) 100%);
  /* for accordion*/
}

.bg-gradient-purple-blue {
  background: linear-gradient(to bottom, var(--bg-purple-color) 0%, var(--bg-blue-color) 100%);
}

.bg-gradient-purple-darkpurple {
  background: linear-gradient(to bottom, var(--bg-purple-color) 0%, var(--secondary-darker-color) 100%);
}

.bg-gradient-darkpurple-darkblue {
  background: linear-gradient(to bottom, var(--secondary-darker-color) 0%, var(--primary-darker-color) 100%);
}

.bg-gradient-yellow-white {
  background: linear-gradient(to bottom, var(--bg-yellow-color) 0%, #FFF 100%);
}

.bg-gradient-blue-white {
  background: linear-gradient(to bottom, var(--bg-blue-color) 0%, #FFF 100%);
}

.bg-gradient-purple-white {
  background: linear-gradient(180deg, var(--bg-purple-color) 0%, #FFF 100%);
}

.bg-gradient-grey-white {
  background: linear-gradient(180deg, var(--bg-grey-color) 0%, #FFF 100%);
}

.bg-gradient-blue-purple-white {
  background: linear-gradient(180deg, var(--bg-blue-color) 0%, var(--bg-purple-color) 60%, #FFF 100%);
}

.bg-gradient-white-blue-purple-2 {
  background: linear-gradient(to bottom, #FFF 0%, var(--bg-blue-color) 60%, var(--bg-purple-color) 100%);
}


/* Diagonal BG -used for cards*/
.bg-diagonal-gradient-blue-white {
  background: linear-gradient(135deg, #E2EEFC 0%, var(--bg-blue-color) 45%, #FFF 100%);
}

.bg-diagonal-gradient-purple-white {
  background: linear-gradient(135deg, #EAE5FB 0%, var(--bg-purple-color) 45%, #FFF 100%);
}

.bg-diagonal-gradient-yellow-white {
  background: linear-gradient(135deg, #FBF1DD 0%, var(--bg-yellow-color) 45%, #FFF 100%);
}

.bg-diagonal-gradient-grey-white {
  background: linear-gradient(135deg, #DEDEDE 0%, var(--bg-grey-color) 45%, #FFF 100%);
}

.bg-gradient-blue-purple-transparent {
  background: linear-gradient(135deg, var(--bg-blue-color) 0%, var(--bg-purple-color) 70%, transparent 100%);
}

.bg-gradient-white-blue-purple {
  background: linear-gradient(135deg, white 0%, var(--bg-blue-color) 50%, var(--bg-purple-color) 100%);
}

.bg-gradient-darkpurple-blue-purple {
  background: linear-gradient(135deg, var(--secondary-darker-color) 0%, var(--primary-theme-color) 70%, var(--secondary-theme-color) 100%);
}

.bg-blue-color {
  background-color: var(--bg-blue-color);
}

.bg-purple-color {
  background-color: var(--bg-purple-color);
}

.bg-yellow-color {
  background-color: var(--bg-yellow-color);
}

.bg-grey-color {
  background-color: var(--bg-grey-color);
}

/* Gradient LPs */
.bg-white-purple-darkblue {
  background: linear-gradient(180deg, #FFFFFF, #d4bffa, var(--primary-darker-color));
}

.bg-gradient-purple-darkblue {
  background: linear-gradient(180deg, var(--secondary-theme-color) 0%, var(--primary-darker-color) 100%);
}

.bg-gradient-yellow-darkyellow {
  background: linear-gradient(to bottom, var(--bg-yellow-color) 0%, #ffe1b0 100%);
}

.bg-gradient-white-pink {
  background: linear-gradient(180deg, #FFFFFF, #feeaea);
}


/*------------ CTA design adjustment ------------*/
/* all CTAs same design */
a.paragraph.paragraph-cta.style-1,
.paragraph.paragraph-cta.style-1,
a.paragraph.paragraph-cta.style-2,
.paragraph.paragraph-cta.style-2,
a.paragraph.paragraph-cta.style-3,
.paragraph.paragraph-cta.style-3,
a.book.nav-link,
a.fik.nav-link {
  text-align: center !important;
  text-decoration: none;
  width: max-content !important;
  /* Ajustement optique */
  padding: 1rem 2rem 1.1rem !important;
  font-size: 1.125rem !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0.45px !important;
  line-height: 1.3 !important;
  box-sizing: border-box;
  cursor: pointer;
  margin: inherit;
  /* remove margin 2px 5px*/
}

a.paragraph.paragraph-cta.style-2,
.paragraph.paragraph-cta.style-2,
a.book.nav-link {
  color: var(--cta-style-2-color) !important;
}

/* edit search module */
input#edit-submit {
  background: var(--secondary-darker-color) !important;
  border-radius: 20px !important;
  color: white !important;
  font-size: 1.125rem !important;
  line-height: 1.1 !important;
  font-family: var(--primary-font) !important;
}

#edit-basic {
  background-color: white !important;
  margin: 0px 0 1.5rem !important;
  padding: 2rem 1rem !important;
}

#search-form .form-item__label {
  font-size: 1.5rem !important;
  margin: 0 0 1rem !important;
  text-transform: inherit !important;
  font-family: var(--primary-font) !important;
}

form#search-form+h2 {
  padding-bottom: 0px !important;
  display: none !important;
}

h3.search-result__title a {
  color: var(--primary-theme-color) !important;
  font-weight: 600 !important;
  text-transform: inherit !important;
  color: var(--secondary-darker-color) !important;
}

.pager ul.pagination>li a:hover,
.pager ul.pagination>li.active a {
  background: var(--bg-yellow-color) !important;
  border-color: var(--tertiary-theme-color) !important;
}

/* Shared utility link icons — class on menu link in Drupal */
a.free-strater-kit::before,
a.phone::before,
a.find-your-clinic::before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  color: var(--tertiary-darker-color);
}

a.search-menu::before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  content: "\f002";
  color: var(--link-color);
}

a.free-strater-kit::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  background-color: var(--tertiary-darker-color);
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20640%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M320%20205.3L320%20514.6L320.5%20514.4C375.1%20491.7%20433.7%20480%20492.8%20480L512%20480L512%20160L492.8%20160C450.6%20160%20408.7%20168.4%20369.7%20184.6C352.9%20191.6%20336.3%20198.5%20320%20205.3zM294.9%20125.5L320%20136L345.1%20125.5C391.9%20106%20442.1%2096%20492.8%2096L528%2096C554.5%2096%20576%20117.5%20576%20144L576%20496C576%20522.5%20554.5%20544%20528%20544L492.8%20544C442.1%20544%20391.9%20554%20345.1%20573.5L332.3%20578.8C324.4%20582.1%20315.6%20582.1%20307.7%20578.8L294.9%20573.5C248.1%20554%20197.9%20544%20147.2%20544L112%20544C85.5%20544%2064%20522.5%2064%20496L64%20144C64%20117.5%2085.5%2096%20112%2096L147.2%2096C197.9%2096%20248.1%20106%20294.9%20125.5zM373.3%20218.5C397.7%20206.3%20424.6%20200%20451.8%20200L456%20200C469.3%20200%20480%20210.7%20480%20224C480%20237.3%20469.3%20248%20456%20248L451.8%20248C432%20248%20412.5%20252.6%20394.8%20261.5C382.9%20267.4%20368.5%20262.6%20362.6%20250.8C356.7%20239%20361.5%20224.5%20373.3%20218.6zM373.3%20314.5C397.7%20302.3%20424.6%20296%20451.8%20296L456%20296C469.3%20296%20480%20306.7%20480%20320C480%20333.3%20469.3%20344%20456%20344L451.8%20344C432%20344%20412.5%20348.6%20394.8%20357.5C382.9%20363.4%20368.5%20358.6%20362.6%20346.8C356.7%20335%20361.5%20320.5%20373.3%20314.6zM373.3%20410.5C397.7%20398.3%20424.6%20392%20451.8%20392L456%20392C469.3%20392%20480%20402.7%20480%20416C480%20429.3%20469.3%20440%20456%20440L451.8%20440C432%20440%20412.5%20444.6%20394.8%20453.5C382.9%20459.4%20368.5%20454.6%20362.6%20442.8C356.7%20431%20361.5%20416.5%20373.3%20410.6zM152%20200C138.7%20200%20128%20210.7%20128%20224C128%20237.3%20138.7%20248%20152%20248L172.2%20248C192%20248%20211.5%20252.6%20229.2%20261.5C241.1%20267.4%20255.5%20262.6%20261.4%20250.8C267.3%20239%20262.5%20224.5%20250.7%20218.6C226.3%20206.4%20199.4%20200.1%20172.2%20200.1L152%20200zM152%20296C138.7%20296%20128%20306.7%20128%20320C128%20333.3%20138.7%20344%20152%20344L172.2%20344C192%20344%20211.5%20348.6%20229.2%20357.5C241.1%20363.4%20255.5%20358.6%20261.4%20346.8C267.3%20335%20262.5%20320.5%20250.7%20314.6C226.3%20302.4%20199.4%20296.1%20172.2%20296.1L152%20296zM152%20392C138.7%20392%20128%20402.7%20128%20416C128%20429.3%20138.7%20440%20152%20440L172.2%20440C192%20440%20211.5%20444.6%20229.2%20453.5C241.1%20459.4%20255.5%20454.6%20261.4%20442.8C267.3%20431%20262.5%20416.5%20250.7%20410.6C226.3%20398.4%20199.4%20392.1%20172.2%20392.1L152%20392z%22%2F%3E%3C%2Fsvg%3E") center / 125% no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20640%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M320%20205.3L320%20514.6L320.5%20514.4C375.1%20491.7%20433.7%20480%20492.8%20480L512%20480L512%20160L492.8%20160C450.6%20160%20408.7%20168.4%20369.7%20184.6C352.9%20191.6%20336.3%20198.5%20320%20205.3zM294.9%20125.5L320%20136L345.1%20125.5C391.9%20106%20442.1%2096%20492.8%2096L528%2096C554.5%2096%20576%20117.5%20576%20144L576%20496C576%20522.5%20554.5%20544%20528%20544L492.8%20544C442.1%20544%20391.9%20554%20345.1%20573.5L332.3%20578.8C324.4%20582.1%20315.6%20582.1%20307.7%20578.8L294.9%20573.5C248.1%20554%20197.9%20544%20147.2%20544L112%20544C85.5%20544%2064%20522.5%2064%20496L64%20144C64%20117.5%2085.5%2096%20112%2096L147.2%2096C197.9%2096%20248.1%20106%20294.9%20125.5zM373.3%20218.5C397.7%20206.3%20424.6%20200%20451.8%20200L456%20200C469.3%20200%20480%20210.7%20480%20224C480%20237.3%20469.3%20248%20456%20248L451.8%20248C432%20248%20412.5%20252.6%20394.8%20261.5C382.9%20267.4%20368.5%20262.6%20362.6%20250.8C356.7%20239%20361.5%20224.5%20373.3%20218.6zM373.3%20314.5C397.7%20302.3%20424.6%20296%20451.8%20296L456%20296C469.3%20296%20480%20306.7%20480%20320C480%20333.3%20469.3%20344%20456%20344L451.8%20344C432%20344%20412.5%20348.6%20394.8%20357.5C382.9%20363.4%20368.5%20358.6%20362.6%20346.8C356.7%20335%20361.5%20320.5%20373.3%20314.6zM373.3%20410.5C397.7%20398.3%20424.6%20392%20451.8%20392L456%20392C469.3%20392%20480%20402.7%20480%20416C480%20429.3%20469.3%20440%20456%20440L451.8%20440C432%20440%20412.5%20444.6%20394.8%20453.5C382.9%20459.4%20368.5%20454.6%20362.6%20442.8C356.7%20431%20361.5%20416.5%20373.3%20410.6zM152%20200C138.7%20200%20128%20210.7%20128%20224C128%20237.3%20138.7%20248%20152%20248L172.2%20248C192%20248%20211.5%20252.6%20229.2%20261.5C241.1%20267.4%20255.5%20262.6%20261.4%20250.8C267.3%20239%20262.5%20224.5%20250.7%20218.6C226.3%20206.4%20199.4%20200.1%20172.2%20200.1L152%20200zM152%20296C138.7%20296%20128%20306.7%20128%20320C128%20333.3%20138.7%20344%20152%20344L172.2%20344C192%20344%20211.5%20348.6%20229.2%20357.5C241.1%20363.4%20255.5%20358.6%20261.4%20346.8C267.3%20335%20262.5%20320.5%20250.7%20314.6C226.3%20302.4%20199.4%20296.1%20172.2%20296.1L152%20296zM152%20392C138.7%20392%20128%20402.7%20128%20416C128%20429.3%20138.7%20440%20152%20440L172.2%20440C192%20440%20211.5%20444.6%20229.2%20453.5C241.1%20459.4%20255.5%20454.6%20261.4%20442.8C267.3%20431%20262.5%20416.5%20250.7%20410.6C226.3%20398.4%20199.4%20392.1%20172.2%20392.1L152%20392z%22%2F%3E%3C%2Fsvg%3E") center / 125% no-repeat;
}

a.phone::before {
  content: "\f095";
}

a.find-your-clinic::before {
  content: "\f3c5";
}

/* mobile */
@media (max-width: 768px) {

  a.paragraph.paragraph-cta.style-1,
  a.paragraph.paragraph-cta.style-2,
  a.paragraph.paragraph-cta.style-3,
  a.book.nav-link,
  a.fik.nav-link {
    padding: 1rem 1.35rem 1.1rem !important;
  }
}

.space-top-cta {
  /* add to previous div to add extra top space*/
  padding-top: 1.2rem !important;
}

.border-white {
  /* add border white for darker BG*/
  border: 1 px solid white !important;
}

.top-content {
  z-index: 1 !important;
  position: relative !important;
}

.adjust-height {
  height: fit-content !important;
}

/*--------- Promotions Page - countdown -------*/
.paragraph-countdown {
  margin: 1.5rem auto 2rem;
  max-width: 500px;
}

.paragraph-countdown .box {
  box-shadow: none !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  background: white !important;
  padding: 20px 0 10px 0 !important;
  justify-content: space-around;
  height: 100px !important;
}

.paragraph-countdown .box span.num {
  font-family: var(--primary-font) !important;
  font-size: 2.5rem !important;
  font-weight: var(--font-weight-bold) !important;
  color: var(--secondary-darker-color) !important;
}

.paragraph-countdown .box span.text {
  font-family: var(--secondary-font);
  font-size: 0.875rem !important;
  /* 14px */
}

/* Design Black Friday #100042 shades of darkerpurple*/
.bg-gradient-black-darkpurple {
  background: linear-gradient(to bottom, black 0%, #100042 100%);
}

/* ajustement row du paragraphe */
@media screen and (max-width: 600px) {
  .d-flex .paragraph .paragraph:not(.paragraph-cta) .paragraph-countdown {
    flex-direction: row !important;
  }
}

/* ajustement design mobile */
@media (max-width: 768px) {
  .paragraph-countdown {
    margin: 1rem auto 1.25rem !important;
  }

  .paragraph-countdown .box {
    padding: 19px 0 7px 0 !important;
    height: 80px !important;
  }

  .paragraph-countdown .box span.text {
    font-size: 0.75rem !important;
    /* 12px */
    letter-spacing: 0.02em;
  }
}

/* Banner defilement */
.lmd-announcement-bar {
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 50px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
}

.lmd-announcement-track {
  display: flex;
  width: max-content;
  animation: lmd-announcement-scroll 16s linear infinite;
  will-change: transform;
}

.lmd-announcement-content {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 1rem;
  padding: 0 1.5rem;
  font-family: var(--primary-font);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  color: var(--title-grey-color);
  transform: translateY(-1px);
}

.lmd-announcement-separator {
  color: var(--title-grey-color);
  opacity: 0.85;
  text-decoration: none;
}

.lmd-announcement-content:hover,
.lmd-announcement-content:focus {
  color: var(--primary-theme-color);
}

@keyframes lmd-announcement-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-33.333%);
  }
}

@media (min-width: 768px) {
  .lmd-announcement-bar {
    min-height: 60px;
  }

  .lmd-announcement-content {
    gap: 1.5rem;
    font-size: 1.125rem;
    transform: translateY(-2px);
  }
}

/* N'applique cet effet que sur les appareils où le hover existe */
@media (hover: hover) {
  .lmd-announcement-track:hover {
    animation-play-state: paused;
  }
}


/*--------- end Promo Page -------*/

/* affichage video style Stories */
.videoplayer--video-stories iframe.videoplayer--video {
  aspect-ratio: 9/16 !important;
}

/* class css for center the CTA when content on right side - case styleguide */
.paragraph-columns.center-vertical {
  text-align: center;
}

.paragraph-columns.center-vertical>a.paragraph-cta,
.paragraph-columns.center-vertical>.paragraph-body-html {
  float: none !important;
  display: inline-block;
  vertical-align: middle;
  margin: 0 12px;
}

@media (max-width:768px) {
  .paragraph-columns.center-vertical {
    text-align: left;
  }
}

/* class css for center the CTA when content on right side - CLINIC page */
.cta-rating-group-clinic {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: nowrap;
}

.cta-rating-group-cta,
.cta-rating-group-rating,
.cta-clinic-logos {
  display: flex;
  align-items: center;
}

.cta-rating-group-cta a.paragraph.paragraph-cta {
  float: none !important;
  margin: 0 !important;
}

.cta-rating-group-rating .amplify-widget {
  display: block;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .cta-rating-group-clinic {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
  }

  .cta-rating-group-rating .amplify-widget .guJXit {
    margin: 0 !important;
  }
}

/* class css for bloc with rating and copy on HOMEPAGE*/
.rating-highlight {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 0 1rem 0 0;
  border: 1px solid #dedede;
  border-radius: 20px;
  background: var(--bg-grey-color);
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.rating-highlight-widget,
.rating-highlight-widget-fr {
  flex: 0 0 210px;
  width: 210px;
  min-width: 210px;
}

.rating-highlight-widget .amplify-widget,
.rating-highlight-widget-fr .amplify-widget {
  width: 100%;
}

.rating-highlight-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
}

.rating-highlight-content h4 {
  margin: 0;
  text-align: left !important;
}

/* Mobile */
@media (max-width: 767px) {
  .rating-highlight {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0rem;
    width: 100%;
  }

  .rating-highlight-widget {
    flex: 0 0 220px;
    width: 220px;
    min-width: 220px;
  }

  .rating-highlight-widget-fr {
    flex: 0;
    width: 200px;
    min-width: 206px;
  }

  .rating-highlight-content {
    flex: 1 1 auto;
    width: auto;
    padding: 0;
  }

  .rating-highlight-content h4 {
    font-size: 1rem !important;
    line-height: 1.3rem !important;
  }

  .rating-highlight-widget-fr .rating-highlight-content h4 {
    font-size: 0.8rem !important;
    line-height: 1.1rem !important;
  }
}

/*  Homepage - bloc info icon+copy 
.trust-links {
  width: 100%;
  padding: 2% 0;
}
.trust-link {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100%;
  padding: 2% 0;
}
.trust-link__icon {
  flex: 0 0 3.25rem;
  padding-top: 0.8rem;
  padding-left: 0.5rem;
  color: var(--secondary-theme-color);
  font-size: 1.5rem;
  line-height: 1;
}
.trust-link__title {
  flex: 1;
  margin: 0;
  max-width: 19rem;
  color:var(--secondary-darker-color) !important;
}
.trust-link__title a {
  color: inherit !important;
  text-decoration: none;
}
.trust-link__arrow {
  font-size: 1rem;
  padding-left: 0.5rem;
}
/* même rendu desktop et mobile 
@media (max-width: 767px) {
  .trust-link {
    gap: 1.5rem;
  }
  .trust-link__title {
    max-width: 16rem;
  }
} why choose LMD  */
/* --------- CLINIC PAGE - header commun --------- */
.block-clinic-header {
  width: 100%;
}

.clinic-header__info {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.clinic-header__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding-top: 0.2rem;
}

.clinic-header__item p {
  margin-bottom: 0;
}

.clinic-header__icon {
  flex: 0 0 auto;
  font-size: 1rem;
  line-height: 1;
  padding-top: 0.15rem;
}

.clinic-header__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.clinic-header__content p {
  margin-bottom: 0;
}

.clinic-header__text {
  margin: 0;
}

.clinic-header__link {
  margin-top: 0.3rem;
  width: fit-content;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 8px;
  text-decoration-color: var(--link-color);
  color: var(--title-font-color);
  margin-bottom: 0 !important;
}

.clinic-header__phone {
  text-decoration: none;
  color: var(--title-grey-color);
}

a.clinic-header__phone:hover {
  color: var(--primary-darker-color);
}

/* Mobile adjustment */
@media (max-width: 768px) {
  .clinic-header__info {
    gap: 0.6rem;
    margin-bottom: 1.2rem;
  }

  .clinic-header__item {
    gap: 0.65rem;
  }
}

.paragraph--type--clinic-surgeons .paragraph {
  margin: 0 !important;
}

.paragraph--type--clinic-surgeons .paragraph .container {
  --bs-gutter-x: 0;
}

/* --------- bloc - offer by clinic --------- */
.promo-line {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  padding-bottom: 0.3rem;
}

.promo-line__icon {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  color: var(--secondary-theme-color);
}

.promo-line__title {
  margin: 0.5rem 0;
  line-height: 1.2 !important;
}

.promo-line>p {
  display: contents;
}

/* cache le p genere par drupal automatiquement */
/* mobile */
@media (max-width:768px) {
  .promo-line {
    display: inline;
  }
}

/* --------- BLOG - mis a jour design --------- */
.container.blog-title {
  background: white !important;
  /*background: linear-gradient(to bottom,var(--bg-blue-color) 0%,#FFF 100%) !important;*/
  padding: 1.8rem 1rem 0.5rem !important;
}

.region.region-sidebar-first {
  background: linear-gradient(180deg, var(--bg-purple-color) 0%, #FFF 100%) !important;
  width: auto;
  padding: 2rem 2rem !important;
  margin-bottom: 2rem;
  border-radius: 20px;
}

.region.region-sidebar-first h2 {
  color: var(--secondary-darker-color) !important;
}

.view-categories ul li {
  padding: 0rem 0 0.4rem 30px;
  position: relative;
  color: var(--secondary-darker-color) !important;
}

.view-categories ul li::before {
  content: "\f0da";
  font: var(--fa-font-solid);
  position: absolute;
  font-size: 1rem;
  color: var(--secondary-darker-color);
  left: 0;
  top: .35rem;
}

.view-categories .field-content a {
  display: inline-block;
  transition: transform 0.2s ease, color 0.2s ease;
}

.view-categories li:hover .field-content a,
.view-categories .field-content a:focus {
  transform: translateX(6px);
}

h1.ui-blogpost--title {
  font-size: var(--text-h2-size) !important;
  line-height: var(--text-h2-line) !important;
  font-weight: var(--text-h2-weight) !important;
  padding-top: 2rem;
}

.ui-blogpost--text.c-text h2 {
  font-size: var(--text-h3-size) !important;
  line-height: var(--text-h3-line) !important;
  font-weight: var(--text-h3-weight) !important;
}

.ui-blogpost--metas {
  padding-top: 1.3rem !important;
  color: var(--link-color) !important;
  font-size: 1rem;
}

.ui-blogpost--metas a {
  color: var(--link-color) !important;
  padding: 0 0.5rem;
  font-size: 1rem;
  text-decoration: underline !important;
  text-decoration-color: var(--link-color);
  text-decoration-line: underline;
  text-decoration-color: var(--link-color);
  color: inherit !important;
  text-underline-offset: 7px;
}

.ui-blogpost--metas a:hover {
  color: var(--primary-darker-color) !important;
}

.ui-blogpost--text.c-text p {
  padding: 0 !important;
}

.ui-blogpost--text.c-text h2,
.ui-blogpost--text.c-text h3,
.ui-blogpost--text.c-text h4,
.ui-blogpost--text.c-text h5 {
  padding-top: 1.5rem !important;
}

.ui-blogpost--title {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h3-size) !important;
  font-weight: var(--text-h3-weight) !important;
  letter-spacing: 0 !important;
  line-height: var(--text-h3-line) !important;
  padding: 15px 0;
  color: var(--title-grey-color) !important;
}

.ui-blogpost--content a.ui-cta--simple {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color) !important;
  color: var(--title-grey-color) !important;
  transform: translateY(-50%);
  transition: all .3s;
  -webkit-font-smoothing: antialiased;
}

.ui-blogpost--content a.ui-cta--simple:hover {
  text-decoration: none;
  color: var(--primary-darker-color) !important;
}

.ui-blogpost--content a.ui-cta--simple i {
  display: none;
}

.view-blog--first-item .ui-blogpost--content {
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 2.5rem !important;
}

.ui-blogpost--img-container+.ui-blogpost--wrapper {
  margin: 0 !important;
}

.ui-blogpost--img-container {
  border-radius: 20px;
}

.view-blog--first-item .ui-blogpost--img-container {
  border-radius: 20px;
}

.ui-blogpost--header img {
  border-radius: 20px;
}

/* mobile */
@media (max-width:768px) {
  .view-blog--first-item .ui-blogpost--img-container {
    padding: 0;
    margin: 0 1rem;
    width: auto;
  }

  .ui-blogpost--header {
    margin: 0 1rem;
  }

  .container.blog-title {
    padding: 1.5% 1rem 0 !important;
    margin-bottom: 1.5rem;
  }

  .ui-blogpost--wrapper .ui-blogpost--metas {
    padding: 0 !important;
  }

  .ui-blogpost--metas {
    padding: 0 0 0 1rem;
    font-size: 1rem !important;
  }

  .ui-blogpost--metas span.blog-cat {
    display: block;
    padding-bottom: 1rem;
  }

  span.blog-cat>a:first-of-type {
    padding-left: 0 !important;
  }

  h1.ui-blogpost--title {
    padding: 0 1rem;
  }

  .region.region-sidebar-first {
    padding: 1.5rem 1rem !important;
    width: auto;
    margin: 0 1rem 1rem;
  }

  .ui-blogpost--text.c-text p {
    padding: 0 !important;
  }

  .view-categories ul li::before {
    top: .2rem !important;
  }

  .ui-blogpost--img-container {
    margin-bottom: 25px;
  }

  .view-blog--grid-item {
    padding-bottom: 25px;
  }
}

/* Last blogs block */
.block-views-blocklast-blogs-block {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  max-width: 1355px;
  padding: 2.5rem 1rem;
  width: 100%;
}

@media screen and (max-width: 600px) {
  .block-views-blocklast-blogs-block {
    padding: 0 1.5rem;
  }
}

@media screen and (min-width: 601px) and (max-width: 900px) {
  .block-views-blocklast-blogs-block {
    padding: 0 3rem;
  }
}

.d-flex>.col:has(.block-views-blocklast-blogs-block) {
  align-self: flex-start;
}

.view-id-last_blogs.view-display-id-block .views-view-grid {
  display: contents;
}

.view-id-last_blogs.view-display-id-block .view-content {
  align-items: stretch;
  column-gap: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1rem;
}

.view-id-last_blogs.view-display-id-block .views-row {
  height: 100%;
  min-width: 0;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--card {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--img {
  background: var(--bg-grey-color);
  flex-shrink: 0;
  height: auto;
  margin: 0;
  min-height: 150px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--img a {
  display: block;
  height: 100%;
  overflow: hidden;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--img img {
  display: block;
  height: 100%;
  min-height: 165px;
  object-fit: cover;
  transition: opacity 0.8s ease, transform 0.8s ease;
  width: 100%;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--img a:hover img,
.view-id-last_blogs.view-display-id-block .view-last-blogs--img a:focus img {
  opacity: 0.8;
  transform: scale(1.15);
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 10rem;
  padding: 1.5rem 1rem 2rem;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  padding: 0;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--tags a {
  align-items: center;
  background: var(--bg-blue-color);
  border-radius: 20px;
  color: var(--title-grey-color) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--secondary-font);
  font-size: 0.8rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0.25px !important;
  line-height: 1;
  min-height: 0;
  padding: 0.6rem 1rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--tags a:hover,
.view-id-last_blogs.view-display-id-block .view-last-blogs--tags a:focus {
  background: var(--title-grey-color);
  color: #fff !important;
  text-decoration: none !important;
}

.view-id-last_blogs.view-display-id-block h3.ui-blogpost--title {
  font-size: var(--text-h3-size) !important;
  font-weight: var(--text-h3-weight) !important;
  line-height: var(--text-h3-line) !important;
  margin: 0;
  padding: 0;
}

.view-id-last_blogs.view-display-id-block h3.ui-blogpost--title a {
  color: var(--title-grey-color) !important;
  text-decoration: none;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--meta {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.75rem;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--link {
  flex: 0 1 auto;
  margin: 0;
  padding: 0;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--link a {
  color: var(--title-font-color);
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  padding-right: 0;
  position: relative;
  text-decoration: underline;
  text-decoration-color: var(--tertiary-theme-color);
  text-decoration-line: underline;
  text-underline-offset: 10px;
}

.view-id-last_blogs.view-display-id-block .view-last-blogs--link a:hover,
.view-id-last_blogs.view-display-id-block .view-last-blogs--link a:focus {
  color: var(--primary-darker-color) !important;
  text-decoration: none;
}

.view-id-last_blogs.view-display-id-block p.view-last-blogs--date {
  color: var(--link-color) !important;
  flex: 0 0 auto;
  font-size: 0.85rem;
  margin: 0;
  padding: 0;
  text-align: right;
  white-space: nowrap;
}

.view-id-last_blogs.view-display-id-block .view-footer {
  grid-column: 1 / -1;
  margin-top: 1.5rem;
}

@media (min-width: 901px) {
  .view-id-last_blogs.view-display-id-block .view-content {
    align-items: stretch;
    grid-template-columns: repeat(3, 1fr);
  }

  .view-id-last_blogs.view-display-id-block .view-last-blogs--body {
    padding: 2rem;
  }
}

/* --------- Footer Design adjustment --------- */

.region.region-footer-fourth {
  display: flex;
  flex-direction: column;
}

nav#block-vg-subtheme-contactinfo li:first-child {

  border-top: 1px solid;
  padding-top: 10px;
  margin-top: 10px;
}

.copyright .container {
  text-align: center;
  border-top: 1px solid;
}

.footer-menu-title {
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
}

.footer ul {
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  .
}

footer .footer {
  padding: 1.75rem 0 0 !important;
}

footer ul li a:hover {
  color: var(--tertiary-theme-color) !important;
}

footer ul li {
  padding-bottom: 0 !important;
}

footer p.legal-note {
  color: #BDBDBD !important;
}

/*------------ View and Staf bio design adjustment ------------*/
/* Module View of doctors */
.view-staff--row .views-field-title {
  color: var(--title-grey-color) !important;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  font-weight: var(--text-h3-weight);
  padding: 1.5rem 1.5rem 0;
}

.views-field.views-field-field-picture {
  margin-bottom: 0 !important;
}

.view-staff--row .views-field.views-field-field-credentials {
  display: none;
}

.view-staff--row .view-surgeon--data {
  display: none;
}

.views-field-field-summary {
  padding: 0.1rem 1.5rem 0.5rem 1.5rem;
}

.view-staff--row .views-field-title span.field-content a {
  color: inherit !important;
  text-decoration: none;
  font-size: var(--text-h3-size) !important;
  font-weight: var(--text-h3-weight) !important;
  font-family: var(--primary-font);
}

.views-field.views-field-title a {
  color: var(--title-grey-color) !important;
  font-size: var(--text-h3-size) !important;
  font-weight: var(--text-h3-weight) !important;
}

.view-staff .views-col {
  border: 0 !important;
  box-shadow: 0 0 15px 0 hsla(0, 0%, 39%, .26) !important;
  width: calc(33.33333% - 2.5rem) !important;
  margin: 0 1rem 1rem;
  /* espace entre Drs dans la vue*/
}

.views-field.views-field-field-picture img {
  height: auto !important;
}

/* mobile 
@media (max-width:768px){
  .view-staff .views-col {
    width:100% !important;
  }
} */
/* mobile edit side by side 2 par 2 */
@media (max-width: 768px) {
  .view-staff .views-col {
    width: calc((100% / 2) - 2rem) !important;
  }

  .view-staff--row .views-field-title {
    padding: 0.7rem 0.7rem 0.3rem;
    line-height: 1;
  }

  .view-staff--row .views-field-title span.field-content a {
    font-size: 0.85rem !important;
    font-weight: var(--font-weight-semibold) !important;
  }

  .views-field-field-summary {
    padding: 0.1rem 0.7rem 0.5rem 0.7rem;
  }

  .views-field-field-summary .field-content .small {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.6rem;
  }
}

/* Staff Bio uniformization */
h2.staff-subtitle {
  margin-bottom: 0 !important;
}

/*p.staff-copy {
  margin-bottom: 1.6rem !important;
}*/
.staff-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
}

.staff-rating__score {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h3-size) !important;
  /*line-height: var(--text-h3-line) !important;*/
  font-weight: var(--text-h3-weight) !important;
  color: var(--title-grey-color) !important;
}

.staff-rating__stars {
  display: inline-flex;
  gap: 0.08rem;
}

.staff-rating__stars i {
  font-size: 0.82rem;
  color: var(--tertiary-theme-color);
}

.staff-rating__stars i:before {
  padding: 0 1px !important;
}

/* View des 2 blocs dynamiques Specialties et Clinics */
.paragraph-staff-specialties ul,
.paragraph-staff-clinics ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
}

.paragraph-staff-specialties ul li,
.paragraph-staff-clinics ul li {
  display: inline;
  padding: 0;
}

.paragraph-staff-specialties ul li a {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color);
  color: var(--title-font-color);
  text-wrap: nowrap;
}

.paragraph-staff-clinics ul li a {
  text-wrap: nowrap;
}

.paragraph-staff-specialties ul li:not(:last-child)::after {
  content: " • ";
  color: var(--border-color) !important;
  padding: 0 0.4rem 0 0;
}

.paragraph-staff-clinics ul li:not(:last-child)::after {
  content: ", ";
  padding: 0 0.4rem 0 0;
}

.paragraph-staff-clinics h3 {
  margin-top: 1.5rem;
  margin-bottom: 0rem;
}

.view-2blocs-specialties-clinics {
  margin: auto 15px !important;
  padding: 0 2rem 0 1rem !important;
}

.title-locations {
  margin-top: 1.5rem;
  margin-bottom: 0;
  display: inline;
}

/* mobile */
@media (max-width: 768px) {
  h3.title-specialties {
    margin-bottom: 0.2rem !important;
  }

  .view-2blocs-specialties-clinics {
    margin: 0 !important;
    padding: 0 2rem 0 1rem !important;
  }

  .paragraph-staff-specialties ul li {
    /* a la ligne display: block;*/
    padding: 0 0.6rem 0 0;
    margin-bottom: 0.35rem;
  }

  .paragraph-staff-specialties ul li:not(:last-child)::after {
    content: none;
  }

  .paragraph-staff-specialties ul li a {
    display: inline-block;
    line-height: 1.6;
    text-underline-offset: 8px;
  }
}

/* Ajustement CTA Filter by all surgeons*/
.surgeons-all-surgeons-para>.default.paragraph {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

ul#clinic_filter {
  min-width: inherit;
  padding-left: 0 !important;
  margin: 10px 0 0px !important;
}

.ui-cta-list .ui-cta-list--cta {
  background-color: var(--cta-style-1-bg) !important;
  border: var(--cta-style-1-border) !important;
  border-radius: var(--cta-style-1-border-radius) !important;
  color: var(--cta-style-1-color) !important;
  font-family: var(--primary-font) !important;
  font-size: 1.125rem !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0.45px !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

/* ajustement liste du cta Filter by */
/* Hover */
.ui-cta-list .ui-cta-list--cta:hover {
  background-color: var(--secondary-darker-color) !important;
  border-color: var(--secondary-darker-color) !important;
  color: white !important;
}

.ui-cta-list li .ui-cta-list__hidden .ui-cta-list--cta__hidden:hover {
  background: var(--title-grey-color) !important;
  border-color: var(--title-grey-color) !important;
  color: white !important;
}

/* Container de la liste déroulante */
.ui-cta-list li .ui-cta-list__hidden .ui-cta-list--cta__hidden {
  font-size: 1.125rem !important;
  font-family: var(--primary-font) !important;
  font-size: 1.125rem !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0.45px !important;
  color: var(--title-grey-color) !important;
  margin-top: 0rem !important;
  padding: 0.5rem !important;
  list-style: none !important;
  overflow: hidden !important;
  background: #fff !important;
  border-bottom: 1px solid var(--border-color) !important;
  border-radius: 0px !important;
  box-shadow: 0 !important;
  text-align: left;
}

/* Items */
.ui-cta-list__hidden li {
  margin: 0;
  padding: 0;
}

.ui-cta-list__hidden li:last-child {
  border-bottom: none;
}

.clinic-filter-all,
.clinic-filter-all.is-active {
  position: relative;
  padding-right: 0px;
  background-color: white !important;
  border: 0 !important;
  border-radius: var(--cta-style-1-border-radius) !important;
  color: var(--title-grey-color) !important;
  font-family: var(--primary-font) !important;
  font-size: 1.125rem !important;
  font-weight: var(--font-weight-bold) !important;
  text-transform: capitalize !important;
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color);
  padding-bottom: 2rem;
  letter-spacing: 0 !important;
}


/* --- bio PAGE - ajout badge a cote du texte ---- */
.doctor-ranking {
  width: 100%;
  padding: 0 5% 0 0;
}

.doctor-ranking__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 32px;
  width: 100%;
  margin: 0 auto;
}

.doctor-ranking__text {
  min-width: 0;
}

.doctor-ranking__text h2 {
  margin: 0 !important;
}

.doctor-ranking__text p {
  margin: 0;
  line-height: 1.2 !important;
}

.doctor-ranking__badge {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}

.doctor-ranking__badge img {
  display: block;
  width: 118px;
  height: auto;
  max-width: none;
}


/* Mobile */
@media screen and (max-width: 767px) {
  .doctor-ranking {
    padding: 0 1rem 0 0;
  }

  .doctor-ranking__content {
    grid-template-columns: minmax(0, 1fr) 82px;
    align-items: center;
    column-gap: 14px;
  }

  .doctor-ranking__text h2 {
    line-height: 1.2 !important;
  }

  .doctor-ranking__badge img {
    width: 82px;
  }
}

/* Très petits écrans */
@media screen and (max-width: 380px) {
  .doctor-ranking {
    padding-inline: 14px;
  }

  .doctor-ranking__content {
    grid-template-columns: minmax(0, 1fr) 72px;
    column-gap: 10px;
  }

  .doctor-ranking__badge img {
    width: 72px;
  }
}



/*------------ Adjustment to common design style guide LMD only ------------*/
.eyesimulator-selector-wrapper {
  margin-top: 2% !important;
}

/* design of the visual code block for the style guide */
.code-example {
  border: 1px solid var(--border-color);
  border-radius: 6px;
  overflow: hidden;
  margin: 1rem 0 0.25rem 0;
}

.code-label {
  background: white;
  padding: 0.2rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-bottom: 1px solid var(--border-color);
  line-height: 1.2;
}

.code-block {
  background: #F8F8F8;
  padding: 0.45rem 0.7rem;
  margin: 0;
  color: var(--title-grey-color);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.85rem;
  line-height: 1.25;
  overflow-x: auto;
}

.code-block code {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  color: inherit !important;
}

/* end code preview*/
/* design of the font header for the style guide*/
.font-specimen {
  background: var(--bg-blue-color);
  border-radius: 12px;
  padding: 1.8rem 2rem;
  margin-bottom: 1.25rem;
  line-height: 1;
}

.font-specimen span {
  display: block;
}

.specimen-aa {
  font-size: 2.6rem;
  color: var(--secondary-darker-theme-color);
}

.specimen-word {
  font-size: 1.8rem;
  margin: .2rem 0 .3rem;
  margin: .6rem 0;
}

.specimen-numbers {
  font-size: 1.3rem;
  margin-top: .4rem;
  opacity: .6;
}

.greycliff {
  font-family: var(--primary-font);
  font-weight: 700;
}

.inter {
  font-family: var(--secondary-font);
  font-weight: 400;
}

@media (max-width:768px) {
  .font-specimen {
    padding: 1.4rem 1.5rem;
  }

  .specimen-aa {
    font-size: 34px;
  }

  .specimen-word {
    font-size: 30px;
  }

  .specimen-numbers {
    font-size: 18px;
  }
}

/* end font header */
/* Do not edit, global css for cards */
.roundborder20 {
  border-radius: 20px;
}

.card-shadow-card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* mobile render margins */
@media screen and (max-width: 767.98px) {
  .d-flex .paragraph-columns.paragraph.roundborder20 {
    max-width: calc((100%) - 40px) !important;
    overflow: hidden;
  }
}

/* special list for styleguide*/
ul.icon-greencheck-list,
ul.icon-redxmark-list {
  list-style: none;
  margin: .25em 0 .8em 0em !important;
}

ul.icon-greencheck-list li,
ul.icon-redxmark-list li {
  padding: 0rem 0 0.8rem 40px;
  position: relative;
}

ul.icon-greencheck-list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  font-size: 1.2rem;
  color: green;
  left: 0;
  top: 0;
}

ul.icon-redxmark-list li::before {
  content: "\f00d";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  font-size: 1.4rem;
  color: red;
  left: 0;
  top: 0;
}

/* special list horizontal desktop - 2 columns pricing page */
/* =========================================
   BENEFITS LIST
   Desktop : 4 éléments sur une ligne
========================================= */
.list-horizontal-check {
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  justify-content: space-between;
  align-items: start;
  column-gap: 2rem;
  row-gap: 1rem;
  width: 100%;
  margin: 2rem auto 1rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.list-horizontal-check>li {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 0.65rem !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--title-font-color) !important;
  line-height: 1.35;
  text-align: left !important;
  white-space: normal !important;
}

.list-horizontal-check>li::before {
  content: "\f00c" !important;
  display: block !important;
  width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Font Awesome 6 Pro" !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  color: var(--tertiary-theme-color) !important;
}

/* Un seul bloc pour toute la phrase */
.list-horizontal-check>li>.benefit-text {
  display: block !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Groupe qui doit rester ensemble */
.list-horizontal-check .benefit-note {
  display: inline !important;
  white-space: nowrap !important;
}

.list-horizontal-check sup {
  position: static !important;
  top: auto !important;
  display: inline !important;
  margin: 0 0 0 0.05em !important;
  padding: 0 !important;
  font-size: 0.65em !important;
  line-height: 0 !important;
  vertical-align: super !important;
}


/* =========================================
   MOBILE : 2 colonnes
========================================= */

@media (max-width: 767px) {
  .list-horizontal-check {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    column-gap: 1rem !important;
    row-gap: 0.9rem !important;
    width: 100% !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
  }

  .list-horizontal-check>li {
    grid-template-columns: 16px minmax(0, 1fr) !important;
    column-gap: 0.55rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .list-horizontal-check>li::before {
    width: 16px !important;
    font-size: 0.95rem !important;
  }

  .list-horizontal-check>li>.benefit-text {
    grid-column: 2 !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  .list-horizontal-check .benefit-note {
    white-space: nowrap !important;
  }
}

/* special table for icon accordion memo in styleguide*/
.icon-memo-table {
  width: 100%;
  border-top: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
  border-right: 1px solid var(--border-color);
}

.icon-memo-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0.2rem;
  border-bottom: 1px solid var(--border-color);
}

.icon-memo-head {
  font-weight: 700;
  font-size: .875em;
}

.icon-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-cell i {
  font-size: 1.4rem;
  color: var(--secondary-theme-color);
}

.class-cell code {
  font-family: var(--secondary-font);
  font-size: 0.95rem;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  color: var(--title-grey-color);
}

/* mobile */
@media (max-width: 768px) {
  .icon-memo-head {
    display: none;
  }

  .icon-memo-row {
    grid-template-columns: 56px 1fr;
    padding: 0.9rem 1rem;
  }

  .class-cell code {
    font-size: 0.9rem;
  }
}

/* creation du faux menu pages Services*/
.topmenu-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.topmenu-page {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  min-width: max-content;
  /*justify-content: center;*/
}

.topmenu-item {
  flex: 0 0 auto;
  border-right: 1px solid var(--border-color);
}

.topmenu-item:last-child {
  border-right: none;
}

.topmenu-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line) !important;
  padding: 1rem 2rem !important;
  font-weight: 400;
  color: var(--title-grey-color);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease, font-weight 0.2s ease;
}

.topmenu-item a:hover,
.topmenu-item a:focus,
.topmenu-item a.active {
  color: var(--title-font-color);
  font-weight: var(--font-weight-bold);
}

/* font size plus petite on mobile render margins */
@media screen and (max-width: 767.98px) {
  .topmenu-item a {
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
    padding: 0.875rem 0.85rem !important;
  }

  .topmenu-page {
    justify-content: start;
  }
}

/*------------ Icons Fontawesome design adjustment ------------*/
.fa:before,
.fa-classic:before,
.fa-regular:before,
.fa-solid:before,
.fa-duotone:before,
.far:before,
.fas:before {
  padding-right: 8px !important;
  /*  espace apres les icones */
}

/* Icons style */
/* Base duotone par défaut */
.icon-duotone {
  --fa-primary-color: rgba(208, 193, 255, 1.0);
  --fa-secondary-color: rgba(140, 102, 255, 1.0);
  --fa-primary-opacity: 1;
  --fa-secondary-opacity: 1;
}

/* Variante couleurs */
.icon-duotone-invert {
  --fa-primary-color: rgb(140, 102, 255);
  --fa-secondary-color: rgba(208, 193, 255, 1);
  --fa-primary-opacity: 1;
  --fa-secondary-opacity: 1;
}

.icon-orange {
  color: var(--tertiary-darker-color);
}

.icon-grey {
  color: var(--link-color);
}

.icon-purple {
  color: var(--secondary-theme-color);
}

/* issue accessibility : only support lists or confirmation points, not primary actions */
.icon-yellow {
  color: var(--tertiary-theme-color);
}

/* List */
main li {
  padding: 0 0 .5rem .7rem;
}

ul {
  padding-left: 0.3rem !important;
  margin: .25em 0 0 .7em !important;
}

ul li::marker {
  color: var(--link-color) !important;
}

ul.icon-arrow-list,
ul.icon-check-list,
ul.icon-caret-list,
ul.icon-circle-list-hp {
  list-style: none;
  margin: .25em 0 .7em 0em !important;
}

ul.icon-arrow-list li,
ul.icon-check-list li {
  padding: 0rem 0 0.8rem 35px !important;
  position: relative;
}

ul.icon-caret-list li {
  padding: 0rem 0 0.4rem 30px;
  position: relative;
}

ul.icon-circle-list-hp li {
  padding: 0.1rem 0 0.2rem 19px;
  position: relative;
}

ul.icon-arrow-list li::before {
  content: "\f061";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  font-size: 1.2rem;
  color: var(--secondary-theme-color);
  /* purple */
  left: 0;
  top: 0;
}

ul.icon-check-list li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  font-size: 1.4rem;
  color: var(--tertiary-theme-color);
  left: 0;
  top: 0;
}

ul.icon-caret-list li::before {
  content: "\f0da";
  font: var(--fa-font-solid);
  /* *affiche la version SOLID de l'icone */
  position: absolute;
  font-size: 1rem;
  color: var(--link-color);
  /* grey */
  left: 0;
  top: .36rem;
}

ul.icon-circle-list-hp li::before {
  content: "•";
  position: absolute;
  font-size: 1rem;
  color: var(--link-color);
  /* grey */
  left: -0.2rem;
  top: 0rem;
}

/* Accordeon */
/* Default version - no icon */
h3.accordion-header a {
  font-family: var(--primary-font) !important;
  font-size: var(--text-h3-size) !important;
  line-height: var(--text-h3-line) !important;
  font-weight: var(--text-h3-weight) !important;
}

.accordion-item {
  background: var(--accordion-background);
  border: var(--accordion--border);
  border-top: 1px solid var(--link-color);
  margin-bottom: 0.2rem;
  /*margin-bottom: 1.5rem;*/
  padding: 1rem 2rem 1.6rem !important;
  min-height: 3.2rem;
  text-decoration: none;
}

/*.accordion-item:last-child {
  border-bottom: 1px solid var(--link-color);
}*/
.accordion-item .accordion-header,
.accordion-item h3.accordion-header {
  margin: 0 !important;
}

@media (max-width: 724px) {
  h3.accordion-header {
    padding: 0;
  }
}

.accordion-item p {
  max-width: 95%;
  padding-top: 1.2rem;
}

.accordion-item a.accordion-button {
  color: var(--title-grey-color);
  display: block;
  letter-spacing: 0;
  padding-right: 5.5rem;
  position: relative;
  text-decoration: none;
}

.accordion-item a.accordion-button.collapsed::after {
  background: transparent;
  color: var(--link-color);
  content: "\f105";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  font-weight: 900;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 8px;
  width: 22px;
  z-index: 1;
  pointer-events: none;
}

.accordion-item a.accordion-button::after {
  background: transparent;
  color: var(--link-color);
  content: "\f107";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  font-weight: 900;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 8px;
  width: 22px;
  z-index: 1;
  pointer-events: none;
}

@media (max-width: 724px) {
  .accordion-body p {
    padding: 1.3rem 0 0;
  }

  /* fix page About LMD > Awards padding */
  .accordeon-item-fix-awards .accordion-item {
    padding: 1rem 1.5rem 1.2rem !important;
  }

  .accordion-item p {
    max-width: 100%;
  }

  .accordion-item {
    /* more space padding:1.4rem 0rem 1.6rem !important;*/
    padding: 1rem 0rem 1.2rem !important;
    /*margin-bottom: 8%;*/
  }

  .accordion-item a.accordion-button {
    padding-right: 5.5rem;
  }
}

/* 2nd accordeon : purple with icon*/
.accordion-icon .accordion-item a.accordion-button {
  color: var(--secondary-darker-color) !important;
}

.accordion-icon h3.accordion-header a {
  margin-top: 0;
  padding-top: 0;
}

.accordion-icon .accordion-item a.accordion-button::before {
  content: "\e574";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-size: 2rem;
  color: var(--secondary-theme-color);
  display: block;
  padding: 0 0 1rem 0;
  pointer-events: none;
}

.accordion-icon .accordion-item a.accordion-button::after {
  background: transparent;
  color: var(--secondary-darker-color);
  content: "\f107";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  top: 79%;
  transform: translateY(-50%);
  pointer-events: none;
}

.accordion-icon .accordion-item a.accordion-button.collapsed::after {
  background: transparent;
  color: var(--secondary-darker-theme-color);
  content: "\f105";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  top: 79%;
  transform: translateY(-50%);
  pointer-events: none;
}

.accordion-icon .accordion-item a.accordion-button::after,
.accordeon-icon .accordion-item a.accordion-button.collapsed::after {
  color: var(--secondary-darker-color);
}

.accordion-icon .accordion-item:first-child {
  border-bottom: 0;
}

@media (max-width: 724px) {
  .accordion-icon .accordion-item a.accordion-button::after {
    top: 79% !important;
  }
}

/* 3rd accordion for card - no icon */
.accordion-card-item {
  background: var(--accordion-background);
  border: var(--accordion--border);
  border-top: 1px solid var(--link-color);
  margin-bottom: 0;
  padding: 0 !important;
  min-height: 4.2rem;
  text-decoration: none;
}

.accordion-card-item .accordion-item:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-top: 0;
}

.accordion-card-item .accordion-header,
.accordion-card-item h3.accordion-header {
  margin: 0 !important;
  padding-bottom: 1rem !important;
}

.accordion-card-item p {
  max-width: 95%;
  padding-top: 0rem;
}

.accordion-card-item a.accordion-button {
  color: var(--title-grey-color);
  display: block;
  letter-spacing: 0;
  padding-right: 3rem;
  position: relative;
  text-decoration: none;
}

.accordion-card-item a.accordion-button.collapsed::after {
  background: transparent;
  color: var(--link-color);
  content: "\f105";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  font-weight: 900;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 8px;
  width: 22px;
  z-index: 1;
  pointer-events: none;
}

.accordion-card-item a.accordion-button::after {
  background: transparent;
  color: var(--link-color);
  content: "\f107";
  font-family: Font Awesome\ 6 Pro;
  font-size: 1.25rem;
  font-weight: 900;
  height: 22px;
  line-height: 22px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 8px;
  width: 22px;
  z-index: 1;
  pointer-events: none;
}

@media (max-width: 724px) {
  .accordion-card-item .accordion-item:last-child {
    padding: 0 1.8rem 0 !important;
    /*padding:0 0.8rem 0 1.1rem !important;*/
    margin-bottom: 0 !important;
  }

  .accordion-card-item p {
    max-width: 100%;
  }

  .accordion-card-item {
    padding: 1rem 0rem 0rem !important;
    margin-bottom: 0;
  }
}

/* Variations des icones par content pour accordeon */
/* shield */
.accordion-icon.icon-shield-heart .accordion-item a.accordion-button::before {
  content: "\e574" !important;
}

.accordion-icon.icon-shield-check .accordion-item a.accordion-button::before {
  content: "\f2f7" !important;
}

/* badge */
.accordion-icon.icon-badge-dollar .accordion-item a.accordion-button::before {
  content: "\f645" !important;
}

.accordion-icon.icon-badge-percent .accordion-item a.accordion-button::before {
  content: "\f646" !important;
}

/* circle */
.accordion-icon.icon-circle-question .accordion-item a.accordion-button::before {
  content: "\f059" !important;
}

.accordion-icon.icon-circle-exclamation .accordion-item a.accordion-button::before {
  content: "\f06a" !important;
}

.accordion-icon.icon-circle-check .accordion-item a.accordion-button::before {
  content: "\f058" !important;
}

/* vision */
.accordion-icon.icon-eye .accordion-item a.accordion-button::before {
  content: "\f06e" !important;
}

.accordion-icon.icon-eye-low-vision .accordion-item a.accordion-button::before {
  content: "\f2a8" !important;
}

.accordion-icon.icon-eye-slash .accordion-item a.accordion-button::before {
  content: "\f070" !important;
}

.accordion-icon.icon-arrows-to-eye .accordion-item a.accordion-button::before {
  content: "\e4bf" !important;
}

.accordion-icon.icon-circle-notch .accordion-item a.accordion-button::before {
  content: "\f1ce" !important;
}

.accordion-icon.icon-glasses-round .accordion-item a.accordion-button::before {
  content: "\f5f5" !important;
}

/* hand holding */
.accordion-icon.icon-hand-holding-circle-dollar .accordion-item a.accordion-button::before {
  content: "\e621" !important;
}

.accordion-icon.icon-hand-holding-heart .accordion-item a.accordion-button::before {
  content: "\f4be" !important;
}

.accordion-icon.icon-hand-holding-holding-seedling .accordion-item a.accordion-button::before {
  content: "\f4bf" !important;
}

/* divers */
.accordion-icon.icon-crosshairs .accordion-item a.accordion-button::before {
  content: "\f05b" !important;
}

.accordion-icon.icon-medal .accordion-item a.accordion-button::before {
  content: "\f5a2" !important;
}

.accordion-icon.icon-star .accordion-item a.accordion-button::before {
  content: "\f005" !important;
}

/* divers navigation */
.accordion-icon.icon-envelope .accordion-item a.accordion-button::before {
  content: "\f0e0" !important;
}

.accordion-body div div.amplify-widget {
  padding-top: 2rem;
}

/* Visuel for Step Procedure*/
.step-procedure {
  position: relative;
  /*max-width: 800px;
  margin: 40px auto;
  padding-left: 40px; */
}

.step-procedure::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 15px;
  bottom: 0;
  width: 1px;
  background: var(--link-color);
  transform: translateX(-50%);
}

.bullet-point {
  position: relative;
  padding-left: 25px;
}

.bullet-point::before {
  content: "";
  position: absolute;
  left: 5px;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  top: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--link-color), var(--link-color));
  z-index: 2;
}

.tl {
  position: relative;
  margin-bottom: 20px;
  padding-left: 30px;
}

.tl::before {
  content: "";
  position: absolute;
  left: 2px;
  width: 13px;
  height: 13px;
  transform: translate(-50%, -50%);
  top: 15px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--link-color), var(--link-color));
  z-index: 2;
}

.tl time {
  display: inline-block;
}

.tl p:last-of-type {
  padding-bottom: 15px;
}

@media (max-width: 724px) {
  .tl::before {
    left: 2px;
  }

  .tl {
    padding-left: 25px;
  }
}

/* Cards with Google Reviews not dynamic */
.card-reviews-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 1rem;
}

.card-reviews-footer h4 {
  margin: 0;
}

.card-reviews-footer article {
  flex-shrink: 0;
  margin-left: auto;
  max-width: 38px;
}

/* Layout with Google Reviews Trackers - carousel, arrows colors */
.jeKgRc,
.jeKgQw {
  color: var(--link-color) !important;
}

.jeKgRc:hover,
.jeKgQw:hover {
  color: var(--primary-darker-color) !important;
}

/* Layout Find your opto adjustment */
.vg-bg-primary {
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-blue-color) 100%) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  padding: 3rem 0rem 1rem;
  z-index: 10 !important;
  position: relative;
}

.vg-bg-primary div {
  color: var(--title-grey-color) !important;
}

.find-nearby-para .vg-bg-primary .submit-form input.style-3.paragraph-cta {
  text-align: center !important;
  background-color: var(--cta-style-1-bg) !important;
  border: var(--cta-style-1-border) !important;
  border-radius: var(--cta-style-1-border-radius) !important;
  color: var(--cta-style-1-color) !important;
  text-decoration: none;
  width: max-content !important;
  padding: 1rem 2rem 1.1rem !important;
  font-size: 1.125rem !important;
  font-family: var(--primary-font);
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0.45px !important;
  line-height: 1.3 !important;
  box-sizing: border-box;
  cursor: pointer;
  margin-bottom: 0;
}

/* pagination bas de page */
.paginate .pager.pagination {
  width: 100%;
  align-content: space-around;
  align-items: center;
  /* do not dipslay, tout est affiche sur une colonne */
  display: none;
}

.pager.pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 2rem 0;
}

.pager.pagination .firstPage.page-item,
.pager.pagination .lastPage.page-item {
  flex: 1 1 auto;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0.6rem 0.85rem;
  border: 0;
  border-radius: 0px;
  background-color: transparent;
  color: var(--title-grey-color);
  font-size: 1rem;
  font-weight: var(--font-weight-bold) !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pager.pagination .lastPage.page-item,
.pager.pagination .nextPage.page-item {
  text-align: right;
}

.pager.pagination .previousPage.page-item,
.pager.pagination .nextPage.page-item {
  min-width: 3rem;
  min-height: 2.4rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--border-color);
  border-radius: 40px;
  background-color: #FFF;
  color: var(--secondary-darker-color);
  font-size: 1rem;
  font-weight: var(--font-weight-bold) !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* results */
#find-nearby-alert-info {
  color: var(--title-font-color) !important;
  background-color: white !important;
  border-color: var(--border-color) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #FFF 0%, var(--bg-yellow-color) 100%) !important;
}

.find-nearby-alert .closebtn {
  color: var(--tertiary-darker-color) !important;
}

#find-nearby-results .location-name {
  font-family: var(--primary-font);
  font-weight: var(--font-weight-bold);
  font-size: var(--text-h3-size) !important;
  color: var(--secondary-darker-color);
  padding-top: 3px;
}

#find-nearby-results .location-address a {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color);
  color: var(--title-font-color);
}

#find-nearby-results .location-comanagers {}

#find-nearby-results .location-links a {
  text-decoration: none;
  font-weight: bold;
  color: var(--title-grey-color);
}

#find-nearby-results .location-links a.fa-solid.fa-phone:before {
  color: var(--tertiary-theme-color);
}

#find-nearby-results .location-links a.btn.location-website {
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--tertiary-theme-color);
  color: var(--title-font-color);
  font-size: 1.1rem;
}

#find-nearby-results .row.bg-white {
  padding: 1.5rem 1rem 2rem;
  border-bottom: 1px solid var(--border-color);
}

@media (max-width: 724px) {

  #find-nearby-results .location-name,
  #find-nearby-results .location-comanagers,
  #find-nearby-results .location-links {
    padding-bottom: 1rem;
  }

  #find-nearby-results .location-address {
    padding-bottom: 1.5rem;
  }
}

/* animation generique defilement logos */
.announcement-bar-top {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  height: 80px;
  display: flex;
  align-items: center;
}

.announcement-bar-top::before,
.announcement-bar-top::after {
  content: "";
  position: absolute;
  top: 0;
  width: 80px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.announcement-track-top {
  width: max-content;
  animation: scroll 10s linear infinite;
}

.announcement-content-top {
  display: inline-block;
  padding: 0 1rem;
  text-align: center;
}

.announcement-bar-top::before {
  left: 0;
  background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.announcement-bar-top::after {
  right: 0;
  background: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

@keyframes scroll {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-75%);
  }
}

@media (max-width: 720px) {
  @keyframes scroll {
    0% {
      transform: translateX(0%);
    }

    100% {
      transform: translateX(-50%);
    }
  }
}

/* css pour integrer 2e accordeon dans un accordeon - read more */
.read-more summary,
.read-more-fr summary {
  cursor: pointer;
  position: relative;
  padding-right: 0px;
  font-family: var(--primary-font) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-line: underline;
  text-underline-offset: 10px;
  text-decoration-color: var(--link-color);
  list-style: none;
  /* cache le texte HTML visuellement */
  color: transparent;
}

/* enlever la fleche native */
.read-more summary::-webkit-details-marker,
.read-more-fr summary::-webkit-details-marker {
  display: none;
}

/* texte visible par defaut */
.read-more summary::after {
  content: "Read more";
  color: var(--title-grey-color);
  position: absolute;
  left: 0;
  top: 0;
}

.read-more-fr summary::after {
  content: "Lire plus";
  color: var(--title-grey-color);
  position: absolute;
  left: 0;
  top: 0;
}

/* texte visible quand ouvert */
.read-more[open] summary::after {
  content: "Read less";
  color: var(--link-color);
}

.read-more-fr[open] summary::after {
  content: "Lire moins";
  color: var(--link-color);
}

.read-more summary:hover::after,
.read-more-fr summary:hover::after {
  text-decoration: underline;
}

.read-more-content {
  margin-top: 0.75rem;
}

.read-more[open] .read-more-content,
.read-more-fr[open] .read-more-content {
  animation: fadeIn 0.25s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* affichage header annee de la card Featured News sur Newsroom*/
.news-date-badge {
  display: inline-block;
  background-color: white;
  color: var(--primary-darker-color);
  padding: 4px 12px 3px;
  border-radius: 20px;
  margin-bottom: 12px;
  border: 1px solid var(--border-color);
}

.news-date-badge h4 {
  margin-bottom: 0 !important;
  color: var(--secondary-theme-color) !important;
}

/* Saving calculator ajustement */
.savings_calculator_results {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  background: linear-gradient(135deg, var(--bg-blue-color) 0%, var(--bg-blue-color) 40%, transparent 100%);
  border: 1px solid var(--border-color);
  margin: 2rem 0 !important;
  padding: 1rem !important;
}

.form-group .field_sc_savings_lifetime,
.form-group .field_sc_savings_year {
  /*color: var(--primary-darker-color) !important;*/
  color: var(--title-font-color) !important;
}

.col-form-label {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0.75rem;
}

#calculator .form-group.row>.col-sm-3 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Bloc Notice info des pages cliniques */
.clinic-notice {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding: 1rem;
  margin: 0.5rem 0 3% 0;
  border-radius: 20px;
  background: linear-gradient(to bottom, #ffffff 0%, var(--bg-purple-color) 100%);
  border: 1px solid var(--border-color);
}

/* Icône */
.clinic-notice__icon {
  flex-shrink: 0;
  line-height: 1.7;
}

.clinic-notice__content {
  display: flex;
  flex-direction: row;
  gap: 1px;
}

.clinic-notice__content_fr {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.clinic-notice__content p,
.clinic-notice__content_fr p {
  margin-bottom: 0 !important;
  padding-right: 5px;
}

@media (max-width: 720px) {
  .clinic-notice__content {
    flex-direction: column;
  }
}

/* Compare Procedures tables on Procedure Guide webpage */
table {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.compare-procedures {
  font-family: var(--secondary-font);
  color: var(--title-grey-color);
}

.procedures-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /*background: linear-gradient(0deg, #fafafa, #fff);*/
  border: 1px solid var(--border-color);
  padding: 0rem;
}

.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  /* keeps columns readable on medium screens */
}

.compare-table td ul {
  margin: 0 0 0 .7em !important;
}

.compare-table td ul li {
  font-size: 1rem !important;
  padding: 0 0 0rem .3rem;
}

.compare-table th,
.compare-table td {
  text-align: left;
  vertical-align: top;
  padding: 1.5rem 1rem 1.5rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  line-height: 1.45;
  height: auto !important;
  min-height: 4rem;
}

.compare-table thead th {
  font-family: var(--primary-font);
  color: var(--title-grey-color);
  font-size: var(--text-h3-size) !important;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  background: var(--bg-yellow-color);
  padding: 2rem 1.5rem;
  vertical-align: center;
}

.compare-table th p {
  font-family: var(--secondary-font);
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  color: var(--title-grey-color);
  line-height: 1;
}

.compare-table tbody tr:last-child td {
  border-bottom: none;
}

/* procedures name highlight */
.procedures-name {
  font-family: var(--primary-font);
  color: var(--title-grey-color);
  font-size: var(--text-h4-size) !important;
  font-weight: var(--font-weight-bold);
  text-decoration: underline;
  text-decoration-line: underline;
  text-underline-offset: 7px;
  text-decoration-color: inherit;
}

.procedures-name a {
  color: inherit;
  text-decoration: none;
}

.procedures-name a:hover {
  color: var(--primary-darker-color);
  cursor: pointer;
}

/* Age highlight */
.compare-table .age-col {
  background: var(--bg-purple-color);
  border-left: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color) !important;
  z-index: 20;
  position: relative;
  text-align: center;
}

td.age-col p {
  font-family: var(--primary-font);
  color: var(--secondary-darker-color);
  font-size: var(--text-h4-size) !important;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-align: center !important;
}

/* colonne Conditions plus petite - largeur spécifique uniquement sur desktop */
@media (min-width: 900px) {

  .compare-table th:nth-child(2),
  .compare-table td:nth-child(2) {
    width: 28%;
    /* ajuste */
  }
}

/* effet de hover sur toute une rangee*/
/* Hover effect for table rows */
.compare-table tbody tr {
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
  position: relative;
}

/* Hover state */
.compare-table tbody tr:hover {
  background-color: var(--bg-blue-color);
}

/* underline link on hover for clarity */
.compare-table tbody tr:hover a {
  color: var(--primary-darker-color) !important;
}

.procedures-name a {
  position: static;
}

.procedures-name a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* MOBILE */
@media (max-width: 720px) {
  .procedures-table-wrap {
    background: none;
    border: 0;
    padding: 0;
  }

  .compare-table {
    min-width: 0;
    width: 100%;
  }

  .compare-table thead {
    display: none;
  }

  .compare-table tbody tr {
    display: block;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin: .75rem 0 3rem;
    overflow: hidden;
  }

  .compare-table td {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    border-bottom: 1px solid var(--border-color);
    padding: 1.25rem 1rem;
    height: auto !important;
    min-height: 4rem;
  }

  .compare-table td:last-child {
    border-bottom: none !important;
    border-left: 0;
  }

  .compare-table td::before {
    content: attr(data-label);
    flex: 0 0 120px;
    line-height: 1.2;
    text-align: left;
  }

  .compare-table td>* {
    flex: 1 1 auto;
    min-width: 0;
  }

  .compare-table td p,
  .compare-table td ul,
  .compare-table td li {
    margin: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .compare-table td ul {
    padding-left: 1rem;
  }

  .compare-table tbody tr:last-child td {
    border-bottom: inherit;
  }

  td.age-col p {
    text-align: left !important;
  }
}

/* Contact lenses tables on Consultation webpage */
.compare-contact-lenses {
  font-family: var(--secondary-font);
  color: var(--title-grey-color);
}

.lenses-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #E5E7EB;
  padding: .5rem;
}

.compare-table-lenses {
  width: 100%;
  border-collapse: collapse;
  /* keeps columns readable on medium screens */
}

.compare-table-lenses td ul {
  padding-left: 1.2rem !important;
}

.compare-table-lenses th {
  text-align: left;
  vertical-align: top;
  padding: 0.5rem 1rem 1rem 1rem;
  border-bottom: 1px solid #dadada;
  line-height: 1.45;
}

.compare-table-lenses td {
  text-align: left;
  vertical-align: top;
  padding: 0rem 0.2rem 1rem 1rem;
  border-bottom: 1px solid #dadada;
  line-height: 1.45;
}

.compare-table-lenses thead th {
  font-size: 0.75rem !important;
  background: var(--bg-yellow-color);
}

.compare-table-lenses th p {
  font-size: 1rem;
  letter-spacing: 0;
  color: var(--title-grey-color);
  line-height: 1.2;
}

.compare-table-lenses tbody tr:last-child td {
  border-bottom: none;
}

/* procedures name highlight */
.contact-lenses-name {
  font-family: var(--secondary-font);
  color: var(--title-grey-color);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.contact-lenses-name a {
  color: inherit;
  text-decoration: none;
}

.contact-lenses-name a:hover {
  color: var(--primary-darker-color);
  cursor: pointer !important;
}

/* colonne Conditions plus petite - largeur spécifique uniquement sur desktop */
@media (min-width: 900px) {

  .compare-table-lenses th:nth-child(2),
  .compare-table-lenses td:nth-child(2),
  .compare-table-lenses th:nth-child(3),
  .compare-table-lenses td:nth-child(3) {
    width: 30%;
    /* ajuste */
  }
}

.contact-lenses-name a {
  position: static;
}

.contact-lenses-name a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* Responsive stack for mobile */
@media (max-width: 720px) {
  .compare-table-lenses {
    min-width: 0;
  }

  .compare-table-lenses thead {
    display: none;
  }

  .compare-table-lenses tbody tr {
    display: block;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin: .75rem 0 1.5rem;
    overflow: hidden;
  }

  .compare-table-lenses td {
    display: grid;
    grid-template-columns: 42% 1fr;
    gap: .75rem;
    border-bottom: 1px solid var(--border-color);
    padding: 0.8rem 0.5rem;
    height: auto;
  }

  .compare-table-lenses td:last-child {
    border-bottom: none;
  }

  .compare-table-lenses td::before {
    content: attr(data-label);
    font-size: 0.9rem;
    letter-spacing: 0;
    color: #8d888a;
  }

  .compare-table-lenses td ul {
    margin-bottom: 0 !important;
  }

  .compare-table-lenses td p {
    padding: 0;
    font-size: 0.9rem;
  }

  .compare-table-lenses tbody tr:last-child td {
    border-bottom: inherit;
  }
}

/* Compare LASIK/PRK tables on PRK webpage */
/* enleve le hover lors du hover ou focus sur le td */
.compare-procedures-prk-lasik .compare-table tbody tr {
  cursor: default;
  transition: none;
}

.compare-procedures-prk-lasik .compare-table tbody tr:hover {
  background: transparent;
  box-shadow: none;
}

.price-table-wrapper .price-table tbody tr {
  cursor: default;
  transition: none;
}

.price-table-wrapper .price-table tbody tr:hover {
  background: transparent;
  box-shadow: none;
}

.compare-procedures-prk-lasik {
  font-family: var(--secondary-font);
  color: var(--title-grey-color);
}

.compare-procedures-prk-lasik .procedures-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border-color);
  padding: 0;
}

.compare-procedures-prk-lasik .compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.compare-procedures-prk-lasik .compare-table th,
.compare-procedures-prk-lasik .compare-table td {
  text-align: left;
  vertical-align: top;
  padding: 1.25rem 1rem;
  border-bottom: 1px solid var(--border-color);
  line-height: 1.45;
  height: auto !important;
  min-height: 4rem;
}

.compare-procedures-prk-lasik .compare-table thead th {
  font-family: var(--primary-font);
  color: var(--title-grey-color);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-align: left;
  vertical-align: middle;
  background: var(--bg-yellow-color);
  padding: 1.5rem 1rem;
}

.compare-procedures-prk-lasik .compare-table thead th:first-child {
  text-align: left;
  width: 26%;
}

.compare-procedures-prk-lasik .compare-table thead th:nth-child(2),
.compare-procedures-prk-lasik .compare-table thead th:nth-child(3) {
  width: 37%;
}

.compare-procedures-prk-lasik .compare-table td p {
  margin: 0;
  font-family: var(--secondary-font);
  font-size: 1rem;
  color: var(--title-grey-color);
  line-height: 1.35;
}

.compare-procedures-prk-lasik .compare-table tbody td:first-child p {
  font-family: var(--primary-font);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
}

.compare-procedures-prk-lasik .compare-table tbody tr:last-child td {
  border-bottom: none;
}

/* Mobile */
@media (max-width: 720px) {
  .compare-procedures-prk-lasik .procedures-table-wrap {
    background: none;
    border: 0;
    padding: 0;
  }

  .compare-procedures-prk-lasik .compare-table {
    min-width: 0;
    width: 100%;
  }

  .compare-procedures-prk-lasik .compare-table thead {
    display: none;
  }

  .compare-procedures-prk-lasik .compare-table tbody tr {
    display: block;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin: 0 0 1rem;
    overflow: hidden;
    background: #fff;
  }

  .compare-procedures-prk-lasik .compare-table td {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    min-height: 0;
  }

  .compare-procedures-prk-lasik .compare-table td:last-child {
    border-bottom: none !important;
  }

  .compare-procedures-prk-lasik .compare-table td::before {
    content: attr(data-label);
    flex: 0 0 96px;
    font-family: var(--primary-font);
    font-size: 0.875rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    color: var(--title-grey-color);
    opacity: 0.72;
    text-align: left;
  }

  .compare-procedures-prk-lasik .compare-table td>* {
    flex: 1 1 auto;
    min-width: 0;
  }

  .compare-procedures-prk-lasik .compare-table td p {
    margin: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .compare-procedures-prk-lasik .compare-table tbody tr:last-child td {
    border-bottom: 1px solid var(--border-color);
  }

  .compare-procedures-prk-lasik .compare-table tbody tr td:last-child {
    border-bottom: none !important;
  }
}

/* Compare Glasses vs RLE tables on RLE webpage */
/* enleve le hover lors du hover ou focus sur le td */
.compare-procedures-rle .compare-table tbody tr {
  cursor: default;
  transition: none;
}

.compare-procedures-rle .compare-table tbody tr:hover {
  background: transparent;
  box-shadow: none;
}

.compare-procedures-rle {
  font-family: var(--secondary-font);
  color: var(--title-grey-color);
}

.compare-procedures-rle .procedures-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border-color);
  padding: 0;
}

.compare-procedures-rle .compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.compare-procedures-rle .compare-table th,
.compare-procedures-rle .compare-table td {
  text-align: left;
  vertical-align: top;
  padding: 1.25rem 1rem;
  border-bottom: 1px solid var(--border-color);
  line-height: 1.45;
}

.compare-procedures-rle .compare-table thead th {
  font-family: var(--primary-font);
  font-weight: var(--font-weight-bold);
  background: var(--bg-yellow-color);
  color: var(--secondary-darker-color) !important;
}

.compare-procedures-rle .compare-table thead th:first-child {
  width: 24%;
}

.compare-procedures-rle .compare-table thead th:nth-child(2) {
  width: 38%;
}

.compare-procedures-rle .compare-table thead th:nth-child(3) {
  width: 38%;
  background: var(--secondary-darker-color);
}

.compare-procedures-rle .compare-table td p {
  margin: 0;
  color: var(--title-grey-color);
}

.compare-procedures-rle .compare-table tbody td:first-child p {
  font-family: var(--primary-font);
  font-weight: var(--font-weight-bold);
}

.compare-procedures-rle .compare-table tbody td:nth-child(3) {
  background: rgba(240, 238, 248, 0.5);
  /* shade du bg light purple */
}

.compare-procedures-rle .compare-table tbody td:nth-child(3) p {
  color: var(--primary-blue-color);
  font-weight: 600;
}


/* Mobile */
@media (max-width:720px) {
  .compare-procedures-rle .compare-table tbody td:first-child::before {
    display: none;
  }

  .compare-procedures-rle .compare-table tbody td:first-child {
    padding: 0.7rem 1rem 0rem !important;
    min-height: 2.9rem;
  }

  .compare-procedures-rle .compare-table tbody td:first-child P {
    color: var(--secondary-darker-color) !important;
  }

  .compare-procedures-rle .procedures-table-wrap {
    background: none;
    border: 0;
  }

  .compare-procedures-rle .compare-table {
    width: 100%;
    min-width: 0;
  }

  .compare-procedures-rle .compare-table thead {
    display: none;
  }

  .compare-procedures-rle .compare-table tbody tr {
    display: block;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin-bottom: 1rem;
    overflow: hidden;
    background: #fff;
  }

  .compare-procedures-rle .compare-table td {
    display: flex;
    gap: 1rem;
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
  }

  .compare-procedures-rle .compare-table td::before {
    content: attr(data-label);
    flex: 0 0 130px;
    font-family: var(--primary-font);
    font-weight: var(--font-weight-bold);
    color: var(--title-grey-color);
    opacity: .7;
  }

  .compare-procedures-rle .compare-table td>* {
    flex: 1;
  }

  .compare-procedures-rle .compare-table tbody td:nth-child(3) {
    background: var(--bg-purple-color);
  }

  .compare-procedures-rle .compare-table tbody td:nth-child(3)::before {
    color: var(--title-font-color);
    font-weight: var(--font-weight-bold);
  }

  .compare-procedures-rle .compare-table tbody td:nth-child(3) p {
    font-weight: var(--font-weight-semibold);
  }
}

/* Compare cost tables on PRICING webpage */
.cost-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 4px;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
}

.cost-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  background-color: #ffffff;
  font-size: 1rem;
  line-height: 1.4;
}

.cost-table__expense-column {
  width: 58%;
}

.cost-table__price-column {
  width: 42%;
}

.cost-table th,
.cost-table td {
  padding: 7px 10px;
  border: 1px solid var(--border-color);
  text-align: left;
  vertical-align: middle;
  overflow-wrap: break-word;
  height: 2.5rem !important;
}

.cost-table thead th {
  background-color: var(--bg-yellow-color);
  border-color: var(--bg-yellow-color);
  font-weight: 700;
}

/*
.cost-table tbody tr:nth-child(even) {
  background-color: var(--bg-blue-color);
} */
.cost-table tbody tr:nth-child(even),
.cost-table tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

.cost-table tbody tr:hover {
  background-color: none;
}

.cost-table__total td {
  font-weight: 500;
}

.cost-table td:last-child {
  font-variant-numeric: tabular-nums;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0, 0, 0, 0);
}

/* Mobile */
@media (max-width: 720px) {
  .cost-table {
    font-size: 0.875rem;
    line-height: 1.3;
  }

  .cost-table p {
    font-size: 0.8rem !important;
  }

  .cost-table__expense-column {
    width: 57%;
  }

  .cost-table__price-column {
    width: 43%;
  }

  .cost-table th,
  .cost-table td {
    padding: 10px 8px;
  }

  .cost-table td:first-child span {
    display: block;
  }
}

/* Très petits écrans */
@media (max-width: 360px) {
  .cost-table {
    font-size: 0.8125rem;
  }

  .cost-table th,
  .cost-table td {
    padding: 9px 6px;
  }
}

/* Compare table on BLOG page */

/* enleve le hover lors du hover ou focus sur le td */
.price-table-wrapper .price-table tbody tr {
  cursor: default;
  transition: none;
}

.price-table-wrapper .price-table tbody tr:hover {
  background: transparent;
  box-shadow: none;
}

.price-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin-top: 1.5rem;
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.5;
  background: #fff;
}

.price-table th,
.price-table td {
  padding: 14px 16px;
  text-align: left;
  border: 1px solid #dcdcdc;
}

.price-table thead th {
  background-color: var(-bg-grey-color);
  font-family: var(--primary-font) !important;
  font-weight: 700;
}

.price-table td.hide-label-mobile p {
  font-family: var(--primary-font) !important;
  font-size: 1rem !important;
  font-weight: 700;
}

/* Mobile */
@media (max-width:720px) {
  .price-table thead {
    display: none;
  }

  .price-table,
  .price-table tbody,
  .price-table tr,
  .price-table td {
    display: block;
    width: 100%;
  }

  .price-table tr {
    margin-bottom: 16px;
    border: 1px solid #dcdcdc;
    background: #fff;
  }

  .price-table td {
    border: none;
    border-bottom: 1px solid #ececec;
    padding: 12px 16px;
    height: fit-content;
  }

  .price-table td:last-child {
    border-bottom: none;
  }

  .price-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
  }

  .price-table td.hide-label-mobile {
    background-color: var(--bg-grey-color);
  }

  .price-table td.hide-label-mobile p {
    font-family: var(--primary-font) !important;
    line-height: 1.8 !important;
    font-size: 1.1rem !important;
    font-weight: 700;
  }

  /* Hide only the Caractéristique label on mobile */
  .price-table td.hide-label-mobile::before {
    display: none;
  }
}

/* Affichage des FAQs sur page de BLOG - identiques, side by side */
.faq-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.faq-card {
  padding: 0.5rem 1.5rem 1.5rem 1.5rem;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: #fff;
}

/* Desktop side by side */
@media (min-width:720px) {
  .faq-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}



/* Activity schedule Do's and dont's tables on Your journey > Recovery webpage */
.activity-guidelines {
  margin-bottom: 2.5rem;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.activity-table {
  width: 100%;
  border-collapse: collapse;
  ;
  margin-top: 2rem;
  margin-top: 2rem;
  background: linear-gradient(0deg, #fafafa, #fff);
  border: 1px solid #E5E7EB;
  padding: 0.5rem;
}

.activity-table thead {
  background: var(--bg-blue-color);
}

.activity-table th,
.activity-table td {
  padding: 1.6rem 2.5rem 1.9rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #E8E9EB;
  border-left: 1px solid #E8E9EB
}

.activity-table th {
  padding: 2rem 1rem 2.5rem 2rem;
  border-bottom: 1px solid #dadada;
  line-height: 1.45;
}

.activity-table th:first-child p {
  font-family: var(--primary-font);
  letter-spacing: 0;
  font-size: 1.7rem;
  color: #3BBA78;
}

.activity-table th:last-child p {
  font-family: var(--primary-font);
  letter-spacing: 0;
  font-size: 1.7rem;
  color: #E03C31;
}

.activity-table td {
  color: #1A1A1A;
  line-height: 1.45;
}

/* mobile cards */
@media (max-width: 720px) {
  .activity-table thead {
    display: none;
  }

  .activity-table,
  .activity-table tbody,
  .activity-table tr,
  .activity-table td {
    display: block;
    width: 100%;
  }

  .activity-table tr {
    background: #fff;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    border-radius: .5rem;
    overflow: hidden;
  }

  .activity-table td {
    padding-left: 2rem;
  }

  .activity-table td:last-child {
    border-bottom: none;
  }

  .activity-table tr td:first-child {
    background: var(--bg-blue-color);
  }

  .activity-table td::before {
    display: none;
  }

  /* Vert pour "What to do" */
  .activity-table td[data-label="What to do"]::before {
    color: #00A86B;
  }

  /* Rouge pour "What to avoid" */
  .activity-table td[data-label="What to avoid"]::before {
    color: #D60000;
  }
}

/* ------------------  Page Testimonials */
/* Page Testimonials - intro bloc trust side y side*/
.trust-stats {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 0;
  width: 100%;
  padding: 1.5rem 0rem;
  font-family: var(--secondary-font);
}

.trust-stat {
  flex: 1 1 0;
  padding: 0rem 2%;
  border-right: 1px solid var(--border-color);
}

.trust-stat:first-child {
  padding-left: 0;
}

.trust-stat:last-child {
  border-right: 0;
  padding-right: 0;
}

.trust-stat__number {
  font-family: var(--primary-font);
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--title-grey-color);
  margin-bottom: 0.15rem;
}

.trust-stat__number span {
  font-size: 0.45em;
  font-weight: 600;
}

.trust-stat__stars {
  color: var(--tertiary-theme-color);
  font-size: 0.95rem;
  letter-spacing: -0.45em;
  line-height: 1;
  margin-bottom: 0.3rem;
}

.trust-stat p {
  margin: 0;
  font-size: clamp(0.72rem, 2.8vw, 0.95rem);
  line-height: 1.35;
  color: var(--title-grey-color);
}

/* Mobile: stays side by side */
@media (max-width: 600px) {
  .trust-stats {
    padding: 2rem 0rem 1rem;
  }

  .trust-stat {
    padding: 0 0.75rem;
  }

  .trust-stat__number {
    font-size: 1.45rem;
  }

  .trust-stat p {
    font-size: 0.68rem;
    line-height: 1.25;
  }

  .trust-stat__stars {
    font-size: 0.7rem;
  }
}

/* Page Testimonials - intro presentation athletes */
.testimonial-feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin: 0 auto;
}

.testimonial-feature-card {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.testimonial-media {
  position: relative;
  min-height: 150px;
  background: var(--bg-grey-color);
}

.testimonial-media img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
  display: block;
}

.video-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
}

.video-cta i {
  color: var(--tertiary-theme-color);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none !important;
}

.video-cta a {
  display: inline-block;
}

.testimonial-content {
  padding: 1.5rem 1rem 2rem;
}

.testimonial-tag {
  display: inline-flex;
  width: fit-content;
  margin: 1.5rem 0 0;
  padding: .3rem .9rem;
  border-radius: 20px;
  background: var(--bg-blue-color);
  color: var(--secondary-darker-color) !important;
  font-family: var(--secondary-font);
  font-size: .85rem;
  font-weight: 700;
}

.testimonial-tag-info {
  display: inline-flex;
  font-family: var(--secondary-font);
  font-size: .85rem;
  font-weight: 700;
  padding: 0 .7rem;
  color: var(--link-color) !important;
  margin-bottom: 0;
}

.testimonial-content h3 {
  margin: 1rem 0 0 0;
}

.testimonial-content blockquote {
  width: 100%;
  padding: 0.2rem 1.5rem .2rem 1rem !important;
}

/* desktop */
@media (min-width: 768px) {
  .testimonial-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .testimonial-feature-card {
    grid-template-rows: auto 1fr;
  }

  .testimonial-content {
    padding: 2rem;
  }

  .testimonial-media,
  .testimonial-media img {
    min-height: 260px;
  }
}

/* menu chips label pour navigation des testimonials */
.chips-testi {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.25rem 0 0.75rem;
  margin: 0.7rem 0 0;
  scrollbar-width: none;
}

.chips-testi::-webkit-scrollbar {
  display: none;
}

.chip-testi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 2.5rem;
  padding: 0.55rem 1rem 0.7rem;
  border-radius: 20px;
  background: white;
  font-family: var(--secondary-font);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid var(--border-color);
  margin: 5px 0;
}

.chip-testi:hover,
.chip-testi:focus {
  background: var(--title-grey-color);
  color: white !important;
  text-decoration: none;
}

.chip-testi.is-active,
.chip-testi a {
  color: white;
}


/* Page Promotions - presentation 2 cards */
.promo-hero-feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin: 0 auto;
}

.promo-hero-feature-card {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.promo-hero-media {
  position: relative;
  min-height: 150px;
  background: var(--bg-grey-color);
}

.promo-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
  display: block;
}

.promo-hero-content {
  padding: 1.5rem 1rem 2rem;
}

.promo-hero-content p {
  margin-bottom: 0;
}

.promo-hero-tag {
  display: inline-flex;
  width: fit-content;
  margin: 1.5rem 0 0;
  padding: .3rem .9rem;
  border-radius: 20px;
  background: var(--bg-blue-color);
  color: var(--secondary-darker-color) !important;
  font-family: var(--secondary-font);
  font-size: .85rem;
  font-weight: 700;
}

.promo-hero-tag-info {
  display: inline-flex;
  font-family: var(--secondary-font);
  font-size: .85rem;
  font-weight: 700;
  padding: 0 .7rem;
  color: var(--link-color) !important;
  margin-bottom: 0;
}

.promo-hero-content h3 {
  margin: 1rem 0 0 0;
}

.promo-hero-content blockquote {
  width: 100%;
  padding: 0.2rem 1.5rem .2rem 1rem !important;
}

/* desktop */
@media (min-width: 768px) {
  .promo-hero-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .promo-hero-feature-card {
    grid-template-rows: auto 1fr;
  }

  .promo-hero-content {
    padding: 2rem;
  }

  .promo-hero-media,
  .promo-hero-media img {
    min-height: 260px;
  }
}


/* special code for testimonial in cards accordeon */
.accordion-item .testi-accordion-content p {
  padding-top: 0rem;
}

.testi-accordion-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 0 0.5rem;
}

.testi-thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--bg-grey-color);
}

.testi-copy {
  flex: 1;
  min-width: 0;
}

.testi-name {
  margin: 0 0 0.2rem;
  font-family: var(--primary-font);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--title-grey-color);
}

.testi-role {
  margin: 0rem;
  font-family: var(--secondary-font);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--link-color);
}

.testi-quote {
  margin: 0.5rem 0;
  font-family: var(--secondary-font);
  font-size: 0.9rem;
  line-height: 1.4;
  padding: 0;
  width: 100%;
  border: none;
}

.video-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
}

.video-cta i {
  color: var(--tertiary-theme-color);
  font-size: 0.95rem;
  line-height: 1;
}

.video-cta a {
  display: inline-block;
}

@media (max-width: 480px) {
  .testi-accordion-content {
    gap: 0.8rem;
  }

  .testi-thumb {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    width: 20%;
  }
}

/* Testimonials copy sur une photo tesitmonial en card - use in dr alban miami*/
.patient-photo-card {
  position: relative;
  overflow: hidden;
}

/* gradient subtil pour lisibilité */
.patient-photo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.45) 0%,
      rgba(0, 0, 0, 0.15) 30%,
      rgba(0, 0, 0, 0) 60%);
}

.patient-photo-overlay {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 32px;
  z-index: 2;
}

.patient-photo-quote {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  line-height: 1.3;
  font-weight: 600;
  max-width: 22ch;
  font-style: italic;
}

/* ------------------  Page Your journey */
/* Page Candidacy - bloc prescription */
.vision-prescription-card {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 3vw, 1.2rem);
  width: 100%;
  padding: 1.5rem 1rem;
  border-radius: 20px;
  box-sizing: border-box;
  min-width: 0;
  background-color: white;
  margin-bottom: 1.25rem;
}

.vision-prescription-value {
  flex: 0 0 3.5rem;
  width: 3.5rem;
  min-width: 3.5rem;
  text-align: right;
}

.vision-prescription-value p {
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--link-color);
  margin-bottom: 0;
}

.vision-prescription-content {
  flex: 1;
  min-width: 0;
}

.vision-prescription-content h4 {
  margin: 0;
  overflow-wrap: break-word;
  line-height: 1.3 !important;
  font-size: 1rem !important;
}

.vision-prescription-content p {
  margin: 0;
  overflow-wrap: break-word;
}

/* desktop */
@media (min-width: 768px) {
  .vision-prescription-value {
    flex: 0 0 4.25rem;
    width: 4.25rem;
    min-width: 4.25rem;
  }

  .vision-prescription-card {
    padding: 1.5rem;
  }

  .vision-prescription-value p {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 991.98px) {

  .topbar {
    display: none;
  }

  /* Undo parent theme 821px floats until desktop breakpoint */
  .region.region-nav-main .block-menu.navigation,
  .region.region-nav-main .language-switcher-language-url {
    float: none !important;
  }

  .region-nav-main .menu--main>.navbar-nav>.nav-item.dropdown>a.nav-link,
  .region-nav-main .menu--main>.navbar-nav>.nav-item.dropdown>span.nav-link,
  .region-nav-main .menu--main>.navbar-nav>.nav-item:not(.dropdown)>.nav-link {
    color: var(--main-menu-active-color);
  }

  /*mobile find clinic icon start*/
  .region.region-nav-branding {
    display: flex;
    align-items: center;
    flex: 1;
  }

  div#block-vg-subtheme-findyourclinicmenuicon {
    margin-left: auto;
    font-size: 1.5rem;
    padding-right: 2rem;
  }

  button.navbar-toggler {
    border: none;
  }

  .navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23373536' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    background-image: var(--bs-navbar-toggler-icon-bg);
  }

  /*mobile find clinic icon end*/
  /*menu start*/
  .region.region-nav-main {
    padding: inherit;
    border: 0;
  }

  #block-vg-subtheme-mainnavigation {
    border-top: 1px solid var(--border-color);
    padding-top: 0.5rem;
  }

  .region-nav-main ul {
    padding: 0 !important;
    margin: 0 !important;
  }

  .region-nav-main ul li {
    padding: 0 0.9rem;
  }

  /*menu end*/
  /* Mobile CTA menu block */
  #block-vg-subtheme-ctamobilemenu {
    margin-top: 0.5rem;
    padding: 0 0.9rem 0;
  }

  #block-vg-subtheme-ctamobilemenu .nav-item {
    border-bottom: none !important;
    padding: 0 !important;
    display: flex;
    justify-content: center;
  }

  #block-vg-subtheme-ctamobilemenu a.book.nav-link {
    width: 85vw !important;
  }

  /* Mobile extras menu block */
  #block-vg-subtheme-mobileextrasmenu {
    background-color: var(--bg-yellow-color);
    padding: 1rem 0.9rem;
  }

  #block-vg-subtheme-mobileextrasmenu .nav-item {
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #block-vg-subtheme-mobileextrasmenu a.nav-link {
    padding: 0.5rem 0 !important;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--main-menu-active-color);
    font-family: var(--primary-font) !important;
    font-size: var(--main-menu-font-size);
    font-weight: var(--font-weight-bold);
  }

  #block-vg-subtheme-mobileextrasmenu a.nav-link::before {
    font-size: 1.2rem;
    width: 1.2rem;
    height: 1.2rem;
    line-height: 1.2rem;
    flex-shrink: 0;
    text-align: center;
    color: var(--tertiary-darker-color);
  }

  #block-vg-subtheme-mobileextrasmenu a.free-strater-kit.nav-link::before {
    margin-right: 0;
  }

  .navbar-expand-lg {
    padding: 0;
  }

  nav.navbar.navbar-expand-lg {
    height: auto;
  }

  /* Main menu: hide Find your clinic + Search (desktop-only at 992px+) */
  #block-vg-subtheme-mainnavigation .navbar-nav>li.nav-item:has(> a.search-menu),
  #block-vg-subtheme-mainnavigation .navbar-nav>li.nav-item:has(> a.find-your-clinic) {
    display: none !important;
  }
}

@media screen and (min-width: 992px) {

  /* Viewport visibility — hide mobile-only blocks */
  #block-vg-subtheme-sitebranding,
  #block-vg-subtheme-findyourclinicmenuicon,
  #block-vg-subtheme-ctamobilemenu,
  #block-vg-subtheme-mobileextrasmenu,
  nav.navbar>.container>button.navbar-toggler,
  #navbarSupportedContent>a.navbar-toggler {
    display: none !important;
  }

  .navbar-expand-lg {
    background: none;
    padding: 115px 0 0;
  }

  .navbar-expand-lg.no-top-bar {
    padding: 0;
  }

  /* Top bar — logo left, utility links + book CTA right */
  .topbar {
    background-color: var(--language-switcher-bg-color);
    border-bottom: 1px solid var(--border-color);
    height: auto;
    padding: 0.625rem 0;
  }

  .topbar .container.d-flex {
    align-items: center;
  }

  @media (min-width: 1200px) {
    .navbar .container {
      max-width: 1330px
    }

    html[lang="fr"] .navbar .container {
      max-width: 1365px
    }

    html[lang="us"] .navbar .container {
      max-width: 1380px
    }
  }

  .topbar .region.region-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: inherit;
  }

  .topbar .navbar-brand {
    flex-shrink: 0;
    margin: 0;
  }

  .menu--top-bar {
    margin-left: auto;
    flex-shrink: 0;
  }

  .topbar .menu--top-bar ul.navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    flex-wrap: nowrap;
    float: none;
    gap: 4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .topbar .menu--top-bar ul.navbar-nav>.nav-item {
    float: none;
    display: list-item;
    width: auto;
    clear: none;
    margin: 0;
    padding: 0;
    border: none;
  }

  .menu--top-bar a.free-strater-kit.nav-link,
  .menu--top-bar a.phone.nav-link {
    display: inline-flex;
    align-items: center;
    color: var(--bs-body-color) !important;
    font-size: 1.1rem !important;
    font-weight: var(--font-weight-bold) !important;
    padding: 0 !important;
    background: none;
    border: none;
    width: auto !important;
    text-decoration: none;
    font-family: var(--primary-font);
  }

  .menu--top-bar a.book.nav-link {
    display: inline-block;
    margin: 0;
    white-space: nowrap;
  }

  .menu--top-bar a.free-strater-kit.nav-link::before,
  .menu--top-bar a.phone.nav-link::before {
    font-size: 1.125rem;
    padding: 0 0.5rem 0 0;
  }

  .menu--top-bar a.book.nav-link::before {
    content: none;
    display: none;
    padding: 0;
  }

  /* Main nav row — desktop (LMD) */
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-grow: 1;
  }

  .navbar-expand-lg .region-nav-main {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
  }

  .navbar-expand-lg .menu--main>.navbar-nav {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-right: 1px solid var(--border-color);
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item {
    border-bottom: none;
    display: flex;
    align-items: stretch;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link,
  .navbar-expand-lg .region-nav-main .block-language ul.links>li>a.nav-link.language-switcher__toggle.language-switcher__current {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    width: auto !important;
    padding: 1rem 2rem !important;
    color: var(--main-menu-active-color) !important;
    font-weight: var(--font-weight-bold) !important;
    font-size: var(--main-menu-font-size) !important;
    font-family: var(--primary-font) !important;
    text-decoration: none;
    white-space: nowrap;
    background: none;
    border: none;
    --bs-nav-link-hover-color: var(--primary-theme-color);
    line-height: normal;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.find-your-clinic.nav-link {
    gap: 1rem;
  }

  html[lang="fr"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="fr"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 1rem 1rem !important;
  }

  html[lang="us"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="us"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link,
  html[lang="us"] .navbar-expand-lg .region-nav-main .block-language ul.links>li>a.nav-link.language-switcher__toggle.language-switcher__current {
    padding: 1rem 1.5rem !important;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item:first-child>.nav-link {
    padding-left: 0 !important;
  }

  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu {
    top: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 20px;
    box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    --bs-dropdown-link-active-color: var(--primary-theme-color);
    --bs-dropdown-link-hover-color: var(--primary-theme-color);
    --bs-dropdown-link-hover-bg: transparent;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-0.5rem);
    pointer-events: none;
    transform-origin: top center;
    transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s linear 0.22s;
  }

  .navbar-expand-lg .menu--main>.navbar-nav .dropdown.show>.dropdown-menu,
  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s linear 0s;
  }

  @media (prefers-reduced-motion: reduce) {
    .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu {
      transition: none;
      transform: none;
    }
  }

  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu::after {
    display: none;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item.dropdown {
    position: relative;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item.dropdown::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-bottom-color: #fff;
    border-right-color: #fff;
    transform: translate(-50%, 50%) rotate(45deg);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease-out, visibility 0s linear 0.22s;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item.dropdown.show::after {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.22s ease-out, visibility 0s linear 0s;
  }

  @media (prefers-reduced-motion: reduce) {
    .navbar-expand-lg .menu--main>.navbar-nav>.nav-item.dropdown::after {
      transition: none;
    }
  }

  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu>li,
  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu .dropdown-submenu--level-2>li,
  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-menu .submenu-group {
    border: none !important;
    border-bottom: none !important;
  }

  .navbar-expand-lg .menu--main>.navbar-nav .dropdown-submenu--level-2 {
    list-style: none;
    margin: 0 1rem 0.75rem !important;
    padding-left: 0 !important;
    border-left: 2px solid var(--border-color);
  }

  .navbar-expand-lg .menu--main .nav-link span.fa-chevron-down,
  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link span.fa-chevron-down {
    color: var(--link-color);
    font-size: 14px;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item:has(a.find-your-clinic),
  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item:has(a[href="/find-your-clinic"]) {
    background-color: var(--bg-yellow-color);
    border-left: 1px solid var(--border-color);
  }

  .region-nav-main .menu--main>.navbar-nav>.nav-item>a.nav-link.find-your-clinic.active.is-active,
  .region-nav-main .menu--main>.navbar-nav>.nav-item>a.nav-link[href="/find-your-clinic"].active.is-active {
    color: var(--title-font-color) !important;
  }

  .navbar-expand-lg .menu--main a.find-your-clinic.nav-link,
  .navbar-expand-lg .menu--main a.nav-link[href="/find-your-clinic"] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }

  .navbar-expand-lg .menu--main a.find-your-clinic.nav-link::before {
    font-size: 1.125rem;
  }

  .navbar-expand-lg #block-vg-subtheme-mainnavigation {
    border: none;
    padding-top: 0;
    float: none;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item:has(a.search-menu),
  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item:has(a.search) {
    border-left: 1px solid var(--border-color);
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.search-menu.nav-link,
  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.search.nav-link {
    font-size: 0 !important;
    line-height: 0;
    gap: 0;
    justify-content: center;
    min-width: 4rem;
    overflow: hidden;
    padding: 0 ! important;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.search-menu.nav-link::before {
    font-size: 1.125rem;
    line-height: 1;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.search.nav-link::after {
    font-size: 1.125rem;
    line-height: 1;
    color: var(--link-color);
  }

  .navbar-expand-lg .region-nav-main .block-language {
    float: none;
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
  }

  .navbar-expand-lg .region-nav-main .block-language ul.links {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown {
    position: relative;
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    overflow: visible;
  }


  .navbar-expand-lg .region-nav-main .block-language .dropdown-menu {
    position: absolute;
    display: block !important;
    min-width: 280px;
    background-color: #fff;
    z-index: 999;
    right: 0;
    left: auto;
    top: 100% !important;
    bottom: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 20px 30px 20px;
    border: 1px solid var(--border-color) !important;
    border-radius: 20px;
    box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-0.5rem);
    pointer-events: none;
    transform-origin: top center;
    transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s linear 0.22s;
  }

  .navbar-expand-lg .region-nav-main .block-language .dropdown.show .dropdown-menu,
  .navbar-expand-lg .region-nav-main .block-language .dropdown-menu.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.22s ease-out, transform 0.22s ease-out, visibility 0s linear 0s;
  }

  .navbar-expand-lg .region-nav-main .block-language .dropdown-menu::after {
    display: none;
  }

  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-bottom-color: #fff;
    border-right-color: #fff;
    transform: translate(-50%, 50%) rotate(45deg);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease-out, visibility 0s linear 0.22s;
  }

  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown.show::after {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.22s ease-out, visibility 0s linear 0s;
  }
}

@media screen and (max-width: 991.98px) {
  nav.navbar.navbar-expand-lg {
    background-color: #fff;
    position: fixed;
    height: auto;
    width: 100%;
    z-index: 11;
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 0 10px 4px rgba(0, 0, 0, .1);
  }

  main {
    padding-top: 80px;
  }
}

/* Compact desktop main nav only — 992px to 1367px (topbar unchanged) */
@media screen and (min-width: 992px) and (max-width: 1367.98px) {
  .navbar-expand-lg {
    padding: 99px 0 0;
  }

  .navbar-expand-lg .region-nav-main {
    flex: 1 1 auto;
    min-width: 0;
  }

  .navbar-expand-lg #block-vg-subtheme-mainnavigation {
    flex: 1 1 auto;
    min-width: 0;
  }

  .navbar-expand-lg .menu--main>.navbar-nav {
    flex: 1 1 auto;
    width: 100%;
    justify-content: space-between;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 0.875rem 1.125rem !important;
    font-size: 1rem !important;
    gap: 0.3em;
  }

  html[lang="fr"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="fr"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 0.875rem 0.875rem !important;
  }

  html[lang="us"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="us"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 0.875rem 1rem !important;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.find-your-clinic.nav-link {
    gap: 0.5rem;
  }

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>a.search-menu.nav-link {
    min-width: 3.5rem;
  }
}

/* Tighter main nav — container still ~992px below 1200px */
@media screen and (min-width: 992px) and (max-width: 1199.98px) {

  .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 0.875rem 0.75rem !important;
    font-size: 0.9375rem !important;
  }

  html[lang="fr"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="fr"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link,
  html[lang="us"] .navbar-expand-lg .menu--main>.navbar-nav>.nav-item>.nav-link,
  html[lang="us"] .navbar-expand-lg .region-nav-main .block-language ul.links>li.dropdown>a.nav-link {
    padding: 0.875rem 0.75rem !important;
  }
}

/*******************************************************/
/*********************  Age test quiz ******************/
/*******************************************************/
.agetest .paraPad {
  padding-top: 0;
}

.ui-article-content.bgt {
  background: inherit;
}

.test-wrapper {
  --agetest-min-height: clamp(500px, 55vw, 520px);
  --agetest-quest-width: 14rem;
  --agetest-quest-height: clamp(6.5rem, 12vw, 8rem);
  width: 100%;
}

.test-wrapper .test-quiz {
  border-radius: 20px;
  min-height: var(--agetest-min-height);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.test-wrapper .test-quiz .step {
  align-items: center;
  background-image: url(/themes/custom/mmm_vg_subtheme/img/agetest/LMD-Website-Age-Test-clinic.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  display: none;
  flex-direction: column;
  justify-content: center;
  min-height: var(--agetest-min-height);
  padding: 2rem 1.5rem;
  width: 100%;
}

.test-wrapper .test-quiz .step.step-1 {
  display: flex;
}

.test-wrapper .test-quiz .step.step-result {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 8% 6%;
}

.test-wrapper .test-quiz .step.step-result.result-18-44 {
  background-image: url(/themes/custom/mmm_vg_subtheme/img/agetest/LMD-Website-Age-Test-18-44.jpg);
  background-position: center right;
}

.test-wrapper .test-quiz .step.step-result.result-45-59 {
  background-image: url(/themes/custom/mmm_vg_subtheme/img/agetest/LMD-Website-Age-Test-45-59.jpg);
  background-position: center right;
}

.test-wrapper .test-quiz .step.step-result.result-over60 {
  background-image: url(/themes/custom/mmm_vg_subtheme/img/agetest/LMD-Website-Age-Test-over60.jpg);
  background-position: center right;
}

.test-wrapper .test-quiz .step h3 {
  color: var(--title-grey-color);
  font-family: var(--primary-font);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.5rem);
  font-weight: var(--font-weight-bold);
  line-height: 1.35;
  margin: 0 0 1rem;
  padding: 0 3rem;
  text-align: center;
}

.test-wrapper .test-quiz .step.step-result h3 {
  padding: 0;
}

.test-wrapper .col2-quests,
.test-wrapper .col3-quests {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 100%;
}

.test-wrapper .col2-quests {
  max-width: calc(var(--agetest-quest-width) * 2 + 1.25rem);
}

.test-wrapper .col3-quests {
  max-width: calc(var(--agetest-quest-width) * 3 + 2.5rem);
}

@media (min-width: 901px) {

  .test-wrapper .col2-quests,
  .test-wrapper .col3-quests {
    flex-wrap: nowrap;
  }
}

.test-wrapper .quest {
  align-items: center;
  background: var(--bg-blue-color);
  border: 4px solid var(--bg-blue-color);
  border-radius: 20px;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  flex: 0 0 var(--agetest-quest-width);
  justify-content: center;
  min-height: var(--agetest-quest-height);
  padding: 1.25rem 1rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  width: var(--agetest-quest-width);
}

.test-wrapper .quest:hover,
.test-wrapper .quest:focus-visible {
  background: var(--secondary-darker-color);
  border-color: var(--secondary-darker-color);
  box-shadow: 0 6px 24px rgba(38, 0, 153, 0.25);
  outline: none;
  transform: translateY(-2px);
}

.test-wrapper .quest p {
  color: var(--title-grey-color);
  font-family: var(--primary-font);
  font-size: clamp(1.35rem, 1rem + 1.2vw, 2.6rem);
  line-height: 1.15;
  margin: 0;
  transition: color 0.2s ease;
}

.test-wrapper .test-quiz .step.step-3 .quest p {
  font-size: clamp(1.125rem, 0.95rem + 0.8vw, 2.2rem);
}

html[lang="fr"] .test-wrapper .quest p {
  font-size: clamp(1.25rem, 0.95rem + 1vw, 2.4rem);
}

html[lang="fr"] .test-wrapper .test-quiz .step.step-3 .quest p {
  font-size: clamp(1rem, 0.9rem + 0.6vw, 2rem);
}

.test-wrapper .quest:hover p,
.test-wrapper .quest:focus-visible p {
  color: #fff;
}

.test-wrapper .test-quiz .step.step-result .card {
  background: rgba(234, 234, 231, 0.88);
  border-radius: 20px;
  max-width: 60%;
  padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 3vw, 1.75rem);
  width: 60%;
}

.test-wrapper .test-quiz .step.step-result .card p {
  color: var(--title-font-color);
  font-family: var(--secondary-font);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.7rem);
  line-height: 1.5;
  margin: 0 0 0.75rem;
}

.test-wrapper .test-quiz .step.step-result .card p:last-child {
  margin-bottom: 0;
}

html[lang="fr"] .test-wrapper .test-quiz .step.step-result .card p {
  font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.6rem);
}

.test-wrapper .test-quiz .step.step-result .card p a.result-text {
  color: inherit;
  font-weight: var(--font-weight-bold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.test-wrapper .test-quiz .step.step-result .card p a.result-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 900px) {
  .test-wrapper .test-quiz .step:not(.step-result) {
    padding: 1.5rem 1rem;
  }

  .test-wrapper .test-quiz .step:not(.step-result) h3 {
    padding: 0 1rem 1rem;
  }

  .test-wrapper .col2-quests,
  .test-wrapper .col3-quests {
    flex-direction: column;
    gap: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .test-wrapper .col2-quests .quest,
  .test-wrapper .col3-quests .quest {
    flex: 0 1 auto;
    margin-left: auto;
    margin-right: auto;
    width: min(100%, var(--agetest-quest-width));
  }

  .test-wrapper .test-quiz .step.step-result {
    align-items: stretch;
    justify-content: flex-end;
    padding: 1.5rem;
  }

  .test-wrapper .test-quiz .step.step-result .card {
    max-width: 100%;
    width: 100%;
  }

  .test-wrapper .test-quiz .step.step-result.result-over60 {
    background-position: right -35px;
    background-size: auto calc(100% + 35px);
  }
}


/** lasikmd partner webform  **/

#block-vg-subtheme-webform {
  width: 1200px;
  margin-inline: auto;
}

.webform-submission-influencer-form {
  width: 50%;
  margin-inline: auto
}

.webform-submission-influencer-form input[type=submit] {
  text-transform: uppercase;
  margin: 1.5em 0;
  padding: 1.3rem 1.5rem !important;
}

/** end lasikmd partner  **/



/* --- Custom CSS Landing pages --- */

/* Corpo Special Fixed Price */
/* mobile first */
section#intro-offer {
  margin: 0 auto;
}

/**FLEXBOX POUR OFFRES**/
section#intro-offer .header-three-columns {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

section#intro-offer .header-three-columns h1 {
  color: #FFFFFF;
}

section#intro-offer .header-three-columns .header-content-left,
section#intro-offer .header-three-columns .header-content-right {
  padding: 1rem;
  text-align: center;
}

section#intro-offer .header-three-columns span.offer-left,
section#intro-offer .header-three-columns span.offer-right {
  font-size: 5.5rem !important;
  text-shadow: 6px 2px 0px #F5A502;
}

/* mixin for Tablet Landscape up; */
@media screen and (min-width : 601px) and (max-width : 900px) {
  section#intro-offer .header-three-columns {
    flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
  }

  section#intro-offer .header-three-columns .header-content-left,
  section#intro-offer .header-three-columns .header-content-right {
    padding: 1rem 2rem;
  }

  section#intro-offer .header-three-columns .header-content-left {
    padding-left: 5.5rem;
  }

  section#intro-offer {
    max-width: 800px;
    align-content: center;
  }
}

/* mixin for Desktop up; */
@media screen and (min-width : 901px) and (max-width : 4000px) {
  section#intro-offer {
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    max-width: 1200px;
  }

  section#intro-offer {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  section#intro-offer .header-three-columns {
    flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
  }

  section#intro-offer .header-three-columns .header-content-left,
  section#intro-offer .header-three-columns .header-content-right {
    padding: 1rem 2rem;
    text-align: center;
  }

  section#intro-offer .header-three-columns span.offer-left,
  section#intro-offer .header-three-columns span.offer-right {
    font-size: 6.5rem !important;
    text-shadow: 6px 2px 0px #F5A502;
  }

  section#intro-offer .header-three-columns .header-content-left {
    padding-left: 6rem;
  }
}