/* layout-compatibilite-familiale.css · géométrie purifiée : aucune couleur, police, ombre, casse ni !important ; les bordures référencent var(--line). Généré par tools/purify_css.py */
/* --- css/compatibilite-familiale.css --- */
.fam-hero{padding:5rem 0 3rem}
.fam-eyebrow{font-size:0.72rem;margin:0 0 1rem}
.fam-title{font-weight:300;font-size:clamp(2rem, 4.6vw, 3.4rem);line-height:1.12;margin:0 0 1.4rem}
.fam-title em{font-weight:400}
.fam-lead{font-size:1.12rem;line-height:1.7;max-width:40em;margin:0 0 1rem}
.fam-lead-soft{font-size:1rem;line-height:1.6;max-width:38em}
.fam-section-eyebrow{font-size:0.7rem;margin:0 0 1.2rem}
.fam-link-selector-section{padding:2rem 0 1rem}
.fam-link-selector{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;margin-bottom:2rem}
@media (max-width: 720px){.fam-link-selector{grid-template-columns:1fr}}
.fam-link-card{border:1px solid;border-color:var(--line);padding:1.4rem 1.2rem;text-align:center;cursor:pointer;transition:border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;display:flex;flex-direction:column;align-items:center;gap:0.5rem}
.fam-link-card:hover{transform:translateY(-2px)}
.fam-link-glyph{font-size:1.8rem;line-height:1}
.fam-link-name{font-size:1.15rem;font-weight:400}
.fam-link-desc{font-size:0.88rem;line-height:1.4}
.fam-form-section{padding:1rem 0 4rem}
.fam-form-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.2rem;align-items:stretch}
@media (max-width: 860px){.fam-form-grid{grid-template-columns:1fr}}
.fam-person-card{border:1px solid;border-color:var(--line);padding:1.4rem 1.3rem 1.6rem;margin:0}
.fam-person-label{font-size:0.74rem;padding:0 0.4rem}
.fam-amp{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 0.4rem;min-width:120px}
@media (max-width: 860px){.fam-amp{padding:0.8rem 0;flex-direction:row;gap:0.8rem}}
.fam-amp-symbol{font-size:2.4rem;line-height:1}
.fam-amp-label{font-size:0.7rem;margin-top:0.6rem;text-align:center}
.fam-source-tabs{display:flex;gap:0.4rem;margin-bottom:1rem;border-bottom:1px solid;border-bottom-color:var(--line)}
.fam-source-tab{border:none;font-size:0.7rem;padding:0.4rem 0.6rem 0.6rem;cursor:pointer;border-bottom:2px solid;border-bottom-color:var(--line)}
.fam-field{margin-bottom:0.95rem;position:relative}
.fam-field label{display:block;font-size:0.66rem;margin-bottom:0.35rem}
.fam-field input[type="text"],
.fam-field input[type="date"],
.fam-field input[type="time"],
.fam-source-saved select{width:100%;padding:0.65rem 0.85rem;border:1px solid;border-color:var(--line);font-size:0.98rem}
.fam-field input:focus,
.fam-source-saved select:focus{outline:2px solid;outline-color:var(--gold);outline-offset:2px}
.fam-time-unknown{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.45rem;font-size:0.88rem;font-weight:normal}
.fam-time-unknown input{margin:0}
.fam-place-autocomplete .place-suggestions{list-style:none;padding:0;margin:0.2rem 0 0;border:1px solid;border-color:var(--line);max-height:220px;overflow-y:auto;display:none;position:absolute;left:0;right:0;z-index:10}
.fam-place-autocomplete .place-suggestions.is-open{display:block}
.fam-place-autocomplete .place-suggestions li{padding:0.55rem 0.8rem;font-size:0.9rem;cursor:pointer;border-bottom:1px solid;border-bottom-color:var(--line)}
.form-hint{display:block;font-size:0.82rem;margin-top:0.3rem}
.fam-form-actions{margin-top:1.6rem;text-align:center}
.fam-cta{padding:0.85rem 1.6rem;font-size:1rem}
.fam-form-foot{margin-top:0.6rem;font-size:0.85rem}
.fam-form-msg{margin-top:1rem;padding:0.7rem 0.9rem;font-size:0.95rem}
.fam-form-msg.is-err{border:1px solid;border-color:var(--line)}
.fam-result{padding:3rem 0 4rem}
.fam-result-head{text-align:center;margin-bottom:2.4rem}
.fam-result-title{font-weight:300;font-size:clamp(1.8rem, 4vw, 2.8rem);line-height:1.15;margin:0 0 0.7rem}
.fam-result-title em{font-weight:400}
.fam-result-sub{font-size:0.78rem;margin:0 0 1.4rem}
.fam-result-cadre{font-size:1.02rem;line-height:1.7;max-width:42em;margin:0 auto}
.fam-solar-warning{border:1px solid;border-color:var(--line);padding:0.9rem 1rem;margin:0 auto 2rem;max-width:38em;display:flex;flex-direction:column;gap:0.4rem}
.fam-solar-pill{align-self:flex-start;font-size:0.68rem;padding:0.2rem 0.6rem}
.fam-solar-warning p{margin:0;font-size:0.92rem;line-height:1.55}
.fam-score-card{display:flex;align-items:center;gap:2rem;border:1px solid;border-color:var(--line);padding:1.8rem 1.6rem;max-width:760px;margin:0 auto 2rem}
@media (max-width: 600px){.fam-score-card{flex-direction:column;text-align:center}}
.fam-score-meter{flex-shrink:0}
.fam-score-ring{width:130px;height:130px;border-radius:50%;border:3px solid;border-color:var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.fam-score-num{font-size:2.6rem;font-weight:300;line-height:1}
.fam-score-unit{font-size:0.72rem;margin-top:0.2rem}
.fam-score-text{flex:1}
.fam-verdict-label{display:inline-block;font-size:0.74rem;margin-bottom:0.5rem;padding:0.2rem 0.5rem;border:1px solid;border-color:var(--line)}
.fam-verdict-text{font-size:1.02rem;line-height:1.55;margin:0}
.fam-cards{display:grid;gap:1.5rem;max-width:760px;margin:0 auto 2.4rem}
.fam-card{border:1px solid;border-color:var(--line);padding:2rem 1.7rem;position:relative}
.fam-card[data-card="besoin"]{border-left:3px solid;border-left-color:var(--line)}
.fam-card[data-card="transmission"]{border-left:3px solid;border-left-color:var(--line)}
.fam-card[data-card="pont"]{border-left:3px solid;border-left-color:var(--line)}
.fam-card-eyebrow{font-size:0.68rem;margin:0 0 0.5rem}
.fam-card-title{font-weight:400;font-size:1.5rem;margin:0 0 1rem;line-height:1.25}
.fam-card-body{font-size:1.04rem;line-height:1.72;margin:0 0 1.2rem}
.fam-card-axes{list-style:none;padding:0;margin:1rem 0 0;border-top:1px dashed;border-top-color:var(--line);padding-top:0.9rem}
.fam-axis{display:flex;gap:0.7rem;align-items:baseline;margin-bottom:0.5rem;font-size:0.88rem}
.fam-axis-glyph{font-size:1rem;flex-shrink:0}
.fam-axis-text{line-height:1.45}
.fam-axis-empty{font-size:0.88rem}
.fam-keywords-block{text-align:center;margin:2.4rem auto;max-width:760px}
.fam-keywords-list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap}
.fam-keyword{display:inline-flex;align-items:center;padding:0.5rem 1.1rem;border:1px solid;border-color:var(--line);font-size:1rem}
.fam-signed-note{max-width:600px;margin:2.4rem auto;padding:1.6rem 1.4rem;border-left:2px solid;border-left-color:var(--line)}
.fam-signed-note p{font-size:1.02rem;line-height:1.7;margin:0}
.fam-signed-author{margin-top:0.7rem;font-size:0.78rem;text-align:right}
.fam-actions{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.fam-disclaimer{font-size:0.88rem;line-height:1.6;max-width:42em;margin:2.4rem auto 0;text-align:center}
.fam-share-card{width:1080px;height:1350px;position:absolute;left:-9999px;top:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fam-share-inner{width:100%;height:100%;padding:90px 70px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;position:relative}
.fam-share-inner::before{content:'';position:absolute;top:60px;left:60px;right:60px;bottom:60px;border:1px solid;border-color:var(--line);pointer-events:none}
.fam-share-eyebrow{font-size:28px;margin:0;z-index:2}
.fam-share-link-type{font-size:32px;margin:16px 0 0;z-index:2}
.fam-share-names{display:flex;align-items:center;justify-content:center;gap:36px;margin:40px 0;z-index:2}
.fam-share-name{font-weight:300;font-size:74px;line-height:1;max-width:360px;word-break:break-word}
.fam-share-symbol{font-size:76px;line-height:1}
.fam-share-score{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2;margin:20px 0}
.fam-share-score-num{font-weight:300;font-size:140px;line-height:1}
.fam-share-score-unit{font-size:22px;margin-top:-6px}
.fam-share-verdict{font-size:24px;padding:8px 20px;border:1px solid;border-color:var(--line);margin-top:12px}
.fam-share-keywords{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px;z-index:2}
.fam-share-keywords li{font-size:32px;padding:10px 22px;border:1px solid;border-color:var(--line)}
.fam-share-footer{margin:0;font-size:22px;z-index:2}
@media (max-width: 600px){.fam-cards{gap:1.2rem}
.fam-card{padding:1.6rem 1.3rem}
.fam-card-title{font-size:1.3rem}
.fam-card-body{font-size:0.98rem;line-height:1.68}
.fam-score-ring{width:110px;height:110px}
.fam-score-num{font-size:2.2rem}
.fam-keywords-list{gap:0.7rem}
.fam-keyword{font-size:0.9rem;padding:0.4rem 0.9rem}}
