/* =============================================================
   VWS CORE — trip package and itinerary styles
   Version 1.21.12. Loaded by vws-core 1.6.4+ from vws-core.css beside the plugin
   file. Edit this file and upload it; do not put package CSS in
   FSE Additional CSS.

   Palette: green #4a7c3f, cream #f7f5f0, text #333 / #555 / #666.
   ============================================================= */


/* -------------------------------------------------------------
   PACKAGE WRAPPER
   ------------------------------------------------------------- */

.vws-trip-packages {
    margin-block: 2.5rem;
}

.vws-trip-packages__heading {
    font-size: 1.75rem;
    border-bottom: 3px solid currentColor;
    padding-bottom: 0.5rem;
    margin-bottom: 2rem;
}


/* -------------------------------------------------------------
   INDIVIDUAL PACKAGE BLOCK
   ------------------------------------------------------------- */

.vws-package {
    background-color: #f7f5f0;
    border-left: 5px solid #4a7c3f;
    padding: 1.75rem 2rem;
    margin-bottom: 2rem;
    border-radius: 0 4px 4px 0;
}

.vws-package__title {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
    margin-top: 0;
}

.vws-package__subtitle {
    display: block;
    font-size: 0.95rem;
    font-weight: normal;
    font-style: italic;
    color: #555;
    margin-top: 0.2rem;
}

.vws-package__meta {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 1.25rem;
    margin-top: 0.25rem;
}


/* -------------------------------------------------------------
   DATES
   ------------------------------------------------------------- */

.vws-package__dates {
    margin-bottom: 1.25rem;
}

.vws-package__date-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.vws-date {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    padding: 0.3rem 0.75rem;
    font-size: 0.95rem;
}

.vws-date--sold-out {
    opacity: 0.6;
    text-decoration: line-through;
}

.vws-date__badge {
    background: #c0392b;
    color: #fff;
    font-size: 0.7rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.1rem 0.4rem;
    border-radius: 2px;
    text-decoration: none; /* override parent strikethrough */
    display: inline-block;
}

.vws-package__no-dates {
    font-style: italic;
    color: #666;
    margin-bottom: 1.25rem;
}


/* -------------------------------------------------------------
   PRICING
   ------------------------------------------------------------- */

.vws-package__pricing {
    margin-bottom: 1.25rem;
}

.vws-package__pricing p {
    margin: 0.4rem 0;
    font-size: 0.975rem;
    line-height: 1.5;
}

.vws-package__base-price {
    font-size: 1.1rem !important;
}

.vws-package__single-supp {
    color: #555;
    font-size: 0.9rem !important;
}

.vws-package__group-price {
    margin-top: 0.6rem !important;
}

.vws-package__group-note {
    display: block;
    font-size: 0.875rem;
    color: #555;
    font-weight: normal;
}

.vws-package__price-inc,
.vws-package__price-note,
.vws-package__flight-note {
    color: #555;
    font-size: 0.875rem !important;
    font-style: italic;
}


/* -------------------------------------------------------------
   PACKAGE WRITE-UP
   Renders under the title and meta line from 1.6.4, so the old
   top border (which separated it from the pricing) is gone.
   ------------------------------------------------------------- */

.vws-package__content {
    margin-bottom: 1.25rem;
    font-size: 0.95rem;
}

.vws-package__content > :first-child {
    margin-top: 0;
}


/* -------------------------------------------------------------
   ACTION BUTTONS
   ------------------------------------------------------------- */

.vws-package__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.vws-btn {
    display: inline-block;
    padding: 0.65rem 1.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 3px;
    line-height: 1.2;
    transition: background-color 0.15s ease, color 0.15s ease;
    cursor: pointer;
    white-space: nowrap;
}

.vws-btn--primary {
    background-color: #4a7c3f;
    color: #fff;
    border: 2px solid #4a7c3f;
}

.vws-btn--primary:hover,
.vws-btn--primary:focus {
    background-color: #3a6230;
    border-color: #3a6230;
    color: #fff;
}

.vws-btn--secondary {
    background-color: transparent;
    color: #4a7c3f;
    border: 2px solid #4a7c3f;
}

.vws-btn--secondary:hover,
.vws-btn--secondary:focus {
    background-color: #4a7c3f;
    color: #fff;
}

.vws-btn--disabled {
    background-color: #ccc;
    color: #666;
    border: 2px solid #ccc;
    cursor: default;
}


/* -------------------------------------------------------------
   FOOTER NOTES
   ------------------------------------------------------------- */

.vws-trip-packages__footer {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid #ddd;
    font-size: 0.9rem;
    color: #555;
}

.vws-trip-packages__footer p {
    margin: 0.35rem 0;
}

.vws-trip-packages__sellout-notice {
    font-size: 1rem !important;
    color: #333 !important;
    font-weight: 500;
}

.vws-no-packages {
    font-style: italic;
    color: #555;
}


/* -------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------- */

@media (max-width: 600px) {

    .vws-package {
        padding: 1.25rem 1.25rem;
    }

    .vws-package__date-list {
        flex-direction: column;
    }

    .vws-package__actions {
        flex-direction: column;
    }

    .vws-btn {
        text-align: center;
    }
}

/* Trip package featured images — cap at 960 wide, let height follow */
.vws-package__image {
    max-width: 960px;
    margin: 0 0 1rem;
}

.vws-package__image img {
    display: block;
    width: 100%;
    height: auto;
}

/* =====================================================================
   VWS TRIP PACKAGES — activities, extensions, currency, testimonial
   ===================================================================== */

/* Activities, rendered under Accommodation */
.vws-package__activities {
    margin-bottom: 1.25rem;
}

.vws-package__activity-list {
    margin: 0 0 0.4rem;
    font-size: 0.9rem;
    color: #555;
}

.vws-package__activities-note {
    margin: 0 0 0.25rem;
    font-size: 0.875rem;
    font-style: italic;
    color: #666;
}

/* Extensions section */
.vws-trip-extensions {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 3px solid currentColor;
}

