
/* Presentation additions for the wedding site. Original styling remains in place. */
#piscine.pool {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-block: clamp(2.5rem, 5vw, 5rem);
}
#piscine .pool-copy { min-width: 0; }
#piscine .pool-kicker {
  margin: 0 0 .8rem;
  color: #526449;
  font: 800 .82rem/1.4 "Karla", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#piscine #pool-title {
  margin: 0 0 1.1rem;
  max-width: 15ch;
  color: #323e31;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(1.9rem, 3.4vw, 3.1rem);
  font-weight: 600;
  line-height: 1.18;
  text-wrap: balance;
}
#piscine .pool-copy > p:not(.pool-kicker) {
  font-size: 1.05rem;
  line-height: 1.7;
}
#piscine .pool-swimsuits {
  display: inline-block;
  margin: 1rem 0 0;
  padding: .85rem 1.1rem;
  border: 1px solid #cfab62;
  border-radius: 14px;
  background: #f3e5c9;
  color: #4c3b20;
}
#piscine .pool-photo--complete {
  display: block;
  min-width: 0;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d7ddcf;
  border-radius: 22px;
  background: #edf0e7;
  box-shadow: 0 14px 34px #323e3112;
}
#piscine .pool-photo--complete img {
  display: block;
  position: static;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  transform: none;
  border-radius: 0;
}
#piscine .pool-photo--complete figcaption {
  position: static;
  margin: 0;
  padding: .85rem 1rem;
  color: #43513e;
  background: #edf0e7;
  font: 600 .9rem/1.5 "Karla", sans-serif;
  text-align: center;
}
.rsvp-intro .diet-reminder {
  margin: 1.25rem 0 0;
  padding: 1rem 1.15rem;
  border: 1px solid #cfab62;
  border-left: 4px solid #a87328;
  border-radius: 12px;
  background: #fbf0d8;
  color: #4c3b20;
  font-size: 1rem;
  line-height: 1.6;
}
.rsvp-intro .diet-reminder strong { font-weight: 800; }
#rsvp-form .diet-fieldset {
  min-inline-size: 0;
  margin-top: 1.8rem;
  padding: 1.4rem 1.4rem 1.5rem;
  border: 2px solid #bc944e;
  border-radius: 18px;
  background: #fcf3df;
  box-shadow: 0 6px 20px #92713e0c;
}
#rsvp-form .diet-fieldset legend {
  float: none;
  width: auto;
  max-width: 100%;
  padding-inline: .5rem;
  color: #473b25;
  font-size: clamp(1.05rem, 2.3vw, 1.25rem);
  font-weight: 800;
  line-height: 1.45;
  white-space: normal;
}
#rsvp-form .diet-fieldset legend span {
  color: #fffaf0;
  background: #705333;
}
#rsvp-form .diet-fieldset .diet-help {
  margin: .3rem 0 1.1rem;
  color: #4d4535;
  font-size: .98rem;
  line-height: 1.65;
}
#rsvp-form .diet-fieldset label {
  display: block;
  margin-bottom: .55rem;
  color: #323e31;
  font-weight: 800;
  line-height: 1.5;
}
#rsvp-form .diet-fieldset .optional {
  color: #625a49;
  font-size: .9em;
  font-weight: 500;
}
#rsvp-form .diet-fieldset #f-message {
  box-sizing: border-box;
  width: 100%;
  min-height: 9rem;
  padding: .95rem 1rem;
  border: 1.5px solid #b49a70;
  border-radius: 12px;
  background: #fffdf7;
  color: #323e31;
  font: inherit;
  font-size: 1rem;
  line-height: 1.6;
  resize: vertical;
}
#rsvp-form .diet-fieldset #f-message::placeholder { color: #716653; opacity: 1; }
#rsvp-form .diet-fieldset #f-message:focus-visible {
  outline: 3px solid #456342;
  outline-offset: 3px;
  border-color: #456342;
}
#plan-domaine .pond-notice {
  margin: 0 0 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid #cfab62;
  border-left: 4px solid #a87328;
  border-radius: 12px;
  background: #fbf0d8;
  color: #4c3b20;
  font-size: 1rem;
  line-height: 1.6;
}
#plan-domaine .pond-notice strong { font-weight: 800; }
@media (max-width: 850px) {
  #piscine.pool { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  #piscine #pool-title { max-width: 22ch; }
  #piscine .pool-copy { max-width: 42rem; }
}
@media (max-width: 520px) {
  #piscine .pool-photo--complete { border-radius: 16px; }
  #rsvp-form .diet-fieldset { padding: 1rem .9rem 1.15rem; border-radius: 14px; }
  #rsvp-form .diet-fieldset legend { padding-inline: .3rem; }
  .rsvp-intro .diet-reminder { padding: .85rem .95rem; }
}
