/* 1.0.8 — location, walking routes and quiet framing. */
.mp2-back-top .mp2-progress{width:28px;height:28px;inset:2px}
.mp2-back-top .mp2-progress-value,.mp2-back-top .mp2-progress-track{stroke:currentColor}
.mp2-back-top .mp2-progress-track{opacity:.2}
@media(min-width:901px){
 .mp107-footer{padding-bottom:0}
 .mp107-footer .mp7-footer-bottom{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr);align-items:center;padding-block:24px}
 .mp107-footer .mp107-footer-legal{flex-direction:row;align-items:center;gap:6px 14px;white-space:nowrap}
 .mp107-footer .mp107-footer-copyright{align-self:center;justify-content:center}
}

/* Keep the photo and its house-rules caption together. */
.mp108-location-figure{width:90%;max-width:600px;min-width:0;margin:0;justify-self:center}
.mp108-location-figure .mp2-location-photo{width:100%;margin:0;aspect-ratio:1.22}
.mp108-location-figure figcaption{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;text-align:center}
.mp108-location-figure figcaption::before,.mp108-location-figure figcaption::after{content:'';width:30px;max-width:8%;height:1px;background:#b49a7370}
.mp108-house-rules{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:38px;color:inherit;font-size:12px;letter-spacing:.01em;text-decoration:none}
.mp108-house-rules:is(:hover:where(html.mp112-hover *),.mp113-pressed){text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--mp2-champagne)}
.mp108-house-rules .mp2-icon{width:16px;height:16px}
.mp108-diagonal{transform:rotate(-45deg)}
.mp2-location-copy>p{max-width:40ch}
.mp2-location-links .mp2-button-light{color:var(--mp2-wine)!important;background:var(--mp2-bg);border-color:var(--mp2-bg)}
.mp2-location-links .mp2-button-light:is(:hover:where(html.mp112-hover *),.mp113-pressed),.mp2-location-links .mp2-button-light:focus-visible{color:var(--mp2-wine)!important;background:#e6d8ca;border-color:#e6d8ca;box-shadow:none}
.mp2-location-links .mp2-button-light:active{color:var(--mp2-wine)!important;background:#dac7b4;border-color:#dac7b4}
.mp2-location-links .mp2-button-light:is(:hover:where(html.mp112-hover *),.mp113-pressed)>.mp108-diagonal{transform:translate(1px,-1px) rotate(-45deg)}

/* Each row pairs a destination with its walking time and opens its own route. */
.mp108-walks{--mp108-route-line:#b49a735c;--mp108-route-hover:#ffffff07;margin-top:52px;margin-bottom:14px}
.mp108-walks-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-bottom:12px}
.mp108-walks-heading h3{font:400 clamp(29px,3vw,36px)/1.2 var(--mp2-serif);letter-spacing:-.025em;margin:0}
.mp108-walks-heading p{font-size:11px;line-height:1.7;margin:0;color:inherit;opacity:.78;text-align:right}
.mp108-route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;list-style:none;margin:0;padding:0}
.mp108-route-list li{min-width:0;border-bottom:1px solid var(--mp108-route-line)}
.mp108-route-list a{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:20px;min-height:100px;padding:22px 8px;text-decoration:none;color:inherit;transition:background .2s,color .2s}
.mp108-route-list a:is(:hover:where(html.mp112-hover *),.mp113-pressed),.mp108-route-list a:focus-visible{background:var(--mp108-route-hover)}
.mp108-route-place{font:400 clamp(21px,2.1vw,28px)/1.2 var(--mp2-serif);letter-spacing:-.015em}
.mp108-route-time{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;font-size:11px}
.mp108-route-time strong{font-size:24px;line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums}
.mp108-route-list .mp2-icon{width:18px;height:18px;opacity:.8;transition:transform .2s,opacity .2s}
.mp108-route-list a:is(:hover:where(html.mp112-hover *),.mp113-pressed) .mp108-diagonal{transform:translate(1px,-1px) rotate(-45deg);opacity:1}
.mp5-page-body .mp108-walks{--mp108-route-hover:#b49a730c;color:var(--mp2-wine)}

/* Fine lines remain inside each guest photograph, following the existing arch. */
.mp5-guest-composition{--mp108-guest-arch:150px}
.mp5-guest-composition .mp2-guest-photo::after{content:'';position:absolute;inset:12px;border:1px solid #ffffffa3;border-radius:0 calc(var(--mp108-guest-arch) - 12px) 0 0;z-index:1;pointer-events:none}
.mp5-guest-detail::after{content:'';position:absolute;inset:8px;border:1px solid #ffffffa3;z-index:1;pointer-events:none}

/* One Google link: beside the heading on desktop, after the widget on mobile. */
.pt-reviews{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px 32px;align-items:end}
.pt-reviews-heading{grid-column:1;grid-row:1;margin-bottom:0}
.pt-reviews-widget{grid-column:1/-1;grid-row:2}
.mp108-reviews-link{grid-column:2;grid-row:1;align-self:end;margin-bottom:3px;white-space:nowrap;color:var(--mp2-wine)!important}
@media(max-width:1100px){.mp5-guest-composition{--mp108-guest-arch:100px}}
@media(max-width:900px){
 .mp108-location-figure{width:100%;max-width:660px}
 .mp108-walks-heading{align-items:flex-start;flex-direction:column;gap:8px}
 .mp108-walks-heading p{text-align:left}
 .mp108-route-list{gap:0 28px}
 .pt-reviews{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .pt-reviews-heading{order:1;margin-bottom:28px}
 .pt-reviews-widget{order:2}
 .mp108-reviews-link{order:3;align-self:center;margin:24px 0 0;font-size:12px}
}
@media(max-width:700px){
 .mp2-hero-media picture{transform:scale(1.055);transform-origin:54% 100%}
 .mp2-hero-media img{object-position:calc(var(--mp2-hero-mobile-x,64%) + 10%) 100%}
 .mp2-location>.mp2-container{width:calc(100% - (var(--mp2-gutter) + 8px)*2)}
 .mp2-location-layout{gap:32px}
 .mp108-location-figure .mp2-location-photo{aspect-ratio:1.12}
 .mp108-location-figure figcaption{gap:10px;margin-top:14px}
 .mp108-house-rules{font-size:11px;gap:8px}
 .mp108-walks{margin-top:38px}
 .mp108-walks-heading{margin-bottom:12px}
 .mp108-route-list{grid-template-columns:minmax(0,1fr);gap:0}
 .mp108-route-list a{min-height:82px;gap:16px;padding:18px 0}
 .mp108-route-place{font-size:23px}
 .mp108-route-time strong{font-size:23px}
 .mp5-guest-composition{--mp108-guest-arch:110px}
}
@media(prefers-reduced-motion:reduce){.mp108-route-list a,.mp108-route-list .mp2-icon{transition:none}}

/* 1.1.4: the reviews link precedes its decorative arch on wide layouts. */
@media(min-width:901px){
 .pt-reviews{grid-template-columns:minmax(0,1fr) auto 70px}
 .pt-reviews-heading{padding-right:0}
 .pt-reviews-heading::after{display:none}
 .pt-reviews::after{content:'';grid-column:3;grid-row:1;align-self:start;width:70px;height:106px;border:1px solid var(--mp2-line);border-radius:40px 40px 0 0;pointer-events:none}
}
