.ptp-seo-main { padding: 36px 0 60px; }
.ptp-seo-wrap { max-width: 960px; margin: 0 auto; padding: 0 24px; }
.ptp-seo-main h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.2; margin: 0 0 18px; }
.ptp-seo-main h2 { font-size: clamp(1.3rem, 3vw, 1.65rem); line-height: 1.35; margin: 28px 0 12px; }
.ptp-seo-main h3 { font-size: 1.15rem; line-height: 1.4; margin: 22px 0 10px; }
.ptp-seo-main p, .ptp-seo-main li { line-height: 1.65; }
.ptp-seo-main p { margin: 0 0 16px; }
.ptp-seo-main a:not(.ptp-button) { color: var(--accent-primary, #1d4ed8); text-decoration: underline; text-underline-offset: .15em; }
.ptp-seo-main :is(a, button, summary):focus-visible { outline: 3px solid var(--accent-primary, #286492); outline-offset: 4px; }
.ptp-seo-main .ptp-button { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.ptp-seo-intro { max-width: 780px; }
.ptp-seo-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 20px 0; }
.ptp-seo-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 18px 0 32px; }
.ptp-seo-choices li { border: 1px solid var(--border-subtle, #aaa); border-radius: 8px; padding: 18px; background: var(--color-surface); }
.ptp-seo-choices a { display: inline-block; font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
.ptp-seo-choices p { margin: 0; font-size: .95rem; }
.ptp-seo-note { background: var(--color-surface); border-left: 3px solid var(--accent-primary); padding: 16px 20px; margin: 20px 0; }
.ptp-seo-settings { font-size: .95rem; }
.ptp-seo-preview { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; align-items: center; margin: 24px 0; }
.ptp-seo-preview img { display: block; width: 150px; max-width: 100%; height: auto; border: 1px solid var(--border-subtle); background: white; }
.ptp-seo-main table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 18px 0 24px; }
.ptp-seo-main caption { text-align: left; font-weight: 700; padding-bottom: 10px; }
.ptp-seo-main th, .ptp-seo-main td { text-align: left; vertical-align: top; border: 1px solid var(--border-subtle, #aaa); padding: 12px; overflow-wrap: anywhere; line-height: 1.5; }
.ptp-seo-main th { background: var(--color-surface); }
.ptp-seo-sources { border-top: 1px solid var(--border-subtle); margin-top: 30px; padding-top: 4px; font-size: .95rem; }
.ptp-seo-main ol, .ptp-seo-main ul:not(.ptp-seo-choices) { padding-left: 24px; margin-bottom: 20px; }
.ptp-seo-main li + li { margin-top: 8px; }
.ptp-seo-main .ptp-seo-choices li + li { margin-top: 0; }
@media (max-width: 650px) {
    .ptp-seo-wrap { padding: 0 20px; }
    .ptp-seo-choices { grid-template-columns: 1fr; gap: 10px; }
    .ptp-seo-choices li { padding: 14px; }
    .ptp-seo-preview { grid-template-columns: 100px minmax(0, 1fr); gap: 16px; }
    .ptp-seo-preview img { width: 100px; }
    .ptp-seo-main th, .ptp-seo-main td { padding: 8px; font-size: .9rem; }
    .ptp-seo-actions .ptp-button { width: 100%; }
}
