/* Existing BDOPRO360 palette and typography; styles scoped to new components. */
.b360-form-grid>p{display:contents}.b360-form-grid>p>br{display:none}
body:is(.page-id-276,.page-id-2129) .elementor-element-224b004 p{text-align:center!important}
body:is(.page-id-276,.page-id-2129) .elementor-element-5cc0813{width:100%!important;max-width:860px!important;margin:0 auto!important}
body:is(.page-id-276,.page-id-2129) .bdopro-guarantees{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:12px auto 0}
@media(max-width:767px){body:is(.page-id-276,.page-id-2129) .bdopro-guarantees{grid-template-columns:1fr;gap:12px}}
.b360-flow{--b360-ink:#253c24;--b360-green:#4a6e1f;--b360-line:#dbe4cf;max-width:1100px;margin:0 auto;padding:0 24px;color:var(--b360-ink);font-family:inherit}
.b360-flow *{box-sizing:border-box}.b360-flow p,.b360-flow li{font-weight:400;line-height:1.7}.b360-flow h2,.b360-flow h3{font-family:'IBM Plex Serif',serif;color:#2c3a04;line-height:1.25}.b360-flow h3{font-size:25px;margin:0 0 14px}.b360-flow a{color:#38551a}.b360-flow a:focus-visible,.b360-form-tabs button:focus-visible{outline:3px solid #91b95d;outline-offset:4px}.b360-kicker{font-size:12px!important;letter-spacing:.1em;text-transform:uppercase;font-weight:700!important;color:#4a6e1f;margin:0 0 12px!important}
.b360-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.b360-path{background:#fff;border:1px solid var(--b360-line);border-top:3px solid #6f9a31;border-radius:14px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;box-shadow:0 8px 22px rgba(35,57,18,.035)}.b360-path:first-child{background:#f3f7ed;border-color:#91ac6a}.b360-path p{font-size:16px;margin-bottom:24px}.b360-path a{margin-top:auto;font-size:15px;font-weight:700;text-underline-offset:4px}.b360-path-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#e8efd9;color:#355619;border-radius:50%;font-size:14px;font-weight:700;margin-bottom:22px}
.b360-report-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#1a3a2a;border-radius:14px;padding:26px 32px;color:#fff}.b360-report-strip h3{color:#fff;font-size:23px;margin:0 0 7px}.b360-report-strip p{margin:0;color:#e3ecdd}.b360-report-strip a{color:#fff;white-space:nowrap;border:1px solid #b2c19d;border-radius:8px;padding:12px 18px;font-weight:600;text-decoration:none}
.b360-offer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border:1px solid var(--b360-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(35,57,18,.04)}.b360-offer-main{padding:36px}.b360-offer-main h3{font-size:30px}.b360-offer-price{font-size:42px;font-weight:700!important;line-height:1.25!important;margin:0 0 20px}.b360-offer-price small{font-size:16px;font-weight:400;display:block;margin-top:6px}.b360-offer-extra{background:#f3f7ed;padding:30px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--b360-line)}.b360-offer-extra strong{font-size:25px;color:#2c3a04}.b360-offer-extra p{font-size:15px;margin:12px 0 0}.b360-offer ul{margin:0 0 24px;padding-left:20px}.b360-flow a.b360-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;background:#4a6e1f;color:#fff;text-decoration:none;font-weight:600;padding:12px 22px;line-height:1.4}.b360-flow a.b360-button:hover{background:#38551a}.b360-offer-note{font-size:14px;color:#54644b;margin:16px 0 0}.b360-oneoff-links{display:flex;gap:12px 24px;flex-wrap:wrap;justify-content:center;margin-top:24px;padding-top:20px;border-top:1px solid #dbe4cf;font-size:15px}.b360-oneoff-links a{text-underline-offset:4px}
.b360-faq-new{max-width:880px}.b360-faq-new h2{text-align:center;font-size:clamp(26px,3vw,36px);margin:0 0 28px}.b360-faq-new details{border:1px solid #dbe4cf;border-radius:10px;background:#fff;margin-bottom:10px;overflow:hidden}.b360-faq-new summary{padding:18px 22px;cursor:pointer;font-weight:600;line-height:1.5;color:#2c3a04}.b360-faq-new details[open] summary{background:#f3f7ed}.b360-faq-new .b360-answer{padding:16px 22px;font-size:16px;font-weight:400;line-height:1.7}.b360-faq-new .b360-answer p:last-child{margin-bottom:0}
.b360-contact-switcher{scroll-margin-top:120px}.b360-form-tabs{display:flex;border-bottom:1px solid #dbe4cf;gap:8px;margin-bottom:22px}.b360-form-tabs button{flex:1;border:1px solid #dbe4cf;border-bottom:0;border-radius:9px 9px 0 0;padding:13px 12px;background:#f5f8ef;color:#3c502e;font-size:15px;font-weight:600;line-height:1.4;min-height:48px}.b360-form-tabs button[aria-selected=true]{background:#4a6e1f;color:#fff;border-color:#4a6e1f}.b360-contact-switcher [hidden]{display:none!important}.b360-form-intro{font-size:16px!important;font-weight:400!important;line-height:1.7;margin:0 0 24px}.b360-message-title{font-size:25px!important;margin:0 0 20px}
.b360-request-form{font-weight:400;line-height:1.6;color:#253c24}.b360-request-form p{font-weight:400}.b360-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.b360-field{display:block!important;color:#33432a;font-size:14px!important;font-weight:600!important;line-height:1.5!important;margin:0 0 18px!important;min-width:0;text-transform:none!important;letter-spacing:0!important}.b360-field br{display:none}.b360-field .wpcf7-form-control-wrap{display:block;margin-top:7px}.b360-form-grid .b360-field{margin-bottom:0!important}.b360-form-grid{margin-bottom:18px}.b360-request-form input:not([type=checkbox]):not([type=submit]),.b360-request-form select,.b360-request-form textarea{width:100%;max-width:100%;min-width:0;min-height:47px;padding:11px 12px;border:1px solid #cfdac2;border-radius:8px;background:#fcfdf9;color:#253c24;font-family:inherit;font-size:16px;line-height:1.4;box-sizing:border-box;font-weight:400}.b360-request-form textarea{height:96px;resize:vertical}.b360-request-form input:focus,.b360-request-form select:focus,.b360-request-form textarea:focus{border-color:#6f9a31;outline:2px solid #6f9a3140;outline-offset:1px}.b360-slot-box{padding:20px;background:#f3f7ed;border:1px solid #dbe4cf;border-radius:12px;margin:0 0 24px}.b360-slot-box .b360-form-grid{margin-bottom:10px}.b360-form-hint{font-size:13px!important;font-weight:400!important;line-height:1.65!important;color:#53614a;margin:12px 0!important}.b360-slot-box .b360-form-hint{margin-bottom:0!important}.b360-consent{font-size:13px;line-height:1.6;margin:10px 0 20px}.b360-consent .wpcf7-list-item{margin:0}.b360-consent label{font-size:13px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important}.b360-consent input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:7px;accent-color:#4a6e1f}.b360-consent a{color:#38551a;text-decoration:underline}.b360-request-form input[type=submit]{width:100%;min-height:49px;border:0;border-radius:8px;background:#4a6e1f;color:#fff;font-size:16px;font-weight:600;padding:13px 18px;cursor:pointer}.b360-request-form input[type=submit]:hover{background:#38551a}.b360-request-form .wpcf7-not-valid-tip{font-size:13px;margin-top:6px}.b360-request-form .wpcf7-spinner{margin:10px 0 0}.b360-quote-panel{max-width:850px;margin:30px auto 0;padding:32px;background:#fff;border:1px solid #dbe4cf;border-radius:18px;scroll-margin-top:120px}.b360-quote-panel h2{font-family:'IBM Plex Serif',serif;color:#2c3a04;font-size:30px;line-height:1.3}.b360-quote-panel>p{font-weight:400;line-height:1.7}.b360-price-summary{padding:18px 20px;background:#f3f7ed;border-left:3px solid #6f9a31;border-radius:4px 10px 10px 4px;font-size:15px;line-height:1.7;font-weight:400}
body:is(.page-id-276,.page-id-2129) .elementor-element-95e2f95{padding-bottom:52px!important}body:is(.page-id-276,.page-id-2129) .elementor-element-224b004{max-width:830px!important;margin:0 auto!important}body:is(.page-id-276,.page-id-2129) .elementor-element-224b004 p{font-size:18px!important;font-weight:400!important;line-height:1.75!important}body:is(.page-id-276,.page-id-2129) .elementor-element-b826951 h1{font-size:clamp(35px,4.7vw,58px)!important;line-height:1.18!important}body:is(.page-id-276,.page-id-2129) .elementor-element-fe04864 h4{font-size:15px!important;font-family:inherit!important;text-transform:none!important;letter-spacing:.035em!important}body:is(.page-id-355,.page-id-2135) .elementor-element-a027ecf{padding:28px!important}.b360-contact-context-box{background:#f3f7ed;border:1px solid #dbe4cf;border-radius:12px;padding:24px;margin-top:24px}.b360-contact-context-box h3{font-size:22px;margin:0 0 12px}.b360-contact-context-box p,.b360-contact-context-box li{font-size:15px;font-weight:400;line-height:1.7}.b360-contact-context-box ul{padding-left:20px;margin:0}
@media(max-width:900px){.b360-paths{grid-template-columns:1fr}.b360-path{padding:25px}.b360-path-num{margin-bottom:15px}.b360-offer{grid-template-columns:1fr}.b360-offer-extra{border-left:0;border-top:1px solid #dbe4cf}.b360-report-strip{align-items:flex-start;flex-direction:column}.b360-report-strip a{white-space:normal}.b360-path h3{font-size:24px}}
@media(max-width:600px){.b360-flow{padding:0 4px}.b360-flow h3{font-size:23px}.b360-offer-main,.b360-offer-extra{padding:24px}.b360-offer-price{font-size:35px}.b360-report-strip{padding:24px}.b360-oneoff-links{flex-direction:column;align-items:flex-start}.b360-form-grid{grid-template-columns:1fr;gap:16px}.b360-slot-box{padding:16px}.b360-quote-panel{padding:22px 18px}.b360-faq-new summary{padding:16px}.b360-faq-new .b360-answer{padding:16px;font-size:15px}.b360-form-tabs button{font-size:14px;padding:12px 8px}body:is(.page-id-355,.page-id-2135) .elementor-element-a027ecf{padding:20px!important}body:is(.page-id-276,.page-id-2129) .elementor-element-224b004 p{font-size:16px!important}.b360-flow a.b360-button{width:100%}}
@media(prefers-reduced-motion:reduce){.b360-flow *{scroll-behavior:auto!important;transition:none!important}}


/* Inline BDOPRO360 calendar v1.2.2 */
.b360-calendar {
  --b360-calendar-cream: #f3f7ed;
  --b360-calendar-green: #4a6e1f;
  --b360-calendar-ink: #253c24;
  --b360-calendar-line: #dbe4cf;
  width: 100%;
  max-width: 460px;
  margin: 0 auto 18px;
  padding: 18px;
  border: 1px solid var(--b360-calendar-line);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(243, 247, 237, .94), rgba(255, 255, 255, .98)),
    radial-gradient(circle at 100% 0, rgba(111, 154, 49, .12), transparent 34%);
  color: var(--b360-calendar-ink);
  box-shadow: 0 10px 24px rgba(35, 57, 18, .06);
  box-sizing: border-box;
  overflow: hidden;
}

.b360-request-form[data-b360-form="call"][data-b360-calendar-ready="1"] .b360-slot-box {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.b360-calendar *,
.b360-calendar *::before,
.b360-calendar *::after {
  box-sizing: border-box;
}

.b360-calendar-native-fields {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.b360-calendar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.b360-calendar-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 5px !important;
  color: var(--b360-calendar-green);
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.b360-calendar-title {
  margin: 0 !important;
  color: #2c3a04;
  font-family: "IBM Plex Serif", serif;
  font-size: clamp(21px, 5.6vw, 26px);
  line-height: 1.18;
  letter-spacing: 0;
}

.b360-calendar-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.b360-calendar-nav {
  display: inline-flex;
  gap: 6px;
}

.b360-calendar-nav button,
.b360-calendar-day,
.b360-calendar-time,
.b360-calendar-retry {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--b360-calendar-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--b360-calendar-ink) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-shadow: none !important;
  cursor: pointer;
}

.b360-calendar-nav button {
  width: 42px;
  height: 42px;
  padding: 0 !important;
  color: var(--b360-calendar-green) !important;
  font-size: 27px !important;
}

.b360-calendar-nav button:disabled,
.b360-calendar-day:disabled,
.b360-calendar-time:disabled {
  cursor: not-allowed;
}

.b360-calendar-nav button:disabled {
  opacity: .4;
}

.b360-calendar-copy {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 14px !important;
  color: #53614a;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.b360-calendar-copy .b360-calendar-icon {
  margin-top: 1px;
  color: var(--b360-calendar-green);
}

.b360-calendar-month {
  margin: 0 0 10px;
  color: #2c3a04;
  font-family: "IBM Plex Serif", serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
}

.b360-calendar-weekdays,
.b360-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.b360-calendar-weekdays {
  margin-bottom: 6px;
}

.b360-calendar-days {
  grid-auto-rows: 40px;
}

.b360-calendar-weekdays span {
  color: #66755c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
}

.b360-calendar-blank {
  min-height: 40px;
}

.b360-calendar-day {
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  background: #fcfdf9 !important;
  font-size: 14px !important;
}

.b360-calendar-day:disabled {
  background: #eef2e8 !important;
  color: #8f9b87 !important;
  opacity: 1;
}

.b360-calendar-day.is-today {
  border-color: #9fba78 !important;
  background: #eef5df !important;
}

.b360-calendar-day.is-selected,
.b360-calendar-time.is-selected {
  border-color: var(--b360-calendar-green) !important;
  background: var(--b360-calendar-green) !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(74, 110, 31, .22);
}

.b360-calendar-day:not(:disabled):hover,
.b360-calendar-time:not(:disabled):hover,
.b360-calendar-nav button:not(:disabled):hover,
.b360-calendar-retry:hover {
  border-color: #91ac6a !important;
  background: #edf4df !important;
  color: #253c24 !important;
}

.b360-calendar-day:disabled:hover,
.b360-calendar-time:disabled:hover {
  background: #eef2e8 !important;
  color: #8f9b87 !important;
}

.b360-calendar-day:focus-visible,
.b360-calendar-time:focus-visible,
.b360-calendar-nav button:focus-visible,
.b360-calendar-retry:focus-visible {
  outline: 3px solid rgba(111, 154, 49, .38);
  outline-offset: 2px;
}

.b360-calendar-legend,
.b360-calendar-zone {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 10px 0 0;
  color: #617057;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.b360-calendar-legend span,
.b360-calendar-zone {
  display: inline-flex;
  align-items: center;
}

.b360-calendar-legend i {
  width: 10px;
  height: 10px;
  margin-right: 6px;
  border: 1px solid var(--b360-calendar-line);
  border-radius: 50%;
  background: #fff;
}

.b360-calendar-legend i.is-busy {
  background: #eef2e8;
}

.b360-calendar-zone {
  gap: 6px;
  margin-top: 12px !important;
}

.b360-calendar-zone .b360-calendar-icon {
  width: 15px;
  height: 15px;
  color: var(--b360-calendar-green);
}

.b360-calendar-empty {
  margin: 0 !important;
  padding: 13px 14px;
  border: 1px dashed #cbd8bb;
  border-radius: 8px;
  background: rgba(255, 255, 255, .64);
  color: #53614a;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.b360-calendar-slot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.b360-calendar-time {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0 5px !important;
  background: #fff !important;
  font-size: 14px !important;
}

.b360-calendar-time.is-busy {
  background: #eef2e8 !important;
  color: #8f9b87 !important;
  border-style: dashed !important;
  opacity: 1;
}

.b360-calendar-status {
  min-height: 20px;
  margin: 12px 0 0 !important;
  color: #53614a;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.b360-calendar-status a {
  color: #38551a;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.b360-calendar-retry {
  min-height: 34px;
  margin-left: 6px;
  padding: 0 10px;
  color: var(--b360-calendar-green);
  font-size: 13px;
}

.b360-request-form .b360-calendar button.b360-calendar-day,
.b360-request-form .b360-calendar button.b360-calendar-time,
.b360-request-form .b360-calendar button.b360-calendar-prev,
.b360-request-form .b360-calendar button.b360-calendar-next,
.b360-request-form .b360-calendar button.b360-calendar-retry {
  border-color: var(--b360-calendar-line) !important;
  background: #fff !important;
  color: var(--b360-calendar-ink) !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day:disabled,
.b360-request-form .b360-calendar button.b360-calendar-time:disabled {
  background: #eef2e8 !important;
  color: #8f9b87 !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day.is-selected,
.b360-request-form .b360-calendar button.b360-calendar-time.is-selected {
  border-color: var(--b360-calendar-green) !important;
  background: var(--b360-calendar-green) !important;
  color: #fff !important;
}

.b360-request-form .b360-calendar button.b360-calendar-prev,
.b360-request-form .b360-calendar button.b360-calendar-next,
.b360-request-form .b360-calendar button.b360-calendar-retry {
  color: var(--b360-calendar-green) !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day.is-today {
  border-color: #9fba78 !important;
  background: #eef5df !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-time:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-prev:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-next:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-retry:hover {
  border-color: #91ac6a !important;
  background: #edf4df !important;
  color: #253c24 !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day.is-selected,
.b360-request-form .b360-calendar button.b360-calendar-time.is-selected {
  border-color: var(--b360-calendar-green) !important;
  background: var(--b360-calendar-green) !important;
  color: #fff !important;
}

.b360-request-form .b360-calendar button.b360-calendar-day.is-selected:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-day.is-selected:focus-visible,
.b360-request-form .b360-calendar button.b360-calendar-time.is-selected:not(:disabled):hover,
.b360-request-form .b360-calendar button.b360-calendar-time.is-selected:focus-visible {
  border-color: var(--b360-calendar-green) !important;
  background: var(--b360-calendar-green) !important;
  color: #fff !important;
}

.b360-calendar-summary {
  height: 86px;
  margin-top: 14px;
}

.b360-request-form .b360-calendar button.b360-calendar-summary-button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 10px !important;
  border: 1px solid #cfdac2 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #253c24 !important;
  font: inherit !important;
  text-align: left;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none;
  cursor: pointer;
}

.b360-request-form .b360-calendar button.b360-calendar-summary-button:disabled {
  border-style: dashed !important;
  color: #53614a !important;
  cursor: default;
  opacity: 1;
}

.b360-request-form .b360-calendar button.b360-calendar-summary-button.has-selection {
  border-color: #91ac6a !important;
  background: #edf4df !important;
}

.b360-calendar-summary-copy {
  display: block;
  min-width: 0;
  flex: 1;
}

.b360-calendar-summary-copy strong,
.b360-calendar-summary-copy small {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}

.b360-calendar-summary-copy strong {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.b360-calendar-summary-copy small {
  margin-top: 3px;
  color: #4a6e1f;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.b360-calendar-summary-copy small:empty {
  display: none;
}

.b360-calendar-summary-arrow {
  flex: 0 0 auto;
  color: #4a6e1f;
  font-size: 25px;
  line-height: 1;
}

.b360-calendar-summary-button:disabled .b360-calendar-summary-arrow {
  visibility: hidden;
}

html:has(dialog.b360-calendar-dialog[open]) {
  overflow: hidden;
  scrollbar-gutter: stable;
}

dialog.b360-calendar-dialog {
  position: fixed;
  inset: 0;
  width: min(460px, calc(100vw - 24px));
  max-width: none;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 24px;
  border: 1px solid #dbe4cf;
  border-radius: 18px;
  background: #fcfdf9;
  color: #253c24;
  font-family: inherit;
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 20px 80px rgba(20, 44, 23, .24);
}

dialog.b360-calendar-dialog:not([open]) {
  display: none !important;
}

dialog.b360-calendar-dialog::backdrop {
  background: rgba(22, 42, 25, .46);
  backdrop-filter: blur(3px);
}

.b360-calendar-dialog-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  justify-content: space-between;
}

.b360-calendar-dialog-head > div {
  min-width: 0;
}

.b360-request-form .b360-calendar h3.b360-calendar-dialog-title {
  margin: 7px 0 0 !important;
  color: #2c3a04;
  font-family: 'IBM Plex Serif', serif !important;
  font-size: 23px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.b360-request-form .b360-calendar button.b360-calendar-dialog-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0 !important;
  border: 1px solid #dbe4cf !important;
  border-radius: 9px !important;
  background: #f3f7ed !important;
  color: #4a6e1f !important;
  font-family: inherit !important;
  font-size: 28px !important;
  line-height: 1 !important;
  cursor: pointer;
}

.b360-calendar-dialog-hint {
  margin: 12px 0 !important;
  color: #53614a;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.b360-calendar-dialog-legend {
  margin-bottom: 16px;
}

.b360-calendar-dialog .b360-calendar-slot-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.b360-calendar-dialog .b360-calendar-time {
  min-height: 44px;
}

.b360-calendar-dialog-status {
  margin: 14px 0 0 !important;
  color: #53614a;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

.b360-calendar-dialog-status:empty {
  display: none;
}

.b360-calendar-dialog-status a {
  color: #38551a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.b360-request-form .b360-calendar button.b360-calendar-dialog-close:focus-visible,
.b360-request-form .b360-calendar button.b360-calendar-summary-button:focus-visible {
  outline: 3px solid #6f9a31;
  outline-offset: 3px;
}

@media (max-width: 420px) {
  .b360-calendar {
    padding: 12px;
    border-radius: 10px;
  }

  .b360-calendar-head {
    gap: 8px;
  }

  .b360-calendar-nav button {
    width: 40px;
    height: 40px;
  }

  .b360-calendar-weekdays,
  .b360-calendar-days {
    gap: 4px;
  }

  .b360-calendar-day {
    min-height: 38px;
    font-size: 13px !important;
  }

  .b360-calendar-days {
    grid-auto-rows: 38px;
  }

  .b360-calendar-blank {
    min-height: 38px;
  }

  .b360-calendar-slot-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  dialog.b360-calendar-dialog {
    padding: 18px 14px;
    border-radius: 14px;
  }

  .b360-request-form .b360-calendar h3.b360-calendar-dialog-title {
    font-size: 20px !important;
  }

  .b360-calendar-dialog .b360-calendar-slot-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }
}


/* Three-step contact flow */
.b360-wizardized {
  --b360-wizard-cream: #f3f7ed;
  --b360-wizard-paper: #fcfdf9;
  --b360-wizard-green: #4a6e1f;
  --b360-wizard-ink: #253c24;
  --b360-wizard-line: #dbe4cf;
}

.b360-wizard,
.b360-wizard * {
  box-sizing: border-box;
}

.b360-wizard {
  width: 100%;
  color: var(--b360-wizard-ink);
}

.b360-wizard-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.b360-wizard-progress li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--b360-wizard-line);
  border-radius: 8px;
  background: var(--b360-wizard-paper);
  color: #617057;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.b360-wizard-progress span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e8efd9;
  color: var(--b360-wizard-green);
}

.b360-wizard-progress strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.b360-wizard-progress li.is-active {
  border-color: #91ac6a;
  background: var(--b360-wizard-cream);
  color: var(--b360-wizard-ink);
}

.b360-wizard-progress li.is-active span,
.b360-wizard-progress li.is-complete span {
  background: var(--b360-wizard-green);
  color: #fff;
}

.b360-wizard-panel[hidden] {
  display: none !important;
}

.b360-wizard-panel h3 {
  margin: 0 0 7px !important;
  color: #2c3a04;
  font-family: "IBM Plex Serif", serif;
  font-size: clamp(22px, 5vw, 27px);
  line-height: 1.2;
  letter-spacing: 0;
}

.b360-wizard-panel h3:focus-visible {
  outline: 3px solid rgba(111, 154, 49, .35);
  outline-offset: 4px;
}

.b360-wizard-intro {
  margin: 0 0 16px !important;
  color: #53614a;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.b360-wizard-fields {
  display: grid;
  gap: 14px;
}

.b360-wizard-fields-0,
.b360-wizard-fields-1 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b360-wizard-fields-0 > :last-child,
.b360-wizard-fields-1 > .b360-consent {
  grid-column: 1 / -1;
}

.b360-wizard-fields .b360-form-grid {
  margin-bottom: 0;
}

.b360-wizard-fields .b360-field {
  margin-bottom: 0 !important;
}

.b360-wizard-fields .b360-slot-box {
  margin-bottom: 0;
}

.b360-wizard-fields > p {
  margin: 0 !important;
}

.b360-wizard-fields .wpcf7-submit {
  width: 100%;
}

.b360-wizard-fields .wpcf7-spinner {
  margin: 10px 0 0;
}

.b360-wizard-nav {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 18px;
}

.b360-wizard-nav:empty {
  display: none;
}

.b360-wizard-back,
.b360-wizard-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  border: 1px solid var(--b360-wizard-line) !important;
  border-radius: 8px !important;
  padding: 11px 18px !important;
  background: #fff !important;
  color: var(--b360-wizard-green) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
  cursor: pointer;
}

.b360-wizard-next {
  margin-left: auto;
  border-color: var(--b360-wizard-green) !important;
  background: var(--b360-wizard-green) !important;
  color: #fff !important;
}

.b360-wizard-back:hover,
.b360-wizard-back:focus-visible {
  border-color: #91ac6a !important;
  background: #edf4df !important;
  color: #253c24 !important;
}

.b360-wizard-next:hover,
.b360-wizard-next:focus-visible {
  border-color: #38551a !important;
  background: #38551a !important;
  color: #fff !important;
}

.b360-wizard-error,
.b360-wizard-field-error {
  color: #8f2f1f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.b360-wizard-error {
  min-height: 18px;
  margin: 12px 0 0 !important;
}

.b360-wizard-field-error {
  display: block;
  margin-top: 6px;
}

.b360-wizard-invalid input,
.b360-wizard-invalid select,
.b360-wizard-invalid textarea {
  border-color: #b85c4a !important;
  outline: 2px solid rgba(184, 92, 74, .18) !important;
}

.b360-wizard-panel[data-step="2"] > h3 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.b360-wizard-panel[data-step="2"] > .b360-wizard-intro {
  display: none;
}

.b360-calendar.b360-wizard-invalid {
  border-color: #b85c4a !important;
  outline: 2px solid rgba(184, 92, 74, .18) !important;
}

.b360-wizard[hidden],
.b360-wizard-success[hidden],
.b360-call-sent.sent .wpcf7-response-output,
form:has(.b360-wizard) .wpcf7-response-output:empty {
  display: none !important;
}

.b360-wizard-success {
  box-sizing: border-box;
  padding: clamp(24px, 5vw, 40px) clamp(18px, 4vw, 32px);
  border: 1px solid #dbe4cf;
  border-radius: 18px;
  background: radial-gradient(ellipse at top, #edf4df 0, #f8faf3 65%, #fcfdf9 100%);
  text-align: center;
  color: #253c24;
  animation: b360-success-in .3s ease-out;
}

.b360-success-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 14px;
  color: #4a6e1f;
}

.b360-success-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.b360-wizard-success .b360-success-label {
  margin: 0 0 10px !important;
  color: #4a6e1f;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
  line-height: 1.5 !important;
  text-transform: uppercase;
}

.b360-wizard-success h3 {
  margin: 0 0 14px !important;
  font-family: "IBM Plex Serif", serif;
  font-size: clamp(25px, 5vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  color: #2c3a04;
  text-wrap: balance;
}

.b360-wizard-success h3:focus { outline: none; }
.b360-wizard-success h3:focus-visible {
  outline: 2px solid #91ac6a;
  outline-offset: 5px;
}

.b360-wizard-success .b360-success-body {
  max-width: 390px;
  margin: 0 auto 24px !important;
  color: #53614a;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

.b360-wizard-success .b360-success-again {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: 100%;
  min-height: 44px;
  padding: 11px 16px !important;
  border: 1px solid #c4d3b0 !important;
  border-radius: 8px !important;
  background: #fcfdf9 !important;
  color: #3e5e1c !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
  white-space: normal;
  cursor: pointer;
}

.b360-wizard-success .b360-success-again:hover {
  border-color: #91ac6a !important;
  background: #eaf1de !important;
}

.b360-wizard-success .b360-success-again:focus-visible {
  outline: 3px solid #91ac6a;
  outline-offset: 3px;
}

@keyframes b360-success-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .b360-wizard-success { animation: none; }
}

@media (max-width: 420px) {
  .b360-wizard-progress {
    gap: 5px;
  }

  .b360-wizard-progress li {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding: 8px 7px;
    font-size: 11px;
  }

  .b360-wizard-progress span {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }

  .b360-wizard-nav {
    flex-direction: column-reverse;
  }

  .b360-wizard-back,
  .b360-wizard-next {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .b360-wizard-fields-0,
  .b360-wizard-fields-1 {
    grid-template-columns: 1fr;
  }
}


/* Original company questionnaire entry points */
.b360-registration-entry {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  margin: 0 0 20px;
  border: 1px solid #dbe4cf;
  border-radius: 12px;
  background: #f3f7ed;
  color: #253c24;
}

.b360-registration-entry > svg {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  stroke: #4a6e1f;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.b360-registration-entry > div { min-width: 0; }

.b360-registration-entry p {
  margin: 0 0 3px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #53614a;
}

.b360-registration-entry a {
  display: inline-block;
  padding: 6px 0;
  color: #3e5e1c !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: #9ab17b;
  text-underline-offset: 4px;
}

.b360-registration-entry a:hover { text-decoration-color: #3e5e1c; }
.b360-registration-entry a:focus-visible {
  outline: 3px solid #91ac6a;
  outline-offset: 3px;
  border-radius: 3px;
}

@media (max-width: 420px) {
  .b360-registration-entry { gap: 10px; padding: 14px 12px; align-items: flex-start; }
  .b360-registration-entry > svg { margin-top: 3px; width: 22px; height: 22px; flex-basis: 22px; }
  .b360-registration-entry a { min-height: 44px; }
}

/* Keep the added navigation entry on one row before Astra switches to mobile. */
@media (min-width: 922px) and (max-width: 1200px) {
  header .custom-logo { max-width: 170px !important; height: auto; }
  header #ast-hf-menu-1 > .menu-item > .menu-link {
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 14px !important;
  }
  header .ast-custom-button {
    padding: 12px 14px !important;
    font-size: 14px !important;
    white-space: nowrap;
  }
}
