.location-section{
max-width:900px;
}

.location-card{
position:relative;
border-radius:16px;
overflow:hidden;
max-width:760px;
margin:36px auto 0;
box-shadow:0 16px 40px rgba(45,58,39,0.13);
}

.location-img-link{
display:block;
position:relative;
text-decoration:none;
background-size:cover;
background-position:center 70%;
}

.location-img-link::after{
content:'';
position:absolute;
inset:0;
background:transparent;
transition:background 300ms ease;
pointer-events:none;
}

.location-img-link:hover::after{
background:rgba(0,0,0,0.12);
}

.location-img{
display:block;
width:100%;
height:440px;
opacity:0;
}

.location-map-hint{
position:absolute;
top:16px;
right:16px;
z-index:1;
display:flex;
align-items:center;
gap:6px;
background:rgba(255,255,255,0.88);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
color:#3f513d;
font-family:'Philosopher', serif;
font-size:13px;
letter-spacing:0.06em;
padding:7px 13px;
border-radius:20px;
pointer-events:none;
}

.location-info{
position:absolute;
bottom:0;
left:0;
right:0;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:18px 24px;
background:rgba(255,255,255,0.9);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
border-top:1px solid rgba(200,180,154,0.3);
}

.location-name h3{
font-size:1.3rem;
margin:0 0 2px;
color:#1f4d3a;
}

.location-address{
font-family:'Philosopher', serif;
font-size:13px;
color:#7a6a5a;
margin:0;
letter-spacing:0.04em;
}

.location-actions{
display:flex;
gap:8px;
flex-shrink:0;
}

.location-btn{
display:inline-block;
padding:9px 18px;
border-radius:22px;
font-family:'Philosopher', serif;
font-size:13px;
letter-spacing:0.06em;
text-decoration:none;
transition:background 200ms ease, color 200ms ease;
white-space:nowrap;
}

.location-btn-primary{
background:#5f7057;
color:#fff;
}

.location-btn-primary:hover{
background:#3f513d;
}

.location-btn-secondary{
background:transparent;
color:#5f7057;
border:1px solid #5f7057;
}

.location-btn-secondary:hover{
background:#5f7057;
color:#fff;
}

.hotels-nearby{
max-width:760px;
margin:20px auto 0;
padding-top:20px;
border-top:1px solid rgba(200,180,154,0.5);
}

.hotels-nearby-label{
font-family:'Philosopher', serif;
font-size:11px;
letter-spacing:0.14em;
text-transform:uppercase;
color:#6c7b67;
margin:0 0 12px;
}

.hotels-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:8px;
}

.hotel-card{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
padding:10px 12px;
background:rgba(255,255,255,0.6);
border:1px solid rgba(88,102,79,0.2);
border-radius:10px;
text-decoration:none;
color:#3f513d;
font-family:'Philosopher', serif;
font-size:12.5px;
line-height:1.35;
transition:background 180ms ease, border-color 180ms ease;
}

.hotel-card:hover{
background:rgba(255,255,255,0.88);
border-color:#5f7057;
}

.hotel-ext-icon{
flex-shrink:0;
opacity:0.4;
transition:opacity 180ms ease;
}

.hotel-card:hover .hotel-ext-icon{
opacity:0.75;
}

@media (max-width:640px){

.location-img-link{
background-size:100%;
background-position:center 0%;
}

.location-img{
height:380px;
}

.location-info{
flex-direction:column;
align-items:flex-start;
gap:12px;
padding:14px 16px;
}

.location-actions{
width:100%;
}

.location-btn{
flex:1;
text-align:center;
padding:9px 10px;
}

.hotels-grid{
grid-template-columns:repeat(2,1fr);
}

.hotel-card{
font-size:12px;
padding:9px 10px;
}

}
