/*
Theme Name: Cœur de lumière
Theme URI: https://moncoeurdelumiere.ch
Author: Cœur de lumière
Description: Thème WordPress natif, léger et conçu pour l’éditeur de blocs.
Version: 1.4.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: coeur-de-lumiere
*/

html { scroll-behavior: smooth; }
body { text-wrap: pretty; }
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: visible; }
body { overflow-x: clip; }
.wp-site-blocks > main { margin-block-start: 0; }
.cdl-site-header {
  z-index: 100;
  box-shadow: 0 1px 0 rgba(56, 42, 35, .08);
}
.wp-block-button__link {
  border: 2px solid #382a23;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease,
    transform .22s ease, box-shadow .22s ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  background: transparent;
  color: #382a23;
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(56, 42, 35, .16);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: #382a23;
  border-color: #382a23;
  color: #fffaf3;
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(56, 42, 35, .16);
}
.wp-block-button__link:focus-visible {
  outline: 3px solid #a68f7d;
  outline-offset: 4px;
}
.cdl-shadow { box-shadow: 0 24px 70px rgba(55, 38, 28, .12); }
.cdl-hero-cover .wp-block-cover__image-background,
.cdl-hero-cover .wp-block-cover__video-background {
  object-position: center;
}
.cdl-hero-cover {
  padding-right: max(1.5rem, calc((100vw - 1180px) / 2)) !important;
  padding-left: max(1.5rem, calc((100vw - 1180px) / 2)) !important;
}
.cdl-hero-cover .wp-block-cover__inner-container {
  width: 100%;
  max-width: 1180px !important;
  margin-right: auto;
  margin-left: auto;
}
.cdl-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  margin-right: auto !important;
  margin-left: 0 !important;
  text-shadow: 0 2px 24px rgba(32, 22, 18, .28);
}
.cdl-hero-copy > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.cdl-hero-primary .wp-block-button__link {
  background: #f6f0e8;
  border-color: #f6f0e8;
  color: #382a23;
  text-shadow: none;
}
.cdl-hero-primary .wp-block-button__link:hover,
.cdl-hero-primary .wp-block-button__link:focus-visible {
  background: transparent;
  border-color: #f6f0e8;
  color: #f6f0e8;
}
.cdl-hero-media {
  overflow: hidden;
  border-radius: 180px 24px 180px 24px;
  background: #f6f0e8;
}
.cdl-hero-media img {
  display: block;
  width: 100%;
}
.cdl-card { transition: transform .2s ease, box-shadow .2s ease; }
.cdl-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(55, 38, 28, .12); }
.cdl-card > p { font-size: .96rem; line-height: 1.65; }
.cdl-card .wp-block-heading { font-size: clamp(1.55rem, 2vw, 1.9rem) !important; }
.cdl-card .wp-block-buttons { margin-top: 1.75rem; }
.cdl-card .wp-block-button__link { font-size: .84rem; padding: .65rem 1.05rem; }
.cdl-card.has-sauge-background-color .is-style-outline .wp-block-button__link,
.cdl-on-dark.is-style-outline .wp-block-button__link {
  border-color: #f6f0e8;
  color: #f6f0e8;
}
.cdl-card.has-sauge-background-color .is-style-outline .wp-block-button__link:hover,
.cdl-card.has-sauge-background-color .is-style-outline .wp-block-button__link:focus-visible,
.cdl-on-dark.is-style-outline .wp-block-button__link:hover,
.cdl-on-dark.is-style-outline .wp-block-button__link:focus-visible {
  background: #f6f0e8;
  border-color: #f6f0e8;
  color: #382a23;
}
.cdl-kicker { letter-spacing: .15em; text-transform: uppercase; }
.cdl-footer a {
  color: #f6f0e8;
  text-decoration-color: rgba(246, 240, 232, .45);
  transition: color .2s ease, text-decoration-color .2s ease;
}
.cdl-footer a:hover,
.cdl-footer a:focus-visible {
  color: #d9c9b8;
  text-decoration-color: #d9c9b8;
}
.cdl-price-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cdl-price-card > * { margin-block: 0 !important; }
.cdl-price-line {
  width: 100%;
  padding-top: .9rem;
  border-top: 1px solid rgba(56, 42, 35, .18);
}
.cdl-price-card.has-espresso-background-color .cdl-price-line,
.cdl-price-card.has-sauge-background-color .cdl-price-line {
  border-top-color: rgba(255, 252, 247, .3);
}
.cdl-price-list {
  padding: 0;
  list-style: none;
}
.cdl-price-list li {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(56, 42, 35, .16);
}
.cdl-price-list span { white-space: nowrap; }
.cdl-care-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border: 1px solid rgba(56, 42, 35, .12);
  border-radius: 24px;
  background: #f6f0e8;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cdl-care-card:nth-child(2) { background: #d9c9b8; }
.cdl-care-card:nth-child(3) { background: #eef0e7; }
.cdl-care-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(55, 38, 28, .1); }
.cdl-care-card > * { margin-block: 0 !important; }
.cdl-care-card .wp-block-buttons { margin-top: auto !important; padding-top: .75rem; }
.cdl-care-card-wide { background: #e7ddd1; }
.cdl-check-list { padding-left: 1.25rem; }
.cdl-check-list li { margin-bottom: .75rem; padding-left: .35rem; }
.cdl-care-aside { box-shadow: 0 18px 45px rgba(55, 38, 28, .1); }
.cdl-care-hero-image {
  overflow: hidden;
  border-radius: 120px 24px 120px 24px;
  box-shadow: 0 20px 55px rgba(55, 38, 28, .13);
}
.cdl-care-hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.wp-block-details {
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(56, 42, 35, .16);
}
.wp-block-details summary { cursor: pointer; font-weight: 700; }
.wp-block-details[open] summary { margin-bottom: .75rem; }
.cdl-location-card { box-shadow: 0 18px 45px rgba(55, 38, 28, .08); }
.cdl-map {
  overflow: hidden;
  border-radius: 24px 120px 24px 120px;
  background: #d9c9b8;
  box-shadow: 0 22px 60px rgba(55, 38, 28, .13);
}
.cdl-map iframe { display: block; width: 100%; }
@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link { transition: none; }
  .wp-block-button__link:hover,
  .wp-block-button__link:focus-visible { transform: none !important; }
}
@media (max-width: 781px) {
  .cdl-reverse-mobile { flex-direction: column-reverse; }
  .cdl-price-line,
  .cdl-price-list li { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .cdl-hero-cover { min-height: 620px !important; }
  .cdl-hero-cover .wp-block-cover__image-background,
  .cdl-hero-cover .wp-block-cover__video-background { object-position: 62% center; }
}
@media (min-width: 782px) {
  .wp-site-blocks > header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .cdl-site-header {
    position: relative;
    top: auto;
  }
  body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
}
