html { scroll-behavior: smooth; }
#body { background: #fff; }

.guided-seo-page,
.guided-seo-page * { box-sizing: border-box; }

.guided-seo-page {
    color: #30343b;
    font-size: 16px;
    line-height: 1.65;
}

.guided-seo-wrapper {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.guided-seo-content {
    max-width: 920px;
    margin: 0 auto;
}

.guided-seo-page h1,
.guided-seo-page h2,
.guided-seo-page h3 {
    font-weight: 700;
    letter-spacing: normal;
}

.guided-seo-page h1 {
    color: #3b7bcd;
    font-size: 40px;
    line-height: 1.15;
    margin: 8px auto 12px;
}

.guided-seo-page h2 {
    color: #3b7bcd;
    font-size: 31px;
    line-height: 1.22;
    margin: 0 0 18px;
}

.guided-seo-page h3 {
    color: #236d55;
    font-size: 21px;
    line-height: 1.3;
    margin: 0 0 8px;
}

.guided-seo-page p { margin: 0 0 16px; }
.guided-seo-page a { color: #2d69b5; }

.guided-hero-copy {
    text-align: center;
    padding: 4px 0 28px;
}

.guided-hero-copy .guided-kicker {
    color: #139a68;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
}

.guided-hero-copy .guided-lead {
    color: #3f4b55;
    font-size: 19px;
    line-height: 1.6;
    max-width: 880px;
    margin: 0 auto 20px;
}

.guided-jump-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
}

.guided-jump-links a {
    background: #f0f6fc;
    border: 1px solid #cbdcf0;
    border-radius: 22px;
    color: #2b65aa;
    font-size: 14px;
    font-weight: 700;
    padding: 8px 14px;
    text-decoration: none;
}

.guided-section {
    padding: 54px 0;
}

.guided-section.guided-soft { background: #f5f7f8; }
.guided-section.guided-blue-soft { background: #eef5fb; }
.guided-section-title { text-align: center; }
.guided-section-title p {
    font-size: 18px;
    max-width: 820px;
    margin: -6px auto 28px;
}

.guided-trust-grid,
.guided-feature-grid,
.guided-audience-grid,
.guided-related-grid {
    display: grid;
    gap: 18px;
}

.guided-trust-grid { grid-template-columns: repeat(4, 1fr); margin-top: 28px; }
.guided-feature-grid { grid-template-columns: repeat(3, 1fr); margin-top: 28px; }
.guided-audience-grid { grid-template-columns: repeat(2, 1fr); margin-top: 24px; }
.guided-related-grid { grid-template-columns: repeat(3, 1fr); margin-top: 26px; }

.guided-card {
    background: #fff;
    border: 1px solid #dfe5e9;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 3px 12px rgba(31, 55, 75, 0.06);
}

.guided-trust-card { text-align: center; padding: 20px 12px; }
.guided-trust-card strong {
    display: block;
    color: #3b7bcd;
    font-size: 23px;
    line-height: 1.2;
    margin-bottom: 6px;
}
.guided-trust-card span { font-size: 14px; }

.guided-check-list,
.guided-destination-list,
.guided-itinerary-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.guided-check-list li,
.guided-destination-list li,
.guided-itinerary-list li {
    position: relative;
    padding-left: 26px;
    margin: 9px 0;
}

.guided-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #139a68;
    font-weight: 700;
}

.guided-destination-list {
    columns: 3;
    column-gap: 30px;
}

.guided-destination-list li {
    break-inside: avoid;
    padding-left: 20px;
}

.guided-destination-list li::before {
    content: "•";
    position: absolute;
    left: 2px;
    color: #3b7bcd;
    font-weight: 700;
}

.guided-package-area {
    padding: 48px 0 58px;
    background: #fff;
}

.guided-package-area .inner-content { padding: 0; }
.guided-package-area .packages-items { margin-top: 26px; }

/* Round the package tiles generated by displayPackageLink(). */
.guided-package-area .packages-items .package-item,
.guided-package-area .packages-items .packages-item,
.guided-package-area .packages-items .package-box,
.guided-package-area .packages-items article,
.guided-package-area .packages-items > div {
    border-radius: 14px;
    overflow: hidden;
}

.guided-package-area .packages-items img {
    border-radius: 14px 14px 0 0;
}

/*
 * Package names in this category can run several lines.
 * Allow the title area to expand instead of clipping text, while using
 * a slightly smaller desktop font so longer titles remain readable.
 */
.guided-package-area .packages-items .package-title,
.guided-package-area .packages-items .package-name,
.guided-package-area .packages-items .item-title,
.guided-package-area .packages-items .title,
.guided-package-area .packages-items h2,
.guided-package-area .packages-items h3 {
    box-sizing: border-box;
    height: auto !important;
    min-height: 124px;
    max-height: none !important;
    overflow: visible !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 8px !important;
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.28 !important;
    text-align: center;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
}

.guided-package-area .packages-items .package-title a,
.guided-package-area .packages-items .package-name a,
.guided-package-area .packages-items .item-title a,
.guided-package-area .packages-items .title a,
.guided-package-area .packages-items h2 a,
.guided-package-area .packages-items h3 a {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    line-height: inherit !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
}

.guided-comparison-wrap {
    overflow-x: auto;
    border: 1px solid #dce3e7;
    border-radius: 12px;
    background: #fff;
}

.guided-comparison {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    margin: 0;
}

.guided-comparison th {
    background: #3b7bcd;
    color: #fff;
    padding: 14px 15px;
    text-align: left;
    font-size: 15px;
}

.guided-comparison td {
    padding: 14px 15px;
    border-bottom: 1px solid #e5eaed;
    vertical-align: top;
    font-size: 15px;
}

.guided-comparison tr:last-child td { border-bottom: 0; }
.guided-comparison tr:nth-child(even) td { background: #f7f9fa; }
.guided-comparison td:first-child { color: #2d69b5; font-weight: 700; }

.guided-itinerary {
    background: #fff;
    border: 1px solid #dfe5e9;
    border-left: 5px solid #3b7bcd;
    border-radius: 14px;
    padding: 22px 26px;
    margin-top: 25px;
}

.guided-itinerary-list { counter-reset: day; }
.guided-itinerary-list li { padding-left: 70px; margin: 15px 0; }
.guided-itinerary-list li::before {
    counter-increment: day;
    content: "Day " counter(day);
    position: absolute;
    left: 0;
    top: 0;
    color: #3b7bcd;
    font-weight: 700;
}

.guided-note {
    background: #fff8e7;
    border: 1px solid #eedca9;
    border-radius: 10px;
    padding: 16px 18px;
    margin-top: 22px;
    font-size: 15px;
}


.guided-planner {
    background: #eef5fb;
    border: 1px solid #cddff1;
    border-radius: 14px;
    padding: 38px 34px;
    text-align: center;
}

.guided-planner h2 { margin-bottom: 12px; }
.guided-planner p {
    max-width: 790px;
    margin: 0 auto 18px;
    font-size: 18px;
}

.guided-planner-points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 18px;
    margin: 0 auto 24px;
    padding: 0;
    list-style: none;
}

.guided-planner-points li {
    position: relative;
    padding-left: 20px;
    font-weight: 600;
}

.guided-planner-points li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #139a68;
    font-weight: 700;
}

.guided-cta {
    background: #3b7bcd;
    color: #fff;
    text-align: center;
    padding: 42px 24px;
    border-radius: 14px;
}

.guided-cta h2 { color: #fff; margin-bottom: 12px; }
.guided-cta p { max-width: 760px; margin: 0 auto 22px; font-size: 18px; }

.guided-button,
.guided-button:visited {
    display: inline-block;
    background: #f5c542;
    color: #163455 !important;
    border-radius: 999px;
    font-weight: 700;
    padding: 13px 24px;
    text-decoration: none;
}
.guided-button:hover { background: #ffd45f; text-decoration: none; }

.guided-faq-list { max-width: 920px; margin: 26px auto 0; }
.guided-faq-item {
    background: #fff;
    border: 1px solid #dce3e7;
    border-radius: 10px;
    margin-bottom: 10px;
}
.guided-faq-item summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    color: #2d69b5;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    padding: 17px 48px 17px 18px;
}
.guided-faq-item summary::-webkit-details-marker { display: none; }
.guided-faq-item summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #139a68;
    font-size: 25px;
    font-weight: 400;
}
.guided-faq-item[open] summary::after { content: "−"; }
.guided-faq-answer { padding: 0 18px 18px; font-size: 16px; }
.guided-faq-answer p { margin: 0; }

.guided-related-card a {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 7px;
    text-decoration: none;
}
.guided-related-card p { font-size: 15px; margin: 0; }

@media (max-width: 900px) {
    .guided-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .guided-feature-grid,
    .guided-related-grid { grid-template-columns: 1fr; }
    .guided-destination-list { columns: 2; }
}

@media (max-width: 768px) {
    .guided-seo-wrapper { width: min(100% - 26px, 1120px); }
    .guided-seo-page { font-size: 16px; line-height: 1.58; }
    .guided-seo-page h1 { font-size: 30px !important; line-height: 1.16 !important; margin: 8px auto 10px !important; }
    .guided-seo-page h2 { font-size: 27px; line-height: 1.2; }
    .guided-package-area .packages-items .package-title,
    .guided-package-area .packages-items .package-name,
    .guided-package-area .packages-items .item-title,
    .guided-package-area .packages-items .title,
    .guided-package-area .packages-items h2,
    .guided-package-area .packages-items h3 {
        min-height: 0;
        font-size: 22px !important;
        line-height: 1.28 !important;
        padding: 12px 10px !important;
    }
    .guided-hero-copy { padding: 2px 0 23px; }
    .guided-hero-copy .guided-kicker { font-size: 17px; }
    .guided-hero-copy .guided-lead { font-size: 17px; line-height: 1.52; }
    .guided-section { padding: 38px 0; }
    .guided-section-title p { font-size: 17px; }
    .guided-trust-grid,
    .guided-audience-grid { grid-template-columns: 1fr; }
    .guided-destination-list { columns: 1; }
    .guided-card { padding: 19px; }
    .guided-itinerary { padding: 19px 18px; }
    .guided-itinerary-list li { padding-left: 65px; }
    .guided-jump-links { gap: 7px; }
    .guided-jump-links a { font-size: 13px; padding: 7px 11px; }
    .guided-faq-item summary { font-size: 17px; padding: 15px 44px 15px 15px; }
    .guided-faq-answer { padding: 0 15px 16px; }
    .guided-planner { padding: 30px 18px; }
    .guided-planner p { font-size: 17px; }
    .guided-planner-points { display: block; text-align: left; max-width: 330px; }
    .guided-planner-points li { margin: 8px 0; }
    .guided-cta { padding: 34px 18px; }
    .guided-cta p { font-size: 17px; }
}

/* Modern equal-height package-card grid used by Small Group, Madeira,
   Self-Drive, and City Breaks. Guided Mainland and Azores retain their
   existing flexible-title treatment. */
@media (min-width: 901px) {
    .package-category-grid-cards .guided-package-area .packages-items {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 26px 18px;
        padding: 0 40px 30px;
        box-sizing: border-box;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column;
        height: 100%;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 172px;
        width: 100%;
        height: 172px !important;
        min-height: 172px !important;
        max-height: 172px !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 12px 9px !important;
        overflow: hidden !important;
        font-size: 21px !important;
        line-height: 1.28 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2 a,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 a {
        display: block;
        width: 100%;
        color: inherit !important;
        font-size: inherit !important;
        line-height: inherit !important;
        text-align: inherit !important;
        white-space: normal !important;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2 + *,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 + * {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex: 0 0 76px;
        width: 100%;
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 7px 6px !important;
        overflow: hidden;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2 + * + *,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 + * + * {
        flex: 1 1 auto;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer > a:last-child {
        margin-top: auto;
    }
}

@media (max-width: 768px) {
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer {
        display: block !important;
        height: auto;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 12px 10px !important;
        font-size: 22px !important;
        line-height: 1.28 !important;
        overflow: visible !important;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h2 + *,
    .package-category-grid-cards .guided-package-area .packages-items > .box.offer h3 + * {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: inherit;
        overflow: visible;
    }
}

/* Clean-card treatment currently used by Small Group, Madeira, and City Breaks. */
.package-category-clean-cards .guided-package-area .packages-items > .box.offer > a:first-of-type > span,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer > a:first-of-type > div,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .ribbon,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .offer-ribbon,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .price-ribbon,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .promo-ribbon,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .package-ribbon,
.package-category-clean-cards .guided-package-area .packages-items > .box.offer .special-offer {
    display: none !important;
}

.package-category-clean-cards .guided-package-area .packages-items > .box.offer {
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07) !important;
    overflow: hidden !important;
}

.package-category-clean-cards .guided-package-area .packages-items > .box.offer > a:first-of-type {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.package-category-clean-cards .guided-package-area .packages-items > .box.offer img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    object-fit: cover !important;
}

@media (min-width: 769px) {
    .package-category-clean-cards .guided-package-area .packages-items > .box.offer h2,
    .package-category-clean-cards .guided-package-area .packages-items > .box.offer h3 {
        font-size: 21px !important;
        line-height: 1.24 !important;
        font-weight: 600 !important;
    }

    .package-category-clean-cards .guided-package-area .packages-items > .box.offer h2 a,
    .package-category-clean-cards .guided-package-area .packages-items > .box.offer h3 a {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
    }
}


/* =========================================================
   INFORMATION-STYLE BREADCRUMBS AND CATEGORY BUTTON NAVIGATION
   ========================================================= */

/* Cancel the legacy carousel overlap on package-category pages. */
#body.guided-seo-page > .carousel,
#body.package-categories-hub-page > .carousel {
    float: none !important;
    clear: both !important;
    width: 100%;
    margin-bottom: 0 !important;
}

#body.guided-seo-page > .carousel > .image-page-header,
#body.package-categories-hub-page > .carousel > .image-page-header {
    display: block;
    float: none !important;
    clear: both !important;
    width: 100%;
    overflow: hidden;
}

#body .pc-breadcrumb-strip {
    display: block;
    position: relative;
    z-index: 5;
    float: none !important;
    clear: both !important;
    width: 100%;
    height: auto !important;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible;
    background: #f7f9fc;
    border-top: 1px solid #e3e8ef;
    border-bottom: 1px solid #dce3ec;
    box-sizing: border-box;
}

#body .pc-breadcrumbs {
    display: block;
    float: none !important;
    clear: both !important;
    width: 100%;
    max-width: 1180px;
    height: auto !important;
    margin: 0 auto;
    padding: 10px 30px;
    box-sizing: border-box;
}

#body .pc-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

#body .pc-breadcrumbs li {
    display: inline-flex;
    float: none !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    color: #4f5865;
    font-size: 14px;
    line-height: 1.35;
    list-style: none;
}

#body .pc-breadcrumbs li + li::before {
    display: inline-block;
    margin: 0 9px;
    color: #8a95a3;
    content: "›";
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
}

