.ip13-audit-container {
    width:min(900px, calc(100% - 40px));
    margin:0 auto;
}

.ip13-audit-hero {
    position:relative;
    padding:90px 0 60px;
    text-align:center;
    overflow:hidden;
}

.ip13-audit-hero__glow {
    position:absolute;
    top:-120px;
    left:50%;
    transform:translateX(-50%);
    width:700px;
    height:400px;
    background:radial-gradient(circle, rgba(102, 137, 255, .28), transparent 65%);
    pointer-events:none;
    z-index:0;
}

.ip13-audit-eyebrow {
    position:relative;
    z-index:1;
    display:inline-block;
    margin-bottom:14px;
    color:#6689ff;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ip13-audit-hero h1 {
    position:relative;
    z-index:1;
    margin:0 0 16px;
    font-size:clamp(1.8rem, 4vw, 2.8rem);
    line-height:1.15;
    color:#151515;
}

.ip13-audit-hero p {
    position:relative;
    z-index:1;
    max-width:640px;
    margin:0 auto;
    color:#55606e;
    font-size:1.05rem;
    line-height:1.6;
}

.ip13-audit-main {
    padding:20px 0 100px;
}

.ip13-audit-tabs {
    display:flex;
    gap:10px;
    margin:0 0 28px;
    padding:6px;
    background:rgba(255, 255, 255, .03);
    border:1px solid rgba(0, 0, 0, .08);
    border-radius:14px;
}

.ip13-audit-tab {
    flex:1 1 0;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 12px;
    border:none;
    border-radius:10px;
    background:transparent;
    color:#55606e;
    font-family:inherit;
    font-size:.95rem;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
}

.ip13-audit-tab span {
    padding:2px 9px;
    border-radius:999px;
    background:rgba(255, 255, 255, .08);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.03em;
}

.ip13-audit-tab.is-active {
    background:linear-gradient(135deg, #6689ff, #6689ff);
    color:#fff;
}

.ip13-audit-tab.is-active span {
    background:rgba(255, 255, 255, .22);
}

.ip13-audit-panel {
    display:none;
}

.ip13-audit-panel.is-active {
    display:block;
}

.ip13-audit-card {
    padding:34px;
    border:1px solid rgba(102, 137, 255, .24);
    border-radius:16px;
    background:radial-gradient(circle at 50% 0%, rgba(102, 137, 255, .08), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .98));
    box-shadow:0 0 0 1px rgba(102, 137, 255, .07), 0 0 30px rgba(102, 137, 255, .1);
}

.ip13-audit-card__head h2 {
    margin:0 0 10px;
    color:#151515;
    font-size:1.4rem;
}

.ip13-audit-card__head p {
    margin:0 0 26px;
    color:#55606e;
    font-size:.95rem;
    line-height:1.6;
}

.ip13-audit-badge {
    display:inline-block;
    margin-bottom:12px;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(102, 137, 255, .14);
    border:1px solid rgba(102, 137, 255, .35);
    color:#a9bfff;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.04em;
}

.ip13-audit-features {
    list-style:none;
    margin:0 0 26px;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 16px;
}

.ip13-audit-features li {
    position:relative;
    padding-left:22px;
    color:#eef1f7;
    font-size:.88rem;
}

.ip13-audit-features li::before {
    content:"✓";
    position:absolute;
    left:0;
    color:#22c55e;
    font-weight:800;
}

.ip13-audit-form {
    display:flex;
    flex-direction:column;
    gap:16px;
}

.ip13-audit-form[hidden] {
    display:none;
}

.ip13-audit-field label {
    display:block;
    margin-bottom:7px;
    color:#eef1f7;
    font-size:.85rem;
    font-weight:700;
}

.ip13-audit-field input[type="text"],
.ip13-audit-field input[type="email"] {
    width:100%;
    box-sizing:border-box;
    padding:13px 15px;
    border:1px solid rgba(0, 0, 0, .12);
    border-radius:10px;
    background:rgba(255, 255, 255, .03);
    color:#151515;
    font-size:.95rem;
    font-family:inherit;
}

