.elementor-2537 .elementor-element.elementor-element-5e153d40{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2537 .elementor-element.elementor-element-0b1a2dc > .elementor-widget-container{padding:15px 0px 15px 0px;}.elementor-2537 .elementor-element.elementor-element-0b1a2dc .elementor-heading-title{font-size:43px;}#elementor-popup-modal-2537 .dialog-widget-content{animation-duration:1.2s;background-color:#FFFFFF;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-2537{background-color:#00000080;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-2537 .dialog-message{width:635px;height:auto;}#elementor-popup-modal-2537 .dialog-close-button{display:flex;top:1%;font-size:20px;}#elementor-popup-modal-2537 .dialog-close-button i{color:#052639;}#elementor-popup-modal-2537 .dialog-close-button svg{fill:#052639;}@media(max-width:1024px){#elementor-popup-modal-2537 .dialog-message{width:75vw;}}@media(min-width:768px){.elementor-2537 .elementor-element.elementor-element-5e153d40{--content-width:540px;}}@media(max-width:767px){.elementor-2537 .elementor-element.elementor-element-5e153d40{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-2537 .elementor-element.elementor-element-0b1a2dc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:41px 0px 0px 0px;}.elementor-2537 .elementor-element.elementor-element-0b1a2dc.elementor-element{--align-self:center;}.elementor-2537 .elementor-element.elementor-element-0b1a2dc .elementor-heading-title{font-size:30px;}#elementor-popup-modal-2537 .dialog-message{width:100vw;}#elementor-popup-modal-2537{align-items:center;}#elementor-popup-modal-2537 .dialog-close-button{top:1%;font-size:20px;}body:not(.rtl) #elementor-popup-modal-2537 .dialog-close-button{right:3%;}body.rtl #elementor-popup-modal-2537 .dialog-close-button{left:3%;}}/* Start custom CSS for html, class: .elementor-element-efcc8a9 */.bbq-options-form-wrap,
.bbq-options-form-wrap * {
  font-family: 'Heebo', sans-serif;
  color: #2E2E2E;
}

/* === Form Section Headers === */
.option-group h4,
.swatch-section h4 {
  font-family: 'Heebo', sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  color: #2E2E2E;
  margin-bottom: 1.5rem;
}
/* === General Button Font Styling === */
.btn-radio span,
.option-btn,
.swatch-tile span {
  font-family: 'Heebo', sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
}
/* === Layout Container === */
.bbq-options-form-wrap {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin: 0 auto 4rem;
  padding: 0 1rem;
  max-width: 1100px;
}

/* === Buttons === */
.btn-radio input,
.option-btn input {
  display: none;
}

.btn-radio span,
.option-btn {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 12px;
  background-color: #f8f8f8;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0.4rem 0.6rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
}

.btn-radio input:checked + span,
.option-btn input:checked + label {
  border-color: #002b3d;
  background-color: #002b3d;
  color: #fff;
}

/* === Button Groups === */
.option-group,
.option-group.button-select {
  text-align: center;
  margin-bottom: 2.5rem;
}

.option-group.button-select .btn-radio,
.option-group .option-btn {
  display: inline-block;
}

/* === Swatches Section === */
.swatch-section h3 {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #1b2a34;
}

/* === Swatch Grid === */
.swatch-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 2fr));
  gap: 20px;
  padding: 10px 0;
  justify-items: center;
}

/* === Swatch Tile === */
.swatch-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
  transition: 0.2s ease-in-out;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
  width: 100px;
}

.swatch-tile:hover {
  border-color: #aaa;
  transform: translateY(-1px);
}

.swatch-tile img {
  width: 100%;
  height: 70px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 6px;
  transition: transform 0.2s ease;
}

.swatch-tile:hover img {
  transform: scale(1.03);
}

.swatch-tile span {
  font-size: 13px;
  color: #333;
  word-break: break-word;
}

/* Hide native input */
.swatch-tile input[type="radio"] {
  display: none;
}

/* Selected style */
.swatch-tile:has(input:checked) {
  border-color: #002b3d;
  background-color: #f0f4f7;
  box-shadow: 0 0 0 2px #002b3d inset;
}

/* === Mobile Responsive === */
@media (max-width: 768px) {
  .btn-radio span,
  .option-btn {
    padding: 0.6rem 1.2rem;
    font-size: 0.95rem;
  }

  .swatch-group {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 14px;
  }

  .swatch-tile {
    width: 80px;
  }

  .swatch-tile img {
    height: 60px;
  }

  .swatch-tile span {
    font-size: 12px;
  }
}

/* === FORM STYLING === */
.bbq-form input[type="text"],
.bbq-form input[type="email"],
.bbq-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-family: inherit;
  font-size: 15px;
  margin-bottom: 15px;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.bbq-form input:focus,
.bbq-form textarea:focus {
  outline: none;
  border-color: #002b3d;
}

.bbq-form textarea {
  resize: vertical;
  min-height: 120px;
}

.bbq-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.bbq-form .form-row > div {
  flex: 1;
  min-width: 240px;
}

.bbq-form button {
  background-color: #002b3d;
  color: white;
  padding: 14px 24px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  width: 100%;
  transition: all 0.25s ease-in-out;
  font-weight: 600;
}

.bbq-form button:hover {
  background-color: white;
  color: #002b3d;
  border: 1px solid #002b3d;
}
/* === User Input Fields === */
.user-fields {
  display: flex;
  flex-direction: column; /* Stack fields vertically */
  gap: 20px;
  margin-top: 30px;
}

.user-fields label {
  display: flex;
  flex-direction: column;
  font-size: 0.95rem;
  color: #1b2a34;
  margin-bottom: 10px; /* Adds spacing between each field group */
}

.user-fields input,
.user-fields textarea {
  margin-top: 6px;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  width: 100%;
  resize: vertical;
  font-family: inherit;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s ease;
}

.user-fields input:focus,
.user-fields textarea:focus {
  border-color: #002b3d;
  outline: none;
}

/* No need for a mobile override now since it's already vertical */

#price-display {
  font-family: 'Heebo', sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  text-align: left;
  color: #1b2a34;
}/* End custom CSS */