#body .pc-breadcrumbs a,
#body .pc-breadcrumbs span {
    display: inline-block;
    padding: 0 !important;
    font-size: 14px;
    line-height: 1.35;
    text-decoration: none;
}

#body .pc-breadcrumbs a {
    color: #4f5865;
}

#body .pc-breadcrumbs a:hover,
#body .pc-breadcrumbs a:focus {
    color: #244fa8;
    text-decoration: underline;
}

#body .pc-breadcrumbs span[aria-current="page"] {
    color: #3b68c9;
    font-weight: 700;
}

#body .pc-category-nav-shell {
    display: block;
    float: none !important;
    clear: both !important;
    width: min(1120px, calc(100% - 32px));
    margin: 16px auto 0;
    box-sizing: border-box;
}

#body .pc-section-nav-wrap {
    display: block;
    position: relative;
    z-index: 2;
    float: none !important;
    clear: both !important;
    width: 100%;
    height: auto !important;
    min-height: 0;
    margin: 0 0 14px;
    padding: 14px 16px;
    overflow: visible;
    background: #f7f9fc;
    border: 1px solid #d8e0eb;
    border-radius: 5px;
    box-sizing: border-box;
}

#body .pc-section-nav {
    display: block;
    position: static;
    float: none !important;
    width: 100%;
    max-width: none;
    height: auto !important;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    box-sizing: border-box;
}

