.elementor-800 .elementor-element.elementor-element-04bbd7f{--display:flex;--min-height:37px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-800 .elementor-element.elementor-element-50f25b7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-800 .elementor-element.elementor-element-50f25b7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-800 .elementor-element.elementor-element-e099014{width:var( --container-widget-width, 75.818% );max-width:75.818%;--container-widget-width:75.818%;--container-widget-flex-grow:0;z-index:0;}.elementor-800 .elementor-element.elementor-element-e099014.elementor-element{--align-self:flex-end;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-800 .elementor-element.elementor-element-8fb8c56{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-800 .elementor-element.elementor-element-6a8e36c{width:var( --container-widget-width, 47% );max-width:47%;--container-widget-width:47%;--container-widget-flex-grow:0;text-align:left;}.elementor-800 .elementor-element.elementor-element-6a8e36c > .elementor-widget-container{padding:33px 33px 33px 33px;}.elementor-800 .elementor-element.elementor-element-6a8e36c .elementor-heading-title{font-family:"Poppins", Sans-serif;}.elementor-800 .elementor-element.elementor-element-4387566{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-800 .elementor-element.elementor-element-f545052{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-800 .elementor-element.elementor-element-0e4268c .elementor-button{background-color:#667588;fill:var( --e-global-color-65455496 );color:var( --e-global-color-65455496 );}.elementor-800 .elementor-element.elementor-element-0e4268c .elementor-button:hover, .elementor-800 .elementor-element.elementor-element-0e4268c .elementor-button:focus{background-color:#44505D;border-color:#44505D;box-shadow:0px 0px 10px 0px #44505D;}.elementor-800 .elementor-element.elementor-element-0e4268c{width:var( --container-widget-width, 27.636% );max-width:27.636%;--container-widget-width:27.636%;--container-widget-flex-grow:0;}.elementor-800 .elementor-element.elementor-element-0e4268c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-800 .elementor-element.elementor-element-0e4268c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-800 .elementor-element.elementor-element-579d4c7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:156px 0px 0px 0px;}.elementor-800 .elementor-element.elementor-element-579d4c7.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-800 .elementor-element.elementor-element-e4f0c5c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-800 .elementor-element.elementor-element-1c1a48d{width:var( --container-widget-width, 109.091% );max-width:109.091%;--container-widget-width:109.091%;--container-widget-flex-grow:0;}.elementor-800 .elementor-element.elementor-element-1c1a48d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-800 .elementor-element.elementor-element-1c1a48d.elementor-element{--flex-grow:0;--flex-shrink:0;}body.elementor-page-800:not(.elementor-motion-effects-element-type-background), body.elementor-page-800 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(max-width:767px){.elementor-800 .elementor-element.elementor-element-e099014{--container-widget-width:1000px;--container-widget-flex-grow:0;width:var( --container-widget-width, 1000px );max-width:1000px;}.elementor-800 .elementor-element.elementor-element-e099014 img{width:46%;}.elementor-800 .elementor-element.elementor-element-6a8e36c > .elementor-widget-container{margin:0px 43px 0px 0px;padding:0px 0px 0px 0px;}.elementor-800 .elementor-element.elementor-element-6a8e36c{--container-widget-width:68px;--container-widget-flex-grow:0;width:var( --container-widget-width, 68px );max-width:68px;}.elementor-800 .elementor-element.elementor-element-6a8e36c.elementor-element{--align-self:center;}.elementor-800 .elementor-element.elementor-element-0e4268c{width:var( --container-widget-width, 149px );max-width:149px;--container-widget-width:149px;--container-widget-flex-grow:0;}.elementor-800 .elementor-element.elementor-element-579d4c7{width:var( --container-widget-width, 310.562px );max-width:310.562px;--container-widget-width:310.562px;--container-widget-flex-grow:0;}.elementor-800 .elementor-element.elementor-element-579d4c7 > .elementor-widget-container{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-800 .elementor-element.elementor-element-04bbd7f{--content-width:514px;}.elementor-800 .elementor-element.elementor-element-50f25b7{--width:27%;}.elementor-800 .elementor-element.elementor-element-8fb8c56{--width:50%;}.elementor-800 .elementor-element.elementor-element-f545052{--width:50%;}.elementor-800 .elementor-element.elementor-element-e4f0c5c{--width:50%;}}/* Start custom CSS for button, class: .elementor-element-0e4268c */.elementor-800 .elementor-element.elementor-element-0e4268c {
  background-color: #667588;
  color: white;
  padding: 1px 1px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
}

.elementor-800 .elementor-element.elementor-element-0e4268c:hover {
  background-color: #44505d;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-579d4c7 *//* === Base Styles === */

body {
  font-family: 'Georgia', serif;
  color: #595E63;
  background-color: #f5f5f5;
}

.rsvp-search-wrapper,
#rsvpResults {
  max-width: 600px;
  margin: 30px auto;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(152, 174, 194, 0.15);
}

#guestSearch {
  width: 100%;
  padding: 14px 18px;
  font-size: 2rem;
  border: 1px solid #667588;
  border-radius: 8px;
  margin-bottom: 16px;
  background-color: #f8f8f8;
  color: #595E63;
}

#searchBtn {
  background-color: #667588;
  color: white;
  border: none;
  padding: 12px 20px;
  font-size: 1.5rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#searchBtn:hover {
  background-color: #98AEC2;
}

/* === RSVP Entry === */

.rsvp-entry {
  margin-bottom: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #D9D9D9;
}

.rsvp-row {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1.5rem;
}

.rsvp-name {
  flex: 1 1 30%;
  font-weight: bold;
  color: #333;
  font-size: 1.5rem;
}

.rsvp-buttons {
  flex: 1 1 40%;
  display: flex;
  gap: 12px;
  justify-content: center;
}

.rsvp-btn {
  padding: 10px 20px;
  font-size: 1.2rem;
  border: 2px solid #ccc;
  border-radius: 5px;
  background-color: white;
  color: #333;
  cursor: pointer;
  transition: all 0.2s ease;
}

.rsvp-btn:hover {
  background-color: #f0f0f0;
}

.rsvp-btn.selected.accepted {
  background-color: #d4edda;
  color: #155724;
  border-color: #c3e6cb;
  font-weight: bold;
}

.rsvp-btn.selected.declined {
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
  font-weight: bold;
}

/* === Buttons === */

.continue-btn,
.submit-email-btn,
.back-btn,
#goHomeBtn,
#searchAgainBtn {
  width: 100%;
  font-size: 1.2rem;
  padding: 14px;
  margin-top: 15px;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-sizing: border-box;
}

.continue-btn,
.submit-email-btn {
  background-color: #667588;
  color: white;
}

.continue-btn:hover,
.submit-email-btn:hover {
  background-color: #286090;
  transform: scale(1.02);
}

.back-btn {
  background-color: #D9D9D9;
  color: #333;
}

.back-btn:hover {
  background-color: #c7c7c7;
}

#searchAgainBtn {
  background-color: #898787;
  color: white;
}

#searchAgainBtn:hover {
  background-color: #595E63;
}

/* === Group Selection === */

.group-select-btn {
  font-size: 2rem;
  padding: 14px 16px;
  margin: 10px 0;
  width: 100%;
  text-align: left;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.group-select-btn:hover {
  background-color: #e0e0e0;
}

/* === Misc === */

.rsvp-feedback {
  margin-top: 6px;
  font-style: italic;
  color: #595E63;
}

/* === Responsive: Mobile === */

@media (max-width: 600px) {
  #rsvpResults,
  .rsvp-search-wrapper {
    padding: 20px 15px;
    margin: 20px 10px;
    max-width: 100%;
  }

  .rsvp-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  .rsvp-name {
    font-size: 1.5rem;
    width: 100%;
  }

  .rsvp-buttons {
    flex-direction: column;
    width: 100%;
  }

  .rsvp-btn {
    width: 100%;
    font-size: 1.1rem;
    padding: 12px 0;
  }

  .group-select-btn {
    font-size: 1.2rem;
  }

  .submit-email-btn,
  .back-btn,
  #searchAgainBtn {
    width: 100%;
  }
}

/* === Accessibility === */

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}/* End custom CSS */