/* =========================================
   RESET
========================================= */

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

/* =========================================
   BASE GLOBAL
========================================= */

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: linear-gradient(180deg, #0f2027, #203a43, #2c5364);
    color: #ffffff;
    min-height: 100vh;
    overflow-x: hidden;
}

/* =========================================
   LINKS
========================================= */

a {
    color: #ffd54f;
    text-decoration: none;
    transition: 0.2s ease;
}

a:hover {
    opacity: 0.9;
}

/* =========================================
   BOTÕES
========================================= */

button {
    border: none;
    cursor: pointer;
    transition: 0.2s ease;
    font-family: inherit;
}

button:hover {
    transform: scale(1.02);
}

button:active {
    transform: scale(0.98);
}

/* =========================================
   LAYOUT PRINCIPAL
========================================= */

.main-wrapper {
    width: 100%;
    min-height: 100vh;
}

/* =========================================
   AGE GATE
========================================= */

#age-gate {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.age-box {
    width: 100%;
    max-width: 420px;
    background: #1b1f23;
    border-radius: 22px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 0 50px rgba(0,0,0,0.7);
}

.age-cover {
    width: 100%;
    border-radius: 18px;
    margin-bottom: 20px;
    object-fit: cover;
}

.age-btn {
    width: 100%;
    padding: 16px;
    background: #00e676;
    color: #000;
    border-radius: 14px;
    font-size: 18px;
    font-weight: bold;
}

.age-btn:hover {
    background: #00ff84;
}

.age-box nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.age-box nav a {
    color: #ccc;
    font-size: 14px;
}

.age-box nav a:hover {
    color: #ffffff;
}

/* =========================================
   APP CENTRAL
========================================= */

#app {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px 20px;
}

.card {
    width: 100%;
    max-width: 420px;
    background: #1b1f23;
    border-radius: 22px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 0 45px rgba(0,0,0,0.65);
}

.card h2 {
    font-size: 32px;
    margin-bottom: 12px;
    color: #ffd54f;
}

.card p {
    color: #d5d5d5;
    line-height: 1.6;
}

/* =========================================
   TELAS
========================================= */

#startScreen,
#resultScreen,
#thankScreen {
    animation: fadeIn 0.4s ease;
}

.lead {
    margin-bottom: 24px;
    font-size: 16px;
}

/* =========================================
   BOTÕES DO APP
========================================= */

#testLuck,
#closeResult,
.share-btn {
    width: 100%;
    padding: 16px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: bold;
    margin-top: 20px;
}

#testLuck {
    background: #ffd54f;
    color: #000;
}

#closeResult {
    background: #00e676;
    color: #000;
}

.share-btn {
    background: #ffffff;
    color: #000;
}

/* =========================================
   RESULTADO
========================================= */

#luckValue{
    display:block;
    width:100%;
    text-align:center;

    font-family:'Trebuchet MS', 'Segoe UI', Arial, sans-serif;
    font-size:clamp(3.2rem, 15vw, 5.6rem);
    line-height:1;
    font-weight:900;
    letter-spacing:-2px;

    color:#ffd86b;

    margin:18px auto 16px auto;

    text-shadow:
        0 2px 0 rgba(255,255,255,0.25),
        0 0 10px rgba(255,216,107,0.55),
        0 0 24px rgba(255,182,193,0.28),
        0 8px 20px rgba(0,0,0,0.35);

    animation:
        luckPopIn 0.75s cubic-bezier(.22,1.35,.36,1) both,
        luckCuteFloat 2.8s ease-in-out 0.75s infinite;
}

@keyframes luckPopIn{
    0%{
        opacity:0;
        transform:scale(0.35) translateY(18px) rotate(-6deg);
        filter:blur(4px);
    }

    60%{
        opacity:1;
        transform:scale(1.12) translateY(-4px) rotate(3deg);
        filter:blur(0);
    }

    80%{
        transform:scale(0.96) translateY(2px) rotate(-1deg);
    }

    100%{
        opacity:1;
        transform:scale(1) translateY(0) rotate(0deg);
        filter:blur(0);
    }
}