#body .pc-section-nav-label {
    display: block;
    margin: 0 0 9px;
    padding: 0;
    color: #596b82;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.25;
    text-transform: uppercase;
}

#body .pc-section-nav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible;
    list-style: none;
    box-sizing: border-box;
}

#body .pc-section-nav-list li {
    display: block;
    float: none !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

#body .pc-section-nav-list a {
    display: block;
    padding: 8px 11px;
    background: #fff;
    border: 1px solid #cbd7e7;
    border-radius: 4px;
    color: #3d5f91;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

#body .pc-section-nav-list a:hover,
#body .pc-section-nav-list a:focus {
    background: #eaf0fb;
    border-color: #aebfda;
    color: #244fa8;
    text-decoration: none;
}

#body .pc-section-nav-list a.is-active,
#body .pc-section-nav-list a[aria-current="page"] {
    background: #3b68c9;
    border-color: #3b68c9;
    color: #fff;
}

/* The first content block follows the navigation without a large gap. */
#body .pc-category-nav-shell + main .guided-hero-copy {
    padding-top: 10px;
}

@media screen and (max-width: 767px) {
    #body .pc-breadcrumbs {
        padding: 9px 14px;
    }

    #body .pc-breadcrumbs li,
    #body .pc-breadcrumbs a,
    #body .pc-breadcrumbs span {
        font-size: 13px;
    }

    #body .pc-category-nav-shell {
        width: min(100% - 20px, 1120px);
        margin-top: 12px;
    }

    #body .pc-section-nav-wrap {
        margin-bottom: 12px;
        padding: 12px;
        overflow: visible;
    }

    #body .pc-section-nav-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
        overflow: visible;
        padding-bottom: 0 !important;
    }

    #body .pc-section-nav-list li {
        display: block;
        width: 100%;
        min-width: 0;
    }

    #body .pc-section-nav-list a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 40px;
        padding: 8px 7px;
        font-size: 12px;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* =========================================================
   CATEGORY INTRO + FIRST FEATURE SECTION REFINEMENT
   More editorial / less centered, while keeping card content centered.
   ========================================================= */