.vws-trip-extensions__heading {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.vws-trip-extensions__intro {
    color: #555;
    margin-bottom: 1.5rem;
}

/* Extension cards intentionally left unstyled here - they use the same
   .vws-package look as main trips, since they can be booked standalone. */

/* "Can be extended with:" line on main packages */
.vws-package__extension-links {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: #555;
}

.vws-package__extension-links a {
    color: #4a7c3f;
}

/* Cayo's USD under a CAD trip - only the currency code is bold, not
   the amount or the "Trip Fee:" label. Requires vws-core 1.6.2, which
   wraps the currency in its own .vws-package__currency span; on 1.6.1
   the currency is plain text inside .vws-package__base-price and this
   rule has nothing to target. */
.vws-package__pricing--currency-differs .vws-package__currency {
    font-weight: 700;
}

/* Featured testimonial - quiet supporting text, not a feature.
   The theme styles blockquotes large; these class rules override it
   whatever order the stylesheets load in. */
.vws-package .vws-package__testimonial {
    margin: 1.25rem 0;
    padding: 0.25rem 0 0.25rem 1rem;
    background: none;
    border-left: 2px solid #c9d6c4;
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.55;
    max-width: 48rem;
}

.vws-package .vws-package__testimonial-quote {
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #555;
}

.vws-package .vws-package__testimonial-attribution {
    display: block;
    font-style: normal;
    font-size: 0.8rem;
    color: #666;
}

.vws-package__testimonial-attribution::before {
    content: "— ";
}

/* =====================================================================
   VWS TRIP PACKAGES — durations (vws-core 1.6.3) and extension images
   ===================================================================== */

/* One block per duration on a package with variations */
.vws-package__variations {
    margin-bottom: 1.25rem;
}

.vws-variation {
    padding: 0.75rem 0 0.75rem 1rem;
    border-left: 3px solid #4a7c3f;
    margin-bottom: 1rem;
}

.vws-variation__price {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.vws-variation__label {
    color: #4a7c3f;
}

/* Group price under a variation's price (vws-core 1.6.8). The package
   version sits inside .vws-package__pricing and gets its spacing there. */
.vws-package .vws-variation__group-price {
    margin: 0 0 0.6rem;
    font-size: 0.975rem;
    line-height: 1.5;
}

/* Variation highlights share the .vws-highlights list rules below. */

/* The date pills already styled in the existing CSS sit inside each
   block unchanged; only tighten the space above them. */
.vws-variation .vws-package__dates {
    margin-top: 0.25rem;
}

.vws-variation__itinerary {
    margin: 0.5rem 0 0;
}

/* Small images float left at a fixed width with the text wrapping,
   like the old site's alignleft. Applies to every extension and to
   any main package with "Small Image" ticked (vws-core 1.6.9). */
.vws-package--image-small .vws-package__image {
    float: left;
    width: 45%;
    max-width: 420px;
    margin: 0 1.25rem 1rem 0;
}

.vws-package--image-small .vws-package__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Everything after the write-up starts below the image, so labels
   and lists never wrap part-way around it. */
.vws-package--image-small .vws-package__content::after {
    content: "";
    display: block;
    clear: both;
}

/* Keep the float inside the card */
.vws-package--image-small::after {
    content: "";
    display: table;
    clear: both;
}

/* Buttons always start below the image */
.vws-package--image-small .vws-package__actions {
    clear: both;
}

/* Phones: stack the image above the text again */
@media (max-width: 600px) {
    .vws-package--image-small .vws-package__image {
        float: none;
        width: 100%;
        max-width: none;
        margin: 0 0 1rem;
    }
}

/* =====================================================================
   VWS TRIP PACKAGES — labels, highlights, accommodation (vws-core 1.6.4)
   ===================================================================== */

/* Every inline label (Accommodation, Activities, Dates, Other dates,
   Trip Highlights) carries this class, so they all look the same. */
.vws-package__label {
    font-weight: 700;
    color: #333;
    font-size: 0.9rem;
}

/* Accommodation matches the activities line */
.vws-package__accommodation {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    color: #555;
}

/* Trip Highlights (package and duration) */
.vws-package__highlights {
    margin-bottom: 1.25rem;
}

.vws-variation .vws-package__highlights {
    margin-bottom: 0.75rem;
}

/* Label paragraph above a list (Dates, Trip Highlights / Package
   Includes) - sits directly on top of what it labels. */
.vws-package .vws-package__label-line {
    margin: 0 0 0.2rem;
}

/* Shared list for package and duration highlights. Scoped under
   .vws-package so it outranks the theme's list and block-gap
   margins, which were opening a gap under the heading. */
.vws-package .vws-highlights {
    margin: 0 0 0.75rem 1.25rem;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #555;
}

.vws-package .vws-highlights li {
    margin: 0 0 0.15rem;
    padding: 0;
}


/* =============================================================
   ITINERARIES (vws-core 1.7.0)
   The [vws_itinerary] shortcode on the Single item: Itinerary
   template. Same palette as the packages.
   ============================================================= */

.vws-itinerary {
    margin-block: 1.5rem 2.5rem;
}

/* Section headings: same weight and rule as the packages heading */
.vws-itinerary__heading {
    font-size: 1.5rem;
    border-bottom: 3px solid currentColor;
    padding-bottom: 0.4rem;
    margin: 2.5rem 0 1.25rem;
}


/* -------------------------------------------------------------
   TRIP FACTS
   ------------------------------------------------------------- */

.vws-itinerary__facts-wrap {
    background-color: transparent; /* 1.21.5: no background on the top panel */
    border-left: 5px solid #4a7c3f;
    border-radius: 0 4px 4px 0;
    padding: 1.25rem 1.75rem;
    margin-bottom: 2rem;
}

.vws-itinerary__facts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: 0.9rem 1.5rem;
    margin: 0;
}

.vws-itinerary__fact dt {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4a7c3f;
    margin: 0;
}

.vws-itinerary__fact dd {
    margin: 0.1rem 0 0;
    color: #333;
}

.vws-itinerary__trip-link {
    margin: 1.25rem 0 0;
}


/* -------------------------------------------------------------
   DAY BY DAY
   ------------------------------------------------------------- */

.vws-day {
    padding: 0 0 1.25rem 1.25rem;
    margin-bottom: 1.25rem;
    border-left: 3px solid #cfdcc9;
}

.vws-day:last-child {
    margin-bottom: 0;
}

.vws-day__title {
    font-size: 1.15rem;
    margin: 0 0 0.25rem;
}

.vws-day__label {
    color: #4a7c3f;
}

.vws-day__meta {
    font-size: 0.9rem;
    color: #666;
    margin: 0 0 0.5rem;
}

.vws-day__sep {
    margin: 0 0.4rem;
    color: #999;
}

.vws-day__meta a {
    color: inherit;
}

.vws-day__text > :first-child {
    margin-top: 0;
}

.vws-day__text > :last-child {
    margin-bottom: 0;
}


/* -------------------------------------------------------------
   WHERE YOU STAY / PICKUP POINT
   ------------------------------------------------------------- */

.vws-stay {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.vws-stay__image {
    flex: 0 0 34%;
    max-width: 300px;
}

.vws-stay__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.vws-stay__body {
    flex: 1 1 auto;
    min-width: 0;
}

.vws-stay__name {
    font-size: 1.1rem;
    margin: 0 0 0.35rem;
}

.vws-stay__description > :first-child {
    margin-top: 0;
}

.vws-stay__contact {
    font-size: 0.9rem;
    color: #555;
    margin: 0.5rem 0 0;
}

.vws-stay__contact > span {
    display: block;
}

.vws-pickup__name {
    font-size: 1.15rem;
    margin: 0 0 0.35rem;
}

.vws-pickup .vws-package__label-line {
    margin: 1rem 0 0.5rem;
}

.vws-pickup__hotels .vws-stay {
    margin-bottom: 1rem;
}

.vws-pickup__hotels .vws-stay__name {
    font-size: 1rem;
}


/* -------------------------------------------------------------
   INCLUDED / NOT INCLUDED
   Side by side on wide screens, stacked on phones.
   ------------------------------------------------------------- */

.vws-itinerary__included {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0 2rem;
}

.vws-itinerary .vws-highlights {
    margin: 0 0 0.75rem 1.25rem;
    padding: 0;
    line-height: 1.5;
}

.vws-itinerary .vws-highlights li {
    margin: 0 0 0.25rem;
}


/* -------------------------------------------------------------
   SHARED SECTIONS AND PAYMENT TERMS
   ------------------------------------------------------------- */

.vws-shared-section {
    margin-bottom: 1.5rem;
}

.vws-shared-section__title {
    font-size: 1.15rem;
    margin: 0 0 0.35rem;
}

.vws-shared-section__content > :first-child {
    margin-top: 0;
}

.vws-itinerary__payment-terms {
    font-size: 0.95rem;
    color: #555;
}


@media (max-width: 600px) {

    .vws-itinerary__facts-wrap {
        padding: 1rem 1.1rem;
    }

    .vws-day {
        padding-left: 0.9rem;
    }

    .vws-stay {
        flex-direction: column;
    }

    .vws-stay__image {
        flex-basis: auto;
        max-width: 100%;
    }
}


/* Itinerary Notes (1.7.3): one-liners at the top of Good to Know,
   read as one block - a single rule down the left of the group,
   lines close together. */
.vws-itinerary__notes {
    margin-bottom: 1.5rem;
    padding-left: 1rem;
    border-left: 3px solid #cfdcc9;
}

.vws-itinerary .vws-itinerary__note {
    margin: 0 0 0.35rem;
}

.vws-itinerary .vws-itinerary__note:last-child {
    margin-bottom: 0;
}


/* -------------------------------------------------------------
   ITINERARY TYPE SCALE (1.7.3)
   The theme's body text is about 21px, larger than the day
   headings, so the page read upside down. Text here is brought
   down to about 17px, with headings stepping up from it.
   ------------------------------------------------------------- */

.vws-itinerary {
    font-size: 1.05rem;
    line-height: 1.6;
}

.vws-itinerary p,
.vws-itinerary li,
.vws-itinerary dd {
    font-size: inherit;
    line-height: inherit;
}

.vws-itinerary .vws-itinerary__heading {
    font-size: 1.45rem;
}

.vws-itinerary .vws-day__title {
    font-size: 1.15rem;
    line-height: 1.35;
}

.vws-itinerary .vws-day {
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

/* "Day 2: Title" on one line, whatever the theme does to spans */
.vws-itinerary .vws-day__title .vws-day__label {
    display: inline !important;
}

.vws-itinerary .vws-day__meta,
.vws-itinerary .vws-stay__contact,
.vws-itinerary .vws-itinerary__payment-terms {
    font-size: 0.9rem;
}

.vws-itinerary .vws-stay__name,
.vws-itinerary .vws-pickup__name,
.vws-itinerary .vws-shared-section__title {
    font-size: 1.1rem;
}

.vws-itinerary .vws-itinerary__fact dd {
    font-size: 1rem;
}

.vws-itinerary .vws-itinerary__sellout-notice {
    font-size: 0.9rem;
    color: #555;
    margin: 0.75rem 0 0;
}



/* -------------------------------------------------------------
   TRIP PACKAGE STAFF PAGE (1.8.1)
   [vws_package] on a package's own page: the record box, then the
   package as it shows on its trip page, framed so it reads as a
   preview.
   ------------------------------------------------------------- */

.vws-package-page {
    margin-block: 1.5rem 3rem;
}

.vws-package-page__record {
    background-color: #f7f5f0;
    border-left: 5px solid #4a7c3f;
    border-radius: 0 4px 4px 0;
    padding: 1.25rem 1.75rem;
    margin-bottom: 2.5rem;
}

.vws-package-page__notice {
    font-size: 0.9rem;
    color: #555;
    margin: 0 0 1rem;
}

.vws-package-page__notice a {
    margin-left: 0.5rem;
    font-weight: 600;
}

.vws-package-page__heading {
    font-size: 1.25rem;
    margin: 1.75rem 0 0.75rem;
}

.vws-package-page__record .vws-package-page__heading:first-of-type {
    margin-top: 1.5rem;
}

.vws-package-page__aside {
    font-size: 0.85rem;
    color: #666;
}

p.vws-package-page__aside {
    margin: -0.5rem 0 0.75rem;
}

.vws-package-page__missing {
    color: #b32d2e;
}

.vws-package-page__preview .vws-package {
    margin-bottom: 0;
}


/* =============================================================
   1.10.0 - ITINERARY CHANGES FROM THE FIRST CONVERSIONS
   Build Plan 2026-10-09, batch A.
   ============================================================= */

/* -------------------------------------------------------------
   FACTS BOX: ACTIVITIES
   A long activities list in one grid column wrapped over six
   lines. It now takes the whole width of the box, with the
   package's Activities Note lines under it.
   ------------------------------------------------------------- */

.vws-itinerary__fact--wide {
    grid-column: 1 / -1;
}

/* No .vws-itinerary in front: the staff package page prints the
   same box outside an itinerary. */
.vws-itinerary__activities-note {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.9rem;
    color: #555;
}


/* -------------------------------------------------------------
   IMAGES ON DAYS AND SHARED SECTIONS
   A Day's or Shared Section's Featured Image floats to the right
   of its text. display: flow-root keeps the float inside its own
   Day or section, so a short text never lets the image hang down
   into the next one.
   ------------------------------------------------------------- */

.vws-day,
.vws-shared-section {
    display: flow-root;
}

.vws-record-image {
    float: right;
    width: 38%;
    max-width: 300px;
    margin: 0.25rem 0 0.75rem 1.5rem;
}

.vws-record-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}


/* -------------------------------------------------------------
   OVERVIEW: TEXT WRAPPING AROUND ALIGNED IMAGES
   Only an image set to Align left or Align right in the block
   editor wraps. An image with no alignment stays on its own line,
   as before. The theme floats aligned images only inside its own
   layout containers, and the overview isn't one, so it is done
   here. Covers image blocks (figure) and images left in classic
   markup (img, caption).
   ------------------------------------------------------------- */

.vws-itinerary__overview {
    display: flow-root;
}

.vws-itinerary__overview .alignleft,
.vws-itinerary__overview .alignright {
    width: auto;
    max-width: 45%;
    margin-top: 0.3rem;
    margin-bottom: 0.75rem;
}

.vws-itinerary__overview .alignleft {
    float: left;
    margin-left: 0;
    margin-right: 1.5rem;
}

.vws-itinerary__overview .alignright {
    float: right;
    margin-right: 0;
    margin-left: 1.5rem;
}

.vws-itinerary__overview .alignleft img,
.vws-itinerary__overview .alignright img,
.vws-itinerary__overview img.alignleft,
.vws-itinerary__overview img.alignright {
    height: auto;
    max-width: 100%;
}

.vws-itinerary__overview figure.alignleft img,
.vws-itinerary__overview figure.alignright img {
    display: block;
}


/* Phones: no floats. Images go full width above their text. */
@media (max-width: 600px) {

    .vws-record-image,
    .vws-itinerary__overview .alignleft,
    .vws-itinerary__overview .alignright {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 0.75rem;
    }
}


/* =============================================================
   1.11.0 - ITINERARY CHANGES
   Build Plan 2026-10-09, batch B, and the items from testing
   1.10.0.
   ============================================================= */

/* -------------------------------------------------------------
   INTRO ABOVE THE DAYS
   Itinerary Intro notes and Shared Sections set to Top of page,
   printed after the overview and directly above Day by Day
   (1.11.1; under the facts box in 1.11.0).
   ------------------------------------------------------------- */

.vws-itinerary__intro {
    margin: 1.5rem 0 0.5rem;
}

.vws-itinerary__intro .vws-itinerary__notes {
    margin-bottom: 1rem;
}

.vws-itinerary .vws-itinerary__notes--intro .vws-itinerary__note {
    font-weight: 600;
}

.vws-itinerary__intro .vws-shared-section:last-child {
    margin-bottom: 0;
}


/* -------------------------------------------------------------
   THE LINE UNDER WHAT'S INCLUDED / WHAT'S NOT INCLUDED
   Paul's bracketed wording, small and quiet under each heading.
   ------------------------------------------------------------- */

.vws-itinerary .vws-itinerary__list-note {
    margin: -0.4rem 0 0.6rem;
    font-size: 0.85rem;
    color: #666;
}


/* -------------------------------------------------------------
   FOOTNOTE MARKS AND PHONE LINKS
   A mark that has a note is a link down to it. The dagger is a
   superscript; line-height 0 stops it pushing its line apart.
   ------------------------------------------------------------- */

.vws-itinerary .vws-fn-ref {
    text-decoration: none;
}

.vws-itinerary .vws-fn-ref:hover,
.vws-itinerary .vws-fn-ref:focus {
    text-decoration: underline;
}

.vws-itinerary .vws-fn-sup {
    font-size: 0.75em;
    line-height: 0;
    vertical-align: super;
}

/* The note a mark jumps to: show which one it was. */
.vws-itinerary .vws-itinerary__note:target {
    background: none;
    box-shadow: none;
}

.vws-itinerary .vws-tel {
    white-space: nowrap;
}


/* -------------------------------------------------------------
   SUB-HEADINGS INSIDE A DAY OR A SHARED SECTION (1.11.2)
   A heading of any level, or a line on its own that is all bold,
   typed into a Day's or a Shared Section's text. All of them
   print this one way, smaller than the Day title and the section
   title above them. The font is the theme's heading font.
   ------------------------------------------------------------- */

.vws-itinerary .vws-subheading {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 1.1rem 0 0.25rem;
    color: #33562c;
}

.vws-itinerary .vws-day__text > .vws-subheading:first-child,
.vws-itinerary .vws-shared-section__content > .vws-subheading:first-child {
    margin-top: 0;
}

.vws-itinerary .vws-subheading + p {
    margin-top: 0;
}


/* -------------------------------------------------------------
   PANELS: A DAY AND ITS CONTINUATION DAYS, A SHARED SECTION AND
   ITS EXTRA PANELS
   Each panel is its own image and text. flow-root keeps a panel's
   image inside the panel, so a short text never lets the image
   hang into the next one. The image is printed before the title
   and floats right, so its top is level with the title.
   ------------------------------------------------------------- */

.vws-day__panel,
.vws-shared-section__panel {
    display: flow-root;
}

.vws-day__panel + .vws-day__panel,
.vws-shared-section__panel + .vws-shared-section__panel {
    margin-top: 1.25rem;
}

.vws-day__panel .vws-record-image,
.vws-shared-section__panel .vws-record-image {
    margin-top: 0.2rem;
}


/* Phones: no floats. The image goes full width under the title
   (and under the Meals / Stay line on a Day), above the text. */
@media (max-width: 600px) {

    .vws-day__panel,
    .vws-shared-section__panel {
        display: flex;
        flex-direction: column;
    }

    .vws-day__panel > .vws-day__title,
    .vws-shared-section__panel > .vws-shared-section__title {
        order: 1;
    }

    .vws-day__panel > .vws-day__meta {
        order: 2;
    }

    .vws-day__panel > .vws-record-image,
    .vws-shared-section__panel > .vws-record-image {
        order: 3;
        margin: 0.25rem 0 0.75rem;
    }

    .vws-day__panel > .vws-day__text,
    .vws-shared-section__panel > .vws-shared-section__content {
        order: 4;
    }
}


/* =============================================================
   1.11.3 - FROM TESTING 1.11.2
   ============================================================= */

/* -------------------------------------------------------------
   LISTS TYPED IN THE PODS EDITOR
   The plugin rebuilds each list as one of two kinds. A bulleted
   list keeps its bullets. A numbered list prints as plain lines:
   no numbers, no indent, no gaps - for runs of short lines such
   as the airlines under Getting to Belize.
   ------------------------------------------------------------- */

.vws-itinerary .vws-list {
    margin: 0 0 1em;
    padding: 0;
}

.vws-itinerary .vws-list--plain {
    list-style: none;
}

.vws-itinerary .vws-list--plain > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.vws-itinerary .vws-list--bullets {
    list-style: disc;
    margin-left: 1.25rem;
}

.vws-itinerary .vws-list--bullets > li {
    margin: 0 0 0.2rem;
}

.vws-itinerary .vws-list > li.ql-indent-1 { margin-left: 1.5rem; }
.vws-itinerary .vws-list > li.ql-indent-2 { margin-left: 3rem; }
.vws-itinerary .vws-list > li.ql-indent-3 { margin-left: 4.5rem; }

.vws-itinerary .vws-list:last-child {
    margin-bottom: 0;
}


/* -------------------------------------------------------------
   SPACE UNDER THE PICKUP BLOCK
   With a hotel as the Pickup Point the block ends on "Visit the
   website", and the next section's heading sat right under it.
   ------------------------------------------------------------- */

.vws-itinerary .vws-pickup {
    margin-bottom: 1.75rem;
}

.vws-itinerary .vws-pickup:last-child {
    margin-bottom: 0;
}

.vws-itinerary .vws-pickup .vws-stay__contact {
    margin-bottom: 0;
}


/* -------------------------------------------------------------
   SHARED SECTION IMAGE
   Under the heading, level with the first line of the text.
   ------------------------------------------------------------- */

.vws-shared-section__panel .vws-record-image {
    margin-top: 0.35rem;
}


/* =============================================================
   1.12.0 - FLIGHT NOTE ON THE ITINERARY
   The package's Flight Departure Note, one line directly under
   the last Day. Marked off with the same rule as the Days, in a
   stronger green, so it reads as belonging to the day list
   without being part of the last Day's text.
   ============================================================= */

.vws-itinerary .vws-itinerary__flight-note {
    margin: 1.25rem 0 0;
    padding: 0.6rem 0 0.6rem 1.25rem;
    border-left: 3px solid #4a7c3f;
    font-weight: 600;
}

@media (max-width: 600px) {

    .vws-itinerary .vws-itinerary__flight-note {
        padding-left: 0.9rem;
    }
}


/* =============================================================
   1.12.1 - TEXT FLOWS UP BESIDE AN IMAGE FROM LATER PANELS
   Until now each panel was sealed (flow-root), so an image whose
   own panel had little or no text had empty space beside it. Now
   a panel is an ordinary block: its image floats right and the
   text of the panels after it runs up beside the image. A panel
   that has its own image starts below the one before (clear), so
   two images never sit side by side. The Day or Shared Section
   that holds the panels is still flow-root (1.10.0), so the last
   image never hangs into whatever comes next.

   Wider than a phone only: at phone width the 1.11.0 rules stack
   each panel as a column, and they must keep winning.
   ============================================================= */

@media (min-width: 601px) {

    .vws-day__panel,
    .vws-shared-section__panel {
        display: block;
    }

    .vws-day__panel--has-image,
    .vws-shared-section__panel--has-image {
        clear: both;
    }
}


/* =============================================================
   1.13.0 - FLIGHT NOTE AS THE LAST PARAGRAPH OF THE LAST DAY
   The 1.12.0 rules for .vws-itinerary__flight-note above are no
   longer used; the class is not printed any more. The note now
   carries the Day text's own styles, with only a paragraph's gap
   above it.
   ============================================================= */

.vws-itinerary .vws-day__flight-note {
    margin-top: 1rem;
}

.vws-itinerary .vws-shared-section__title .vws-fn-sup {
    margin-right: 0.1em;
}


/* =============================================================
   1.14.0 - SHARED SECTIONS UNDER A STAY
   A Shared Section linked to a stay prints under Where You Stay
   after the stay card. It keeps its own heading and panels; this
   only gives it room from the card above.
   ============================================================= */

.vws-itinerary__stays .vws-shared-section {
    margin-top: 1.5rem;
}


/* =============================================================
   1.15.0 - HIGHLIGHT LABEL ON THE TRIP PAGE
   A small tag beside the package title ("New", "Reduced price").
   ============================================================= */

.vws-package__tag {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.12rem 0.6rem;
    border-radius: 999px;
    background-color: #bd2301; /* the red in Paul's logo */
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.5;
    vertical-align: 0.2em;
    white-space: nowrap;
}


/* =============================================================
   1.15.0 - A STAY THAT CARRIES A SHARED SECTION
   The card stops being two columns. The photo floats left and the
   name, description, contact lines and the section's heading and
   text run beside it, then full width below it. The 1.14.0 rule
   that put the section under the card is no longer used.
   ============================================================= */

.vws-stay.vws-stay--with-sections {
    display: flow-root;
}

.vws-stay--with-sections .vws-stay__image {
    float: left;
    width: 34%;
    max-width: 300px;
    margin: 0 1.25rem 0.75rem 0;
}

.vws-stay--with-sections .vws-stay__body {
    display: block;
}

.vws-stay--with-sections .vws-shared-section {
    display: block;
    margin-top: 1.25rem;
}

@media (min-width: 601px) {
    /* A section image inside the card clears only other right-hand
       images, not the stay photo on the left. */
    .vws-stay--with-sections .vws-shared-section__panel--has-image {
        clear: right;
    }
}

@media (max-width: 600px) {
    .vws-stay--with-sections .vws-stay__image {
        float: none;
        width: auto;
        max-width: 100%;
        margin: 0 0 0.75rem;
    }
}


/* =============================================================
   1.15.0 - STAY CARDS INSIDE A SHARED SECTION
   ============================================================= */

.vws-shared-section__stays {
    clear: both;
    margin-top: 1rem;
}

.vws-shared-section__stays .vws-stay {
    margin-bottom: 1rem;
}


/* =============================================================
   1.16.0 - BOOKING AND PAYMENT, LAST ON THE ITINERARY
   ============================================================= */

.vws-itinerary .vws-itinerary__payment-terms--last {
    margin-top: 2.5rem;
    padding-top: 1rem;
    border-top: 1px solid #ddd;
}


/* =============================================================
   1.16.0 - A SHARED SECTION ON ITS OWN PAGE
   The template prints the title, so the section's own heading is
   hidden here. The editors' box shows only to logged-in editors.
   ============================================================= */

.vws-section-page > .vws-shared-section .vws-shared-section__title {
    display: none;
}

.vws-section-page__editor {
    margin: 0 0 1.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid #c3c4c7;
    border-left: 4px solid #bd2301;
    background: #fff;
    font-size: 0.9rem;
}

.vws-section-page__editor p {
    margin: 0.25rem 0;
}


/* =============================================================
   1.17.0 - FOLD BEHIND READ MORE
   A section's Extra Panels inside a details element. The toggle
   reads "Read more" when closed and "Show less" when open.
   ============================================================= */

.vws-itinerary .vws-shared-section__more {
    clear: both;
    margin-top: 0.25rem;
}

.vws-itinerary .vws-shared-section__more-toggle {
    display: inline-block;
    cursor: pointer;
    list-style: none;
    color: #33562c;
    font-weight: 600;
    margin: 0.25rem 0 0.75rem;
}

.vws-itinerary .vws-shared-section__more-toggle::-webkit-details-marker {
    display: none;
}

.vws-itinerary .vws-shared-section__more-toggle::after {
    content: " \25BE";
}

.vws-itinerary .vws-shared-section__more[open] > .vws-shared-section__more-toggle::after {
    content: " \25B4";
}

.vws-itinerary .vws-shared-section__more-toggle:hover,
.vws-itinerary .vws-shared-section__more-toggle:focus-visible {
    text-decoration: underline;
}

.vws-itinerary .vws-shared-section__more .vws-more-close,
.vws-itinerary .vws-shared-section__more[open] .vws-more-open {
    display: none;
}

.vws-itinerary .vws-shared-section__more[open] .vws-more-close {
    display: inline;
}


/* =============================================================
   TEXT SIZE FOLLOWS THE SITE (added after 1.17.0, 2026-11-07)
   Paul found the package and itinerary text too small beside the
   rest of the site. The sizes above are fixed in rem (15px, 14px)
   while the site text is larger and grows with the screen. In this
   block every size is in em, so it is a fraction of whatever the
   site text size is. Change the site text size in the theme and
   all of this follows. 1em is the site text size.

   Where an element sits inside another that also has a size (the
   subtitle and tag inside the package title, the quote inside the
   testimonial) the em is a fraction of that parent, and the number
   is chosen so the result lands where the comment says.
   Headings keep their rem sizes.
   ============================================================= */

/* One size for everything inside: the site text size, but never
   smaller than 16px (1rem), so phones keep readable text. */
.vws-trip-packages,
.vws-itinerary,
.vws-package-page,
.vws-section-page { font-size: max(1em, 1rem); }

/* ---- Trip packages ---- */
.vws-package__title { font-size: 1.4em; }
.vws-package__subtitle { font-size: 0.7em; }              /* of the title: about 1em */
.vws-package__tag { font-size: 0.55em; }                  /* of the title: about 0.75em */
.vws-package__meta { font-size: 0.95em; }

.vws-date { font-size: 0.95em; }
.vws-date__badge { font-size: 0.75em; }
.vws-package__no-dates { font-size: 1em; }

.vws-package__pricing p { font-size: 1em; }
.vws-package__base-price { font-size: 1.15em !important; }
.vws-package__single-supp { font-size: 0.95em !important; }
.vws-package__group-note { font-size: 0.9em; }            /* of the price line */
.vws-package__price-inc,
.vws-package__price-note,
.vws-package__flight-note { font-size: 0.95em !important; }

.vws-package__content { font-size: 1em; }
.vws-btn { font-size: 1em; }

.vws-trip-packages__footer { font-size: 0.95em; }
.vws-trip-packages__sellout-notice { font-size: 1.05em !important; }

.vws-package__activity-list { font-size: 0.95em; }
.vws-package__activities-note { font-size: 0.9em; }
.vws-trip-extensions__intro { font-size: 1em; }
.vws-package__extension-links { font-size: 0.95em; }

.vws-package .vws-package__testimonial { font-size: 0.95em; }
.vws-package .vws-package__testimonial-quote { font-size: 1em; }          /* of the testimonial */
.vws-package .vws-package__testimonial-attribution { font-size: 0.9em; }  /* of the testimonial */

.vws-variation__price { font-size: 1.1em; }
.vws-package .vws-variation__group-price { font-size: 1em; }

.vws-package__label { font-size: 1em; }
.vws-package__accommodation { font-size: 0.95em; }
.vws-package .vws-highlights { font-size: 0.95em; }

/* ---- Itineraries ---- */
.vws-itinerary .vws-itinerary__heading { font-size: 1.5rem; }
.vws-itinerary .vws-day__title { font-size: 1.3em; }
.vws-itinerary .vws-day__meta,
.vws-itinerary .vws-stay__contact,
.vws-itinerary .vws-itinerary__payment-terms { font-size: 0.95em; }
.vws-itinerary .vws-stay__name,
.vws-itinerary .vws-shared-section__title { font-size: 1.25em; }
.vws-itinerary .vws-pickup__name { font-size: 1.3em; }
.vws-itinerary .vws-pickup__hotels .vws-stay__name { font-size: 1.1em; }
.vws-itinerary .vws-itinerary__fact dd { font-size: 1em; }
.vws-itinerary__fact dt { font-size: 0.85em; }
.vws-itinerary__activities-note { font-size: 0.95em; }
.vws-itinerary .vws-itinerary__sellout-notice { font-size: 0.95em; }
.vws-itinerary .vws-itinerary__list-note { font-size: 0.9em; }
.vws-itinerary .vws-subheading { font-size: 1.1em; }

/* ---- Staff package page and shared-section editor box ---- */
.vws-package-page__notice { font-size: 0.95em; }
.vws-package-page__aside { font-size: 0.9em; }
.vws-section-page__editor { font-size: 0.95em; }


/* =============================================================
   1.20.0 - BELIZE IN LAGOON BLUE, AND PAUL'S TRIP PAGE CHANGES
   Two kinds of change live here.

   COLOUR (Belize only). The plugin puts vws-country--belize on the
   trip packages and the itinerary of every trip whose Country is
   Belize. Everything below that starts with .vws-country--belize
   swaps the green for blue. Other countries stay green. To change
   the Belize blue, change the six values in the first rule - the
   rest use them.

   LAYOUT (every country). Tan background off the package cards,
   title and duration centred above the image, short date list,
   itinerary images on the left. These do not depend on the
   country class.
   ============================================================= */

.vws-country--belize {
    --vws-accent:       #0000dd;   /* Belize blue: lines, labels, links, buttons */
    --vws-accent-dark:  #000080;   /* hover, and headings inside cards */
    --vws-accent-tint:  #E6E6F8;   /* no longer used (highlight and date pills removed in 1.21.5) */
    --vws-accent-pale:  #C9C9EC;   /* thin rules down the side of Days and notes */
}


/* -------------------------------------------------------------
   PACKAGE CARDS: NO TAN, KEEP THE COLOURED EDGE (every country)
   The itinerary's facts box (.vws-itinerary__facts-wrap) keeps its tan.
   ------------------------------------------------------------- */

.vws-package {
    background-color: transparent;
}

.vws-package__record,
.vws-package-page__record {
    background-color: transparent;
}


/* -------------------------------------------------------------
   TITLE AND DURATION CENTRED, ABOVE THE IMAGE (every country)
   The plugin now prints the title block first, then the image.
   ------------------------------------------------------------- */

.vws-package__head {
    text-align: center;
    margin-bottom: 1rem;
}

.vws-package__head .vws-package__title {
    font-size: 1.7em;
    line-height: 1.2;
    margin-bottom: 0.3rem;
}

.vws-package__head .vws-package__subtitle {
    display: block;
    margin-top: 0.25rem;
}

.vws-package__head .vws-package__meta {
    font-size: 1.1em;
    margin: 0.25rem 0 0;
}

.vws-package__head .vws-package__tag {
    vertical-align: middle;
}


/* -------------------------------------------------------------
   DATES: PILLS, ONE ROW PER YEAR (every country)
   Each date is a soft pill with the start month in bold and the end
   month plain ("Nov 29-Dec 6"). Belize pills are the soft blue, the
   other countries soft green. A sold-out date is faded and struck
   through; there is no Sold Out badge. The hidden "(sold out)" text
   is for screen readers only.
   ------------------------------------------------------------- */

.vws-package__date-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}

.vws-date {
    display: inline-block;
    background: #E6EFE2;
    border: 0;
    border-radius: 3px;
    padding: 0.3rem 0.75rem;
    font-size: 0.95em;
    color: #333;
}

.vws-date__range {
    white-space: nowrap;
}

.vws-date__month {
    font-weight: 700;
}

.vws-date--sold-out {
    opacity: 0.55;
    text-decoration: none;
}

.vws-date--sold-out .vws-date__range {
    text-decoration: line-through;
}

.vws-date__badge {
    display: none;
}

.vws-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vws-package__dates + .vws-package__dates {
    margin-top: 1rem;
}


/* -------------------------------------------------------------
   DAY IMAGES ON THE LEFT (every country)
   Only a Day's image floats left of its text. Shared Section images,
   and the section images inside a stay card, stay on the right as
   before. On phones nothing floats, as before.
   ------------------------------------------------------------- */

@media (min-width: 601px) {

    .vws-day .vws-record-image {
        float: left;
        margin: 0.25rem 1.5rem 0.75rem 0;
    }

    .vws-day .vws-shared-section .vws-record-image {
        float: right;
        margin: 0.25rem 0 0.75rem 1.5rem;
    }
}


/* -------------------------------------------------------------
   BELIZE: GREEN BECOMES BLUE
   ------------------------------------------------------------- */

/* Coloured edges */
.vws-country--belize .vws-package,
.vws-country--belize .vws-itinerary__facts-wrap,
.vws-country--belize.vws-itinerary .vws-itinerary__facts-wrap,
.vws-country--belize .vws-package-page__record {
    border-left-color: var(--vws-accent);
}

.vws-country--belize .vws-variation,
.vws-country--belize.vws-itinerary .vws-itinerary__flight-note {
    border-left-color: var(--vws-accent);
}

.vws-country--belize .vws-day,
.vws-country--belize .vws-itinerary__notes,
.vws-country--belize .vws-package__testimonial {
    border-left-color: var(--vws-accent-pale);
}

/* Labels and the bold words that end in a colon:
   Accommodation:, Activities:, Meals:, Stay:, Trip Fee:, Dates 2026 */
.vws-country--belize .vws-package__label,
.vws-country--belize .vws-variation__label,
.vws-country--belize .vws-package__base-price strong,
.vws-country--belize .vws-trip-packages__payment-terms strong,
.vws-country--belize .vws-day__meta strong,
.vws-country--belize .vws-itinerary__fact dt,
.vws-country--belize .vws-day__label {
    color: var(--vws-accent);
}

/* Headings in the cards */
.vws-country--belize .vws-day__title,
.vws-country--belize .vws-shared-section__title,
.vws-country--belize .vws-stay__name,
.vws-country--belize .vws-subheading {
    color: var(--vws-accent-dark);
}

.vws-country--belize .vws-shared-section__more-toggle {
    color: var(--vws-accent-dark);
}

/* Jumped-to footnote highlight */
.vws-country--belize .vws-itinerary__note:target {
    background: none;
    box-shadow: none;
}

/* Buttons: every button goes blue EXCEPT Book this Trip, which stays
   green (it is the only .vws-btn--primary inside .vws-package__actions). */
.vws-country--belize .vws-btn--primary,
.vws-country--belize .vws-itinerary__facts-wrap .vws-btn {
    background-color: var(--vws-accent);
    border-color: var(--vws-accent);
    color: #fff;
}

.vws-country--belize .vws-btn--primary:hover,
.vws-country--belize .vws-btn--primary:focus,
.vws-country--belize .vws-itinerary__facts-wrap .vws-btn:hover,
.vws-country--belize .vws-itinerary__facts-wrap .vws-btn:focus {
    background-color: var(--vws-accent-dark);
    border-color: var(--vws-accent-dark);
    color: #fff;
}

.vws-country--belize .vws-btn--secondary {
    background-color: transparent;
    color: var(--vws-accent);
    border-color: var(--vws-accent);
}

.vws-country--belize .vws-btn--secondary:hover,
.vws-country--belize .vws-btn--secondary:focus {
    background-color: var(--vws-accent);
    color: #fff;
}

/* Book this Trip stays green on a Belize page */
.vws-country--belize .vws-package__actions .vws-btn--primary {
    background-color: #4a7c3f;
    border-color: #4a7c3f;
    color: #fff;
}

.vws-country--belize .vws-package__actions .vws-btn--primary:hover,
.vws-country--belize .vws-package__actions .vws-btn--primary:focus {
    background-color: #3a6230;
    border-color: #3a6230;
    color: #fff;
}

/* Links: blue and underlined everywhere in a Belize trip page's and
   itinerary's content, including links typed around the shortcodes
   (the body carries the country class on those pages). Buttons are left
   to their own colours; footnote marks (the little daggers) stay plain
   until hovered. */
.vws-trip-packages.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref),
.vws-itinerary.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref),
body.vws-country--belize .wp-block-post-content a:not(.vws-btn):not(.vws-fn-ref):not(.wp-block-button__link):not(.wp-element-button) {
    color: var(--vws-accent);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.vws-trip-packages.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref):hover,
