/* Questetra theme: content layouts styles. */

/* Single article typography and media. */
.single-layout-common .support-page-content h3 {
    border-bottom: 3px dotted var(--q-primary);
    padding-bottom: 0.4rem;
    margin-top: 3rem;
}
.single-layout-common .support-page-content h4 {
    padding-left: 1rem;
    position: relative;
}
.single-layout-common .support-page-content h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 6px;
    height: calc(100% - 0.3em);
    background: currentColor;
}
.single-layout-common .support-page-content ul li {
    margin-bottom: 1rem;
}
.single-layout-common .support-page-content .post-thumb-img-content.post-thumb,
body.single .support-page-content .post-thumb-img-content.post-thumb {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 0 1.25rem;
    border-radius: 10px;
}
.single-layout-common .support-page-content .questetra-related-item h4,
body.single .support-page-content .questetra-related-item h4 {
    padding-left: 0 !important;
    border-bottom: 0 !important;
}
.single-layout-common .support-page-content .questetra-related-item h4::before,
body.single .support-page-content .questetra-related-item h4::before {
    content: none !important;
    display: none !important;
}

/* Page Template With Sidebar */
.support-page-layout {
    align-items: stretch !important;
}
.support-page-content {
    background: var(--wp--preset--color--white);
    border: 1px solid var(--q-border);
    border-radius: 12px;
    box-shadow: var(--q-shadow-1);
}

.support-page-main {
    padding-bottom: 120px;
}
/* Single posts and fixed pages: main column widened to 70% (sidebar 30%);
   flatten the content card — no border/shadow, no inner padding — per updated design. */
