.landmark-view-section{background:#f7f2e9}
.landmark-intro{max-width:760px}
.landmark-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.landmark-card{background:#fff;border:1px solid rgba(37,69,54,.12);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(31,54,44,.07)}
.landmark-toggle{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.landmark-toggle img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.landmark-card-title{display:block;padding:.9rem 1rem;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:700;line-height:1.2}
.landmark-detail{padding:0 1rem 1rem}
.landmark-detail p{margin:0 0 .65rem;color:var(--text-muted,#5a625c);font-size:.94rem;line-height:1.55}
.landmark-link{font-weight:700;text-decoration:none;color:var(--primary,#285c49)}
.landmark-link:hover{text-decoration:underline}
.landmark-toggle:focus-visible,.surrounding-more:focus-visible,.landmark-link:focus-visible{outline:3px solid rgba(40,92,73,.3);outline-offset:3px}
.surroundings-section{background:#fff}
.surroundings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.75rem}
.surrounding-card{background:#fbf8f2;border:1px solid rgba(37,69,54,.12);border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(31,54,44,.06)}
.surrounding-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.surrounding-body{padding:1.1rem 1.15rem 1.2rem}
.surrounding-tag{display:block;margin-bottom:.38rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--primary,#285c49)}
.surrounding-card h3{margin:.15rem 0 .55rem;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;line-height:1.2}
.surrounding-card p{margin:.4rem 0;color:var(--text-muted,#5a625c);line-height:1.6}
.surrounding-route{margin-top:.8rem!important;padding:.58rem .72rem;border-radius:10px;background:rgba(40,92,73,.08);color:var(--primary,#285c49)!important;font-size:.9rem;font-weight:700}
.surrounding-more{margin-top:.85rem;padding:0;border:0;background:none;color:var(--primary,#285c49);font:inherit;font-weight:800;cursor:pointer}
.surrounding-detail{margin-top:.75rem;padding-top:.7rem;border-top:1px solid rgba(37,69,54,.12)}
.surrounding-detail p{margin:0}
.surrounding-card--compact{grid-column:1/-1}
.surrounding-card--compact .surrounding-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr);column-gap:1.5rem;align-items:start}
.surrounding-card--compact h3,.surrounding-card--compact .surrounding-tag{grid-column:1}
.surrounding-card--compact> .surrounding-body>p:not(.surrounding-route){grid-column:2;grid-row:1/span 2}
.surrounding-card--compact .surrounding-route,.surrounding-card--compact .surrounding-more,.surrounding-card--compact .surrounding-detail{grid-column:1/-1}
@media(max-width:900px){.landmark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.surroundings-grid{grid-template-columns:1fr}.surrounding-card--compact{grid-column:auto}.surrounding-card--compact .surrounding-body{display:block}}
@media(max-width:560px){.landmark-grid{display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.landmark-card{flex:0 0 78%;scroll-snap-align:start}.landmark-card-title{font-size:1rem}.surrounding-body{padding:1rem}.surrounding-card h3{font-size:1.25rem}}

.landmark-card > summary,
.surrounding-expand > summary{list-style:none}
.landmark-card > summary::-webkit-details-marker,
.surrounding-expand > summary::-webkit-details-marker{display:none}
.landmark-card[open]{box-shadow:0 12px 30px rgba(31,54,44,.1)}
.surrounding-expand[open] .surrounding-more{margin-bottom:.15rem}
.social-discovery-page .landmark-view-section .sd-label,
.social-discovery-page .surroundings-section .sd-label{color:var(--color-terracotta-dark,#9a5a36)}
.social-discovery-page .landmark-view-section h2,
.social-discovery-page .surroundings-section h2{max-width:18ch}


.landmark-panorama{
  position:relative;
  margin:2rem 0 0;
  overflow:hidden;
  border-radius:1.35rem;
  box-shadow:0 1rem 2.5rem rgba(24,45,36,.12);
}
.landmark-panorama>img{
  display:block;
  width:100%;
  height:auto;
}
.landmark-panorama-labels{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.landmark-pin{
  position:absolute;
  transform:translate(-50%,-100%);
  padding:.45rem .7rem;
  border:1px solid rgba(30,67,52,.14);
  border-radius:999px;
  background:rgba(255,252,246,.94);
  color:#19382d;
  box-shadow:0 .35rem 1rem rgba(18,35,29,.15);
  font-size:clamp(.7rem,1.25vw,.9rem);
  font-weight:800;
  white-space:nowrap;
}
.landmark-pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:1px;
  height:clamp(1.4rem,5vw,3.8rem);
  background:rgba(255,255,255,.92);
  box-shadow:0 0 0 1px rgba(30,67,52,.08);
}
.landmark-pin::before{
  content:"";
  position:absolute;
  left:calc(50% - .28rem);
  top:calc(100% + clamp(1.4rem,5vw,3.8rem) - .28rem);
  width:.56rem;
  height:.56rem;
  border:2px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:#d0a361;
  box-shadow:0 .15rem .35rem rgba(18,35,29,.25);
}
.landmark-pin--cathedral{left:14%;top:35%}
.landmark-pin--arcos{left:41%;top:47%}
.landmark-pin--theatro{left:41%;top:35%}
.landmark-pin--airport{left:76%;top:36%}
@media(max-width:699px){
  .landmark-panorama{overflow-x:auto;scroll-snap-type:x proximity}
  .landmark-panorama>img,
  .landmark-panorama-labels{min-width:54rem}
  .landmark-pin{font-size:.7rem;padding:.38rem .58rem}
}
