/* Short, personal event enquiry — scoped to the event pages only. */
.short-event-invitation{
  position:relative;
  overflow:hidden;
  padding:clamp(54px,8vw,88px) 24px;
  background:var(--green-deep);
  color:var(--cream);
  text-align:center;
}
.short-event-invitation::before,
.short-event-invitation::after{
  position:absolute;
  content:"";
  pointer-events:none;
}
.short-event-invitation::before{
  inset:0;
  opacity:.13;
  background:radial-gradient(ellipse at 50% 0%,var(--gold),transparent 58%);
}
.short-event-invitation::after{
  width:1px;
  height:42px;
  top:0;
  left:50%;
  background:var(--gold);
}
.short-event-invitation-inner{
  position:relative;
  max-width:660px;
  margin:0 auto;
}
.short-event-invitation .eyebrow{color:var(--gold);margin-bottom:12px}
.short-event-invitation h2{
  margin:0 0 12px;
  color:var(--cream);
  font-size:clamp(2.2rem,5vw,3.25rem);
}
.short-event-invitation-inner > p:not(.eyebrow):not(.short-event-call){
  max-width:54ch;
  margin:0 auto 24px;
  color:rgba(246,243,232,.82);
}
.short-event-invitation .btn{justify-content:center}
.short-event-offer{margin:13px 0 0;font-size:.8rem}
.short-event-offer a{color:rgba(246,243,232,.78);text-underline-offset:3px}
.short-event-offer a:hover{color:var(--gold)}
.short-event-call{
  margin:18px 0 0;
  color:rgba(246,243,232,.7);
  font-size:.9rem;
}
.short-event-call a{color:var(--gold);text-underline-offset:3px}

