/* Local standardized interface icons.
   The SVG bundle is shipped with the site; official brand marks remain separate assets. */
.vh-icon,
.vh-lucide-icon {
  display: block;
  flex: 0 0 auto;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

/* ===== MAIN PAGE ===== */
.vh-premium-inline-icon,
svg.vh-premium-inline-icon {
  width: 19px;
  height: 19px;
  color: var(--vh-accent-light, #ffbd6d);
}

svg.vh-premium-social__icon {
  width: 20px;
  height: 20px;
  color: var(--vh-accent-light, #ffbd6d);
}

svg.vh-premium-btn-icon {
  width: 19px;
  height: 19px;
  color: currentColor;
}

.vh-theme-toggle svg.vh-icon,
.vh-theme-toggle svg.vh-lucide-icon {
  width: 19px;
  height: 19px;
}

.vh-hero__btn-icon svg,
.vh-hero__download-icon svg {
  width: 21px;
  height: 21px;
  color: currentColor;
}

.vh-benefit-icon svg {
  width: 34px;
  height: 34px;
  color: #ffad5b;
  filter: drop-shadow(0 0 12px rgba(246, 138, 31, .24));
}

.vh-video-section__icon-img,
.vh-formats-icon,
.vh-booking__icon,
.vh-price-calc__icon,
.vh-reviews-top-icon,
.vh-faq__icon,
.vh-contacts-section__icon {
  width: 28px;
  height: 28px;
  color: #f68a1f;
  filter: drop-shadow(0 0 10px rgba(246, 138, 31, .25));
}

.vh-video-card__play svg {
  width: 31px;
  height: 31px;
  color: #fff;
  fill: currentColor;
  stroke-width: 1.7;
  transform: translateX(2px);
}

.vh-video-modal__close svg,
.vh-reviews-lb-close svg {
  width: 22px;
  height: 22px;
  color: currentColor;
}

.vh-contact-card__icon svg,
.vh-contact-form__icon svg {
  width: 28px;
  height: 28px;
  color: #ffad5b;
}

.vh-contact-submit__icon svg,
.vh-contact-form__quick-phone svg {
  width: 20px;
  height: 20px;
  color: currentColor;
}

/* ===== ARTISTS + REPERTOIRE ===== */
.vh-subpage .vr-icon-btn > svg,
.vh-subpage .vr-favorites-toggle > svg,
.vh-subpage .vr-stop-toggle > svg,
.vh-subpage .vh-mobile-filter__button > svg,
.vh-subpage .vh-favorites-filter > svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.vh-subpage .vr-sort__icon > svg,
.vh-subpage .vh-sort-dd__icon > svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.vh-subpage .vr-search-field > svg {
  width: 19px;
  height: 19px;
  color: rgba(255,255,255,.58);
}

.vh-subpage #vrArtistDropdownButton > svg {
  width: 18px;
  height: 18px;
  transition: transform .18s ease;
}

.vh-subpage #vrArtistDropdownButton[aria-expanded="true"] > svg {
  transform: rotate(180deg);
}

.vh-artist-modal__close svg,
.vh-photo-viewer__close svg,
.vr-guide__close svg {
  width: 22px;
  height: 22px;
}

.vh-photo-viewer__arrow svg {
  width: 26px;
  height: 26px;
}

/* Shared active states. */
.vr-favorites-toggle.is-active svg,
.vh-favorites-filter[aria-pressed="true"] svg {
  fill: currentColor;
}

/* ===== LIGHT THEME ===== */
html[data-vh-theme="light"] .vh-benefit-icon svg,
html[data-vh-theme="light"] .vh-contact-card__icon svg,
html[data-vh-theme="light"] .vh-contact-form__icon svg,
html[data-vh-theme="light"] .vh-video-section__icon-img,
html[data-vh-theme="light"] .vh-formats-icon,
html[data-vh-theme="light"] .vh-booking__icon,
html[data-vh-theme="light"] .vh-price-calc__icon,
html[data-vh-theme="light"] .vh-reviews-top-icon,
html[data-vh-theme="light"] .vh-faq__icon,
html[data-vh-theme="light"] .vh-contacts-section__icon {
  color: #c7650d;
  filter: drop-shadow(0 4px 10px rgba(171, 88, 18, .15));
}

html[data-vh-theme="light"] .vh-subpage .vr-search-field > svg {
  color: rgba(35,29,24,.55);
}

@media (max-width: 860px) {
  .vh-benefit-icon svg {
    width: 30px;
    height: 30px;
  }

  .vh-video-section__icon-img,
  .vh-formats-icon,
  .vh-booking__icon,
  .vh-price-calc__icon,
  .vh-reviews-top-icon,
  .vh-faq__icon,
  .vh-contacts-section__icon {
    width: 24px;
    height: 24px;
  }

  .vh-photo-viewer__arrow svg {
    width: 22px;
    height: 22px;
  }
}

/* PDF equipment trial: same hierarchy as offer cards. */
body #vhPdfStage .vh-offer-equipment-trial {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  grid-template-areas:
    "title title"
    "speaker description-one"
    "speaker description-two" !important;
  column-gap: 11px !important;
  row-gap: 2px !important;
  align-items: start !important;
}

body #vhPdfStage .vh-offer-equipment-trial-copy {
  display: contents !important;
}

body #vhPdfStage .vh-offer-equipment-trial-copy h3 {
  grid-area: title !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  color: #27231f !important;
  font-size: var(--vh-offer-adv-title-size, 11px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body #vhPdfStage .vh-offer-equipment-trial-icon {
  grid-area: speaker !important;
  align-self: start !important;
}

body #vhPdfStage .vh-offer-equipment-trial-copy p:first-of-type {
  grid-area: description-one !important;
}

body #vhPdfStage .vh-offer-equipment-trial-copy p:last-of-type {
  grid-area: description-two !important;
  margin-top: 0 !important;
}
