@font-face {
    font-family: "LinLibertine";
    src: url("fonts/LinLibertine_R.ttf") format("truetype");
}

@font-face {
    font-family: "Lucida Handwriting";
    src: url("fonts/LucidaHandwritingStdRg.TTF") format("truetype");
}

.container {
    max-width: 600px;
    width: 100%;
    margin-inline: auto;
    overflow: hidden;
    background-color: #EFD5C9;
}

.bg {

    margin: 0;
    padding: 0;
    background-color: #e2dad6;
}

.color-lanvander {
    color: #A0A9D0;
}

.color-terra-cotta {
    color: #CD9C92;
}

.color-bg {
    color: #EFD5C9;
}

.color-rsvp {
    color: #443434;
}

.title-font {
    font-family: "Lucida Handwriting", cursive;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0.2rem;
}

.subtitle-font {
    font-family: "Lucida Handwriting", cursive;
    font-weight: 200;
    font-size: 1rem;
    margin: 0.5rem;
}

.handwritten {
    font-family: "LinLibertine";
    font-size: 1.25rem;
    font-weight: 200;
}

.guirlandes {
    width: 100%;
    margin: 0 auto;
    content: url("images/guirlandes.png");
}

.date {
    width: 100%;
    margin: 0 auto;
    content: url("images/date.png");
}

.hero-image {
    width: 100%;
    margin: 0 auto;
    content: url("images/hero.png");
}

.programme-full {
    width: 100%;
    margin: 0 auto;
    content: url("images/programme_full.png");
}

.programme-cocktail {
    width: 100%;
    margin: 0 auto;
    content: url("images/programme_cocktail.png");
}

.category-bg {
    margin: 0 auto;
    width: fit-content;
    padding-left: 1.5rem;
    padding-right: 1.5rem;

    background-image: url("images/category_bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.bandeau {
    position: relative;
    min-height: 120px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.bandeau-bg {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    z-index: 0;
}

.bandeau-content {
    position: relative;
    z-index: 1;

    text-align: center;
}

.faq details {
    border-bottom: 1px solid #d9c6b8;
    padding: 3px 0;
}

.faq summary {
    cursor: pointer;
    list-style: none;
    font-family: "Lucida Handwriting";
    font-size: 1.15rem !important  ;
    font-weight: 200;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* enlève la flèche native */
.faq summary::-webkit-details-marker {
    display: none;
}

.faq summary::after {
    content: "+";
    font-size: 1.5rem;
}

.faq details[open] summary::after {
    content: "−";
}

.faq details p {
    margin-top: 6px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    line-height: 1.6;
    color: #CD9C92;
}

a {
    color: inherit;
    text-decoration: none;
    font: inherit;
}

.add_padding {
    padding-left: 0.5rem;
    padding-bottom: 0.8rem;
}

.faq {
    width: 100%;
    background-image: url("images/faq_bg.png");
    background-size: cover;
    font-size: 1.15rem;
}

.rsvp-form {
    width: 100%;
    height: 100%;
    background-image: url("images/RSVP_bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.center {
    text-align: center;
}

.rsvp-field {
    padding-top: 5rem;
}

.rsvp-field-middle {
    padding-top: 2rem;
}

#rsvp-regime {
    width: 60%;
    padding: 0.5rem;
    border-radius: 5px;
    border: 1px solid #CD9C92;
    font-family: "LinLibertine";
    font-size: 1rem;
    font-weight: 200;
}

.rsvp-number {
    width: 60%;
    padding: 0.5rem;
    border-radius: 5px;
    border: 1px solid #CD9C92;
    font-family: "LinLibertine";
    font-size: 1rem;
    font-weight: 200;
}

#rsvp-nom {
    width: 60%;
    padding: 0.5rem;
    border-radius: 5px;
    border: 1px solid #CD9C92;
    font-family: "LinLibertine";
    font-size: 1rem;
    font-weight: 200;
}

.button-74 {
  background-color: #fbeee0;
  border: 2px solid #422800;
  border-radius: 30px;
  box-shadow: #422800 4px 4px 0 0;
  color: #422800;
  cursor: pointer;
  display: inline-block;
  font-weight: 600;
  font-size: 18px;
  padding: 0 18px;
  line-height: 50px;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  margin-bottom: 3em;
}

.button-74:hover {
  background-color: #fff;
}

.button-74:active {
  box-shadow: #422800 2px 2px 0 0;
  transform: translate(2px, 2px);
}

@media (min-width: 768px) {
  .button-74 {
    min-width: 120px;
    padding: 0 25px;
  }
}

#rsvp-photo {
    font-family: inherit;
    color: inherit;
    max-width: 100%;
    cursor: pointer;
}
/* =========================================
   RSVP - envoi Google Forms / Apps Script
   ========================================= */

.rsvp-photo-help {
    margin: 1rem 0rem 0rem 3rem;
    font-size: 1.2rem;
    opacity: 0.75;
    width: 80%;
}

.rsvp-status {
    min-height: 1.5em;
    margin: 1.5rem 1rem 0.8rem;
}

.rsvp-status.is-success {
    color: #5f765b;
}

.rsvp-status.is-error {
    color: #9a4b45;
}

.button-74:disabled {
    cursor: wait;
    opacity: 0.65;
}

.rsvp-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.rsvp-photo-help.is-error {
    color: #9a4b45;
    opacity: 1;
}

.rsvp-photo-help.is-valid {
    color: #5f765b;
    opacity: 1;
}

#rsvp-photo:disabled,
.rsvp-number:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.diner-only,
.cocktail-only {
    display: none;
}

body[data-invitation="diner"] .diner-only {
    display: block;
}

body[data-invitation="cocktail"] .cocktail-only {
    display: block;
}