/* === @font-face Baar Sophia === */
@font-face {
    font-family: "Baar Sophia";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://jardins-enfants-steiner.ch/wp-content/uploads/fonts/BaarSophia-lg4Z.ttf') format('truetype');
}
@font-face {
    font-family: "Baar Sophia";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('https://jardins-enfants-steiner.ch/wp-content/uploads/fonts/BaarSophiaItalic-RpEv.ttf') format('truetype');
}
@font-face {
    font-family: "Baar Sophia";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://jardins-enfants-steiner.ch/wp-content/uploads/fonts/BaarSophiaBold-nReR.ttf') format('truetype');
}
@font-face {
    font-family: "Baar Sophia";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('https://jardins-enfants-steiner.ch/wp-content/uploads/fonts/BaarSophiaBolditalic-1GJj.ttf') format('truetype');
}

.page-title, .entry-title {
	display: none !important;
}

/* Diminui o tamanho máximo do logo */
.custom-logo {
    max-width: 400px !important; 
    height: auto !important;
}

/* Remove o título do site completamente */
.site-title, .site-title a {
    display: none !important;
}

/* Diminui o espaçamento interno do cabeçalho */
.site-header {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
/* === Padronização de títulos com Baar Sophia === */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Baar Sophia", var(--wp--preset--font-family--baar-sophia, sans-serif) !important;
}

/* Tamanhos padronizados */
h1 { font-size: 4.5rem; }       /* ~80px */
h2 { font-size: 3.6rem; }       /* ~64px */
h3 { font-size: 2.7rem; }       /* ~48px */
h4 { font-size: 1.25rem; }    /* ~20px */
h5 { font-size: 1.125rem; }   /* ~18px */
h6 { font-size: 1rem; }       /* ~16px */

ul.wp-block-social-links svg {
    width: 20px !important;
    height: 20px !important;
}

ul.wp-block-social-links li {
    margin-right: 15px; /* Ajusta o espaçamento entre um ícone e outro */
}

/* La Tourmaline - calendrier des evenements */

/* Guard: WordPress.com sometimes drops the first rule pasted here */
.tribe-events .tribe-events-l-container { position: relative; }

/* ---------- Event page: cream card + rainbow stripe ---------- */
.tribe-events-single {
  background: #fbf5e6;
  border-radius: 28px;
  box-shadow: 0 10px 30px -18px rgba(120, 90, 50, .35);
  max-width: 1000px;
  margin: 3rem auto;
  position: relative;
  overflow: hidden;
}
.tribe-events-single::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 10px;
  background: linear-gradient(90deg, #b5cdea 0 20%, #f3cf6b 20% 40%, #cf6660 40% 60%, #bcd27f 60% 80%, #a8d5c5 80% 100%);
}

/* ---------- Calendar page: intro text above, cream card below ---------- */
/* The plugin puts the intro text inside the calendar box, so the card is
   painted on each part that follows it instead of on the box itself */