.ip13-audit-field input:focus {
    outline:none;
    border-color:#6689ff;
    box-shadow:0 0 0 3px rgba(102, 137, 255, .18);
}

.ip13-audit-field--honeypot {
    position:absolute !important;
    left:-9999px !important;
    width:1px;
    height:1px;
    overflow:hidden;
}

.ip13-audit-consent {
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#55606e;
    font-size:.82rem;
    line-height:1.5;
    cursor:pointer;
}

.ip13-audit-consent input {
    margin-top:3px;
    flex-shrink:0;
}

.ip13-audit-submit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:6px;
    padding:16px 24px;
    border:none;
    border-radius:10px;
    background:linear-gradient(135deg, #6689ff, #6689ff);
    color:#fff;
    font-family:inherit;
    font-size:1rem;
    font-weight:800;
    cursor:pointer;
    transition:transform .2s ease, filter .2s ease;
}

.ip13-audit-submit:hover:not(:disabled) {
    transform:translateY(-2px);
    filter:brightness(1.08);
}

.ip13-audit-submit:disabled {
    opacity:.65;
    cursor:not-allowed;
}

.ip13-audit-notice {
    padding:12px 14px;
    border-radius:8px;
    background:rgba(248, 113, 113, .1);
    border:1px solid rgba(248, 113, 113, .35);
    color:#fca5a5;
    font-size:.85rem;
}

.ip13-audit-loading {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:50px 0;
}

.ip13-audit-loading[hidden] {
    display:none;
}

.ip13-audit-spinner {
    width:44px;
    height:44px;
    border:3px solid rgba(102, 137, 255, .2);
    border-top-color:#6689ff;
    border-radius:50%;
    animation:ip13-audit-spin 1s linear infinite;
}

@keyframes ip13-audit-spin {
    to { transform:rotate(360deg); }
}

.ip13-audit-loading p {
    margin:0;
    color:#55606e;
    font-size:.9rem;
}

.ip13-audit-field--promo label {
    color:#55606e;
    font-weight:600;
}

.ip13-audit-field--promo input {
    font-size:.85rem;
}

.ip13-sitewide-pagelist {
    max-height:320px;
    overflow-y:auto;
    border:1px solid rgba(0, 0, 0, .1);
    border-radius:10px;
    background:rgba(255, 255, 255, .02);
    padding:6px;
}

.ip13-sitewide-page {
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:9px 8px;
    border-radius:6px;
    cursor:pointer;
    font-size:.82rem;
}

.ip13-sitewide-page:hover {
    background:rgba(255, 255, 255, .04);
}

.ip13-sitewide-page input {
    margin-top:3px;
    flex-shrink:0;
}

.ip13-sitewide-page span {
    color:#eef1f7;
    word-break:break-all;
}

.ip13-sitewide-page:has(input:disabled) {
    opacity:.4;
}

.ip13-sitewide-page:has(input:disabled) span {
    cursor:not-allowed;
}

.ip13-audit-results {
    text-align:center;
}

.ip13-audit-score-circle {
    --score:0;
    --ring-color:#6689ff;
    position:relative;
    width:130px;
    height:130px;
    margin:0 auto 16px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle, #ffffff 62%, transparent 63%),
        conic-gradient(var(--ring-color) calc(var(--score) * 1%), rgba(255, 255, 255, .08) 0);
    color:#151515;
}

.ip13-audit-score-circle.is-good {
    --ring-color:#4ade80;
    animation:ip13-score-glow-good 3.2s ease-in-out infinite;
}

.ip13-audit-score-circle.is-mid {
    --ring-color:#facc15;
    animation:ip13-score-glow-mid 1.8s ease-in-out infinite;
}

.ip13-audit-score-circle.is-bad {
    --ring-color:#f87171;
    animation:ip13-score-glow-bad .7s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .ip13-audit-score-circle {
        animation:none !important;
    }
}

.ip13-audit-score-circle span {
    font-size:2.1rem;
    font-weight:800;
}

.ip13-audit-score-circle small {
    position:absolute;
    bottom:30px;
    font-size:.78rem;
    color:#55606e;
}

