/* Pages « Guide Ibiza » */
/* Couleur d'accent des textes : bleu mer en clair, turquoise en sombre (lisible sur fond foncé) */
:root { --accent-texte: #0B4F63; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --accent-texte: #4CC3CF; } }
:root[data-theme="dark"] { --accent-texte: #4CC3CF; }
.guide { padding-block: 32px 64px; }
.guide-wrap { max-width: 820px; }
.fil { font-size: .88rem; color: var(--encre-2); margin-bottom: 20px; }
.fil a { color: var(--accent-texte); }
.guide h1 { font-family: var(--display); font-size: clamp(2rem, 5vw, 3.1rem); line-height: 1.08; margin: 10px 0 18px; }
.guide .maj { font-size: .88rem; color: var(--encre-2); margin-top: 10px; }
.bloc { margin-top: 44px; }
.bloc h2, .appli-encart h2 { font-family: var(--display); font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.15; margin: 0 0 14px; }
.bloc p, .bloc li { line-height: 1.6; }
.guide-perso { margin-top: 36px; }
.tableau-scroll { overflow-x: auto; margin: 16px 0; border: 1px solid var(--trait); border-radius: var(--rayon); }
.tableau { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--carte); }
.tableau th, .tableau td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--trait); vertical-align: top; }
.tableau thead th { background: var(--sable); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--encre-2); }
.tableau tbody th { font-family: var(--display); color: var(--accent-texte); white-space: nowrap; }
.tableau tr:last-child th, .tableau tr:last-child td { border-bottom: 0; }
.note-guide { padding: 14px 16px; border-left: 4px solid var(--lagon); background: var(--sable); border-radius: 0 var(--rayon) var(--rayon) 0; color: var(--encre-2); }
.prix-liste { list-style: none; padding: 0; margin: 16px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.prix-liste li { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); padding: 14px 16px; display: grid; gap: 2px; }
.prix-liste span { font-size: .85rem; color: var(--encre-2); }
.prix-liste b { font-family: var(--display); font-size: 1.6rem; color: var(--accent-texte); }
.prix-liste small { color: var(--encre-2); }
.etapes-guide { padding-left: 1.3em; display: grid; gap: 10px; }
.plages-liste { padding-left: 1.2em; display: grid; gap: 6px; }
.faq-guide details { border-bottom: 1px solid var(--trait); padding: 14px 0; }
.faq-guide summary { cursor: pointer; font-weight: 600; }
.faq-guide details p { margin: 10px 0 0; color: var(--encre-2); }
.appli-encart { margin-top: 48px; padding: clamp(22px, 4vw, 36px); border-radius: calc(var(--rayon) * 1.5); background: var(--mer); color: var(--sur-mer); }
.appli-encart .eyebrow { color: var(--sur-mer-2); }
.appli-encart p { color: var(--sur-mer-2); line-height: 1.6; max-width: 56ch; }
.appli-encart .btn { margin-top: 10px; }
.sources { margin-top: 32px; font-size: .85rem; color: var(--encre-2); }
.guide section { padding-block: 0; }

/* Pièges, saisons, mots, cartes de guides */
.intro-guide { font-size: 1.1rem; line-height: 1.6; margin-top: 28px; }
.pieges, .saisons { display: grid; gap: 14px; }
.piege, .saison { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); padding: 18px 20px; }
.piege h3, .saison h3 { font-family: var(--display); font-size: 1.15rem; margin: 2px 0 8px; color: var(--encre); }
.piege p, .saison p { margin: 0 0 8px; color: var(--encre-2); line-height: 1.55; }
.piege p:last-child, .saison p:last-child { margin-bottom: 0; }
.piege-cat { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bougain) !important; }
.parade { color: var(--encre) !important; }
.parade b, .note-guide b { color: var(--encre); }
.guide a { color: var(--accent-texte); }
.guide .btn-plein { color: #fff; }
.mot .prononce { display: block; font-size: .9rem; color: var(--encre-2); font-style: italic; margin-top: 2px; }
.mot dt { color: var(--encre); }
.mot dd { color: var(--encre); }
.cartes-guides { list-style: none; padding: 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.cartes-guides a { display: grid; gap: 6px; height: 100%; padding: 18px 20px; background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); text-decoration: none; color: var(--encre); transition: border-color .15s ease, transform .15s ease; }
.cartes-guides a:hover { border-color: var(--bougain); transform: translateY(-2px); }
.cartes-guides b { font-family: var(--display); font-size: 1.1rem; color: var(--accent-texte); }
.cartes-guides span { color: var(--encre-2); font-size: .95rem; line-height: 1.45; }
.voir-aussi { margin-top: 48px; }
.voir-aussi h2 { font-family: var(--display); font-size: 1.4rem; margin: 0; }
.guide .mot dd { display: block; }
.encart-appli { border-left-color: var(--bougain); } .encart-appli a { font-weight: 600; white-space: nowrap; }

/* Page dédiée /formules */
.formules-page { padding-block: 28px 72px; }
.formules-page .fil { margin-bottom: 18px; }
.formules-page h1 { font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 700; }
.formules-page .entete-section { margin-bottom: 28px; }
.formules-page .titre-quiz { font-size: clamp(1.5rem, 3.5vw, 2.2rem); margin: 64px 0 8px; }
.formules-page .fil a { color: var(--accent-texte); }
