.clm-establishment{padding-block:28px 48px}
.clm-establishment-head h1{font-size:clamp(30px,3.5vw,43px);margin:10px 0 16px;max-width:950px}
.clm-establishment-location{display:flex;gap:8px;align-items:start;font-size:14px;color:#665b4f;margin:0 0 25px;line-height:1.6}
.clm-establishment-location .clm-icon{width:17px;height:17px;margin-top:3px}
.clm-detail-nav{display:flex;gap:12px 26px;flex-wrap:wrap;border-block:1px solid var(--clm-line);margin:0 0 28px;padding:4px 0}
.clm-detail-nav a{padding:12px 0;color:#574633;text-decoration:none;font-size:15px;min-height:44px}
.clm-detail-nav a:hover{text-decoration:underline}
.clm-establishment-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);gap:30px;align-items:start}
.clm-establishment-main,.clm-establishment-sidebar{min-width:0}
.clm-detail-panel{padding:28px;background:#fff;border:1px solid var(--clm-line);border-radius:10px;margin-bottom:25px;scroll-margin-top:24px}
.clm-detail-panel h2{font-size:25px;line-height:1.3;margin:0 0 22px}
.clm-photo-gallery{margin-bottom:25px;min-width:0}
.clm-photo-stage{position:relative;background:#ece5d9;border-radius:10px;overflow:hidden}
.clm-photo-main{display:block;height:440px;position:relative}
.clm-photo-main>img{display:block;width:100%;height:100%;object-fit:contain}
.clm-photo-enlarge{position:absolute;right:14px;bottom:14px;background:#fff;color:#493b2b;font-size:13px;border-radius:5px;padding:10px 13px}
.clm-gallery-controls{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:space-between;align-items:center;padding:14px}
.clm-gallery-controls[hidden]{display:none}
.clm-gallery-controls button{pointer-events:auto;border:1px solid #c9c0b2;border-radius:50%;width:43px;height:43px;background:#fff;color:#493b2b;padding:0;font-size:23px;box-shadow:0 2px 8px #0002}
.clm-photo-caption{display:flex;justify-content:space-between;font-size:12px;color:#6a5e4f;padding:10px 0}
.clm-photo-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 9px}
.clm-photo-thumbs a{flex:0 0 96px;height:72px;border-radius:5px;overflow:hidden;border:3px solid transparent;opacity:.7}
.clm-photo-thumbs a[aria-current]{border-color:var(--clm-earth);opacity:1}
.clm-photo-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.clm-photo-dialog{width:min(1050px,95vw);max-width:95vw;max-height:94vh;border:0;border-radius:10px;background:#211f1b;color:#fff;padding:56px 16px 16px;overflow:auto}
.clm-photo-dialog::backdrop{background:#000c}
.clm-photo-dialog>img{display:block;width:100%;height:min(68vh,700px);object-fit:contain}
.clm-photo-close{position:absolute;right:15px;top:10px;background:transparent;color:#fff;border:1px solid #ffffff70;min-height:38px}
.clm-lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:12px;font-size:14px}
.clm-lightbox-controls button{background:transparent;color:#fff;border:1px solid #ffffff70;width:46px;height:44px;padding:0;font-size:24px}
.clm-overview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;margin:0}
.clm-overview dl>div{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:10px;align-items:center}
.clm-overview-icon{grid-row:span 2;background:#eee1ca;border-radius:50%;height:36px;display:flex;align-items:center;justify-content:center;color:#624a33}
.clm-overview dt{font-size:12px;color:#756958;line-height:1.5}
.clm-overview dd{margin:0;font-size:15px;font-weight:500}
.clm-establishment-description{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.clm-establishment-description p{margin:0 0 16px}.clm-establishment-description p:last-child{margin-bottom:0}
.clm-service-group+ .clm-service-group{border-top:1px solid var(--clm-line);padding-top:22px;margin-top:24px}
.clm-service-group h3{font-size:20px;margin:0 0 17px;color:#785846}
.clm-service-group dl{margin:0}
.clm-service-group dl>div{margin-bottom:20px}
.clm-service-group dl>div:last-child{margin-bottom:0}
.clm-service-group dt{font-size:14px;font-weight:500;margin-bottom:6px;color:#554838}
.clm-service-group dd{margin:0;font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.clm-service-checks{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;padding:0;list-style:none}
.clm-service-checks li{display:flex;align-items:baseline;gap:7px}
.clm-service-checks .clm-icon{align-self:start;margin-top:4px;width:17px;height:17px;color:var(--clm-earth)}
.clm-detail-contact{padding:25px;background:#f0e7d6}
.clm-detail-contact h2{font-size:24px;margin-bottom:18px}
.clm-detail-address{font-size:14px;line-height:1.7;display:flex;gap:9px;margin:0 0 20px}
.clm-detail-address>.clm-icon{width:17px;margin-top:3px}
.clm-detail-contact .clm-contact-actions{gap:14px}
.clm-detail-contact .clm-button{font-size:19px;gap:10px}
.clm-detail-contact .clm-outline{font-size:14px;background:#fff}
.clm-detail-email{display:flex;align-items:start;gap:9px;overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.7;text-decoration:none}
.clm-detail-email .clm-icon{width:17px;flex-shrink:0;margin-top:3px}
.clm-detail-email span{min-width:0}
.clm-detail-directions{font-size:14px;display:block;padding:8px 0}
.clm-establishment-sidebar .clm-directory-interest{background:#fff;border:1px solid var(--clm-line);padding:22px}
.clm-detail-map>p{font-size:14px;color:#6e6254}
.clm-detail-map .clm-map-section{margin:18px 0 0}
.clm-detail-map .clm-map{height:380px}
@media(max-width:1050px){.clm-establishment-layout{grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:24px}.clm-detail-panel{padding:22px}.clm-photo-main{height:380px}.clm-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.clm-establishment-layout{grid-template-columns:1fr}.clm-establishment-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.clm-establishment-sidebar .clm-interest-list{display:flex}.clm-photo-main{height:400px}}
@media(max-width:540px){.clm-establishment{padding-top:22px}.clm-establishment-head h1{font-size:29px}.clm-detail-nav{gap:0 19px}.clm-detail-nav a{font-size:14px}.clm-photo-main{height:300px}.clm-photo-thumbs a{flex-basis:76px;height:60px}.clm-detail-panel{padding:21px}.clm-detail-panel h2{font-size:23px}.clm-overview dl{gap:20px 12px}.clm-overview dl>div{grid-template-columns:30px minmax(0,1fr);column-gap:8px}.clm-overview-icon{height:30px}.clm-overview dd{font-size:14px}.clm-establishment-sidebar{display:block}.clm-detail-map .clm-map{height:330px}.clm-service-checks{display:block}.clm-service-checks li{margin-bottom:9px}}
