:root{
    --primary:#004ea9;
    --primary-dark:#004ea9;
    --primary-light:#d9edf6;

    --background:#f4f7f9;
    --surface:rgba(255,255,255,.88);
    --surface-solid:#ffffff;
    --surface-light:#eef5f8;

    --border:rgba(7,56,77,.10);
    --border-primary:rgba(112,164,189,.35);

    --text:#004ea9;
    --text-secondary:#5f7480;
    --text-muted:#8a9aa3;

    --radius-sm:10px;
    --radius-md:18px;
    --radius-lg:28px;

    --shadow:0 18px 45px rgba(7,56,77,.10);
    --shadow-blue:0 12px 35px rgba(112,164,189,.22);
}

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

html{
    scroll-behavior:smooth;
}

body{
    background:var(--background);
    color:var(--text);
    font-family:"League Spartan",sans-serif;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    background:
    radial-gradient(circle at 15% 20%, rgba(112,164,189,.18), transparent 30%),
    radial-gradient(circle at 85% 40%, rgba(112,164,189,.10), transparent 28%),
    radial-gradient(circle at 50% 90%, rgba(112,164,189,.12), transparent 35%);
    pointer-events:none;
    z-index:-1;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}

.header{
    width:100%;
    position:fixed;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.78);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--border);
}

.nav-bar{
    max-width:1240px;
    margin:0 auto;
    padding:18px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.logo{
    font-size:40px;
    letter-spacing:1px;
    font-family:"Ballet",cursive;
    font-weight:400;
    white-space:nowrap;
    color:var(--text);
}

.logo span{
    color:var(--primary-dark);
}

.navegacao{
    display:flex;
    align-items:center;
    gap:24px;
}

.navegacao a{
    color:var(--text-secondary);
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.navegacao a:hover{
    color:var(--primary-dark);
}

.btn-topo{
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--primary);
    color:white;
    padding:11px 18px;
    border-radius:999px;
    font-weight:700;
    transition:.3s;
    white-space:nowrap;
}

.btn-topo:hover{
    box-shadow:var(--shadow-blue);
    transform:translateY(-2px);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 26px;
    border-radius:var(--radius-sm);
    font-weight:700;
    transition:.3s;
}

.btn-primary{
    background:var(--primary);
    color:white;
}

.btn-primary:hover{
    box-shadow:var(--shadow-blue);
    transform:translateY(-3px);
}

.btn-outline{
    border:1px solid var(--border-primary);
    color:var(--primary-dark);
    background:rgba(112,164,189,.09);
}

.btn-outline:hover{
    background:rgba(112,164,189,.16);
    transform:translateY(-3px);
}

.hero{
    min-height:100vh;
    position:relative;
    display:flex;
    align-items:center;
    padding:150px 32px 90px;
    overflow:hidden;
}

.hero-bg{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        rgba(244,247,249,.98),
        rgba(244,247,249,.86),
        rgba(244,247,249,.55)
    ),
    url("../img/coelho-banner.jpg") center/cover no-repeat;
    animation:slowZoom 18s ease-in-out infinite alternate;
    z-index:-3;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:230px;
    background:linear-gradient(transparent,var(--background));
    z-index:-2;
}

.hero-blur{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(112,164,189,.22);
    filter:blur(90px);
    z-index:-1;
}

.hero-blur-1{
    top:18%;
    left:-160px;
}

.hero-blur-2{
    right:-180px;
    bottom:10%;
}

.hero-wrapper{
    max-width:1240px;
    width:100%;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:60px;
    align-items:center;
}

.hero-content{
    width:100%;
}

.tag,
.section-label{
    color:var(--primary-dark);
    text-transform:uppercase;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:16px;
}

.hero h1{
    max-width:760px;
    font-size:clamp(46px,6vw,86px);
    line-height:.96;
    letter-spacing:-6px;
    margin-bottom:26px;
    color:var(text)
}

.hero-text{
    max-width:640px;
    color:var(--text-secondary);
    font-size:19px;
    line-height:1.7;
}

.hero-buttons{
    display:flex;
    gap:16px;
    margin-top:36px;
    flex-wrap:wrap;
}