@keyframes luckCuteFloat{
    0%{
        transform:translateY(0) rotate(0deg) scale(1);
        text-shadow:
            0 2px 0 rgba(255,255,255,0.25),
            0 0 10px rgba(255,216,107,0.45),
            0 0 22px rgba(255,182,193,0.22),
            0 8px 20px rgba(0,0,0,0.35);
    }

    35%{
        transform:translateY(-5px) rotate(-1.5deg) scale(1.035);
        text-shadow:
            0 2px 0 rgba(255,255,255,0.32),
            0 0 16px rgba(255,216,107,0.7),
            0 0 30px rgba(255,182,193,0.36),
            0 10px 24px rgba(0,0,0,0.42);
    }

    70%{
        transform:translateY(3px) rotate(1.2deg) scale(0.99);
        text-shadow:
            0 2px 0 rgba(255,255,255,0.22),
            0 0 12px rgba(255,216,107,0.52),
            0 0 24px rgba(255,182,193,0.25),
            0 7px 18px rgba(0,0,0,0.32);
    }

    100%{
        transform:translateY(0) rotate(0deg) scale(1);
        text-shadow:
            0 2px 0 rgba(255,255,255,0.25),
            0 0 10px rgba(255,216,107,0.45),
            0 0 22px rgba(255,182,193,0.22),
            0 8px 20px rgba(0,0,0,0.35);
    }
}

#luckImage{
    font-size:clamp(2.8rem, 12vw, 4.4rem);
    text-align:center;
    margin:8px auto 4px auto;
    animation:
        luckEmojiPop 0.65s cubic-bezier(.22,1.35,.36,1) both,
        luckEmojiWiggle 2.6s ease-in-out 0.7s infinite;
    filter:drop-shadow(0 0 10px rgba(255,216,107,0.35));
}

@keyframes luckEmojiPop{
    0%{
        opacity:0;
        transform:scale(0.2) rotate(-12deg);
    }

    65%{
        opacity:1;
        transform:scale(1.18) rotate(8deg);
    }

    100%{
        opacity:1;
        transform:scale(1) rotate(0deg);
    }
}

@keyframes luckEmojiWiggle{
    0%,100%{
        transform:translateY(0) rotate(0deg) scale(1);
    }

    30%{
        transform:translateY(-4px) rotate(-6deg) scale(1.06);
    }

    60%{
        transform:translateY(2px) rotate(5deg) scale(0.98);
    }
}

.luck-main{
    display:block;
	text-align:center;
    font-size:1.1rem;
    font-weight:700;
    color:#ffffff;
    margin-bottom:10px;
}

.luck-optimistic{
    display:block;
    font-family:'Trebuchet MS', 'Segoe UI', sans-serif;
    font-size:1rem;
    line-height:1.7;
    font-style:italic;
    font-weight:600;

    color:#ffe082;

    background:rgba(255,255,255,0.05);

    border-left:4px solid #ffd54f;

    padding:12px 14px;

    border-radius:12px;

    margin-top:8px;

    box-shadow:0 0 12px rgba(255,213,79,0.12);

    animation:softGlow 3s ease-in-out infinite;
}


/* =========================================
   IMAGENS PERSONAGEM
========================================= */

.thuig {
    display: block;
    margin: 0 auto 20px auto;
    object-fit: contain;
}

.thuig.result {
    width: 180px;
}

.thuig.thanks {
    width: 120px;
}

/* =========================================
   SEO CONTENT
========================================= */

.content-section {
    width: 100%;
    padding: 20px;
    display: flex;
    justify-content: center;
}

.seo-article {
    width: 100%;
    max-width: 900px;
    background: rgba(0,0,0,0.22);
    border-radius: 22px;
    padding: 35px;
    backdrop-filter: blur(4px);
}

.seo-article h2 {
    color: #ffd54f;
    margin-top: 30px;
    margin-bottom: 18px;
    font-size: 28px;
}

.seo-article h3 {
    color: #00e676;
    margin-top: 28px;
    margin-bottom: 14px;
    font-size: 22px;
}

.seo-article p {
    color: #dddddd;
    line-height: 1.9;
    margin-bottom: 18px;
    font-size: 16px;
}

/* =========================================
   ADSENSE
========================================= */

.adsbygoogle {
    margin: 35px 0;
    border-radius: 12px;
    overflow: hidden;
}


