.hero{background:linear-gradient(120deg,#0d6efd,#54a3ff);color:white;padding:80px 0}.card-img-top{height:220px;object-fit:cover}.map-box{height:620px;border-radius:16px;overflow:hidden}.price-badge{font-weight:700;color:#0d6efd}.search-panel{margin-top:-35px}.property-card{border:0;border-radius:18px;overflow:hidden}.property-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.12)}@media(max-width:768px){.map-box{height:360px}.hero{padding:45px 0}}

/* Slider immagini nei box struttura: carosello orizzontale */
.property-card-slider{position:relative;overflow:hidden;background:#f5f5f5;height:var(--card-slider-height,220px);min-height:180px}
.property-card-slider-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none;overflow:hidden}
.card-slider-track{height:100%;display:flex;transition:transform .28s ease;will-change:transform;transform:translateX(0)}
.card-slider-slide{flex:0 0 100%;width:100%;height:100%;position:relative}
.property-card-slider .card-slider-img{width:100%;height:100%;object-fit:cover;display:block}
.card-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.65rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.card-slider-prev{left:8px}.card-slider-next{right:8px}
.card-slider-btn:hover{background:rgba(0,0,0,.75)}
.card-slider-dots{position:absolute;left:0;right:0;bottom:8px;z-index:4;display:flex;justify-content:center;gap:5px;pointer-events:none}
.card-slider-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.35)}
.card-slider-dot.active{background:#fff}
@media(max-width:767.98px){.property-card-slider{height:220px!important}.card-slider-btn{width:32px;height:32px}}

/* ==========================================================
   BnbMondo responsive restyling v1 - 28/05/2026
   Patch grafica mobile-first: layout, card, form, gallery, mappe.
   ========================================================== */
:root{
  --bnb-primary:#0d6efd;
  --bnb-primary-dark:#0958c8;
  --bnb-soft:#f6f8fb;
  --bnb-border:#e7ebf0;
  --bnb-text:#172033;
  --bnb-muted:#667085;
  --bnb-radius:20px;
  --bnb-shadow:0 14px 40px rgba(16,24,40,.10);
  --bnb-shadow-soft:0 8px 24px rgba(16,24,40,.08);
}
html{scroll-behavior:smooth}body{background:#fff;color:var(--bnb-text);-webkit-font-smoothing:antialiased}.container{max-width:1180px}main{min-height:68vh}.navbar{backdrop-filter:saturate(180%) blur(10px)}.navbar-brand span{letter-spacing:-.02em}.nav-link{border-radius:999px;padding:.55rem .85rem!important}.nav-link:hover{background:var(--bnb-soft)}
.btn{border-radius:999px;font-weight:650}.btn-primary{box-shadow:0 8px 18px rgba(13,110,253,.22)}.btn-primary:hover{background:var(--bnb-primary-dark);border-color:var(--bnb-primary-dark)}.form-control,.form-select{border-radius:14px;border-color:#dde3eb;min-height:46px}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .22rem rgba(13,110,253,.12)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a58ca 0%,#1677ff 52%,#6cb6ff 100%);padding:88px 0 112px}.hero:after{content:"";position:absolute;inset:auto -8% -42% auto;width:560px;height:560px;border-radius:50%;background:rgba(255,255,255,.16)}.hero .container{position:relative;z-index:1}.hero h1{max-width:820px;letter-spacing:-.04em}.hero .lead{max-width:680px;opacity:.96}.search-panel{position:relative;z-index:5;margin-top:-52px}.search-panel .card,.search-page-filter{border:0;border-radius:var(--bnb-radius);box-shadow:var(--bnb-shadow);padding:1rem!important}.search-panel .row,.search-page-filter .row{align-items:end}.search-panel .btn,.search-page-filter .btn{min-height:46px}
.property-card{border:1px solid var(--bnb-border)!important;border-radius:var(--bnb-radius)!important;overflow:hidden;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.property-card:hover{transform:translateY(-3px);box-shadow:var(--bnb-shadow);border-color:#d5dce7!important}.property-card .card-body{padding:1.15rem}.property-card h5{line-height:1.25;letter-spacing:-.02em}.price-badge{display:inline-flex;align-items:center;color:var(--bnb-primary);font-weight:800}.property-card-slider{border-radius:0;background:#eef2f6}.card-slider-btn{box-shadow:0 8px 18px rgba(0,0,0,.2)}
.page-title-block{margin-bottom:1.25rem}.page-title-block h1{letter-spacing:-.04em;line-height:1.05}.property-meta{font-size:1rem;color:var(--bnb-muted)}.property-gallery{border-radius:24px}.gallery-main{box-shadow:var(--bnb-shadow-soft)}.gallery-slide img{height:clamp(280px,42vw,520px)!important}.gallery-thumbs{scrollbar-width:thin}.gallery-thumb{opacity:.76;transition:opacity .15s ease,transform .15s ease}.gallery-thumb:hover,.gallery-thumb.active{opacity:1;transform:translateY(-1px)}.gallery-nav{box-shadow:0 10px 22px rgba(0,0,0,.25)}
.property-content-card{border:1px solid var(--bnb-border);border-radius:var(--bnb-radius);padding:1.35rem;background:#fff;box-shadow:var(--bnb-shadow-soft);margin-bottom:1rem}.property-content-card h3,.property-content-card h4{letter-spacing:-.025em}.amenity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.amenity-item{border:1px solid var(--bnb-border);background:var(--bnb-soft);border-radius:14px;padding:.72rem .85rem}.booking-card{border:1px solid var(--bnb-border)!important;border-radius:24px!important;box-shadow:var(--bnb-shadow)!important;padding:1.2rem!important}.booking-card h4{letter-spacing:-.03em}.booking-card .alert{border-radius:16px}.date-picker-panel{border-radius:18px!important;background:#fff}.public-calendar{gap:5px!important}.public-cal-day{border-radius:10px!important;min-height:40px!important;display:flex;align-items:center;justify-content:center}.public-cal-head{padding:.25rem 0}.calendar-legend{border-radius:16px}.map-box{border:1px solid var(--bnb-border);box-shadow:var(--bnb-shadow-soft)}.table{vertical-align:middle}.rates-table-wrap{border:1px solid var(--bnb-border);border-radius:18px;overflow:auto;margin-bottom:1rem}.rates-table-wrap .table{margin-bottom:0;min-width:680px}.reviews-box .border{border-color:var(--bnb-border)!important;border-radius:16px!important}
.search-results-layout{align-items:start}.search-results-list h1{letter-spacing:-.04em}.search-map-col{position:sticky;top:88px}.search-result-card .property-card-slider{height:100%!important;min-height:230px}.search-result-card .card-body{height:100%;display:flex;flex-direction:column}.search-result-card .btn{align-self:flex-start}.search-result-description{color:var(--bnb-muted)}
.site-footer{background:var(--bnb-soft)!important}.owner-cta-card{border:1px solid var(--bnb-border);border-radius:var(--bnb-radius);box-shadow:var(--bnb-shadow-soft)}
@media (max-width:991.98px){.hero{padding:64px 0 92px}.search-panel{margin-top:-44px}.search-map-col{position:static}.map-box{height:420px!important}.booking-card{position:static!important;margin-top:1rem}.property-content-card{padding:1.1rem}.navbar-collapse{padding-top:.7rem}.navbar-nav{gap:.2rem}.nav-link{padding:.7rem .8rem!important}.search-result-card .property-card-slider{height:260px!important}}
@media (max-width:767.98px){body{font-size:15.5px}.container{padding-left:16px;padding-right:16px}.hero{padding:48px 0 84px}.hero h1{font-size:2rem}.hero .lead{font-size:1rem}.search-panel{margin-top:-38px}.search-panel .card,.search-page-filter{padding:.9rem!important;border-radius:18px}.search-panel .row>[class*="col-"],.search-page-filter .row>[class*="col-"]{width:100%}.property-card{border-radius:18px!important}.property-card .card-body{padding:1rem}.property-card-slider{height:235px!important}.page-title-block h1{font-size:2rem}.property-meta{font-size:.95rem}.gallery-slide img{height:300px!important}.gallery-thumbs{gap:.4rem}.gallery-thumb{flex-basis:76px!important}.gallery-thumb img{width:76px!important;height:54px!important}.gallery-lightbox{padding:1rem}.gallery-lightbox img{max-width:94vw;max-height:78vh}.amenity-grid{grid-template-columns:1fr}.booking-card{border-radius:20px!important;padding:1rem!important}.public-cal-day{min-height:36px!important;font-size:.9rem}.date-picker-panel{max-height:430px!important}.map-box{height:340px!important}.search-result-card .row{display:block}.search-result-card .property-card-slider{height:240px!important}.search-result-card .btn,.property-card .btn{width:100%}.footer-links{gap:.75rem!important}.rates-table-wrap{margin-left:-.25rem;margin-right:-.25rem}}
@media (max-width:420px){.hero h1{font-size:1.75rem}.gallery-slide img{height:250px!important}.property-card-slider{height:215px!important}.booking-card h4{font-size:1.25rem}.public-calendar{gap:3px!important}.public-cal-day{min-height:33px!important;border-radius:8px!important}.card-slider-btn,.gallery-nav{width:34px!important;height:34px!important;font-size:1.45rem!important}}