.hero-mini-infos{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:38px;
    max-width:680px;
}

.hero-mini-infos div{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
    box-shadow:var(--shadow);
}

.hero-mini-infos strong{
    display:block;
    color:var(--primary-dark);
    font-size:16px;
    margin-bottom:5px;
}

.hero-mini-infos span{
    color:var(--text-secondary);
    font-size:13px;
}

.hero-visual{
    position:relative;
}

.hero-image-card{
    position:relative;
    border-radius:32px;
    overflow:hidden;
    border:1px solid var(--border-primary);
    box-shadow:var(--shadow);
    min-height:520px;
    background:var(--surface);
}

.hero-image-card img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
}

.hero-image-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        transparent,
        rgba(0,0,0,.28)
    );
}

.hero-image-badge{
    position:absolute;
    left:24px;
    bottom:24px;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.86);
    color:#17313f;
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
    backdrop-filter:blur(12px);
}

.hero-image-badge i{
    color:var(--primary-dark);
    font-size:20px;
}

.scroll-indicator{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--text-secondary);
    font-size:13px;
    font-weight:700;
}

.scroll-indicator span{
    width:18px;
    height:30px;
    border:2px solid var(--primary-dark);
    border-radius:999px;
    position:relative;
}

.scroll-indicator span::before{
    content:"";
    position:absolute;
    top:6px;
    left:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--primary-dark);
    transform:translateX(-50%);
    animation:scrollDot 1.4s infinite;
}

@keyframes scrollDot{
    0%{
        opacity:1;
        transform:translate(-50%,0);
    }

    100%{
        opacity:0;
        transform:translate(-50%,11px);
    }
}

body.tema-escuro .hero-bg{
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.96),
        rgba(0,0,0,.76),
        rgba(0,0,0,.36)
    ),
    url("../img/coelho-banner.jpg") center/cover no-repeat;
}

body.tema-escuro .hero-image-badge{
    background:rgba(18,18,18,.78);
    color:white;
    border:1px solid var(--border);
}

body.tema-escuro .hero-image-card::after{
    background:
    linear-gradient(
        transparent,
        rgba(0,0,0,.55)
    );
}

@media(max-width:1050px){

    .hero{
        min-height:auto;
        padding:135px 24px 80px;
    }

    .hero-wrapper{
        grid-template-columns:1fr;
        gap:44px;
    }

    .hero-visual{
        order:2;
    }

    .hero-image-card,
    .hero-image-card img{
        min-height:380px;
    }

}

@media(max-width:700px){

    .hero{
        padding:120px 22px 70px;
    }

    .hero h1{
        font-size:clamp(42px,14vw,62px);
        letter-spacing:-2px;
    }

    .hero-text{
        font-size:16px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .btn{
        width:100%;
    }

    .hero-mini-infos{
        grid-template-columns:1fr;
    }

    .hero-image-card,
    .hero-image-card img{
        min-height:320px;
    }

    .hero-image-badge{
        left:16px;
        right:16px;
        justify-content:center;
        text-align:center;
    }

    .scroll-indicator{
        display:none;
    }

}

.section{
    max-width:1240px;
    margin:110px auto;
    padding:0 32px;
}

.section-title{
    text-align:center;
    max-width:760px;
    margin:0 auto 52px;
}

.section-title h2{
    font-size:clamp(32px,4vw,52px);
    line-height:1.05;
    letter-spacing:-2px;
    margin-bottom:14px;
    color:#004ea9;
}

.section-title span{
    color:var(--text-secondary);
    font-size:18px;
    line-height:1.6;
}

.sobre-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:32px;
    align-items:stretch;
}

.sobre-image{
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--border);
    min-height:460px;
    box-shadow:var(--shadow);
}

.sobre-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.sobre-info{
    background:var(--surface);
    backdrop-filter:blur(18px);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:36px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow:var(--shadow);
}

.sobre-info p{
    color:var(--text-secondary);
    line-height:1.8;
    margin-bottom:18px;
}

.sobre-lista{
    display:grid;
    gap:14px;
    margin-top:18px;
}

.sobre-lista div{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:var(--surface-light);
}

.sobre-lista i{
    color:var(--primary-dark);
    font-size:22px;
}