.vws-trip-packages.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref):focus,
.vws-itinerary.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref):hover,
.vws-itinerary.vws-country--belize a:not(.vws-btn):not(.vws-fn-ref):focus,
body.vws-country--belize .wp-block-post-content a:not(.vws-btn):not(.vws-fn-ref):not(.wp-block-button__link):not(.wp-element-button):hover,
body.vws-country--belize .wp-block-post-content a:not(.vws-btn):not(.vws-fn-ref):not(.wp-block-button__link):not(.wp-element-button):focus {
    color: var(--vws-accent-dark);
}

.vws-trip-packages.vws-country--belize .vws-fn-ref,
.vws-itinerary.vws-country--belize .vws-fn-ref {
    color: var(--vws-accent);
}


/* =============================================================
   1.20.1 - SEASON LEAD-IN AND BLUE RULE
   ============================================================= */

/* The line between that intro and the packages: the plugin's own
   heading border on a page that still uses the "2026-27 Trips"
   heading, or a plain rule on a page that uses [vws_trip_season]. */
.vws-trip-packages__rule {
    border: 0;
    border-top: 3px solid #4a7c3f;
    margin: 0 0 2rem;
    opacity: 1;
}

.vws-trip-packages.vws-country--belize .vws-trip-packages__rule {
    border-top-color: var(--vws-accent);
}