.single-layout-common .support-page-content,
body.page .support-page-content {
    background: transparent;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.support-page-content h1 {
    margin-top: 0;
}
body.page .support-page-content .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
body.page .support-page-content .wp-block-post-content.is-layout-constrained > .alignwide {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
/* Support Service page: remove unwanted inner side padding from entry-content children */
body.page .support-page-content .wp-block-post-content > .has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.page .support-page-content .wp-block-post-content > :where(p, ul, ol, h2, h3, h4, h5, h6) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Support Service table styling */
body.page .support-page-content .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
body.page .support-page-content .wp-block-table th,
body.page .support-page-content .wp-block-table td {
    border: 1px solid #d3d7df;
    padding: 14px 16px;
    font-size: 18px;
    line-height: 1.35;
    color: #334155;
    vertical-align: middle;
}
body.page .support-page-content .wp-block-table thead th {
    text-align: center;
    font-weight: 700;
    font-size: 44px;
}
body.page .support-page-content .wp-block-table thead th:nth-child(2) { background: #f3d468; }
body.page .support-page-content .wp-block-table thead th:nth-child(3) { background: #de6666; }
body.page .support-page-content .wp-block-table thead th:nth-child(4) { background: #6f97d9; }
body.page .support-page-content .wp-block-table tbody td:nth-child(2) { background: #efe4bf; text-align: center; }
body.page .support-page-content .wp-block-table tbody td:nth-child(3) { background: #e3bdc0; text-align: center; }
body.page .support-page-content .wp-block-table tbody td:nth-child(4) { background: #b4c6e4; text-align: center; }
body.page .support-page-content .wp-block-table tbody td:first-child {
    background: var(--wp--preset--color--white);
    text-align: left;
    font-size: 20px;
}
.single-layout-common .support-page-content .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.single .support-page-content .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    width: auto !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-wrap: anywhere;
}
/* Readability: loosen line-height and inter-paragraph spacing in long-form
   article bodies (developer blog / manuals) so dense Japanese text breathes. */
body.single .wp-block-post-content p.wp-block-paragraph,
body.page .wp-block-post-content p.wp-block-paragraph {
    line-height: 1.9;
    letter-spacing: 0.01em;
}

body.single .wp-block-post-content > p.wp-block-paragraph:first-child,
body.page .wp-block-post-content > p.wp-block-paragraph:first-child {
    margin-top: 0 !important;
}
body.single .wp-block-post-content li,
body.page .wp-block-post-content li {
    line-height: 1.8;
}
.single-layout-common .support-page-content .wp-block-post-content.is-layout-constrained > .alignwide,
body.single .support-page-content .wp-block-post-content.is-layout-constrained > .alignwide {
    max-width: 100% !important;
    width: auto !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.single-layout-common .support-page-content,
body.single .support-page-content,
body.page .support-page-content {
    overflow-x: hidden;
}
.support-page-sidebar-column {
    min-width: 260px;
    align-self: flex-start;
    position: sticky;
    top: 100px;
    /* Cap height so sidebar never exceeds the viewport, enabling sticky */
    max-height: calc(100dvh - 112px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--q-border) transparent;
    /* Windowsのクラシックスクロールバーは表示/非表示で幅を消費するため、
       常にスクロールバー分の余白を確保して幅の変動を止める。 */
    scrollbar-gutter: stable;
}
.support-page-sidebar-column::-webkit-scrollbar {
    width: 4px;
}
.support-page-sidebar-column::-webkit-scrollbar-track {
    background: transparent;
}
.support-page-sidebar-column::-webkit-scrollbar-thumb {
    background: var(--q-border);
    border-radius: 4px;
}
.support-side-menu {
    background: var(--wp--preset--color--white);
    border: 1px solid var(--q-border);
    border-radius: 12px;
    box-shadow: var(--q-shadow-1);
}
.support-side-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.support-side-menu-list li {
    margin: 0;
    border-bottom: 1px solid var(--q-border);
}
.support-side-menu-list li:last-child {
    border-bottom: 0;
}
.support-side-menu-list a {
    display: block;
    padding: 8px 0;
    color: var(--q-primary-dark);
    text-decoration: none;
    line-height: 1.45;
}
.support-side-menu-list a:hover {
    background-color: var(--q-primary);
    color: var(--wp--preset--color--white);
    transition: .1s;
    padding-left: 1.4rem;
    margin-left: -1.4rem;
    padding-right: 1.4rem;
    margin-right: -1.4rem;
}
.support-side-menu-list-secondary {
    margin-top: 0.9rem;
}
/* Shared section heading used by the support sidebar. */
/* Section Title */
.section-title {
    position: relative;
    padding-left: 16px;
}
.section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10%;
    height: 80%;
    width: 4px;
    background: var(--q-primary);
    border-radius: 4px;
}

.support-side-heading {
    font-size: 18px !important;
    margin-bottom: 0.75rem !important;
    margin-top: 0 !important;
}
.support-community-banner {
    border: 1px solid var(--q-primary);
    border-radius: 10px;
    background: var(--q-primary);
    transition: background 180ms ease;
}
.support-community-banner:hover {
    color: var(--q-primary-dark);
    background: linear-gradient(135deg, #e9f3ff 0%, #f5faff 100%);
}
.support-community-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--white);
    text-decoration: none;
    text-align: center;
    min-height: 0;
    height: auto;
    padding: 1.25rem 1rem;
}
.support-community-link--sidebar {
    margin-top: 0.85rem;
    margin-bottom: 0.35rem;
    padding-top: 0.9rem;
    padding-right: 1rem;
    padding-bottom: 0.9rem;
    padding-left: 1rem;
}
.support-community-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    font-size: 52px;
    line-height: 1;
    margin-inline: auto;
}
.support-community-icons > span {
    display: inline-block;
    transition: transform 220ms ease, filter 220ms ease, opacity 220ms ease;
}
.support-community-banner:hover .support-community-icons > span:nth-child(1) {
    transform: translateY(-3px) rotate(-4deg);
}
.support-community-banner:hover .support-community-icons > span:nth-child(2) {
    transform: translateY(-5px) scale(1.04);
}
.support-community-banner:hover .support-community-icons > span:nth-child(3) {
    transform: translateY(-3px) rotate(4deg);
}
.support-page-sidebar-column .support-community-icons {
    font-size: 52px;
}
.support-page-sidebar-column .support-community-link {
    min-height: 0 !important;
    height: auto !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    padding: 1.25rem 1rem;
    justify-content: center;
    align-self: auto;
}
.support-page-sidebar-column .support-community-banner {
    height: auto !important;
    min-height: 0 !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    max-height: 220px !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-top: 0.9rem !important;
    padding-bottom: 0.9rem !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.support-page-sidebar-column .support-community-banner > * {
    max-height: 100%;
}
.support-community-label {
    margin: 0.35rem 0 0;
    text-align: center;
    font-weight: 700;
}
.support-latest-version-card {
    border: 1px solid var(--q-border);
    border-radius: 8px;
    background: var(--wp--preset--color--white);
    overflow: hidden;
    padding-bottom: 0.9rem;
}

.support-latest-version-thumb {
    position: relative;
    display: block;
    width: 100% !important;
    height: 0 !important;
    padding-top: 56.33% !important; /* 169 / 300 aspect ratio, fixed-height fallback */
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--q-border);
    border-radius: 6px;
}
.support-latest-version-thumb a {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    line-height: 0 !important;
    overflow: hidden;
}
.support-latest-version-thumb img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border: 0;
    border-radius: 6px;
}
@media (max-width: 900px) {
    .support-page-sidebar-column {
        display: none !important;
    }
    .support-side-menu {
        position: static;
        top: auto;
    }
    /* Sidebar column is hidden below 900px — let the main column take
       the full width instead of staying at its 70% flex-basis. */
    .support-page-main {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-bottom: 80px;
    }
    /* Mobile: remove card frame, keep modest side padding */
    .support-page-content,
    .single-layout-common .support-page-content,
    body.page .support-page-content {
        padding-top: 0.5rem !important;
        padding-right: 4% !important;
        padding-bottom: 1rem !important;
        padding-left: 4% !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    /* Outer alignfull wrapper: strip global side padding so content
       reaches the screen edges (only on singular post/page with sidebar layout) */
    body.single .has-global-padding.is-layout-constrained:has(> .support-page-layout),
    body.page .has-global-padding.is-layout-constrained:has(> .support-page-layout) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* A+E: h2 font-size, margin, padding on mobile */
    body.single .support-page-content .wp-block-post-content h2,
    body.single .support-page-content h2 {
        font-size: 1.25rem !important;
        margin-top: 1.5rem !important;
        padding-left: 1rem !important;
    }
    body.single .support-page-content .wp-block-post-content h3,
    body.single .support-page-content h3 {
        font-size: 1.1rem !important;
    }
}

/* Category versions: timeline intro */
.version-timeline-intro {
    display: none;
}
body.category-versions .version-timeline-intro,
body.category-172 .version-timeline-intro {
    display: block;
}
body.category-versions .version-timeline-intro + .wp-block-group.alignfull,
body.category-172 .version-timeline-intro + .wp-block-group.alignfull {
    padding-top: 1rem !important;
}
/* versions category: timeline is the primary list, hide the default archive list below */
body.category-versions .version-timeline-intro + .wp-block-group.alignfull .wp-block-query,
body.category-172 .version-timeline-intro + .wp-block-group.alignfull .wp-block-query {
    display: none !important;
}
.version-timeline-intro .timeline-row {
    position: relative;
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin: 0.9rem 0 !important;
}
.version-timeline-intro .timeline-row::before {
    content: "";
    position: absolute;
    top: -20px;
    bottom: -20px;
    left: 29px;
    width: 5px;
    background: #d0d4da;
    z-index: 0;
}
.version-timeline-intro .alignwide {
    width: min(100% - 48px, 1320px);
    max-width: 1320px;
    margin-inline: auto;
}
.version-timeline-intro .wp-block-query,
.version-timeline-intro .wp-block-post-template {
    width: 100% !important;
    max-width: none !important;
}
.version-timeline-intro .timeline-card {
    background: transparent;
    border-radius: 0;
    padding: 0 !important;
    min-height: 0;
    position: relative;
    z-index: 1;
    justify-self: start;
}
.version-timeline-intro .timeline-content {
    width: 100%;
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: 1rem;
    align-items: start;
    max-width: none !important;
    justify-self: stretch;
    text-align: left !important;
}
.version-timeline-intro .timeline-content.is-layout-constrained,
.version-timeline-intro .timeline-content.wp-block-group-is-layout-constrained {
    max-width: none !important;
    width: 100% !important;
}
.version-timeline-intro .wp-block-post {
    background: transparent;
    border-radius: 4px;
    padding: 4px 14px !important;
    margin: 0 !important;
    list-style: none;
}
.version-timeline-intro .timeline-card .wp-block-post-title {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #2f3747 !important;
}
.version-timeline-intro .wp-block-post .wp-block-post-title {
    font-size: 22px !important;
}
.version-timeline-intro .wp-block-post .archive-horizontal-thumb,
.version-timeline-intro .wp-block-post .archive-horizontal-thumb img {
    width: 180px !important;
    height: 100px !important;
}
.version-timeline-intro .timeline-content > .wp-block-post-featured-image {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0 !important;
}
.version-timeline-intro .timeline-content > .wp-block-post-title {
    grid-column: 2;
    grid-row: 1;
}
.version-timeline-intro .timeline-content > .wp-block-post-excerpt {
    grid-column: 2;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.version-timeline-intro .timeline-rail {
    width: 190px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
}
.version-timeline-intro .timeline-rail .wp-block-post-date {
    margin: 0 !important;
    font-size: 14px !important;
    color: #4f5b6e;
    order: 2;
}
.version-timeline-intro .timeline-dot {
    margin: 0 !important;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background: #d0d4da;
    color: #7d8794;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    order: 1;
}
.version-timeline-intro .wp-block-post:first-child .timeline-row::before {
    background: #20a4e6;
    top: calc(50% + 28px);
    bottom: -20px;
}
.version-timeline-intro .wp-block-post:first-child .timeline-dot {
    background: #20a4e6;
    color: var(--wp--preset--color--white);
}
.version-timeline-intro .wp-block-post:not(:first-child) .timeline-row::before {
    background: #d0d4da;
}
.version-timeline-intro .wp-block-post:not(:first-child) .timeline-dot {
    background: #d0d4da;
    color: #7d8794;
}
.version-timeline-intro .timeline-mobile-date {
    display: none;
    margin: 0 0 0.25rem !important;
    color: #4f5b6e !important;
}
.version-timeline-intro .timeline-content .wp-block-post-excerpt {
    margin-top: 0.35rem !important;
    margin-bottom: 0 !important;
    line-height: 1.6 !important;
    text-align: left !important;
    width: 100% !important;
    max-width: none !important;
}
.version-timeline-intro .timeline-content .wp-block-post-excerpt > *,
.version-timeline-intro .timeline-content .wp-block-post-excerpt__excerpt > * {
    text-align: left !important;
}
.version-timeline-intro .timeline-content .wp-block-post-excerpt p {
    text-align: left !important;
    margin: 0 !important;
}
.version-timeline-intro .timeline-content .wp-block-post-excerpt__excerpt {
    text-align: left !important;
}
@media (max-width: 781px) {
    .version-timeline-intro .alignwide {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .version-timeline-intro .timeline-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.3rem;
        margin: 0.8rem 0 !important;
    }
    .version-timeline-intro .timeline-row::before {
        display: none;
    }
    .version-timeline-intro .timeline-rail {
        display: none;
    }
    body.category-versions .version-timeline-intro + .wp-block-group.alignfull .wp-block-query,
    body.category-172 .version-timeline-intro + .wp-block-group.alignfull .wp-block-query {
        display: block !important;
    }
    .version-timeline-intro .timeline-mobile-date {
        display: block;
    }
    .version-timeline-intro .timeline-content {
        grid-template-columns: 120px minmax(0, 1fr);
        column-gap: 0.8rem;
    }
    .version-timeline-intro .timeline-content > .timeline-mobile-date {
        display: block !important;
        grid-column: 2;
        grid-row: 1;
        margin: 0 0 0.3rem !important;
        font-size: 13px !important;
        line-height: 1.2;
        color: #4f5b6e !important;
        text-align: left !important;
    }
    .version-timeline-intro .timeline-content > .wp-block-post-featured-image {
        grid-column: 1;
        grid-row: 1 / span 3;
    }
    .version-timeline-intro .timeline-content > .wp-block-post-title {
        grid-column: 2;
        grid-row: 2;
    }
    .version-timeline-intro .timeline-content > .wp-block-post-excerpt {
        grid-column: 2;
        grid-row: 3;
    }
    .version-timeline-intro .wp-block-post {
        padding: 4px 12px !important;
    }
    .version-timeline-intro .wp-block-post .archive-horizontal-thumb,
    .version-timeline-intro .wp-block-post .archive-horizontal-thumb img {
        width: 120px !important;
        height: 68px !important;
    }
    .version-timeline-intro .wp-block-post .wp-block-post-title {
        font-size: 16px !important;
    }
    .version-timeline-intro .wp-block-query,
    .version-timeline-intro .wp-block-post-template,
    .version-timeline-intro .timeline-row,
    .version-timeline-intro .timeline-card,
    .version-timeline-intro .wp-block-post {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Archive header: count + prev/next nav */
.questetra-archive-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0 0 1.25rem;
    padding: 0.6rem 1rem;
    background: #f7f8f5;
    border: 1px solid var(--q-border);
    border-radius: 8px;
    font-size: 14px;
    color: #5a677a;
}
.questetra-archive-header__count {
    font-weight: 500;
    white-space: nowrap;
}
.questetra-archive-header__nav {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}
.questetra-archive-nav__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    padding: 0.35rem 0.85rem;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #c5d5ee;
    background: #fff;
    color: var(--q-primary);
    transition: background 0.15s, border-color 0.15s;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.4;
}
.questetra-archive-nav__btn:hover {
    background: #dce8f8;
    border-color: var(--q-primary);
    color: var(--q-primary);
    text-decoration: none;
}
.questetra-archive-nav__btn.is-disabled {
    color: #aab4c4;
    border-color: #dde3ec;
    background: #f5f7fa;
    pointer-events: none;
    cursor: default;
}
@media (prefers-reduced-motion: reduce) {
    .questetra-archive-nav__btn { transition: none; }
}

.questetra-archive-pagination {
    --pagination-blue: #1f66d1;
    --pagination-text: #1f2937;
    position: relative;
    z-index: 20;
    pointer-events: auto;
    width: min(100%, var(--wp--style--global--wide-size));
    margin: 2.5rem auto 0;
    padding: 0 1rem;
}
.questetra-archive-pagination .nav-links {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 3.25rem;
    padding: 0 8.5rem;
}
.questetra-archive-pagination .page-numbers {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    min-height: 3rem;
    padding: 0 0.85rem;
    border: 2px solid var(--pagination-blue);
    border-radius: 8px;
    background: var(--wp--preset--color--white);
    color: var(--pagination-text);
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
.questetra-archive-pagination a.page-numbers:hover,
.questetra-archive-pagination a.page-numbers:focus-visible {
    background: #eaf2ff;
    color: var(--pagination-blue);
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(31, 102, 209, 0.18);
}
.questetra-archive-pagination .page-numbers.current {
    background: var(--pagination-blue);
    color: var(--wp--preset--color--white);
}
.questetra-archive-pagination .page-numbers.dots {
    min-width: 3rem;
    color: var(--pagination-text);
}
.questetra-archive-pagination .page-numbers.prev,
.questetra-archive-pagination .page-numbers.next {
    min-width: 7rem;
    padding-inline: 1.4rem;
}
.questetra-archive-pagination .page-numbers.prev {
    position: absolute;
    left: 0;
}
.questetra-archive-pagination .page-numbers.next {
    position: absolute;
    right: 0;
}
@media (max-width: 700px) {
    .questetra-archive-pagination .nav-links {
        justify-content: center;
        flex-wrap: wrap;
        min-height: 0;
        padding: 0;
    }
    .questetra-archive-pagination .page-numbers.prev,
    .questetra-archive-pagination .page-numbers.next {
        position: static;
        order: 2;
    }
    .questetra-archive-pagination .page-numbers {
        min-width: 2.75rem;
        min-height: 2.75rem;
        font-size: 1rem;
    }
    .questetra-archive-pagination .page-numbers.prev,
    .questetra-archive-pagination .page-numbers.next {
        min-width: 6rem;
    }
}

/* Language Switcher */
.questetra-language-switcher ul {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.questetra-language-switcher a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    opacity: 0.75;
}
.questetra-language-switcher__flag {
    display: block;
    flex: 0 0 auto;
    height: 12px;
    width: 18px;
}
.questetra-language-switcher a:hover,
.questetra-language-switcher a.is-active {
    opacity: 1;
}

/* Developer Blog archive (/category/developer-blog/) */
body.category-developer-blog .wp-block-group.alignwide {
    width: min(100% - 48px, var(--wp--style--global--wide-size)) !important;
    max-width: var(--wp--style--global--wide-size) !important;
}
body.category-developer-blog .archive-list-item {
    padding-top: 1.15rem !important;
    padding-bottom: 1.15rem !important;
    gap: 1.25rem !important;
}
body.category-developer-blog .archive-horizontal-thumb,
body.category-developer-blog .archive-horizontal-thumb img {
    width: 240px !important;
    height: 135px !important;
    object-fit: cover;
    border-radius: 10px;
}
body.category-developer-blog .archive-list-item .wp-block-post-title {
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.3 !important;
    margin-top: 0.2rem !important;
    margin-bottom: 0.45rem !important;
}
body.category-developer-blog h2 {
    font-size: 2em !important;
    margin-top: 1rem !important;
}
body.category-developer-blog h3 {
    font-size: 1.75em !important;
}
body.single-post.category-developer-blog .wp-block-post-content h2,
body.single-post[class*="category-"] .wp-block-post-content h2 {
    font-size: 2em !important;
    margin-top: 1rem !important;
}
body.single-post.category-developer-blog .wp-block-post-content h3,
body.single-post[class*="category-"] .wp-block-post-content h3 {
    font-size: 1.75em !important;
}
/* Fallback: ensure headings inside shared support content area get the same sizing */
body.single .support-page-content .wp-block-post-content h2,
body.single .support-page-content h2 {
    font-size: 2em !important;
    font-weight: 700 !important;
    margin-top: 2rem !important;
    padding-left: 2rem !important;
    position: relative;
}
body.single .support-page-content .wp-block-post-content h2::before,
body.single .support-page-content h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 6px;
    height: calc(100% - 0.3em);
    background: var(--q-primary);
    border-radius: 3px;
}
body.single .support-page-content .wp-block-post-content h3,
body.single .support-page-content h3 {
    font-size: 1.75em !important;
}
body.single .support-page-content .wp-block-post-content ul li,
body.single .support-page-content ul li,
body.single-post .wp-block-post-content ul li {
    margin-bottom: 1rem;
}

/* Readability: keep headings clear of the sticky header when jumping via
   the Table of Contents or in-page anchor links (#anchor). CSS-only fix. */
body.single .wp-block-post-content h2,
body.single .wp-block-post-content h3,
body.page .wp-block-post-content h2,
body.page .wp-block-post-content h3 {
    scroll-margin-top: 110px;
}
@media (max-width: 900px) {
    body.single .wp-block-post-content h2,
    body.single .wp-block-post-content h3,
    body.page .wp-block-post-content h2,
    body.page .wp-block-post-content h3 {
        scroll-margin-top: 90px;
    }
}

/* Readability: visually differentiate blockquotes from body text so quoted
   or highlighted passages are scannable at a glance. */
body.single .wp-block-post-content blockquote.wp-block-quote,
body.page .wp-block-post-content blockquote.wp-block-quote {
    margin: 1.7rem 0;
    padding: 1rem 1.5rem;
    border-left: 4px solid var(--q-primary);
    background: #f4f7fb;
    border-radius: 0 6px 6px 0;
}
body.single .wp-block-post-content blockquote.wp-block-quote p,
body.page .wp-block-post-content blockquote.wp-block-quote p {
    margin-top: 0 !important;
    color: #3a3a3a;
}
body.single .wp-block-post-content blockquote.wp-block-quote cite,
body.page .wp-block-post-content blockquote.wp-block-quote cite {
    display: block;
    margin-top: 0.6rem;
    font-size: 0.875rem;
    color: #666;
    font-style: normal;
}

/* Readability: generic article tables (manuals, comparison tables) get
   zebra striping and a clear header so dense data is easier to scan.
   Scoped narrowly so it does not override the colored Support Service
   comparison table above. */
body.single .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) table,
body.page .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) table {
    border-collapse: collapse;
}
body.single .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) th,
body.single .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) td,
body.page .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) th,
body.page .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) td {
    padding: 0.65rem 0.9rem;
}
body.single .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) thead th,
body.page .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) thead th {
    background: var(--q-primary);
    color: var(--wp--preset--color--white);
    font-weight: 700;
}
body.single .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) tbody tr:nth-child(even),
body.page .wp-block-post-content .wp-block-table:not(.questetra-see-also-cards) tbody tr:nth-child(even) {
    background: #f4f7fb;
}

