.elementor-403 .elementor-element.elementor-element-c719c9a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-403 .elementor-element.elementor-element-c98090c{--spacer-size:50px;}/* Start custom CSS for shortcode, class: .elementor-element-2ce7972 *//* ============================================================
   THE TRAVEL BUG – SINGLE BLOG HERO (HOME-LIKE LAYOUT)
   ============================================================ */

.tb-hero-single-blog {
    position: relative;
    padding: 110px 0 95px;
    /* Right-hand image from PHP via CSS variable */
    background:
        linear-gradient(
            to right,
            rgba(11, 24, 51, 0.98) 0%,
            rgba(11, 24, 51, 0.96) 42%,
            rgba(11, 24, 51, 0.85) 55%,
            rgba(11, 24, 51, 0.15) 100%
        ),
        var(--tb-single-blog-hero-img, url("https://thetravelbugholidays.co.uk/wp-content/uploads/2025/11/pexels-njeromin-19048342-scaled.jpg"));
    background-size: cover;
    background-position: center center;
    overflow: hidden;
}

/* Ensure the hero card behaves like the home hero */
.tb-hero-single-blog .tb-hero-shell {
    width: min(1180px, 100% - 32px);
    margin-inline: auto;
}

.tb-hero-single-blog .tb-hero-card {
    max-width: 560px;
}

/* Typography tweaks specific to blog single */
.tb-hero-single-blog .tb-hero-title.tb-sbh-title {
    font-size: clamp(2.1rem, 3.4vw, 2.7rem);
    margin-bottom: 8px;
}

/* Kicker */
.tb-sbh-kicker {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.82rem;
    margin-bottom: 12px;
    color: var(--tb-accent-soft);
}

/* Meta row under title */
.tb-sbh-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 0.9rem;
    color: var(--tb-text-soft);
    margin-bottom: 14px;
}

.tb-sbh-dot {
    opacity: 0.7;
}

/* Intro paragraph */
.tb-sbh-intro {
    max-width: 620px;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--tb-text-soft);
    margin-bottom: 20px;
}

/* Buttons row follows existing .tb-hero-actions styles – just tidy on mobile */

@media (max-width: 900px) {
    .tb-hero-single-blog {
        padding: 90px 0 75px;
        background-position: center right;
    }

    .tb-hero-single-blog .tb-hero-card {
        max-width: 100%;
    }

    .tb-hero-single-blog .tb-hero-title.tb-sbh-title {
        font-size: 2rem;
    }

    .tb-hero-single-blog .tb-hero-actions {
        flex-wrap: wrap;
        row-gap: 10px;
    }
}

@media (max-width: 600px) {
    .tb-hero-single-blog {
        padding: 80px 0 65px;
        background-position: center center;
    }

    .tb-hero-single-blog .tb-hero-title.tb-sbh-title {
        font-size: 1.85rem;
    }
}
/* ============================================================
   THE TRAVEL BUG – BLOG HERO (VISIBLE IMAGE VERSION)
   ============================================================ */

.tb-blog-hero {
    position: relative;
    padding: 160px 0 140px;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.10), rgba(0,0,0,0.35)),
        var(--tb-hero-bg) center/cover no-repeat;
}

.tb-blog-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(143,224,255,0.25), transparent 60%),
        radial-gradient(circle at 80% 80%, rgba(186,160,255,0.25), transparent 60%);
    opacity: 0.4;
    pointer-events: none;
}

.tb-blog-hero-card {
    max-width: 680px;
    background: rgba(8, 20, 44, 0.60);
    backdrop-filter: blur(14px);
    padding: 36px 42px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 22px 55px rgba(0,0,0,0.45);
    animation: tbFadeUp 0.7s ease-out both;
}

/* Category */
.tb-blog-hero-cat {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.8rem;
    color: var(--tb-accent-soft);
    margin: 0 0 10px;
}

/* Title */
.tb-blog-hero-title {
    font-size: 2.6rem;
    line-height: 1.25;
    margin: 0 0 14px;
    color: #fff;
}

/* Date */
.tb-blog-hero-date {
    font-size: 0.95rem;
    margin-bottom: 16px;
    color: var(--tb-text-soft);
}

/* Excerpt */
.tb-blog-hero-excerpt {
    font-size: 1.1rem;
    color: var(--tb-text-soft);
    max-width: 90%;
}

/* Responsive */
@media (max-width: 768px) {
    .tb-blog-hero {
        padding: 120px 0 120px;
    }
    .tb-blog-hero-card {
        padding: 26px 28px;
    }
    .tb-blog-hero-title {
        font-size: 1.9rem;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3058985 *//* ============================================================
   THE TRAVEL BUG – BLOG SECTIONS (ACF repeater, NO BOXES)
   ============================================================ */

.tb-blog-sections {
    padding: 70px 0 90px;
    position: relative;
}

/* One section = one “chapter” – no card styling */
.tb-blog-section {
    margin-bottom: 40px;
    padding: 0 0 22px;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    position: relative;
}

/* Soft separator line between sections */
.tb-blog-section::after {
    content: "";
    display: block;
    height: 1px;
    margin-top: 26px;
    background: linear-gradient(
        to right,
        transparent,
        rgba(255,255,255,0.10),
        transparent
    );
}

/* Remove line after the last section */
.tb-blog-section:last-child::after {
    display: none;
}

/* Section title */
.tb-blog-section-title {
    font-size: 1.4rem;
    margin-bottom: 12px;
    color: var(--tb-text);
}

/* Layout: text + optional image */
.tb-blog-section-inner {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.tb-blog-section-copy {
    flex: 1 1 auto;
    font-size: 0.98rem;
    line-height: 1.8;
    color: var(--tb-text-soft);
}

/* WYSIWYG spacing */
.tb-blog-section-copy p {
    margin: 0 0 0.8em;
}

/* Optional image block */
.tb-blog-section-image {
    flex: 0 0 280px;
    max-width: 320px;
}

.tb-blog-section-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.55);
}

/* If no image, let text run full width */
.tb-blog-section:not(.tb-blog-section--has-image) .tb-blog-section-inner {
    display: block;
}

/* Responsive */
@media (max-width: 900px) {
    .tb-blog-section-inner {
        flex-direction: column;
    }

    .tb-blog-section-image {
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .tb-blog-sections {
        padding: 60px 0 80px;
    }

    .tb-blog-section {
        margin-bottom: 32px;
        padding-bottom: 18px;
    }

    .tb-blog-section-title {
        font-size: 1.25rem;
    }
}/* End custom CSS */