html {
    -webkit-text-size-adjust: 100%;
}

:root {
    --abla-primary: #f3aa24;
    --abla-primary-strong: #dc920c;
    --abla-secondary: #4f5f6a;
    --abla-surface: #f8f9fa;
    --abla-dark: #1a1f24;
    --abla-primary-soft: rgba(243, 170, 36, 0.1);
    --abla-primary-faint: rgba(243, 170, 36, 0.05);
    --abla-primary-border: rgba(243, 170, 36, 0.3);
    --abla-primary-low-text: rgba(243, 170, 36, 0.3);
    --abla-secondary-faint: rgba(79, 95, 106, 0.05);
    --abla-secondary-soft: rgba(79, 95, 106, 0.3);
    --abla-secondary-medium: rgba(79, 95, 106, 0.5);
}

body {
    font-family: 'Nunito', sans-serif;
    color: var(--abla-secondary);
    background-color: var(--abla-surface);
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Quicksand', sans-serif;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f8f9fa;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.glass-nav {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
}

.hero-central {
    background:
        radial-gradient(45% 40% at 15% 15%, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 100%),
        radial-gradient(38% 32% at 88% 18%, rgba(219, 223, 228, 0.2) 0%, rgba(219, 223, 228, 0) 100%),
        linear-gradient(180deg, #f8fafb 0%, #fbfcfd 34%, #ffffff 100%);
}

.hero-mist {
    background:
        radial-gradient(50% 55% at 25% 25%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 72%),
        radial-gradient(45% 45% at 78% 22%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 70%);
}

.hero-mini-card {
    background: #f8f8fb;
    border: 1px solid rgba(226, 230, 240, 0.9);
    box-shadow: 0 18px 38px rgba(79, 95, 106, 0.08);
}

.hero-photo-card {
    border: 1px solid rgba(226, 230, 240, 0.9);
    box-shadow: 0 25px 50px rgba(79, 95, 106, 0.12);
}

.hero-note {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(120, 132, 145, 0.34));
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: 0 18px 40px rgba(79, 95, 106, 0.12);
    backdrop-filter: blur(10px);
}

