/* Scoped additions to the approved Phase 3 rich/sparse composition. */
.v2-real .v2-logo {
  width: fit-content;
  max-width: 220px;
  height: 106px;
  background: white;
  border: 1px solid #dce5df;
  border-radius: 14px;
  padding: 6px;
}
.v2-real .v2-logo img {
  width: auto;
  max-width: 208px;
  height: 100%;
  object-fit: contain;
}
.v2-real .v2-hero-photo {
  aspect-ratio: 16/10;
  max-height: 380px;
  min-height: 0;
  align-self: center;
  object-fit: cover;
}
.v2-real .v2-identity {
  overflow-wrap: anywhere;
}
.v2-real .v2-page-nav a {
  flex: 0 0 auto;
}
.v2-real .v2-actions .button,
.v2-real .v2-social .button {
  font-size: 13px;
  text-align: center;
  min-height: 44px;
  padding: 10px 12px;
  white-space: normal;
}
.v2-real .v2-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.v2-real .v2-photo {
  text-decoration: none;
}
.v2-real .v2-contact {
  overflow-wrap: anywhere;
}
.v2-real .v2-context {
  display: flex;
  align-items: end;
  gap: 18px;
  max-width: none;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 20px 0;
  flex-wrap: wrap;
}
.v2-real .v2-context label {
  flex: 1;
  min-width: 180px;
  font-size: 12px;
  margin: 0;
}
.v2-real .v2-context select {
  margin-top: 8px;
}
.v2-real .v2-context > a {
  font-size: 12px;
}
.v2-real .v2-meal-top {
  align-items: start;
  flex-wrap: wrap;
}
.v2-real .v2-meal-top strong {
  white-space: normal;
}
.v2-real .v2-meal,
.v2-real .v2-plan,
.v2-real .v2-offer {
  overflow-wrap: anywhere;
}
.v2-real .v2-competitors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.v2-real .v2-competitor {
  border: 1px solid #dce5df;
  border-radius: 14px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  display: block;
  padding-bottom: 0;
}
.v2-real .v2-competitor img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v2-real .v2-competitor img.is-logo {
  object-fit: contain;
  padding: 16px;
  background: #f6f5ef;
}
.v2-real .v2-competitor-placeholder {
  height: 100%;
  background: #f6f5ef;
  display: grid;
  place-items: center;
  color: #62746b;
  letter-spacing: 0.15em;
}
.v2-real .v2-competitor h3,
.v2-real .v2-competitor p,
.v2-real .v2-competitor small {
  margin: 0 0 10px;
  display: block;
}
.v2-real .v2-competitor p {
  font-size: 12px;
}
.v2-real .v2-competitor small {
  font-size: 11px;
  color: #62746b;
}
.v2-real .v2-rating {
  font-size: 13px;
  color: #52715f;
  margin-top: 16px;
}
.v2-real .v2-reco-media {aspect-ratio:16/9;max-height:200px;overflow:hidden;background:#f6f5ef}
.v2-real .v2-reco-copy {padding:16px}
.v2-real .v2-reco-copy h3 {font-size:17px;line-height:1.3}
.v2-real .v2-reco-copy .v2-tags {margin-top:12px}
.v2-real .v2-reco-copy .v2-tags span {font-size:10px;font-weight:600;padding:4px 8px;background:#f3f6ee}
.v2-real .v2-competitor:hover {border-color:#759b85;background:#f7faf6}
.v2-real .v2-competitor:focus-visible {outline:3px solid #759b85;outline-offset:4px}
.v2-real #v2-related {margin-top:28px}
.v2-real .v2-rating {display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v2-native-stars {display:inline-flex;gap:2px;color:#a7aaa1;font-size:20px;line-height:1}
.v2-native-star {position:relative;display:inline-block;width:1em}
.v2-native-star>span {position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#b98718}
.v2-review-stars {border:0;padding:0;margin:12px 0 24px}
.v2-review-stars legend {font-size:14px;font-weight:700;margin-bottom:8px}
.v2-star-options {display:flex;gap:5px;max-width:270px}
.v2-star-choice {position:relative;display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:8px;margin:0!important;cursor:pointer}
.v2-star-choice input {position:absolute;width:1px!important;height:1px;opacity:.001;padding:0;margin:0}
.v2-star-choice>span {font-size:34px;line-height:1;color:#b7beb6}
.v2-star-choice:has(input:checked)>span,.v2-star-choice:has(~ .v2-star-choice input:checked)>span {color:#b98718}
.v2-star-options:has(.v2-star-choice:hover) .v2-star-choice>span {color:#b7beb6}
.v2-star-options .v2-star-choice:hover>span,.v2-star-options .v2-star-choice:has(~ .v2-star-choice:hover)>span {color:#b98718}
.v2-star-choice:focus-within {outline:3px solid #087f68;outline-offset:2px}
.v2-review-stars output {display:block;font-size:13px;margin-top:10px;color:#52715f}
@media (min-width:761px) and (max-width:1024px) {.v2-real .v2-competitors {grid-template-columns:repeat(2,minmax(0,1fr))}}
.v2-real .v2-review {
  padding: 20px 0;
  border-bottom: 1px solid #dce5df;
}
.v2-real .v2-review p {
  line-height: 1.8;
}
.v2-real .v2-review blockquote {
  border-left: 3px solid #b9cec1;
  padding-left: 18px;
  margin: 16px 0;
}
.v2-real .v2-image-dialog {
  max-width: min(900px, 95vw);
}
@media (max-width: 760px) {
  .v2-real .v2-logo {width:fit-content;max-width:190px;height:90px}.v2-real .v2-logo img{max-width:178px}
  .v2-real .v2-competitor {display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start}
  .v2-real .v2-reco-media {aspect-ratio:16/9;width:110px;margin-top:16px;border-radius:8px}
  .v2-real .v2-reco-copy {padding:14px 12px}
  .v2-real .v2-reco-copy h3 {font-size:16px}
  .v2-real .v2-hero-photo {
    height: 230px;
    min-height: 0;
    aspect-ratio: 16/10;
  }
  .v2-real .v2-context {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .v2-real .v2-context label {
    min-width: 0;
  }
  .v2-real .v2-contact .v2-actions {
    grid-template-columns: 1fr;
  }
  .v2-real .v2-contact .v2-actions .button {
    grid-column: 1/-1;
  }
  .v2-real .v2-competitors {
    grid-template-columns: 1fr;
  }
  .v2-real .v2-contact hr ~ * {
    display: block;
  }
  .v2-real .v2-listing-grid > aside {
    width: 100%;
  }
  .v2-real .v2-gallery {
    gap: 10px;
  }
  .v2-real .v2-photo img {
    height: 140px;
  }
  .v2-real .v2-preview-bar a {
    white-space: normal;
  }
  .v2-real .v2-contact form {
    max-width: 100%;
    padding: 16px;
  }
}
.v2-real {
  overflow-wrap: anywhere;
}
.v2-real .v2-competitor {
  overflow-wrap: anywhere;
}
/* Bounded sidebar: reviews remain inside the grid; recommendations follow. */
.v2-real .v2-listing-grid{align-items:start}.v2-real .v2-contact{position:sticky;top:24px;align-self:start}.v2-real .v2-competitors{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-real .v2-inline-gallery{min-width:0}.v2-real .v2-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.v2-real .v2-gallery-track:has(>.v2-photo:only-child){grid-auto-columns:100%}.v2-real .v2-gallery-track:has(>.v2-photo:nth-child(2):last-child){grid-auto-columns:calc((100% - 16px)/2)}.v2-real .v2-gallery-track .v2-photo{margin:0;min-width:0;scroll-snap-align:start}.v2-real .v2-gallery-track .v2-photo img{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px}.v2-real .v2-gallery-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.v2-real .v2-gallery-controls button{padding:9px 14px}.v2-real .v2-gallery-controls button:disabled{opacity:.4;cursor:default}.v2-real .v2-gallery-controls span{font-size:12px;color:#62746b}.v2-real [data-review-fields][hidden]{display:none}.v2-real [data-review-expand]{margin-bottom:14px}.v2-real #v2-related,.v2-real #v2-write-review,.v2-real #v2-reviews,.v2-real #v2-faq{max-width:1120px;margin:28px auto}.v2-real .v2-reco-media .company-fallback{height:100%;font-size:14px}.v2-real{padding-bottom:20px}@media(max-width:1024px){.v2-real .v2-gallery-track{grid-auto-columns:calc((100% - 16px)/2)}}@media(max-width:760px){.v2-real .v2-contact{position:static}.v2-real .v2-competitors{grid-template-columns:1fr}.v2-real .v2-gallery-track,.v2-real .v2-gallery-track:has(>.v2-photo:nth-child(2):last-child){grid-auto-columns:100%}.v2-real .v2-gallery-track .v2-photo img{height:230px}}
/* Grid contains company content, FAQ and reviews; recommendations are outside. */
.v2-real .v2-contact h2{font-size:22px;line-height:1.3}.v2-real .v2-listing-grid>div{min-width:0}.v2-real .v2-listing-grid #v2-write-review,.v2-real .v2-listing-grid #v2-reviews,.v2-real .v2-listing-grid #v2-faq{margin:24px 0}.v2-real .v2-review-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v2-real #v2-write-review form{padding:18px;max-width:none}.v2-real #v2-write-review label{margin:0 0 12px}.v2-real #v2-write-review textarea{min-height:90px;height:100px;resize:vertical}.v2-real #v2-write-review input:not([type=radio]):not([type=hidden]){min-height:44px;padding:9px 12px}.v2-real #v2-write-review button{padding:10px 14px}.v2-real .v2-review-stars{margin:8px 0 12px}.v2-real .v2-star-choice>span{font-size:23px}.v2-real .v2-star-options{gap:0}.v2-real #v2-related .business-card{padding:0;margin:0}.v2-real #v2-related .business-card h3{font-size:18px;font-weight:800;margin:0 0 5px}.v2-real #v2-related .business-card .base-label{margin:0 0 8px;font-size:10px}.v2-real #v2-related .business-card .card-summary{font-size:12px;line-height:1.45;margin:0 0 11px}.v2-real #v2-related .business-card .tag-row span{font-size:10px}.v2-real #v2-related .business-card a{border-bottom:0}.v2-real .mpz-google-rating{margin:10px 0}
@media(max-width:760px){.v2-real .v2-review-contact-fields{grid-template-columns:1fr;gap:0}}
.v2-closed{padding:16px 20px;margin:20px 0;border:1px solid #9f775c;border-radius:12px;background:#fff3e5;color:#654128;font-weight:700}
