/* Guided-tour styles — layered on top of styles.css */

.tour-top{
  position:sticky;top:57px;z-index:40;background:rgba(243,234,219,.94);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line);
}
.progress{
  max-width:var(--maxw);margin:0 auto;padding:10px clamp(20px,5vw,40px);
  display:flex;justify-content:space-between;align-items:center;
  font-size:.85rem;color:var(--olive-m);font-weight:500;
}
.hearts-count{display:inline-flex;align-items:center;gap:6px;color:var(--terra)}

.t-hero h1{font-size:clamp(2.8rem,7vw,5rem)}
.t-hero h1 em{color:var(--gilt);font-style:italic}
.t-sub{color:var(--olive-m);font-size:1.05rem;margin-bottom:1.2em}
.intro-body{max-width:60ch;font-size:1.12rem;color:var(--olive-m)}
.scroll-hint{font-size:.85rem;color:var(--gilt);margin-top:16px;letter-spacing:.02em}

/* stops */
.stop{
  padding:clamp(40px,6vw,72px) 0;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;
}
.stop:nth-child(even){direction:rtl}
.stop:nth-child(even) > *{direction:ltr}
.stop-figure{position:relative}
.stop-figure img{width:100%;border-radius:3px;box-shadow:var(--shadow);background:var(--bone-2)}
.stop-num{
  font-family:"Cormorant Garamond",serif;font-size:.9rem;color:var(--gilt);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;
}
.stop h2{margin:0 0 .3em}
.stop .caption{color:var(--olive-m);font-size:.92rem;margin-bottom:1em}
.stop .body{color:var(--olive-d)}
.scholar-toggle{
  background:none;border:1px solid var(--line-gilt);color:var(--gilt);
  font:inherit;font-size:.82rem;font-weight:600;padding:6px 14px;border-radius:999px;
  cursor:pointer;margin-top:8px;
}
.scholar-toggle:hover{background:var(--gilt);color:var(--bone)}
.scholar{
  display:none;margin-top:14px;padding:16px;background:var(--bone-2);
  border-left:3px solid var(--gilt);border-radius:2px;font-size:.95rem;color:var(--olive-m);
}
.scholar.open{display:block}

/* heart */
.heart-btn{
  position:absolute;top:12px;right:12px;background:rgba(243,234,219,.9);
  border:1px solid var(--line);border-radius:999px;width:44px;height:44px;
  display:grid;place-items:center;cursor:pointer;color:var(--olive-m);transition:.15s;
}
.heart-btn:hover{transform:scale(1.08)}
.heart-btn.on{color:var(--terra);border-color:var(--terra)}
.heart-btn svg{width:22px;height:22px}

/* quiz + reward */
.quiz,.reward{
  background:var(--bone-2);border:1px solid var(--line-gilt);border-radius:4px;
  padding:28px;margin:32px 0;
}
.quiz h3,.reward h3{margin-top:0}
.quiz .opt{
  display:block;width:100%;text-align:left;background:var(--bone);
  border:1px solid var(--line);border-radius:2px;padding:12px 16px;margin:8px 0;
  font:inherit;cursor:pointer;color:var(--olive-d);transition:.12s;
}
.quiz .opt:hover{border-color:var(--gilt)}
.quiz .opt.correct{border-color:var(--gilt);background:rgba(176,138,68,.12)}
.quiz .opt.wrong{opacity:.5}
.quiz-note{font-size:.88rem;color:var(--olive-m);margin-top:10px}
.reward .tag{color:var(--gilt);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}
.code{font-family:"Inter",monospace;font-weight:600;background:var(--olive-d);color:var(--bone);padding:4px 10px;border-radius:2px;letter-spacing:.08em}

/* finale */
.finale{padding:clamp(48px,7vw,96px) 0}
.finale .fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin:24px 0}
.finale .fav-grid img{width:100%;border-radius:3px;box-shadow:var(--shadow)}
.finale .fav-cap{font-size:.82rem;color:var(--olive-m);margin-top:6px}

@media(max-width:760px){
  .stop{grid-template-columns:1fr}
  .stop:nth-child(even){direction:ltr}
}
