.gusl-detail-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 34px 20px 60px;
  color: #18312b;
}
.gusl-detail {
  font-size: 17px;
  line-height: 1.6;
}
.gusl-back {
  display: inline-block;
  margin-bottom: 18px;
  color: #245c49;
  font-weight: 700;
  text-decoration: none;
}
.gusl-hero {
  margin: 0 0 24px;
}
.gusl-hero img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 18px;
}
.gusl-hero figcaption {
  margin-top: 6px;
  color: #718078;
  font-size: 13px;
  text-align: right;
}
.gusl-hero figcaption a {
  color: inherit;
}
.gusl-detail-head {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0 0 16px;
}
.gusl-logo {
  width: 112px;
  height: 112px;
  object-fit: contain;
  border: 1px solid #e1e6df;
  border-radius: 14px;
  background: #fff;
  padding: 10px;
}
.gusl-kicker {
  margin: 0;
  color: #697a72;
  font-size: 15px;
  font-weight: 700;
}
.gusl-detail h1,
.gusl-local-name {
  margin: 2px 0 4px !important;
  color: #18312b;
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.08;
}
.gusl-cuisines {
  margin: 0;
  color: #9a4c24;
  font-weight: 700;
}
.gusl-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0 26px;
}
.gusl-detail-tags span {
  border-radius: 999px;
  background: #e8eee9;
  padding: 6px 11px;
  color: #315b4c;
  font-size: 13px;
  font-weight: 700;
}
.gusl-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 34px;
}
.gusl-lead {
  margin: 0 0 24px;
  font-size: 20px;
  line-height: 1.6;
}
.gusl-info {
  padding: 19px 0;
  border-top: 1px solid #e2e7e1;
}
.gusl-info h2,
.gusl-contact-box h2 {
  margin: 0 0 8px !important;
  font-size: 21px;
}
.gusl-info p,
.gusl-contact-box p {
  margin: 5px 0 !important;
}
.gusl-price {
  color: #a64f20;
  font-weight: 800;
}
.gusl-contact-box {
  align-self: start;
  padding: 22px;
  border: 1px solid #dfe4dc;
  border-radius: 16px;
  background: #f7f8f4;
}
.gusl-contact-box a {
  color: #245c49;
  font-weight: 700;
}
.gusl-site-button {
  display: inline-block;
  margin-top: 8px;
  border-radius: 9px;
  background: #245c49;
  padding: 10px 15px;
  color: #fff !important;
  text-decoration: none;
}
.gusl-checked {
  padding-top: 10px;
  color: #718078;
  font-size: 13px;
}
@media (max-width: 760px) {
  .gusl-detail-grid {
    grid-template-columns: 1fr;
  }
  .gusl-detail-head {
    align-items: flex-start;
  }
  .gusl-logo {
    width: 82px;
    height: 82px;
  }
  .gusl-hero img {
    border-radius: 12px;
  }
}
.gusl-gallery,
.gusl-events,
.gusl-dishes {
  margin: 30px 0;
}
.gusl-gallery > h2,
.gusl-events > h2,
.gusl-dishes > h2 {
  margin: 0 0 14px !important;
  font-size: 26px;
}
.gusl-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.gusl-gallery figure {
  margin: 0;
}
.gusl-gallery figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 12px;
}
.gusl-gallery figcaption {
  padding: 6px 2px;
  color: #65766e;
  font-size: 13px;
  line-height: 1.4;
}
.gusl-gallery figcaption a {
  color: inherit;
}
.gusl-event-list {
  display: grid;
  gap: 9px;
}
.gusl-event-list article {
  padding: 14px 16px;
  border: 1px solid #dfe4dc;
  border-radius: 12px;
  background: #fff;
}
.gusl-event-list h3 {
  margin: 0 !important;
  font-size: 18px;
}
.gusl-event-list h3 a {
  color: #245c49;
}
.gusl-event-list p {
  margin: 3px 0 0 !important;
  color: #687970;
  font-size: 14px;
}
.gusl-dishes {
  padding-top: 12px;
  border-top: 1px solid #dfe4dc;
}
.gusl-dishes > h3 {
  margin: 22px 0 8px !important;
  font-size: 21px;
}
.gusl-dish-group {
  border-top: 1px solid #e6eae5;
}
.gusl-dish-group article {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid #e6eae5;
}
.gusl-dish-group h4 {
  margin: 0 !important;
  font-size: 17px;
}
.gusl-dish-group p {
  margin: 2px 0 !important;
  color: #53665d;
}
.gusl-dish-group small {
  color: #7a8982;
}
.gusl-dish-group > article > strong {
  white-space: nowrap;
  color: #a64f20;
}
@media (max-width: 760px) {
  .gusl-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .gusl-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.gusl-description,
.gusl-history {
  max-width: 860px;
  margin: 22px 0;
}
.gusl-description h2,
.gusl-history h2 {
  margin: 0 0 10px !important;
  font-size: 26px;
}
.gusl-description p,
.gusl-history p {
  margin: 0 0 12px !important;
  line-height: 1.75;
}
.gusl-history {
  padding-top: 20px;
  border-top: 1px solid #e2e7e1;
}
.gusl-dish-tabs {
  display: flex;
  gap: 0;
  margin: 14px 0 0;
  overflow-x: auto;
  border-bottom: 1px solid #d9e0da;
  scrollbar-width: thin;
}
.gusl-dish-tabs button {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 3px solid transparent;
  background: #245c49;
  padding: 13px 18px;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}
.gusl-dish-tabs button:hover,
.gusl-dish-tabs button:focus-visible {
  background: #1c4c3c;
}
.gusl-dish-tabs button.is-active {
  border-bottom-color: #e6b94c;
  background: #183f33;
}
.gusl-dish-tabs button:focus-visible {
  outline: 3px solid #e6b94c;
  outline-offset: -3px;
}
.gusl-dish-panel {
  padding-top: 8px;
}
.gusl-tabs-ready .gusl-dish-panel {
  display: none;
}
.gusl-tabs-ready .gusl-dish-panel.is-active {
  display: block;
}
.gusl-dish-group h3 {
  margin: 0 !important;
  font-size: 17px;
}
.gusl-report {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 34px;
  padding: 18px 20px;
  border-radius: 14px;
  background: #f1f5f1;
}
.gusl-report p {
  margin: 0 !important;
  font-weight: 700;
}
.gusl-report div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.gusl-report a {
  border: 1px solid #245c49;
  border-radius: 9px;
  padding: 8px 12px;
  color: #245c49;
  font-weight: 800;
  text-decoration: none;
}
.gusl-report a:hover {
  background: #245c49;
  color: #fff;
}
@media (max-width: 640px) {
  .gusl-report {
    align-items: flex-start;
    flex-direction: column;
  }
  .gusl-dish-tabs button {
    padding: 11px 14px;
    font-size: 14px;
  }
}

/* Compact detail layout; theme paragraph styles must not enlarge it. */
.gusl-detail-wrap{padding:20px 16px 36px}
.gusl-detail{font-size:16px;line-height:1.4}
.gusl-detail p{font-size:16px!important;line-height:1.4!important}
.gusl-detail .gusl-lead{font-size:16px!important;line-height:1.4!important;margin:0 0 16px!important}
.gusl-detail h1,.gusl-detail .gusl-local-name{font-size:clamp(28px,4vw,40px)!important;line-height:1.15!important}
.gusl-detail h2{font-size:22px!important;line-height:1.2!important;margin-bottom:6px!important}
.gusl-detail h3,.gusl-detail h4{line-height:1.25!important}
.gusl-detail .gusl-kicker,.gusl-detail .gusl-cuisines{font-size:14px!important;margin:0!important}
.gusl-detail .gusl-back{margin-bottom:12px;font-size:14px}
.gusl-detail .gusl-hero{margin-bottom:16px}
.gusl-detail .gusl-detail-head{gap:14px;margin-bottom:10px}
.gusl-detail .gusl-detail-tags{gap:5px;margin:10px 0 16px}
.gusl-detail .gusl-detail-tags span{padding:4px 9px;line-height:1.3}
.gusl-detail .gusl-detail-grid{gap:20px}
.gusl-detail .gusl-info{padding:10px 0}
.gusl-detail .gusl-info p,.gusl-detail .gusl-contact-box p{margin:4px 0!important}
.gusl-detail .gusl-contact-box{padding:14px}
.gusl-detail .gusl-description,.gusl-detail .gusl-history{margin:20px 0}
.gusl-detail .gusl-description p,.gusl-detail .gusl-history p{margin:0 0 8px!important;line-height:1.4!important}
.gusl-detail .gusl-history{padding-top:16px}
.gusl-detail .gusl-gallery,.gusl-detail .gusl-events,.gusl-detail .gusl-dishes{margin:22px 0}
.gusl-detail .gusl-gallery-grid{gap:10px}
.gusl-detail .gusl-event-list article{padding:10px 12px}
.gusl-detail .gusl-event-list p{font-size:14px!important;margin-top:4px!important}
.gusl-detail .gusl-dish-group article{padding:8px 0;gap:12px}
.gusl-detail .gusl-dish-group h3,.gusl-detail .gusl-dish-group h4{font-size:16px!important}
.gusl-detail .gusl-dish-group p{font-size:14px!important;margin:3px 0!important}
.gusl-detail .gusl-dish-group small,.gusl-detail .gusl-checked{font-size:13px;line-height:1.4}
.gusl-detail .gusl-dish-tabs button{padding:10px 14px;font-size:14px;min-height:44px}
.gusl-detail .gusl-report{margin-top:22px;padding:12px 14px;gap:10px}
.gusl-detail .gusl-report a,.gusl-detail .gusl-site-button{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
@media(max-width:760px){.gusl-detail-wrap{padding:16px 14px 28px}.gusl-detail .gusl-detail-grid{gap:16px}.gusl-detail .gusl-logo{width:72px;height:72px;padding:6px}}

.gusl-detail .gusl-detail-tags{flex-wrap:wrap;max-width:100%;overflow:visible}
.gusl-detail .gusl-detail-tags span{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* All menu groups visible: compact mobile-first list, no tabs. */
.gusl-detail .gusl-menu-group{margin:16px 0 0;padding:0}
.gusl-detail .gusl-menu-group>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;padding:0 0 5px;border-bottom:1px solid #dfe4dc}
.gusl-detail .gusl-menu-group>header h3{margin:0!important;font-size:18px!important;line-height:1.25!important}
.gusl-detail .gusl-menu-group small{color:#718078;font-size:12px;line-height:1.3}
.gusl-detail .gusl-menu-list{list-style:none!important;margin:0!important;padding:0!important}
.gusl-detail .gusl-menu-list>li{list-style:none!important;margin:0!important;padding:6px 0!important;border-bottom:1px solid #edf0eb}
.gusl-detail .gusl-menu-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.gusl-detail .gusl-menu-row h4{min-width:0;overflow-wrap:anywhere;margin:0!important;font-size:15px!important;line-height:1.3!important}
.gusl-detail .gusl-menu-row strong{flex:0 0 auto;max-width:40%;font-size:14px;line-height:1.3;color:#a64f20;text-align:right}
.gusl-detail .gusl-menu-list p{margin:2px 0 0!important;font-size:14px!important;line-height:1.3!important}

/* Menu group headings use the former tab colours. */
.gusl-detail .gusl-menu-group>header{background:#245c49;color:#fff;border:0;border-radius:4px;padding:7px 10px}
.gusl-detail .gusl-menu-group>header h3{color:#fff!important}
.gusl-detail .gusl-menu-group>header small{color:#fff}

/* Kadence adds a second title banner and large outer padding to venue pages. */
body.gusl-venue-page .entry-hero{display:none!important}
body.gusl-venue-page .content-area{margin-top:16px!important;margin-bottom:24px!important}
body.gusl-venue-page .entry-content-wrap{padding:16px!important}
body.gusl-venue-page .entry-content{margin-top:0!important}
body.gusl-venue-page .gusl-detail-wrap{padding-top:0!important}
@media(max-width:760px){body.gusl-venue-page .content-area{margin-top:10px!important}body.gusl-venue-page .entry-content-wrap{padding:12px!important}}

/* Touch-friendly region multiselect; no sideways scrolling. */
.gusl-region-filter>span{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.gusl-region-filter details{border:1px solid #cfd7d0;border-radius:8px;background:#fff;min-width:0}
.gusl-region-filter summary{padding:10px 12px;cursor:pointer;overflow-wrap:anywhere;line-height:1.4}
.gusl-region-filter details>div{padding:4px 12px 10px;max-height:280px;overflow-y:auto}
.gusl-region-filter details label{display:flex;align-items:center;gap:9px;min-height:40px;cursor:pointer;margin:0}
.gusl-region-filter details input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0}
.gusl-region-filter details label span{margin:0;font-size:14px;font-weight:400;overflow-wrap:anywhere}
.gusl-region-filter button{margin-top:8px}

.gusl-amenity-list{list-style:none;padding:0;margin:.3rem 0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.gusl-amenity-list li{margin:0;line-height:1.4;font-size:.95rem;overflow-wrap:anywhere}.gusl-amenities{margin:.8rem 0}

.gusl-photo-open{display:block;cursor:zoom-in}.gusl-photo-open:focus-visible{outline:3px solid #245c49;outline-offset:3px}.gusl-photo-viewing{overflow:hidden}
dialog.gusl-photo-dialog{position:fixed;inset:0;width:96vw;max-width:1400px;max-height:96dvh;padding:46px 12px 12px;border:0;border-radius:10px;background:#17251e;color:#fff;overflow:auto;box-sizing:border-box}dialog.gusl-photo-dialog::backdrop{background:rgba(0,0,0,.85)}.gusl-photo-dialog figure{margin:0;text-align:center}.gusl-photo-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(96dvh - 110px);object-fit:contain;margin:0 auto}.gusl-photo-dialog figcaption{margin:8px 0 0;font-size:14px;line-height:1.4;color:#fff}.gusl-photo-close{position:absolute;top:3px;right:6px;width:44px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:#fff;font-size:32px;line-height:1;cursor:pointer}

.gusl-map-jump{display:inline-flex;align-items:center;gap:5px;margin-left:10px;font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none;color:#385b3d;text-decoration:underline;text-underline-offset:3px}
.gusl-location{scroll-margin-top:110px;margin-top:40px;padding-top:28px;border-top:1px solid #ddd8ce}
.gusl-location-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);border:1px solid #ddd8ce;border-radius:18px;overflow:hidden;background:#f6f1e7}
.gusl-location-map{min-height:340px;background:#e7ece3}
.gusl-location-map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}
.gusl-map-placeholder{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;background:radial-gradient(ellipse at center,#f8faf5,#e1e8da)}
.gusl-map-placeholder>span{display:grid;place-items:center;width:60px;height:60px;background:#385b3d;color:#fff;font-size:38px;border-radius:50%}
.gusl-map-placeholder p{margin:0;font-size:15px}.gusl-map-placeholder small{font-size:12px;color:#687460}
.gusl-map-placeholder button{border:0;cursor:pointer;font:inherit}
.gusl-location-contact{padding:28px;align-self:center}.gusl-location-contact h3{font-size:24px;line-height:1.2;margin:0 0 16px}.gusl-location-contact p{margin:8px 0;overflow-wrap:anywhere}.gusl-location-address{color:#657163}.gusl-location-actions{display:flex;align-items:flex-start;flex-direction:column;gap:14px;margin-top:22px}.gusl-location-website{font-weight:650;color:#385b3d}
.gusl-map-jump:focus-visible,.gusl-location a:focus-visible,.gusl-location button:focus-visible{outline:3px solid #a6532d;outline-offset:4px}
@media(max-width:700px){.gusl-location-grid{grid-template-columns:1fr}.gusl-location-map,.gusl-location-map iframe,.gusl-map-placeholder{min-height:280px}.gusl-location-contact{padding:22px}.gusl-map-jump{margin-left:6px}.gusl-location-contact h3{font-size:22px}}

/* Give location and map access a separate row above the venue name. */
.gusl-detail-head>div{flex:1;min-width:0}
.gusl-detail .gusl-kicker{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:8px;margin:0 0 14px!important}
.gusl-detail .gusl-map-jump{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:0;padding:7px 12px;border:1px solid #d7dfd2;border-radius:999px;background:#f1f5ed;color:#385b3d;font-size:13px;line-height:1.2;text-decoration:none;font-weight:600}
.gusl-detail .gusl-map-jump:hover{background:#e3ebdc;border-color:#a6b79c;color:#29442d}
.gusl-detail .gusl-map-jump>span{font-size:17px;line-height:1}
@media(max-width:700px){.gusl-detail .gusl-kicker{column-gap:12px;margin-bottom:14px!important}.gusl-detail .gusl-map-jump{font-size:12px;padding:7px 11px}}

.gusl-card-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 1rem}.gusl-card-links a{color:#245c49;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