.guided-hero-copy {
    padding: 24px 0 30px;
    text-align: left;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
    border-bottom: 1px solid #edf1f5;
}

.guided-hero-copy .guided-seo-wrapper {
    max-width: 1040px;
}

.guided-hero-copy .guided-kicker {
    display: inline-block;
    margin: 0 0 11px;
    padding-left: 12px;
    border-left: 4px solid #139a68;
    line-height: 1.35;
}

.guided-hero-copy h1 {
    max-width: 1000px;
    margin: 0 0 14px !important;
    text-align: left;
}

.guided-hero-copy .guided-lead {
    max-width: 920px;
    margin: 0 0 20px;
    line-height: 1.55;
    text-align: left;
}

.guided-hero-copy .guided-jump-links {
    justify-content: flex-start;
    margin-top: 16px;
}

/* The first section after the category intro is the trust / at-a-glance section. */
.guided-hero-copy + .guided-section {
    padding-top: 38px;
    padding-bottom: 42px;
}

.guided-hero-copy + .guided-section .guided-section-title {
    text-align: left;
}

.guided-hero-copy + .guided-section .guided-section-title h2 {
    max-width: 900px;
    margin-bottom: 12px;
}

.guided-hero-copy + .guided-section .guided-section-title p {
    max-width: 840px;
    margin: 0 0 22px;
    line-height: 1.55;
}