/* =========================================
   PÁGINAS INTERNAS
========================================= */

.page-center {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.card-legal {
    background: #1b1f23;
    border-radius: 18px;
    padding: 30px;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 0 40px rgba(0,0,0,0.6);
    max-height: 85vh;
    overflow-y: auto;
}

.card-legal h1 {
    color: #ffd54f;
    font-size: 24px;
    text-align: center;
    margin-bottom: 18px;
}

.card-legal h2,
.card-legal h3 {
    color: #00e676;
    margin-top: 22px;
    margin-bottom: 10px;
}

.card-legal p,
.card-legal li {
    color: #cccccc;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 14px;
}

.email {
    color: #00e676;
    font-weight: bold;
    font-size: 18px;
    display: block;
    margin-bottom: 20px;
}

.btn-voltar {
    display: block;
    width: 100%;
    max-width: 220px;
    margin: 30px auto 0 auto;
    padding: 15px;
    background: #ffffff;
    color: #000000;
    text-align: center;
    border-radius: 12px;
    font-weight: bold;
    text-decoration: none;
}

.btn-voltar:hover {
    background: #f3f3f3;
}

/* =========================================
   SCROLLBAR
========================================= */

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

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

::-webkit-scrollbar-thumb {
    background: #444;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #666;
}

/* =========================================
   ANIMAÇÕES
========================================= */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

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

/* =========================================
   RESPONSIVO
========================================= */

@media (max-width: 768px) {

    .card,
    .card-legal,
    .seo-article,
    .age-box {
        padding: 22px;
    }

    .card h2 {
        font-size: 28px;
    }

    #luckValue {
        font-size: 44px;
    }

    .seo-article h2 {
        font-size: 24px;
    }

    .seo-article h3 {
        font-size: 20px;
    }

    .seo-article p {
        font-size: 15px;
    }

    .thuig.result {
        width: 150px;
    }
}

@media (max-width: 480px) {

    .card,
    .card-legal,
    .seo-article,
    .age-box {
        padding: 18px;
    }

    .card h2 {
        font-size: 24px;
    }

    #luckValue {
        font-size: 38px;
    }

    #luckText,
    .seo-article p,
    .card-legal p {
        font-size: 14px;
    }

    .seo-article h2 {
        font-size: 22px;
    }

    .seo-article h3 {
        font-size: 18px;
    }

    .thuig.result {
        width: 130px;
    }

    .thuig.thanks {
        width: 95px;
    }
}

/* adicionado em 23/05/2023 - novo conceito */

.daily-box{
    background: rgba(255,255,255,0.05);
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 14px;
    text-align:left;
    backdrop-filter: blur(4px);
}

.daily-box h3{
    margin:0 0 8px 0;
    font-size:15px;
    color:#ffd54f;
}

.daily-box p{
    margin:0;
    font-size:14px;
    line-height:1.5;
    color:#ddd;
}

