/* Design iteration: full-width hero, 60/40 desktop body, unchanged palette/media. */
.section{padding:20px 0}
.section h2{margin-bottom:14px}
.address-line{margin-bottom:15px}
.actions{margin-bottom:22px}
.rating-desktop{display:none}
.rating-mobile{margin:0 0 18px}
.rating-block{background:var(--background);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.rating-values{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin:0 0 6px;line-height:1.25}
.rating-values b{font-size:26px;letter-spacing:-.8px;color:var(--primary)}
.rating-values .out-of{font-size:12px;color:var(--muted)}
.rating-dot{color:var(--muted);margin:0 2px}
.rating-values strong{font-size:14px;font-weight:600}
.rating-links{display:flex;gap:17px;align-items:center;margin:0;font-size:11px}
.rating-links a{text-decoration:none}
.rating-links a:hover{text-decoration:underline}
.hours{max-width:none}
.hours>div{display:flex;align-items:baseline;gap:0;min-height:25px}
.hours dt{display:flex;flex:1;min-width:0;align-items:baseline;gap:9px;padding-right:9px;white-space:nowrap}
.hours dt:after{content:"";flex:1;min-width:12px;border-bottom:1px dotted #76675D80;transform:translateY(-3px)}
.hours dd{flex:none;max-width:58%;text-align:right;white-space:normal}
.hours dd>span{display:block;white-space:nowrap}
.hours dd>span+span:before{content:none}
.features{gap:6px}
.features li{padding:5px 9px;font-size:12px;line-height:1.35}
.feature-source{margin-top:10px;font-size:10px}
.contact-links{display:flex;flex-wrap:wrap;gap:14px}
.socials{display:flex;gap:8px;margin:0}
.social-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:var(--surface)}
.social-icon:hover{background:var(--background)}
.social-icon:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.social-icon svg{width:18px;height:18px}
.location-links{gap:8px;margin-top:10px;align-items:baseline}
.map-credit{font-size:9px;line-height:1.35;text-decoration:none}
@media(min-width:901px){
  .cover>img{aspect-ratio:2.55;object-fit:cover;object-position:center 52%}
  .content{padding:25px 30px 5px}
  .identity h1{font-size:36px;margin-bottom:8px}
  .details-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;border-top:1px solid var(--line);padding-top:22px}
  .details-main,.details-side{min-width:0}
  .details-main>.section:first-child{border-top:0;padding-top:0}
  .details-side>.section:first-child{border-top:0;padding-top:0}
  .rating-mobile{display:none}
  .rating-desktop{display:block;margin-bottom:20px}
  .rating-desktop:empty{display:none}
  .details-side .section{padding:20px 0}
  .details-side .section:last-child{padding-bottom:17px}
  .hours{font-size:13px}
  .map-frame{height:320px}
  .phone{font-size:19px}
  .details-side .contact-links{align-items:center}
  .gallery{gap:8px}
  .gallery.count-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery.count-4 a:first-child{grid-column:1/-1}
  .gallery.count-4 a:first-child img{aspect-ratio:2.2}
  .gallery.count-1{grid-template-columns:minmax(0,300px)}
  .gallery.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sticky{display:none}
  .with-sticky{padding-bottom:0}
}
@media(max-width:900px){
  .with-sticky{padding-bottom:calc(73px + env(safe-area-inset-bottom,0px))}
  .sticky{position:fixed;bottom:0;left:0;right:0;display:flex;gap:8px;background:var(--surface);border-top:1px solid var(--line);padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom,0px));z-index:10}
  .sticky a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px;font-size:12px;font-weight:700;text-decoration:none;border-radius:8px}
  .sticky a:first-child{background:var(--primary);color:var(--surface)}
  .sticky svg{width:17px;height:17px}
}
@media(max-width:600px){
  .section{padding:18px 0}
  .section h2{margin-bottom:13px}
  .hours>div{min-height:24px}
  .hours dt{gap:7px;padding-right:7px}
  .hours dt:after{min-width:9px}
  .hours dd{max-width:55%}
  .rating-block{padding:11px 12px}
  .rating-values b{font-size:24px}
  .rating-values strong{font-size:13px}
  .rating-mobile{margin-bottom:16px}
  .features li{font-size:11.5px;padding:5px 8px}
  .social-icon{width:42px;height:42px}
  .phone{font-size:18px}
  .map-frame{height:240px}
}
@media print{.sticky{display:none}.with-sticky{padding:0}}