.guided-hero-copy + .guided-section .guided-trust-grid {
    margin-top: 18px;
}

/* Keep the individual proof-point cards centered for visual balance. */
.guided-hero-copy + .guided-section .guided-trust-card {
    text-align: center;
}

@media (max-width: 768px) {
    .guided-hero-copy {
        padding: 18px 0 24px;
    }

    .guided-hero-copy .guided-kicker {
        margin-bottom: 10px;
        padding-left: 10px;
        font-size: 16px;
    }

    .guided-hero-copy h1 {
        margin: 0 0 12px !important;
        text-align: left;
    }

    .guided-hero-copy .guided-lead {
        margin: 0 0 17px;
        text-align: left;
    }

    .guided-hero-copy .guided-jump-links {
        justify-content: flex-start;
        margin-top: 14px;
    }

    .guided-hero-copy + .guided-section {
        padding-top: 30px;
        padding-bottom: 34px;
    }

    .guided-hero-copy + .guided-section .guided-section-title {
        text-align: left;
    }

    .guided-hero-copy + .guided-section .guided-section-title p {
        margin: 0 0 20px;
    }
}

/* =========================================================
   WIDTH + ALIGNMENT CONTINUITY
   Align the intro, trust section and package section to the same
   effective 1040px content line used by the desktop package grid.
   ========================================================= */

.guided-hero-copy .guided-seo-wrapper,
.guided-hero-copy + .guided-section .guided-seo-wrapper.guided-seo-content,
.guided-package-area .guided-section-title.guided-seo-content {
    max-width: 1040px;
}

/* The trust section previously inherited the narrower 920px content width,
   which made its left edge drift inward compared with the intro and cards. */
.guided-hero-copy + .guided-section .guided-seo-wrapper.guided-seo-content {
    width: min(1040px, calc(100% - 32px));
}

