.elementor-813 .elementor-element.elementor-element-5b43e655{--display:flex;--padding-top:28px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-813 .elementor-element.elementor-element-5b43e655:not(.elementor-motion-effects-element-type-background), .elementor-813 .elementor-element.elementor-element-5b43e655 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-7a263b3 );}.elementor-813 .elementor-element.elementor-element-6f11b616{--display:flex;}@media(max-width:767px){.elementor-813 .elementor-element.elementor-element-5b43e655{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-4dfb7612 */.elementor-813 .elementor-element.elementor-element-4dfb7612 .title {
    display: none !important;
}

.elementor-813 .elementor-element.elementor-element-4dfb7612 label {
    color: #000;
    font-family: Rosarivo;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}

.elementor-813 .elementor-element.elementor-element-4dfb7612 .gfield_description{
    color: #000;
    font-family: Rosarivo;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}


/* Inputs, selects, textareas */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="text"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="email"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="tel"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="number"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="url"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="password"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="time"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="date"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 textarea {
  font-family: 'Rosarivo', serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  color: #000 !important;          /* user-typed text = black */
  border: 1px solid #000;   
  border-radius: 0; 
  background: transparent;
  outline: none;
  height: 49px;
}

/* Placeholder text */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input::placeholder,
.elementor-813 .elementor-element.elementor-element-4dfb7612 textarea::placeholder {
  color: #6B6764 !important;       /* placeholder stays gray */
  opacity: 1;                      /* ensure it shows in all browsers */
}


.elementor-813 .elementor-element.elementor-element-4dfb7612 select {
  font-family: 'Rosarivo', serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #000 !important;    
  border: 1px solid #000;   
  border-radius: 0; 
  background-color: transparent;
  width: 100%;
  outline: none;
  height: 49px;
  line-height: 49px;

}




/* reset margin on gchoice labels */
.elementor-813 .elementor-element.elementor-element-4dfb7612 .gchoice label {
  margin-left: 0;
}

.elementor-813 .elementor-element.elementor-element-4dfb7612 .ginput_container_consent label {
     margin-left: 0;
     font-size: 14px
}

/* ------------------ CHECKBOX ------------------ */

/* hide native checkbox */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  pointer-events: none;
}

/* style label as the visual checkbox */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"] + label {
  --cb-size: 22px;
  position: relative;
  padding-top: 2px;
  margin-bottom: 4px;
  padding-left: calc(var(--cb-size) + 10px);
  cursor: pointer;
  user-select: none;
  line-height: var(--cb-size);
}

/* empty square */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: var(--cb-size);
  height: var(--cb-size);
  transform: translateY(-50%);
  border: 2px solid #000;
  border-radius: 0;                /* square corners */
  background: transparent;
  box-sizing: border-box;
}

/* white tick */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"] + label::after {
  content: "";
  position: absolute;
  left: calc(var(--cb-size) * 0.33);
  top: 50%;
  width: calc(var(--cb-size) * 0.28);
  height: calc(var(--cb-size) * 0.55);
  transform: translateY(-55%) rotate(45deg) scale(0);
  transform-origin: center;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transition: transform .15s ease;
}

/* checked = black square + tick */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"]:checked + label::before {
  background: #000;
  border-color: #000;
}
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"]:checked + label::after {
  transform: translateY(-55%) rotate(45deg) scale(1);
}

/* focus state */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="checkbox"]:focus-visible + label::before {
  outline: 2px solid #000;
  outline-offset: 2px;
}


/* ------------------ RADIO (pixel-perfect circles) ------------------ */

/* hide native radio */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"] {
  position: absolute;
  opacity: 0;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  pointer-events: none;
}

/* label as visual radio */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"] + label {
  --rd-size: 24px;           /* outer circle size (even px helps avoid sub-pixel blur) */
  --rd-border: 2px;          /* border thickness */
  --rd-gap: 10px;            /* gap between circle and text */

  position: relative;
  padding-top: 2px;
  margin-bottom: 4px;
  padding-left: calc(var(--rd-size) + var(--rd-gap));
  cursor: pointer;
  user-select: none;
  line-height: var(--rd-size);
}

/* outer circle */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: var(--rd-size);
  height: var(--rd-size);
  transform: translateY(-50%);
  border: var(--rd-border) solid #000;
  border-radius: 50%;
  background: transparent;
  box-sizing: border-box;
  aspect-ratio: 1 / 1;       /* guarantee a perfect circle */
}

/* inner dot (size based on inner box = size minus borders) */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"] + label::after {
  content: "";
  position: absolute;
  left: calc(var(--rd-size) / 2);  /* center relative to the circle width */
  top: 50%;
  /* inner diameter = 50% of the inner box (outer minus both borders) */
  width: calc((var(--rd-size) - (var(--rd-border) * 2)) * 0.5);
  height: calc((var(--rd-size) - (var(--rd-border) * 2)) * 0.5);
  transform: translate(-50%, -50%) scale(0.96); /* tiny scale for crisper edges */
  border-radius: 50%;
  background: #000;
  opacity: 0;
  transition: opacity .15s ease, transform .15s ease;
  will-change: transform, opacity;
  aspect-ratio: 1 / 1;       /* keep perfectly round */
}

/* checked = show dot */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"]:checked + label::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* focus ring */
.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"]:focus-visible + label::before {
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* motion-sensitive users */
@media (prefers-reduced-motion: reduce) {
  .elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="radio"] + label::after {
    transition: opacity .001s linear;
    transform: translate(-50%, -50%) scale(1);
  }
}