.short-event-dialog{
  width:min(720px,calc(100vw - 28px));
  max-width:none;
  max-height:min(92dvh,900px);
  padding:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(36,51,31,.2);
  border-radius:3px;
  background:var(--cream);
  color:var(--ink);
  box-shadow:0 28px 90px rgba(14,25,15,.3);
}
.short-event-dialog[open]{animation:event-dialog-in .2s ease-out both}
.short-event-dialog::backdrop{background:rgba(16,26,16,.66);backdrop-filter:blur(3px)}
@keyframes event-dialog-in{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.short-event-dialog-head{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:25px 32px 17px;
  background:var(--celadon);
  border-bottom:1px solid var(--line);
}
.short-event-dialog-head .eyebrow{margin:0 0 5px;font-size:.62rem}
.short-event-dialog-head h2{
  margin:0 0 4px;
  font-size:clamp(1.8rem,4vw,2.4rem);
}
.short-event-dialog-head p:last-child{
  margin:0;
  color:rgba(35,42,32,.76);
  font-size:.88rem;
}
.short-event-close{
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(36,51,31,.3);
  border-radius:50%;
  background:transparent;
  color:var(--green-deep);
  font:400 1.6rem/1 var(--body);
  cursor:pointer;
}
.short-event-close:hover{background:var(--green-deep);color:var(--cream)}
.short-event-form{
  display:block;
  padding:20px 32px 26px;
  border:0;
  background:transparent;
}
.short-event-form .field{min-width:0;margin:0}
.short-event-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.short-event-form .field label,
.short-event-civility legend{
  display:block;
  margin:0 0 5px;
  color:var(--green-deep);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
}
.short-event-form .field label span{
  color:var(--leaf);
  font-size:.92em;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.short-event-form .field input,
.short-event-form .field select{
  display:block;
  width:100%;
  min-width:0;
  height:42px;
  padding:9px 11px;
  border:1px solid rgba(36,51,31,.24);
  border-radius:2px;
  background:#fbf9f1;
  color:var(--ink);
  font:400 .91rem var(--body);
}
.short-event-form .field input:focus,
.short-event-form .field select:focus,
.short-event-date-button:focus-visible,
.short-event-calendar button:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:2px;
}
.short-event-date-field{position:relative;margin-bottom:12px!important}
.short-event-date-button{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border:1px solid rgba(36,51,31,.24);
  border-radius:2px;
  background:#fbf9f1;
  color:var(--ink);
  font:400 .91rem var(--body);
  text-align:left;
  cursor:pointer;
}
.short-event-date-icon{
  width:17px;height:17px;flex:none;
  border:1.5px solid var(--green);
  border-radius:2px;
  position:relative;
}
.short-event-date-icon::before{
  content:"";
  position:absolute;
  left:-1.5px;right:-1.5px;top:4px;
  border-top:1.5px solid var(--green);
}
.short-event-date-icon::after{
  content:"";
  position:absolute;
  top:-4px;left:4px;width:5px;height:5px;
  border-left:1.5px solid var(--green);
  border-right:1.5px solid var(--green);
}
.short-event-calendar{
  position:absolute;
  z-index:5;
  top:calc(100% - 2px);
  left:0;
  width:min(100%,360px);
  padding:12px;
  border:1px solid var(--line);
  background:var(--cream);
  box-shadow:0 12px 30px rgba(36,51,31,.18);
}
.short-event-calendar[hidden]{display:none}
.short-event-calendar-head{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 36px;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.short-event-calendar-head h3{
  margin:0;
  color:var(--green-deep);
  font:600 .88rem var(--body);
  text-align:center;
}
.short-event-calendar-head button,
.short-event-calendar-grid button{
  min-width:32px;
  min-height:32px;
  border:1px solid transparent;
  background:transparent;
  color:var(--green-deep);
  font:500 .86rem var(--body);
  cursor:pointer;
}
.short-event-calendar-head button{border-color:var(--line);font-size:1.2rem}
.short-event-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:2px;
  text-align:center;
}
.short-event-calendar-grid button{
  min-width:0;
  border-radius:2px;
}
.short-event-weekday{font-size:.7rem;color:var(--leaf);padding:4px 0}
.short-event-calendar-grid button:disabled{
  color:#746f65;
  background:var(--cream-deep);
  cursor:not-allowed;
}
.short-event-calendar-grid button.is-reserved{min-height:43px;padding:2px 0}
.short-event-calendar-grid button.is-reserved small{
  display:block;
  font-size:.52rem;
  line-height:1.25;
  white-space:nowrap;
}
.short-event-calendar-grid button:hover,
.short-event-calendar-grid button[aria-pressed="true"]{
  background:var(--green-deep);
  color:var(--cream);
}
.short-event-calendar-status{min-height:1em;margin:7px 0 0;color:var(--leaf);font-size:.75rem}
.short-event-flexible{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin:8px 0 0!important;
  color:var(--ink)!important;
  font-size:.82rem!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.3!important;
  text-transform:none!important;
  cursor:pointer;
}
.short-event-flexible input{
  width:16px!important;
  height:16px!important;
  margin:0;
  accent-color:var(--green-deep);
}
.short-event-civility{
  margin:0 0 12px;
  padding:0;
  border:0;
}
.short-event-civility legend{margin-bottom:5px}
.short-event-civility .contact-civility-options{display:flex;gap:8px}
.short-event-civility .contact-civility-options label{cursor:pointer}
.short-event-civility .contact-civility-options input{position:absolute;opacity:0}
.short-event-civility .contact-civility-options span{
  display:block;
  min-width:112px;
  padding:8px 12px;
  border:1px solid rgba(36,51,31,.24);
  background:#fbf9f1;
  color:var(--green-deep);
  font-size:.85rem;
  text-align:center;
}
.short-event-civility .contact-civility-options input:checked + span{
  border-color:var(--green-deep);
  background:var(--green-deep);
  color:var(--cream);
}
.short-event-civility .contact-civility-options input:focus-visible + span{
  outline:2px solid var(--coral);
  outline-offset:2px;
}
.short-event-form .devis-send{margin-top:2px}
.short-event-form .form-note{margin:8px 0 0;text-align:center;font-size:.76rem}
.short-event-form .form-success,
.short-event-form .form-error{padding:12px;margin-top:12px;font-size:.88rem}
.short-event-form .form-honeypot{position:absolute!important}

@media(max-width:560px){
  .short-event-invitation{padding:52px 20px}
  .short-event-dialog{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
  }
  .short-event-dialog-head{padding:20px 18px 14px;gap:10px}
  .short-event-dialog-head h2{font-size:1.55rem;max-width:none}
  .short-event-dialog-head p:last-child{font-size:.82rem}
  .short-event-form{padding:16px 18px 20px}
  .short-event-grid{gap:9px;margin-bottom:10px}
  .short-event-details{grid-template-columns:minmax(0,1.15fr) minmax(100px,.85fr)}
  .short-event-form .field label,
  .short-event-civility legend{font-size:.62rem}
  .short-event-form .field input,
  .short-event-form .field select{height:40px;padding:8px;font-size:16px}
  .short-event-civility .contact-civility-options span{min-width:0;padding:8px 12px}
}
@media(max-width:370px){
  .short-event-grid{grid-template-columns:1fr;gap:10px}
  .short-event-details{grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}
}
@media(prefers-reduced-motion:reduce){
  .short-event-dialog[open]{animation:none}
}
