/* PHA site — image & section overrides (loads after main.css) */

/* registration.html: breadcrumb photo (file + fallback if data-background not applied yet) */
.td-breadcrumb-area.pha-registration-breadcrumb {
  background-color: #1a1428;
  background-image: url("../img/breadcrumb/breadcrumb.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* registration.html: form above map — spacing and card padding */
.pha-registration-form-row {
  margin-bottom: 3rem;
}
@media (min-width: 992px) {
  .pha-registration-form-row {
    margin-bottom: 3.75rem;
  }
}
.pha-registration-form-card {
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .pha-registration-form-card {
    padding: 2.5rem 2.5rem;
  }
}
.td-contact-form-box.pha-registration-form-box {
  padding-top: 0;
  margin-bottom: 0;
  position: relative;
}

/* registration: honeypot must NOT sit inside .row (Bootstrap flex shows a stray field on mobile) */
.pha-registration-form-box .pha-honeypot-wrap {
  position: absolute;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  pointer-events: none;
  opacity: 0;
}
.pha-registration-form-box .pha-honeypot-wrap input {
  max-height: 0;
  max-width: 0;
}

/* registration: ajax-form.js thank-you / error line */
#registration-form .ajax-response.success {
  color: #15803d;
  font-weight: 600;
}
#registration-form .ajax-response.error {
  color: #b91c1c;
}

/* registration: optional add-on checkboxes */
.pha-registration-addons .form-check-input {
  width: 1.1em;
  height: 1.1em;
  margin-top: 0.2em;
}
.pha-registration-addons .form-check-label {
  padding-left: 0.25rem;
  line-height: 1.45;
  /* Match helper paragraph: normal weight; .small + .text-muted on label in HTML */
  font-weight: 400;
}

/* Hero: looping background video (muted) behind Swiper content; poster while loading.
   Video uses a compositor layer in some browsers — keep Swiper + copy clearly above (z-index). */
.td-hero-area.pha-hero-photo {
  position: relative;
  background-color: #0c0614;
  isolation: isolate;
}

.td-hero-area.pha-hero-photo .pha-hero-video-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  line-height: 0;
  pointer-events: none;
}

.td-hero-area.pha-hero-photo .pha-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  /* Keep video in the back stacking layer (Safari/WebKit + full-screen video quirks) */
  z-index: 0;
  position: relative;
}

@media (prefers-reduced-motion: reduce) {
  .td-hero-area.pha-hero-photo .pha-hero-video {
    display: none;
  }
  .td-hero-area.pha-hero-photo .pha-hero-video-wrap {
    background: #0c0614 url("../img/hero/marthavineyardscenic.png") center / cover no-repeat;
  }
}

.td-hero-area.pha-hero-photo .td-hero-3-zoom {
  position: relative;
  z-index: 10;
  background: transparent;
}

.td-hero-area.pha-hero-photo .td-hero-3-zoom .swiper-slide {
  background: transparent;
}

.td-hero-area.pha-hero-photo .td-hero-3-content {
  position: relative;
  z-index: 1;
}

/* Sibling nav after Swiper — stay above slides + video */
.td-hero-area.pha-hero-photo > .td-hero-3-navigation {
  position: relative;
  z-index: 11;
}

/* Hero tagline: same fadeInUp sequence as .text / .text2 / .text3 (main.css) — paragraph had no animation class */
.td-hero-area.pha-hero-photo .td-hero-3-zoom .swiper-slide.swiper-slide-active .pha-hero-lede {
  -webkit-animation-name: fadeInUp;
  animation-fill-mode: both;
  animation-name: fadeInUp;
  animation-delay: 0.95s;
  animation-duration: 1s;
  opacity: 1;
}

/* Hero “Apply today” — brand pink (desktop + mobile; .td-btn-3-border defaults to transparent bg) */
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn,
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn.td-btn-3-border {
  background: #f248b4 !important;
  background-color: #f248b4 !important;
  background-image: none !important;
  border: 1px solid #f248b4 !important;
  color: #fff !important;
  -webkit-tap-highlight-color: rgba(242, 72, 180, 0.35);
}
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn:hover,
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn.td-btn-3-border:hover {
  background: #d93ea0 !important;
  background-color: #d93ea0 !important;
  border-color: #d93ea0 !important;
  color: #fff !important;
}
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn:active,
.td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn.td-btn-3-border:active {
  background: #d93ea0 !important;
  background-color: #d93ea0 !important;
  border-color: #d93ea0 !important;
  color: #fff !important;
}

