/* Custom styles for Studio Tiberi Landing Page */

/* Base font settings */
html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: #1e293b; /* slate-800 */
}

/* Ensure Montserrat for paragraphs is 20px on desktop as requested */
p {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px; /* mobile fallback */
  line-height: 1.6;
}

@media (min-width: 768px) {
  p {
    font-size: 20px; /* desktop size as requested */
  }
}

/* Accordion details styling */
details[name="faq"] {
  transition: all 0.3s ease-in-out;
}

details[name="faq"] summary::-webkit-details-marker {
  display: none;
}

details[name="faq"] summary {
  list-style: none;
  cursor: pointer;
}

/* Pulse animation for CTA buttons */
@keyframes custom-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 6px -1px rgba(237, 138, 44, 0.4), 0 2px 4px -1px rgba(237, 138, 44, 0.2);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 10px 15px -3px rgba(237, 138, 44, 0.6), 0 4px 6px -2px rgba(237, 138, 44, 0.3);
  }
}

.pulse-cta {
  animation: custom-pulse 2s infinite ease-in-out;
}

/* Glassmorphism utility */
.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Dialog backdrop animation */
dialog::backdrop {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: opacity 0.3s ease-in-out;
}

/* Custom transitions for form focus */
input:focus, select:focus, textarea:focus {
  border-color: #5FA1C9; /* brandBlue */
  box-shadow: 0 0 0 3px rgba(95, 161, 201, 0.25);
}

/* Scrolled Header and Mobile Dropdown Styles */
#mobile-dropdown-menu {
  top: 62px;
  max-height: calc(100vh - 62px);
}

body.is-scrolled #mobile-dropdown-menu {
  top: 50px;
  max-height: calc(100vh - 50px);
}


@media (max-width: 1023px) {
  body.is-scrolled #header-nav-row {
    display: block !important;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-40;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    animation: headerSlideDown 0.25s ease-out forwards;
  }
}

@keyframes headerSlideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/* International Telephone Input overrides */
.iti {
  display: block !important;
  width: 100% !important;
}

.iti__flag-container {
  padding-left: 8px;
}

/* Mobile Multistep Form Rules */
@media (max-width: 767px) {
  .form-step {
    display: none;
  }
  .form-step.active {
    display: block !important;
    animation: fadeInStep 0.35s ease-out forwards;
  }
  
  #form-progress-container {
    display: block !important;
  }
  
  #mobile-nav-controls {
    display: flex !important;
  }
}

@keyframes fadeInStep {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hide Google reCAPTCHA badge as allowed by Terms of Service */
.grecaptcha-badge {
  visibility: hidden !important;
}