.racas-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}
.cuidados-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.raca-card,
.cuidado{
    background:var(--surface);
    backdrop-filter:blur(18px);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:30px;
    transition:.3s;
    box-shadow:var(--shadow);
}

.raca-card:hover,
.cuidado:hover{
    transform:translateY(-8px);
    border-color:var(--border-primary);
    box-shadow:var(--shadow-blue);
}

.raca-card i,
.cuidado i{
    color:var(--primary-dark);
    font-size:34px;
    margin-bottom:22px;
}

.raca-card h3,
.cuidado h3{
    font-size:22px;
    margin-bottom:12px;
    color:var(--text);
}

.raca-card p,
.cuidado p{
    color:var(--text-secondary);
    line-height:1.7;
}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.filhotes-grid{
    align-items:stretch;
}

.coelho-card{
    background:var(--surface);
    backdrop-filter:blur(18px);
    border:1px solid var(--border);
    border-radius:26px;
    overflow:hidden;
    transition:.35s;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
}

.coelho-card:hover{
    transform:translateY(-10px);
    border-color:var(--border-primary);
    box-shadow:var(--shadow-blue);
}

.coelho-card-destaque{
    border-color:var(--border-primary);
}

.coelho-image{
    height:270px;
    position:relative;
    overflow:hidden;
}

.coelho-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        transparent,
        rgba(0,0,0,.22)
    );
    z-index:1;
}

.coelho-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.45s;
}

.coelho-card:hover .coelho-image img{
    transform:scale(1.08);
}

.badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:2;
    color:white;
    padding:8px 13px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
}

.badge-disponivel{
    background:var(--primary);
}

.badge-reserva{
    background:#8b5cf6;
}

.badge-indisponivel{
    background:#bb533a;
}

.coelho-content{
    padding:24px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.coelho-topo{
    margin-bottom:18px;
}

.coelho-topo h3{
    font-size:24px;
    margin-bottom:6px;
    color:var(--text);
}

.coelho-topo span{
    color:var(--primary-dark);
    font-weight:800;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.coelho-details{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:11px;
    margin-bottom:18px;
}

.coelho-details span{
    color:var(--text-secondary);
    font-size:14px;
    padding:10px;
    border-radius:12px;
    background:rgba(112,164,189,.08);
}

.coelho-details i{
    color:var(--primary-dark);
    margin-right:5px;
}

.coelho-descricao{
    color:var(--text-secondary);
    line-height:1.7;
    font-size:14px;
    margin-bottom:24px;
}

.coelho-footer{
    margin-top:auto;
}

.coelho-content strong{
    display:block;
    color:var(--primary-dark);
    font-size:22px;
    margin-bottom:16px;
}

.btn-card{
    display:block;
    text-align:center;
    padding:14px;
    border-radius:14px;
    background:var(--primary);
    color:white;
    font-weight:800;
    transition:.3s;
}

.btn-card:hover{
    box-shadow:var(--shadow-blue);
    transform:translateY(-2px);
}

body.tema-escuro .coelho-details span{
    background:rgba(255,255,255,.04);
}

body.tema-escuro .coelho-topo span,
body.tema-escuro .coelho-details i,
body.tema-escuro .coelho-content strong{
    color:var(--primary);
}

body.tema-escuro .btn-card{
    color:#050505;
}

@media(max-width:1050px){

    .cards{
        grid-template-columns:1fr;
    }

    .coelho-image{
        height:320px;
    }

}

@media(max-width:700px){

    .coelho-card{
        border-radius:22px;
    }

    .coelho-image{
        height:260px;
    }

    .coelho-content{
        padding:20px;
    }

    .coelho-details{
        grid-template-columns:1fr;
    }

    .coelho-topo h3{
        font-size:22px;
    }

}

.depoimentos-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.depoimento{
    background:var(--surface);
    backdrop-filter:blur(18px);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:30px;
    box-shadow:var(--shadow);
}

.stars{
    color:var(--primary-dark);
    margin-bottom:18px;
    letter-spacing:3px;
}

.depoimento p{
    color:var(--text-secondary);
    line-height:1.7;
    margin-bottom:20px;
}

.depoimento strong{
    color:var(--text);
}

.cta{
    max-width:1240px;
    margin:110px auto;
    padding:72px 32px;
    text-align:center;
    border-radius:var(--radius-lg);
    border:1px solid var(--border-primary);
    background:
    linear-gradient(135deg, rgba(112,164,189,.22), rgba(255,255,255,.92)),
    var(--surface-solid);
    box-shadow:var(--shadow);
}

.cta h2{
    font-size:clamp(32px,4vw,54px);
    letter-spacing:-2px;
    margin-bottom:16px;
    color:var(--text);
}

.cta p{
    color:var(--text-secondary);
    font-size:18px;
    margin-bottom:32px;
}

.footer{
    border-top:1px solid var(--border);
    background:#ffffff;
    padding:60px 32px 24px;
}

.footer-grid{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.4fr .7fr 1fr;
    gap:40px;
}

.footer p{
    color:var(--text-secondary);
    line-height:1.7;
    margin-top:16px;
}

.footer h4{
    margin-bottom:18px;
    color:var(--text);
}

.footer a:not(.logo){
    display:block;
    color:var(--text-secondary);
    margin-bottom:10px;
    transition:.3s;
}

.footer a:hover{
    color:var(--primary-dark);
}

.footer i{
    color:var(--primary-dark);
    margin-right:8px;
}

.footer-bottom{
    max-width:1240px;
    margin:40px auto 0;
    padding-top:24px;
    border-top:1px solid var(--border);
    text-align:center;
}

.theme-toggle{
    width:58px;
    height:32px;
    border:1px solid var(--border-primary);
    border-radius:999px;
    background:rgba(112,164,189,.12);
    padding:3px;
    cursor:pointer;
    display:flex;
    align-items:center;
    transition:.35s;
}

.theme-toggle:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-blue);
}