/* =========================================
   FOOTER
========================================= */
.site-footer{width:100%; padding:30px 20px; margin-top:0px; text-align:center; border-top:1px solid rgba(255,255,255,0.06); background:rgba(0,0,0,0.12);}
.footer-links{display:flex; justify-content:center; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:16px;}
.footer-links a{color:#ccc; text-decoration:none; font-size:12px; transition:0.2s ease;}
.footer-links a:hover{color:#ffe082;}
.footer-copy{color:#777; font-size:13px; line-height:1.6;}

/* sanduiche */
/* TOPO */

.topbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    display:flex;
    justify-content:flex-start;
    padding:12px;
    box-sizing:border-box;
}

/* BOTÃO */

.menu-toggle{
  /*  background:rgba(0,0,0,0.45); */
	background-color: transparent;
    border:none;
    color:#fff;
    font-size:26px;
    width:46px;
    height:46px;
    border-radius:12px;
    backdrop-filter:blur(6px);
    cursor:pointer;
}

/* MENU */

.mobile-menu{
    position:fixed;
    top:0;
    left:-260px;
    width:220px;
    height:100vh;
    background:#111;
    padding:80px 20px 20px 20px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    gap:18px;
    transition:left 0.25s ease;
    z-index:9998;
    box-shadow:0 0 30px rgba(0,0,0,0.4);
}

.mobile-menu.open{
    left:0;
}

.mobile-menu a{
    color:#fff;
    text-decoration:none;
    font-size:16px;
    padding:12px;
    border-radius:10px;
    background:rgba(255,255,255,0.05);
}

/* OVERLAY */

.menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    z-index:9997;
}

.top-action-btn{
    display:block;
    max-width:320px;
    margin:12px auto;
    padding: 18px;
    border-radius: 12px;
    background:#ffffff;
    color:#000;
    text-align:center;
    text-decoration:none;
    font-size: 18px;
    margin-top: 26px;
    border: none;
    cursor: pointer;
}

.hero-text{
    text-align:center;
	font-size: 25px;

}

.more-links{
    margin:40px auto;
    padding:0 20px;
    max-width:420px;
}

.more-links h3{
    text-align:center;
    margin-bottom:20px;
    color:#ffe082;
    font-size:clamp(16px,4vw,18px);
    line-height:1.3;
}

.more-links a{
    display:block;
    background:rgba(255,255,255,0.05);
    margin-bottom:12px;
    padding:16px;
    border-radius:14px;
    color:#fff;
    text-decoration:none;
    line-height:1.4;
}

.related-links{
    margin-top:30px;
    padding:18px;
    background:rgba(255,255,255,0.05);
    border-radius:14px;
    text-align:center;
    line-height:1.8;
}

.related-links a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.related-links a:hover{
    opacity:0.85;
}

.btn-voltar {
    display: block;
    width: 100%;
	max-width: 200px; 
	margin: 30px auto 0 auto; 
    padding: 15px;
    background: #ffffff;
    color: #000;
    text-align: center;
    text-decoration: none;
    border-radius: 12px;
    font-weight: bold;
	box-sizing: border-box;
}

/* =========================================
   AVALIAÇÕES
========================================= */

.cute-rate-text{

    text-align:center;

    font-family:'Trebuchet MS','Segoe UI',sans-serif;

    font-size:20px;

    font-weight:700;

    color:#ffe082;

    margin-top:20px;
    margin-bottom:10px;

    text-shadow:
        0 0 10px rgba(255,224,130,0.25),
        0 2px 8px rgba(0,0,0,0.25);

    animation:cuteTextFloat 2.8s ease-in-out infinite;
}

@keyframes cuteTextFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-3px);
    }

    100%{
        transform:translateY(0);
    }

}

