/* v1.5.7: hide the theme's scroll-to-page-top control on pages where this
 * search-shortcode-only stylesheet is enqueued. */
#scroll-top { display: none !important; }

/* v1.5.2 experimental Search + Country — isolated from the three existing shortcodes. */
.btp-wrap-search .btp-search-toolbar {
  display: grid; grid-template-columns: minmax(190px, 1.35fr) minmax(150px, .88fr) minmax(180px, 1fr) auto;
  align-items: end; gap: 12px; margin: 13px 0 10px;
}
.btp-wrap-search .btp-search-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; font: inherit; }
.btp-wrap-search .btp-search-field > span:first-child { font-size: 12px; font-weight: 800; color: #005a31; }
.btp-wrap-search .btp-search-field input,
.btp-wrap-search .btp-search-field select {
  background: #fff; border: 1px solid #d6e2dc; border-radius: 11px;
  min-height: 45px; width: 100%; padding: 11px 13px;
  font: inherit; font-size: 14px; color: #172536;
  outline: none; box-shadow: 0 3px 9px rgba(13,38,25,.035);
}
.btp-wrap-search .btp-search-field input:focus,
.btp-wrap-search .btp-search-field select:focus { border-color: #007944; box-shadow: 0 0 0 3px rgba(0,122,65,.12); }
.btp-wrap-search .btp-search-field input::placeholder { color: #7c8795; }
.btp-wrap-search .btp-search-input-wrap { display:flex; align-items:center; position:relative; }
.btp-wrap-search .btp-search-input-wrap > span { position:absolute; left:13px; color:#006b34; pointer-events:none; font-size:24px; line-height:1; }
.btp-wrap-search .btp-search-input-wrap input { padding-left:39px; }
.btp-wrap-search .btp-search-clear,
.btp-wrap-search .btp-search-sheet-reset,
.btp-wrap-search .btp-search-sheet-apply {
  min-height:45px; padding:10px 15px; border-radius:11px; font:inherit; font-size:13px;
  font-weight:750; cursor:pointer;
}
.btp-wrap-search .btp-search-clear,
.btp-wrap-search .btp-search-sheet-reset { color:#005d34; background:#fff; border:1.5px solid #006b34; }
.btp-wrap-search .btp-search-clear:disabled { cursor:default; opacity:.4; }
.btp-wrap-search .btp-search-active { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.btp-wrap-search .btp-search-active[hidden] { display:none !important; }
.btp-wrap-search .btp-search-chip,
.btp-search-draft-chips .btp-search-chip {
  display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:7px 10px;
  border:1px solid #c1e4cf; border-radius:99px; color:#005c32;
  background:#eaf7ef; font:inherit; font-size:12px; font-weight:650;
  overflow-wrap:anywhere;
}
.btp-wrap-search button.btp-search-chip { cursor:pointer; }
.btp-wrap-search button.btp-search-chip:hover { background:#d7f0e2; }
.btp-search-chip span:last-child:not(:first-child) { flex-shrink:0; }
.btp-search-floating {
  display:none; position:fixed; right:22px; bottom:24px; z-index:9997;
  align-items:center; gap:10px;
  pointer-events:none;
}
.btp-search-floating.btp-search-floating-visible { display:flex; pointer-events:auto; }
.btp-search-floating button {
  border-radius:100px; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-height:49px; padding:11px 17px; border:1px solid #dee9e1; font:inherit;
  font-size:13px; font-weight:800; cursor:pointer;
  box-shadow:0 6px 23px rgba(9,38,22,.18);
}
.btp-search-float-reset { background:#fff; color:#005f35; }
.btp-search-float-open { background:#006b34; color:#fff; }
.btp-search-floating button[hidden] {display:none !important;}
.btp-search-overlay[hidden],
.btp-search-draft-chips[hidden] {display:none !important;}
.btp-search-overlay {
  --btp-sheet-vh:100dvh;
  --btp-sheet-top:0px;
  position:fixed; z-index:999999; inset:var(--btp-sheet-top) 0 auto 0;
  height:var(--btp-sheet-vh); pointer-events:none;
}
.btp-search-overlay.is-open {pointer-events:auto;}
.btp-search-overlay .btp-search-backdrop { position:absolute; inset:0; background:rgba(9,18,16,.62); opacity:0; transition:opacity .25s ease; }
.btp-search-overlay.is-open .btp-search-backdrop { opacity:1; }
.btp-search-overlay .btp-search-sheet {
  position:absolute; bottom:0; left:0; right:0; width:100%; max-width:600px; margin:0 auto;
  background:#fff; border-radius:23px 23px 0 0; box-shadow:0 -8px 36px rgba(0,0,0,.16);
  transform:translateY(105%); transition:transform .25s cubic-bezier(.2,.75,.2,1);
  max-height:calc(var(--btp-sheet-vh) - 10px); overflow-y:auto; overscroll-behavior:contain;
  display:flex; flex-direction:column; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  box-sizing:border-box; padding:0 18px max(16px,env(safe-area-inset-bottom)); color:#182b22;
}
.btp-search-overlay.is-open .btp-search-sheet {transform:translateY(0);}
.btp-search-overlay .btp-search-sheet * {box-sizing:border-box;}
.btp-search-overlay .btp-search-handle { align-self:center; flex:none; width:42px; height:5px; border-radius:10px; background:#aeb8b3; margin:10px 0 15px; touch-action:pan-y; }
.btp-search-overlay .btp-search-sheet-header {display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 22px;}
.btp-search-overlay .btp-search-sheet-header h2 {font-size:21px; font-weight:800; color:#172536; margin:0; line-height:1.3;}
.btp-search-overlay .btp-search-close {font:inherit; font-size:27px; width:38px; height:38px; line-height:1; background:transparent; border:0; color:#1e2b37; cursor:pointer;}
.btp-search-overlay .btp-search-sheet-content { display:flex; flex-direction:column; gap:22px; padding-bottom:19px; }
.btp-search-overlay .btp-search-field {display:flex; flex-direction:column; gap:9px; font:inherit;}
.btp-search-overlay .btp-search-field>span:first-child {font-size:13px; font-weight:750;}
.btp-search-overlay input,
.btp-search-overlay select {
  font:inherit; font-size:16px; color:#172536; width:100%; min-height:49px;
  padding:11px 13px; border:1px solid #d4e0dd; border-radius:11px; background:#fff;
}
.btp-search-overlay input:focus,
.btp-search-overlay select:focus {outline:2px solid #007943; outline-offset:2px;}
.btp-search-overlay .btp-search-draft-chips {display:flex; flex-wrap:wrap; gap:7px;}
.btp-search-overlay .btp-search-sheet-footer {
  background:#fff; position:sticky; bottom:0; display:grid; grid-template-columns:1fr 1.4fr;
  gap:10px; margin-top:auto; padding:15px 0 5px; border-top:1px solid #e4ebe6;
}
.btp-search-overlay .btp-search-sheet-footer button {min-height:48px; border-radius:10px; font:inherit; font-size:14px; font-weight:800; cursor:pointer;}
.btp-search-overlay .btp-search-sheet-reset {color:#006b34; background:#fff; border:1.5px solid #006b34;}
.btp-search-overlay .btp-search-sheet-apply {color:#fff; background:#006b34; border:1.5px solid #006b34;}
@media (min-width:821px) and (max-width:1100px) {
  .btp-wrap-search .btp-search-toolbar {
    grid-template-columns: minmax(170px,1.25fr) minmax(160px,1fr);
    row-gap:10px;
  }
  .btp-wrap-search .btp-search-clear-desktop { justify-self:start; }
}
@media (min-width:821px) {
  .btp-search-float-open {display:none !important;}
  .btp-search-floating {bottom:25px;}
  .btp-search-floating button {min-height:43px;}
}
@media (max-width:820px) {
  .btp-wrap-search .btp-search-toolbar {display:none;}
  .btp-wrap-search .btp-search-active {margin:10px 0 12px; gap:6px;}
  .btp-search-floating {bottom:calc(18px + env(safe-area-inset-bottom)); right:16px;}
  .btp-search-float-open {width:55px; height:55px; min-height:55px; padding:0;}
  .btp-search-float-open span {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
  .btp-search-float-reset {height:48px;}
}
/* v1.5.7: same 38px "Back to filters" control on mobile AND desktop.
 * Fixed outside Elementor transforms; 44px touch target around 38px circle. */
.btp-back-to-filters, .btp-back-to-filters[hidden] { display:none !important; }
.btp-back-to-filters:not([hidden]) {
    display:inline-flex !important; position:fixed; z-index:9997;
    left:16px; bottom:calc(18px + env(safe-area-inset-bottom));
    width:44px; height:44px; min-width:44px; min-height:44px;
    padding:3px; margin:0; box-sizing:border-box;
    align-items:center; justify-content:center;
    background:transparent; border:0; border-radius:50%;
    cursor:pointer; -webkit-tap-highlight-color:transparent;
    color:#fff; font:inherit; line-height:1;
  }
  .btp-back-to-filters-icon {
    display:flex; align-items:center; justify-content:center;
    width:38px; height:38px; flex:0 0 38px;
    border-radius:50%; background:#006b34; color:#fff;
    box-shadow:0 6px 23px rgba(9,38,22,.18);
    transition:transform .16s ease, background-color .16s ease;
  }
  .btp-back-to-filters-icon svg { display:block; width:18px; height:18px; }
  .btp-back-to-filters:active .btp-back-to-filters-icon { transform:scale(.95); }
  .btp-back-to-filters:focus-visible { outline:2px solid #006b34; outline-offset:2px; }
  .btp-wrap-search [data-btp-filter-shell] { scroll-margin-top:90px; }
@media (min-width:821px) {
  .btp-back-to-filters:not([hidden]) {left:22px; bottom:24px;}
}
@media (prefers-reduced-motion:reduce) {
  .btp-back-to-filters-icon { transition:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  .btp-search-overlay .btp-search-sheet,
  .btp-search-overlay .btp-search-backdrop {transition:none !important;}
}

/* v1.5.3 — custom searchable flag + checkbox multi-country picker */
.btp-wrap-search .btp-country-picker { position:relative; }
.btp-wrap-search .btp-country-trigger,
.btp-search-overlay .btp-country-mobile-trigger {
  min-height:45px; width:100%; padding:10px 14px; border:1px solid #d6e2dc;
  border-radius:11px; color:#172536; background:#fff; font:inherit;
  font-size:14px; display:flex; justify-content:space-between; gap:10px;
  align-items:center; cursor:pointer; text-align:left;
}
.btp-wrap-search .btp-country-trigger:focus-visible,
.btp-search-overlay .btp-country-mobile-trigger:focus-visible {outline:2px solid #007943;outline-offset:2px;}
.btp-wrap-search .btp-country-popover {
  position:absolute; z-index:500; top:calc(100% + 6px); left:0;
  width:min(390px,85vw); background:#fff; border:1px solid #d6e2dc;
  border-radius:15px; box-shadow:0 15px 44px rgba(13,38,25,.17);
  padding:13px; color:#172536;
}
.btp-wrap-search .btp-country-popover[hidden],
.btp-search-overlay [data-btp-sheet-main][hidden],
.btp-search-overlay [data-btp-sheet-countries][hidden],
.btp-country-option[hidden],
.btp-country-no-results[hidden] {display:none !important;}
.btp-wrap-search .btp-country-actions,
.btp-search-overlay .btp-country-mobile-actions {
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  margin-bottom:12px;
}
.btp-wrap-search .btp-country-actions strong {font-size:13px;}
.btp-wrap-search .btp-country-actions button,
.btp-search-overlay .btp-country-mobile-actions button,
.btp-wrap-search .btp-country-select-visible,
.btp-search-overlay .btp-country-back {
  border:0; background:transparent; color:#006b34; cursor:pointer;
  font:inherit; font-size:12px; font-weight:750; padding:6px;
}
.btp-wrap-search .btp-country-popover input[type="search"],
.btp-search-overlay .btp-search-view-countries input[type="search"] {
  width:100%; min-height:43px; border:1px solid #d5e1dc; border-radius:9px;
  background:#f7faf8; padding:9px 12px; font:inherit; font-size:14px; color:#172536;
  margin-bottom:9px;
}
.btp-wrap-search .btp-country-select-visible {margin:0 0 7px;}
.btp-country-options {
  overflow:auto; overscroll-behavior:contain; max-height:310px;
  border-top:1px solid #e7eee9;
}
.btp-country-option {
  display:flex; flex-direction:row; align-items:center; gap:10px;
  min-height:43px; padding:9px 6px; border-bottom:1px solid #eef3f0;
  cursor:pointer; color:#25342c; font-size:13px;
}
.btp-country-option:hover {background:#f5faf7;}
.btp-country-option input[type="checkbox"] {
  flex:none; width:17px; height:17px; margin:0; accent-color:#007943;
  cursor:pointer;
}
.btp-country-flag {width:23px; height:16px; object-fit:cover; border:1px solid #e1e7e3; border-radius:2px; flex:none;}
.btp-country-name {min-width:0; flex:1;}
.btp-country-count {font-size:12px; color:#66766e; white-space:nowrap;}
.btp-country-no-results {font-size:13px; color:#64756e; padding:12px 4px;}
.btp-country-overflow-chip, .btp-country-summary-chip {display:none !important;}
@media (max-width:820px) {
  .btp-search-overlay .btp-search-sheet {overflow:hidden;}
  .btp-search-overlay .btp-search-view-main,
  .btp-search-overlay .btp-search-view-countries {
    flex:1 1 auto; min-height:0; display:flex; flex-direction:column;
  }
  .btp-search-overlay .btp-search-view-main .btp-search-sheet-content {
    flex:1 1 auto; overflow-y:auto; min-height:0;
  }
  .btp-search-overlay .btp-search-view-countries .btp-search-sheet-header {margin-bottom:10px;}
  .btp-search-overlay .btp-country-back {font-size:23px; min-width:36px; padding:4px; text-align:left;}
  .btp-search-overlay .btp-country-mobile-actions {margin-bottom:7px;}
  .btp-search-overlay .btp-country-mobile-actions button {font-size:13px; padding:5px 0;}
  .btp-search-overlay .btp-country-mobile-options {
    flex:1 1 auto; max-height:none; min-height:80px; overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .btp-search-overlay .btp-country-option {font-size:14px; min-height:47px;}
  .btp-search-overlay .btp-country-mobile-done {
    flex:none; min-height:48px; margin:12px 0 4px;
    width:100%; border-radius:10px; border:1px solid #006b34;
    background:#006b34; color:#fff; font:inherit; font-weight:800; font-size:14px; cursor:pointer;
  }
  .btp-wrap-search .btp-country-overflow-chip {display:none !important;}
  .btp-wrap-search .btp-country-summary-chip {display:inline-flex !important;}
}
@media (min-width:821px) {
  .btp-wrap-search .btp-country-overflow-chip {display:inline-flex !important;}
  .btp-wrap-search .btp-country-summary-chip {display:none !important;}
}

/* v1.5.4: Custom checkbox visuals isolated from Elementor/theme checkbox CSS. */
.btp-wrap-search .btp-country-option,
.btp-search-overlay .btp-country-option { position: relative; }
.btp-wrap-search .btp-country-option input[data-btp-option-check],
.btp-search-overlay .btp-country-option input[data-btp-option-check] {
  position:absolute !important; width:1px !important; height:1px !important;
  min-width:0 !important; min-height:0 !important; padding:0 !important;
  margin:0 !important; opacity:0 !important; overflow:hidden !important;
  border:0 !important; appearance:none !important; -webkit-appearance:none !important;
}
.btp-wrap-search .btp-country-option .btp-country-check-visual,
.btp-search-overlay .btp-country-option .btp-country-check-visual {
  display:inline-flex !important; flex:0 0 20px !important; width:20px !important; height:20px !important;
  position:relative; align-items:center; justify-content:center; box-sizing:border-box;
  border:1.5px solid #b8c8c0; border-radius:4px; background:#fff; pointer-events:none;
}
.btp-wrap-search .btp-country-option input:checked + .btp-country-check-visual,
.btp-search-overlay .btp-country-option input:checked + .btp-country-check-visual {
  border-color:#007943; background:#007943;
}
.btp-wrap-search .btp-country-option input:checked + .btp-country-check-visual::after,
.btp-search-overlay .btp-country-option input:checked + .btp-country-check-visual::after {
  content:""; display:block; width:10px; height:6px;
  border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:translateY(-1px) rotate(-45deg);
}
.btp-wrap-search .btp-country-option input:focus-visible + .btp-country-check-visual,
.btp-search-overlay .btp-country-option input:focus-visible + .btp-country-check-visual {
  outline:2px solid #007943; outline-offset:3px;
}

/* v1.5.7: tournament picker reuses accessible country checkbox, flag and count design. */
.btp-wrap-search .btp-search-tournament-field { min-width:0; }
.btp-wrap-search .btp-search-tournament-field .btp-country-trigger [data-btp-tournament-trigger-text],
.btp-search-overlay [data-btp-tournament-mobile-label] {
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.btp-wrap-search .btp-tournament-popover {width:min(420px,90vw);}
.btp-wrap-search .btp-tournament-option .btp-country-name,
.btp-search-overlay .btp-tournament-option .btp-country-name {overflow-wrap:anywhere;}
.btp-search-overlay [data-btp-sheet-tournaments][hidden] {display:none !important;}
.btp-search-overlay .btp-search-view-tournaments {min-width:0;}

/* v1.5.8 bounded renderer: placeholders retain scroll height while distant
 * prediction groups are fully removed from the live DOM. */
.btp-wrap-search .btp-virtual-placeholder tr,
.btp-wrap-search .btp-virtual-placeholder td {
  border:0 !important; padding:0 !important; margin:0 !important;
  line-height:0 !important; font-size:0 !important;
  background:transparent !important;
}
.btp-wrap-search .btp-virtual-placeholder-mobile {
  margin:0 !important; padding:0 !important; border:0 !important;
  min-height:0 !important; background:transparent !important;
}