.theme-toggle-ball{
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--primary);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    transition:.35s;
}

.theme-toggle.ativo{
    background:rgba(112,164,189,.25);
}

.theme-toggle.ativo .theme-toggle-ball{
    transform:translateX(26px);
    background:var(--primary-dark);
    color:white;
}

body,
.header,
.hero-specs,
.sobre-info,
.raca-card,
.cuidado,
.coelho-card,
.depoimento,
.cta,
.footer,
.btn,
.btn-card,
.btn-topo{
    transition:
    background-color .35s ease,
    color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

body.tema-escuro{
    --primary:#004ea9;
    --primary-dark:#385a81;
    --primary-light:#76a4d8;

    --background:#070707;
    --surface:rgba(18,18,18,.78);
    --surface-solid:#121212;
    --surface-light:#1a1a1a;

    --border:rgba(255,255,255,.09);
    --border-primary:rgba(112,164,189,.35);

    --text:#ffffff;
    --text-secondary:#bdbdbd;
    --text-muted:#777777;

    --shadow:0 20px 50px rgba(0,0,0,.45);
    --shadow-blue:0 0 35px rgba(112,164,189,.18);
}

body.tema-escuro::before{
    background:
    radial-gradient(circle at 15% 20%, rgba(112,164,189,.14), transparent 30%),
    radial-gradient(circle at 85% 40%, rgba(112,164,189,.08), transparent 28%),
    radial-gradient(circle at 50% 90%, rgba(112,164,189,.08), transparent 35%);
}

body.tema-escuro .header{
    background:rgba(7,7,7,.72);
}

body.tema-escuro .logo span,
body.tema-escuro .navegacao a:hover,
body.tema-escuro .tag,
body.tema-escuro .section-label,
body.tema-escuro .hero-specs strong,
body.tema-escuro .sobre-lista i,
body.tema-escuro .raca-card i,
body.tema-escuro .cuidado i,
body.tema-escuro .coelho-details i,
body.tema-escuro .coelho-content strong,
body.tema-escuro .stars,
body.tema-escuro .footer a:hover,
body.tema-escuro .footer i{
    color:var(--primary);
}

body.tema-escuro .btn-topo,
body.tema-escuro .btn-primary,
body.tema-escuro .btn-card{
    color:#050505;
}

body.tema-escuro .btn-outline{
    color:var(--primary-light);
    background:rgba(112,164,189,.06);
}

body.tema-escuro .hero-bg{
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.96),
        rgba(0,0,0,.72),
        rgba(0,0,0,.35)
    ),
    url("../img/coelho-banner.jpg") center/cover no-repeat;
}

