/* PD Bookings Hero - Frontend */
.pdbh-hero { width: 100%; margin: 0; padding: 0; }

.pdbh-hero__inner{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, var(--pdbh-content-max, 720px)) minmax(0, 1fr);
  align-items: center;
  gap: var(--pdbh-gap, 24px);
  padding: var(--pdbh-pad-y, 64px) var(--pdbh-pad-x, 24px);
  min-height: var(--pdbh-min-h, 420px);
  border-radius: 24px;
  overflow: hidden;
  background: var(--pdbh-bg, #f6f2ff);
  background-image: var(--pdbh-bg-gradient, none);
}

.pdbh-shadow{ box-shadow: 0 20px 50px rgba(25,16,60,0.12); }

.pdbh-hero__content{ text-align: center; color: var(--pdbh-text, #0f1020); }

.pdbh-hero__title{
  margin: 0 0 14px 0;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(32px, 4vw, 60px);
  letter-spacing: -0.02em;
}

.pdbh-hero__subtitle{
  margin: 0 auto;
  max-width: 56ch;
  line-height: 1.5;
  opacity: 0.85;
  font-size: clamp(14px, 1.2vw, 18px);
}
.pdbh-hero__subtitle p{margin:0.6em 0;}
.pdbh-hero__subtitle a{color:inherit; text-decoration:underline;}

.pdbh-hero__cta{ margin-top: 24px; display: flex; justify-content: center; }

.pdbh-hero__button{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 12px;
  text-decoration: none;
  background: var(--pdbh-btn-bg, #6b4eff);
  color: var(--pdbh-btn-text, #ffffff);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  transition: transform 120ms ease, filter 120ms ease, box-shadow 120ms ease;
  box-shadow: 0 10px 22px rgba(40,30,90,0.18);
}
.pdbh-hero__button:hover{ transform: translateY(-1px); filter: brightness(1.02); }
.pdbh-hero__button:focus-visible{ outline: 3px solid rgba(107,78,255,0.45); outline-offset: 3px; }
.pdbh-hero__button-icon{ font-size: 18px; line-height: 1; }

.pdbh-hero__side{ display:flex; align-items:center; justify-content:center; pointer-events:none; }
.pdbh-hero__img{
  width: var(--pdbh-img-w, 100%);
  max-width: var(--pdbh-img-max, 420px);
  height: auto;
  border-radius: 20px;
  transform: rotate(var(--pdbh-rot, 10deg));
  box-shadow: 0 18px 40px rgba(25,16,60,0.15);
}
.pdbh-hero__side--left .pdbh-hero__img{ transform: rotate(calc(var(--pdbh-rot, 10deg) * -1)); }

.pdbh-align-center{
  max-width: 1200px;
  margin-left:auto;
  margin-right:auto;
  padding-left:16px;
  padding-right:16px;
}

@media (max-width: 900px){
  .pdbh-hero__inner{ grid-template-columns: 1fr; text-align:center; }
  .pdbh-hero__side{ order: 3; }
  .pdbh-hero__img{
    transform:none;
    width: min(92%, var(--pdbh-img-max, 420px));
  }
  .pdbh-hero__side--left .pdbh-hero__img{ transform:none; }
}

@media (prefers-reduced-motion: reduce){
  .pdbh-hero__button{ transition:none; }
  .pdbh-hero__button:hover{ transform:none; }
}
