/* Location uses the same warm palette as the institutional pages. */
.location-section{padding:80px 5%;border-top:1px solid var(--line);background:#eeece4}
.location-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:1296px;margin:0 auto 38px}
.location-heading .eyebrow{margin-bottom:18px}.location-heading h2{font-size:clamp(38px,4.2vw,62px)}
.location-heading>p{font-size:14px;color:var(--muted);line-height:1.8}
.location-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);max-width:1296px;margin:auto;border:1px solid #d8d8cb;background:var(--paper)}
.location-details{padding:38px 36px;min-width:0}.location-label{font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--accent);margin-bottom:14px}
.location-details address{font-style:normal;font-size:14px;line-height:1.9}.location-details address strong{font-size:17px;font-weight:600}
.location-details>.text-link{font-size:12px;margin-top:14px;gap:20px}.location-hours{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}
.location-hours h3{font:600 14px var(--sans);letter-spacing:0;margin-bottom:15px}.opening-hours{margin:0;font-size:12px}
.opening-hours>div{display:flex;justify-content:space-between;gap:15px;padding:6px 0}.opening-hours dt{color:var(--muted)}.opening-hours dd{margin:0;text-align:right;white-space:nowrap}.opening-hours .is-closed{color:var(--muted)}
.location-holiday{font-size:10px;color:var(--muted);margin-top:17px;line-height:1.6}.location-map{display:flex;flex-direction:column;min-width:0;background:#deded2;border-left:1px solid var(--line)}
.map-viewport{position:relative;flex:1;min-height:460px;isolation:isolate}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#68775f;pointer-events:none;background:radial-gradient(ellipse at center,#eff0e4,#deded2)}
.map-placeholder svg{width:45px;height:45px;margin-bottom:18px}.map-placeholder>span{font:500 30px var(--serif);color:#3a4833}.map-placeholder p{font-size:12px;margin-top:12px;line-height:1.8}
.location-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;z-index:1;background:transparent}
.map-caption{display:flex;justify-content:space-between;gap:20px;padding:17px 22px;background:#253020;color:#e8ecdf;font-size:10px;line-height:1.6}.map-caption>span:last-child{white-space:nowrap}.map-caption:hover{background:#34432d}
.footer-hours{margin-top:18px!important;line-height:1.8!important}.footer-location-link{margin-top:12px;text-decoration:underline;text-underline-offset:4px}
/* Keep the italic accent only in the opening headline. */
h2 em,.shop-intro h1 em{font-style:normal}
@media(max-width:900px){.location-details{padding:30px 24px}.location-layout{grid-template-columns:minmax(290px,.85fr) minmax(0,1fr)}.location-heading>p{font-size:12px}}
@media(max-width:700px){.location-section{padding:52px 6%}.location-heading{display:block;margin-bottom:28px}.location-heading>p{margin-top:20px;font-size:13px}.location-heading h2{font-size:44px}.location-layout{grid-template-columns:minmax(0,1fr)}.location-details{padding:28px 22px}.location-map{border-left:0;border-top:1px solid var(--line)}.map-viewport{min-height:340px;height:340px}.map-caption{padding:15px;flex-wrap:wrap;gap:8px;font-size:10px}.opening-hours{font-size:11px}.location-details address strong{font-size:16px}}