body.tema-escuro .hero::after{
    background:linear-gradient(transparent,var(--background));
}

body.tema-escuro .hero-specs{
    background:rgba(18,18,18,.62);
    box-shadow:none;
}

body.tema-escuro .sobre-lista div{
    background:rgba(255,255,255,.03);
}

body.tema-escuro .badge{
    color:#050505;
}

body.tema-escuro .cta{
    background:
    linear-gradient(135deg, rgba(112,164,189,.2), rgba(18,18,18,.88)),
    var(--surface-solid);
}

body.tema-escuro .footer{
    background:#050505;
}

@keyframes slowZoom{
    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.08);
    }
}

@media(max-width:1050px){
    .navegacao{
        display:none;
    }

    .sobre-grid,
    .cards,
    .depoimentos-grid{
        grid-template-columns:1fr;
    }

    .racas-grid,
    .cuidados-grid,
    .hero-specs{
        grid-template-columns:repeat(4,1fr);
    }

    .hero-specs div:nth-child(2){
        border-right:none;
    }

    .hero-specs div{
        border-bottom:1px solid var(--border);
    }

    .hero-specs div:nth-child(3),
    .hero-specs div:nth-child(4){
        border-bottom:none;
    }
}

@media(max-width:700px){
    .btn-topo{
        display:none;
    }

    .nav-bar{
        padding:16px 22px;
    }

    .logo{
        font-size:34px;
    }

    .hero{
        padding:130px 22px 60px;
    }

    .hero h1{
        letter-spacing:-2px;
    }

    .hero-text{
        font-size:16px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .btn{
        width:100%;
    }

    .hero-specs{
        grid-template-columns:1fr;
        margin-top:40px;
    }

    .hero-specs div{
        border-right:none;
        border-bottom:1px solid var(--border);
        padding:18px;
    }

    .hero-specs div:last-child{
        border-bottom:none;
    }

    .section{
        margin:80px auto;
        padding:0 22px;
    }

    .sobre-info,
    .raca-card,
    .cuidado,
    .depoimento{
        padding:24px;
    }

    .sobre-image{
        min-height:280px;
    }

    .coelho-details,
    .racas-grid,
    .cuidados-grid{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .cta{
        margin:80px 22px;
        padding:50px 24px;
    }
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.btn-instagram{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary-dark);
    background:rgba(112,164,189,.12);
    border:1px solid var(--border-primary);
    transition:.3s;
}

.btn-instagram:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-blue);
}

.menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:var(--primary);
    color:white;
    font-size:25px;
    cursor:pointer;
}

.mobile-menu{
    display:none;
}

.whatsapp-float{
    position:fixed;
    right:24px;
    bottom:24px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    z-index:999;
    box-shadow:0 10px 28px rgba(37,211,102,.35);
    transition:.3s;
}

.whatsapp-float:hover{
    transform:translateY(-4px) scale(1.04);
}

@media(max-width:1050px){

    .menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .navegacao{
        display:none;
    }

    .btn-topo{
        display:none;
    }

    .mobile-menu{
        position:fixed;
        top:76px;
        left:22px;
        right:22px;
        display:flex;
        flex-direction:column;
        gap:10px;
        padding:18px;
        background:var(--surface);
        border:1px solid var(--border);
        border-radius:22px;
        box-shadow:var(--shadow);
        backdrop-filter:blur(18px);
        z-index:49;
        opacity:0;
        pointer-events:none;
        transform:translateY(-12px);
        transition:.3s;
    }

    .mobile-menu.ativo{
        opacity:1;
        pointer-events:auto;
        transform:translateY(0);
    }

    .mobile-menu a{
        padding:13px 14px;
        border-radius:14px;
        color:var(--text);
        font-weight:700;
        background:rgba(112,164,189,.08);
    }

    .mobile-social{
        color:var(--primary-dark) !important;
    }

}

