/* Casa Gobbo V3: aggiunte isolate per le pagine tematiche. */
.theme-grid .card {padding:0; overflow:hidden}
.theme-grid .card a {display:block; height:100%; padding:25px; color:inherit; text-decoration:none}
.theme-grid .card a:hover,.theme-grid .card a:focus-visible {background:#f1e9dc; outline:2px solid var(--olive); outline-offset:-2px}
.theme-grid .card h2 {margin-top:0}
.theme-grid .card p {margin-bottom:0}
.theme-block {border-top:1px solid #ded6c9; padding:30px 0}
.theme-block h2 {margin-top:0}
.theme-block p {max-width:72ch}
.theme-block ul {max-width:75ch; padding-left:1.3rem}
.theme-block li {margin:.5rem 0}
.theme-note {font-size:.92rem; color:#53645c}
.theme-photo {margin:25px 0 0; max-width:900px}
.theme-photo img {width:100%; height:auto; display:block; border-radius:12px}
.theme-photo figcaption {font-size:.8rem; margin-top:8px}
.theme-placeholder {min-height:180px; display:grid; place-items:center; border:1px dashed #b7aa95; border-radius:12px; color:#657368; background:#f1ede4; text-align:center; padding:20px}
.theme-cta {padding:46px 0; background:#efe9de}
.theme-cta .actions {margin-top:22px}
.theme-source-list {font-size:.94rem}
/* Selected Commons photographs: original framing, no CSS crop. */
.theme-photo--hero {max-width:900px}
.theme-photo--secondary {max-width:680px; margin:18px 0 25px}
.theme-photo figcaption {line-height:1.55; color:#53645c}
.theme-photo figcaption a {color:inherit; text-underline-offset:2px}
@media (max-width:700px) {
  .theme-photo--hero, .theme-photo--secondary {max-width:100%; margin-block:20px 25px}
}

/* Prototype IT: header and discreet theme navigation only. */
.theme-local-nav {background:#f8f5ef; border-top:1px solid rgba(40,61,49,.12); border-bottom:1px solid rgba(40,61,49,.15); color:#304638}
.theme-local-nav__links {display:flex; align-items:center; gap:clamp(5px,1.5vw,18px); overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; white-space:nowrap; -webkit-overflow-scrolling:touch}
.theme-local-nav a {display:inline-block; flex:none; padding:10px 12px; font-size:.78rem; font-weight:600; color:inherit; text-decoration:none; border-bottom:2px solid transparent}
.theme-local-nav a:hover,.theme-local-nav a:focus-visible {text-decoration:underline; text-underline-offset:4px}
.theme-local-nav a[aria-current="page"] {color:#1f392b; border-bottom-color:#bf674a}
@media (max-width:700px) {
  .theme-local-nav__links {gap:0; padding-inline:12px}
  .theme-local-nav a {padding:10px 11px; font-size:.76rem; min-height:42px}
}

/* Mobile swipe without a visible native scrollbar. */
@media (max-width:700px) {
  .theme-local-nav__links {scrollbar-width:none}
  .theme-local-nav__links::-webkit-scrollbar {display:none}
  .theme-local-nav a[aria-current="page"] {background:#efe8dc}
}

/* Grigno overview: lightweight location guide and curated local ideas. */
.place-locator {background:#efe9de; border-block:1px solid #ded6c9}
.place-locator__grid {display:grid; grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr); gap:clamp(34px,5vw,76px); align-items:center}
.place-locator__copy h2 {font-size:clamp(34px,3.8vw,52px); margin-bottom:18px}
.place-locator__copy>p {max-width:61ch; margin-bottom:26px}
.place-locator__facts {display:grid; gap:0; margin:0; border-block:1px solid rgba(46,75,63,.18)}
.place-locator__facts div {display:grid; grid-template-columns:112px 1fr; gap:15px; padding:11px 0; border-bottom:1px solid rgba(46,75,63,.13)}
.place-locator__facts div:last-child {border-bottom:0}
.place-locator__facts dt {font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:#526459}
.place-locator__facts dd {margin:0; color:#2e4b3f; font-weight:600}
.locator-map {min-width:0; margin:0}
.locator-map__canvas {position:relative; min-height:355px; overflow:hidden; border:1px solid rgba(46,75,63,.24); border-radius:18px; background:linear-gradient(155deg,#faf7f0 0%,#f4eee4 55%,#e8dfd1 100%); box-shadow:0 20px 42px rgba(46,75,63,.09)}
.locator-map__canvas svg {position:absolute; inset:0; width:100%; height:100%}
.locator-map__mountains {fill:rgba(138,154,123,.16)}
.locator-map__road {fill:none; stroke:#c46a4a; stroke-width:7; stroke-linecap:round}
.locator-map__rail {fill:none; stroke:#2e4b3f; stroke-width:2.5; stroke-dasharray:7 7; stroke-linecap:round}
.locator-map__border {fill:none; stroke:#9a8a75; stroke-width:2; stroke-dasharray:3 8}
.locator-map__region {position:absolute; top:7%; padding:4px 8px; color:#66746b; font-size:.65rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase}
.locator-map__region--trentino {left:7%}
.locator-map__region--veneto {right:7%}
.locator-map__place {position:absolute; display:flex; align-items:center; gap:7px; max-width:142px; padding:5px 9px; border-radius:999px; background:rgba(255,253,249,.91); color:#2e4b3f; font-size:clamp(.68rem,1vw,.79rem); font-weight:600; line-height:1.25; box-shadow:0 3px 10px rgba(46,75,63,.1)}
.locator-map__place i {display:block; flex:0 0 auto; width:10px; height:10px; border:3px solid #fffdf9; border-radius:50%; background:#2e4b3f; box-shadow:0 0 0 2px #2e4b3f}
.locator-map__place--trento {left:5%; top:24%}
.locator-map__place--grigno {left:45%; top:42%; padding:8px 12px; color:#fffaf2; background:#2e4b3f; font-size:.84rem; letter-spacing:.03em}
.locator-map__place--grigno i {background:#c46a4a; box-shadow:0 0 0 2px #c46a4a}
.locator-map__place--bassano {right:6%; top:64%; border-radius:12px}
.locator-map__place--east {right:4%; bottom:5%; max-width:none; padding:0; border-radius:0; background:transparent; box-shadow:none; color:#6d655b; font-size:.64rem; letter-spacing:.06em}
.locator-map__route {position:absolute; left:5%; bottom:5%; color:#5c665f; font-size:.65rem; font-weight:700; letter-spacing:.06em}
.locator-map figcaption {padding:9px 4px 0; color:#657368; font-size:.72rem; text-align:right}
.activity-overview {margin-top:clamp(64px,8vw,98px); padding-top:clamp(48px,6vw,72px); border-top:1px solid #ded6c9}
.activity-overview__heading {display:grid; grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr); column-gap:clamp(35px,7vw,90px); align-items:end; margin-bottom:34px}
.activity-overview__heading .eyebrow {grid-column:1/-1}
.activity-overview__heading h2 {margin-bottom:0; font-size:clamp(36px,4.4vw,58px)}
.activity-overview__heading p {margin:0 0 8px; color:#53645c}
.activity-groups {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.activity-card {position:relative; min-width:0; padding:29px 30px 27px 64px; border:1px solid #d9dfd5; background:#fffdf9; box-shadow:0 10px 24px rgba(46,75,63,.045)}
.activity-card:nth-child(2),.activity-card:nth-child(5) {border-top:4px solid #c46a4a}
.activity-card__number {position:absolute; top:31px; left:25px; color:#9a6a59; font-size:.68rem; font-weight:700; letter-spacing:.12em}
.activity-card h3 {margin:0 0 13px; font-size:clamp(24px,2.2vw,31px)}
.activity-card ul {margin:0; padding-left:1.15rem}
.activity-card li {margin:.42rem 0}
.activity-card p {margin:0}
.activity-card a,.activity-overview__sources a {color:#2e4b3f; font-weight:650; text-underline-offset:3px}
.activity-card--table {grid-column:1/-1; padding-right:clamp(30px,12vw,165px); background:linear-gradient(105deg,#fffdf9,#f5e7dc)}
.activity-overview__sources {max-width:90ch; margin:24px 0 0; color:#53645c; font-size:.86rem}

@media (max-width:900px) {
  .place-locator__grid {grid-template-columns:1fr}
  .locator-map__canvas {min-height:340px}
  .activity-overview__heading {grid-template-columns:1fr}
  .activity-overview__heading p {margin-top:18px; max-width:66ch}
}

@media (max-width:620px) {
  .place-locator__facts div {grid-template-columns:1fr; gap:2px; padding:10px 0}
  .locator-map__canvas {min-height:315px; border-radius:13px}
  .locator-map__place {max-width:112px; white-space:normal}
  .locator-map__place--grigno {left:39%; top:41%}
  .locator-map__place--bassano {right:3%; top:62%; max-width:106px}
  .locator-map__place--east {right:3%; bottom:4%; max-width:132px; text-align:right}
  .locator-map__route {left:4%; bottom:4%; max-width:142px; line-height:1.35}
  .activity-groups {grid-template-columns:1fr}
  .activity-card,.activity-card--table {grid-column:auto; padding:25px 22px 23px 53px}
  .activity-card__number {top:27px; left:18px}
}

/* Grigno guides: clickable inspiration cards, detail pages and local food. */
.place-locator__actions {margin-top:24px}
.place-locator__actions .button {display:inline-flex; align-items:center; min-height:46px}
.activity-link-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.activity-link-card {position:relative; display:flex; min-width:0; min-height:178px; flex-direction:column; overflow:hidden; padding:24px 26px 22px 58px; border:1px solid #d9dfd5; border-top:4px solid #c46a4a; background:#f3f1e8; color:inherit; text-decoration:none; box-shadow:0 10px 24px rgba(46,75,63,.07); transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.activity-link-card::before {position:absolute; z-index:0; inset:0; background-image:var(--activity-card-image); background-position:var(--activity-card-position,center); background-size:cover; content:""; filter:grayscale(.55) sepia(.1) saturate(.85) contrast(.86); mix-blend-mode:multiply; opacity:.23; pointer-events:none}
.activity-link-card>* {position:relative; z-index:1}
.activity-link-card:hover {transform:translateY(-2px); background-color:#ede9dd; box-shadow:0 17px 32px rgba(46,75,63,.13)}
.activity-link-card:focus-visible {outline:3px solid #c46a4a; outline-offset:3px}
.activity-link-card--marcesina,.activity-link-grid>.activity-link-card:nth-child(1) {--activity-card-image:url('/assets/marcesina-summer-2.webp'); --activity-card-position:center 48%}
.activity-link-card--fontanazzo,.activity-link-grid>.activity-link-card:nth-child(2) {--activity-card-image:url('/assets/grigno-alto.webp'); --activity-card-position:center 45%}
.activity-link-card--ortigara,.activity-link-grid>.activity-link-card:nth-child(3) {--activity-card-image:url('/assets/marcesina-summer-2.webp'); --activity-card-position:center 62%}
.activity-link-card--dalmeri,.activity-link-grid>.activity-link-card:nth-child(4) {--activity-card-image:url('/assets/marcesina-summer-2.webp'); --activity-card-position:center 35%}
.activity-link-card--caves,.activity-link-grid>.activity-link-card:nth-child(5) {--activity-card-image:url('/assets/grigno-alto.webp'); --activity-card-position:center 63%}
.activity-link-card--cycle,.activity-link-grid>.activity-link-card:nth-child(6) {--activity-card-image:url('/assets/valsugana-ravetta.webp'); --activity-card-position:center 54%}
.activity-link-card--brocon,.activity-link-grid>.activity-link-card:nth-child(7) {--activity-card-image:url('/assets/valsugana-ravetta.webp'); --activity-card-position:center 35%}
.activity-link-grid>.activity-link-card:nth-child(8) {--activity-card-image:url('/assets/grigno-rue.webp'); --activity-card-position:center 52%}
.activity-link-grid>.activity-link-card:nth-child(9) {--activity-card-image:url('/assets/grigno-alto.webp'); --activity-card-position:center 45%}
.activity-link-grid>.activity-link-card:nth-child(10) {--activity-card-image:url('/assets/grigno-alto.webp'); --activity-card-position:center 58%}
.activity-link-grid>.activity-link-card:nth-child(11) {--activity-card-image:url('/assets/grigno-rue.webp'); --activity-card-position:center 42%}
.activity-link-card__number {position:absolute; top:25px; left:22px; color:#9a6a59; font-size:.66rem; font-weight:700; letter-spacing:.12em}
.activity-link-card h3 {margin:0 0 9px; color:#2e4b3f; font-size:clamp(22px,1.85vw,28px)}
.activity-link-card p {margin:0 0 16px; color:#485a51; font-size:.92rem; line-height:1.55}
.activity-link-card__more {margin-top:auto; color:#2e4b3f; font-size:.78rem; font-weight:700; letter-spacing:.04em}
.activity-link-card__more span {display:inline-block; margin-left:5px; transition:transform .18s ease}
.activity-link-card:hover .activity-link-card__more span {transform:translateX(4px)}
.dining-teaser {display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:16px; padding:25px 30px; border:1px solid #dccfc1; background:linear-gradient(105deg,#fffdf9,#f5e7dc); color:inherit; text-decoration:none}
.dining-teaser>span:first-child {display:grid; gap:5px}
.dining-teaser strong {font-family:"Playfair Display",serif; font-size:clamp(25px,2.5vw,34px); font-weight:500}
.dining-teaser small {color:#53645c; font-size:.91rem}
.dining-teaser>span:last-child {font-size:1.5rem; transition:transform .18s ease}
.dining-teaser:hover>span:last-child {transform:translateX(5px)}
.dining-teaser:focus-visible {outline:3px solid #2e4b3f; outline-offset:3px}

.activity-detail-hero .lead {max-width:72ch}
.activity-detail__layout {display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.36fr); gap:clamp(38px,6vw,82px); align-items:start}
.activity-detail__aside {position:sticky; top:125px; padding:28px; border:1px solid #d9dfd5; border-top:4px solid #c46a4a; background:#f8f5ef}
.activity-detail__aside h2 {margin:8px 0 13px; font-size:clamp(25px,2.6vw,36px)}
.activity-detail__aside p {margin-bottom:0; color:#53645c}
.activity-detail__actions {display:flex; flex-wrap:wrap; gap:12px; margin:28px 0}
.activity-detail__actions .button {display:inline-flex; align-items:center; justify-content:center; min-height:46px}
.activity-detail__back {margin-top:26px}
.activity-detail__back a {color:#2e4b3f; font-weight:650; text-underline-offset:3px}
.activity-guide-summary {margin:0 0 30px; padding:clamp(22px,3vw,32px); border:1px solid #d9dfd5; border-top:4px solid #c46a4a; background:#f8f5ef}
.activity-guide-summary h2,.activity-gallery h2 {margin:0 0 20px; font-size:clamp(25px,2.8vw,36px)}
.activity-facts {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0; overflow:hidden; border:1px solid #d9dfd5; background:#d9dfd5}
.activity-fact {min-width:0; padding:18px; background:#fffdf9}
.activity-fact dt {margin:0 0 7px; color:#9a6a59; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase}
.activity-fact dd {margin:0; color:#2e4b3f; font-size:.96rem; font-weight:650; line-height:1.45}
.activity-practical-note {border-left:4px solid #b8c2b2; background:#f8f5ef}
.activity-practical-note--warning {border-left-color:#c46a4a; background:#fbefe9}
.activity-gallery {margin:34px 0 12px}
.activity-gallery__grid {display:grid; grid-template-columns:minmax(0,680px); gap:20px}
.activity-gallery__item {margin:0; min-width:0}
.activity-gallery__item img {display:block; width:100%; max-height:520px; border-radius:12px; object-fit:cover}
.activity-gallery__item figcaption {margin-top:8px; color:#53645c; font-size:.78rem; line-height:1.5}
.activity-gallery__item figcaption a {color:inherit; text-underline-offset:2px}

.dining-section {scroll-margin-top:145px}
.dining-section>h3 {margin:32px 0 14px; font-size:clamp(25px,2.5vw,34px)}
.dining-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:980px}
.dining-grid--mountain {grid-template-columns:minmax(0,1fr); max-width:630px}
.dining-card {display:flex; min-width:0; flex-direction:column; padding:26px; border:1px solid #d9dfd5; border-top:4px solid #c46a4a; background:#fffdf9}
.dining-card h4 {margin:0 0 10px; font-family:"Playfair Display",serif; font-size:clamp(24px,2.2vw,30px); font-weight:500}
.dining-card p {margin:0 0 12px}
.dining-card__actions {display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:10px}
.dining-card__actions a {display:inline-flex; align-items:center; min-height:42px; padding:9px 13px; border:1px solid #2e4b3f; color:#2e4b3f; font-size:.8rem; font-weight:700; text-decoration:none}
.dining-card__actions a:hover {background:#2e4b3f; color:#fffdf9}
.dining-card__actions a:focus-visible {outline:3px solid #c46a4a; outline-offset:2px}

@media (max-width:900px) {
  .activity-detail__layout {grid-template-columns:1fr}
  .activity-detail__aside {position:static; order:-1}
  .activity-facts {grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:620px) {
  .activity-link-grid,.dining-grid {grid-template-columns:1fr}
  .activity-link-card {min-height:154px; padding:21px 20px 19px 49px}
  .activity-link-card__number {top:22px; left:17px}
  .activity-link-card h3 {font-size:clamp(21px,7vw,25px)}
  .dining-teaser {padding:22px}
  .activity-detail__aside,.dining-card {padding:22px}
  .activity-guide-summary {padding:18px}
  .activity-facts {grid-template-columns:1fr}
  .activity-fact {padding:15px 16px}
  .activity-gallery__item img {max-height:390px}
  .activity-detail__actions {display:grid; grid-template-columns:1fr}
  .activity-detail__actions .button {width:100%; box-sizing:border-box}
}

@media (prefers-reduced-motion:reduce) {
  .activity-link-card,.activity-link-card__more span,.dining-teaser>span:last-child {transition:none}
}

/* Dedicated local dining pages. */
.dining-page-hero {padding-bottom:clamp(42px,6vw,72px)}
.dining-page-hero .lead {max-width:70ch}
.dining-page__section {padding:0 0 clamp(52px,7vw,82px)}
.dining-page__section+.dining-page__section {padding-top:clamp(42px,6vw,68px); border-top:1px solid #ded6c9}
.dining-page__section>h2 {margin:7px 0 12px; font-size:clamp(34px,4vw,52px)}
.dining-page__section>p {max-width:68ch; margin-bottom:26px; color:#53645c}
.dining-place-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px}
.dining-place-grid--single {grid-template-columns:minmax(0,760px)}
.dining-place-card {display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #d9dfd5; border-top:4px solid #c46a4a; background:#fffdf9; box-shadow:0 12px 28px rgba(46,75,63,.07)}
.dining-place-card__media {margin:0; background:#efe9de}
.dining-place-card__media img {display:block; width:100%; aspect-ratio:16/9; object-fit:cover}
.dining-place-card__media figcaption {padding:8px 14px 9px; color:#657368; font-size:.7rem; line-height:1.45}
.dining-place-card__media figcaption a {color:inherit; text-underline-offset:2px}
.dining-place-card__body {display:flex; flex:1; flex-direction:column; padding:clamp(22px,3vw,30px)}
.dining-place-card--no-image {position:relative; isolation:isolate; background:linear-gradient(145deg,#fffdf9 0%,#f4f0e7 100%)}
.dining-place-card--no-image::before {position:absolute; z-index:-1; top:-76px; right:-72px; width:190px; height:190px; border:1px solid rgba(46,75,63,.16); border-radius:50%; box-shadow:0 0 0 22px rgba(46,75,63,.035),0 0 0 44px rgba(196,106,74,.025); content:""; pointer-events:none}
.dining-place-card--no-image .dining-place-card__body {padding-top:clamp(28px,4vw,42px)}
.dining-place-card__type {color:#9a6a59; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase}
.dining-place-card h3 {margin:8px 0 12px; font-family:"Playfair Display",serif; font-size:clamp(27px,2.8vw,36px); font-weight:500}
.dining-place-card p {margin:0 0 14px}
.dining-place-card__address {padding-top:13px; border-top:1px solid #e4ddd2; color:#45574e; font-size:.91rem}
.dining-place-card__actions {display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:10px}
.dining-place-card__actions .button {display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; font-size:.78rem}
.dining-page__note {max-width:80ch; margin:0; padding:18px 20px; border-left:4px solid #c46a4a; background:#f8f5ef; color:#53645c; font-size:.9rem}
.dining-entry .button {display:inline-flex; margin-top:8px}
@media (max-width:760px) {
  .dining-place-grid,.dining-place-grid--single {grid-template-columns:1fr}
}
@media (max-width:620px) {
  .dining-place-card__body {padding:21px}
  .dining-place-card__actions {display:grid; grid-template-columns:1fr}
  .dining-place-card__actions .button {width:100%; box-sizing:border-box}
}

/* Local route schematic generated from structured activity data. */
.activity-route-map{margin:0 0 30px;padding:clamp(22px,3vw,32px);border:1px solid #d9dfd5;border-top:4px solid #c46a4a;background:linear-gradient(145deg,#f8f5ef,#eef1e9)}
.activity-route-map h2{margin:0 0 18px;font-size:clamp(25px,2.8vw,36px)}
.activity-route-map__canvas{position:relative;min-height:210px;overflow:hidden;border:1px solid rgba(46,75,63,.16);border-radius:14px;background:linear-gradient(155deg,rgba(255,253,249,.92),rgba(225,232,220,.88))}
.activity-route-map__canvas svg{position:absolute;inset:0;width:100%;height:100%}
.activity-route-map__terrain{fill:none;stroke:rgba(46,75,63,.11);stroke-width:1.2}
.activity-route-map__river{fill:none;stroke:#89a3a0;stroke-width:9;stroke-linecap:round;opacity:.65}
.activity-route-map__route{fill:none;stroke:#b87354;stroke-width:5;stroke-linecap:round;stroke-dasharray:10 8}
.activity-route-map__stops{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:center;min-height:210px;margin:0;padding:28px 22px;list-style:none}
.activity-route-map__stops li{position:relative;z-index:1;display:grid;justify-items:center;gap:9px;color:#2e4b3f;font-size:.76rem;font-weight:650;line-height:1.35;text-align:center}
.activity-route-map__stops i{display:block;width:15px;height:15px;border:4px solid #fffdf9;border-radius:50%;background:#b87354;box-shadow:0 0 0 2px #b87354}
.activity-route-map__stops li:last-child i{width:19px;height:19px;background:#2e4b3f;box-shadow:0 0 0 2px #2e4b3f}
.activity-route-map figcaption{margin-top:10px;color:#53645c;font-size:.78rem;line-height:1.5}
.activity-gallery__grid--three{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.activity-gallery__grid--three .activity-gallery__item:first-child{grid-column:1/-1}
.activity-gallery__grid--three .activity-gallery__item img{width:100%;aspect-ratio:4/3;max-height:440px;object-fit:cover}
.activity-gallery__grid--three .activity-gallery__item:first-child img{aspect-ratio:16/9;max-height:520px}
@media(max-width:620px){.activity-gallery__grid--three{grid-template-columns:1fr}.activity-gallery__grid--three .activity-gallery__item:first-child{grid-column:auto}}
@media(max-width:620px){.activity-route-map{padding:18px}.activity-route-map__canvas{min-height:360px}.activity-route-map__stops{grid-template-columns:1fr;justify-items:start;min-height:360px;padding:22px 20px}.activity-route-map__stops li{grid-template-columns:20px 1fr;justify-items:start;text-align:left}.activity-route-map__canvas svg{transform:rotate(90deg) scale(1.65)}}

/* Step 7: commerce list generated from central data. */
.commerce-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.commerce-page-grid .dining-place-card__body{padding:24px}
.commerce-page-grid .dining-place-card h3{font-size:clamp(24px,2.2vw,31px)}
.dining-place-card{position:relative}
.dining-place-card__title-link{color:inherit;text-decoration:none}
.dining-place-card__title-link::after{position:absolute;inset:0;content:"";z-index:1}
.dining-place-card__actions{position:relative;z-index:2}
.dining-place-card:has(.dining-place-card__title-link){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dining-place-card:has(.dining-place-card__title-link):hover{transform:translateY(-2px);border-color:#b9c5b9;box-shadow:0 16px 34px rgba(46,75,63,.12)}
.dining-place-card:has(.dining-place-card__title-link):focus-within{outline:3px solid rgba(196,106,74,.45);outline-offset:3px}
@media(max-width:980px){.commerce-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.commerce-page-grid{grid-template-columns:1fr}.commerce-page-grid .dining-place-card__body{padding:21px}}
