/* =====================================================================
   FAQ & Contact — "Let's find your film." booking CTA
   Namespace: .bookcta  ·  replaces the old .contact-grid / .form on this page.
   Fixes the white-on-white form (was color:var(--ink) on a white card) and
   rebuilds the block as a glass panel. Rides the site-wide [data-reveal]
   IntersectionObserver (adds .is-visible); resting state = final state.
   ===================================================================== */
.bookcta {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 12% 0%, rgba(216, 79, 154, .28), transparent 42%),
    radial-gradient(circle at 92% 100%, rgba(122, 47, 176, .34), transparent 46%),
    linear-gradient(160deg, #1c1024 0%, #2a1533 55%, #1a0f22 100%);
}
.bookcta::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg width='28' height='49' viewBox='0 0 28 49' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-size: 56px 98px;
  pointer-events: none;
}
.bookcta__aurora {
  position: absolute;
  top: -30%;
  left: 50%;
  width: 70vw;
  max-width: 900px;
  aspect-ratio: 1;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 50%, rgba(180, 92, 240, .22), transparent 65%);
  filter: blur(30px);
  pointer-events: none;
  animation: bookcta-drift 18s ease-in-out infinite;
}
@keyframes bookcta-drift {
  0%, 100% { transform: translateX(-50%) translateY(0) scale(1); }
  50%      { transform: translateX(-46%) translateY(34px) scale(1.08); }
}

.bookcta__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 56px;
  align-items: center;
}

