/* =========================
   Base layout & headers
   ========================= */
.section6{ 
  background:#fff; 
  color:#000; 
  width:100vw; 
  overflow:visible; 
}

.header-PYV {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.8vh;
  padding: 4vh 2vh;
  line-height: 1.1;
  text-align: center;
}

.PYV-Header-H1 {
  color: #000;
  font-family: 'Sofia Pro', sans-serif;
  font-size: clamp(4rem, 8vw, 10vh);
  font-weight: 700;
  margin: 0;
}

.PYV-Header-P {
  color: #ff820d;
  font-family: 'Sofia Pro', sans-serif;
  font-size: clamp(1.4rem, 3vw, 3.6vh);
  font-weight: 600;
  letter-spacing: 0.2vh;
  margin: 0;
  text-transform: uppercase;
}

.PYV-topgrid{
  display:grid; 
  grid-template-columns: 1fr 1fr;
  gap:6vh; 
  padding:8vh 10vh 6vh; 
  align-items: start;
}

/* =========================
   Video: shell + controls
   ========================= */

/* Responsive shell, a bit wider on desktop */
.PYV-TOP-VIDEO .video-shell{
  position:relative;
  width:100%;
  max-width:min(1100px, 100%);
  margin:0 auto;
  aspect-ratio:16/9;
  overflow:hidden;
  border:0.6vh solid #ff820d;
  border-radius: 2vh;
  background:#000;
}

/* Absolutely fill the shell with the player */
.PYV-TOP-VIDEO .video-shell iframe,
#player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Minimal / clean controls */
.video-controls{
  position:absolute; inset:auto 0 0 0;
  display:flex; flex-wrap:wrap; gap:.8rem;
  justify-content:center; align-items:center;
  padding:.8rem .8rem 1rem;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  transition: opacity .25s ease;
}

/* Buttons & select */
.video-controls .btn,
.video-controls .btn-select{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.88);
  padding:.55rem .8rem;
  border-radius:999px;
  font-size:.9rem;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: background .12s ease, transform .12s ease, border-color .12s;
}
.video-controls .btn:hover,
.video-controls .btn-select:hover{
  background:#fff; transform:translateY(-1px);
}
.video-controls .btn i{
  font-size:1rem; width:1.1rem; text-align:center;
}

/* Progress slider */
#progressBar{
  flex:1 1 38%; min-width:140px;
  appearance:none; height:6px; border-radius:999px; outline:none;
  background:rgba(255,255,255,.75);
}
#progressBar::-webkit-slider-thumb{
  appearance:none; width:14px; height:14px; border-radius:50%;
  background:#ff820d; border:2px solid #fff; cursor:pointer;
}
#progressBar::-moz-range-thumb{
  width:14px; height:14px; border-radius:50%;
  background:#ff820d; border:2px solid #fff; cursor:pointer;
}

/* Time labels */
.video-controls .time{
  color:#fff;
  font: 600 .95rem/1 'Sofia Pro', system-ui;
  text-shadow: 0 1px 2px rgba(0,0,0,.4);
  min-width: 3.2ch; text-align:center;
}

/* Big tap-to-unmute chip (auto-hidden when unmuted) */
.video-unmute-cta{
  position:absolute; right:1rem; bottom:4.6rem;
  display:flex; align-items:center; gap:.5rem;
  background:rgba(0,0,0,.55); color:#fff;
  border:1px solid rgba(255,255,255,.25);
  padding:.55rem .9rem; border-radius:999px;
  cursor:pointer; 
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: transform .12s ease, background .12s ease;
}
.video-unmute-cta:hover{ transform: translateY(-1px); }
.video-unmute-cta i{ font-size:.95rem; }

/* Accessibility focus */
.video-controls .btn:focus,
.video-controls .btn-select:focus,
#progressBar:focus, .video-unmute-cta:focus{
  outline: 2px solid #ff820d; outline-offset: 2px;
}

/* Autohide controls */
.video-shell.controls-hidden .video-controls { opacity: 0; pointer-events: none; }
.video-shell.controls-sticky .video-controls,
.video-controls:focus-within { opacity: 1; pointer-events: auto; }

/* Fullscreen: stretch edge-to-edge */
.PYV-TOP-VIDEO .video-shell:fullscreen,
.PYV-TOP-VIDEO .video-shell:-webkit-full-screen{
  aspect-ratio: auto;
  width: 100vw;
  height: 100vh;
  border-width: 0;
  border-radius: 0;
}

/* Helper to hide non-essential bits on phones */
.hide-mobile{ display: inline-flex; }
@media (max-width: 640px){
  .hide-mobile{ display:none !important; }
}

/* Bigger on phones: edge-to-edge, no border/radius for cinematic feel */
@media (max-width: 640px){
  .PYV-TOP-VIDEO .video-shell{
    max-width:none; width:100vw;
    margin-left:50%; transform:translateX(-50%);
    border-width:0; border-radius:0;
  }
  .video-controls{ gap:.6rem; padding:.6rem .6rem .8rem; }
  .video-controls .btn, .video-controls .btn-select{ padding:.45rem .65rem; font-size:.85rem; }
  .video-unmute-cta{ right:.6rem; bottom:3.8rem; }
}

/* =========================
   Schedule (right column)
   ========================= */