.ip13-audit-score-label {
    margin:0 0 26px;
    color:#55606e;
    font-size:.9rem;
}

.ip13-audit-score-label strong {
    color:#151515;
}

.ip13-audit-checklist {
    list-style:none;
    margin:0 0 22px;
    padding:0;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.ip13-audit-example-cat {
    display:inline-block;
    margin-bottom:2px;
    color:#5578ff;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    font-size:.7rem;
}

.ip13-result-savings {
    display:inline-block;
    margin-top:4px;
    color:#4ade80;
    font-weight:700;
}

.ip13-audit-checklist li {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px 4px;
    border-bottom:1px solid rgba(0, 0, 0, .06);
    color:#eef1f7;
    font-size:.85rem;
}

.ip13-audit-checklist li:last-child {
    border-bottom:none;
}

.ip13-audit-checklist small {
    color:#5b6472;
    font-weight:400;
}

.ip13-audit-check-icon {
    flex-shrink:0;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:.78rem;
    font-weight:800;
}

.ip13-audit-checklist li.is-good .ip13-audit-check-icon {
    background:rgba(34, 197, 94, .15);
    color:#4ade80;
    animation:ip13-icon-glow-good 3.2s ease-in-out infinite;
}

.ip13-audit-checklist li.is-bad .ip13-audit-check-icon {
    background:rgba(248, 113, 113, .15);
    color:#f87171;
    animation:ip13-icon-glow-bad .7s ease-in-out infinite;
}

@keyframes ip13-icon-glow-good {
    0%, 100% { box-shadow:0 0 0 rgba(74, 222, 128, 0); }
    50% { box-shadow:0 0 8px rgba(74, 222, 128, .45); }
}

@keyframes ip13-icon-glow-bad {
    0%, 18% { box-shadow:0 0 14px rgba(248, 113, 113, .9); }
    35%, 100% { box-shadow:0 0 2px rgba(248, 113, 113, .2); }
}

@media (prefers-reduced-motion: reduce) {
    .ip13-audit-checklist li.is-good .ip13-audit-check-icon,
    .ip13-audit-checklist li.is-bad .ip13-audit-check-icon {
        animation:none !important;
    }
}

.ip13-audit-followup {
    margin:0;
    color:#55606e;
    font-size:.88rem;
}

.ip13-audit-followup a {
    color:#2f5fff;
    font-weight:700;
    text-decoration:none;
}

.ip13-result-cta {
    display:block;
    margin:0 0 30px;
    padding:17px 22px;
    border-radius:12px;
    background:linear-gradient(135deg, #6689ff, #6689ff);
    color:#fff;
    font-weight:800;
    font-size:.98rem;
    text-align:center;
    text-decoration:none;
    box-shadow:0 0 18px rgba(102, 137, 255, .5);
    animation:ip13-result-cta-pulse 2.6s ease-in-out infinite;
    transition:transform .2s ease, filter .2s ease;
}

.ip13-result-cta:hover {
    transform:translateY(-2px);
    filter:brightness(1.1);
}

@keyframes ip13-result-cta-pulse {
    0%, 100% { box-shadow:0 0 14px rgba(102, 137, 255, .4); }
    50% { box-shadow:0 0 34px rgba(102, 137, 255, .85); }
}

@media (prefers-reduced-motion: reduce) {
    .ip13-result-cta {
        animation:none;
    }
}

@media (max-width: 700px) {
    .ip13-audit-card {
        padding:24px 20px;
    }

    .ip13-audit-features {
        grid-template-columns:1fr;
    }

    .ip13-audit-tab {
        font-size:.82rem;
        padding:12px 8px;
    }
}

@media (max-width: 460px) {
    .ip13-audit-tabs {
        gap:6px;
        padding:5px;
    }

    .ip13-audit-tab {
        flex-direction:column;
        gap:3px;
        padding:10px 4px;
        font-size:.72rem;
    }

    .ip13-audit-tab span {
        padding:2px 7px;
        font-size:.66rem;
    }
}


/* ---------- Page de résultat (/audit-seo-gratuit/resultat/) ---------- */

.ip13-audit-result-page .ip13-audit-hero {
    padding:60px 0 30px;
}

.ip13-result-pending {
    text-align:center;
    padding:20px 0;
}

.ip13-result-pending h2 {
    margin:0 0 8px;
    color:#151515;
    font-size:1.3rem;
}

.ip13-result-pending p[data-role="pending-url"] {
    margin:0 0 28px;
    color:#5578ff;
    font-size:.95rem;
    font-weight:700;
}

.ip13-result-progress {
    height:8px;
    border-radius:999px;
    background:rgba(255, 255, 255, .08);
    overflow:hidden;
    margin:0 0 12px;
}

.ip13-result-progress__bar {
    height:100%;
    width:5%;
    border-radius:999px;
    background:linear-gradient(90deg, #6689ff, #6689ff);
    transition:width 1s linear;
}

.ip13-result-progress__time {
    margin:0 0 24px;
    color:#55606e;
    font-size:.9rem;
}

.ip13-result-pending__note {
    margin:0;
    color:#5b6472;
    font-size:.82rem;
}

.ip13-result-title {
    margin:0 0 22px;
    color:#151515;
    font-size:1.3rem;
    text-align:center;
}

.ip13-result-title strong {
    color:#5578ff;
}

.ip13-result-device-tabs {
    display:flex;
    gap:8px;
    margin:0 0 26px;
    padding:5px;
    background:rgba(255, 255, 255, .03);
    border:1px solid rgba(0, 0, 0, .08);
    border-radius:12px;
}

.ip13-result-device-tab {
    flex:1 1 0;
    padding:11px 12px;
    border:none;
    border-radius:8px;
    background:transparent;
    color:#55606e;
    font-family:inherit;
    font-size:.88rem;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, color .2s ease;
}

.ip13-result-device-tab.is-active {
    background:linear-gradient(135deg, #6689ff, #6689ff);
    color:#fff;
}

.ip13-result-device-panel {
    display:none;
}

.ip13-result-device-panel.is-active {
    display:block;
}

.ip13-result-scores {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:10px;
    margin:0 0 28px;
}

.ip13-result-score-tile {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:16px 8px;
    border-radius:12px;
    background:rgba(255, 255, 255, .03);
    border:1px solid rgba(0, 0, 0, .08);
}

.ip13-result-score-tile__value {
    font-size:1.5rem;
    font-weight:800;
    color:#151515;
}

.ip13-result-score-tile.is-good {
    border-color:rgba(74, 222, 128, .4);
    animation:ip13-score-glow-good 3.2s ease-in-out infinite;
}

.ip13-result-score-tile.is-mid {
    border-color:rgba(250, 204, 21, .4);
    animation:ip13-score-glow-mid 1.8s ease-in-out infinite;
}

.ip13-result-score-tile.is-bad {
    border-color:rgba(248, 113, 113, .45);
    animation:ip13-score-glow-bad .7s ease-in-out infinite;
}

.ip13-result-score-tile.is-good .ip13-result-score-tile__value {
    color:#4ade80;
    text-shadow:0 0 14px rgba(74, 222, 128, .7);
}

.ip13-result-score-tile.is-mid .ip13-result-score-tile__value {
    color:#facc15;
    text-shadow:0 0 14px rgba(250, 204, 21, .6);
}

.ip13-result-score-tile.is-bad .ip13-result-score-tile__value {
    color:#f87171;
    text-shadow:0 0 16px rgba(248, 113, 113, .8);
}

@keyframes ip13-score-glow-good {
    0%, 100% { box-shadow:0 0 0 rgba(74, 222, 128, 0); }
    50% { box-shadow:0 0 16px rgba(74, 222, 128, .3); }
}

@keyframes ip13-score-glow-mid {
    0%, 100% { box-shadow:0 0 4px rgba(250, 204, 21, .15); }
    50% { box-shadow:0 0 24px rgba(250, 204, 21, .55); }
}

@keyframes ip13-score-glow-bad {
    0%, 18% { box-shadow:0 0 32px rgba(248, 113, 113, .95); transform:scale(1.05); }
    35%, 100% { box-shadow:0 0 4px rgba(248, 113, 113, .2); transform:scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .ip13-result-score-tile.is-good,
    .ip13-result-score-tile.is-mid,
    .ip13-result-score-tile.is-bad {
        animation:none;
        box-shadow:0 0 14px rgba(0, 0, 0, .08);
    }
}

.ip13-result-score-tile__label {
    color:#55606e;
    font-size:.74rem;
    text-align:center;
}

.ip13-result-overall {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin:0 0 24px;
}

.ip13-result-overall__circle {
    --score:0;
    position:relative;
    width:110px;
    height:110px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle, #ffffff 62%, transparent 63%),
        conic-gradient(currentColor calc(var(--score) * 1%), rgba(255, 255, 255, .1) 0);
}

.ip13-result-overall__circle span {
    font-size:2rem;
    font-weight:800;
    color:#151515;
}

.ip13-result-overall.is-good .ip13-result-overall__circle {
    color:#4ade80;
    animation:ip13-score-glow-good 3.2s ease-in-out infinite;
}

.ip13-result-overall.is-mid .ip13-result-overall__circle {
    color:#facc15;
    animation:ip13-score-glow-mid 1.8s ease-in-out infinite;
}

.ip13-result-overall.is-bad .ip13-result-overall__circle {
    color:#f87171;
    animation:ip13-score-glow-bad .7s ease-in-out infinite;
}

.ip13-result-overall__label {
    color:#55606e;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

@media (prefers-reduced-motion: reduce) {
    .ip13-result-overall__circle {
        animation:none !important;
    }
}

.ip13-result-subtitle {
    margin:28px 0 10px;
    color:#151515;
    font-size:1rem;
}

.ip13-audit-checklist li.is-neutral {
    justify-content:space-between;
}

.ip13-result-metric-value {
    flex-shrink:0;
    color:#151515;
    font-weight:700;
    font-size:.85rem;
}

@media (max-width: 560px) {
    .ip13-result-scores {
        grid-template-columns:repeat(2, 1fr);
    }
}

.ip13-sitewide-summary {
    display:flex;
    flex-direction:column;
    gap:6px;
    margin:0 0 32px;
}

.ip13-sitewide-summary-row {
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 14px;
    border-radius:10px;
    background:rgba(255, 255, 255, .03);
    border:1px solid rgba(0, 0, 0, .08);
    text-decoration:none;
    transition:background .15s ease;
}

.ip13-sitewide-summary-row:hover {
    background:rgba(255, 255, 255, .06);
}

.ip13-sitewide-summary-url {
    flex:1 1 auto;
    min-width:0;
    color:#eef1f7;
    font-size:.82rem;
    word-break:break-all;
}

.ip13-sitewide-summary-score {
    display:flex;
    flex-direction:column;
    align-items:center;
    flex-shrink:0;
    width:64px;
    font-size:1.1rem;
    font-weight:800;
    color:#151515;
}

.ip13-sitewide-summary-score.is-good {
    color:#4ade80;
}

.ip13-sitewide-summary-score.is-mid {
    color:#facc15;
}

.ip13-sitewide-summary-score.is-bad {
    color:#f87171;
}

.ip13-sitewide-summary-score small {
    color:#5b6472;
    font-size:.62rem;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.ip13-sitewide-page-detail {
    margin:0 0 14px;
    border:1px solid rgba(0, 0, 0, .08);
    border-radius:12px;
    padding:4px 18px;
}

.ip13-sitewide-page-detail summary {
    padding:16px 0;
    color:#151515;
    font-weight:700;
    font-size:.9rem;
    word-break:break-all;
    cursor:pointer;
}

.ip13-sitewide-page-detail[open] summary {
    border-bottom:1px solid rgba(0, 0, 0, .08);
    margin-bottom:18px;
}

.ip13-sitewide-page-detail > *:last-child {
    padding-bottom:18px;
}

@media (max-width: 560px) {
    .ip13-sitewide-summary-row {
        flex-wrap:wrap;
    }

    .ip13-sitewide-summary-url {
        flex-basis:100%;
    }
}
