:root {
    --color-primary: #8A6FBF;        /* roxo principal (header, botões, títulos) */
    --color-primary-dark: #6B4E9E;   /* roxo mais escuro (hover, banners) */
    --color-primary-light: #B9A3E3;  /* roxo claro (fundos suaves) */
    --color-secondary: #D6C9F0;      /* lilás claro (fundo seção clube) */
    --color-linear-gradient: linear-gradient(90deg, #8871AB 0%, #AD95D1 100%); 

    --color-white: #FFFFFF;
    --color-bg-light: #F5F4F7;       /* fundo cinza claro (cards, faq) */
    --color-bg-gray: #E4E4E4;        /* fundo seção planos/banner */
    --color-text-dark: #2E2A33;      /* texto principal */
    --color-text-muted: #6E6875;     /* texto secundário/parágrafos */
    --color-border: #DADADA;
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 120px;
}

/* Hero Section */

.hero {
    position: relative;
    overflow: hidden;
    min-height: auto;
    padding: 0;
}

.hero-container {
    position: relative;
    width: 100%;
    min-height: 610px;
}

.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Faq Section */

.faq{
    display: flex;
    width: 100%;
    padding: 80px 120px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--color-white);
    appearance: none;
}

.saiba-mais {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
    box-sizing: border-box;
}

.saiba-mais h1{
    color: var(--color-primary-dark);
    text-align: center;
    font-family: "DM Sans", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 48px;
    margin-bottom: 16px;
}

.sub{
    color: var(--color-text-muted);
    text-align: center;
    font-family: "Inter", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 28px;
    margin-bottom: 40px;
}

.faq-item{
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    align-self: stretch;  
    border-radius: 8px;
    border: 0.757px solid #E5E7EB;
    background: #FFF;
    margin-bottom: 20px;
}

summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    list-style: none;
}

.faq-item summary{
    padding: 16px; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-primary);
    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 18.161px;
}

.faq-item[open] summary {
    padding: 24px 16px 16px 16px;
}

.faq-item p{
    padding: 0 16px 24px 16px;
    color: #7F8185;
    font-family: "Inter", sans-serif;
    font-size: 12.107px;
    font-weight: 400;
    line-height: 19.674px;
}

.arrow {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M11.3496 9.45874L7.56611 5.67524L3.78261 9.45874' stroke='%23D6C9F0' stroke-width='1.26117' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.faq-item .arrow {
    transform: rotate(180deg);
}

.faq-item[open] .arrow {
    transform: rotate(0deg);
}

.faq-lista-planos {
    padding: 16px 20px; /* 16px acima/abaixo e 20px nas laterais */
    margin: 16px 0 8px;
}

.faq-lista-planos .plano-item {
    margin-bottom: 20px;
    gap: 70px;
}

.faq-lista-planos .plano-item:last-child {
    margin-bottom: 0;
}

.faq-lista-planos dt {
    font-weight: 700;
    font-size: 16px;
    color: var(--color-text-muted);
    margin-bottom: 4px;
    font-family: "DM Sans", sans-serif;
}

.faq-lista-planos dd {
    margin-left: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-text-muted, #777777);
    font-family: "DM Sans", sans-serif;
}

.faq-conteudo {
    padding: 16px 24px;
}

/* Lista simples sem marcadores (Pergunta 6) */
.faq-lista-simples {
    list-style: none;
    padding: 0;
    margin: 0 0 16px 0;
}

.faq-lista-simples li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-muted, #666666);
    margin-bottom: 6px;
    font-family: "DM Sans", sans-serif;
}

.faq-destaque-contato {
    font-size: 14px;
    color: var(--color-primary, #7b61a0);
    margin: 12px 0 0;
    font-family: "DM Sans", sans-serif;
}

.faq-lista-ordenada {
    margin: 0;
    padding-left: 20px;
}

.faq-lista-ordenada li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-muted, #666666);
    margin-bottom: 10px;
    font-family: "DM Sans", sans-serif;
}

.faq-lista-ordenada li strong {
    color: var(--color-text-main, #444444);
}

.card-duvidas{
    display: flex;
    width: 100%;
    padding: 80px 120px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--color-white);
    appearance: none;
    box-sizing: border-box;
    padding: 24px 120px;
    gap: 16px;
    align-self: stretch;
    border-radius: 12.107px;
    border: 0.757px solid #E5E7EB;
    background: #FFF;
    margin-top: 40px;
}

.card-duvidas h2{
    color: var(--color-primary);
    text-align: center;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 21.188px;
}

.duvidas{
   color: var(--color-text-dark);
    text-align: center;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 18.161px; 
}

.btn-fale-conosco{
    display: flex;
    padding: 8px 18px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 7.567px;
    background: var(--color-secondary);
    border: none;
    outline: none;
    cursor: pointer;
    color: #FFF;
    text-align: center;
    font-family: "Inter", sans-serif;
    font-size: 12.107px;
    font-style: normal;
    font-weight: 600;
    line-height: 18.161px;
    white-space: nowrap;
}

.btn-fale-conosco:hover{
    transform: translateY(-0.5px);
    box-shadow: 0 4.407px 6.61px -2.501px rgba(0, 0, 0, 0.458);
}

.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.reveal-visivel {
  opacity: 1;
  transform: translateY(0);
}