.vws-trip-packages.vws-country--belize .vws-trip-packages__heading {
    border-bottom-color: var(--vws-accent);
}

/* Belize date pills */
.vws-country--belize .vws-date {
    background: transparent; /* 1.21.5: no blue behind the dates; padding unchanged */
}

/* Phones: the short date pills wrap in rows instead of one to a line. */
@media (max-width: 600px) {
    .vws-package__date-list {
        flex-direction: row;
    }
}


/* -------------------------------------------------------------
   1.21.0 CURRENCY CONVERTER (placement revised in 1.21.1 and 1.21.2)
   The dropdown shares a line with the package's first price: a flex
   row, dropdown a fixed gap after the price, wrapping underneath when
   the line is too long. It converts that package's prices only. The
   note and XE link sit under that line once a currency is picked.
   ------------------------------------------------------------- */
.vws-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 1.5rem;
}

.vws-converter {
    display: block;
    font-size: 0.8em;
    line-height: 1.3;
    white-space: nowrap;
}

.vws-converter[hidden],
.vws-converter__note[hidden] {
    display: none;
}

.vws-converter__select {
    font: inherit;
    font-size: 1em;
    padding: 0.2rem 0.4rem 0.2rem 0.55rem;
    border: 1px solid #cfcfcb;
    border-radius: 3px;
    background-color: #fff;
    color: #666;
    cursor: pointer;
}

