/* Self-contained guys/gals search header. All selectors are plugin-namespaced. */
/*
 * Divi nests shortcodes in a constrained row. Break out into a full-bleed hero
 * without letting 100vw (which includes the desktop scrollbar) spill offscreen.
 * A tiny JS viewport measurement fills in the actual scrollbar width.
 * The :has() rule prevents a one-frame overflow before JS initializes and
 * does not establish a scroll container (unlike overflow-x:hidden).
 */
body:has(.bcss-hfp) { overflow-x: clip; }
.bcss-hfp, .bcss-hfp * { box-sizing:border-box; }
.bcss-hfp {
  width:calc(100vw - var(--bcss-hfp-scrollbar-width, 0px));
  max-width:none;
  margin-left:calc(50% - 50vw + var(--bcss-hfp-half-scrollbar-width, 0px));
  margin-right:0;
  position:relative;
}
.bcss-hfp .bcss-hfp__hero {
  background: linear-gradient(112deg, #6318d9 0%, #863ce3 51%, #b996ee 100%);
  color:#fff; text-align:center; width:100%; padding:75px 18px 64px;
}
.bcss-hfp .bcss-hfp__inner { width:100%; max-width:1100px; margin:0 auto; }
.bcss-hfp .bcss-hfp__title {
  color:#fff !important; font-weight:800; font-size:clamp(38px, 5vw, 72px) !important;
  line-height:1.06 !important; text-shadow:4px 4px 4px rgba(0,0,0,.4);
  letter-spacing:-.018em; padding:0; margin:0 0 12px; text-align:center;
}
.bcss-hfp .bcss-hfp__title-line { display:block; color:inherit; }
.bcss-hfp .bcss-hfp__description { color:#fff !important; font-size:15px; line-height:1.5; margin:0 auto 31px; }
.bcss-hfp .bcss-hfp__info {
  display:inline-flex; align-items:center; justify-content:center; width:14px; height:14px;
  margin-left:4px; color:#7740d6 !important; background:#fff; border-radius:50%;
  font:bold 11px/1 Arial,sans-serif; text-decoration:none; vertical-align:middle;
}
.bcss-hfp .bcss-hfp__form {
  display:grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1.35fr) minmax(98px,.5fr) auto;
  align-items:end; gap:12px; padding:16px; border-radius:16px;
  background:#fff; box-shadow:0 12px 28px rgba(25,8,65,.18); text-align:left;
  margin:0 auto; width:100%; max-width:1050px;
}
.bcss-hfp .bcss-hfp__field { min-width:0; margin:0; }
.bcss-hfp .bcss-hfp__label { display:block; margin:0 0 6px; font-size:12px; font-weight:700; color:#352c42; letter-spacing:.005em; }
.bcss-hfp .bcss-hfp__input,
.bcss-hfp .bcss-hfp__input[type="search"],
.bcss-hfp .bcss-hfp__input[type="number"] {
  box-sizing:border-box; background:#f9f8fb !important; display:block; width:100%;
  height:46px; margin:0; padding:0 13px; min-width:0;
  border:1px solid #dad4e4 !important; border-radius:8px !important;
  color:#282034 !important; font-family:inherit; font-weight:400; font-size:15px !important; line-height:1.3;
  box-shadow:none !important; -webkit-appearance:none; appearance:none;
}
.bcss-hfp .bcss-hfp__input:focus { outline:3px solid #e7dcff; outline-offset:1px; border-color:#7441d1 !important; }
.bcss-hfp .bcss-hfp__controls { margin:0; }
.bcss-hfp .bcss-hfp__submit {
  background:#38263e !important; color:#fff !important; border:0 !important;
  border-radius:8px !important; width:100%; height:46px; padding:0 22px;
  font-family:inherit; font-size:14px !important; line-height:1; font-weight:700 !important;
  text-transform:uppercase; white-space:nowrap; cursor:pointer;
  box-shadow:0 4px 12px rgba(38,16,50,.15);
}
.bcss-hfp .bcss-hfp__submit:hover, .bcss-hfp .bcss-hfp__submit:focus-visible { background:#211529 !important; }
.bcss-hfp .bcss-hfp__tip { font-size:12px; color:#f5eaff; margin:12px auto 0; }
.bcss-hfp .bcss-hfp__results { background:#fff; }
.bcss-hfp .bcss-hfp__results[hidden] { display:none !important; }
.bcss-hfp .bcss-hfp__results-inner {
  max-width:1120px; margin:0 auto; padding:22px 18px; display:flex;
  align-items:center; gap:16px; justify-content:space-between;
}
.bcss-hfp .search_message.bcss-hfp__search-message {
  font-size:20px !important; color:#382344 !important; font-weight:700; line-height:1.4;
  padding:0; margin:0;
}
.bcss-hfp .bcss-hfp__clear { color:#632ec4; font-weight:700; text-decoration:underline; white-space:nowrap; font-size:14px; }
@media (max-width:780px) {
  .bcss-hfp .bcss-hfp__hero { padding:48px 16px 46px; }
  .bcss-hfp .bcss-hfp__form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .bcss-hfp .bcss-hfp__controls { align-self:end; }
}
@media (max-width:550px) {
  .bcss-hfp .bcss-hfp__hero { padding:40px 14px; }
  .bcss-hfp .bcss-hfp__title { font-size:clamp(34px,10vw,46px) !important; }
  .bcss-hfp .bcss-hfp__description { font-size:14px; }
  .bcss-hfp .bcss-hfp__form { grid-template-columns:minmax(0,1fr); padding:14px; gap:12px; }
  .bcss-hfp .bcss-hfp__results-inner { display:block; padding:18px 14px; }
  .bcss-hfp .bcss-hfp__clear { display:inline-block; margin-top:10px; }
}
