.halloween-quiz,
.halloween-quiz * {
  box-sizing: border-box;
}

.halloween-quiz {
  font-family: Arial, Helvetica, sans-serif;
  background: #fff1bc;
  color: #333;
  -webkit-text-size-adjust: 100%;
}

.halloween-quiz .quiz-container {
  width: 100%;
  margin: auto;
  padding: 24px 20px 40px;
}

.halloween-quiz #try-again {
  margin-top: 44px;
}


*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial,Helvetica,sans-serif;
    background:#fff1bc;
    margin:0;
    color:#333;
    -webkit-text-size-adjust:100%;
}

.quiz-container{
    width:100%;
    //max-width:900px;
    margin:auto;
    padding:24px 20px 40px;
}

h1{
    text-align:center;
    color:#8c1c04;
    margin:0 0 10px;
    font-size:clamp(30px, 5vw, 42px);
    line-height:1.15;
}

.subtitle{
    text-align:center;
    max-width:760px;
    margin:0 auto 34px;
    line-height:1.6;
    font-size:18px;
    color:#555;
}

.question{
    margin:42px 0;
    scroll-margin-top:18px;
}

.question h2{
    margin:0 0 18px;
    font-size:clamp(22px, 3.5vw, 30px);
    line-height:1.25;
}

.answers{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.answer{
    background:#fff;
    border-radius:14px;
    border:3px solid transparent;
    cursor:pointer;
    overflow:hidden;
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
    user-select:none;
    box-shadow:0 6px 20px rgba(0,0,0,.06);
    min-width:0;
    touch-action:manipulation;
}

.answer:hover{
    transform:scale(1.02);
    border-color:#8c1c04;
    box-shadow:0 0 0 3px rgba(140,28,4,.14), 0 0 18px rgba(140,28,4,.35);
}

.answer:focus-visible{
    outline:3px solid #8c1c04;
    outline-offset:3px;
}

.answer.selected{
    border-color:#8c1c04;
    background:#fff1bc;
    box-shadow:0 0 0 3px rgba(140,28,4,.16), 0 0 20px rgba(140,28,4,.45);
}

.answer img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
}

.answer p{
    padding:14px;
    margin:0;
    text-align:center;
    font-weight:bold;
    line-height:1.45;
    font-size:16px;
}

#result{
    display:none;
    margin-top:52px;
    background:#fff;
    border-radius:16px;
    padding:26px 22px 30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.1);
}

#result-heading{
    color:#8c1c04;
    margin:0 0 10px;
    font-size:clamp(24px, 4vw, 32px);
    line-height:1.2;
}

.persona-result{
    margin-top:20px;
    padding-top:20px;
}

.result-persona-image{
    display:block;
    width:100%;
    max-width:420px;
    height:240px;
    object-fit:cover;
    margin:0 auto 18px;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(0,0,0,.10);
}

.persona-result + .persona-result{
    border-top:1px solid #f2d9e9;
}

.persona-name{
    margin:0 0 12px;
    color:#333;
    font-size:clamp(26px, 4vw, 34px);
    line-height:1.15;
}

.persona-description{
    line-height:1.65;
    max-width:700px;
    margin:0 auto 14px;
    font-size:17px;
}

.persona-cta{
    font-weight:bold;
    color:#8c1c04;
    margin:0 0 16px;
    line-height:1.5;
}

.booklist-box{
    background:#fff1bc;
    border:2px dotted #8c1c04;
    border-radius:12px;
    padding:14px;
    max-width:560px;
    margin:0 auto;
}

.booklist-label{
    display:block;
    font-size:14px;
    font-weight:bold;
    color:#000;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}

.booklist-link{
    color:#8c1c04;
    font-weight:bold;
    word-break:break-word;
    text-decoration:underline;
}

.booklist-link:hover{
    color:#6f1603;
}

.tie-cta{
    margin-top:24px;
    font-weight:bold;
    color:#8c1c04;
    line-height:1.5;
    font-size:18px;
}

button{
    background:#8c1c04;
    color:#fff;
    border:none;
    padding:14px 24px;
    border-radius:10px;
    font-size:16px;
    font-weight:bold;
    cursor:pointer;
    margin-top:24px;
    min-height:48px;
    touch-action:manipulation;
}

button:hover{
    background:#6f1603;
}

button:focus-visible{
    outline:3px solid #ff95c9;
    outline-offset:3px;
}

@media (max-width:768px){
    .quiz-container{
        padding:20px 16px 34px;
    }

    .subtitle{
        font-size:16px;
        margin-bottom:28px;
    }

    .answers{
        grid-template-columns:1fr;
        gap:14px;
    }

    .answer{
        border-radius:14px;
    }

    .answer img{
        height:210px;
    }

    .answer p{
        font-size:16px;
        padding:14px 16px 16px;
    }

    .question{
        margin:34px 0;
    }

    #result{
        padding:22px 16px 26px;
    }

    .persona-description{
        font-size:16px;
    }

    .result-persona-image{
        max-width:100%;
        height:220px;
        margin-bottom:16px;
    }

    .tie-cta{
        font-size:17px;
    }
}

@media (max-width:480px){
    .quiz-container{
        padding:18px 14px 30px;
    }

    .subtitle{
        font-size:15px;
    }

    .question h2{
        font-size:24px;
    }

    .answer img{
        height:190px;
    }

    .answer p{
        font-size:15px;
        line-height:1.4;
    }

    .result-persona-image{
        height:200px;
    }

    button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    .answer,
    button{
        transition:none;
    }

    .answer:hover{
        transform:none;
    }
}