/* SLO Memories Quizzes */
:root{
    --bg:#f6f4ef;
    --card:#ffffff;
    --text:#222;
    --muted:#6b6b6b;
    --line:#ddd8ce;
    --accent:#1f5f8b;
    --good:#166534;
    --good-bg:#ecfdf3;
    --bad:#9f1239;
    --bad-bg:#fff1f2;
    --button:#1f5f8b;
    --button-text:#fff;
  }
  *{box-sizing:border-box}
  
  .quiz-wrap{
    max-width:860px;
    margin:32px auto;
    padding:0 18px 40px;
  }
  .quiz-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 28px rgba(0,0,0,.05);
  }
  .quiz-top{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:18px 22px;
    border-bottom:1px solid var(--line);
  }
  .quiz-title{
    margin:0;
    font-size:1.1rem;
    font-weight:700;
  }
  .progress{
    color:var(--muted);
    font-weight:700;
    white-space:nowrap;
  }
  .photo{
    min-height:280px;
    background:#ece8df;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#716b61;
    text-align:center;
    padding:28px;
  }
  .photo img{
    display:block;
    width:100%;
    max-height:520px;
    object-fit:cover;
  }
  .content{
    padding:24px 22px 26px;
  }
  .story{
    font-size:1rem;
    line-height:1.6;
    margin:0 0 22px;
  }
  .story p{
    margin:0 0 12px;
  }
  .question{
    font-size:1.35rem;
    line-height:1.35;
    margin:0 0 16px;
  }
  .answers{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .answer{
    width:100%;
    border:1px solid #bfc7cf;
    background:#fff;
    border-radius:10px;
    padding:14px 16px;
    font:inherit;
    text-align:left;
    cursor:pointer;
    transition:.15s ease;
  }
  .answer:hover:not(:disabled){
    border-color:var(--accent);
    transform:translateY(-1px);
  }
  .answer:disabled{cursor:default}
  .answer.selected.correct{
    border-color:var(--good);
    background:var(--good-bg);
  }
  .answer.selected.wrong{
    border-color:var(--bad);
    background:var(--bad-bg);
  }
  .feedback{
    display:none;
    margin-top:18px;
    padding:15px 16px;
    border-radius:10px;
    line-height:1.5;
  }
  .feedback.good{
    display:block;
    color:var(--good);
    background:var(--good-bg);
    border:1px solid #bbf7d0;
  }
  .feedback.bad{
    display:block;
    color:var(--bad);
    background:var(--bad-bg);
    border:1px solid #fecdd3;
  }
  .memory-link{
    display:none;
    margin-top:14px;
  }
  .memory-link a{
    color:var(--accent);
    font-weight:700;
    text-decoration:none;
  }
  .memory-link a:hover{text-decoration:underline}
  .controls{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-top:22px;
  }
  .score{
    color:var(--muted);
    font-weight:600;
  }
  .continue{
    border:0;
    border-radius:10px;
    background:var(--button);
    color:var(--button-text);
    padding:12px 18px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
  }
  .continue:disabled{
    background:#aaa;
    cursor:default;
  }
  .pending{
    display:none;
    margin-top:14px;
    color:var(--muted);
    font-size:.94rem;
  }
  .results{
    display:none;
    text-align:center;
    padding:34px 18px 12px;
  }
  .results h2{margin:0 0 10px}
  .result-label{
    font-size:1.15rem;
    font-weight:700;
    margin:8px 0;
  }
  .result-prize{
    margin:16px auto 10px;
    max-width:600px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8f6f1;
    font-size:1.08rem;
  }
  .result-disclaimer{
    margin:10px auto 0;
    max-width:620px;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.45;
  }
  .perfect-wrap{
    position:relative;
    margin:18px auto 0;
    max-width:700px;
    padding:20px 18px 22px;
    border:3px solid #111;
    border-radius:18px;
    background:
      radial-gradient(circle at top left, rgba(255,255,255,.28) 0 16%, transparent 17%),
      linear-gradient(135deg, #ff4fd8 0%, #8f5bff 32%, #26d6ff 65%, #fff06a 100%);
    box-shadow:
      0 0 0 4px rgba(255,255,255,.7),
      0 14px 30px rgba(0,0,0,.18);
    overflow:hidden;
  }
  .perfect-wrap::before{
    content:"";
    position:absolute;
    inset:8px;
    border:2px dashed rgba(255,255,255,.7);
    border-radius:12px;
    pointer-events:none;
  }
  .celebrate-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:8px;
  }
  .celebrate-emoji{
    font-size:2rem;
    line-height:1;
    display:inline-block;
    filter:drop-shadow(0 2px 0 rgba(0,0,0,.18));
    animation:retroPulse 1.1s ease-in-out infinite;
  }
  .celebrate-emoji:nth-child(2){animation-delay:.12s}
  .celebrate-emoji:nth-child(3){animation-delay:.24s}
  .celebrate-emoji:nth-child(4){animation-delay:.36s}
  .celebrate-emoji:nth-child(5){animation-delay:.48s}
  .celebrate-emoji:nth-child(6){animation-delay:.60s}
  .perfect-banner{
    font-size:1.55rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin:8px 0 10px;
    color:#fff;
    text-shadow:
      2px 2px 0 #111,
      4px 4px 0 rgba(255,255,255,.25);
  }
  .perfect-sub{
    font-size:1rem;
    margin:0 0 10px;
    color:#fff;
    font-weight:700;
    text-shadow:1px 1px 0 rgba(0,0,0,.4);
  }
  .perfect-wrap .result-prize{
    background:rgba(255,255,255,.92);
    border:2px solid #111;
    border-radius:12px;
    font-weight:800;
    box-shadow:6px 6px 0 rgba(17,17,17,.18);
  }
  .perfect-wrap .result-disclaimer{
    color:#fff;
    font-weight:600;
    text-shadow:1px 1px 0 rgba(0,0,0,.35);
  }
  @keyframes retroPulse{
    0%, 100%{transform:translateY(0) scale(1) rotate(0deg)}
    50%{transform:translateY(-6px) scale(1.12) rotate(-4deg)}
  }
  
  .history-block{
    display:none;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
  }
  .history-block h3{
    margin:0 0 12px;
    font-size:1.05rem;
  }
  .history-images{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:12px 0 16px;
  }
  .history-images img{
    width:100%;
    height:auto;
    border:1px solid var(--line);
    border-radius:8px;
    display:block;
  }
  .memory-note{
    background:#f8f6f1;
    border:1px solid var(--line);
    border-radius:10px;
    padding:14px 16px;
    line-height:1.55;
  }
  .memory-note strong{display:block;margin-bottom:6px}
@media (max-width:640px){
    .quiz-wrap{margin:16px auto}
    .answers{grid-template-columns:1fr}
    .photo{min-height:220px}
    .content{padding:20px 16px 22px}
    .quiz-top{padding:16px}
  }


/* Full-width quiz page cleanup */
body.slo-memories-quiz-page aside,
body.slo-memories-quiz-page .sidebar,
body.slo-memories-quiz-page [class*="sidebar"],
body.slo-memories-quiz-page .wp-block-post-author,
body.slo-memories-quiz-page .wp-block-post-author__avatar,
body.slo-memories-quiz-page .wp-block-avatar,
body.slo-memories-quiz-page .author-avatar,
body.slo-memories-quiz-page .author-box,
body.slo-memories-quiz-page .author-bio,
body.slo-memories-quiz-page .post-author {
  display:none !important;
}
