

.g-page * { box-sizing: border-box; }
.g-page .container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.g-page .hero { padding: 50px 0 30px; }
.g-page .breadcrumb { margin-bottom: 20px; font-size: 14px; color: #777; }
.g-page .breadcrumb a { color: #7652b5; text-decoration: none; }

.g-page p { margin: 0 0 18px; }
.g-page a { color: #6844aa; }
.g-page .intro { max-width: 780px; font-size: 18px; color: #585468; }
.g-page .compatibility-summary { display: block; margin-top: 35px; }
.g-page .card { background: #fff; border-radius: 20px; padding: 28px; box-shadow: 0 10px 40px rgba(42,31,65,.08); }
.g-page .signs { display:flex; align-items:center; justify-content:center; gap:28px; min-height:260px; }
.g-page .sign { text-align:center; }
.g-page .sign-icon { width:100px; height:100px; display:grid; place-items:center; margin:auto; border-radius:50%; background:#f2edfa; font-size:54px; }
.g-page .sign-name { margin-top:10px; font-size:20px; font-weight:bold; }
.g-page .plus { font-size:36px; color:#9c8bbd; }
.g-page .global-score { text-align:center; margin-top:20px; }
.g-page .score-number { font-size:54px; font-weight:bold; color:#754cad; }
.g-page .score-label { color:#777; }
.g-page .verdict { padding:20px; margin-top:20px; border-radius:14px; background:#f7f3fc; }
.g-page .ratings { display:grid; gap:18px; }
.g-page .rating-row { display:grid; grid-template-columns:150px 1fr 50px; align-items:center; gap:12px; }
.g-page .rating-label { font-weight:600; }
.g-page .progress { height:10px; background:#ebe7f1; border-radius:999px; overflow:hidden; }
.g-page .progress span { display:block; height:100%; background:linear-gradient(90deg,#aa78df,#6844aa); border-radius:inherit; }
.g-page .quick-summary { margin:28px 0 0; padding:28px; background:#282039; color:#fff; border-radius:20px; }
.g-page .quick-summary h2 { color:#fff; }
.g-page .quick-grid { display:grid; grid-template-columns:repeat(1,1fr); gap:12px; }
.g-page .quick-item { padding:18px; background:rgba(255,255,255,.08); border-radius:14px; }
.g-page .quick-item strong { display:block; margin-bottom:6px; }
.g-page .content-layout { display:block; margin-top:40px; }

.g-page main section:not(.faq) {    border: 1px solid #ddd;
    padding: 1rem;
    border-radius: 8px; margin-bottom:28px; }
.g-page .quick-answer { border-left:5px solid #8057b4; background:#faf7fe; padding:20px; margin:24px 0; border-radius:0 12px 12px 0; }
.g-page .strengths-weaknesses { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:25px; }
.g-page .mini-card { padding:22px; background:#faf9fc; border-radius:14px; }
.g-page .mini-card ul { padding-left:20px; margin-bottom:0; }
.g-page .dimension-score { display:inline-flex; align-items:center; gap:10px; padding:8px 14px; background:#f3eef9; border-radius:999px; font-weight:bold; margin-bottom:18px; }
.g-page .conflict-table { width:100%; border-collapse:collapse; margin-top:24px; }
.g-page .conflict-table th,.g-page .conflict-table td { padding:16px; text-align:left; border-bottom:1px solid #ebe7ef; vertical-align:top; }
.g-page .conflict-table th { background:#f8f6fb; }
.g-page .tips { counter-reset:tips; padding:0; list-style:none; }
.g-page .tips li { position:relative; padding:0 0 18px 54px; min-height:45px; }
.g-page .tips li::before { counter-increment:tips; content:counter(tips); position:absolute; left:0; top:0; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#7650ad; color:#fff; font-weight:bold; }
.g-page aside { position:relative; }
.g-page .sidebar-box { position:sticky; top:20px; background:#fff; padding:24px; border-radius:18px; box-shadow:0 8px 30px rgba(42,31,65,.07); }

.g-page .sidebar-box ul { padding:0; margin:0; list-style:none; }
.g-page .sidebar-box li { border-bottom:1px solid #eee; }
.g-page .sidebar-box a { display:block; padding:11px 0; text-decoration:none; }
.g-page .selector { background:#282039; color:#fff; padding:36px; border-radius:20px; }

.g-page .selector-grid { display:grid; grid-template-columns:1fr 1fr auto; gap:15px; }
.g-page select { min-height:50px; border-radius:10px; border:0; padding:0 16px; font-size:16px; }
.g-page select { width:100%; border-radius: 999px;}

.g-page details { border-bottom:1px solid #ebe7ef; padding:18px 0; }
.g-page summary { cursor:pointer; font-weight:bold; font-size:18px; }
.g-page .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.g-page .related-grid a { display:block; background:#faf8fc; padding:15px; border-radius:12px; text-decoration:none; font-weight:600; }
.g-page .related-second-title { margin-top:40px; }
.g-page .author-box { display:flex; gap:18px; align-items:center; border-top:1px solid #eee; padding-top:25px; margin-top:30px; }
.g-page .author-avatar { width:64px; height:64px; flex:0 0 64px; display:grid; place-items:center; border-radius:50%; background:#eee8f6; font-size:26px; }
@media (max-width:900px) {
    .g-page .compatibility-summary,.g-page .content-layout { grid-template-columns:1fr; }
    .g-page aside { display:none; }
    .g-page .selector-grid { grid-template-columns:1fr; }
    .g-page .quick-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
    .g-page .hero { padding-top:28px; }
    .g-page .card,.g-page main section { padding:22px; }
    .g-page .strengths-weaknesses,.g-page .related-grid,.g-page .quick-grid { grid-template-columns:1fr; }
    .g-page .rating-row { grid-template-columns:120px 1fr 42px; font-size:14px; }
    .g-page .signs { gap:15px; min-height:auto; }
    .g-page .sign-icon { width:75px; height:75px; font-size:40px; }
    .g-page .conflict-table { font-size:14px; }
}

.g-page .score-method {
    margin-top: 18px;
    padding: 20px 24px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(42,31,65,.05);
}
.g-page .score-method h2 {
    font-size: 21px;
    margin: 0 0 10px;
}
.g-page .score-method p:last-child { margin-bottom: 0; }


/* V3.5 - mise en page une seule colonne */
.g-page .compatibility-summary.g-stack {
    display: block;
}
.g-page .compatibility-summary.g-stack > .card {
    width: 100%;
}
.g-page .compatibility-summary.g-stack > .card + .card {
    margin-top: 22px;
}
.g-page .content-layout {
    display: block;
    max-width: 100%;
}
.g-page .content-layout > main {
    width: 100%;
}
.g-page aside {
    display: none !important;
}

/* V3.5.3 - images zodiacales réutilisées depuis g_pierres_liste_zodiaque() */
.g-page .sign-icon {
    overflow: hidden;
    background: #f2edfa;
}
.g-page .g-zodiac-picture {
    display: block;
    width: 100%;
    height: 100%;
}
.g-page .g-zodiac-picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* =========================================================
   SELECTEUR DE COMPATIBILITE
   ========================================================= */