/* Keep the package heading on the same editorial axis as the sections above. */
.guided-package-area .guided-section-title {
    text-align: left;
}

.guided-package-area .guided-section-title h2 {
    max-width: 900px;
    margin: 0 0 10px;
}

.guided-package-area .guided-section-title p {
    max-width: 840px;
    margin: 0 0 24px;
    line-height: 1.55;
}

/* Reduce the visual jump between the trust cards and package section. */
.guided-hero-copy + .guided-section {
    padding-bottom: 34px;
}

.guided-package-area {
    padding-top: 36px;
}

/* The card grid already has 40px desktop side padding. Keep the heading
   visually aligned with the first and last card columns. */
@media (min-width: 901px) {
    .guided-package-area .guided-section-title.guided-seo-content {
        width: calc(100% - 80px);
    }
}

@media (max-width: 900px) {
    .guided-package-area .guided-section-title.guided-seo-content {
        width: min(100% - 26px, 1040px);
    }
}

@media (max-width: 768px) {
    .guided-hero-copy .guided-seo-wrapper,
    .guided-hero-copy + .guided-section .guided-seo-wrapper.guided-seo-content,
    .guided-package-area .guided-section-title.guided-seo-content {
        width: min(100% - 26px, 1040px);
        max-width: none;
    }

    .guided-package-area .guided-section-title {
        text-align: left;
    }

    .guided-package-area .guided-section-title p {
        margin-bottom: 20px;
    }

    .guided-package-area {
        padding-top: 30px;
    }
}

/* =========================================================
   HERO WIDTH + CENTERED JUMP BUTTONS
   Open up the title/intro copy while keeping the editorial left alignment.
   ========================================================= */

.guided-hero-copy .guided-seo-wrapper {
    max-width: 1120px;
}

.guided-hero-copy h1 {
    max-width: 1080px;
}

.guided-hero-copy .guided-lead {
    max-width: 1040px;
}

/* Center only the in-page jump buttons. */
.guided-hero-copy .guided-jump-links {
    justify-content: center;
    width: 100%;
    margin-top: 18px;
}

@media (max-width: 768px) {
    .guided-hero-copy .guided-seo-wrapper {
        width: min(100% - 26px, 1120px);
        max-width: none;
    }

    .guided-hero-copy h1,
    .guided-hero-copy .guided-lead {
        max-width: none;
    }

    .guided-hero-copy .guided-jump-links {
        justify-content: center;
        margin-top: 16px;
    }
}

/* =========================================================
   FINAL HERO ALIGNMENT
   Bring the hero copy in slightly so its text edges align with
   the trust and package sections below, while keeping the wider feel.
   ========================================================= */

@media (min-width: 769px) {
    .guided-hero-copy .guided-seo-wrapper {
        padding-left: 28px;
        padding-right: 28px;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .guided-hero-copy .guided-seo-wrapper {
        padding-left: 0;
        padding-right: 0;
    }
}

/* =========================================================
   CATEGORY NAV FRAME + TRUST CARD TITLE ALIGNMENT
   ========================================================= */

/* Bring the category-navigation frame onto the same 1040px content axis
   used by the trust/content sections below it. */
@media (min-width: 768px) {
    #body .pc-category-nav-shell {
        width: min(1040px, calc(100% - 32px));
    }
}

/* Give every trust-card title the same two-line title area.
   This also forces "Portugal Specialists" onto two lines so all four
   cards have matching visual rhythm. */
.guided-trust-card strong {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    max-width: 165px;
    margin: 0 auto 6px;
    text-align: center;
}

@media (max-width: 768px) {
    .guided-trust-card strong {
        min-height: 0;
        max-width: 165px;
    }
}

/* =========================================================
   NAV FRAME + VERIFIED REVIEWS TITLE CORRECTION
   ========================================================= */

/* The previous 1040px frame was brought in too far.
   Open it back up slightly while keeping it clearly inset from the page edge. */
@media (min-width: 768px) {
    #body .pc-category-nav-shell {
        width: min(1080px, calc(100% - 32px));
    }
}

/* Keep the existing two-line treatment for the first three cards,
   but give the longer final title enough width to use two lines instead of three. */
.guided-trust-grid .guided-trust-card:last-child strong {
    max-width: 220px;
}

/* =========================================================
   PACKAGE CARD RESPONSIVE GRID FIX
   Prevent the legacy theme's floated card widths from taking over
   below the 901px desktop breakpoint.
   ========================================================= */