.PYV-Schedule{
  border:0.6vh solid #ff820d; 
  padding:4vh; 
  background:#fff;
  height: 84.6%;
  border-radius: 2vh;
}
.sched-h2{
  font-size:6.5vh; font-weight:800; margin:0 0 2vh 0; font-family:'Sofia Pro', sans-serif;
}
.sched-list{ list-style:none; padding:0; margin:0; display:grid; gap:1.6vh; }
.sched-item{
  font-size:3.2vh; font-weight:300; font-family:'Sofia Pro', sans-serif;
  padding:1.2vh 1.6vh; background:#f7f7f7; border-left:0.6vh solid #ff820d;
}

/* =========================
   Visit section (middle)
   ========================= */
.PYV-Visit{ background:#fff; color:#000; padding:6vh 10vh; }
.PYV-Visit .visit-shell{ display:grid; grid-template-columns:1fr; gap:3.5vh; }
.visit-block{ padding:0 0 2.8vh 0; border-bottom:0.5vh solid #eee; }
.visit-block:last-child{ border-bottom:none; }
.visit-label{
  display:inline-flex; align-items:center; gap:1vh; padding:0.8vh 1.6vh;
  background:#ff820d; color:#fff; font-weight:800; text-transform:uppercase; border:0.4vh solid #ff820d;
  border-radius:0; letter-spacing:0.1vh; margin-bottom:1.4vh; font-family:'Sofia Pro'; font-weight:300;
}
.visit-label i{ font-size:2.1vh; }
.visit-h2{
  font-size:6vh; font-weight:700; margin:0.6vh 0 1.4vh 0; font-family:'Sofia Pro', sans-serif;
}
.PYV-Visit p{
  font-size:3vh; font-weight:300; line-height:1.3; margin:0.2vh 0 0.8vh 0; font-family:'Sofia Pro', sans-serif;
}
.visit-links{ display:grid; gap:1.2vh; margin-top:1.2vh; }
.visit-link{
  display:inline-flex; align-items:center; gap:1vh; text-decoration:none; font-weight:600;
  padding:1.2vh 1.8vh; color:#000; background:#f7f7f7; border:0.4vh solid #ff820d; border-radius:5vh;
  transition: background 0.2s ease, transform 0.2s ease; font-family:'Sofia Pro'; font-weight:300;
}
.visit-link:hover{ background:#fff1e6; transform: translateY(-1px); }
.visit-link i{ font-size:2vh; }

/* =========================
   Form (bottom)
   ========================= */
.PYV-Form{ padding:2vh 10vh 10vh; }
.form-h2{
  font-size:6.5vh; font-weight:800; margin:0 0 3vh 0; font-family:'Sofia Pro', sans-serif;
}
.visit-form{ display:block; }
.form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:3vh;
}
.form-field{ display:flex; flex-direction:column; gap:1vh; }
.form-field label{ 
  font-size:2.2vh; font-weight:600; color: #1b1b1b; 
}
.form-field input, .form-field select{
  font-size:2.2vh; padding:1.2vh 1.6vh; border:0.4vh solid #ccc; outline:none; background:#fff;
  border-radius: 2vh;
}
.form-field input:focus, .form-field select:focus{ border-color:#ff820d; }

/* Toggle row */
.toggle-multi { margin-bottom: 1rem; }
.toggle-multi__label {
  display: inline-flex; align-items: center; gap: .6rem;
  font-weight: 600; cursor: pointer;
}
.toggle-multi__label input { width: 1.1rem; height: 1.1rem; }

/* Single-select uses pill style */
#interestSelectWrap select{
  width:100%;
  height:8.2vh; min-height:56px;
  border-radius:999px; border:2px solid transparent;
  background:#fff; color:#111; padding:0 2.2rem; font-size:2.2vh; outline:none;
  transition: border-color .2s ease, box-shadow .2s ease;
  border-color:#ccc;
}
#interestSelectWrap select:focus{
  border-color:#ff820d; box-shadow:0 0 0 1px rgba(255,130,13,.18);
}

/* Fieldset uses existing .form-fieldset and .check styles if present */
#interestFieldset { margin-top: .5rem; }

.form-actions{ margin-top:3vh; }
.btn-submit{
  display:inline-flex; align-items:center; gap:1vh; padding:1.6vh 2.6vh; border:0.4vh solid #ff820d;
  background:#ff820d; color:#fff; font-weight:800; font-size:2.4vh; cursor:pointer; border-radius:0;
  transition: filter 0.2s ease, transform 0.2s ease;
}
.btn-submit:hover{ filter:brightness(1.05); transform: translateY(-1px); }

/* =========================
   Responsive adjustments
   ========================= */
@media (max-width:1200px){
  .PYV-topgrid{ grid-template-columns:1fr; gap:6vh; padding:0vh 0vh; }
  .sched-h2{ text-align:center; }
  .PYV-Visit{ padding:6vh; }
  .PYV-Form{ padding:2vh 6vh 8vh; }
  .form-grid{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .sched-h2, .form-h2{ font-size:5.6vh; }
  .sched-item{ font-size:2.8vh; }
}
@media (max-width:620px){
  .visit-h2{ font-size:4.6vh; }
  .PYV-Visit p{ font-size:2.4vh; }
}

/* =========================
   Reduced motion respect
   ========================= */
@media (prefers-reduced-motion: reduce){
  .video-controls .btn,
  .video-controls .btn-select,
  .video-unmute-cta{
    transition:none;
  }
}
