/* BMS / katalog salonów — niezależne od style.css */
.salons-page .bms-salons-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.salons-page .bms-salon-card{display:flex;flex-direction:column;gap:0;min-width:0;padding:0;background:#fff;color:#102748;border:1px solid #d9e2ee;border-left:5px solid #379cf1;border-radius:13px;overflow:hidden;box-shadow:0 8px 22px rgba(16,39,72,.10)}
.bms-salon-photo{min-height:190px;background:linear-gradient(135deg,#dceaf8,#b6cde5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#507394;font-size:13px;font-weight:700;letter-spacing:.02em;border-bottom:1px solid #d8e5f3}
.bms-salon-photo-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid #a6c5e4;border-radius:16px;color:#2675b8;font-size:36px;background:rgba(255,255,255,.45)}
.bms-salon-body{padding:23px 25px 25px;display:flex;flex-direction:column;gap:10px;flex:1}
.bms-salon-label{font-size:11px;font-weight:900;letter-spacing:.16em;color:#2688d9}
.salons-page .bms-salon-card h2{font-size:22px;line-height:1.25;color:#102748;margin:0;font-weight:800}
.salons-page .bms-salon-card p{margin:0;color:#38577a;line-height:1.55}
.bms-salon-location{font-size:14px;font-weight:700}
.bms-salon-description{font-size:14px;flex:1;overflow-wrap:anywhere}
.salons-page .bms-salon-card .bms-salon-website{color:#1674bd;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bms-salon-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;margin-top:14px}
.bms-salon-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 12px;border-radius:9px;font-weight:800;font-size:13px;cursor:pointer;transition:background .18s,transform .18s,border-color .18s}
.bms-salon-book{background:#2478c6;border:1px solid #1765ae;color:#fff;box-shadow:0 3px 9px #1765ae26}
.bms-salon-book:hover{background:#1163b0;transform:translateY(-1px)}
.bms-salon-info{background:#edf5fd;border:1px solid #9dc4e8;color:#18598f}
.bms-salon-info:hover{background:#d9ecff;border-color:#5d9dd7;transform:translateY(-1px)}
.bms-engine-dialog{width:min(420px,calc(100% - 32px));padding:0;border:1px solid #83b8e8;border-radius:16px;box-shadow:0 24px 65px #071a3280;background:#fff;color:#102748}
.bms-engine-dialog::backdrop{background:rgba(4,17,34,.65);backdrop-filter:blur(3px)}
.bms-engine-dialog-inner{text-align:center;padding:32px 26px}
.bms-engine-symbol{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#e0efff;color:#1678cb;font-size:30px}
.bms-engine-dialog h2{font-size:25px;margin:17px 0 10px;font-weight:900}
.bms-engine-dialog p{color:#506b88;line-height:1.5;margin:0 0 22px}
.bms-engine-dialog button{background:#2478c6;color:#fff;border:0;border-radius:8px;padding:12px 35px;font-weight:800;cursor:pointer}
.bms-engine-dialog button:hover{background:#1262ad}
@media(max-width:780px){.salons-page .bms-salons-results{grid-template-columns:1fr}.bms-salon-photo{min-height:155px}}
@media(max-width:420px){.bms-salon-body{padding:19px 17px}.bms-salon-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bms-salon-action{transition:none}}

/* Filtr lokalizacji — spójny z jasnymi kartami wizyt BMS */
.salons-page .bms-salons-filter{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 13px;padding:20px 24px;background:#fff;border:1px solid #d8e2ef;border-left:5px solid #379cf1;border-radius:12px;box-shadow:0 6px 18px #10274812;color:#102748}
.bms-salons-filter-copy{display:flex;align-items:center;gap:14px;min-width:0}
.bms-salons-filter-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:11px;background:#e7f2ff;color:#2478c6;font-size:30px;font-weight:800}
.bms-salons-filter-copy strong,.bms-salons-filter-copy span{display:block}
.bms-salons-filter-copy strong{font-size:16px;margin-bottom:4px}
.bms-salons-filter-copy span{font-size:13px;color:#5b7592}
.bms-salons-filter-controls{display:flex;flex-direction:column;gap:6px;min-width:250px}
.bms-salons-filter-controls label{font-size:12px;font-weight:800;color:#2b6daa}
.bms-salons-filter-controls select{width:100%;min-height:43px;border:1px solid #aac6e3;border-radius:9px;background:#f3f8fe;color:#123456;padding:9px 35px 9px 12px;font-size:14px;font-weight:700;cursor:pointer}
.bms-salons-filter-controls select:focus-visible{outline:3px solid #7ac7ff;outline-offset:2px}
.bms-salons-filter-controls button{background:#2478c6;color:white;border:0;border-radius:8px;padding:9px;font-weight:700}
.salons-page .bms-salons-count{font-size:13px;color:#526c88;margin:0 0 17px;text-align:right}
@media(max-width:650px){.salons-page .bms-salons-filter{flex-direction:column;align-items:stretch;padding:17px}.bms-salons-filter-controls{min-width:0}.salons-page .bms-salons-count{text-align:left}}

/* BMS: wyszukiwarka miejscowości z podpowiedziami */
.bms-city-combobox{position:relative;width:100%;z-index:5}
.bms-city-input-wrap{position:relative}
.bms-salons-filter-controls .bms-city-input-wrap input{width:100%;min-height:43px;border:1px solid #aac6e3;border-radius:9px;background:#f3f8fe;color:#123456;padding:9px 40px 9px 12px;font-size:14px;font-weight:700;outline:none}
.bms-salons-filter-controls .bms-city-input-wrap input:focus{border-color:#278ce2;box-shadow:0 0 0 3px #278ce226}
.bms-salons-filter-controls .bms-city-clear{position:absolute;right:5px;top:5px;bottom:5px;width:32px;padding:0;background:transparent;border:0;border-radius:7px;color:#497196;font-size:23px;line-height:1;cursor:pointer}
.bms-salons-filter-controls .bms-city-clear:hover{background:#e0edfc;color:#105a9d}
.bms-city-suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);max-height:230px;overflow-y:auto;padding:5px;background:#fff;border:1px solid #9ebddd;border-radius:10px;box-shadow:0 12px 26px #0b254630;z-index:30}
.bms-city-suggestions[hidden],.bms-city-option[hidden],.bms-city-no-match[hidden]{display:none!important}
.bms-salons-filter-controls .bms-city-option{display:block;width:100%;padding:11px 12px;text-align:left;background:#fff;border:0;border-radius:7px;color:#173a60;font-size:14px;font-weight:700;cursor:pointer}
.bms-salons-filter-controls .bms-city-option:hover,.bms-salons-filter-controls .bms-city-option:focus-visible{background:#e7f2ff;color:#075da9;outline:none}
.bms-city-no-match{display:block;padding:11px 12px;color:#5b7592;font-size:13px}
@media(max-width:650px){.bms-city-suggestions{max-height:190px}}

/* Klikalna cała wizytówka; linki i przyciski zachowują niezależne działanie. */
.salons-page .bms-salon-card{position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.salons-page .bms-salon-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(16,39,72,.18);border-left-color:#1277cc}
.bms-salon-card-link{position:absolute;inset:0;z-index:1;display:block;border-radius:inherit}
.bms-salon-card-link:focus-visible{outline:3px solid #258ae0;outline-offset:-4px}
.salons-page .bms-salon-card .bms-salon-website,.salons-page .bms-salon-card .bms-salon-actions{position:relative;z-index:2}
.salons-page .bms-salon-card .bms-salon-action{text-decoration:none;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.salons-page .bms-salon-card{transition:none}}