.hero-image-reveal {
    opacity: 0;
    transform: translateY(16px) scale(0.985);
    animation: hero-image-reveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-check-item {
    opacity: 0;
    transform: translateY(10px);
    animation: hero-check-reveal 0.55s ease forwards;
}

.hero-check-item:nth-child(1) {
    animation-delay: 0.42s;
}

.hero-check-item:nth-child(2) {
    animation-delay: 0.66s;
}

.hero-check-item:nth-child(3) {
    animation-delay: 0.9s;
}

.hero-check-item:nth-child(4) {
    animation-delay: 1.14s;
}

.hero-check-item:nth-child(5) {
    animation-delay: 1.38s;
}

.depoimentos-marquee {
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.depoimentos-track {
    display: flex;
    width: max-content;
    animation: depoimentos-loop 34s linear infinite;
    will-change: transform;
}

.depoimentos-group {
    display: flex;
    gap: 1.5rem;
    padding-inline: 1.5rem;
}

.depoimento-card {
    width: min(24rem, calc(100vw - 3rem));
    flex: 0 0 auto;
    background: var(--abla-surface);
    padding: 2rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(229, 231, 235, 1);
    box-shadow: 0 10px 40px -10px rgba(79, 95, 106, 0.1);
}

.depoimentos-marquee:hover .depoimentos-track {
    animation-play-state: paused;
}

.whatsapp-float {
    animation: whatsapp-float-bounce 2.8s ease-in-out infinite;
}

.brush-underline {
    position: relative;
    display: inline-block;
    padding-bottom: 0.16em;
}

.brush-underline::after {
    content: "";
    position: absolute;
    left: -0.04em;
    right: -0.08em;
    bottom: -0.06em;
    height: 0.58em;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 42' preserveAspectRatio='none'%3E%3Cpath d='M6 27C34 10 65 38 98 24C131 10 165 34 196 20C210 14 223 14 234 17' fill='none' stroke='%23f3aa24' stroke-width='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    transform: scaleX(0);
    transform-origin: left center;
    opacity: 0.96;
}

.brush-underline-low::after {
    bottom: -0.14em;
    height: 0.62em;
    opacity: 0.9;
}

.reveal-scribble.is-visible::after {
    animation: scribble-draw 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 {
    transition-delay: 0.08s;
}

.reveal-delay-2 {
    transition-delay: 0.16s;
}

.reveal-delay-3 {
    transition-delay: 0.24s;
}

.reveal-delay-4 {
    transition-delay: 0.32s;
}

.faq-trigger {
    transition: background-color 0.25s ease;
}

.faq-item {
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.faq-item.open {
    background: rgba(243, 170, 36, 0.06);
    border-color: rgba(243, 170, 36, 0.18);
    box-shadow: 0 12px 30px -14px rgba(243, 170, 36, 0.28);
}

.faq-item.open .faq-trigger {
    background: transparent;
}

.faq-icon {
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.faq-item.open .faq-icon {
    transform: rotate(180deg);
    background: rgba(243, 170, 36, 0.16);
}

.faq-content {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: max-height 0.32s ease, opacity 0.2s ease, visibility 0.2s ease;
}

.faq-answer-inner {
    padding: 0 1.5rem 1.5rem;
}

.faq-item.open .faq-content {
    max-height: 220px;
    opacity: 1;
    visibility: visible;
}

@keyframes depoimentos-loop {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-50% - 0.75rem));
    }
}

@keyframes hero-image-reveal {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes hero-check-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scribble-draw {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

@keyframes whatsapp-float-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .depoimentos-track,
    .whatsapp-float,
    .hero-image-reveal,
    .hero-check-item,
    .brush-underline::after,
    .reveal-on-scroll {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}


.text-primary { color: var(--abla-primary) !important; }
.text-secondary { color: var(--abla-secondary) !important; }
.text-dark { color: var(--abla-secondary) !important; }
.bg-primary { background-color: var(--abla-primary) !important; }
.bg-secondary { background-color: var(--abla-secondary) !important; }
.bg-surface { background-color: var(--abla-surface) !important; }
.bg-dark { background-color: var(--abla-dark) !important; }
.border-primary { border-color: var(--abla-primary) !important; }
.border-secondary { border-color: var(--abla-secondary) !important; }
.shadow-soft { box-shadow: 0 10px 40px -10px rgba(79, 95, 106, 0.1) !important; }
.shadow-glow { box-shadow: 0 0 20px rgba(243, 170, 36, 0.3) !important; }

.from-surface {
    --tw-gradient-from: var(--abla-surface) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgb(248 249 250 / 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.bg-primary\/5 { background-color: var(--abla-primary-faint) !important; }
.bg-primary\/10 { background-color: var(--abla-primary-soft) !important; }
.bg-secondary\/5 { background-color: var(--abla-secondary-faint) !important; }
.bg-secondary\/50 { background-color: var(--abla-secondary-medium) !important; }
.border-primary\/30 { border-color: var(--abla-primary-border) !important; }
.border-secondary\/30 { border-color: var(--abla-secondary-soft) !important; }
.text-primary\/30 { color: var(--abla-primary-low-text) !important; }

.hover\:text-primary:hover { color: var(--abla-primary) !important; }
.hover\:bg-primary:hover { background-color: var(--abla-primary) !important; }
.hover\:bg-yellow-500:hover { background-color: var(--abla-primary-strong) !important; }
.hover\:bg-secondary:hover { background-color: var(--abla-secondary) !important; }
.hover\:border-primary\/30:hover { border-color: var(--abla-primary-border) !important; }

.group:hover .group-hover\:text-primary { color: var(--abla-primary) !important; }
.group:hover .group-hover\:scale-105 { transform: scale(1.05) !important; }

.focus\:border-primary:focus,
.focus\:border-primary:focus-visible {
    border-color: var(--abla-primary) !important;
}

.focus\:ring-primary:focus,
.focus\:ring-primary:focus-visible {
    box-shadow: 0 0 0 2px rgba(243, 170, 36, 0.25) !important;
}

.cf7-radio-line .wpcf7-form-control {
  display: flex;
  flex-direction: column;
  gap: 1rem;
	width: 100%;
	height: auto;
}

.wpcf7-form br {
	display: none;
}

@media (min-width: 640px) {
  .cf7-radio-line .wpcf7-form-control {
    flex-direction: row;
  }
}

.cf7-radio-line .wpcf7-list-item {
  margin: 0;
}

.cf7-radio-line .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.cf7-radio-line .wpcf7-list-item-label {
  font-size: 0.875rem;
  color: #4b5563;
}

.wpcf7-submit {
	cursor: pointer;
}