@media (max-width: 991.98px) {
  .td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn,
  .td-hero-area.pha-hero-photo a.pha-hero-apply.td-btn.td-btn-3-border {
    background: #f248b4 !important;
    background-color: #f248b4 !important;
    background-image: none !important;
    border: 1px solid #f248b4 !important;
    color: #fff !important;
  }
}

/* Purple band like index-3 countdown + four features (overrides data-background / SVG plates) */
.pha-purple-band {
  background-image: none !important;
  background: linear-gradient(
    145deg,
    #1a0d2e 0%,
    #3d1f5c 38%,
    #5c2d82 72%,
    #4a2570 100%
  ) !important;
}

/* Countdown band: location is plain text (theme class adds underline like a link) */
.td-countdown-area .td-countdown-3-location {
  text-decoration: none !important;
}

.pha-footer-solid {
  background-image: none !important;
  background: linear-gradient(180deg, #0f172a 0%, #151d2e 100%) !important;
}

.pha-blog-hidden {
  display: none !important;
}

.pha-video-soon {
  cursor: default;
  pointer-events: none;
  opacity: 0.85;
}

.pha-video-soon .td-pulse-border {
  animation: none;
}

/* About the summit: keep two audience blocks on one row (theme divider margins were forcing wrap) */
.td-about-3-clients.pha-about-audience-row {
  flex-wrap: nowrap;
  align-items: stretch;
  column-gap: 0;
}
.td-about-3-clients.pha-about-audience-row .items {
  flex: 1 1 0;
  min-width: 0;
}
.td-about-3-clients.pha-about-audience-row .td-border {
  flex-shrink: 0;
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  height: auto;
  align-self: stretch;
  min-height: 6.5rem;
}
@media (max-width: 575px) {
  .td-about-3-clients.pha-about-audience-row {
    flex-wrap: wrap;
  }
  .td-about-3-clients.pha-about-audience-row .td-border {
    display: none;
  }
  .td-about-3-clients.pha-about-audience-row .items {
    flex: 1 1 100%;
  }
}

/* Strategy banner: full-width photo via <img> + object-fit (no Jarallax scale/transform = sharper). */
.td-banner-area.pha-strategy-banner {
  background-image: none !important;
}
.td-banner-area.pha-strategy-banner .pha-strategy-banner__media {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  line-height: 0;
  pointer-events: none;
}
.td-banner-area.pha-strategy-banner .pha-strategy-banner__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Summit pricing card: full-width left alignment (theme centers .td-pricing-2-item on some breakpoints) */
.td-pricing-area .td-pricing-2-item.td-pricing-3-item {
  text-align: left;
}

/* Summit pricing card: rates label */
.td-pricing-area .td-pricing-3-item .td-pricing-2-price.pha-summit-rates-label {
  display: block;
  width: 100%;
  text-align: left;
  padding-top: 10px;
  padding-bottom: 20px;
  margin-bottom: 0;
}
.td-pricing-area .td-pricing-3-item .td-pricing-2-price.pha-summit-rates-label .subtitle {
  font-size: clamp(1.375rem, 2.4vw, 1.875rem);
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: 0.35rem;
}

.td-pricing-area .td-pricing-2-feature.pha-summit-pricing-feature {
  padding-left: 0;
  padding-right: 0;
}

/* Single-column summit pricing table inside pricing card */
.td-pricing-area .pha-summit-pricing-table {
  width: 100%;
  margin-bottom: 0;
  --pha-price-border: rgba(15, 23, 42, 0.12);
}
.td-pricing-area .pha-summit-pricing-table tbody tr {
  border-bottom: 1px solid var(--pha-price-border);
}
.td-pricing-area .pha-summit-pricing-table tbody tr:last-child {
  border-bottom: none;
}
.td-pricing-area .pha-summit-pricing-table tbody tr:first-child th,
.td-pricing-area .pha-summit-pricing-table tbody tr:first-child td {
  padding-top: 0.35rem;
}
.td-pricing-area .pha-summit-pricing-table th {
  font-weight: 400;
  color: inherit;
  padding: 1rem 0;
  vertical-align: top;
  text-align: left;
}
.td-pricing-area .pha-summit-pricing-table td {
  padding: 1rem 0;
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: top;
}
.td-pricing-area .pha-summit-pricing-table .pha-price-optional th {
  padding-top: 1.15rem;
}

/* Summit agenda (index): rows use align-items-start so thumbs line up with titles;
   theme removes content padding-top below lg — restore so tops stay aligned with image margin */
@media (max-width: 991.98px) {
  .td-schedule-area .td-schedule-3-wrap .td-schedule-3-content {
    padding-top: 30px;
  }
}

/* index.html schedule: lists & links inside workshop/outing cards
   Theme sets global `li { list-style: none }` — restore real bullets here.
   Match `.td-schedule-3-content .para` (Poppins, 16px, 28px line-height) — lists
   otherwise inherit body (Unbounded) and look smaller/different. */
.td-schedule-3-content ul.pha-schedule-list {
  margin: 0;
  padding-left: 1.5rem;
  list-style: disc;
  list-style-position: outside;
  font-family: var(--td-ff-poppins);
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  text-transform: none;
  color: var(--td-grey-1);
}
.td-schedule-3-content ul.pha-schedule-list > li {
  list-style: disc;
  list-style-position: outside;
  display: list-item;
  margin-bottom: 0.5rem;
  padding-left: 0.35rem;
  font-family: var(--td-ff-poppins);
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: var(--td-grey-1);
}
.td-schedule-3-content ul.pha-schedule-list > li:last-child {
  margin-bottom: 0;
}
/* Labels use <strong> but match paragraph weight (same as `.para` body copy) */
.td-schedule-3-content ul.pha-schedule-list > li strong {
  font-family: var(--td-ff-poppins);
  font-size: inherit;
  font-weight: 400;
  color: var(--td-grey-1);
}
.td-schedule-3-content .pha-schedule-list a,
.td-schedule-3-destination a {
  color: var(--td-theme-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.td-schedule-3-content .pha-schedule-list a:hover,
.td-schedule-3-destination a:hover {
  color: var(--td-common-black);
}
.td-schedule-3-content p.fw-semibold {
  text-transform: none;
  letter-spacing: normal;
}
.td-schedule-3-content .para a {
  color: var(--td-theme-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Headlines: use HTML casing (Chicago/APA title case); theme uses capitalize on titles */
body.pha-site .td-section-title,
body.pha-site .td-faq-title,
body.pha-site .td-blog-title,
body.pha-site .td-breadcrumb-title,
body.pha-site .td-contact-info-title,
body.pha-site .td-faq-wrapper .accordion-button {
  text-transform: none;
}
/* Section pills: theme uppercases; show title case from markup */
body.pha-site .td-section-subtitle-2,
body.pha-site .td-section-subtitle-3 {
  text-transform: none;
}
body.pha-site .td-banner-title-wrap .td-section-subtitle {
  text-transform: none;
}

/* Body copy: normal sentence case (theme sections sometimes inherit uppercase) */
body.pha-site p,
body.pha-site .para,
body.pha-site .td-section-text,
body.pha-site .td-feature-3-text,
body.pha-site .td-faq-details-para,
body.pha-site .td-contact-info p,
body.pha-site .td-faq-para {
  text-transform: none;
  font-variant: normal;
}

/* FAQ accordion: bullet lists match paragraph body (same font size/line-height as .td-faq-details-para p) */
.td-faq-wrapper .td-faq-details-para ul.pha-faq-detail-list {
  font-family: var(--td-ff-poppins);
  font-size: 16px;
  line-height: 28px;
  color: #393a47;
  margin-top: 12px;
  margin-bottom: 0;
  padding-left: 1.35rem;
  list-style-type: disc;
  list-style-position: outside;
}
.td-faq-wrapper .td-faq-details-para ul.pha-faq-detail-list li {
  /* Override global li { list-style: none } in main.css */
  list-style: disc;
  list-style-position: outside;
  display: list-item;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin-bottom: 8px;
}
.td-faq-wrapper .td-faq-details-para ul.pha-faq-detail-list li:last-child {
  margin-bottom: 0;
}