@media(max-width:700px){

    .btn-instagram{
        display:none;
    }

    .whatsapp-float{
        width:54px;
        height:54px;
        right:18px;
        bottom:18px;
        font-size:28px;
    }

}

@media(max-width:700px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .header{
        width:100%;
        overflow:hidden;
    }

    .nav-bar{
        width:100%;
        max-width:100%;
        padding:14px 14px;
        gap:10px;
    }

    .logo{
        font-size:30px;
        max-width:190px;
        overflow:hidden;
        white-space:nowrap;
    }

    .nav-actions{
        margin-left:auto;
        flex-shrink:0;
        gap:8px;
    }

    .theme-toggle{
        width:52px;
        height:30px;
        flex-shrink:0;
    }

    .menu-toggle{
        width:42px;
        height:42px;
        flex-shrink:0;
    }

    .hero,
    .section,
    .cta,
    .footer{
        max-width:100%;
        overflow:hidden;
    }

}

@media(max-width:700px){

    .hero{

        padding:112px 18px 64px;

        min-height:auto;

    }

    .hero-wrapper{

        display:flex;

        flex-direction:column;

        gap:32px;

    }

    .hero-content{

        text-align:left;

    }

    .tag{

        font-size:11px;

        letter-spacing:1.5px;

        margin-bottom:14px;

    }

    .hero h1{

        font-size:clamp(42px, 13vw, 58px);

        line-height:.98;

        letter-spacing:-2px;

        margin-bottom:20px;

    }

    .hero-text{

        font-size:15.5px;

        line-height:1.65;

    }

    .hero-buttons{

        margin-top:28px;

        gap:12px;

    }

    .hero-mini-infos{

        grid-template-columns:1fr;

        gap:10px;

        margin-top:28px;

    }

    .hero-mini-infos div{

        padding:14px 16px;

        border-radius:16px;

    }

    .hero-mini-infos strong{

        font-size:15px;

    }

    .hero-mini-infos span{

        font-size:12.5px;

    }

    .hero-visual{

        width:100%;

        order:2;

    }

    .hero-image-card{

        min-height:300px;

        border-radius:26px;

    }

    .hero-image-card img{

        min-height:300px;

    }

    .hero-image-badge{

        left:14px;

        right:14px;

        bottom:14px;

        justify-content:center;

        text-align:center;

        padding:12px 14px;

        font-size:13px;

    }

    .scroll-indicator{

        display:none;

    }
    
    .sobre-image{
        display: none;
    }
}

/* =========================
   POR QUE ESCOLHER
========================= */

.escolher-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.escolher-card{
    position:relative;
    overflow:hidden;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:26px;
    padding:32px 26px;
    box-shadow:var(--shadow);
    transition:.35s;
}

.escolher-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--primary),var(--primary-dark));
}

.escolher-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    border-radius:50%;
    background:rgba(112,164,189,.16);
    filter:blur(35px);
    right:-45px;
    top:-45px;
    opacity:0;
    transition:.35s;
}

.escolher-card:hover{
    transform:translateY(-8px);
    border-color:var(--border-primary);
    box-shadow:var(--shadow-blue);
}

.escolher-card:hover::after{
    opacity:1;
}

.escolher-icon{
    width:64px;
    height:64px;
    border-radius:22px;
    background:rgba(112,164,189,.13);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
    color:var(--primary-dark);
    font-size:30px;
    transition:.35s;
}

.escolher-card:hover .escolher-icon{
    transform:scale(1.08) rotate(-3deg);
    background:var(--primary);
    color:white;
}

.escolher-card h3{
    color:var(--text);
    font-size:22px;
    margin-bottom:14px;
}

.escolher-card p{
    color:var(--text-secondary);
    line-height:1.7;
    font-size:15px;
}

body.tema-escuro .escolher-icon{
    color:var(--primary);
    background:rgba(112,164,189,.12);
}

body.tema-escuro .escolher-card:hover .escolher-icon{
    color:#050505;
    background:var(--primary);
}

/* =========================
   DEPOIMENTOS PREMIUM
========================= */