.cute-rate-btn{

    display:flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    width:100%;
    max-width:320px;

    margin:18px auto 12px auto;

    padding:16px 20px;

    border-radius:18px;

    background:
    linear-gradient(135deg,#ffe082,#ffd54f);

    color:#3b2b00;

    text-decoration:none;

    font-size:18px;

    font-weight:700;

    box-shadow:
        0 6px 18px rgba(255,213,79,0.28),
        inset 0 2px 0 rgba(255,255,255,0.35);

    transition:all 0.22s ease;

    position:relative;

    overflow:hidden;
}

.cute-rate-btn:hover{

    transform:translateY(-2px) scale(1.02);

}

.community-btn{

    display:block;

    width:100%;
    max-width:320px;

    margin:14px auto;

    padding:16px;

    border-radius:16px;

    background:
    rgba(255,255,255,0.06);

    color:#fff;

    text-align:center;

    text-decoration:none;

    font-size:16px;

    font-weight:700;

    border:1px solid rgba(255,255,255,0.08);

    transition:0.22s ease;

    backdrop-filter:blur(4px);
}

.community-btn:hover{

    transform:translateY(-2px);

    background:
    rgba(255,255,255,0.10);

}

.field-label{

    display:block;

    margin-top:18px;
    margin-bottom:10px;

    color:#ffe082;

    font-weight:700;

    font-size:15px;
}

.cute-input,
.cute-select{

    width:100%;

    border:none;

    border-radius:14px;

    padding:16px;

    background:#2b3137;

    color:#fff;

    font-size:15px;

    outline:none;
}

textarea{

    width:100%;

    min-height:120px;

    resize:none;

    border:none;

    border-radius:14px;

    padding:16px;

    margin-top:20px;

    background:#2b3137;

    color:#fff;

    font-size:15px;
}

.submit-rating{

    width:100%;

    padding:16px;

    border:none;

    border-radius:14px;

    background:#ffd54f;

    color:#000;

    font-size:17px;

    font-weight:bold;

    margin-top:20px;

    cursor:pointer;
}

.success-box{

    background:
    rgba(0,230,118,0.1);

    border:1px solid #00e676;

    padding:16px;

    border-radius:14px;

    margin-top:20px;

    color:#fff;

    text-align:center;
}

/* MINI AVALIAÇÕES HOME */

.mini-reviews{

    width:100%;

    max-width:420px;

    margin:30px auto 0 auto;
}

.mini-reviews h3{

    text-align:center;

    color:#ffe082;

    margin-bottom:18px;

    font-size:22px;
}

.mini-review-card{

    background:
    rgba(255,255,255,0.05);

    border-radius:18px;

    padding:18px;

    margin-bottom:14px;

    backdrop-filter:blur(4px);

    box-shadow:
    0 0 20px rgba(0,0,0,0.22);
}

.mini-review-top{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:10px;
}

.mini-avatar{

    font-size:24px;
}

.mini-name{

    color:#fff;

    font-weight:700;
}

.mini-stars{

    margin-bottom:10px;

    color:#ffd54f;
}

.mini-comment{

    color:#ddd;

    line-height:1.6;

    font-size:14px;
}

/* admin-avalicaoes */

/* =========================================
   ADMIN
========================================= */

.admin-card{

    background:#1b1f23;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;

    box-shadow:
    0 0 20px rgba(0,0,0,0.25);
}

.admin-actions{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

    margin-top:18px;
}

.admin-btn{

    padding:12px 16px;

    border-radius:12px;

    text-decoration:none;

    color:#000;

    font-weight:700;

    transition:0.2s ease;
}

.admin-btn:hover{

    transform:translateY(-2px);

    opacity:0.92;
}

.btn-ok{

    background:#00e676;
}

.btn-no{

    background:#ffb300;
}

.btn-del{

    background:#ff5252;

    color:#fff;
}

.status-label{

    margin-top:10px;

    display:inline-block;

    padding:6px 12px;

    border-radius:10px;

    background:
    rgba(255,255,255,0.08);

    color:#fff;

    font-size:13px;
}

/* LISTAGEM ADMIN */

.admin-list{

    width:100%;

    max-width:760px;

    margin:0 auto;

    padding:20px;
}

/* RESPONSIVO ADMIN */

@media(max-width:768px){

    .admin-actions{

        flex-direction:column;
    }

    .admin-btn{

        text-align:center;
    }
}

/* COMENTÁRIOS */
.mini-review-inline{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px;}
.mini-stars{color:#ffd54f; font-size:15px;}
.mini-comment{color:#ddd; line-height:1.6; font-size:14px; margin-top:6px; word-break:break-word;}


/* =========================================
   LISTA DE AVALIAÇÕES
========================================= */
.review-list{width:100%; max-width:760px; margin:0 auto; padding:20px;}
.review-card{background:#1b1f23; border-radius:22px; padding:22px; margin-bottom:20px; box-shadow:0 0 30px rgba(0,0,0,0.35); animation:fadeIn 0.35s ease;}

/* =========================================
   AVALIAÇÕES INLINE
========================================= */
.review-inline{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
.review-avatar{font-size:24px;}
.review-name{color:#ffe082; font-size:17px; font-weight:700;}
.review-stars{color:#ffd54f; font-size:15px;}
.review-date{color:#999; font-size:12px;}
.review-comment{color:#ddd; line-height:1.7; font-size:15px; word-break:break-word; white-space:pre-wrap;}

/* =========================================
   TÍTULOS DAS PÁGINAS
========================================= */
.page-title{text-align:center; color:#ffd54f; margin-top:40px; margin-bottom:10px; font-size:26px; line-height:1.3; padding:0 12px; font-weight:700;}
.page-subtitle{text-align:center; color:#ccc; margin-bottom:30px; padding:0 20px; font-size:15px; line-height:1.6;}


.thuig-inline img{width:140px; height:auto;}