/* Generales */
body{background-color:initial;}
.square-img{ aspect-ratio:1 / 1; }
.square-img img{width:100%;height:100%;object-fit:cover;}
.ratio-16x9{aspect-ratio:16 / 9;position:relative;overflow:hidden;}
.ratio-16x9 img{width:100%;height:100%;object-fit:cover;}
.ratio-16x9 .overlay{inset:0;}
.text-2line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
@media (min-width:992px){
	.pastilla-search{position:fixed;left:30px;top:150px;width:340px;z-index:999;transition:transform .35s ease, opacity .35s ease;}
	.pastilla-search.oculta{transform:translateY(40px);opacity:0;pointer-events:none;}
	.pastilla-search.visible{transform:translateY(0);opacity:1;}
	.pastilla-toggle{width:100%;border:none;padding:12px;border-radius:30px;background:#000;color:#fff;font-weight:600;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);}
	.pastilla-inner{background:#fff;padding:16px;border-radius:22px;margin-top:10px;box-shadow:0 12px 35px rgba(0,0,0,.15);display:none;}
	.pastilla-search.expandida .pastilla-inner{display:block;}
	.pastilla-search.expandida .pastilla-toggle{background:#333;}
	.pastilla-search #searchBarForm{flex-direction:column;gap:10px;}
}
/* Home */
.s_slide h1, .s_slide h2{color:#FFF;}
/* Form index */
.search-container{width:100%;padding:10px;display:flex;justify-content:center;}
.search-container .search{display:flex;gap:10px;align-items:flex-end;background-color:#FFF;border-radius:0.25rem;width:fit-content;padding:1rem 0.75rem;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);}
.search .search-action{display:flex;flex-direction:column;position:relative;margin-bottom:0.75rem;}
.search .btn-buscar{padding:8px 14px;background:black;color:white;border:none;border-radius:0.25rem;font-size:14px;cursor:pointer;margin-top:0.25rem;}
.search .btn-buscar:hover{background:#333;}
/* *** */
/* modal */
.modal.propietario .modal-content{background-color: #627afe;color: #FFF;}
.modal.propietario .modal-content .btn-primary{color:#000;background-color:#f8f9fa;border-color:#f8f9fa;}
.modal.propietario .modal-content .text-secondary p, .modal.propietario .modal-content .text-secondary a{color:#f8f9fa !important;}
.msj-ok{color: var(--bs-success);text-align: center;font-size: 14px;background: var(--bs-light);border-radius: 10px;padding: 5px;line-height: 1.25em;}
.msj-error{color: var(--bs-danger);text-align: center;font-size: 14px;background: var(--bs-light);border-radius: 10px;padding: 5px;line-height: 1.25em;}
.texto-legal .h1{font-size: 1.25rem;margin-bottom: 1rem;}
/* Responsive */
@media (max-width:768px){ .search-container .search{flex-direction:column;align-items:stretch;} }

/* Portada de alojamientos */
.alojamientos-hero{height:360px;min-height:360px;overflow:hidden;background:#24362f;}
.alojamientos-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;}
.alojamientos-hero-shade{background:linear-gradient(90deg,rgba(13,28,23,.62) 0%,rgba(13,28,23,.18) 55%,rgba(13,28,23,.06) 100%);}
.alojamientos-hero-copy{max-width:650px;padding-top:3.5rem;text-shadow:0 2px 18px rgba(0,0,0,.32);}
.alojamientos-kicker{display:block;margin-bottom:.65rem;font-size:.76rem;line-height:1.2;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.alojamientos-search-band{position:relative;z-index:5;margin-top:-45px;}
.alojamientos-search-band .search-container{padding:0;}
.alojamientos-search-band .search-container .search{width:100%;max-width:1120px;border-radius:.75rem;padding:1rem;box-shadow:0 14px 35px rgba(28,42,35,.18);}
.alojamientos-search-band .search .form-floating,.alojamientos-search-band .search .search-action{flex:1 1 0;min-width:0;margin-bottom:0!important;}
.alojamientos-search-band .search .form-floating:first-of-type{flex-grow:1.55;}
.alojamientos-search-band .search .btn-buscar{width:100%;height:3.5rem;margin:0;padding:.75rem 1.4rem;border-radius:.4rem;font-size:.95rem;font-weight:700;}
.alojamientos-intro{padding-top:4.5rem!important;}
.alojamientos-intro-inner{max-width:820px;}
.alojamientos-intro .lead{color:#5b665f;line-height:1.7;}
.comunidad-card{height:235px;border-radius:.75rem;background:#34453d;box-shadow:0 7px 20px rgba(24,42,33,.08);}
.comunidad-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.comunidad-card:hover img{transform:scale(1.045);}
.comunidad-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,20,14,.72),rgba(7,20,14,0) 65%);}
.comunidad-card-copy{position:absolute;left:1.25rem;right:1.25rem;bottom:1.15rem;color:#fff;}
.comunidad-card-copy strong{display:block;font-size:1.2rem;}
.comunidad-card-copy small{display:block;margin-top:.25rem;opacity:.8;}
.province-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem 1.5rem;}
.province-list a{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid #e3e7e4;color:#24342b;text-decoration:none;font-weight:700;}
.province-list a:hover{color:var(--bs-primary);}
.province-list small{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.8rem;padding:0 .45rem;border-radius:2rem;background:#eef2ef;color:#647168;font-weight:400;}
.tipo-card{overflow:hidden;border-radius:.75rem;background:#fff;box-shadow:0 5px 18px rgba(24,42,33,.07);transition:transform .25s ease,box-shadow .25s ease;}
.tipo-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(24,42,33,.13);}
.tipo-card-image{height:175px;}
.tipo-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.tipo-card:hover img{transform:scale(1.04);}
.tipo-card-body{padding:1rem 1.1rem 1.15rem;}
.alojamientos-landing #news-1 .card-img img,.alojamientos-landing .card__minimal .card-img img{aspect-ratio:4/3;object-fit:cover;}
@media (min-width:992px){.comunidad-card{height:245px;}.row>.col-md-6 .comunidad-card{height:300px;}}
@media (max-width:991.98px){.province-list{grid-template-columns:repeat(3,minmax(0,1fr));}.alojamientos-search-band .search-container .search{flex-wrap:wrap;}.alojamientos-search-band .search .form-floating,.alojamientos-search-band .search .search-action{flex-basis:30%;}}
@media (max-width:767.98px){.alojamientos-hero{height:300px;min-height:300px;}.alojamientos-hero-copy{padding-top:2.5rem;}.alojamientos-hero-copy .h2{font-size:1.55rem;}.alojamientos-search-band{margin-top:-30px;}.alojamientos-search-band .search-container .search{padding:.85rem;}.alojamientos-search-band .search .form-floating,.alojamientos-search-band .search .search-action{width:100%;}.alojamientos-intro{padding-top:3rem!important;}.province-list{grid-template-columns:repeat(2,minmax(0,1fr));}.comunidad-card{height:190px;}.tipo-card-image{height:140px;}}
@media (max-width:479.98px){.province-list{grid-template-columns:1fr;}.comunidad-card{height:170px;}}

/* Listado de alojamientos por comunidad con mapa */
/* Reglas esenciales locales de Leaflet. Evitan que un fallo del CSS remoto
   coloque las teselas en el flujo normal de la página. */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer{position:absolute;left:0;top:0}
.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}
.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}
.leaflet-map-pane{z-index:2}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}
.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-bar{border:2px solid rgba(0,0,0,.2);border-radius:4px;background-clip:padding-box}.leaflet-bar a{display:block;width:30px;height:30px;border-bottom:1px solid #ccc;background:#fff;color:#000;text-align:center;text-decoration:none;font:700 18px/30px Arial}.leaflet-bar a:last-child{border-bottom:0}.leaflet-bar a:hover{background:#f4f4f4}.leaflet-control-attribution{margin:0;padding:0 5px;background:rgba(255,255,255,.8);font-size:11px;line-height:1.4}
.leaflet-popup{position:absolute;margin-bottom:20px;text-align:center}.leaflet-popup-content-wrapper{padding:1px;border-radius:8px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.28)}.leaflet-popup-content{margin:13px 20px;line-height:1.45}.leaflet-popup-tip-container{position:absolute;left:50%;width:40px;height:20px;margin-left:-20px;overflow:hidden}.leaflet-popup-tip{width:17px;height:17px;margin:-10px auto 0;transform:rotate(45deg);background:#fff;box-shadow:3px 3px 4px rgba(0,0,0,.18)}
.comunidad-search{padding-top:6rem!important;}
.comunidad-search .search-container{padding:0;}
.comunidad-search .search{width:100%;max-width:1100px;}
.comunidad-results{background:#fff;}
.comunidad-property-list{display:flex;flex-direction:column;gap:1rem;}
.comunidad-property-card{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:210px;overflow:hidden;border:1px solid #e1e6e2;border-radius:.75rem;background:#fff;box-shadow:0 4px 14px rgba(25,42,33,.05);}
.comunidad-property-image{display:block;min-height:210px;overflow:hidden;background:#e8ece9;}
.comunidad-property-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.comunidad-property-card:hover img{transform:scale(1.035);}
.comunidad-property-content{display:flex;justify-content:space-between;gap:1.25rem;padding:1.15rem;}
.comunidad-property-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.comunidad-property-features{display:flex;flex-wrap:wrap;gap:.55rem 1rem;font-size:.8rem;color:#5d6a62;}
.comunidad-property-features i{margin-right:.2rem;color:#7d9185;}
.comunidad-property-price{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;justify-content:flex-end;white-space:nowrap;}
.comunidad-property-price strong{font-size:1.45rem;color:#1f3027;}
.comunidad-property-price small{font-size:.72rem;color:#6d786f;}
.comunidad-map-wrap{position:sticky;top:90px;overflow:hidden;border:1px solid #dfe5e1;border-radius:.75rem;background:#fff;box-shadow:0 5px 18px rgba(25,42,33,.07);}
#comunidad-map{height:calc(100vh - 150px);min-height:560px;background:#e8ede9;}
.comunidad-map-note{position:absolute;z-index:500;left:50%;bottom:1rem;transform:translateX(-50%);margin:0;padding:.55rem .85rem;border-radius:2rem;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.16);font-size:.78rem;font-weight:700;white-space:nowrap;}
.map-price-shell{background:transparent;border:0;}
.map-price-marker{display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:31px;padding:0 .55rem;border:2px solid #fff;border-radius:1rem;background:#263d31;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:.76rem;font-weight:700;white-space:nowrap;}
.map-price-marker:hover{background:#000;transform:scale(1.06);}
@media(max-width:1199.98px){.comunidad-property-card{grid-template-columns:190px minmax(0,1fr);}.comunidad-property-content{flex-direction:column}.comunidad-property-price{align-items:flex-start;}.comunidad-property-price small:last-child{display:none;}}
@media(max-width:991.98px){.comunidad-map-wrap{position:relative;top:auto;}#comunidad-map{height:480px;min-height:0;}}
@media(max-width:575.98px){.comunidad-property-card{grid-template-columns:1fr;}.comunidad-property-image{height:210px;}.comunidad-property-content{padding:1rem;}.comunidad-search .search-container .search{flex-direction:column;align-items:stretch;}}

/* Ofertas: propiedades y mapa */
.ofertas-search{padding-top:6rem!important}.ofertas-search .search-container{padding:0}.ofertas-search .search{width:100%;max-width:1100px}.ofertas-results{background:#fff}
.ofertas-property-list{display:flex;flex-direction:column;gap:1rem}.oferta-property-card{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:225px;overflow:hidden;border:1px solid #e1e6e2;border-radius:.75rem;background:#fff;box-shadow:0 4px 14px rgba(25,42,33,.05)}
.oferta-property-image{position:relative;display:block;min-height:225px;overflow:hidden;background:#e8ece9}.oferta-property-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.oferta-property-card:hover img{transform:scale(1.035)}
.oferta-badge{position:absolute;top:.8rem;left:.8rem;padding:.4rem .65rem;border-radius:.35rem;background:#c63e32;color:#fff;box-shadow:0 2px 7px rgba(0,0,0,.18);font-size:.85rem;font-weight:700}
.oferta-property-content{display:flex;justify-content:space-between;gap:1.2rem;padding:1.1rem}.oferta-property-main{min-width:0}.oferta-title{color:#263d31;font-weight:700}.oferta-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.oferta-property-features{display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.76rem;color:#5d6a62}.oferta-property-features i{margin-right:.18rem;color:#7d9185}.oferta-property-price{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;justify-content:flex-end;white-space:nowrap}.oferta-property-price del{color:#8a938d;font-size:.8rem}.oferta-property-price strong{font-size:1.45rem;color:#1f3027}.oferta-property-price small{font-size:.72rem;color:#6d786f}
.oferta-property-reviews{margin-bottom:.45rem;color:#f47b43;font-size:.9rem}.oferta-property-reviews small{color:#657169}.oferta-property-reviews-empty{color:#a5aca8}.oferta-property-labels{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.oferta-property-labels span{padding:.3rem .5rem;border-radius:.3rem;background:#eef3ef;color:#3d5145;font-size:.74rem}
.ofertas-map-wrap{position:sticky;top:90px;overflow:hidden;border:1px solid #dfe5e1;border-radius:.75rem;background:#fff;box-shadow:0 5px 18px rgba(25,42,33,.07)}#ofertas-map{height:calc(100vh - 150px);min-height:560px;background:#e8ede9}.ofertas-map-note{position:absolute;z-index:500;left:50%;bottom:1rem;transform:translateX(-50%);margin:0;padding:.55rem .85rem;border-radius:2rem;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.16);font-size:.78rem;font-weight:700;white-space:nowrap}.map-offer-marker{background:#b9372d}
@media(max-width:1199.98px){.oferta-property-card{grid-template-columns:185px minmax(0,1fr)}.oferta-property-content{flex-direction:column}.oferta-property-price{align-items:flex-start}}
@media(max-width:991.98px){.ofertas-map-wrap{position:relative;top:auto}#ofertas-map{height:480px;min-height:0}}
@media(max-width:575.98px){.oferta-property-card{grid-template-columns:1fr}.oferta-property-image{height:220px}.oferta-property-content{padding:1rem}.ofertas-search .search-container .search{flex-direction:column;align-items:stretch}}

/* Cabecera publica */
.public-header .public-navbar-container{display:flex;align-items:center;gap:1.5rem;}
.public-header .navbar-brand{flex:0 0 170px;margin-right:0;}
.public-header .navbar-collapse{align-items:center;}
.public-header .public-main-nav{align-items:center;gap:0.25rem;}
.public-header .public-main-nav .nav-link{position:relative;padding:1.65rem 0.75rem 1.35rem;white-space:nowrap;}
.public-header .public-main-nav .nav-link.active::after{content:"";position:absolute;left:0.75rem;right:0.75rem;bottom:0;height:3px;background:#316599;}
.public-header .public-nav-pending{cursor:default;opacity:0.65;}
.public-header .public-navbar-actions{margin-left:auto;white-space:nowrap;}
.public-header .public-navbar-actions .btn{font-size:0.8rem;padding:0.45rem 0.75rem;}

/* Blog */
.blog-hero{height:310px;min-height:310px;overflow:hidden;}
.blog-hero .bg-img,.blog-hero .bg-img .img{width:100%;height:100%;object-fit:cover;}
.blog-hero-content{max-width:760px;color:#fff;}
.blog-categories{background:#fff;}
.blog-category-link{color:#316599;font-weight:700;text-decoration:none;}
.blog-category-link:hover{color:#1d4055;text-decoration:underline;}
.blog-card{background:transparent;}
.blog-card-image img{transition:transform .35s ease;}
.blog-card:hover .blog-card-image img{transform:scale(1.035);}
.blog-card-title{line-height:1.3;}
.blog-card-title a{color:#212529;text-decoration:none;}
.blog-card-title a:hover{color:#316599;}
.blog-article-main{padding-top:7rem !important;}
.blog-article{max-width:860px;}
.blog-article-content{font-size:1.075rem;line-height:1.8;}
.blog-article-content img{max-width:100%;height:auto;}

@media (max-width:991.98px){
	.public-header .public-navbar-container{flex-wrap:wrap;gap:0.5rem;}
	.public-header .navbar-collapse{width:100%;}
	.public-header .public-main-nav{align-items:stretch;}
	.public-header .public-main-nav .nav-link{padding:0.75rem;}
	.public-header .public-main-nav .nav-link.active::after{left:0.75rem;right:auto;width:34px;bottom:0.35rem;}
	.public-header .public-navbar-actions{align-items:stretch !important;margin:0 0 1rem;}
	.blog-hero{height:250px;min-height:250px;}
}

.alojamiento-galeria{background:#fff;}
.alojamiento-galeria-portada{display:grid;height:500px;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;overflow:hidden;border-radius:1rem;}
.alojamiento-galeria-portada .alojamiento-galeria-item-1{grid-row:1 / span 2;}
.alojamiento-galeria-portada-1{grid-template-columns:1fr;}
.alojamiento-galeria-portada-1 .alojamiento-galeria-item-1{grid-row:1 / span 2;}
.alojamiento-galeria-portada-2 .alojamiento-galeria-item-2{grid-row:1 / span 2;}
.alojamiento-galeria-portada-4,.alojamiento-galeria-portada-5{grid-template-columns:minmax(0,2fr) repeat(2,minmax(135px,1fr));}
.alojamiento-galeria-portada-4 .alojamiento-galeria-item-2{grid-column:2 / span 2;}
.alojamiento-galeria-ver-todas{position:absolute;right:1.5rem;bottom:1.5rem;z-index:2;border:1px solid rgba(0,0,0,.18);font-weight:700;}

.alojamiento-galeria-item {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: #111;
  cursor: zoom-in;
}

.alojamiento-galeria-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.alojamiento-galeria-item:hover img {
  transform: scale(1.025);
}

.alojamiento-lightbox-header{position:sticky;top:0;z-index:3;background:#fff;}
.alojamiento-lightbox-body{padding:0;background:#f6f7f6;}
.alojamiento-lightbox-grid{display:grid;max-width:1080px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.alojamiento-lightbox-item{overflow:hidden;border-radius:.65rem;background:#e8ebe9;scroll-margin-top:90px;}
.alojamiento-lightbox-item:nth-child(3n+1){grid-column:1 / -1;}
.alojamiento-lightbox-item img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;margin:auto;background:#fff;}

.alojamiento-mapa {
  width: 100%;
  height: 360px;
  border-radius: .5rem;
  overflow: hidden;
}

.resena-foto {
  width: 72px;
  height: 72px;
  object-fit: cover;
}

/* Home: estructura por necesidades */
.home-needs{border-bottom:1px solid #e7ebe8;background:#fff;}
.home-needs-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;}
.home-need{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1.25rem .75rem;color:#4f5c55;text-align:center;text-decoration:none;font-size:.78rem;font-weight:700;transition:color .2s ease,background-color .2s ease;}
.home-need i{color:#829188;font-size:1.35rem;transition:color .2s ease,transform .2s ease;}
.home-need:hover,.home-need:focus{background:#f5f8f6;color:#263d31;}
.home-need:hover i,.home-need:focus i{color:#316599;transform:translateY(-2px);}
.home-benefits{background:#316599;}
.home-benefit{display:flex;min-height:130px;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.18);background:#316599;color:#fff;text-align:center;}
.home-benefit:nth-child(2){background:#316599;}
.home-benefit:nth-child(3){border-right:0;background:#316599;}
.home-benefit i{flex:0 0 auto;font-size:2rem;opacity:.9;}
.home-benefit strong,.home-benefit span{display:block;}
.home-benefit strong{margin-bottom:.25rem;font-size:1rem;}
.home-benefit span{font-size:.82rem;line-height:1.45;opacity:.78;}
.home-introduction{background:#fff;}
.home-introduction-header{max-width:820px;}
.home-introduction-card{position:relative;display:flex;min-height:430px;align-items:flex-end;overflow:hidden;border-radius:.75rem;background-color:#c9cecb;background-position:center;background-size:cover;box-shadow:0 12px 30px rgba(30,48,38,.14);}
.home-introduction-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.36));}
.home-introduction-card-retreat,.home-introduction-card-business{background-image:none;}
.home-introduction-copy{position:relative;margin:1.5rem;padding:1.35rem 1.5rem;background:rgba(255,255,255,.94);color:#263d31;font-size:.95rem;line-height:1.65;text-align:center;box-shadow:0 5px 18px rgba(0,0,0,.15);}
.home-category-section{scroll-margin-top:90px;}
.home-category-section + .home-category-section{padding-top:2rem!important;}
.home-category-feature{position:relative;min-height:420px;overflow:hidden;border-radius:.8rem;background:#c9cecb;box-shadow:0 12px 32px rgba(27,43,34,.14);}
.home-hero-background.home-image-empty{background:#c9cecb;}
.home-category-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.home-category-feature:hover>img{transform:scale(1.035);}
.home-category-feature-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,30,23,.88) 0%,rgba(17,30,23,.42) 55%,rgba(17,30,23,.08) 100%);}
.home-category-feature-copy{position:absolute;z-index:1;right:0;bottom:0;left:0;padding:2rem;color:#fff;}
.home-category-feature-copy h2{margin-bottom:.75rem;color:#fff;font-size:1.75rem;}
.home-category-feature-copy p{margin-bottom:1.25rem;color:rgba(255,255,255,.86);font-size:.92rem;line-height:1.6;}
.home-category-carousel{position:relative;}
.home-category-carousel .swiper-wrapper{align-items:stretch;}
.home-category-carousel .swiper-slide{width:calc((100% - 2rem)/3);height:auto;margin-right:1rem;}
.home-category-carousel .swiper-navigation-container{width:100%;max-width:none;margin-left:0;margin-right:0;pointer-events:none;}
.home-category-carousel .swiper-button-prev,.home-category-carousel .swiper-button-next{pointer-events:auto;}
.home-property-card{display:flex;height:100%;min-height:430px;flex-direction:column;overflow:hidden;border:1px solid #c8d8cd;border-radius:.8rem;background:#fff;box-shadow:0 8px 24px rgba(27,43,34,.1);}
.home-property-image{position:relative;display:block;width:100%;height:175px;flex:0 0 175px;overflow:hidden;background:#d7ddd9;}
.home-property-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.home-property-card:hover .home-property-image img{transform:scale(1.025);}
.home-property-content{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;padding:1rem;}
.home-property-content h3{display:-webkit-box;min-height:2.5em;margin-bottom:.25rem;overflow:hidden;font-size:1.05rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.home-property-content h3 a{color:#25362d;text-decoration:none;}
.home-property-place{margin-bottom:.35rem;color:#6c7871;font-size:.9rem;}
.home-property-place i{margin-right:.25rem;color:#7c9184;}
.home-property-reviews{margin-bottom:.55rem;color:#f47b43;font-size:1rem;letter-spacing:.03em;}
.home-property-reviews small{color:#657169;letter-spacing:0;}
.home-property-reviews-empty{color:#a5aca8;}
.home-property-labels{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem;}
.home-property-labels>span{max-width:100%;padding:.35rem .55rem;overflow:hidden;border-radius:.3rem;background:#f0f3f1;color:#3e4b44;font-size:.73rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
.home-property-labels i{margin-right:.2rem;}
.home-property-labels .home-property-category{background:#e4f0e7;color:#315c42;}
.home-property-features{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;color:#536159;font-size:.72rem;line-height:1.35;}
.home-property-features span{min-width:0;}
.home-property-features i{width:1.15rem;margin-right:.2rem;color:#789083;text-align:center;}
.home-property-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.8rem;}
.home-property-footer p{margin:0;color:#27372f;text-align:right;white-space:nowrap;}
.home-property-footer strong{font-size:1.15rem;}
.home-property-footer span{display:block;color:#69756e;font-size:.65rem;}
.alojamiento-card-features{display:flex;flex-wrap:wrap;gap:.4rem .8rem;color:#68746d;font-size:.78rem;}
.alojamiento-card-features i{width:1rem;margin-right:.15rem;color:#7b9084;text-align:center;}

@media (max-width: 767.98px) {
  .home-needs-list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .home-need{padding:1rem .4rem;font-size:.7rem;}
  .home-benefit{min-height:120px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);}
  .home-benefit:last-child{border-bottom:0;}
  .home-introduction-card{min-height:380px;}
  .home-introduction-copy{margin:1rem;padding:1.1rem;font-size:.88rem;}
  .home-category-feature{min-height:360px;}
  .home-category-feature-copy{padding:1.5rem;}
  .home-category-carousel .swiper-slide{width:100%;margin-right:0;}
  .home-property-card{min-height:0;}
  .home-property-image{height:230px;flex-basis:230px;}
  .home-property-content{padding:1.1rem;}
  .home-property-features{gap:.4rem .8rem;font-size:.76rem;}
  .home-property-footer{align-items:center;}
  .home-property-footer p{white-space:normal;}
  .home-property-footer strong,.home-property-footer span{display:block;}

  .alojamiento-galeria-portada{display:block;height:330px;border-radius:.7rem;}
  .alojamiento-galeria-portada .alojamiento-galeria-item{display:none;width:100%;height:100%;}
  .alojamiento-galeria-portada .alojamiento-galeria-item-1{display:block;}
  .alojamiento-galeria-ver-todas{right:1rem;bottom:1rem;}
  .alojamiento-lightbox-grid{grid-template-columns:1fr;gap:.75rem;}
  .alojamiento-lightbox-item:nth-child(3n+1){grid-column:auto;}
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .home-category-feature{min-height:390px;}
  .home-category-carousel .swiper-slide{width:calc((100% - 1rem)/2);}
  .alojamiento-galeria-portada{height:420px;}
}

@media (max-width: 419.98px) {
  .home-needs-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
