/*
 * Single blog post — visual system matched to single-tour.php (Figma 457:111).
 * Two-column layout: sticky sidebar (reading + sharing) + main content.
 * Reuses single-tour tokens: --tourbin-black / --tourbin-yellow, card radius
 * 18/22px, --tourbin-shadow-card, "Liana-soft-FD" headings.
 */

.tourbin-single-post {
    padding-block-end: 0;
}

.tourbin-single-post__shell {
    width: 100%;
    max-width: 1083px;
    margin-inline: auto;
    padding-inline: 16px;
    padding-block: 0 48px;
}

.tourbin-single-post .tourbin-tour-featured {
    margin: 0;
}

.tourbin-single-post .tourbin-tour-featured__media {
    position: relative;
    width: 100%;
    aspect-ratio: 722 / 358;
    border-radius: 20px;
    overflow: hidden;
    background: #1f1f1f;
    box-shadow: var(--tourbin-shadow-card);
}

.tourbin-single-post .tourbin-blog-single__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tourbin-single-post .tourbin-tour-featured__logo {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 69px;
    height: 16px;
    object-fit: contain;
    z-index: 2;
}

.tourbin-single-post__layout {
    display: grid;
    grid-template-columns: minmax(280px, 330fr) minmax(0, 722fr);
    gap: 31px;
    align-items: start;
}

.tourbin-single-post__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.tourbin-blog-single {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* ---------------------------------------------------------------------- */
/* Header: category, title, meta, lead                                     */
/* ---------------------------------------------------------------------- */

.tourbin-blog-single__header {
    text-align: right;
}

.tourbin-blog-single__category {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0 0 14px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--tourbin-yellow-soft, #fffbcf);
    color: var(--tourbin-black);
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.tourbin-blog-single__category:hover {
    background: var(--tourbin-yellow);
    transform: translateY(-1px);
}

.tourbin-blog-single__title {
    margin: 0 0 18px;
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-size: clamp(1.25rem, 1.8vw, 1.75rem);
    font-weight: 700;
    line-height: 1.55;
    color: var(--tourbin-black);
}

.tourbin-blog-single__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 18px;
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    text-align: right;
}

.tourbin-blog-single__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: var(--tourbin-text-muted);
}

.tourbin-blog-single__meta-label {
    font-weight: 600;
    color: var(--tourbin-text);
}

.tourbin-blog-single__meta-value {
    color: inherit;
    text-decoration: none;
}

a.tourbin-blog-single__meta-value:hover {
    color: var(--tourbin-teal-dark, var(--tourbin-teal));
    text-decoration: underline;
    text-underline-offset: 2px;
}

.tourbin-blog-single__lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.85;
    color: var(--tourbin-text);
    text-align: justify;
}

/* ---------------------------------------------------------------------- */
/* Body copy + WordPress blocks                                            */
/* ---------------------------------------------------------------------- */

.tourbin-single-post .tourbin-blog-single__body {
    font-size: 0.95rem;
    line-height: 1.85;
    color: var(--tourbin-text);
    max-width: none;
}

.tourbin-single-post .tourbin-blog-single__body > * + * {
    margin-top: 1.1em;
}

.tourbin-single-post .tourbin-blog-single__body :is(h1, h2, h3, h4, h5, h6),
.tourbin-single-post .tourbin-blog-single__body :is(.wp-block-heading) {
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-weight: 700;
    margin: 1.75em 0 0.65em;
    text-align: right;
    color: var(--tourbin-black);
}

.tourbin-single-post .tourbin-blog-single__body :is(p, .wp-block-paragraph) {
    margin: 0 0 1em;
    text-align: justify;
}

.tourbin-single-post .tourbin-blog-single__body :is(ul, ol, .wp-block-list) {
    padding-inline-start: 1.4em;
    margin: 0 0 1em;
}

.tourbin-single-post .tourbin-blog-single__body li + li {
    margin-top: 0.35em;
}

.tourbin-single-post .tourbin-blog-single__body :is(img, .wp-block-image img) {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: var(--tourbin-shadow-card);
}