.tribe-events .tribe-events-l-container {
  max-width: 1000px;
  margin: 3rem auto;
  padding: 0 !important;
}
.tribe-events .tribe-events-before-html {
  padding: 0 1rem 2.5rem;
}
.tribe-events .tribe-events-l-container > .tribe-events-before-html ~ * {
  background: #fbf5e6;
  padding-left: 2.25rem !important;
  padding-right: 2.25rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* first part: rounded top + rainbow stripe */
.tribe-events .tribe-events-before-html + * {
  border-radius: 28px 28px 0 0;
  padding-top: 2.5rem !important;
  background: linear-gradient(90deg, #b5cdea 0 20%, #f3cf6b 20% 40%, #cf6660 40% 60%, #bcd27f 60% 80%, #a8d5c5 80% 100%) top / 100% 10px no-repeat, #fbf5e6 !important;
}
/* last part: rounded bottom */
.tribe-events .tribe-events-l-container > .tribe-events-after-html {
  border-radius: 0 0 28px 28px;
  padding-bottom: 2rem !important;
}
/* keeps the last event's spacing inside the card */
.tribe-events .tribe-events-calendar-list {
  display: flow-root;
}
/* month grid: tables ignore padding, so use margins + filled sides */
.tribe-events .tribe-events-l-container > table.tribe-events-calendar-month {
  width: calc(100% - 4.5rem) !important;
  margin: 0 2.25rem !important;
  padding: 0 !important;
  box-shadow: -2.25rem 0 0 #fbf5e6, 2.25rem 0 0 #fbf5e6;
}

/* ---------- Search bar ---------- */
.tribe-events .tribe-events-c-events-bar {
  background: #fff;
  border: none !important;
  border-radius: 999px;
  box-shadow: none !important;
  padding: 0 .5rem;
  overflow: hidden;
}
.tribe-events .tribe-events-c-events-bar__search-container {
  border: none !important;
  box-shadow: none !important;
}
.tribe-events .tribe-events-c-events-bar__search-container,
.tribe-events .tribe-events-c-view-selector__content {
  background: transparent !important;
}
.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-events-c-view-selector__list-item-text {
  color: #5a4a3f;
}
.tribe-events .tribe-events-c-view-selector__list-item-text {
  font-weight: 600;
}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after {
  background: #cf6660;
  height: 3px;
  border-radius: 3px;
}

/* ---------- Buttons (Chercher, Aujourd'hui, S'abonner) ---------- */
.tribe-common .tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button {
  background: #cf6660 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 600;
  letter-spacing: .02em;
}
.tribe-common .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button:hover {
  background: #b8524c !important;
}
.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  border: 1px solid #cf6660 !important;
  color: #cf6660 !important;
  background: transparent !important;
  border-radius: 999px !important;
}
.tribe-events .tribe-events-c-top-bar__today-button {
  padding: .35rem 1rem !important;
}
.tribe-events .tribe-events-c-top-bar__today-button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within {
  background: #cf6660 !important;
  color: #fff !important;
}
.tribe-events .tribe-events-c-subscribe-dropdown__button svg path {
  fill: currentColor;
}

/* ---------- Arrows, month title, prev/next links ---------- */
.tribe-events .tribe-events-c-top-bar__nav-link svg path,
.tribe-events .tribe-events-c-nav__prev svg path,
.tribe-events .tribe-events-c-nav__next svg path {
  fill: #cf6660 !important;
}
.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next {
  color: #cf6660 !important;
}
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__datepicker-desktop {
  font-family: "Baar Sophia", serif;
  color: #cf6660;
  font-size: 2rem;
  font-weight: 400;
}

/* ---------- Date picker (opens when clicking "A venir" / the month) ---------- */
/* The days are buttons, so the theme's button styles (pink, black outline) are reset here */
.tribe-events .tribe-events-c-top-bar__datepicker-button svg path {
  fill: #cf6660 !important;
}
.tribe-events .datepicker {
  background: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 34px -14px rgba(120, 90, 50, .45) !important;
  padding: .75rem 1rem 1rem !important;
}
.tribe-events .datepicker .datepicker-switch {
  font-family: "Baar Sophia", serif !important;
  color: #cf6660 !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
}
.tribe-events .datepicker .datepicker-switch,
.tribe-events .datepicker .prev,
.tribe-events .datepicker .next {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.tribe-events .datepicker .prev svg path,
.tribe-events .datepicker .next svg path {
  fill: #cf6660 !important;
}
.tribe-events .datepicker .dow {
  color: #cf6660 !important;
  font-weight: 700;
  font-size: .75rem;
}
.tribe-events .datepicker .dow abbr {
  text-decoration: none !important;
  border: 0 !important;
  cursor: default;
}
.tribe-events .datepicker .day,
.tribe-events .datepicker .month,
.tribe-events .datepicker .year {
  background: transparent !important;
  color: #5a4a3f !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 999px !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-weight: 400 !important;
}
.tribe-events .datepicker .past,
.tribe-events .datepicker .old,
.tribe-events .datepicker .new {
  color: #b9ab98 !important;
}
.tribe-events .datepicker .day:hover,
.tribe-events .datepicker .month:hover,
.tribe-events .datepicker .year:hover,
.tribe-events .datepicker .focused {
  background: #fbf5e6 !important;
  color: #cf6660 !important;
}
.tribe-events .datepicker .day:focus-visible,
.tribe-events .datepicker .month:focus-visible,
.tribe-events .datepicker .year:focus-visible {
  box-shadow: 0 0 0 2px #cf6660 !important;
}
.tribe-events .datepicker .active,
.tribe-events .datepicker .active:hover {
  background: #cf6660 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* ---------- "No events" message ---------- */
.tribe-events .tribe-events-c-messages__message {
  background: #fff;
  border: 2px dashed #a8d5c5;
  border-radius: 18px;
  color: #5a4a3f;
  padding: 1.5rem;
}
.tribe-events .tribe-events-c-messages__message-icon-svg path,
.tribe-events .tribe-events-c-messages__message-icon-svg rect {
  stroke: #cf6660;
}

/* ---------- List view: month heading ---------- */
.tribe-events .tribe-events-calendar-list__month-separator {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 1.25rem;
}
.tribe-events .tribe-events-calendar-list__month-separator h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
.tribe-events .tribe-events-calendar-list__month-separator-text {
  font-family: "Baar Sophia", serif;
  color: #cf6660;
  font-size: 1.3rem !important;
  line-height: 1 !important;
  text-transform: none;
  margin: 0 !important;
}
.tribe-events .tribe-events-calendar-list__month-separator::after {
  background: #eadfc8;
  margin-left: 1rem;
  align-self: center;
}

/* ---------- List view: event cards (date | text | photo, top-aligned) ---------- */
.tribe-events .tribe-events-calendar-list__event-row {
  background: #fff;
  border-radius: 20px;
  padding: 1.5rem 1.25rem;
  margin: 0 0 1.25rem !important;
  align-items: flex-start !important;
  box-shadow: 0 6px 20px -12px rgba(120, 90, 50, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tribe-events .tribe-events-calendar-list__event-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px -14px rgba(120, 90, 50, .45);
}
.tribe-events .tribe-events-calendar-list__event {
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  flex-wrap: nowrap;
}
.tribe-events .tribe-events-calendar-list__event-date-tag,
.tribe-events .tribe-events-calendar-list__event-wrapper,
.tribe-events .tribe-events-calendar-list__event-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.tribe-events .tribe-events-calendar-list__event-details {
  flex: 1 1 auto !important;
  max-width: none !important;
  width: auto !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Date tag */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
  background: #d1665f;
  border-radius: 16px;
  padding: .6rem .4rem;
  height: auto !important;
  align-self: flex-start;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  color: #fff !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
  font-family: "Baar Sophia", serif;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  font-weight: 700;
}

/* Text */
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-list__event-datetime {
  color: #b8524c !important;
  font-weight: 600;
  margin-top: 0 !important;
  line-height: 1.2;
}
.tribe-events .tribe-events-calendar-list__event-title {
  margin: .35rem 0 .6rem !important;
}
.tribe-events .tribe-events-calendar-list__event-title-link {
  font-family: "Baar Sophia", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #cf6660 !important;
}
.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-list__event-venue {
  color: #5a4a3f;
}

/* Photo: small, rounded, far right */
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
  order: 2 !important;
  flex: 0 0 220px !important;
  max-width: 220px !important;
  margin: 0 !important;
  padding-left: 1.5rem;
}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper > a {
  display: block;
  border-radius: 16px;
  overflow: hidden;
}
.tribe-events .tribe-events-calendar-list__event-featured-image {
  border-radius: 16px !important;
  aspect-ratio: 4 / 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.tribe-events .tribe-events-calendar-list__event-row:hover .tribe-events-calendar-list__event-featured-image {
  transform: scale(1.04);
}

/* ---------- Month view ---------- */
.tribe-events .tribe-events-calendar-month__header-column {
  padding: .5rem 0 .75rem !important;
}
.tribe-events .tribe-events-calendar-month__header-column-title {
  color: #cf6660;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .75rem;
}
.tribe-events .tribe-events-calendar-month__day {
  background: #fff !important;
  border-color: #eadfc8 !important;
  transition: background .2s ease;
}
.tribe-events .tribe-events-calendar-month__day:hover {
  background: #fdf9ef !important;
}
.tribe-events .tribe-events-calendar-month__day--past {
  background: #f7f0e1 !important;
}
.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-daynum {
  opacity: .55;
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
  background: #cf6660;
  color: #fff;
  border-radius: 50%;
  width: 1.9rem;
  height: 1.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
  background: #a8d5c5 !important;
}
.tribe-events .tribe-events-calendar-month__calendar-event {
  background: #eef7f3;
  border-left: 4px solid #a8d5c5;
  border-radius: 8px;
  padding: 4px 8px;
  margin-bottom: 4px;
}
.tribe-events .tribe-events-calendar-month__calendar-event:nth-child(3n+2) {
  background: #fdf5dc;
  border-left-color: #f3cf6b;
}
.tribe-events .tribe-events-calendar-month__calendar-event:nth-child(3n+3) {
  background: #eef3fa;
  border-left-color: #b5cdea;
}
.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
  color: #5a4a3f !important;
  font-weight: 600;
}
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
  background: #cf6660;
}

/* ---------- Event page ---------- */
/* Order: back link, date pill, title, photo, description (+ sign-up), info cards, calendar button, prev/next */
.tribe-events-single {
  display: flex;
  flex-direction: column;
  padding: 2.25rem 2.5rem 2.5rem;
}
.tribe-events-single > .tribe_events { display: contents; }
.tribe-events-single #tribe-events-header,
.tribe-events-single .tribe-events-single-event-description:empty,
.tribe-events-single .jp-relatedposts { display: none !important; }

/* Back link */
.tribe-events-single .tribe-events-back {
  order: 0 !important;
  margin: .5rem 0 1.5rem;
}
.tribe-events-single .tribe-events-back a {
  display: inline-block;
  background: #fff;
  color: #cf6660;
  border-radius: 999px;
  padding: .4rem 1rem;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 8px -4px rgba(120, 90, 50, .3);
}
.tribe-events-single .tribe-events-back a:hover {
  background: #cf6660;
  color: #fff;
}

/* Date, time and price pill */
.tribe-events-single .tribe-events-schedule {
  order: 1 !important;
  align-self: flex-start;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .6rem;
  background: #d1665f;
  border: none;
  border-radius: 999px;
  padding: .5rem 1.25rem;
  margin: 0 0 1rem;
}
.tribe-events-single .tribe-events-schedule * {
  font-size: 1rem !important;
  font-weight: 600;
  color: #fff !important;
  margin: 0;
}
.tribe-events-single .tribe-events-schedule .tribe-events-cost::before {
  content: "\2022";
  margin-right: .6rem;
  opacity: .8;
}

/* Title */
.tribe-events-single .tribe-events-single-event-title {
  order: 2 !important;
  font-family: "Baar Sophia", serif;
  color: #cf6660;
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  line-height: 1.15;
  margin: 0 0 1.5rem;
}

/* Photo */
.tribe-events-single .tribe-events-event-image {
  order: 3 !important;
  margin: 0 0 2rem;
  border-radius: 22px !important;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: 0 10px 25px -15px rgba(120, 90, 50, .5);
}
.tribe-events-single .tribe-events-event-image img {
  border-radius: 22px !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Description */
.tribe-events-single .tribe-events-single-event-description {
  order: 4 !important;
  font-size: 1.1rem;
  line-height: 1.7;
  color: #5a4a3f;
  margin-bottom: 2rem;
}

/* Sign-up box: paste the HTML snippet at the end of the event description */
.tm-inscription {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  background: #fff;
  border-radius: 20px;
  border-left: 6px solid #d1665f;
  padding: 1.5rem 1.75rem;
  margin: 2rem 0 .5rem;
  box-shadow: 0 6px 18px -12px rgba(120, 90, 50, .35);
}
.tm-inscription p {
  margin: 0 !important;
  font-family: "Baar Sophia", serif;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #cf6660;
}
.tm-inscription p small {
  display: block;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: .95rem;
  color: #5a4a3f;
  margin-top: .25rem;
}
.tm-bouton {
  display: inline-block;
  background: #d1665f;
  color: #fff !important;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .02em;
  text-decoration: none !important;
  border-radius: 999px;
  padding: .85rem 2rem;
  box-shadow: 0 6px 14px -8px rgba(209, 102, 95, .8);
  transition: background .2s ease, transform .2s ease;
}
.tm-bouton:hover {
  background: #b8524c;
  transform: translateY(-2px);
}
.tm-bouton--complet {
  background: #cfc6b8;
  box-shadow: none;
  pointer-events: none;
}

/* Info cards: Details (yellow), Lieu (mint), Organisateur (blue) */
.tribe-events-single .tribe-events-event-meta {
  order: 5 !important;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1.25rem;
  background: none !important;
  border: none !important;
  margin: 0 0 2rem;
  padding: 0;
}
.tribe-events-single .tribe-events-event-meta::before,
.tribe-events-single .tribe-events-event-meta::after {
  display: none !important;
}
.tribe-events-single .tribe-events-meta-group {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 1.25rem 1.5rem 1.4rem !important;
  background: #fff;
  border-radius: 18px;
  border-top: 6px solid #f3cf6b;
  box-shadow: 0 6px 18px -12px rgba(120, 90, 50, .35);
}
.tribe-events-single .tribe-events-meta-group-venue     { border-top-color: #a8d5c5; }
.tribe-events-single .tribe-events-meta-group-organizer { border-top-color: #b5cdea; }
.tribe-events-single .tribe-events-meta-group .tribe-events-single-section-title {
  font-family: "Baar Sophia", serif !important;
  font-size: 1.4rem !important;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #cf6660;
  margin: 0 0 .75rem;
}
.tribe-events-single .tribe-events-meta-list,
.tribe-events-single .tribe-events-meta-list li {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #5a4a3f;
  font-size: 1rem;
  line-height: 1.5;
}
.tribe-events-single .tribe-events-meta-list li + li { margin-top: .55rem; }
/* Details: label and value side by side */
.tribe-events-single .tribe-events-meta-group-details .tribe-events-meta-item {
  display: grid;
  grid-template-columns: 4.75rem 1fr;
  align-items: baseline;
  column-gap: .5rem;
}
.tribe-events-single .tribe-events-meta-label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #8a7a6c;
  font-weight: 700;
}
/* Long website address shown as a short link */
.tribe-events-single .tribe-events-event-url a { font-size: 0; }
.tribe-events-single .tribe-events-event-url a::after {
  content: "Voir le site \2192";
  font-size: 1rem;
}
.tribe-events-single .tribe-events-meta-list abbr {
  text-decoration: none;
  border: none;
}
.tribe-events-single .tribe-events-event-meta a,
.tribe-events-single #tribe-events-footer a {
  color: #cf6660;
  font-weight: 600;
}

/* "Ajouter au calendrier" button */
.tribe-events-single > .tribe_events > .tribe-events {
  order: 6 !important;
}
.tribe-events-single .tribe-events-c-subscribe-dropdown__container {
  margin: 0 0 1.5rem;
}

/* Previous / next event links */
.tribe-events-single #tribe-events-footer {
  order: 7 !important;
  border-top: 1px solid #eadfc8;
  padding-top: 1.25rem;
  margin: 0;
}

/* ---------- Phones ---------- */
@media (max-width: 640px) {
  .tribe-events .tribe-events-l-container,
  .tribe-events-single {
    margin: 1.5rem 12px;
  }
  .tribe-events-single {
    border-radius: 20px;
    padding: 1.75rem 1.1rem 1.5rem;
  }
  .tribe-events .tribe-events-l-container > .tribe-events-before-html ~ * {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .tribe-events .tribe-events-before-html + * { border-radius: 20px 20px 0 0; }
  .tribe-events .tribe-events-l-container > .tribe-events-after-html { border-radius: 0 0 20px 20px; }
  .tribe-events .tribe-events-l-container > table.tribe-events-calendar-month {
    width: calc(100% - 2rem) !important;
    margin: 0 1rem !important;
    box-shadow: -1rem 0 0 #fbf5e6, 1rem 0 0 #fbf5e6;
  }
  .tribe-events .tribe-events-c-top-bar__datepicker-button {
    font-size: 1.5rem;
  }
  /* List: photo goes on top of the text */
  .tribe-events .tribe-events-calendar-list__event {
    flex-wrap: wrap;
  }
  .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
    order: -1 !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    padding: 0 0 1rem;
  }
  .tribe-events .tribe-events-calendar-list__event-wrapper {
    padding-left: .9rem !important;
  }
  .tribe-events-single .tribe-events-event-meta {
    grid-template-columns: 1fr;
  }
  .tribe-events-single .tribe-events-event-image,
  .tribe-events-single .tribe-events-event-image img {
    aspect-ratio: 4 / 3;
    border-radius: 16px !important;
  }
}

/* =========================================================
   Souvenirs page (Actualites, page id 45)
   Styles the normal WordPress blocks, so anything new you add
   (heading, gallery, image, quote) gets the same look.
   ========================================================= */
.page-id-45 .entry-content > * {
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Section titles: coral, with a small rainbow line under them */
.page-id-45 .entry-content h3 {
  color: #cf6660;
  font-weight: 400;
  font-size: 2.4rem !important;
  line-height: 1.2;
  margin-top: 1rem !important;
  margin-bottom: 1.5rem !important;
}
.page-id-45 .entry-content h3::after {
  content: "";
  display: block;
  width: 120px;
  height: 6px;
  margin: .75rem auto 0;
  border-radius: 6px;
  background: linear-gradient(90deg, #b5cdea 0 20%, #f3cf6b 20% 40%, #cf6660 40% 60%, #bcd27f 60% 80%, #a8d5c5 80% 100%);
}
.page-id-45 .entry-content h3 a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.page-id-45 .entry-content h4 {
  color: #5a4a3f;
  font-size: 1.3rem !important;
}
.page-id-45 .entry-content p {
  color: #5a4a3f;
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
/* Photos and posters: rounded corners; tall posters capped in height
   (small decorative drawings, which are resized, are left alone) */
.page-id-45 .entry-content figure:not(.is-resized) img,
.page-id-45 .entry-content .tiled-gallery__item img,
.page-id-45 .entry-content .wp-block-columns img {
  border-radius: 16px;
}
.page-id-45 .entry-content > .wp-block-image figure:not(.is-resized) img {
  max-height: 640px;
  width: auto;
  max-width: 100%;
  box-shadow: 0 10px 25px -15px rgba(120, 90, 50, .5);
}
.page-id-45 .entry-content .wp-block-gallery {
  gap: 1rem !important;
}
.page-id-45 .entry-content .wp-block-gallery img {
  box-shadow: 0 6px 18px -12px rgba(120, 90, 50, .45);
}
.page-id-45 .entry-content figcaption {
  color: #8a7a6c;
  font-style: italic;
  font-size: .95rem;
}
.page-id-45 .entry-content .wp-block-gallery figcaption {
  background: none !important;
  color: #fff;
  font-style: normal;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}
/* Quote blocks: no side bar, just centred text on the page */
.page-id-45 .entry-content .wp-block-quote {
  border: none !important;
  padding: 0 !important;
}
.page-id-45 .entry-content .wp-block-quote::before {
  display: none;
}
/* Image + text blocks: rounded photo */
.page-id-45 .entry-content .wp-block-media-text__media img {
  border-radius: 16px;
}
.page-id-45 .entry-content .wp-block-media-text__content h3 {
  font-size: 2rem !important;
}
@media (max-width: 640px) {
  .page-id-45 .entry-content h3 {
    font-size: 1.9rem !important;
  }
}

/* =========================================================
   "Upcoming events" block (homepage, or anywhere it is added)
   ========================================================= */
/* Hide the plugin's English "Upcoming Events" title: the page has its own heading */
.tribe-events .tribe-events-widget-events-list__header {
  display: none;
}
.tribe-events .tribe-events-widget-events-list__event-row {
  background: #fff;
  border-radius: 18px;
  padding: .9rem 1.1rem;
  margin: 0 0 .9rem !important;
  align-items: center;
  box-shadow: 0 6px 18px -12px rgba(120, 90, 50, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tribe-events .tribe-events-widget-events-list__event-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -14px rgba(120, 90, 50, .45);
}
.tribe-events .tribe-events-widget-events-list__event-date-tag {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
}
.tribe-events .tribe-events-widget-events-list__event-wrapper {
  flex: 1 1 auto !important;
  padding-left: 1.1rem !important;
}
/* Date tag: same coral as the calendar */
.tribe-events .tribe-events-widget-events-list__event-date-tag-datetime {
  background: #d1665f;
  border-radius: 14px;
  padding: .45rem .3rem;
  min-width: 3.4rem;
  text-align: center;
}
.tribe-events .tribe-events-widget-events-list__event-date-tag-month,
.tribe-events .tribe-events-widget-events-list__event-date-tag-daynum {
  color: #fff !important;
}
.tribe-events .tribe-events-widget-events-list__event-date-tag-month {
  font-weight: 700;
  font-size: .7rem;
  letter-spacing: .06em;
}
.tribe-events .tribe-events-widget-events-list__event-date-tag-daynum {
  font-family: "Baar Sophia", serif;
  font-size: 1.6rem !important;
  line-height: 1.1;
}
/* Time and title */
.tribe-events .tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events .tribe-events-widget-events-list__event-datetime-wrapper * {
  color: #b8524c !important;
  font-weight: 600;
  font-size: .9rem;
}
.tribe-events .tribe-events-widget-events-list__event-title {
  margin: .15rem 0 0 !important;
}
.tribe-events .tribe-events-widget-events-list__event-title-link {
  font-family: "Baar Sophia", serif !important;
  font-weight: 400 !important;
  font-size: 1.4rem !important;
  color: #cf6660 !important;
  text-decoration: none !important;
  border: none !important;
}
.tribe-events .tribe-events-widget-events-list__event-title-link:hover {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
/* "Voir le calendrier" as a coral button */
.tribe-events .tribe-events-widget-events-list__view-more {
  margin-top: 1.25rem;
}
.tribe-events .tribe-events-widget-events-list__view-more-link {
  display: inline-block;
  background: #d1665f;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  border: none !important;
  border-radius: 999px;
  padding: .7rem 1.6rem;
  box-shadow: 0 6px 14px -8px rgba(209, 102, 95, .8);
  transition: background .2s ease;
}
.tribe-events .tribe-events-widget-events-list__view-more-link:hover {
  background: #b8524c;
}