.depoimentos-carousel{
    max-width:860px;
    margin:0 auto;
    position:relative;
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.depoimento-premium{
    display:none;
    width:100%;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:32px;
    padding:46px;
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
    text-align:center;
    animation:depoimentoFade .45s ease;
}

.depoimento-premium.ativo{
    display:block;
}

.quote-icon{
    position:absolute;
    top:-25px;
    left:34px;
    font-size:140px;
    line-height:1;
    color:rgba(112,164,189,.18);
    font-family:serif;
}

.depoimento-premium p{
    position:relative;
    z-index:2;
    color:var(--text-secondary);
    font-size:21px;
    line-height:1.75;
    max-width:690px;
    margin:0 auto 24px;
}

.depoimento-premium .stars{
    color:#f5b301;
    letter-spacing:4px;
    font-size:18px;
    margin-bottom:26px;
}

.depoimento-autor{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--primary);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:20px;
}

.depoimento-autor strong{
    display:block;
    color:var(--text);
    font-size:16px;
    text-align:left;
}

.depoimento-autor span{
    display:block;
    color:var(--text-secondary);
    font-size:13px;
    text-align:left;
}

.depoimento-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:var(--primary);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:5;
    transition:.3s;
    box-shadow:var(--shadow);
}

.depoimento-btn:hover{
    transform:translateY(-50%) scale(1.07);
    box-shadow:var(--shadow-blue);
}

.depoimento-prev{
    left:-23px;
}

.depoimento-next{
    right:-23px;
}

.depoimento-dots{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:22px;
}

.dot{
    width:10px;
    height:10px;
    border:none;
    border-radius:50%;
    background:rgba(112,164,189,.35);
    cursor:pointer;
    transition:.3s;
}

.dot.ativo{
    width:28px;
    border-radius:999px;
    background:var(--primary-dark);
}

body.tema-escuro .avatar{
    color:#050505;
}

body.tema-escuro .depoimento-btn{
    color:#050505;
}

body.tema-escuro .dot.ativo{
    background:var(--primary);
}