.tourbin-single-post .tourbin-blog-single__body :is(a, .wp-block-button__link) {
    color: var(--tourbin-teal-dark, var(--tourbin-teal));
    text-decoration: underline;
    text-underline-offset: 2px;
}

.tourbin-single-post
    .tourbin-blog-single__body
    :is(blockquote, .wp-block-quote) {
    margin: 1.5em 0;
    padding: 16px 22px;
    border-inline-end: 4px solid var(--tourbin-yellow);
    background: #f7f7f7;
    border-radius: 4px 16px 16px 4px;
    color: var(--tourbin-text-muted);
    font-style: normal;
}

.tourbin-single-post
    .tourbin-blog-single__body
    :is(.wp-block-pullquote, .wp-block-pullquote blockquote) {
    margin: 1.75em 0;
    padding: 24px;
    border: none;
    border-radius: 18px;
    background: var(--tourbin-yellow-soft, #fffbcf);
    text-align: center;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-pullquote cite {
    display: block;
    margin-top: 12px;
    font-size: 0.85rem;
    color: var(--tourbin-text-muted);
    font-style: normal;
}

.tourbin-single-post .tourbin-blog-single__body :is(pre, code, .wp-block-code) {
    font-family:
        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
}

.tourbin-single-post .tourbin-blog-single__body :is(pre, .wp-block-code) {
    overflow-x: auto;
    margin: 1.25em 0;
    padding: 16px 18px;
    border-radius: 14px;
    background: #1f1f1f;
    color: #f5f5f5;
    font-size: 0.85rem;
    line-height: 1.7;
}

.tourbin-single-post .tourbin-blog-single__body :not(pre) > code {
    padding: 0.15em 0.45em;
    border-radius: 6px;
    background: #f3f4f6;
    color: var(--tourbin-black);
    font-size: 0.88em;
}

/* Migrated / legacy HTML wrapper inside posts -------------------------------- */

.tourbin-single-post .tourbin-blog-single__body .content > * + * {
    margin-top: 1.1em;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .content
    :is(h2, h3, h4, h5, h6) {
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-weight: 700;
    margin: 1.75em 0 0.65em;
    text-align: right;
    color: var(--tourbin-black);
}

.tourbin-single-post .tourbin-blog-single__body .content h2 {
    font-size: 1.35rem;
}

.tourbin-single-post .tourbin-blog-single__body .content h3 {
    font-size: 1.15rem;
}

.tourbin-single-post .tourbin-blog-single__body .content :is(ul, ol) {
    padding-inline-start: 1.4em;
    margin: 0 0 1em;
}

.tourbin-single-post .tourbin-blog-single__body .content li + li {
    margin-top: 0.35em;
}

/* Data tables (Gutenberg + legacy ytable) ----------------------------------- */

.tourbin-single-post .tourbin-blog-single__body .tourbin-content-table__title {
    margin: 1.5em 0 0.75em;
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-weight: 700;
    color: var(--tourbin-black);
    text-align: right;
}

.tourbin-single-post .tourbin-blog-single__body .tourbin-content-table__title :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font: inherit;
    color: inherit;
}

.tourbin-single-post .tourbin-blog-single__body .tourbin-content-table {
    position: relative;
    margin: 0 0 1.5em;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 18px;
    border: 1px solid var(--tourbin-border, #ececec);
    background: #fff;
    box-shadow: var(--tourbin-shadow-card, 0 12px 32px rgba(15, 23, 42, 0.06));
    scrollbar-width: thin;
    scrollbar-color: rgba(15, 23, 42, 0.25) transparent;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table__title
    + .tourbin-content-table {
    margin-top: 0;
}

.tourbin-single-post
    .tourbin-blog-single__body
    :is(table.tourbin-data-table, .wp-block-table table, table.ytable) {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--tourbin-text);
}

/* Wide airline/penalty grids only — compact contact tables stay natural width */
.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table.is-wide
    :is(table.tourbin-data-table, table.ytable) {
    min-width: min(100%, 720px);
    width: max-content;
    max-width: none;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-table:not(.tourbin-content-table) {
    margin: 1.5em 0;
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid var(--tourbin-border, #ececec);
    box-shadow: var(--tourbin-shadow-card, 0 12px 32px rgba(15, 23, 42, 0.06));
}

.tourbin-single-post .tourbin-blog-single__body :is(th, td) {
    padding: 12px 14px;
    border-bottom: 1px solid var(--tourbin-border, #ececec);
    border-inline-start: 1px solid rgba(15, 23, 42, 0.06);
    text-align: right;
    vertical-align: middle;
}

.tourbin-single-post .tourbin-blog-single__body :is(th, td):first-child {
    border-inline-start: none;
}

.tourbin-single-post
    .tourbin-blog-single__body
    :is(
        thead th,
        .tourbin-data-table__head-row th,
        .tourbin-data-table__head-row td
    ) {
    background: var(--tourbin-yellow-soft, #fffbcf);
    color: var(--tourbin-black);
    font-weight: 800;
    font-size: 0.8125rem;
    line-height: 1.45;
    border-bottom: 2px solid var(--tourbin-yellow, #ffdf43);
    white-space: nowrap;
}

.tourbin-single-post .tourbin-blog-single__body tbody tr:last-child td {
    border-bottom: none;
}

.tourbin-single-post
    .tourbin-blog-single__body
    table.tourbin-data-table
    tbody
    tr:nth-child(even) {
    background: #fafaf8;
}

.tourbin-single-post
    .tourbin-blog-single__body
    table.tourbin-data-table
    tbody
    tr:hover {
    background: #fffef0;
}

.tourbin-single-post .tourbin-blog-single__body :is(th, td) p {
    margin: 0;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-table.is-style-stripes
    tbody
    tr:nth-child(odd) {
    background: #fafaf8;
}

.tourbin-single-post
    .tourbin-blog-single__body
    td.tourbin-data-table__phones {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: right;
}

/* Sticky first column only on wide scrollable grids */
.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table.is-wide
    table
    :is(th:first-child, td:first-child) {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -4px 0 12px rgba(15, 23, 42, 0.05);
}

.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table.is-wide
    table
    tbody
    tr:nth-child(even)
    td:first-child {
    background: #fafaf8;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table.is-wide
    table
    tbody
    tr:hover
    td:first-child {
    background: #fffef0;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .tourbin-content-table.is-wide
    .tourbin-data-table__head-row
    :is(th:first-child, td:first-child) {
    background: var(--tourbin-yellow-soft, #fffbcf);
}

@media (max-width: 639px) {
    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable {
        overflow: visible;
        border: none;
        background: transparent;
        box-shadow: none;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        table {
        display: block;
        width: 100%;
        min-width: 0;
        border: none;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        .tourbin-data-table__head-row {
        display: none;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        tbody {
        display: block;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        tbody
        tr {
        display: block;
        margin-bottom: 12px;
        padding: 0;
        border-radius: 16px;
        border: 1px solid var(--tourbin-border, #ececec);
        background: #fff;
        box-shadow: var(
            --tourbin-shadow-card,
            0 10px 24px rgba(15, 23, 42, 0.06)
        );
        overflow: hidden;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        tbody
        tr:nth-child(even),
    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        tbody
        tr:hover {
        background: #fff;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td {
        display: grid;
        grid-template-columns: minmax(6.5rem, 38%) minmax(0, 1fr);
        gap: 8px 12px;
        align-items: start;
        padding: 11px 14px;
        border: none;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        text-align: right;
        box-shadow: none;
        position: static;
        white-space: normal;
        background: transparent;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td:last-child {
        border-bottom: none;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td:empty {
        display: none;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td::before {
        content: attr(data-label);
        font-weight: 800;
        font-size: 0.72rem;
        line-height: 1.45;
        color: var(--tourbin-text-muted, #6b7280);
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td:first-child {
        background: var(--tourbin-yellow-soft, #fffbcf);
        font-weight: 800;
        color: var(--tourbin-black);
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td:first-child::before {
        color: var(--tourbin-black);
        opacity: 0.65;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .tourbin-content-table.is-stackable
        td.tourbin-data-table__phones {
        direction: ltr;
        unicode-bidi: plaintext;
    }
}

.tourbin-single-post
    .tourbin-blog-single__body
    :is(figure, .wp-block-image, .wp-block-gallery) {
    margin: 1.5em 0;
}

.tourbin-single-post .tourbin-blog-single__body figcaption,
.tourbin-single-post .tourbin-blog-single__body .wp-block-image figcaption,
.tourbin-single-post .tourbin-blog-single__body .wp-element-caption {
    margin-top: 10px;
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--tourbin-text-muted);
    text-align: center;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-gallery {
    display: grid;
    gap: 12px;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-gallery.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-gallery.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-gallery
    .wp-block-image {
    margin: 0;
}

.tourbin-single-post .tourbin-blog-single__body .alignleft,
.tourbin-single-post .tourbin-blog-single__body .wp-block-image.alignleft {
    float: inline-start;
    margin: 0.25em 0 1em 1.25em;
    max-width: min(100%, 320px);
}

.tourbin-single-post .tourbin-blog-single__body .alignright,
.tourbin-single-post .tourbin-blog-single__body .wp-block-image.alignright {
    float: inline-end;
    margin: 0.25em 1.25em 1em 0;
    max-width: min(100%, 320px);
}

.tourbin-single-post .tourbin-blog-single__body .aligncenter,
.tourbin-single-post .tourbin-blog-single__body .wp-block-image.aligncenter {
    margin-inline: auto;
    text-align: center;
}

.tourbin-single-post .tourbin-blog-single__body .alignwide {
    width: min(100%, calc(100% + 80px));
    margin-inline: auto;
}

.tourbin-single-post .tourbin-blog-single__body .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    border-radius: 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-separator,
.tourbin-single-post .tourbin-blog-single__body hr {
    margin: 2em auto;
    border: none;
    border-top: 1px solid var(--tourbin-border, #ececec);
    max-width: 120px;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-separator.is-style-wide {
    max-width: none;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-separator.is-style-dots {
    border: none;
    max-width: none;
    text-align: center;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-separator.is-style-dots::before {
    content: "···";
    letter-spacing: 0.8em;
    color: var(--tourbin-text-muted);
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin: 1.25em 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 12px;
    background: var(--tourbin-yellow);
    color: var(--tourbin-black) !important;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 4px 8px rgba(255, 207, 1, 0.2);
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-button.is-style-outline
    .wp-block-button__link {
    background: transparent;
    border: 1px solid var(--tourbin-border-strong, #d8d8d8);
    box-shadow: none;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin: 1.25em 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-group {
    margin: 1.25em 0;
    padding: 20px;
    border: 1px solid var(--tourbin-border, #ececec);
    border-radius: 18px;
    background: #fafafa;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-cover {
    position: relative;
    min-height: 240px;
    margin: 1.5em 0;
    padding: 28px;
    border-radius: 18px;
    overflow: hidden;
    color: #fff;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-media-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
    margin: 1.5em 0;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-media-text__media
    img {
    border-radius: 16px;
    box-shadow: var(--tourbin-shadow-card);
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-embed,
.tourbin-single-post .tourbin-blog-single__body .wp-block-video,
.tourbin-single-post .tourbin-blog-single__body .wp-block-audio {
    margin: 1.5em 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-embed__wrapper,
.tourbin-single-post .tourbin-blog-single__body .wp-block-embed iframe {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-embed iframe,
.tourbin-single-post .tourbin-blog-single__body .wp-block-video video {
    aspect-ratio: 16 / 9;
    height: auto;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-file {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 1.25em 0;
    padding: 14px 18px;
    border: 1px solid var(--tourbin-border, #ececec);
    border-radius: 14px;
    background: #fff;
}

.tourbin-single-post
    .tourbin-blog-single__body
    .wp-block-file
    a:not(.wp-block-file__button) {
    text-decoration: none;
    font-weight: 600;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-file__button {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 10px;
    background: var(--tourbin-yellow);
    color: var(--tourbin-black) !important;
    text-decoration: none !important;
    font-weight: 600;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-spacer {
    margin: 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-verse {
    margin: 1.25em 0;
    padding: 16px 18px;
    border-radius: 14px;
    background: #f7f7f7;
    font-family: inherit;
    white-space: pre-wrap;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-details {
    margin: 1.25em 0;
    padding: 16px 18px;
    border: 1px solid var(--tourbin-border, #ececec);
    border-radius: 14px;
    background: #fff;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-details summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--tourbin-black);
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-latest-posts,
.tourbin-single-post .tourbin-blog-single__body .wp-block-categories,
.tourbin-single-post .tourbin-blog-single__body .wp-block-archives {
    margin: 1.25em 0;
    padding-inline-start: 1.2em;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-calendar table {
    margin: 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-search {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 1.25em 0;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-search__input {
    flex: 1 1 200px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--tourbin-border, #ececec);
    border-radius: 12px;
    font: inherit;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-search__button {
    min-height: 44px;
    padding: 0 18px;
    border: none;
    border-radius: 12px;
    background: var(--tourbin-yellow);
    color: var(--tourbin-black);
    font-weight: 600;
    cursor: pointer;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin: 1.25em 0;
    padding: 0;
    list-style: none;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-social-link-anchor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f3f4f6;
    color: var(--tourbin-black);
    text-decoration: none;
}

.tourbin-single-post .tourbin-blog-single__body .wp-block-video-carousel,
.tourbin-single-post .tourbin-blog-single__body .imaginit-video-carousel {
    margin: 1.5em 0;
}

.tourbin-single-post .tourbin-blog-single__body::after {
    content: "";
    display: block;
    clear: both;
}

/* Paginated post content -------------------------------------------------- */

.tourbin-blog-single__pages {
    margin-top: 1.5em;
    padding-top: 1.25em;
    border-top: 1px solid var(--tourbin-border, #ececec);
}

.tourbin-blog-single__pages-label {
    margin: 0 0 10px;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tourbin-black);
}

.tourbin-blog-single__page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    margin: 0 4px 4px 0;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid var(--tourbin-border, #ececec);
    background: #fff;
    text-decoration: none;
    color: var(--tourbin-text);
}

.tourbin-blog-single__page-link:hover {
    border-color: var(--tourbin-yellow);
    background: var(--tourbin-yellow-soft, #fffbcf);
}

/* ---------------------------------------------------------------------- */
/* Footer: tags + post navigation                                          */
/* ---------------------------------------------------------------------- */

.tourbin-blog-single__footer {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}

.tourbin-blog-single__tags-wrap {
    text-align: right;
}

.tourbin-blog-single__tags-label {
    margin: 0 0 10px;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--tourbin-black);
}

.tourbin-single-post .tourbin-blog-single__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tourbin-single-post .tourbin-blog-single__tag {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 16px;
    border: 1px solid var(--tourbin-border);
    border-radius: 999px;
    background: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--tourbin-text);
    text-decoration: none;
    transition:
        border-color 0.2s ease,
        background 0.2s ease;
}

.tourbin-single-post a.tourbin-blog-single__tag:hover {
    border-color: var(--tourbin-yellow);
    background: var(--tourbin-yellow-soft, #fffbcf);
    color: var(--tourbin-black);
}

.tourbin-blog-single__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tourbin-blog-single__nav-link {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 88px;
    padding: 16px 18px;
    border: 1px solid var(--tourbin-border, #ececec);
    border-radius: 16px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.tourbin-blog-single__nav-link:hover {
    border-color: var(--tourbin-yellow);
    box-shadow: var(--tourbin-shadow-card);
    transform: translateY(-1px);
}

.tourbin-blog-single__nav-link--next {
    text-align: left;
}

.tourbin-blog-single__nav-link--empty {
    visibility: hidden;
    pointer-events: none;
}

.tourbin-blog-single__nav-kicker {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--tourbin-text-muted);
}

.tourbin-blog-single__nav-title {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--tourbin-black);
}

/* ---------------------------------------------------------------------- */
/* Related posts row                                                       */
/* ---------------------------------------------------------------------- */

.tourbin-single-post__related {
    padding-block: 12px 24px;
    overflow: hidden;
}

/* ---------------------------------------------------------------------- */
/* Comments — Imaginit Core blog comments + theme shell                   */
/* ---------------------------------------------------------------------- */

.tourbin-single-post .tourbin-comments {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.tourbin-single-post .tourbin-comments__title {
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    line-height: 1.75;
    text-align: right;
    color: var(--tourbin-black);
}

.tourbin-single-post .tourbin-comments__count {
    text-align: right;
    color: var(--tourbin-text-muted);
    margin: 0 0 24px;
}

.tourbin-single-post .tourbin-comments__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tourbin-single-post .tourbin-comments__list .children {
    list-style: none;
    margin: 0;
    padding-inline-start: clamp(12px, 4vw, 28px);
    border-inline-start: 2px solid #f3f4f6;
}

.tourbin-single-post .blog-single-comment,
.tourbin-single-post .tourbin-comments__item {
    margin: 0;
}

.tourbin-single-post .blog-single-comment__body,
.tourbin-single-post .tourbin-comments__card {
    border: none;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    padding: 28px 0;
    box-shadow: none;
    background: transparent;
}

.tourbin-single-post .blog-single-comment__header,
.tourbin-single-post .tourbin-comments__header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.tourbin-single-post .blog-single-comment__user {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    direction: ltr;
}

.tourbin-single-post .blog-single-comment__avatar,
.tourbin-single-post .tourbin-comments__avatar {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    object-fit: cover;
    flex: 0 0 auto;
    background: #f3f4f6;
}

.tourbin-single-post .blog-single-comment__avatar--placeholder {
    display: block;
}

.tourbin-single-post .blog-single-comment__meta,
.tourbin-single-post .tourbin-comments__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
    flex: 1 1 auto;
    min-width: 0;
}

.tourbin-single-post .blog-single-comment__author,
.tourbin-single-post .tourbin-comments__author {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.1;
    text-align: right;
    color: var(--tourbin-black);
}

.tourbin-single-post .blog-single-comment__rating {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    direction: ltr;
}

.tourbin-single-post .blog-single-comment__content,
.tourbin-single-post .tourbin-comments__content {
    text-align: right;
    line-height: 1.85;
    color: var(--tourbin-text);
}

.tourbin-single-post .blog-single-comment__content p,
.tourbin-single-post .tourbin-comments__content p {
    margin: 0 0 0.75em;
}

.tourbin-single-post .blog-single-comment__date,
.tourbin-single-post .tourbin-comments__date {
    display: block;
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--tourbin-text-muted);
    direction: rtl;
}

.tourbin-single-post .blog-single-comment__meta-sep {
    display: none;
}

.tourbin-single-post .tourbin-comments__pending,
.tourbin-single-post .comment-awaiting-moderation {
    display: inline-flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 2px 10px;
    border-radius: 999px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    font-size: 0.75rem;
    color: #b45309;
}

.tourbin-single-post .tourbin-comments__reply a {
    color: var(--tourbin-text);
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: underline;
}

.tourbin-single-post .tourbin-comments__pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 24px;
}

.tourbin-single-post .tourbin-comments__pagination a,
.tourbin-single-post .tourbin-comments__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid var(--tourbin-border, #ececec);
    text-decoration: none;
    color: var(--tourbin-text);
}

.tourbin-single-post .tourbin-comments__pagination .current {
    background: var(--tourbin-yellow-soft, #fffbcf);
    border-color: var(--tourbin-yellow);
    font-weight: 700;
}

.tourbin-single-post .tourbin-comments__form-wrap {
    margin-top: 8px;
    padding-top: 24px;
    border-top: 1px solid #f0f0f0;
}

.tourbin-single-post .blog-comment-form,
.tourbin-single-post .tourbin-comments__form-wrap .comment-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: none;
}

.tourbin-single-post .comment-form-field {
    margin: 0;
}

.tourbin-single-post .comment-form-field label:not(.screen-reader-text) {
    display: block;
    margin-bottom: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--tourbin-black);
    text-align: right;
}

.tourbin-single-post .comment-form-rating {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 18px;
    border: 1px solid #ececec;
    border-radius: 16px;
    background: #fafafa;
}

.tourbin-single-post .comment-form-rating::before {
    content: "امتیاز شما";
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tourbin-black);
}

.tourbin-single-post .comment-form-rating .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.tourbin-single-post .post-rating-stars {
    display: inline-flex;
    align-items: start;
    gap: 5px;
    direction: ltr;
    flex-direction: row-reverse;
}

.tourbin-single-post .post-rating-stars__track {
    position: relative;
    display: inline-block;
    width: 124px;
    height: 20px;
    flex: 0 0 auto;
}

.tourbin-single-post .post-rating-stars__base,
.tourbin-single-post .post-rating-stars__fill {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
}

.tourbin-single-post .post-rating-stars__fill {
    width: 100%;
    pointer-events: none;
}

.tourbin-single-post .post-rating-stars__fill-inner {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 124px;
}

.tourbin-single-post .post-rating-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.tourbin-single-post .post-rating-stars--interactive .post-rating-star {
    cursor: pointer;
}

.tourbin-single-post .post-rating-star__icon {
    display: block;
    width: 18px;
    height: 18px;
}

.tourbin-single-post .post-rating-stars__value {
    min-width: 28px;
    font-family: "Vazirmatn", var(--tourbin-font);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--tourbin-black);
    text-align: center;
}

.tourbin-single-post .blog-comment-form input[type="text"],
.tourbin-single-post .blog-comment-form input[type="email"],
.tourbin-single-post .blog-comment-form input[type="tel"],
.tourbin-single-post .blog-comment-form input[type="url"],
.tourbin-single-post .blog-comment-form textarea,
.tourbin-single-post .tourbin-comments__form-wrap input[type="text"],
.tourbin-single-post .tourbin-comments__form-wrap input[type="email"],
.tourbin-single-post .tourbin-comments__form-wrap input[type="tel"],
.tourbin-single-post .tourbin-comments__form-wrap input[type="url"],
.tourbin-single-post .tourbin-comments__form-wrap textarea {
    width: 100%;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid #e4e4e4;
    padding: 12px 14px;
    font: inherit;
    text-align: right;
    background: #fff;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.tourbin-single-post .blog-comment-form input:focus,
.tourbin-single-post .blog-comment-form textarea:focus,
.tourbin-single-post .tourbin-comments__form-wrap input:focus,
.tourbin-single-post .tourbin-comments__form-wrap textarea:focus {
    outline: none;
    border-color: var(--tourbin-yellow);
    box-shadow: 0 0 0 3px rgba(255, 207, 1, 0.2);
}

.tourbin-single-post .blog-comment-form textarea,
.tourbin-single-post .tourbin-comments__form-wrap textarea {
    min-height: 140px;
    resize: vertical;
}

.tourbin-single-post .blog-comment-form .comment-reply-title,
.tourbin-single-post .tourbin-comments__form-wrap .comment-reply-title {
    margin: 0 0 8px;
    font-family: "Liana-soft-FD", "Liana", var(--tourbin-font);
    font-size: 1.1rem;
    font-weight: 700;
    text-align: right;
    color: var(--tourbin-black);
}

.tourbin-single-post .blog-comment-form .comment-reply-title small,
.tourbin-single-post .tourbin-comments__form-wrap .comment-reply-title small {
    display: block;
    margin-top: 6px;
    font-size: 0.8rem;
}

.tourbin-single-post .blog-comment-form .form-submit,
.tourbin-single-post .tourbin-comments__form-wrap .form-submit {
    margin: 0;
}

.tourbin-single-post .tourbin-comments__submit {
    background: var(--tourbin-yellow);
    color: var(--tourbin-black);
    border: none;
    border-radius: 12px;
    padding: 12px 28px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(255, 207, 1, 0.2);
}

.tourbin-single-post .tourbin-comments__submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(255, 207, 1, 0.28);
}

.tourbin-single-post .tourbin-comments__empty,
.tourbin-single-post .tourbin-comments__closed {
    text-align: right;
    color: var(--tourbin-text-muted);
}

/* Sidebar meta chips — date / reading time aligned right in RTL          */

.tourbin-single-post .tourbin-sidebar--post .tourbin-sidebar__chip {
    justify-content: flex-start;
}

.tourbin-single-post .tourbin-sidebar--post .tourbin-sidebar__chip-text {
    text-align: right;
}

.tourbin-single-post .tourbin-sidebar--post .tourbin-sidebar__features {
    text-align: right;
}

/* Share panel — same shell as tour: no white box, chip sits on card #f9fafb */
.tourbin-single-post .tourbin-sidebar--post .tourbin-sidebar__panel {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.tourbin-single-post
    .tourbin-sidebar--post
    .tourbin-sidebar__panel
    .tourbin-sidebar__section-label {
    margin: 0;
}

/* Hero overlap — keep shell clear of decorative cards on blog singles    */

.tourbin-single-post .tourbin-hero--single .tourbin-hero__cards:empty {
    display: none;
}

.tourbin-single-post__shell {
    z-index: 12;
}

/* ---------------------------------------------------------------------- */
/* Travel secrets slider (before footer)                                    */
/* ---------------------------------------------------------------------- */

.tourbin-single-post__travel-secrets {
    overflow: hidden;
}

/* ---------------------------------------------------------------------- */
/* Responsive                                                             */
/* ---------------------------------------------------------------------- */

@media (max-width: 1100px) {
    .tourbin-single-post__layout {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
        gap: 20px;
    }
}

@media (max-width: 900px) {
    .tourbin-single-post__layout {
        grid-template-columns: 1fr;
    }

    .tourbin-single-post__content {
        order: 1;
    }

    .tourbin-single-post .tourbin-sidebar--post {
        order: 2;
    }

    .tourbin-single-post .tourbin-blog-single__body .wp-block-media-text {
        grid-template-columns: 1fr;
    }

    .tourbin-single-post
        .tourbin-blog-single__body
        .wp-block-gallery.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tourbin-blog-single__nav {
        grid-template-columns: 1fr;
    }

    .tourbin-blog-single__nav-link--next {
        text-align: right;
    }
}

@media (max-width: 640px) {
    .tourbin-single-post__shell {
        padding-block: 16px 36px;
    }

    .tourbin-single-post .tourbin-tour-featured__media {
        aspect-ratio: 4 / 3;
    }

    .tourbin-blog-single__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .tourbin-blog-single__header,
    .tourbin-single-post
        .tourbin-blog-single__body
        :is(h2, h3, h4, .wp-block-heading),
    .tourbin-single-post .tourbin-blog-single__tags {
        text-align: right;
    }

    .tourbin-single-post .tourbin-blog-single__body .alignleft,
    .tourbin-single-post .tourbin-blog-single__body .alignright,
    .tourbin-single-post .tourbin-blog-single__body .wp-block-image.alignleft,
    .tourbin-single-post .tourbin-blog-single__body .wp-block-image.alignright {
        float: none;
        margin: 0 auto 1em;
        max-width: 100%;
    }

    .tourbin-single-post .tourbin-blog-single__body .wp-block-gallery.columns-2,
    .tourbin-single-post
        .tourbin-blog-single__body
        .wp-block-gallery.columns-3 {
        grid-template-columns: 1fr;
    }

    .tourbin-single-post .tourbin-blog-single__body .wp-block-columns {
        grid-template-columns: 1fr;
    }

    .tourbin-single-post .tourbin-comments__header {
        align-items: flex-start;
    }

    .tourbin-single-post .tourbin-comments__item .children {
        padding-inline-start: 14px;
    }
}
