.margin-bottom-xs {margin-bottom: 10px;}
.margin-bottom-s {margin-bottom: 20px;}
.margin-bottom-m {margin-bottom: 30px;}
.margin-bottom-l {margin-bottom: 40px;}
.margin-bottom-xl {margin-bottom: 50px;}
.gform_wrapper li.hidden_label input {
    margin-top: 0px!important;
}
@media only screen and (min-width: 641px) {
    .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container), .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container) {
        margin: 0!important;
    }
}
@media (max-width: 1365px) {
    .oxy-pro-menu.oxy-pro-menu-off-canvas .menu-item-has-children > a .oxy-pro-menu-dropdown-icon-click-area, .oxy-pro-menu.oxy-pro-menu-open .menu-item-has-children > a .oxy-pro-menu-dropdown-icon-click-area {
        min-width: 20px!important;
    }
    #-pro-menu-20-8 .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg {
        font-size: 10px!important;
    }
}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    padding: 8px 12px!important;
    font-family: inherit;
    border: 1px solid #333333;
	border-radius: 0px;
    line-height: 1!important;
    min-height: 32px!important;
}
.gform_wrapper textarea {
    padding: 8px 12px!important;
    border: 1px solid #333333;
	border-radius: 0px;
    font-family: inherit;
    line-height: 1.4!important;
    min-height: 32px!important;
}
.gform_wrapper.gravity-theme .gform_footer {
    display: flex;
    align-items: center;
    justify-content: center;
}
body .gform_wrapper .gform_footer input[type=submit] {
    font-family: inherit;
    font-weight: 600;
    line-height: 1!important;
    letter-spacing: .5px;
    color: #ffffff;
    padding-top: 13px;
    padding-bottom: 14px;
    padding-left: 25px;
    padding-right: 25px;
    background-color: #bd122e;
    border: 1px solid #bd122e;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
}
body .gform_wrapper .gform_footer input[type=submit]:hover {
    border: 1px solid #931026;
    background-color: #931026;
}
.gform_wrapper select {
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 99% 50%;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%!important;
    padding: 8px 12px!important;
    border: 1px solid #ffffff;
    color: inherit;
    background-color: #ffffff!important;
    border-radius: 0px;
    font-family: inherit;
}
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
    -webkit-appearance: none;
    border-radius: 0;
}
::-webkit-input-placeholder {color:#333;}
:-moz-placeholder {opacity:1;color:#333;}
::-moz-placeholder {opacity:1;color:#333;}
:-ms-input-placeholder {color:#333;}
input:-moz-placeholder {color:#333;}
p.gform_required_legend {
    display: none;
}
.rplg .rplg-review-name {
    color: #333333!important;
    text-transform: capitalize;
}
r-p rp-review-inner {
    border-radius: 0px!important;
}
r-p rp-slider rp-header-inner, r-p rp-review-inner {
    padding: 20px!important;
}
r-p rp-readmore {
    color: #bd122e!important;
    font-weight: 600;
}
r-p rp-slider rp-review-text {
    font-size: 15px;
}
r-p rp-slider rp-header rp-scale {
    font-weight: 600;
}
.rplg .rplg-biz-based {
    display: block!important;
    color: #222222!important;
}
.rplg .rplg-more-toggle {
    color: #bd122e!important;
}
.rplg .rplg-box {
    border-radius: 0px!important;
}
.gform_wrapper.gravity-theme .gfield_label {
    font-weight: 600 !important;
}
.oxy-gallery-item-contents {
  background-position: 50% 50%;
}
.custom-list {
    list-style: none;
    padding-left: 0;
}
.custom-list li {
    position: relative;
    padding: 5px 0 5px 23px;
    line-height: 1.7em;
    font-size: 15px;
}
.custom-list li:before {
    content: '';
    width: 14px;
    height: 14px;
    position: absolute;
    background-image: url('/wp-content/uploads/check.svg');
    background-size: cover;
    background-position: center;
    left: 0;
    top: 11px;
}
.gsection_title {
  font-size: 30px;
  margin-top: 20px;
}
.gfield_radio li {
  border: 1px solid #ddd;
  padding: 15px;
  margin-bottom: 10px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.gfield_radio li:hover {
  border-color: #0257bd;
}

.gfield_radio input[type="radio"]:checked + label {
  font-weight: 600;
  color: #0257bd;
}
.gsection_title {
  font-size: 25px;
  margin-top: 30px;
  color: #0257bd;
  font-weight: 700;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"] {
  height: 44px;
  border-radius: 4px;
  border: 1px solid #ddd;
  padding: 0 12px;
}

.gform_wrapper input:focus {
  border-color: #0257bd;
  box-shadow: 0 0 0 2px rgba(2,87,189,0.1);
}
#gform_wrapper .total-price {
  background: #f5f8ff;
  padding: 20px;
  border-radius: 6px;
  border: 1px solid #dce6f7;
}

.total-price input {
  font-size: 20px;
  font-weight: 700;
  color: #0257bd;
}
.gform_wrapper .gform_footer input[type="submit"] {
  background: #c8102e;
  padding: 14px 24px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 4px;
  width: 100%;
  max-width: 320px;
}

.gform_wrapper .gform_footer input[type="submit"]:hover {
  background: #a50d24;
}
.gform_wrapper.gravity-theme .gsection {
    border-bottom: 1px solid #e5e5e5!important;
    padding: 0 0px 0px 0;
    margin-bottom: 10px;
}
.gsection {
    border-top: none;
	padding-top: 20px;
}
.label-padding-15 .gfield_label {
    padding-top: 15px!important;
}
/* ============================================
   Stark Heating - Gravity Forms field styling
   Boiler care plan sign-up form
   ============================================ */

:root {
  --shg-accent: #c63d1f;
  --shg-accent-soft: rgba(198, 61, 31, 0.08);
  --shg-border: #d4d4d4;
  --shg-border-hover: #9a9a9a;
  --shg-text: #1a1a1a;
  --shg-bg: #ffffff;
}

/* ---- Radio & checkbox list spacing ---- */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

/* ---- Choice rows fill width ---- */
.gform_wrapper .gchoice {
  position: relative;
  margin: 0;
  width: 100%;
}

/* ---- Hide native inputs completely ---- */
.gform_wrapper .gfield_radio input[type="radio"],
.gform_wrapper .gfield_checkbox input[type="checkbox"] {
  display: none !important;
}

/* ---- Label styling - full-width clickable surface ---- */
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 18px;
  background: var(--shg-bg);
  border: 1.5px solid var(--shg-border);
  border-radius: 0px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.4;
  color: var(--shg-text);
  font-weight: 500;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
  margin: 0;
  box-sizing: border-box;
  text-decoration: none;
}

/* ---- Custom radio circle ---- */
.gform_wrapper .gfield_radio label::before {
  content: "" !important;
  display: inline-block !important;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 2px solid var(--shg-border);
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* ---- Custom checkbox square ---- */
.gform_wrapper .gfield_checkbox label::before {
  content: "" !important;
  display: inline-block !important;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 2px solid var(--shg-border);
  border-radius: 0px;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* ---- Hover state ---- */
.gform_wrapper .gfield_radio label:hover,
.gform_wrapper .gfield_checkbox label:hover {
  border-color: var(--shg-border-hover);
  background: #fafafa;
}

.gform_wrapper .gfield_radio label:hover::before,
.gform_wrapper .gfield_checkbox label:hover::before {
  border-color: var(--shg-border-hover);
}

/* ---- Checked state - radio ---- */
.gform_wrapper .gfield_radio .gchoice:has(input[type="radio"]:checked) label {
  border-color: var(--shg-accent);
  background: var(--shg-accent-soft);
  box-shadow: 0 0 0 1px var(--shg-accent);
  color: var(--shg-text);
}

.gform_wrapper .gfield_radio .gchoice:has(input[type="radio"]:checked) label::before {
  border-color: var(--shg-accent);
  background: radial-gradient(circle, var(--shg-accent) 45%, #fff 50%);
}

/* ---- Checked state - checkbox ---- */
.gform_wrapper .gfield_checkbox .gchoice:has(input[type="checkbox"]:checked) label {
  border-color: var(--shg-accent);
  background: var(--shg-accent-soft);
  box-shadow: 0 0 0 1px var(--shg-accent);
  color: var(--shg-text);
}

.gform_wrapper .gfield_checkbox .gchoice:has(input[type="checkbox"]:checked) label::before {
  border-color: var(--shg-accent);
  background-color: var(--shg-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8l3.5 3.5L13 5' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

/* ---- Section labels (Choose Your Care Plan, Optional Extras) ---- */
.gform_wrapper .gfield_label {
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 4px;
  color: var(--shg-text);
}

/* ---- Text inputs to match ---- */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper select,
.gform_wrapper textarea {
  border: 1.5px solid var(--shg-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 16px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: var(--shg-accent);
  box-shadow: 0 0 0 3px var(--shg-accent-soft);
  outline: none;
}
/* ---- Force radio/checkbox containers full width ---- */
.gform_wrapper .ginput_container_radio,
.gform_wrapper .ginput_container_checkbox,
.gform_wrapper .ginput_container_product_radio,
.gform_wrapper .ginput_container_product_checkbox {
  width: 100%;
  max-width: 100%;
}

/* ---- Force the choice list itself full width ---- */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
  width: 100%;
  max-width: 100%;
}

/* ---- And each choice row ---- */
.gform_wrapper .gchoice {
  width: 100%;
  max-width: 100%;
  display: block;
}
/* ---- Override Gravity Forms theme.min.css max-width constraint on labels ---- */
.gform_wrapper.gravity-theme .gfield-choice-input + label,
.gform_wrapper .gfield-choice-input + label {
  max-width: 100% !important;
}
/* ---- Force jQuery UI Datepicker to behave as popup ---- */
#ui-datepicker-div {
  position: absolute !important;
  display: none;
  z-index: 9999 !important;
  background: #fff;
  border: 1px solid #ccc;
  padding: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  font-family: inherit;
}

#ui-datepicker-div.ui-datepicker {
  display: none;
}

/* When the datepicker is active, jQuery UI will set display:block inline */