/* Tablet / narrow desktop: clean two-column rows. */
@media (min-width: 601px) and (max-width: 900px) {
    .package-category-grid-cards .guided-package-area .packages-items {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 18px;
        padding: 0 24px 28px;
        box-sizing: border-box;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column;
        height: 100%;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer > a:last-child {
        margin-top: auto;
    }
}

/* Phone widths: one full-width card per row. */
@media (max-width: 600px) {
    .package-category-grid-cards .guided-package-area .packages-items {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 14px 24px;
        box-sizing: border-box;
    }

    .package-category-grid-cards .guided-package-area .packages-items > .box.offer {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
        height: auto !important;
    }
}

/* =========================================================
   NAV-TO-CONTENT GAP FIX
   The legacy theme applies spacing to <main> / adjacent blocks.
   Remove it only on the universal package-category template.
   ========================================================= */

#body.guided-seo-page > .pc-category-nav-shell {
    margin-bottom: 0 !important;
}

#body.guided-seo-page > .pc-category-nav-shell .pc-section-nav-wrap {
    margin-bottom: 0 !important;
}

#body.guided-seo-page > .pc-category-nav-shell + main {
    display: block;
    clear: both;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#body.guided-seo-page > .pc-category-nav-shell + main > .guided-hero-copy:first-child {
    margin-top: 0 !important;
    padding-top: 14px !important;
}

/* =========================================================
   NAV-TO-HERO FINAL SPACING
   Add back a modest breathing space below the category navigation.
   ========================================================= */

#body.guided-seo-page > .pc-category-nav-shell + main > .guided-hero-copy:first-child {
    padding-top: 24px !important;
}

@media (max-width: 768px) {
    #body.guided-seo-page > .pc-category-nav-shell + main > .guided-hero-copy:first-child {
        padding-top: 18px !important;
    }
}

/* =========================================================
   CATEGORY NAV AREA FINAL SPACING
   Put the breathing room inside the gray navigation area,
   not inside the white hero section below.
   ========================================================= */

#body.guided-seo-page > .pc-category-nav-shell {
    padding-bottom: 18px !important;
}

/* Keep the content below close to the edge of the gray navigation band. */
#body.guided-seo-page > .pc-category-nav-shell + main > .guided-hero-copy:first-child {
    padding-top: 10px !important;
}

@media (max-width: 768px) {
    #body.guided-seo-page > .pc-category-nav-shell {
        padding-bottom: 14px !important;
    }

    #body.guided-seo-page > .pc-category-nav-shell + main > .guided-hero-copy:first-child {
        padding-top: 10px !important;
    }
}

/* =========================================================
   FINAL HEADING SCALE
   Keep H1 only slightly larger than H2.
   Desktop H2 = 31px, so H1 = 33px.
   Mobile H2 = 27px, so H1 = 29px.
   ========================================================= */

.guided-seo-page h1 {
    font-size: 33px !important;
    line-height: 1.18 !important;
}

@media (max-width: 768px) {
    .guided-seo-page h1 {
        font-size: 29px !important;
        line-height: 1.18 !important;
    }
}

/* =========================================================
   GUIDED MAINLAND PACKAGE CARD COMPACTION
   Reduce the oversized title block while preserving enough room
   for the longest current Guided Mainland package names.
   ========================================================= */

@media (min-width: 901px) {
    .package-category-guided-mainland.package-category-grid-cards
    .guided-package-area .packages-items > .box.offer h2,
    .package-category-guided-mainland.package-category-grid-cards
    .guided-package-area .packages-items > .box.offer h3 {
        flex: 0 0 152px;
        height: 152px !important;
        min-height: 152px !important;
        max-height: 152px !important;
        padding: 10px 8px !important;
        font-size: 20px !important;
        line-height: 1.28 !important;
    }
}

/* =========================================================
   GUIDED MAINLAND PACKAGE CARD FINAL COMPACTION
   Trim the title block a little further.
   ========================================================= */

@media (min-width: 901px) {
    .package-category-guided-mainland.package-category-grid-cards
    .guided-package-area .packages-items > .box.offer h2,
    .package-category-guided-mainland.package-category-grid-cards
    .guided-package-area .packages-items > .box.offer h3 {
        flex-basis: 142px;
        height: 142px !important;
        min-height: 142px !important;
        max-height: 142px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}

