/* ☀️ La carte du Soleil (soleil.js), au format de Léna. --sp couleur du signe, --sf fond */
.sol{background:#fff;border-radius:24px;padding:14px;margin:0 0 18px;color:#080808;box-shadow:inset 0 0 0 2px var(--sf)}
.sol-tete{display:flex;gap:10px;align-items:center;margin:0 0 10px}
.sol-tete>img{flex:none;width:58px;height:58px;object-fit:contain}
.sol-tete small{display:inline-block;background:var(--sf);border-radius:999px;padding:2px 9px;font:800 10.5px/1.7 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.sol-tete h3{margin:4px 0 0;font:600 17px/1.3 Fraunces,Georgia,serif}
.sol-anniv{margin:0 0 10px;background:#FFF0CC;border-radius:14px;padding:8px 12px;font-size:14px;line-height:1.5;font-weight:600}
.sol-intro{margin:0 0 12px;font-size:14.5px;line-height:1.6}
.sol-maison{background:var(--sf);border-radius:18px;padding:10px 12px;margin:0 0 10px;text-align:center}
.sol-maison small{display:block;font:800 10.5px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.sol-maison b{display:block;font:400 19px/1.55 Borel,cursive;margin:4px 0 -6px}
.sol-l{display:flex;gap:10px;align-items:flex-start;padding:10px 2px;border-bottom:1.5px dashed rgba(0,0,0,.1)}
.sol-l:last-of-type{border-bottom:0}
.sol-l>img{flex:none;width:40px;height:40px;object-fit:contain;margin-top:2px}
.sol-l p{margin:0;font-size:14.5px;line-height:1.55}
.sol-l small{display:block;font:800 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px}
.sol-dates{margin:10px 0 0;background:#FBF6FA;border-radius:18px}
.sol-dates summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:10px 12px}
.sol-dates summary::-webkit-details-marker{display:none}
.sd-titre{font:800 12px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.sd-nb{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--sp);color:#fff;font:800 11.5px Montserrat,Arial,sans-serif;text-shadow:0 0 2px rgba(0,0,0,.35)}
.sd-ch{margin-left:auto;font-size:22px;line-height:1;transition:transform .2s}
.sol-dates[open] .sd-ch{transform:rotate(90deg)}
.sd-liste{position:relative;padding:2px 12px 12px}
.sd-liste::before{content:"";position:absolute;left:35px;top:6px;bottom:18px;border-left:2px dotted rgba(0,0,0,.18)}
.sd-jour{position:relative;display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.sd-jour:last-child{margin:0}
.sd-cal{flex:none;width:48px;background:#fff;border:2px solid #080808;border-radius:12px;text-align:center;padding:3px 0 4px;box-shadow:2px 2px 0 var(--sp);z-index:1}
.sd-cal b{display:block;font:900 19px/1 Montserrat,Arial,sans-serif}
.sd-cal small{display:block;font:800 9.5px/1.3 Montserrat,Arial,sans-serif;text-transform:uppercase;margin-top:2px}
.sd-jour.auj .sd-cal{background:#080808;color:#fff;transform:rotate(-4deg)}
.sd-its{flex:1;min-width:0;display:grid;gap:6px}
.sd-it{display:flex;gap:8px;align-items:flex-start;border-radius:14px;padding:8px 10px 8px 8px;background:#fff}
.sd-it img{flex:none;width:30px;height:30px;object-fit:contain}
.sd-it p{margin:0;font-size:13.5px;line-height:1.45}
.sd-it p b{display:block;font-weight:800;font-size:13.5px}
.sd-it.conj{background:#FBEAF0}.sd-it.opp{background:#E6F1FB}.sd-it.carre{background:#FAECE7}.sd-it.trigone{background:#EAF3DE}.sd-it.sextile{background:#FAEEDA}
.sd-filtre{display:table;margin:3px 0 5px;background:#fff;border:1.5px solid #080808;border-radius:9px;padding:2px 8px;font:800 9.5px/1.35 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.03em}
/* la piste de roller : les maisons traversées pendant la saison */
.sol-piste{margin:0 0 12px}
.sp-titre{margin:0 0 8px;font-size:13.5px;line-height:1.45}
.sp-barre{position:relative;display:flex;height:12px;border-radius:999px;overflow:visible;background:#F4F1F6;margin:30px 4px 10px}
.sp-barre span{height:100%;background:#E9E3EE;border-right:2px solid #fff}
.sp-barre span:first-child{border-radius:999px 0 0 999px}.sp-barre span:last-child{border-radius:0 999px 999px 0;border-right:0}
.sp-barre span.passe{background:repeating-linear-gradient(135deg,#E9E3EE 0 5px,#DCD3E3 5px 10px)}
.sp-barre span.on{background:var(--sp)}
.sp-roller{position:absolute;bottom:8px;width:36px;height:32px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 3px 3px rgba(80,40,100,.25));animation:sp-glisse 1.4s ease-in-out infinite alternate}
@keyframes sp-glisse{from{margin-bottom:0}to{margin-bottom:3px}}
.sp-pills{display:grid;gap:6px}
.sp-seg{all:unset;box-sizing:border-box;cursor:pointer;border-radius:16px;padding:7px 4px 8px;background:#F7F4F9;text-align:center;border:2px solid transparent;transition:transform .15s,background .2s}
.sp-seg:active{transform:scale(.96)}
.sp-seg span{display:block;font:800 10px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.sp-seg b{display:block;font:900 22px/1.1 Montserrat,Arial,sans-serif}
.sp-seg small{display:block;font:600 10.5px/1.3 Montserrat,Arial,sans-serif}
.sp-seg.on{background:var(--sf);border-color:#080808;box-shadow:2px 2px 0 var(--sp)}
.sol-etape{animation:cs-pop .3s ease-out}
/* le bouton vers le calendrier (les dates spéciales vivent dans « Mon ciel ») */
.sol-cal{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;width:100%;margin:10px 0 0;background:var(--sf);border:2px solid #080808;border-radius:18px;padding:10px 12px;box-shadow:3px 3px 0 #080808;transition:transform .15s}
.sol-cal:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #080808}
.sol-cal img{flex:none;width:36px;height:36px;object-fit:contain}
.sol-cal span{flex:1}.sol-cal b{display:block;font:800 13px Montserrat,Arial,sans-serif}.sol-cal small{display:block;font-size:12.5px;font-weight:600;margin-top:1px}
.sol-cal i{font-style:normal;font-size:24px;line-height:1}
.cal-ev .sd-filtre{margin:4px 0 4px}
.cal-sol{display:block;font-style:normal;font:700 10.5px Montserrat,Arial,sans-serif;margin-top:4px;opacity:.75}