/* Readability: stronger hover feedback on in-article links so they read as
   clearly interactive against the surrounding body copy. */
body.single .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)),
body.page .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)) {
    text-underline-offset: 2px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
body.single .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)):hover,
body.page .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)):hover {
    color: #0a2f6b;
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
}
@media (prefers-reduced-motion: reduce) {
    body.single .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)),
    body.page .wp-block-post-content a:not(.wp-block-button__link):not(:has(> button)) {
        transition: none;
    }
}

.questetra-related-posts {
    margin-top: 2rem;
}
.questetra-related-posts-heading {
    margin: 0 0 0.75rem;
    font-size: 1.125rem;
    line-height: 1.4;
}
.questetra-related-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.questetra-related-item {
    min-width: 0;
}
.questetra-related-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.questetra-related-thumb-wrap {
    margin: 0 0 0.5rem;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f7fb;
}
.questetra-related-thumb {
    display: block;
    width: 100%;
    height: 140px;
    object-fit: cover;
}
.questetra-related-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--q-primary-dark);
}
.questetra-related-link:hover .questetra-related-title {
    color: var(--q-primary);
}

/* Single posts and pages: hide share/like sections */
body.single-post .sharedaddy,
body.single-post .sd-sharing,
body.single-post .sd-like,
body.single-post .post-likes-widget,
body.single-post .jetpack-likes-widget-wrapper,
body.single-post .jp-sharing-input-touch,
body.page .sharedaddy,
body.page .sd-sharing,
body.page .sd-like,
body.page .post-likes-widget,
body.page .jetpack-likes-widget-wrapper,
body.page .jp-sharing-input-touch {
    display: none !important;
}

/* Google Programmable Search: hide result thumbnails on front page */
.google-search-results-wrap .gsc-table-cell-thumbnail,
.google-search-results-wrap .gsc-thumbnail {
    display: none !important;
}
@media (max-width: 781px) {
    .questetra-related-posts-grid {
        grid-template-columns: 1fr;
    }
}
body.category-developer-blog .archive-list-item .wp-block-post-excerpt {
    text-align: left !important;
}
body.category-developer-blog .archive-list-item .wp-block-post-excerpt__excerpt {
    color: #4f5b6e;
    line-height: 1.65;
}
@media (max-width: 900px) {
    body.category-developer-blog .archive-horizontal-thumb,
    body.category-developer-blog .archive-horizontal-thumb img {
        width: 210px !important;
        height: 118px !important;
    }
}
@media (max-width: 781px) {
    body.category-developer-blog .archive-list-item {
        gap: 0.85rem !important;
    }
    body.category-developer-blog .archive-horizontal-thumb,
    body.category-developer-blog .archive-horizontal-thumb img {
        width: 168px !important;
        height: 94px !important;
    }
body.category-developer-blog .archive-list-item .wp-block-post-title {
    font-size: clamp(20px, 6.6vw, 28px) !important;
    }
}

