/* Nearby Attractions Section - sample-matched layout */
.nearby-attractions-section{
    background:var(--nearby-bg,#f4f5f7);
    color:var(--nearby-text,#15233a);
    font-family:inherit;
}
.nearby-attractions-container{
    width:min(1566px,calc(100% - 17.6vw));
    margin:0 auto;
}
.nearby-attractions-header{
    text-align:center;
    margin:0 auto 32px;
    max-width:900px;
}
.nearby-attractions-header h2{
    margin:0 0 12px;
    font-size:clamp(28px,2.45vw,37px);
    line-height:1.18;
    font-weight:800;

    letter-spacing:.01em;
    color:var(--nearby-text,#15233a);
}
.nearby-attractions-header p{
    margin:0;
    font-size:clamp(15px,1.08vw,20px);
    line-height:1.45;
    font-weight:400;
    color:var(--nearby-muted,#43506a);
}
.nearby-attractions-grid{
    display:grid;
    gap:30px;
}
.nearby-grid-1{grid-template-columns:1fr;}
.nearby-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.nearby-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.nearby-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.nearby-attraction-card{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:20px;
    min-height:215px;
    background:var(--nearby-card-bg,#fff);
    border-radius:9px;
    padding:35px 30px 30px;
    box-shadow:0 10px 18px var(--nearby-shadow,rgba(15,23,42,.12));
    border:1px solid rgba(15,23,42,.04);
    transition:transform .22s ease,box-shadow .22s ease;
}
.nearby-attraction-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 30px var(--nearby-shadow,rgba(15,23,42,.14));
}
.nearby-card-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    line-height:1;
    margin-top:1px;
}
.nearby-card-icon svg{
    width:46px;
    height:46px;
    display:block;
}
.nearby-card-icon span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:currentColor;
    color:#fff;
    font-weight:800;
    font-size:15px;
}
.nearby-card-body h3{
    margin:0 0 6px;
    font-size:clamp(19px,1.22vw,23px);
        font-family: var(--lumana-header-font);
    line-height:1.18;
    font-weight:800;
    color:var(--nearby-text,#15233a);
}
.nearby-distance{
    font-size:clamp(14px,.9vw,17px);
    line-height:1.4;
    color:var(--nearby-text,#15233a);
    margin-bottom:24px;
}
.nearby-card-body p{
    margin:0;
    font-size:clamp(14px,.92vw,17px);
    line-height:1.46;
    font-weight:450;
    color:var(--nearby-text,#15233a);
}
.nearby-card-body a,.nearby-read-more,.nearby-standalone-link{
    color:var(--nearby-link,#246bff);
    font:inherit;
    text-decoration:none;
    background:transparent;
    border:0;
    padding:0;
    margin-left:4px;
    cursor:pointer;
}
.nearby-card-body a:hover,.nearby-read-more:hover,.nearby-standalone-link:hover{text-decoration:underline;}
.nearby-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.58);display:none;align-items:center;justify-content:center;z-index:99999;padding:24px;}
.nearby-modal-backdrop.is-open{display:flex;}
.nearby-modal-box{width:min(620px,100%);background:#fff;border-radius:18px;padding:28px 30px;box-shadow:0 24px 80px rgba(0,0,0,.24);color:#15233a;position:relative;}
.nearby-modal-box h3{margin:0 40px 14px 0;font-size:24px;line-height:1.2;}
.nearby-modal-box p{margin:0;font-size:16px;line-height:1.6;color:#334155;white-space:pre-line;}
.nearby-modal-close{position:absolute;top:16px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;font-size:22px;line-height:1;cursor:pointer;}
@media (max-width:1100px){
    .nearby-grid-3,.nearby-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
    .nearby-attractions-container{width:min(100% - 40px,960px);}
}
@media (max-width:720px){
    .nearby-grid-2,.nearby-grid-3,.nearby-grid-4{grid-template-columns:1fr;}
    .nearby-attractions-container{width:min(100% - 28px,620px);}
    .nearby-attraction-card{grid-template-columns:40px 1fr;gap:16px;padding:26px 22px;min-height:auto;}
    .nearby-card-icon,.nearby-card-icon svg{width:40px;height:40px;}
    .nearby-distance{margin-bottom:16px;}
}
