/* Shop Rock Co: logo + document cards only. Does not modify hero gradient. */
.srp-heading-row { display: flex; align-items: center; gap: 18px; min-width: 0; }
.srp-heading-text { min-width: 0; }
.srp-business-logo { width: 84px; height: 84px; flex: 0 0 84px; display: grid; place-items: center; padding: 7px; border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: 0 3px 14px rgba(0,0,0,.12); }
.srp-business-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.srp-document-list { display: grid; gap: 10px; }
.srp-document-card { display: flex; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid #e7e3dc; border-radius: 8px; background: #fff; color: #142f42; text-decoration: none; transition: border-color .15s, background .15s; }
.srp-document-card:hover, .srp-document-card:focus-visible { border-color: #b92c2e; background: #fcfaf7; }
.srp-document-icon { flex: 0 0 44px; display: grid; place-items: center; height: 44px; border-radius: 7px; background: #f9eeee; color: #b92c2e; font-size: 11px; font-weight: 800; letter-spacing: .3px; }
.srp-document-copy { display: grid; gap: 2px; min-width: 0; flex: 1; }
.srp-document-copy strong { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.srp-document-copy small { color: #63717b; font-size: 12px; }
.srp-document-open { color: #b92c2e; font-size: 18px; }
@media (max-width: 700px) {
  .srp-heading-row { gap: 12px; }
  .srp-business-logo { width: 62px; height: 62px; flex-basis: 62px; padding: 5px; }
  .srp-document-card { padding: 11px; }
}


/* Align logo with the entire name/tagline/reviews group. */
.srp-heading-row { align-items: center; gap: 15px; margin-top: 10px; }
.srp-heading-text { display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.srp-heading-text h1 { margin: 0 !important; }
.srp-heading-text p { margin: 0 !important; }
.srp-heading-text .srp-rating-note { margin: 0 !important; }
.srp-hero-copy > .eyebrow { display: block; }
.srp-business-logo { background: rgba(255,255,255,.95); border-radius: 8px; }

/* Separate gallery for menu images (not mixed into business photos). */
.srp-menu-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.srp-menu-item { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid #e7e3dc; border-radius: 8px; background: #f7f4ef; cursor: pointer; text-align: left; }
.srp-menu-item img { display: block; width: 100%; height: 195px; object-fit: contain; background: #f7f4ef; }
.srp-menu-label { display: block; padding: 10px 12px; background: white; color: #142f42; font-weight: 700; font-size: 13px; }
.srp-menu-item:hover, .srp-menu-item:focus-visible { border-color: #b92c2e; }
.srp-menu-gallery + .srp-document-list { margin-top: 12px; }
.srp-menu-lightbox { width: min(900px,94vw); max-height: 95vh; padding: 14px; border: 0; border-radius: 10px; background: white; color: #142f42; }
.srp-menu-lightbox::backdrop { background: rgba(10,20,28,.86); }
.srp-menu-lightbox-top, .srp-menu-lightbox-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.srp-menu-lightbox img { display: block; max-width: 100%; max-height: 76vh; width: auto; height: auto; object-fit: contain; margin: 10px auto; }
.srp-menu-lightbox button { border: 1px solid #ddd; border-radius: 5px; background: white; color: #142f42; padding: 8px 11px; cursor: pointer; }
@media (max-width: 700px) {
  .srp-heading-row { gap: 10px; }
  .srp-menu-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .srp-menu-item img { height: 150px; }
}

/* v0.18: clean, single-row menu carousel. Overrides prior two-column gallery. */
.srp-menu-carousel { width: 100%; min-width: 0; }
.srp-menu-gallery { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 12px; margin: 10px 0 0; padding: 0 0 4px; scrollbar-width: none; }
.srp-menu-gallery::-webkit-scrollbar { display: none; }
.srp-menu-item { display: block; flex: 0 0 calc((100% - 24px) / 3); min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; scroll-snap-align: start; cursor: zoom-in; }
.srp-menu-item img { width: 100%; height: auto; max-height: 285px; object-fit: contain; object-position: center top; background: transparent; border-radius: 4px; }
.srp-menu-item:hover, .srp-menu-item:focus-visible { border: 0; outline-offset: 3px; }
.srp-menu-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 12px 0 4px; }
.srp-menu-controls button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ddd7ce; border-radius: 50%; background: #fff; color: #142f42; font-size: 23px; cursor: pointer; }
.srp-menu-controls button:disabled { opacity: .3; cursor: default; }
.srp-menu-controls span { font-size: 12px; font-weight: 700; color: #63717b; }
@media (max-width: 700px) { .srp-menu-item { flex-basis: 100%; } .srp-menu-item img { max-height: 450px; } }
