/* Bilocale.it | Agenzie nei risultati: card in linea con gli annunci, senza box esterno. */
.results-agency-carousel{
  position:relative;min-width:0;max-width:100%;margin:26px 0 24px;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.results-agency-carousel__head{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin:0 0 17px;padding:0 2px;
}
.results-agency-carousel h2{
  margin:0;font-size:21px;line-height:1.25;font-weight:900;
  letter-spacing:-.025em;color:#17283d;
}
.results-agency-carousel__all{
  flex:0 0 auto;color:#087cc6;font-size:13px;font-weight:800;
  text-decoration:none;white-space:nowrap;
}
.results-agency-carousel__all:hover{text-decoration:underline}
.results-agency-carousel__body{position:relative;min-width:0}
.results-agency-carousel__track{
  display:flex;gap:15px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding:0 1px;scroll-behavior:smooth;
  overscroll-behavior-x:contain;scrollbar-width:none;
  padding:3px 2px 13px;margin:0 -2px;outline-offset:3px;
}
.results-agency-carousel__track::-webkit-scrollbar{display:none}
.results-agency-carousel__card{
  box-sizing:border-box;flex:0 0 calc((100% - 30px)/3);min-width:0;
  min-height:250px;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:21px 14px 17px;gap:8px;border:1px solid #dfe5ea;border-radius:18px;
  background:#fff;color:#17283d;text-decoration:none;
  box-shadow:0 2px 8px rgba(16,42,67,.09);
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.results-agency-carousel__card:hover{
  border-color:#c5d8e7;box-shadow:0 7px 22px rgba(16,42,67,.16);transform:translateY(-2px);
}
.results-agency-carousel__card:focus-visible{outline:3px solid #0b83c9;outline-offset:2px}
.results-agency-carousel__logo{
  width:100%;height:76px;min-height:76px;display:flex;align-items:center;justify-content:center;
}
.results-agency-carousel__logo img{display:block;width:auto;max-width:94%;max-height:72px;object-fit:contain}
.results-agency-carousel__logo.is-placeholder{background:#f1f7fc;border-radius:11px}
.results-agency-carousel__fallback{font-size:34px;color:#0d82ca;line-height:1}
.results-agency-carousel__card strong{
  font-size:18px;font-weight:900;line-height:1.26;letter-spacing:-.018em;
  min-height:46px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;
}
.results-agency-carousel__card small{
  display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  font-size:12px;line-height:1.35;color:#64798b;
}
.results-agency-carousel__count{
  color:#31516a;font-size:12px;font-weight:750;line-height:1.35;
}
.results-agency-carousel__visit{
  margin-top:auto;color:#087cc6;font-size:12px;line-height:1.4;font-weight:850;
}
/* Frecce circolari sovrapposte, come nei caroselli fotografici degli immobili. */
.results-agency-carousel__arrow{
  position:absolute;z-index:3;top:50%;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  padding:0;transform:translateY(-50%);
  border:1px solid #dbe5ed;border-radius:50%;background:rgba(255,255,255,.98);
  color:#1f5f92;box-shadow:0 5px 16px rgba(11,38,59,.2);
  cursor:pointer;transition:background .18s,box-shadow .18s,opacity .18s;
}
.results-agency-carousel__arrow[data-agency-carousel-prev]{left:8px}
.results-agency-carousel__arrow[data-agency-carousel-next]{right:8px}
.results-agency-carousel__arrow svg{width:21px;height:21px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.results-agency-carousel__arrow:hover:not(:disabled){background:#f2f8fc;box-shadow:0 6px 18px rgba(11,38,59,.25)}
.results-agency-carousel__arrow:focus-visible{outline:3px solid #087cc6;outline-offset:3px}
.results-agency-carousel__arrow:disabled{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:1500px){
  .results-agency-carousel__card{flex-basis:calc((100% - 15px)/2)}
  .results-agency-carousel__card strong{font-size:17px}
}
@media(max-width:760px){
  .results-agency-carousel{margin:20px 10px 22px}
  .results-agency-carousel__head{align-items:start;gap:10px}
  .results-agency-carousel h2{font-size:18px}
  .results-agency-carousel__all{font-size:11px;padding-top:4px}
  .results-agency-carousel__track{gap:12px}
  .results-agency-carousel__card{flex-basis:79%;min-height:225px;padding:16px 12px}
  .results-agency-carousel__arrow{display:none}
}
/* Con mappa espansa la colonna annunci mostra una singola agenzia alla volta. */
@media(min-width:1281px){
  body.results-page-body.results-map-expanded .results-agency-carousel__head{flex-direction:column;align-items:flex-start;gap:5px}
  body.results-page-body.results-map-expanded .results-agency-carousel h2{font-size:18px}
  body.results-page-body.results-map-expanded .results-agency-carousel__card{flex-basis:100%}
  body.results-page-body.results-map-expanded .results-agency-carousel__arrow{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .results-agency-carousel__track{scroll-behavior:auto}
  .results-agency-carousel__card,.results-agency-carousel__arrow{transition:none}
}

/* Scheda finale: invito alla vendita, all'interno del medesimo carosello. */
.results-agency-carousel__card--sell{
  border-color:#f4caaa;
  background:linear-gradient(160deg,#fffaf6 0%,#fff 70%);
  justify-content:center;
  padding:22px 20px;
}
.results-agency-carousel__card--sell:hover{border-color:#f39859;box-shadow:0 7px 22px rgba(185,81,20,.16)}
.results-agency-carousel__sell-icon{
  width:76px;height:76px;display:flex;align-items:center;justify-content:center;
  background:#fff0e6;border-radius:20px;color:#0c699b;
}
.results-agency-carousel__sell-icon svg{width:55px;height:55px}
.results-agency-carousel__card--sell strong{min-height:0;font-size:19px;text-wrap:balance}
.results-agency-carousel__sell-copy{font-size:13px;line-height:1.5;color:#4e6477;max-width:255px}
.results-agency-carousel__sell-cta{margin-top:auto;font-size:13px;font-weight:850;color:#d7510c}
