.coco-event-invite[hidden], .event-submit-form [hidden] { display: none !important; }
.coco-event-invite {
  position: fixed;
  z-index: 140;
  right: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  width: min(380px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 27px;
  box-sizing: border-box;
  color: #17352f;
  background: #f7faf9;
  border: 1px solid #c8b694;
  box-shadow: 0 12px 48px #17352f35, inset 0 0 0 7px #edf3f1;
  animation: coco-event-invite-enter .3s ease-out;
}
.coco-event-invite::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: #1d9b83; }
.coco-event-invite-close {
  position: absolute; right: 6px; top: 7px; width: 44px; height: 44px;
  display: grid; place-items: center; padding: 0; border: 0; background: transparent;
  color: #17352f; font-size: 28px; cursor: pointer;
}
.coco-event-invite-kicker { margin: 0 28px 16px 0; color: #116958; font: 800 11px/1.5 sans-serif; letter-spacing: .16em; }
.coco-event-invite h2 { margin: 0; font-size: 26px; line-height: 1.45; color: #17352f; }
.coco-event-invite p:not(.coco-event-invite-kicker) { margin: 12px 0 20px; color: #405850; font-size: 13px; line-height: 1.8; }
.coco-event-invite-cta { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 10px 17px; box-sizing: border-box; color: #fff; background: #e56e50; font-size: 15px; font-weight: 800; text-decoration: none; }
.coco-event-invite-cta:hover { background: #c65137; }
.coco-event-invite a:focus-visible, .coco-event-invite button:focus-visible { outline: 3px solid #116958; outline-offset: 3px; }
.coco-event-invite-inline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; padding: 20px; border-top: 1px solid #c8b694; color: #17352f; }
.coco-event-invite-inline > div { display: grid; gap: 5px; }
.coco-event-invite-inline strong { font-size: 1rem; }
.coco-event-invite-inline span { color: #405850; font-size: .8rem; }
.coco-event-invite-inline > a { min-height: 44px; display: grid; align-items: center; padding: 0 20px; color: #fff; background: #116958; text-decoration: none; font-size: .8rem; font-weight: 800; }
@keyframes coco-event-invite-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .coco-event-invite { animation: none; } }
.event-submit-hero { border-top: 5px solid #1d9b83; }
.event-submit-hero > .event-submit-note { margin: 0; font-size: .86rem; line-height: 1.8; color: #405850; }
.event-submit-form { gap: 30px; }
.event-submit-form fieldset { min-width: 0; margin: 0; padding: 24px 0 0; border: 0; border-top: 1px solid #c8b694; }
.event-submit-form legend { float: none; width: auto; padding: 0 12px 0 0; color: #17352f; font-size: 1.15rem; font-weight: 800; }
.event-submit-form legend > span { margin-right: 8px; color: #116958; font-size: .8rem; }
.event-submit-form .coco-contact-grid { align-items: start; }
.event-submit-form .coco-contact-field, .event-submit-form .coco-contact-grid > * { min-width: 0; }
.event-submit-form .coco-contact-field input, .event-submit-form .coco-contact-field select, .event-submit-form .coco-contact-field textarea {
  min-width: 0; max-width: 100%; width: 100%; inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; box-sizing: border-box;
  border: 1px solid #c8b694; outline: none; box-shadow: none; background: #fff; font-size: 16px; padding: 12px;
}
.event-submit-form input[type="date"], .event-submit-form input[type="time"] { -webkit-appearance: none; appearance: none; -webkit-min-logical-width: 0; min-height: 50px; height: 50px; border-radius: 0; }
.event-submit-form input::-webkit-date-and-time-value { text-align: left; min-height: 1.4em; }
.event-submit-form .coco-contact-field textarea { min-height: 125px; }
.event-submit-form .coco-contact-field input:focus-visible, .event-submit-form .coco-contact-field textarea:focus-visible, .event-submit-form .coco-contact-field select:focus-visible { outline: 2px solid #116958; outline-offset: 2px; }
.event-submit-form input[type="file"] { padding: 12px 8px; font-size: 14px; }
.event-submit-form small, .event-submit-help { margin: 0 0 16px; color: #405850; font-size: .8rem; line-height: 1.8; }
.event-submit-form small { margin: 0; }
.event-submit-period { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid #d9ccb5; }
.event-submit-period-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 15px; }
.event-submit-period-head > strong { font-size: .85rem; color: #116958; }
.event-submit-remove { min-height: 44px; padding: 6px 10px; background: transparent; border: 1px solid #d9ccb5; color: #8c3629; font: inherit; font-size: .75rem; cursor: pointer; }
.event-submit-secondary { display: inline-grid; place-items: center; min-height: 48px; padding: 8px 18px; box-sizing: border-box; border: 1px solid #116958; background: transparent; color: #116958; font: inherit; font-size: .85rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.event-submit-form .event-submit-secondary { margin-bottom: 16px; }
.event-submit-secondary:disabled, .event-submit-form button:disabled { opacity: .6; cursor: wait; }
.event-submit-private { padding-top: 15px; border-top: 2px solid #116958 !important; }
.event-submit-preview { display: block; max-width: 100%; max-height: 300px; object-fit: contain; margin: 0 0 12px; }
.event-submit-photo-area.is-wide { grid-column: 1 / -1; }
.event-submit-photo-area > label { display: flex; align-items: center; gap: 8px; font-size: .85rem; }
.event-submit-consents { display: grid; gap: 16px; }
.event-submit-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0 0; }
.event-submit-actions > * { flex: 1 1 180px; }
.event-submit-review { margin: 0; }
.event-submit-review > div { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(0, 3fr); gap: 18px; padding: 16px 0; border-bottom: 1px solid #d9ccb5; }
.event-submit-review dt { font-size: .8rem; color: #116958; font-weight: 800; }
.event-submit-review dd { min-width: 0; margin: 0; overflow-wrap: anywhere; line-height: 1.8; font-size: .9rem; }
.event-submit-review dd p { margin: 0 0 6px; }
.event-submit-receipt { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .coco-event-invite { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 23px; }
  .coco-event-invite h2 { font-size: 23px; }
  .coco-event-invite p:not(.coco-event-invite-kicker) { margin-bottom: 16px; }
  .event-submit-form .coco-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .event-submit-period .coco-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  .event-submit-review > div { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .event-submit-form .coco-contact-field input { padding-inline: 8px; }
}