.vws-converter__select:hover,
.vws-converter__select:focus {
    border-color: #888;
    color: #333;
}

.vws-converter__note {
    margin: 0.1rem 0 0.5rem;
    color: #777;
    font-size: 0.8em;
    line-height: 1.35;
}

/* Quiet link; the long selectors beat the Belize blue-link rule, which
   carries several :not() terms. */
.vws-trip-packages .vws-package .vws-converter__note a.vws-converter__xe {
    color: #777;
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vws-trip-packages .vws-package .vws-converter__note a.vws-converter__xe:hover,
.vws-trip-packages .vws-package .vws-converter__note a.vws-converter__xe:focus {
    color: #333;
}

.vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe,
body.vws-country--belize .wp-block-post-content .vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe {
    color: #5a5f8f;
}

.vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe:hover,
.vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe:focus,
body.vws-country--belize .wp-block-post-content .vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe:hover,
body.vws-country--belize .wp-block-post-content .vws-trip-packages.vws-country--belize .vws-package .vws-converter__note a.vws-converter__xe:focus {
    color: var(--vws-accent-dark);
}

.vws-converted {
    font-weight: 400;
    color: #555;
}


/* =============================================================
   1.21.4 - A TITLED SHARED SECTION ON A HOTEL CARD
   A section with a heading starts below the hotel photo; one with
   no heading still flows up beside the photo. Phones: the photo is
   not floated, so there is nothing to clear.
   ============================================================= */

.vws-stay--with-sections .vws-shared-section--titled {
    clear: both;
}


/* =============================================================
   1.21.5 - PAUL'S CHANGES OF 2026-11-09
   Trip titles italic (every country); blue #0000dd on a Belize page (1.21.8, was black); the
   Dates lines ("Package Dates 2026", "4 Days / 3 Nights Dates 2026")
   black on a Belize page. Labels such as Activities: stay blue.
   ============================================================= */

.vws-package .vws-package__title,
.vws-package__head .vws-package__title {
    font-style: italic;
}

.vws-country--belize .vws-package .vws-package__title,
.vws-country--belize .vws-package__head .vws-package__title {
    color: #0000dd;
}

.vws-country--belize .vws-package__dates .vws-package__label {
    color: #000;
}


/* =============================================================
   1.21.6 - THE ITINERARY HAS NO COLOUR (every country)
   Paul, 2026-11-09: no teal, no green, no blue on the itinerary except
   the Dates, Prices and Booking button. Labels, headings, hotel and
   section names and links take the site's own text colour (the same
   as the Where You Stay heading); links stay underlined. The coloured
   edge lines take that colour too, and the thin lines down the side
   of Days and notes become a light neutral grey. Trip pages are not
   touched by this block. These rules sit last and outrank the Belize
   blue rules above.
   ============================================================= */

body .vws-itinerary.vws-itinerary .vws-itinerary__fact dt,
body .vws-itinerary.vws-itinerary .vws-day__label,
body .vws-itinerary.vws-itinerary .vws-day__meta strong,
body .vws-itinerary.vws-itinerary .vws-day__title,
body .vws-itinerary.vws-itinerary .vws-shared-section__title,
body .vws-itinerary.vws-itinerary .vws-stay__name,
body .vws-itinerary.vws-itinerary .vws-pickup__name,
body .vws-itinerary.vws-itinerary .vws-subheading,
body .vws-itinerary.vws-itinerary .vws-shared-section__more-toggle {
    color: inherit;
}

/* 1.21.12: the top panel (Activities, Starts in, Ends in) takes the full
   blue, the same as the package edges; the flight note stays soft. */
body .vws-itinerary.vws-itinerary .vws-itinerary__facts-wrap {
    border-left-color: #0000dd;
}

body .vws-itinerary.vws-itinerary .vws-itinerary__flight-note {
    border-left-color: #4545a1;
}

body .vws-itinerary.vws-itinerary .vws-day,
body .vws-itinerary.vws-itinerary .vws-itinerary__notes {
    border-left-color: #C9C9EC;
}

body .vws-itinerary.vws-itinerary a:not(.vws-btn),
body .vws-itinerary.vws-itinerary a:not(.vws-btn):hover,
body .vws-itinerary.vws-itinerary a:not(.vws-btn):focus,
body .vws-itinerary.vws-itinerary .vws-fn-ref {
    color: inherit !important; /* outranks the Belize link rules and the theme's link colour */
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

body .vws-itinerary.vws-itinerary .vws-itinerary__facts-wrap .vws-btn,
body .vws-itinerary.vws-itinerary .vws-itinerary__book .vws-btn {
    background-color: #0000dd;
    border-color: #0000dd;
    color: #fff;
}

body .vws-itinerary.vws-itinerary .vws-itinerary__facts-wrap .vws-btn:hover,
body .vws-itinerary.vws-itinerary .vws-itinerary__facts-wrap .vws-btn:focus,
body .vws-itinerary.vws-itinerary .vws-itinerary__book .vws-btn:hover,
body .vws-itinerary.vws-itinerary .vws-itinerary__book .vws-btn:focus {
    background-color: #000080;
    border-color: #000080;
    color: #fff;
}


/* =============================================================
   1.21.11 - PACKAGE EDGES MATCH THE TITLE BLUE (Belize)
   Paul wants to see it: the line down the side of a package, of a
   duration (variation) block inside it, and of the staff package page
   record is the same blue as the package title (#0000dd). The
   itinerary's top panel edge stays the softer #4545a1. (1.21.10 had
   the softer blue on the package edges.)
   ============================================================= */

.vws-country--belize .vws-package,
.vws-country--belize .vws-variation,
.vws-country--belize .vws-package-page__record {
    border-left-color: #0000dd;
}


/* =============================================================
   1.21.11 - BOOK THIS TRIP BUTTON AT THE BOTTOM OF THE ITINERARY
   Printed by the plugin after Booking and Payment. Blue like the
   Dates, Prices and Booking button at the top (rules above).
   ============================================================= */

.vws-itinerary__book {
    margin: 1.5rem 0 0;
    text-align: left;
}


/* The "Booking and Payment:" label at the bottom of the itinerary was
   still coloured (every country); it takes the text colour like the
   other itinerary labels. */
body .vws-itinerary.vws-itinerary .vws-itinerary__payment-terms .vws-package__label {
    color: inherit;
}