/* ---- left column ---- */
.bookcta__title { display: block; margin-bottom: 16px; }
.bookcta__line {
  display: block;
  background: linear-gradient(94deg, #ffffff 0%, #f4d7ef 50%, #c7a2f4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bookcta__intro[data-reveal] .bookcta__line {
  opacity: 0;
  transform: translateY(.5em);
  transition: opacity .6s ease, transform .6s cubic-bezier(.22, .61, .36, 1);
}
.bookcta__intro[data-reveal].is-visible .bookcta__line { opacity: 1; transform: none; }
.bookcta__intro[data-reveal].is-visible .bookcta__line:nth-child(1) { transition-delay: .05s; }
.bookcta__intro[data-reveal].is-visible .bookcta__line:nth-child(2) { transition-delay: .14s; }

.bookcta .eyebrow { color: #e6a7d1; }
.bookcta .section-lede { color: rgba(255, 255, 255, .66); }

.bookcta__cards { display: grid; gap: 12px; margin-top: 30px; }
.bookcta__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  background: linear-gradient(100deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
  color: #fff;
  backdrop-filter: blur(6px);
  transition: transform .4s cubic-bezier(.22, .61, .36, 1), border-color .3s ease, box-shadow .4s ease, background .4s ease;
}
.bookcta__card-ic {
  flex: none;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #f0c6e6;
  background: linear-gradient(135deg, rgba(143, 74, 158, .5), rgba(216, 79, 154, .35));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.bookcta__card-ic svg { width: 20px; height: 20px; }
.bookcta__card-tx span {
  display: block;
  color: rgba(255, 255, 255, .5);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.bookcta__card-tx b { display: block; margin-top: 2px; font-size: 14.5px; }
.bookcta__card--static .bookcta__card-tx b { font-size: 13px; font-weight: 700; line-height: 1.5; }

@media (hover: hover) {
  a.bookcta__card:hover {
    transform: translateX(4px);
    border-color: rgba(216, 79, 154, .45);
    background: linear-gradient(100deg, rgba(216, 79, 154, .16), rgba(255, 255, 255, .03));
    box-shadow: 0 20px 44px -24px rgba(216, 79, 154, .55);
  }
  a.bookcta__card:hover .bookcta__card-ic { color: #fff; }
}

/* staggered reveal for the contact cards */
.bookcta__intro[data-reveal] .bookcta__card {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .5s ease, transform .55s cubic-bezier(.22, .61, .36, 1);
}
.bookcta__intro[data-reveal].is-visible .bookcta__card { opacity: 1; transform: none; }
.bookcta__intro[data-reveal].is-visible .bookcta__card:nth-child(1) { transition-delay: .22s; }
.bookcta__intro[data-reveal].is-visible .bookcta__card:nth-child(2) { transition-delay: .30s; }
.bookcta__intro[data-reveal].is-visible .bookcta__card:nth-child(3) { transition-delay: .38s; }

/* ---- right column: glass form ---- */
.bookcta__form {
  position: relative;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 24px;
  background: linear-gradient(165deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(14px);
}
.bookcta__form[data-reveal] {
  transform: translateY(22px) scale(.985);
  transition: opacity .6s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
}
.bookcta__form[data-reveal].is-visible { transform: none; }

.bookcta__form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.bookcta__form .field { margin-bottom: 0; }
.bookcta__form .field--full { grid-column: 1 / -1; }

.bookcta__form .field label {
  display: block;
  margin-bottom: 7px;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.bookcta__form .field input,
.bookcta__form .field select,
.bookcta__form .field textarea {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: rgba(12, 7, 16, .55);
  color: #fff;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.bookcta__form .field textarea { min-height: 120px; resize: vertical; }
.bookcta__form .field input::placeholder,
.bookcta__form .field textarea::placeholder { color: rgba(255, 255, 255, .4); }
.bookcta__form .field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d7b8ec' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
}
.bookcta__form .field select option { color: #1a1020; }
.bookcta__form .field input:focus,
.bookcta__form .field select:focus,
.bookcta__form .field textarea:focus {
  border-color: rgba(200, 130, 240, .85);
  background: rgba(12, 7, 16, .72);
  box-shadow: 0 0 0 3px rgba(180, 92, 240, .22), 0 0 22px -6px rgba(180, 92, 240, .5);
}

/* field cascade on reveal */
.bookcta__form[data-reveal] .field {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .45s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
}
.bookcta__form[data-reveal].is-visible .field { opacity: 1; transform: none; }
.bookcta__form[data-reveal].is-visible .field:nth-child(1) { transition-delay: .18s; }
.bookcta__form[data-reveal].is-visible .field:nth-child(2) { transition-delay: .26s; }
.bookcta__form[data-reveal].is-visible .field:nth-child(3) { transition-delay: .34s; }
.bookcta__form[data-reveal].is-visible .field:nth-child(4) { transition-delay: .42s; }
.bookcta__form[data-reveal].is-visible .field:nth-child(5) { transition-delay: .50s; }

.bookcta__submit {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 14px 26px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font: 800 15px/1 "Montserrat", "Inter", Arial, sans-serif;
  cursor: pointer;
  background: linear-gradient(135deg, #7a2fb0, #c150d8);
  box-shadow: 0 16px 38px -14px rgba(180, 80, 220, .75);
  transition: transform .2s ease, box-shadow .3s ease, filter .2s ease;
}
.bookcta__submit svg { width: 18px; height: 18px; }
.bookcta__submit-ic {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
  animation: wa-bob 1.4s ease-in-out infinite;
  will-change: transform;
}
@keyframes wa-bob {
  0%, 100% { transform: translateY(-3px); }
  50%      { transform: translateY(3px); }
}
.bookcta__submit::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .35) 50%, transparent 65%);
  transform: translateX(-120%);
}
@media (hover: hover) {
  .bookcta__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 48px -14px rgba(180, 80, 220, .9);
    filter: brightness(1.05);
  }
  .bookcta__submit:hover::after { animation: bookcta-shine .9s ease-out; }
}
.bookcta__submit:focus-visible { outline: 2px solid #e6b8f5; outline-offset: 3px; }
@keyframes bookcta-shine { to { transform: translateX(120%); } }

.bookcta .form-status { min-height: 1.5em; margin: 14px 0 0; color: #f4c6e8; font-weight: 700; }
.bookcta__note { margin: 10px 0 0; color: rgba(255, 255, 255, .42); font-size: 11.5px; line-height: 1.55; }

@media (max-width: 1024px) {
  .bookcta__grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 560px) {
  .bookcta__form { padding: 22px; }
  .bookcta__form-grid { grid-template-columns: 1fr; }
}

/* Floating WhatsApp button */
.wa-fab {
  position: fixed;
  right: clamp(16px, 3vw, 28px);
  bottom: clamp(16px, 3vw, 28px);
  z-index: 900;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25d366;
  box-shadow: 0 10px 30px -6px rgba(37, 211, 102, .55);
  animation: wa-fab-bob 1.6s ease-in-out infinite;
  transition: transform .25s ease, box-shadow .25s ease;
}
.wa-fab img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}
.wa-fab::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(37, 211, 102, .5);
  animation: wa-fab-ring 2.4s ease-out infinite;
}
.wa-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 16px 38px -6px rgba(37, 211, 102, .75);
}
.wa-fab:focus-visible { outline: 2px solid #eafff2; outline-offset: 4px; }
@keyframes wa-fab-bob {
  0%, 100% { translate: 0 -3px; }
  50%      { translate: 0 3px; }
}
@keyframes wa-fab-ring {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); }
  70%  { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .bookcta__aurora { animation: none; }
  .bookcta__intro[data-reveal] .bookcta__line,
  .bookcta__intro[data-reveal] .bookcta__card,
  .bookcta__form[data-reveal],
  .bookcta__form[data-reveal] .field { opacity: 1; transform: none; }
  .bookcta__submit::after { display: none; }
  .bookcta__submit-ic { animation: none; }
  .wa-fab { animation: none; }
  .wa-fab::before { animation: none; box-shadow: none; }
}