@keyframes depoimentoFade{
    from{
        opacity:0;
        transform:translateY(12px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   RESPONSIVO ETAPAS 1 E 2
========================= */

@media(max-width:1050px){

    .escolher-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:700px){

    .escolher-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .escolher-card{
        padding:26px 22px;
        border-radius:22px;
    }

    .escolher-icon{
        width:58px;
        height:58px;
        font-size:27px;
        margin-bottom:20px;
    }

    .escolher-card h3{
        font-size:20px;
    }

    .depoimentos-carousel{
        min-height:auto;
        display:block;
    }

    .depoimento-premium{
        padding:34px 24px;
        border-radius:26px;
    }

    .quote-icon{
        font-size:100px;
        left:22px;
        top:-18px;
    }

    .depoimento-premium p{
        font-size:17px;
        line-height:1.65;
    }

    .depoimento-btn{
        display:none;
    }

    .depoimento-autor{
        justify-content:flex-start;
    }

}


/* =========================
   CTA PREMIUM
========================= */

.cta-premium{
    max-width:1240px;
    margin:110px auto;
    padding:0;
    border-radius:34px;
    overflow:hidden;
    border:1px solid var(--border-primary);
    background:
    linear-gradient(
        135deg,
        rgba(112,164,189,.24),
        rgba(255,255,255,.94)
    ),
    var(--surface-solid);
    box-shadow:var(--shadow);
}

.cta-content{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:stretch;
    min-height:520px;
}

.cta-texto{
    padding:64px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.cta-icon{
    width:66px;
    height:66px;
    border-radius:24px;
    background:var(--primary);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:24px;
    box-shadow:var(--shadow-blue);
}

.cta-texto h2{
    font-size:clamp(34px,4vw,58px);
    line-height:1.02;
    letter-spacing:-2px;
    color:var(--text);
    margin-bottom:18px;
}

.cta-texto > p:not(.section-label){
    color:var(--text-secondary);
    font-size:18px;
    line-height:1.75;
    max-width:620px;
    margin-bottom:34px;
}

.cta-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.cta-beneficios{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.cta-beneficios span{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--text-secondary);
    font-weight:700;
    font-size:14px;
}

.cta-beneficios i{
    color:var(--primary-dark);
}

.cta-image{
    position:relative;
    min-height:100%;
    overflow:hidden;
}

.cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.cta-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        rgba(255,255,255,.7),
        transparent
    );
}

body.tema-escuro .cta-premium{
    background:
    linear-gradient(
        135deg,
        rgba(112,164,189,.20),
        rgba(18,18,18,.88)
    ),
    var(--surface-solid);
}

body.tema-escuro .cta-image::after{
    background:
    linear-gradient(
        90deg,
        rgba(18,18,18,.82),
        transparent
    );
}

body.tema-escuro .cta-icon{
    color:#050505;
}

body.tema-escuro .cta-beneficios i{
    color:var(--primary);
}

@media(max-width:900px){

    .cta-content{
        grid-template-columns:1fr;
    }

    .cta-image{
        min-height:320px;
        order:-1;
    }

    .cta-image::after{
        background:
        linear-gradient(
            transparent,
            var(--surface-solid)
        );
    }

    body.tema-escuro .cta-image::after{
        background:
        linear-gradient(
            transparent,
            var(--surface-solid)
        );
    }

    .cta-texto{
        padding:42px 28px;
    }

}

@media(max-width:700px){

    .cta-premium{
        margin:80px 22px;
        border-radius:28px;
    }

    .cta-texto{
        padding:34px 24px;
    }

    .cta-icon{
        width:58px;
        height:58px;
        font-size:26px;
        border-radius:20px;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-buttons .btn{
        width:100%;
    }

    .cta-image{
        min-height:260px;
    }

}


/*==============================
GALERIA DOS FILHOTES
==============================*/

.coelho-image{

    position:relative;

    height:260px;

    overflow:hidden;

}

.coelhoSwiper{

    width:100%;
    height:100%;

}

.coelhoSwiper .swiper-slide{

    display:flex;

    justify-content:center;

    align-items:center;

}

.coelhoSwiper img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.35s;

}

.coelho-card:hover .coelhoSwiper img{

    transform:scale(1.04);

}

/* ======================
   PAGINAÇÃO
====================== */

.swiper-pagination{

    bottom:12px !important;

}

.swiper-pagination-bullet{

    width:8px;

    height:8px;

    background:#ffffff;

    opacity:.45;

    transition:.25s;

}

.swiper-pagination-bullet-active{

    opacity:1;

    transform:scale(1.3);

}

/* ======================
   SETAS
====================== */

.swiper-button-prev,
.swiper-button-next{

    width:40px;

    height:40px;

    border-radius:50%;

    background:rgba(255,255,255,.88);

    backdrop-filter:blur(6px);

    box-shadow:0 5px 15px rgba(0,0,0,.18);

    color:#0b5d73;

    transition:.25s;

    opacity:0;

}

.coelho-card:hover .swiper-button-prev,
.coelho-card:hover .swiper-button-next{

    opacity:1;

}

.swiper-button-prev:hover,
.swiper-button-next:hover{

    background:#0b5d73;

    color:white;

}

.swiper-button-prev::after,
.swiper-button-next::after{

    font-size:16px;

    font-weight:bold;

}

.swiper-button-prev{

    left:12px;

}

.swiper-button-next{

    right:12px;

}

/*=========================
MOBILE
=========================*/

@media(max-width:768px){

    .swiper-button-prev,
    .swiper-button-next{

        display:none;

    }

}


/* Seleciona o card quando ele tiver o badge de indisponível */
.coelho-card:has(.badge-indisponivel) .coelho-image img,
.coelho-card:has(.badge-indisponivel) .coelho-content {
  filter: blur(5px);
  pointer-events: none;
  user-select: none;
  opacity: 0.7;
}
.coelho-card:has(.badge-indisponivel) {
  position: relative;
}

.coelho-card:has(.badge-indisponivel) .badge-indisponivel {
  filter: none !important;
  position: absolute;
  z-index: 10;

  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.2rem;
  padding: 10px 20px;
}



@media(max-width:700px){

    .hero-mini-infos{
        display: none;
    }

    .sobre-lista{
        display:none;
    }

    .display-mobile{
        display: none;
    }

    .cta-image{
        display: none;
    }
}
