/* AIC Quotes owns these tokens; the host site keeps its existing Elementor identity. */
.aic-quote,
.aic-quote-trigger,
.aic-quote-toast,
.aic-quote-dialog,
.aic-catalog {
  --aic-blue: #027cc3;
  --aic-action: #006ba8;
  --aic-action-hover: #005586;
  --aic-ink: #203444;
  --aic-muted: #516575;
  --aic-line: #d5e1e9;
  --aic-field-line: #7898ad;
  --aic-sky: #edf7fd;
  --aic-yellow: #ffdc24;
  --aic-error: #a52a30;
  --aic-radius: 8px;
  --aic-body: "RobotoRegular", "Roboto", Arial, sans-serif;
  --aic-display: "ProximaNova-Black", "Arial Black", Arial, sans-serif;
  --aic-scroll-thumb: #7898ad;
  --aic-scroll-track: #edf3f7;
  --aic-header-clearance: 200px;
}

.aic-quote,
.aic-quote * { box-sizing: border-box; }
.aic-quote [hidden][hidden],
.aic-quote-toast[hidden] { display: none; }
.aic-quote {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  overflow-wrap: anywhere;
  color: var(--aic-ink);
  background: #fff;
  font: 16px/1.55 var(--aic-body);
  text-align: left;
  color-scheme: light;
  scroll-margin-top: var(--aic-header-clearance);
}
.aic-quote__confirmation { scroll-margin-top: var(--aic-header-clearance); }
.aic-quote h2,
.aic-quote h3,
.aic-quote p { margin: 0; }
.aic-quote button,
.aic-quote input,
.aic-quote select,
.aic-quote textarea { font-family: var(--aic-body); }
.aic-quote button,
.aic-quote summary,
.aic-quote-trigger,
.aic-quote-toast button { cursor: pointer; }
.aic-quote button:disabled,
.aic-quote [aria-disabled="true"] { cursor: wait; }
.aic-quote :focus-visible,
.aic-quote-trigger:focus-visible,
.aic-quote-toast button:focus-visible {
  outline: 3px solid var(--aic-action);
  outline-offset: 3px;
}
.aic-quote__header {
  position: relative;
  padding: 30px 28px 26px;
  color: #fff;
  background: var(--aic-action-hover);
  border-bottom: 5px solid var(--aic-yellow);
}
.aic-quote__eyebrow {
  padding-right: 24px;
  color: var(--aic-yellow);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.aic-quote .aic-quote__title {
  margin: 8px 0 10px;
  padding-right: 16px;
  color: #fff;
  font: 34px/1.05 var(--aic-display);
  letter-spacing: -.02em;
}
.aic-quote__intro { max-width: 35em; font-size: 15px; line-height: 1.5; }
.aic-quote .aic-quote__continue {
  display: none;
  min-height: 40px;
  margin: 16px 0 -6px -8px;
  padding: 7px 8px;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 3px;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.aic-quote .aic-quote__continue::before { content: "← "; }
.aic-quote .aic-quote__continue:hover { background: #ffffff20; }
.aic-quote__header :focus-visible { outline-color: var(--aic-yellow); }
.aic-quote__selection { padding: 24px 28px; border-bottom: 1px solid var(--aic-line); }
.aic-quote__selection-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.aic-quote__selection-heading h3 { color: var(--aic-ink); font: 22px/1.2 var(--aic-display); }
.aic-quote__count { flex: 0 0 auto; color: var(--aic-muted); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.aic-quote__picks { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aic-quote__pick { display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--aic-line); }
.aic-quote__pick:last-child { border-bottom: 0; }
.aic-quote__thumb { display: block; width: 56px; height: 56px; overflow: hidden; border-radius: 5px; background: var(--aic-sky); }
.aic-quote__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aic-quote__pick-name { font-size: 15px; line-height: 1.35; font-weight: 700; }
.aic-quote .aic-quote__remove,
.aic-quote .aic-quote__search-clear {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  color: var(--aic-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  font: 26px/1 Arial, sans-serif;
}
.aic-quote .aic-quote__remove:hover,
.aic-quote .aic-quote__search-clear:hover { color: var(--aic-ink); background: var(--aic-sky); border-color: var(--aic-line); }
.aic-quote .aic-quote__remove:active,
.aic-quote .aic-quote__search-clear:active { background: var(--aic-line); }
.aic-quote__empty { padding: 15px 18px; background: var(--aic-sky); border-left: 3px solid var(--aic-blue); }
.aic-quote__empty strong { display: block; margin-bottom: 4px; font-size: 15px; }
.aic-quote__empty p { color: var(--aic-muted); font-size: 14px; line-height: 1.5; }
.aic-quote__browse { margin-top: 12px; }
.aic-quote__browse > summary { min-height: 44px; padding: 11px 0; color: var(--aic-action); font-size: 14px; font-weight: 700; }
.aic-quote__browse > summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.aic-quote__search { margin: 4px 0 10px; }
.aic-quote__search label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }
.aic-quote__search-control { position: relative; }
.aic-quote .aic-quote__search input {
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 10px 46px 10px 12px;
  color: var(--aic-ink);
  background: #fff;
  border: 1px solid var(--aic-field-line);
  border-radius: 5px;
  font-size: 16px;
  line-height: 1.5;
}
.aic-quote__search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.aic-quote .aic-quote__search-clear { position: absolute; top: 3px; right: 3px; }
.aic-quote__results-status { min-height: 20px; margin-bottom: 6px; color: var(--aic-muted); font-size: 12px; }
.aic-quote__choices { max-height: 280px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.aic-quote__choice { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 8px; border-bottom: 1px solid var(--aic-line); border-radius: 3px; font-size: 14px; line-height: 1.4; cursor: pointer; }
.aic-quote__choice:hover { background: var(--aic-sky); }
.aic-quote__choice:has(input:checked) { background: var(--aic-sky); }
.aic-quote__choice input { flex: 0 0 auto; width: 19px; height: 19px; margin: 0; accent-color: var(--aic-action); cursor: pointer; }
.aic-quote .aic-quote__more { min-height: 42px; margin-top: 10px; padding: 8px 14px; color: var(--aic-action); background: #fff; border: 1px solid var(--aic-line); border-radius: 5px; font-size: 13px; font-weight: 700; }
.aic-quote .aic-quote__more:hover { background: var(--aic-sky); border-color: var(--aic-action); }
.aic-quote .aic-quote__status { margin-top: 14px; padding: 12px 14px; color: var(--aic-ink); background: var(--aic-sky); border-left: 3px solid var(--aic-blue); font-size: 14px; }
.aic-quote .aic-quote__status--error { color: var(--aic-error); background: #fff2f2; border-color: var(--aic-error); }
.aic-quote__details { padding: 24px 28px 30px; }
.aic-quote .gform_wrapper { --gf-color-primary: var(--aic-action); --gf-color-primary-darker: var(--aic-action-hover); --gf-color-in-ctrl: var(--aic-ink); --gf-radius: 5px; --gf-font-family-primary: var(--aic-body); color: var(--aic-ink); }
.aic-quote .gform_wrapper .gform_heading { margin-bottom: 18px; }
.aic-quote .gform_wrapper .gform_title { margin: 0 0 8px; color: var(--aic-ink); font: 24px/1.15 var(--aic-display); }
.aic-quote .gform_wrapper .gform_description { color: var(--aic-muted); font-size: 14px; line-height: 1.5; }
.aic-quote .gform_wrapper .gform_fields { row-gap: 20px; }
.aic-quote .gform_wrapper .gfield_label { margin-bottom: 7px; color: var(--aic-ink); font-size: 14px; line-height: 1.4; font-weight: 700; }
.aic-quote .gform_wrapper .gfield_required { color: var(--aic-error); }
.aic-quote .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
.aic-quote .gform_wrapper select,
.aic-quote .gform_wrapper textarea {
  width: 100%;
  min-height: 46px;
  max-width: 100%;
  color: var(--aic-ink);
  background: #fff;
  border: 1px solid var(--aic-field-line);
  border-radius: 5px;
  box-shadow: none;
  font-size: 16px;
  line-height: 1.5;
}
/* Shared native select face. The operating system still owns the opened picker. */
.aic-catalog .aic-catalog__nav select,
.aic-quote .gform_wrapper .gfield select {
  -webkit-appearance: none;
  appearance: none;
  padding: 8px 48px 8px 14px;
  color: var(--aic-ink);
  background-color: #fff;
  /* Chevron uses the shared AIC action blue. */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%23006ba8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 18px 18px;
  border: 1px solid var(--aic-field-line);
  border-radius: 5px;
  font: 16px/1.5 var(--aic-body);
  cursor: pointer;
}
.aic-catalog .aic-catalog__nav select:hover,
.aic-quote .gform_wrapper .gfield select:hover {
  border-color: var(--aic-action);
  background-color: var(--aic-sky);
}
.aic-catalog .aic-catalog__nav select:focus-visible,
.aic-quote .gform_wrapper .gfield select:focus-visible {
  border-color: var(--aic-action);
  outline: 3px solid var(--aic-action);
  outline-offset: 3px;
}
@media (forced-colors: active) {
  .aic-catalog .aic-catalog__nav select,
  .aic-quote .gform_wrapper .gfield select {
    -webkit-appearance: auto;
    appearance: auto;
    background-image: none;
  }
}

.aic-quote .gform_wrapper .ginput_container_date { display: flex; align-items: center; gap: 8px; }
.aic-quote .gform_wrapper .ginput_container_date input { flex: 1; min-width: 0; width: 0; }
.aic-quote .gform_wrapper .gform-datepicker-toggle { flex: 0 0 32px; }
.aic-quote .gform_wrapper input::placeholder,
.aic-quote .gform_wrapper textarea::placeholder { color: var(--aic-muted); opacity: 1; }
.aic-quote .gform_wrapper textarea { min-height: 132px; resize: none; field-sizing: content; }
.aic-quote .gform_wrapper .gfield_description,
.aic-quote .gform_wrapper .ginput_complex label { color: var(--aic-muted); font-size: 12px; line-height: 1.5; }
.aic-quote .gform_wrapper .gfield_checkbox label { color: var(--aic-ink); font-size: 14px; }
.aic-quote .gform_wrapper .gform_footer { gap: 12px; margin-top: 24px; padding: 0; }
.aic-quote .gform_wrapper .gform_button {
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 15px 22px;
  color: #fff;
  background: var(--aic-action);
  border: 1px solid var(--aic-action);
  border-radius: 5px;
  font: 20px/1.2 var(--aic-display);
  letter-spacing: .01em;
  text-transform: none;
  cursor: pointer;
}
.aic-quote .gform_wrapper .gform_button:hover { background: var(--aic-action-hover); border-color: var(--aic-action-hover); }
.aic-quote .gform_wrapper .gform_button:active { background: #00456d; }
.aic-quote .gform_wrapper .gform_button[aria-disabled="true"] { opacity: .7; cursor: wait; }
.aic-quote--enhanced .aic-quote-items-field > .gfield_label,
.aic-quote--enhanced .aic-quote-items-field > .ginput_container,
.aic-quote--enhanced .aic-quote-items-field > .gfield_description:not(.validation_message) { display: none; }
.aic-quote--enhanced .aic-quote-items-field:not(.gfield_error) { display: none; }
.aic-quote .gform_wrapper .gform_validation_errors,
.aic-quote .gform_wrapper .gfield_validation_message { color: var(--aic-error); background: #fff2f2; border-color: #e8b9bb; font-size: 14px; }
.aic-quote__confirmation { padding: 26px; background: var(--aic-sky); border-left: 4px solid var(--aic-blue); }
.aic-quote__confirmation h3 { margin-bottom: 10px; color: var(--aic-action); font: 28px/1.1 var(--aic-display); }
.aic-quote__confirmation p + p { margin-top: 12px; }
.aic-quote__confirmation .aic-quote__eyebrow { color: var(--aic-muted); }
.aic-quote .aic-quote__confirmation .aic-quote__continue {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 4px 0 0;
  padding: 10px 16px;
  color: #fff;
  background: var(--aic-action);
  border: 1px solid var(--aic-action);
  border-radius: 5px;
  text-decoration: none;
  font-weight: 700;
}
.aic-quote .aic-quote__confirmation .aic-quote__continue:hover { color: #fff; background: var(--aic-action-hover); }
.aic-quote .aic-quote__confirmation .aic-quote__continue::before { content: none; }
.aic-quote--confirmed .aic-quote__selection { display: none; }
.aic-quote-trigger {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 9997;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 18px;
  color: #fff;
  background: var(--aic-action);
  border: 2px solid #fff;
  border-radius: 8px;
  box-shadow: 0 3px 14px #16374c30;
  font: 16px/1.3 var(--aic-body);
  font-weight: 700;
  text-decoration: none;
}
.aic-quote-trigger:hover { color: #fff; background: var(--aic-action-hover); }
.aic-quote-trigger:active { background: #00456d; }
.aic-quote-trigger [data-aic-count] { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; color: var(--aic-ink); background: var(--aic-yellow); border-radius: 50%; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.aic-quote-active .aic-quote-trigger { visibility: hidden; }
.aic-quote-toast {
  position: fixed;
  right: 20px;
  bottom: calc(max(20px, env(safe-area-inset-bottom)) + 72px);
  z-index: 9998;
  display: flex;
  align-items: center;
  gap: 16px;
  width: max-content;
  max-width: min(460px, calc(100vw - 40px));
  padding: 15px 18px;
  color: var(--aic-ink);
  background: #fff;
  border: 1px solid var(--aic-line);
  border-left: 4px solid var(--aic-blue);
  border-radius: 6px;
  box-shadow: 0 4px 22px #16374c25;
  font: 14px/1.4 var(--aic-body);
}
.aic-quote-toast__message { max-width: 28ch; }
.aic-quote-toast .aic-quote-toast__review { flex: 0 0 auto; min-height: 40px; padding: 8px 0; color: var(--aic-action); background: transparent; border: 0; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.aic-quote-toast .aic-quote-toast__review:hover { color: var(--aic-action-hover); }
.aic-quote-active .aic-quote-toast { display: none; }

/* Scoped to popup 126 only after its new quote shortcode is mounted. */
#elementor-popup-modal-126.aic-quote-dialog { align-items: stretch; justify-content: flex-end; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-widget-content { width: min(580px, 100vw); max-width: 100vw; height: 100%; max-height: 100dvh; margin: 0; border-radius: 0; animation-duration: .2s; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-message { width: 100%; height: 100%; max-height: 100dvh; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-message > .elementor { width: 100%; }
#elementor-popup-modal-126.aic-quote-dialog .elementor-element-2d90889 > .elementor-widget-wrap { padding: 0; }
#elementor-popup-modal-126.aic-quote-dialog .elementor-widget-shortcode { margin-bottom: 0; }
#elementor-popup-modal-126.aic-quote-dialog .aic-quote__continue { display: inline-block; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button { top: 12px; right: 12px; left: auto; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; color: #fff; background: #ffffff18; border-radius: 50%; font-size: 28px; line-height: 1; text-decoration: none; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button:hover { color: #fff; background: #ffffff30; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button::before { content: "×"; font: 30px/1 Arial, sans-serif; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button i,
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button svg { display: none; }
#elementor-popup-modal-126.aic-quote-dialog .dialog-close-button:focus-visible { outline: 3px solid var(--aic-yellow); outline-offset: 2px; }
.aic-quote,
.aic-quote *,
.aic-quote-dialog .dialog-message { scrollbar-color: var(--aic-scroll-thumb) var(--aic-scroll-track); scrollbar-width: thin; }
.aic-quote ::-webkit-scrollbar,
.aic-quote-dialog .dialog-message::-webkit-scrollbar { width: 9px; height: 9px; }
.aic-quote ::-webkit-scrollbar-track,
.aic-quote-dialog .dialog-message::-webkit-scrollbar-track { background: var(--aic-scroll-track); }
.aic-quote ::-webkit-scrollbar-thumb,
.aic-quote-dialog .dialog-message::-webkit-scrollbar-thumb { background: var(--aic-scroll-thumb); border: 2px solid var(--aic-scroll-track); border-radius: 8px; }
.aic-quote ::-webkit-scrollbar-thumb:hover,
.aic-quote-dialog .dialog-message::-webkit-scrollbar-thumb:hover { background: var(--aic-muted); }
.aic-quote ::-webkit-scrollbar-thumb:active,
.aic-quote-dialog .dialog-message::-webkit-scrollbar-thumb:active { background: var(--aic-ink); }

@media (max-width: 600px) {
  .aic-quote__header { padding: 26px 20px 22px; }
  .aic-quote .aic-quote__title { max-width: 11em; font-size: 32px; }
  .aic-quote__intro { max-width: 30em; font-size: 14px; }
  .aic-quote__selection { padding: 20px; }
  .aic-quote__details { padding: 22px 20px calc(28px + env(safe-area-inset-bottom)); }
  .aic-quote__selection-heading h3 { font-size: 21px; }
  .aic-quote__pick { grid-template-columns: 48px minmax(0, 1fr) 36px; gap: 10px; }
  .aic-quote__thumb { width: 48px; height: 48px; }
  .aic-quote__pick-name { font-size: 14px; }
  .aic-quote .aic-quote__remove { min-width: 36px; width: 36px; height: 40px; }
  .aic-quote__choices { max-height: 240px; }
  .aic-quote-trigger { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); min-height: 52px; padding: 10px 14px; font-size: 14px; }
  .aic-quote-toast { right: 12px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 68px); max-width: calc(100vw - 24px); gap: 12px; padding: 12px 14px; font-size: 13px; }
  .aic-quote-toast .aic-quote-toast__review { font-size: 13px; }
  #elementor-popup-modal-126.aic-quote-dialog .dialog-widget-content { width: 100vw; }
}
@media (prefers-reduced-motion: reduce) {
  #elementor-popup-modal-126.aic-quote-dialog .dialog-widget-content { animation-duration: 0s; transition: none; }
  .aic-quote *, .aic-quote-trigger, .aic-quote-toast { scroll-behavior: auto; transition: none; }
}
@media (forced-colors: active) {
  .aic-quote,
  .aic-quote *,
  .aic-quote-dialog .dialog-message { scrollbar-color: auto; }
  .aic-quote-trigger,
  .aic-quote-toast,
  .aic-quote__header,
  .aic-quote__choice { border: 1px solid ButtonText; }
}

/* Preserve the existing Elementor header while keeping its current menu on one row. */
@media (min-width: 1025px) and (max-width: 1480px) {
  body.wp-theme-generatepress header.elementor-location-header .elementor-element.elementor-element-46787a0f nav.elementor-nav-menu--main > ul > li > a {
    min-height: 44px;
    padding-block: 24px;
    padding-inline: clamp(5px, calc(1.1vw - 6.3px), 11px);
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.3;
    white-space: nowrap;
  }
}
@media (max-width: 767px) {
  body.wp-theme-generatepress header.elementor-location-header .elementor-element-588600a img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 80px;
    object-fit: contain;
  }
}

