/* Public-site presentation. Existing Contact phone links keep their behavior. */
.vvc-home-logo-card.vvc-home-logo-link { display:block; color:inherit; text-decoration:none; cursor:pointer; }
.vvc-home-logo-card.vvc-home-logo-link:focus-visible { outline:3px solid #bd1232; outline-offset:6px; }
.vvc-video-coming-soon { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 44px; color: #52525b; font-size: 14px; font-weight: 500; }
.vvc-coming-soon-badge { border: 1px solid #e4e4e7; border-radius: 999px; background: #fafafa; padding: 3px 8px; color: #52525b; font-size: 11px; font-weight: 600; line-height: 1.4; }
.vvc-header .wp-block-navigation a.vvc-nav-quote,
.wp-block-navigation__responsive-container a.vvc-nav-quote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid #bd1232 !important;
  border-radius: 12px;
  background: #bd1232 !important;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.3;
}
.vvc-header .wp-block-navigation a.vvc-nav-quote:hover,
.wp-block-navigation__responsive-container a.vvc-nav-quote:hover {
  border-color: #970b26 !important;
  background: #970b26 !important;
}
.vvc-nav-quote:focus-visible,
.vvc-store-cards a:focus-visible,
.vvc-instagram-panel > a:focus-visible,
.vvc-instagram-grid > a:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 4px;
}
.vvc-store-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  scroll-margin-top: 100px;
}
.vvc-store-cards > .vvc-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 26px;
  border: 1px solid #e4e4e7;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 18px rgb(24 24 27 / 3%);
}
.vvc-store-cards > .vvc-card > h2 {
  margin: 0;
  color: #18181b;
  font-size: 26px;
  line-height: 1.2;
}
.vvc-store-cards > .vvc-card > p {
  margin: 0;
  color: #52525b;
  font-size: 14px;
  line-height: 1.6;
}
.vvc-store-cards .vvc-location-hours {
  margin: 0;
  padding: 4px 0;
  border-top: 1px solid #f0f0f2;
  border-bottom: 1px solid #f0f0f2;
}
.vvc-store-cards .vvc-location-hours > p {
  display: grid;
  grid-template-columns: minmax(120px, .85fr) minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 9px 0;
  color: #3f3f46;
  font-size: 14px;
  line-height: 1.5;
}
.vvc-store-cards .vvc-location-hours strong { color: #18181b; font-weight: 600; }
.vvc-hours-closed { color: #71717a; }
.vvc-store-cards > .vvc-card > p:last-child { margin-top: auto; padding-top: 2px; }
.vvc-store-cards .vvc-service-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  color: #18181b;
  background: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.vvc-store-cards .vvc-service-link:hover { background: #fafafa; border-color: #a1a1aa; }
.vvc-about-intro { max-width: 820px; margin-bottom: 36px; }
.vvc-about-intro > h2 { margin: 12px 0 20px; font-size: clamp(30px, 4vw, 46px); line-height: 1.12; }
.vvc-about-intro > p:not(.vvc-eyebrow) { color: #52525b; font-size: 17px; line-height: 1.8; }
.vvc-instagram-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 1140px;
  margin: 20px auto 64px;
  padding: 30px;
  border: 1px solid #e4e4e7;
  border-radius: 20px;
  background: #fafafa;
}
.vvc-instagram-panel h2 { margin: 8px 0 12px; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; }
.vvc-instagram-panel p { max-width: 650px; margin: 0; color: #52525b; line-height: 1.7; }
.vvc-instagram-panel .vvc-eyebrow { color: #bd1232; }
.vvc-instagram-panel > a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 48px;
  padding: 11px 18px;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  background: #fff;
  color: #18181b;
  text-decoration: none;
  font-weight: 600;
}
.vvc-instagram-panel > a:hover { border-color: #a1a1aa; background: #f4f4f5; }
@media (max-width: 700px) {
  .vvc-store-cards { grid-template-columns: 1fr; gap: 16px; }
  .vvc-store-cards > .vvc-card { padding: 20px; gap: 12px; }
  .vvc-store-cards .vvc-location-hours > p { grid-template-columns: 120px minmax(0, 1fr); gap: 8px; font-size: 13px; }
  .vvc-instagram-panel { align-items: flex-start; flex-direction: column; gap: 20px; margin: 12px 20px 40px; padding: 24px; }
  .vvc-about-intro > p:not(.vvc-eyebrow) { font-size: 16px; }
}

/* Keep the quote action centered when the mobile theme expands navigation. */
body .vvc-header .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content.vvc-nav-quote {
  justify-content: center;
  text-align: center;
}

/* Keep the label centered too when navigation labels have theme text rules. */
body .vvc-header .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content.vvc-nav-quote > .wp-block-navigation-item__label { width:100%; text-align:center; }
.vvc-instagram-panel--highlights { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.vvc-instagram-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:100%; }
.vvc-instagram-panel .vvc-instagram-grid>a { display:grid; align-items:start; gap:10px; min-width:0; padding:0; border:0; border-radius:14px; background:transparent; color:#18181b; text-decoration:none; font-size:14px; }
.vvc-instagram-cover { display:block; position:relative; width:100%; aspect-ratio:4/5; overflow:hidden; border-radius:14px; background:#f0ece8; }
.vvc-instagram-cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.vvc-instagram-grid>a:hover img { transform:scale(1.025); }
.vvc-instagram-reel-icon { position:absolute; display:grid; place-items:center; right:12px; top:12px; width:32px; height:32px; border-radius:50%; color:white; background:rgb(0 0 0 / 60%); font-size:12px; }
.vvc-instagram-caption { line-height:1.5; font-weight:600; }
@media(max-width:700px) { .vvc-instagram-panel--highlights { grid-template-columns:minmax(0,1fr); } .vvc-instagram-grid { gap:10px; } .vvc-instagram-panel .vvc-instagram-grid>a { font-size:12px; } .vvc-instagram-reel-icon { width:26px; height:26px; right:8px; top:8px; } }
@media(prefers-reduced-motion:reduce) { .vvc-instagram-cover img { transition:none; } .vvc-instagram-grid>a:hover img { transform:none; } }

/* Native feed owns its thumbnails/controls; outer styling stays in this panel. */
.vvc-instagram-panel--feed { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.vvc-instagram-feed { grid-column:1/-1; width:100%; min-width:0; }
@media(max-width:700px) { .vvc-instagram-panel--feed { grid-template-columns:minmax(0,1fr); } }
