/*
Theme Name: Rites des Bois
Theme URI: https://ritesdesbois.fr/
Author: Association Rites des Bois
Description: Thème à blocs gratuit pour Rites des Bois & des Étangs.
Version: 0.1.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: rites-des-bois
*/

html { scroll-behavior: smooth; }
body { margin: 0; }

.rdb-header {
  min-height: 88px;
  padding: 0 5vw;
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(32, 50, 40, .08);
}
.rdb-brand { gap: 12px; }
.rdb-brand .wp-block-site-logo { flex: 0 0 auto; }
.rdb-brand .wp-block-site-title {
  margin: 0;
  font: 18px/1.1 Georgia, serif;
  letter-spacing: .02em;
}
.rdb-signature {
  margin: 3px 0 0;
  color: #6f786f;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.rdb-navigation { font-size: 13px; }
.rdb-navigation a:hover { color: var(--wp--preset--color--or); }

.rdb-page { padding: clamp(64px, 8vw, 110px) 24px clamp(80px, 10vw, 130px); }
.rdb-page-title {
  max-width: 1100px;
  margin: 0 auto clamp(35px, 5vw, 65px);
  font-size: clamp(48px, 7vw, 92px);
  letter-spacing: -.035em;
}
.rdb-featured {
  margin-bottom: clamp(55px, 7vw, 90px);
  overflow: hidden;
}
.rdb-featured img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
}
.rdb-page .wp-block-post-content { font-size: 17px; color: #536158; }
.rdb-page .wp-block-post-content p { line-height: 1.82; }
.rdb-page .wp-block-post-content h2 { margin-top: 1.5em; font-size: clamp(34px, 4vw, 50px); }
.rdb-page .wp-block-post-content h3 { margin-top: 1.6em; font-size: clamp(26px, 3vw, 34px); }
.rdb-label {
  color: var(--wp--preset--color--or);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 0;
}
.wp-block-query .wp-block-post-template > li {
  width: auto !important;
  min-width: 0;
  padding: 0 0 30px;
  background: var(--wp--preset--color--creme);
}
.wp-block-query .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; }
.wp-block-query .wp-block-post-title,
.wp-block-query .wp-block-post-excerpt { padding: 0 28px; }
.wp-block-query .wp-block-post-title { margin-top: 26px; font-size: 28px; }
.wp-block-query .wp-block-post-excerpt { color: #657067; font-size: 14px; }

.rdb-footer { padding: 75px 7vw; }
.rdb-footer h2 { margin: 12px 0 20px; font-size: clamp(42px, 5vw, 70px); }
.rdb-footer > p { color: #c9d0ca; }
.rdb-footer-nav { margin-top: 30px; font-size: 12px; }

.rdb-home-hero .wp-block-cover__inner-container { width: min(84vw, 1100px); }
.rdb-home-hero h1 {
  max-width: 900px;
  margin: 24px 0;
  color: #fff;
  font-size: clamp(60px, 8vw, 118px);
  line-height: .9;
  letter-spacing: -.04em;
}
.rdb-home-hero p:not(.rdb-label) { max-width: 620px; font-family: Georgia, serif; line-height: 1.65; }
.rdb-home-intro { padding: clamp(85px, 10vw, 135px) 6vw; }
.rdb-home-intro h2 { max-width: 950px; font-size: clamp(38px, 5vw, 65px); }
.rdb-home-intro > p:last-child { max-width: 660px; color: #627064; }
.rdb-home-section { padding: clamp(80px, 9vw, 120px) 6vw; }
.rdb-home-section > h2 { margin: 12px 0 45px; font-size: clamp(42px, 5.5vw, 76px); }
.rdb-agenda .wp-block-post-template { display: block; }
.rdb-agenda .wp-block-post-template > li {
  padding: 25px 0;
  border-top: 1px solid rgba(32, 50, 40, .25);
  background: transparent;
}
.rdb-agenda .wp-block-post-title { margin: 0 0 8px; padding: 0; font-size: 24px; }
.rdb-agenda .tribe-events-schedule { margin: 0; }

.tribe-events-view { background: var(--wp--preset--color--papier); }
.tribe-events .tribe-events-l-container { max-width: 1180px; padding-top: clamp(65px, 8vw, 105px); }
.tribe-events .tribe-events-header__title h1,
.tribe-events .tribe-events-header__title h2 {
  font: clamp(48px, 7vw, 82px)/1 Georgia, serif;
  color: var(--wp--preset--color--foret);
}
.tribe-events .tribe-events-calendar-list__month-separator-text,
.tribe-events .tribe-events-calendar-list__event-title {
  font-family: Georgia, serif;
  font-weight: 400;
}
.tribe-events .tribe-events-calendar-list__event-row {
  padding: 24px 0;
  border-top: 1px solid #d4d3c9;
}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img {
  aspect-ratio: 4/3;
  object-fit: cover;
}
.tribe-events .tribe-events-c-search__button {
  background: var(--wp--preset--color--foret);
  border-radius: 0;
}
.tribe-events .tribe-events-c-subscribe-dropdown__button { border-radius: 0; }

.wpcf7-form { margin-top: 45px; }
.wpcf7-form label {
  display: block;
  margin-bottom: 22px;
  color: #536158;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.wpcf7-form input:not([type="submit"]),
.wpcf7-form textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid #c9c9bf;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--foret);
  font: 16px/1.4 Arial, sans-serif;
}
.wpcf7-form textarea { min-height: 190px; resize: vertical; }
.wpcf7-form input[type="submit"] {
  padding: 16px 24px;
  border: 0;
  border-radius: 0;
  background: var(--wp--preset--color--foret);
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rdb-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.wpcf7-list-item { margin-left: 0; }
.wpcf7-list-item label { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }

@media (max-width: 600px) {
  .rdb-contact-grid { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 900px) {
  .rdb-header { min-height: 74px; }
  .rdb-navigation .wp-block-navigation__responsive-container.is-menu-open {
    padding: 90px 7vw 35px;
    background: var(--wp--preset--color--papier);
    color: var(--wp--preset--color--foret);
  }
  .rdb-navigation .wp-block-navigation__responsive-container.is-menu-open a {
    font: 26px/1.25 Georgia, serif;
  }
  .wp-block-query .wp-block-post-template { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .rdb-header { padding: 0 6vw; }
  .rdb-brand .wp-block-site-logo img { width: 38px; height: 38px; }
  .rdb-page { padding: 58px 7vw 80px; }
  .rdb-page-title { font-size: 48px; }
  .rdb-featured { margin-left: -7vw !important; margin-right: -7vw !important; }
}

/* Reproduction fidèle de la maquette validée. */
* { box-sizing: border-box; }
body { background: #fbfaf5; color: #203228; }
.rdb-header { height: 88px; min-height: 88px; }
.wp-block-button__link { padding: 17px 24px; border-radius: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.rdb-home-hero { min-height: 720px !important; height: calc(100vh - 88px); padding: 0; align-items: center; }
.rdb-home-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg,rgba(16,33,23,.84),rgba(16,33,23,.5) 50%,rgba(16,33,23,.12) 80%) !important; }
.rdb-home-hero .wp-block-cover__inner-container { width: auto; max-width: 760px; margin-left: 8vw; padding-right: 5vw; }
.rdb-home-hero h1 { margin: 25px 0; }
.rdb-home-hero p:not(.rdb-label) { max-width: 590px; margin: 0; font: 19px/1.65 Georgia, serif !important; }
.rdb-home-hero .wp-block-buttons { gap: 30px; margin-top: 36px; }
.rdb-home-hero .is-style-outline .wp-block-button__link { padding: 0 0 7px; border: 0; border-bottom: 1px solid rgba(255,255,255,.55); color: #fff; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }

.rdb-home-intro { max-width: 1020px !important; margin: 0 auto; padding: 130px 6vw; }
.rdb-home-intro > p:last-child { max-width: 660px; margin: auto; line-height: 1.7; }
.rdb-home-section { padding: 100px 5vw 120px; }
.rdb-home-section .wp-block-query { max-width: none !important; }
.rdb-home-section .wp-block-post-template { gap: 18px; }
.rdb-home-section .wp-block-post-template > li { position: relative; padding-bottom: 30px; background: #fbfaf5; overflow: hidden; }
.rdb-home-section .wp-block-post-featured-image { height: 330px; margin: 0; overflow: hidden; }
.rdb-home-section .wp-block-post-featured-image img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: transform .6s ease; }
.rdb-home-section .wp-block-post-template > li:hover img { transform: scale(1.035); }
.rdb-home-section .wp-block-post-title { margin: 26px 0 12px; padding: 0 28px; font: 27px/1.15 Georgia, serif; }
.rdb-home-section .wp-block-post-excerpt { padding: 0 28px; }
.rdb-home-section .wp-block-post-excerpt__excerpt { min-height: 68px; margin: 0; color: #69736b; font-size: 14px; line-height: 1.6; }
.rdb-home-section .wp-block-post-excerpt__more-text { margin: 22px 0 0; }
.rdb-home-section .wp-block-post-excerpt__more-link { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.rdb-home-section .wp-block-post-excerpt__more-link::after { content: ' ↗'; margin-left: 8px; color: #c89c54; }

.rdb-agenda { display: grid; grid-template-columns: .8fr 1.2fr; column-gap: 9vw; align-items: start; padding: 120px 7vw; }
.rdb-agenda > .rdb-label, .rdb-agenda > h2, .rdb-agenda > .wp-block-buttons { grid-column: 1; }
.rdb-agenda > .wp-block-query { grid-column: 2; grid-row: 1 / span 4; width: 100%; }
.rdb-agenda > h2 { margin: 12px 0 35px; }
.rdb-agenda > .wp-block-buttons { align-self: end; }

.rdb-footer { display: grid; grid-template-columns: 1.3fr .7fr auto; gap: 50px; align-items: end; padding: 80px 7vw; }
.rdb-footer-title h2 { margin: 12px 0 0; font-size: clamp(42px,5vw,70px); line-height: 1; }
.rdb-footer-place { margin: 5px 0; color: #c9d0ca; }
.rdb-footer-action { justify-content: flex-end; }

@media (max-width: 900px) {
  .rdb-footer, .rdb-agenda { grid-template-columns: 1fr; }
  .rdb-agenda > .rdb-label, .rdb-agenda > h2, .rdb-agenda > .wp-block-buttons, .rdb-agenda > .wp-block-query { grid-column: 1; grid-row: auto; }
  .rdb-footer-action { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .rdb-home-hero { height: auto; min-height: 670px !important; }
  .rdb-home-hero .wp-block-cover__inner-container { margin-left: 7vw; }
  .rdb-home-hero h1 { font-size: 58px; }
  .rdb-home-hero .wp-block-buttons { align-items: flex-start; flex-direction: column; }
  .rdb-home-intro, .rdb-home-section, .rdb-agenda { padding-top: 80px; padding-bottom: 80px; }
  .rdb-home-section .wp-block-post-featured-image { height: 300px; }
}
