/* Vendor profile pages (inc/vendor_profile.php, Elementor template 1151). Header option B1. Added 2026-10-10. */

.pvp-prof-head, .pvp-prof-tabs, .pvp-prof-body, .pvp-prof-aside {
  --pvp-teal: #0BB7B3; --pvp-teal-dark: #0A7F7C; --pvp-navy: #1A395C; --pvp-ink: #1A1A2E; --pvp-text: #44515c; --pvp-line: #D9E0E0;
  font-family: 'Fira Sans', -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--pvp-ink);
}
.pvp-prof-body [hidden] { display: none !important; }

/* Header: cover + card */
.pvp-prof-head { position: relative; }
.pvp-prof-head__cover { height: 360px; overflow: hidden; background: linear-gradient(135deg, #025C64, #0BB7B3); }
.pvp-prof-head .pvp-prof-head__cover img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; }
.pvp-prof-card {
  position: relative; max-width: 1140px; margin: -130px auto 0; padding: 26px 30px;
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 28px; align-items: center;
  background: #fff; border-radius: 18px; box-shadow: 0 18px 50px rgba(26, 57, 92, .16);
}
.pvp-prof-card.no-logo { grid-template-columns: minmax(0, 1fr); }
.pvp-prof-card__logo { width: 180px; height: 130px; padding: 14px; border: 1px solid #E1E8E8; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; }
.pvp-prof-card__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.pvp-prof-crumbs { margin: 0 0 10px; font-size: 13.5px; color: #6b7780; }
.pvp-prof-crumbs a { color: var(--pvp-teal-dark); text-decoration: none; }
.pvp-prof-crumbs a:hover { text-decoration: underline; }
.pvp-prof-head h1.pvp-prof-card__name { margin: 0 0 6px; font-family: 'Old Standard TT', Georgia, serif; font-weight: 400; font-size: 42px; line-height: 1.12; color: var(--pvp-ink); }
.pvp-prof-card__sub { margin: 0 0 12px; font-size: 16.5px; color: var(--pvp-text); }
.pvp-prof-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.pvp-prof-chips li { margin: 0; padding: 4px 10px; border-radius: 999px; background: #EEF4F4; font-size: 13px; font-weight: 600; color: #0F3B3A; }
.pvp-prof-facts { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0 0 16px; padding: 0; list-style: none; font-size: 15px; color: var(--pvp-text); }
.pvp-prof-facts li { margin: 0; }
.pvp-prof-facts b { color: var(--pvp-ink); }
.pvp-prof-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pvp-prof-social { display: inline-flex; gap: 10px; margin-left: 4px; }
.pvp-soc { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; text-decoration: none; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); transition: transform .15s, box-shadow .15s; }
.pvp-soc:hover, .pvp-soc:focus { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0, 0, 0, .18); color: #fff; }
.pvp-soc--facebook { background: #1877F2; }
.pvp-soc--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.pvp-soc--pinterest { background: #E60023; }
.pvp-soc--linkedin { background: #0A66C2; }

/* Section buttons */
.pvp-prof-tabs { background: #fff; border-bottom: 1px solid #E6EDED; }
.pvp-prof-tabs__inner { max-width: 1200px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.pvp-prof-tabs__inner::-webkit-scrollbar { display: none; }
.pvp-prof-tab { padding: 8px 14px; border-radius: 999px; font-weight: 600; font-size: 14.5px; color: var(--pvp-navy); text-decoration: none; white-space: nowrap; }
.pvp-prof-tab:hover { background: #EEF2F2; color: var(--pvp-navy); }
.pvp-prof-tab.is-active { background: var(--pvp-navy); color: #fff; }
.pvp-prof-tabs__cta { margin-left: auto; min-height: 38px; padding: 0 16px; font-size: 14px; white-space: nowrap; }

/* Body sections */
.pvp-prof-body { padding-bottom: 20px; }
.pvp-prof-sec { margin: 0 0 46px; scroll-margin-top: 140px; }
.pvp-prof-body h2.pvp-prof-h2 { margin: 0 0 6px; font-family: 'Fira Sans Extra Condensed', sans-serif; font-weight: 700; font-size: 28px; line-height: 1.2; color: var(--pvp-ink); }
.pvp-prof-intro { margin: 0 0 18px; font-size: 15.5px; color: var(--pvp-text); }

.pvp-prof-locs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.pvp-prof-loc { border: 1px solid var(--pvp-line); border-radius: 12px; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.pvp-prof-loc:hover { box-shadow: 0 8px 24px rgba(26, 57, 92, .12); transform: translateY(-2px); }
.pvp-prof-loc__cover { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #EEF3F3; }
.pvp-prof-body .pvp-prof-loc__cover img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; }
.pvp-prof-loc__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pvp-prof-body h3.pvp-prof-loc__name { margin: 0; font-family: 'Fira Sans', sans-serif; font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--pvp-ink); }
.pvp-prof-loc__name a { color: inherit; text-decoration: none; }
.pvp-prof-loc__name a:hover { color: var(--pvp-teal-dark); text-decoration: underline; }
.pvp-prof-loc__addr { display: flex; gap: 5px; margin: 0; font-size: 13px; line-height: 1.4; color: #6b7780; }
.pvp-prof-loc__addr svg { flex: 0 0 auto; margin-top: 2px; color: var(--pvp-teal-dark); }
.pvp-prof-loc__m { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pvp-prof-loc__m li { margin: 0; padding: 3px 8px; border-radius: 999px; background: #E2F6F5; color: #0A6B68; font-size: 12.5px; font-weight: 600; }
.pvp-prof-loc__link { margin-top: auto; padding-top: 4px; font-size: 14px; font-weight: 600; color: var(--pvp-teal-dark); text-decoration: none; }
.pvp-prof-loc__link:hover { text-decoration: underline; }

.pvp-prof-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 8px; margin: 0 0 16px; }
.pvp-prof-chips-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.pvp-prof-count { margin-left: 4px; opacity: .7; font-size: 13px; }
.pvp-prof-venue-filter { position: relative; display: inline-flex; align-items: center; margin: 0; color: var(--pvp-navy); }
.pvp-prof-venue-filter__pin { position: absolute; left: 14px; pointer-events: none; color: currentColor; }
.pvp-prof-body .pvp-prof-venue-filter select {
  -webkit-appearance: none; appearance: none; height: 42px; min-width: 220px; max-width: 100%; margin: 0;
  padding: 0 38px 0 36px; border: 2px solid var(--pvp-navy); border-radius: 999px; background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231A395C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center;
  font: 500 14.5px 'Fira Sans', sans-serif; line-height: 38px; color: var(--pvp-navy); cursor: pointer; box-shadow: none;
}
.pvp-prof-body .pvp-prof-venue-filter select:hover { background-color: #EEF2F2; }
.pvp-prof-body .pvp-prof-venue-filter select:focus-visible { outline: 3px solid rgba(11, 183, 179, .35); outline-offset: 2px; }
.pvp-prof-venue-filter.is-set { color: #fff; }
.pvp-prof-body .pvp-prof-venue-filter.is-set select {
  background-color: var(--pvp-navy); color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.pvp-prof-body .pvp-prof-venue-filter select option, .pvp-prof-body .pvp-prof-venue-filter select optgroup { color: #1A1A2E; background: #fff; }
.pvp-prof-body .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.pvp-prof-filter-empty { margin: 0 0 16px; color: var(--pvp-text); }
.pvp-prof-body .pvp-linkbtn { padding: 0; border: 0; background: none; color: var(--pvp-teal-dark); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.pvp-prof-serving { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: -4px 0 12px; }
.pvp-prof-serving__label { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b7780; margin-right: 2px; }
.pvp-prof-serving__city { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border: 1.5px solid #9fd9d7; border-radius: 999px; background: #F1FAF9; color: #0A6B68; font-size: 14px; font-weight: 600; text-decoration: none; }
.pvp-prof-serving__city:hover { background: #0BB7B3; border-color: #0BB7B3; color: #1A1A2E; }
.pvp-prof-grid { column-width: 220px; column-gap: 14px; }
.pvp-prof-photo { margin: 0 0 14px; break-inside: avoid; }
.pvp-prof-body .pvp-prof-photo img { display: block; width: 100%; height: auto; border-radius: 10px; }
.pvp-prof-photo figcaption { margin-top: 5px; font-size: 12.5px; font-style: italic; color: #6b7780; }
.pvp-prof-more { text-align: center; }

.pvp-prof-about p { margin: 0 0 12px; font-size: 16px; line-height: 1.7; color: var(--pvp-text); }
.pvp-prof-factbox { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 16px 0 0; padding: 18px; border-radius: 12px; background: #F4F8F8; }
.pvp-prof-factbox div { margin: 0; }
.pvp-prof-factbox dt { margin: 0 0 2px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b7780; }
.pvp-prof-factbox dd { margin: 0; font-size: 15px; color: var(--pvp-ink); }
.pvp-prof-factbox a { color: var(--pvp-teal-dark); }

.pvp-prof-team { display: flex; flex-direction: column; gap: 22px; }
.pvp-prof-member { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 20px; align-items: start; }
.pvp-prof-member.no-photo { grid-template-columns: minmax(0, 1fr); }
.pvp-prof-body .pvp-prof-member img { width: 140px; height: 175px; object-fit: cover; border-radius: 12px; }
.pvp-prof-body .pvp-prof-member h3 { margin: 0; font-family: 'Old Standard TT', Georgia, serif; font-weight: 400; font-size: 24px; color: var(--pvp-ink); }
.pvp-prof-member__pos { margin: 2px 0 8px; font-size: 14px; color: #6b7780; }
.pvp-prof-member__text p { margin: 0 0 10px; font-size: 15px; line-height: 1.65; color: var(--pvp-text); }

.pvp-prof-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.pvp-prof-video { margin: 0; }
.pvp-prof-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #000; }
.pvp-prof-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.pvp-prof-video figcaption { margin-top: 6px; font-size: 14px; color: var(--pvp-text); }

.pvp-prof-faq details { border: 1px solid var(--pvp-line); border-radius: 12px; padding: 0 16px; margin: 0 0 10px; background: #fff; }
.pvp-prof-faq summary { padding: 14px 0; font-weight: 600; cursor: pointer; }
.pvp-prof-faq details[open] summary { border-bottom: 1px solid #EDF1F1; margin-bottom: 10px; }
.pvp-prof-faq p, .pvp-prof-faq li { font-size: 15px; line-height: 1.6; color: var(--pvp-text); }

.pvp-prof-review-form { border: 1px dashed var(--pvp-line); border-radius: 12px; padding: 0 18px; }
.pvp-prof-review-form summary { padding: 14px 0; color: var(--pvp-text); cursor: pointer; }
.pvp-prof-review-form summary::marker { color: var(--pvp-teal-dark); }
.pvp-prof-review-form__inner { padding: 0 0 16px; }
.pvp-prof-reviews { margin: 0 0 16px; }
.pvp-prof-back { margin: 0; }
.pvp-prof-back a { font-weight: 600; color: var(--pvp-teal-dark); text-decoration: none; }
.pvp-prof-back a:hover { text-decoration: underline; }

/* Right column: Request info form (native Elementor form widget) */
.e-con.pvp-prof-aside { position: sticky; top: 80px; align-self: flex-start; }
body.admin-bar .e-con.pvp-prof-aside { top: 112px; }
.pvp-prof-aside .pvp-prof-aside__box { border: 1px solid var(--pvp-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(26, 57, 92, .08); background: #fff; }
.pvp-prof-aside #request-info { scroll-margin-top: 150px; }

@media (max-width: 1024px) {
  .e-con.pvp-prof-aside, body.admin-bar .e-con.pvp-prof-aside { position: relative; top: auto; }
}
@media (max-width: 767px) {
  .pvp-prof-head__cover { height: 220px; }
  .pvp-prof-card { margin: -80px 16px 0; padding: 18px; grid-template-columns: 1fr; gap: 14px; }
  .pvp-prof-card__logo { width: 140px; height: 96px; }
  .pvp-prof-head h1.pvp-prof-card__name { font-size: 31px; }
  .pvp-prof-actions .pvp-btn { flex: 1 1 auto; }
  .pvp-prof-social { margin-left: 0; width: 100%; }
  /* style.css forces body h2/h3 sizes with !important on phones; keep these headings in scale. */
  .pvp-prof-body h3.pvp-prof-loc__name { font-size: 16px !important; }
  .pvp-prof-body .pvp-prof-member h3 { font-size: 22px !important; }
  .pvp-prof-body h2.pvp-prof-h2 { font-size: 25px !important; }
  .pvp-prof-tabs__inner { padding: 8px 16px; }
  .pvp-prof-tabs__cta { display: none; }
  .pvp-prof-factbox { grid-template-columns: 1fr; }
  .pvp-prof-venue-filter { width: 100%; }
  .pvp-prof-body .pvp-prof-venue-filter select { flex: 1; min-width: 0; width: 100%; }
  .pvp-prof-member { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
  .pvp-prof-body .pvp-prof-member img { width: 96px; height: 120px; }
  .pvp-prof-grid { column-width: 150px; column-gap: 10px; }
}

/* The section-button widget sticks to the top of the window while the profile body scrolls. */
.elementor-widget.pvp-prof-tabs-wrap { position: sticky; top: 0; z-index: 30; }
body.admin-bar .elementor-widget.pvp-prof-tabs-wrap { top: 32px; }
.pvp-form-fine { margin: 2px 0 0; font-size: 12.5px; line-height: 1.5; color: #8A96A3; }

/* Videos from wedding locations + service tag on Serving pills (2026-10-10). */
.pvp-prof-locvideos { margin-bottom: 18px; }
.pvp-prof-serving__svc { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #EDE8F7; color: #5B3F99; font-size: 11.5px; font-weight: 600; }
.pvp-prof-photo__caption { display: block; font-style: italic; font-weight: 500; }

/* Cover photo position: Top/Center/Bottom everywhere, plus Left/Middle/Right on phones (2026-10-12). */
.pvp-prof-head .pvp-prof-head__cover img { object-position: 50% var(--pvp-cy, 45%); }
@media (max-width: 767px) { .pvp-prof-head .pvp-prof-head__cover img { object-position: var(--pvp-cx-m, 50%) var(--pvp-cy, 45%); } }

/* Featured videos (2026-10-12). */
.pvp-prof-fvideos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 6px 0 14px; }
.pvp-fvideo { margin: 0; }
.pvp-fvideo__play, .pvp-fvideo__frame { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; overflow: hidden; background: #1A1A2E; padding: 0; cursor: pointer; }
.pvp-fvideo__play img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pvp-fvideo__play .pvp-photo__play { position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%; background: rgba(26,26,46,.72); color: #fff; font-size: 22px; line-height: 56px; text-align: center; padding-left: 4px; box-sizing: border-box; }
.pvp-fvideo__play:hover .pvp-photo__play, .pvp-fvideo__play:focus-visible .pvp-photo__play { background: #0BB7B3; }
.pvp-fvideo figcaption { padding: 8px 2px 0; font-size: 14.5px; font-weight: 600; color: #1A1A2E; }
.pvp-prof-fvideos__more { margin: 0 0 18px; }
.pvp-prof-body h3.pvp-prof-h3 { margin: 18px 0 4px; font: 600 18px 'Fira Sans', sans-serif; color: #1A1A2E; }
/* 2026-10-12: TikTok, YouTube, Vimeo. */
.pvp-soc--tiktok { background: #010101; }
.pvp-soc--youtube { background: #FF0000; }
.pvp-soc--vimeo { background: #1AB7EA; }

/* Review form toggle label (moved from searching_listing.css, which now loads only with the old search box, 2026-10-13) */
.glsr-elementor form.glsr-form .glsr-toggle label { display: inherit !important; margin: 0; position: absolute; top: 11px; left: 36px; }

/* Review sign-in for couples (2026-10-17) */
.pvp-prof-review-signin .pvp-signin__form { max-width: 460px; }
.pvp-prof-review-signin .pvp-signin__title { font-size: 20px; }
.pvp-prof-review-note { margin: 0; color: #5b6770; }