.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="submit"],
.elementor-813 .elementor-element.elementor-element-4dfb7612 button[type="submit"] {
  padding: 16px 34px !important;
  background: #000 !important;
  color: #FFF !important;

  font-family: Rosarivo, serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;

  border: 2px solid #000 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.elementor-813 .elementor-element.elementor-element-4dfb7612 input[type="submit"]:hover,
.elementor-813 .elementor-element.elementor-element-4dfb7612 button[type="submit"]:hover {
  background: transparent !important;
  color: #000 !important;
}



@media (min-width: 1024px) {
  /* First span = right padding */
  .name-section .ginput_container_name > span:first-child {
    padding-right: 12px; /* was 14px */
  }

  /* Last span = left padding */
  .name-section .ginput_container_name > span:last-child {
    padding-left: 10px;
  }
}





/* --- Gravity Forms: hide the HH / MM / AM-PM pieces --- */
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gfield--type-time .ginput_container.ginput_complex .gform-grid-col,
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gfield--type-time .ginput_container.ginput_complex .hour_minute_colon {
  display: none !important;
}

/* The wrapper that will host the popup absolutely */
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gfield--type-time .ginput_container.ginput_complex {
  position: relative !important;
  overflow: visible !important; /* avoid clipping in Elementor sections */
}

/* Single “unified” time input */
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gf-time-unified {
  --h: 49px;
  display: inline-block !important;
  margin-left: 6px !important;
  width: 100% !important;
  max-width: 260px !important;
  height: var(--h) !important;
  padding: 0 16px !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #000 !important;
  font-family: Rosarivo, serif !important;
  font-size: 14px !important;
  line-height: calc(var(--h) - 2px) !important;
  cursor: pointer !important;

  /* kill browser/GF highlights */
  outline: none !important;
  box-shadow: none !important;
}

/* also kill on focus/active explicitly */
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gf-time-unified:focus,
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gf-time-unified:active {
  outline: none !important;
  box-shadow: none !important;
}


/* Focus ring */
.elementor-813 .elementor-element.elementor-element-4dfb7612 #gform_wrapper_1 .gf-time-unified:focus {
  outline: 2px solid #000 !important;
  outline-offset: 2px !important;
}

/* Ensure the popup sits on top */
.clockpicker-popover {
  z-index: 99999 !important;
  position: absolute !important; /* we anchor to the group container */
  left: 0; top: 100%;             /* default; JS will fine-tune */
}




/* === ClockPicker Minimal Theme === */

/* popup wrapper */
.clockpicker-popover {
  font-family: Rosarivo, serif !important;
  background: #f9f9f9 !important;   /* soft light gray */
  border-radius: 4px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
}

/* title */
.clockpicker-popover .popover-title {
  font-family: Rosarivo, serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* AM/PM buttons */
.clockpicker-button {
  font-family: Rosarivo, serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
}


/* === AM/PM Buttons (Black Theme) === */
.clockpicker-am-pm-block .clockpicker-button {
  background: #000 !important;
  color: #fff !important;
  font-family: Rosarivo, serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

/* Hover effect - invert colors */
.clockpicker-am-pm-block .clockpicker-button:hover {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
}

/* === Datepicker Custom Font & Styling === */
#ui-datepicker-div {
  font-family: Rosarivo, serif !important;
  font-size: 14px !important;
  color: #000 !important;
  background: #fff !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  padding: 8px !important;
}

/* Header (month + year) */
#ui-datepicker-div .ui-datepicker-title,
#ui-datepicker-div select.ui-datepicker-month,
#ui-datepicker-div select.ui-datepicker-year {
  font-family: Rosarivo, serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #000 !important;
}

/* Weekday headings (Mo, Tu, etc.) */
#ui-datepicker-div th {
  font-family: Rosarivo, serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #444 !important;
  padding: 4px !important;
}

/* Day numbers */
#ui-datepicker-div td a,
#ui-datepicker-div td span {
  font-family: Rosarivo, serif !important;
  font-size: 13px !important;
  color: #000 !important;
  text-decoration: none !important;
  display: block !important;
  padding: 6px !important;
  border-radius: 2px !important;
  transition: background 0.2s ease;
}

/* Hovered day */
#ui-datepicker-div td a:hover {
  background: #000 !important;
  color: #fff !important;
}

/* Today’s date */
#ui-datepicker-div td.ui-datepicker-today a {
  background: #f0f0f0 !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  font-weight: bold !important;
}

/* Selected date */
#ui-datepicker-div td a.ui-state-active {
  background: #000 !important;
  color: #fff !important;
}



/* When #field_1_8 is hidden, make #field_1_5 full-width */
@media (min-width: 640px) {
  /* Option A: look for a hidden sibling directly after */
  #field_1_5:has(+ #field_1_8[style*="display: none"]) {
    grid-column: 1 / -1 !important;
  }

  /* Option B: more general – if the form contains a hidden #field_1_8 */
  .gform_fields:has(#field_1_8[style*="display: none"]) #field_1_5 {
    grid-column: 1 / -1 !important;
  }
}


/* Form #1 – control grid gaps */
#gform_fields_1 {
  /* set your custom gap values once */
  --gf-form-gap-y: 21px;   /* vertical gap between rows */
  --gf-form-gap-x: 22px;   /* horizontal gap between columns */

  /* apply them, overriding the zeroed gaps */
  row-gap: var(--gf-form-gap-y) !important;
  grid-row-gap: var(--gf-form-gap-y) !important;
}

@media (min-width: 640px) {
  #gform_fields_1 {
    column-gap: var(--gf-form-gap-x) !important;
    grid-column-gap: var(--gf-form-gap-x) !important;
  }
}/* End custom CSS */