/* WCBW booking terms: "What's included, day by day" cards (site/modules/php/bookingTerms.php,
   Anthony 2026-10-07). One template for every card. Same look as the price cards
   ([pricing_cards]); the opened card spans the full row and lists its entries with the
   daily-rhythm [day] circles (styled in the shared postContentShortcodes.css). */
.bt-included { margin: 1.4em 0 0.4em !important; }
.bt-included-title { margin-bottom: 0.3em !important; }
.bt-included-note { margin: 0 0 1em 0 !important; font-size: calc(10.5pt * var(--lang-font-scale, 1)) !important; }
.bt-cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
    gap: 1em !important;
    align-items: start !important;
}
.bt-card {
    background: var(--brochure-cream) !important;
    border: 1px solid var(--brochure-hairline) !important;
    border-top: 4px solid var(--color-primary) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
}
.bt-card[open] { grid-column: 1 / -1 !important; border-top-color: var(--color-highlight) !important; }
.bt-card-face {
    list-style: none !important;
    cursor: pointer !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.4em !important;
    padding: 1em 1.1em 1.1em !important;
    text-align: center !important;
}
.bt-card-face::-webkit-details-marker { display: none !important; }
.bt-card-face::after {
    content: "+" !important;
    position: absolute !important;
    top: 0.45em !important;
    right: 0.7em !important;
    font-family: var(--font-elegant) !important;
    font-size: calc(14pt * var(--lang-font-scale, 1)) !important;
    color: var(--color-primary) !important;
}
.bt-card[open] > .bt-card-face::after { content: "\2212" !important; }
.bt-card-title {
    font-family: var(--font-elegant) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--brochure-olive) !important;
    font-size: calc(12pt * var(--lang-font-scale, 1)) !important;
}
.bt-card-text {
    color: var(--color-text-dark) !important;
    font-size: calc(10pt * var(--lang-font-scale, 1)) !important;
    line-height: 1.4 !important;
}
.bt-badge {
    display: inline-block !important;
    padding: 0.05em 0.6em !important;
    border-radius: 999px !important;
    border: 1px solid var(--color-primary) !important;
    color: var(--color-primary-dark) !important;
    font-size: calc(8.5pt * var(--lang-font-scale, 1)) !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

.bt-card-body {
    padding: 0.9em 1.1em 1.1em !important;
    border-top: 1px solid var(--brochure-hairline) !important;
    text-align: left !important;
}
.bt-card-body .schedule-block { margin: 0 !important; }
.bt-anytime { margin: 0 0 1em 0 !important; }
.bt-lines { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.bt-lines li { margin: 0.2em 0 !important; line-height: 1.45 !important; }
.bt-time { font-weight: 600 !important; color: var(--brochure-olive) !important; }
.bt-detail { color: var(--color-text) !important; }
.bt-not-included { margin: 0.6em 0 0 0 !important; }
@media (max-width: 600px) {
    .bt-cards { grid-template-columns: 1fr !important; }
}

/* Day pager: 3 days a page (bookingTerms.js). */
.bt-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.8em !important;
    margin: 0 0 0.9em 0 !important;
}
.bt-nav button {
    width: 2em !important;
    height: 2em !important;
    border-radius: 50% !important;
    border: 1px solid var(--color-primary) !important;
    background: var(--color-white, #fff) !important;
    color: var(--color-primary-dark) !important;
    font-size: calc(13pt * var(--lang-font-scale, 1)) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
}
.bt-nav button:disabled { opacity: 0.3 !important; cursor: default !important; }
.bt-range {
    font-family: var(--font-elegant) !important;
    font-style: italic !important;
    color: var(--brochure-olive) !important;
    min-width: 11em !important;
    text-align: center !important;
}
.bt-page[hidden] { display: none !important; }
/* Web only (Anthony): the cards are never printed. */
@media print {
    .bt-included { display: none !important; }
}

/* Links to a place's own website: same colour as the text, dotted line under it. */
.bt-card a.bt-link,
.bt-card a.bt-link:visited,
.bt-tile-panel a.bt-link,
.bt-tile-panel a.bt-link:visited {
    color: inherit !important;
    text-decoration: underline dotted !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}
.bt-card a.bt-link:hover,
.bt-tile-panel a.bt-link:hover { text-decoration-style: solid !important; }
/* The drinks that come with a meal, on their own line under it. */
.bt-drinks {
    display: block !important;
    color: var(--color-text) !important;
    font-size: 0.92em !important;
    margin: 0 0 0.25em 0 !important;
}
.bt-card-note {
    font-style: italic !important;
    color: var(--brochure-olive) !important;
    font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important;
}

/* Camp-page cards with details (bookingTerms.php + .js, 2026-10-07): the card is clickable
   (tooltip "Click for details" = its title attribute); the panel opens under its row, with
   the same look as the "See photos" panel. Web only. */
.content-teaser-card.has-bt-details { cursor: pointer !important; }
.content-teaser-card.has-bt-details:focus-visible { outline: 2px solid var(--color-primary) !important; outline-offset: 3px !important; }
.content-teaser-card.has-bt-details.bt-open { box-shadow: 0 0 0 2px var(--color-highlight) !important; }
.bt-tile-panel {
    position: relative !important;
    box-sizing: border-box !important;
    background: var(--brochure-cream) !important;
    border-radius: 12px !important;
    box-shadow: 0 0 0 1px var(--brochure-hairline), 0 10px 26px rgba(0, 0, 0, 0.12) !important;
    padding: 18px 18px 14px !important;
    margin: 12px 0 0 0 !important;
    text-align: left !important;
    cursor: default !important;
    outline: none !important;
}
.bt-tile-panel[hidden] { display: none !important; }
/* Floating over the page (bookingTerms.js sets top and the arrow position). */
.bt-tile-panel.is-over {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 60 !important;
    margin: 0 !important;
    box-shadow: 0 0 0 1px var(--brochure-hairline), 0 14px 34px rgba(0, 0, 0, 0.22) !important;
}
.bt-tile-panel.is-over::before {
    content: "" !important;
    position: absolute !important;
    top: -8px !important;
    left: var(--bt-notch, 50%) !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: -8px !important;
    background: var(--brochure-cream) !important;
    box-shadow: -1px -1px 0 0 var(--brochure-hairline) !important;
    transform: rotate(45deg) !important;
}
.bt-tile-title { margin: 0 2em 0.6em 0 !important; }
.bt-tile-panel .bt-tile-close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    width: 2em !important;
    height: 2em !important;
    border-radius: 50% !important;
    border: 1px solid var(--brochure-hairline) !important;
    background: var(--color-white, #fff) !important;
    color: var(--color-text-dark) !important;
    font-size: 14pt !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
}
@media print { .bt-tile-panel { display: none !important; } }

/* Camp-page panel text = the size of the card's own text (Anthony, 2026-10-07):
   lines and day labels like the card's orange line (7.5pt), title like the card's
   title (9.5pt, capitals); smaller day circles to match. */
.bt-tile-panel .bt-tile-title {
    font-family: var(--font-elegant) !important;
    font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--color-text) !important;
}
.bt-tile-panel .day-content,
.bt-tile-panel .bt-lines li,
.bt-tile-panel .day-label-outside,
.bt-tile-panel .bt-range {
    font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important;
    line-height: 1.45 !important;
}
.bt-tile-panel .bt-drinks { font-size: 1em !important; }
.bt-tile-panel .bt-badge { font-size: calc(6.5pt * var(--lang-font-scale, 1)) !important; padding: 0 0.5em !important; }
.bt-tile-panel .day { gap: 0.6em !important; margin-bottom: 0.7em !important; }
.bt-tile-panel .day-number-circle {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
}
.bt-tile-panel .day-number-circle .day-text { font-size: calc(5.5pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .day-number-circle .day-number { font-size: calc(8pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .bt-nav { margin-bottom: 0.6em !important; }
.bt-tile-panel .bt-nav button { width: 1.7em !important; height: 1.7em !important; font-size: 11pt !important; }

/* Same fonts as the card (Anthony, 2026-10-07): headings and day labels in the card-title
   font, the lines in the card's body font. */
.bt-tile-panel .bt-tile-title,
.bt-tile-panel .day-label-outside,
.bt-tile-panel .bt-range,
.bt-tile-panel .day-number-circle { font-family: var(--font-elegant) !important; }
.bt-tile-panel .day-content,
.bt-tile-panel .bt-lines li,
.bt-tile-panel .bt-badge,
.bt-tile-panel .bt-drinks { font-family: var(--font-body) !important; }

/* Note on top of a camp-page panel; the "Budget training" pill (paid with the per diem card). */
.bt-tile-panel .bt-tile-note {
    font-family: var(--font-body) !important;
    font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important;
    font-style: italic !important;
    color: var(--color-text) !important;
    margin: -0.3em 2.5em 0.7em 0 !important;
    line-height: 1.4 !important;
}


/* THE pill styles (common.json 'pills' → style). .bt-badge gives the shape and size. */
.bt-pill--outline { background: transparent !important; border-color: var(--color-primary) !important; color: var(--color-primary-dark) !important; }
.bt-pill--filled  { background: var(--brochure-olive) !important; border-color: var(--brochure-olive) !important; color: var(--color-white, #fff) !important; }
.bt-pill--warning { background: transparent !important; border-color: var(--color-highlight) !important; color: var(--color-highlight) !important; }
/* Who teaches a class (teacher-* pills, Anthony 2026-10-07): a different colour from the per diem pill. */
.bt-pill--accent  { background: var(--color-highlight) !important; border-color: var(--color-highlight) !important; color: var(--color-white, #fff) !important; }

/* Note at the bottom of every page of a day-by-day list ("The per diem card pays for any extras."). */
.bt-page-note {
    margin: 0.2em 0 0 0 !important;
    font-family: var(--font-body) !important;
    font-style: italic !important;
    font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important;
    color: var(--color-primary-dark) !important; /* dark green (Anthony, 2026-10-07) */
    text-align: center !important;
}

/* The pill always goes on its own line, under the place name (Anthony, 2026-10-07). */
.bt-lines li > .bt-badge {
    display: table !important;
    margin: 0.15em 0 0.1em 0 !important;
}
.bt-lines li > .bt-badge + .bt-badge { margin-top: 0.1em !important; }

/* Line layout (Anthony, 2026-10-07): "Lunch:" on the first line, the place under it in the
   day-circle colour (easier to read), then the pill, then the drinks. Links keep that colour. */
.bt-lines .bt-where {
    display: block !important;
    color: var(--color-highlight) !important;
    font-weight: 600 !important;
}
.bt-lines .bt-where .bt-detail { color: var(--color-text) !important; font-weight: normal !important; }

/* Dates, pager circles and the close button in the day-circle colour (Anthony, 2026-10-07).
   The arrows and the × are drawn in CSS so they sit exactly in the middle of the circle
   (a text glyph sits on the font's baseline, a little off-centre). */
.bt-included .day-label-outside,
.bt-tile-panel .day-label-outside,
.bt-range { color: var(--color-highlight) !important; }
.bt-nav button { position: relative !important; }
.bt-nav button,
.bt-tile-panel .bt-tile-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--color-highlight) !important;
    border: 0 !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    min-height: 0 !important;
    outline-color: var(--color-highlight) !important;
}
.bt-nav button:hover,
.bt-nav button:focus,
.bt-tile-panel .bt-tile-close:hover,
.bt-tile-panel .bt-tile-close:focus { background: var(--color-highlight) !important; filter: brightness(0.92) !important; border: 0 !important; }
/* Arrows: a chevron made of two borders, centred. */
.bt-nav button::before {
    content: "" !important;
    width: 32% !important;
    height: 32% !important;
    border: solid var(--color-white, #fff) !important;
    border-width: 0 0 2px 2px !important;
    box-sizing: border-box !important;
}
.bt-nav .bt-prev::before { transform: translateX(15%) rotate(45deg) !important; }
.bt-nav .bt-next::before { transform: translateX(-15%) rotate(-135deg) !important; }
/* Close: an × made of two bars, centred. */
.bt-tile-panel .bt-tile-close::before,
.bt-tile-panel .bt-tile-close::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 46% !important;
    height: 2px !important;
    margin: -1px 0 0 -23% !important;
    background: var(--color-white, #fff) !important;
    transform: rotate(45deg) !important;
}
.bt-tile-panel .bt-tile-close::after { transform: rotate(-45deg) !important; }
.bt-tile-panel .bt-tile-close { width: 26px !important; height: 26px !important; }

/* "Breakfast:", "Lunch:", "Supper:" in bold (Anthony, 2026-10-07). */
.bt-lines .bt-what--meal { font-weight: 700 !important; }

/* Lodging = stay cards (Anthony, 2026-10-07): the place, its category, check-in / check-out,
   nights, amenities. Same type sizes as the day lines. */
/* Block, not grid: on phones the grid rows came out too tall (big gap between two stays, 7 Oct). */
.bt-stays { display: block !important; margin: 0 0 0.6em 0 !important; }
.bt-stays > * + * { margin-top: 0.8em !important; }
.bt-stay {
    border-left: 3px solid var(--color-highlight) !important;
    padding: 0.1em 0 0.1em 0.8em !important;
    line-height: 1.45 !important;
}
.bt-stay-name { color: var(--color-highlight) !important; font-weight: 700 !important; }
.bt-stay-name a.bt-link, .bt-stay-name a.bt-link:visited { color: inherit !important; }
.bt-stay-cat { color: var(--brochure-olive) !important; font-weight: 400 !important; margin-left: 0.3em !important; }
.bt-stay-dates { display: flex !important; flex-wrap: wrap !important; gap: 0.2em 1.2em !important; color: var(--color-text-dark) !important; }
.bt-stay-dates b { font-weight: 700 !important; }
.bt-stay-nights { color: var(--brochure-olive) !important; font-style: italic !important; }
.bt-stay-amenities {
    list-style: none !important;
    margin: 0.35em 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.3em !important;
}
.bt-stay-amenities li {
    margin: 0 !important;
    padding: 0 0.6em !important;
    border: 1px solid var(--brochure-hairline) !important;
    border-radius: 999px !important;
    background: var(--color-white, #fff) !important;
    color: var(--color-text-dark) !important;
    font-size: 0.9em !important;
}
.bt-stay-amenities li::before { content: "\2713\00a0" !important; color: var(--color-primary) !important; }
.bt-tile-panel .bt-stay { font-family: var(--font-body) !important; font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important; }
/* A stay under its leg circle (LEG 1 / 2 / 3): no side rule, the circle marks it. */
.day .bt-stay { border-left: 0 !important; padding-left: 0 !important; }
.bt-stays .day { margin-bottom: 0 !important; }

/* Transport cards (Anthony, 2026-10-07): minimum travel time per mode under the date, then each
   company (dark green, linked) with its trips. One day per page. */
.bt-travel-summary { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 0.25em 0.4em !important; margin: 0.1em 0 0.45em 0 !important; }
.bt-travel-label { color: var(--color-text) !important; }
.bt-travel-mode {
    border: 1px solid var(--brochure-hairline) !important;
    background: var(--color-white, #fff) !important;
    border-radius: 999px !important;
    padding: 0 0.6em !important;
    font-weight: 600 !important;
    color: var(--color-primary-dark) !important;
    white-space: nowrap !important;
}
.bt-travel-group { margin: 0 0 0.45em 0 !important; }
.bt-travel-company { font-weight: 700 !important; color: var(--color-primary-dark) !important; }
.bt-travel-company a.bt-link, .bt-travel-company a.bt-link:visited { color: inherit !important; }
.bt-travel-vessel { font-weight: 400 !important; font-style: italic !important; color: var(--color-text) !important; }
.bt-travel-group .bt-lines { padding-left: 0.7em !important; border-left: 2px solid var(--brochure-hairline) !important; }
.bt-travel-group .bt-time { color: var(--color-highlight) !important; }
.bt-travel-group--walk .bt-lines li { font-style: italic !important; }
.bt-tile-panel .bt-travel-summary, .bt-tile-panel .bt-travel-group { font-family: var(--font-body) !important; font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important; }
.bt-travel-note { margin-top: 0.4em !important; }

/* Master page /booking-terms/ (Anthony, 7 Oct 2026): the programmes grouped by category,
   under the intro (wcbw_bt_programme_index). Programme pages: the general terms in one
   accordion at the end (.bt-general, items #general-<id>). */
.bt-index { margin: 1.2em 0 0.4em !important; }
.bt-index-title { margin-bottom: 0.4em !important; }
.bt-index-group {
    background: var(--brochure-cream) !important;
    border: 1px solid var(--brochure-hairline) !important;
    border-left: 4px solid var(--color-primary) !important;
    border-radius: 10px !important;
    padding: 0.8em 1.1em !important;
    margin: 0 0 0.8em 0 !important;
    scroll-margin-top: 120px;
}
.bt-index-category { font-weight: 700 !important; margin-bottom: 0.3em !important; }
.bt-index-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.bt-index-list li { margin: 0.25em 0 !important; padding: 0 !important; }
.bt-index-list a { font-weight: 600 !important; }
.bt-index-dates { display: inline-block !important; margin-left: 0.4em !important; color: var(--color-highlight) !important; font-size: 0.92em !important; }
.bt-general .faq-item { scroll-margin-top: 120px; }
.bt-general .faq-item + .faq-item { margin-top: 1em !important; }

/* Grouped booking-terms page (8 Oct 2026, Anthony: few accordions, like a legal page;
   bookingTerms.php wcbw_bt_grouped_sections). Questions in a group = .bt-general .faq-item
   (rules above); the day-by-day sliders sit in nested accordions (.bt-nested). */
.bt-group .bt-nested { margin: 0.6em 0 0 0; }
.bt-group .bt-nested + .faq-item, .bt-group .faq-item + .bt-nested { margin-top: 1em !important; }
.bt-group .bt-nested .faq-accordion-content > .bt-card-text,
.bt-group .bt-nested .faq-accordion-content > .bt-card-note { display: block; margin: 0 0 0.6em 0; }
.bt-group .bt-nested .faq-accordion-content > .bt-card-note { font-style: italic; }
.bt-group .bt-nested { scroll-margin-top: 120px; }
.bt-take-home-meta { margin: 0.3em 0 0 0 !important; font-size: calc(10.5pt * var(--lang-font-scale, 1)) !important; }

/* "See details" under a card's name in "What's included" (8 Oct 2026, 22:25): looks like the
   camp cards' "See photos" toggle (.teaser-media-toggle); opens the card's day-by-day slider. */
.bt-see-details { margin: 0.3em 0 0 0; }
.bt-see-details > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #2c3e2c; padding: 4px 0; }
.bt-see-details > summary::-webkit-details-marker { display: none; }
.bt-see-details .bt-see-icon { color: #b85700; font-size: 10px; transition: transform .15s; }
.bt-see-details[open] .bt-see-icon { transform: rotate(90deg); }
.bt-see-details .bt-see-body { margin-top: 0.6em; }
/* Slider arrows on the grouped page (8 Oct 2026, 22:30): the arrows are sized in em but
   drawn with font-size 0 (see above), so they had no size outside the camp-page panel. */
.bt-group .bt-nav button { width: 28px !important; height: 28px !important; min-width: 28px !important; flex: 0 0 28px !important; }
/* The opened slider sits under its "See details" line (8 Oct 2026, 22:31, Anthony): a dashed
   frame, indented from the left so it reads as part of the details, a little narrower. */
.bt-see-details .bt-see-body {
    margin: 0.4em 0 0.2em 1.2em !important;
    padding: 0.9em 1em 0.6em 1em !important;
    border: 1px dashed var(--color-highlight, #b85700) !important;
    border-radius: 6px !important;
}
@media (max-width: 600px) { .bt-see-details .bt-see-body { margin-left: 0.4em !important; padding: 0.7em 0.6em 0.4em 0.6em !important; } }

/* "See details" slider text at the page's own size (Anthony, 8 Oct 2026, 22:35): it inherited
   the brochure itinerary sizes (11pt), larger than the legal text around it. Same steps as the
   camp-card panel (.bt-tile-panel), scaled to this page: lines one notch under the answers. */
.bt-see-body .day-content,
.bt-see-body .bt-lines li,
.bt-see-body .day-label-outside,
.bt-see-body .bt-range { font-size: calc(9.75pt * var(--lang-font-scale, 1)) !important; }
.bt-see-body .day-number-circle .day-text { font-size: calc(6.5pt * var(--lang-font-scale, 1)) !important; }
.bt-see-body .day-number-circle .day-number { font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important; }
.bt-see-body .bt-page-note { font-size: calc(8.5pt * var(--lang-font-scale, 1)) !important; }

/* Same dashed frame as the booking-terms "See details" sliders, on the camp-page card panels,
   so the opened schedule stands apart from the cards (Anthony, 8 Oct 2026, 22:40). The solid
   hairline ring is replaced by the dashed border; the drop shadow stays. */
.bt-tile-panel {
    border: 1px dashed var(--color-highlight, #b85700) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12) !important;
}
.bt-tile-panel.is-over { box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22) !important; }
.bt-tile-panel.is-over::before {
    top: -9px !important;
    box-shadow: none !important;
    border-top: 1px dashed var(--color-highlight, #b85700) !important;
    border-left: 1px dashed var(--color-highlight, #b85700) !important;
}

/* "Throughout the camp" in two columns to save space (Anthony, 8 Oct 2026, 22:41), on the
   camp-page panels and the booking-terms sliders: Naxos | Athens side by side (snacks, drinks,
   per diem cards). A list of one spans both columns; one column on phones. */
.bt-anytime > .bt-lines {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 1.6em !important;
    row-gap: 0.35em !important;
    align-items: start !important;
}
.bt-anytime > .bt-lines > li { margin: 0 !important; min-width: 0 !important; }
.bt-anytime > .bt-lines > li:only-child { grid-column: 1 / -1 !important; }
@media (max-width: 600px) { .bt-anytime > .bt-lines { grid-template-columns: 1fr !important; } }

/* Camp-page panels at the booking-terms slider sizes (Anthony, 8 Oct 2026, 22:50: "too small,
   especially the dates"): same steps as .bt-see-body, so both pages read alike. */
.bt-tile-panel .day-content,
.bt-tile-panel .bt-lines li,
.bt-tile-panel .day-label-outside,
.bt-tile-panel .bt-range { font-size: calc(9.75pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .bt-badge { font-size: calc(7.5pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .day-number-circle { width: 36px !important; height: 36px !important; min-width: 36px !important; }
.bt-tile-panel .day-number-circle .day-text { font-size: calc(6.5pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .day-number-circle .day-number { font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important; }
.bt-tile-panel .bt-page-note { font-size: calc(8.5pt * var(--lang-font-scale, 1)) !important; }

/* The dashed line sits 0.5em inside the panel's edge on all four sides (22:50), like a
   frame; the panel edge itself is a plain hairline again, and the pointer stays plain. */
.bt-tile-panel {
    border: 0 !important;
    outline: 1px dashed var(--color-highlight, #b85700) !important;
    outline-offset: -0.5em !important;
    box-shadow: 0 0 0 1px var(--brochure-hairline), 0 10px 26px rgba(0, 0, 0, 0.12) !important;
    padding: calc(18px + 0.3em) calc(18px + 0.3em) calc(14px + 0.3em) !important;
}
.bt-tile-panel.is-over { box-shadow: 0 0 0 1px var(--brochure-hairline), 0 14px 34px rgba(0, 0, 0, 0.22) !important; }
.bt-tile-panel.is-over::before {
    top: -8px !important;
    border: 0 !important;
    box-shadow: -1px -1px 0 0 var(--brochure-hairline) !important;
}
.bt-tile-panel .bt-tile-close { top: calc(8px + 0.4em) !important; right: calc(10px + 0.4em) !important; }

/* Supplies: its slider sits straight in its accordion (no "See details"), same sizes (22:51). */
.bt-nested-slider .day-content,
.bt-nested-slider .bt-lines li,
.bt-nested-slider .day-label-outside,
.bt-nested-slider .bt-range { font-size: calc(9.75pt * var(--lang-font-scale, 1)) !important; }
.bt-nested-slider .day-number-circle .day-text { font-size: calc(6.5pt * var(--lang-font-scale, 1)) !important; }
.bt-nested-slider .day-number-circle .day-number { font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important; }
.bt-nested-slider .bt-page-note { font-size: calc(8.5pt * var(--lang-font-scale, 1)) !important; }

/* Slider text at the page's body size, 14px (Anthony, 8 Oct 2026, 22:53: "smaller than the rest
   of the page"), on the booking-terms sliders and the camp-page panels alike. */
.bt-see-body .day-content, .bt-see-body .bt-lines li, .bt-see-body .day-label-outside, .bt-see-body .bt-range,
.bt-nested-slider .day-content, .bt-nested-slider .bt-lines li, .bt-nested-slider .day-label-outside, .bt-nested-slider .bt-range,
.bt-tile-panel .day-content, .bt-tile-panel .bt-lines li, .bt-tile-panel .day-label-outside, .bt-tile-panel .bt-range {
    font-size: calc(10.5pt * var(--lang-font-scale, 1)) !important;
}
.bt-see-body .day-number-circle .day-text, .bt-nested-slider .day-number-circle .day-text, .bt-tile-panel .day-number-circle .day-text { font-size: calc(7pt * var(--lang-font-scale, 1)) !important; }
.bt-see-body .day-number-circle .day-number, .bt-nested-slider .day-number-circle .day-number, .bt-tile-panel .day-number-circle .day-number { font-size: calc(10pt * var(--lang-font-scale, 1)) !important; }
.bt-see-body .bt-page-note, .bt-nested-slider .bt-page-note, .bt-tile-panel .bt-page-note { font-size: calc(9.5pt * var(--lang-font-scale, 1)) !important; }

/* "Throughout the camp": no "Budget training – per diem card" pills (22:53); every line there
   is paid with the per diem card, as the card lines under it say. */
.bt-anytime .bt-lines li > .bt-badge,
.bt-anytime .bt-lines li .bt-pill { display: none !important; }
/* Odd number of lines: the first (e.g. "Snacks and drinks…") takes the full width, the
   pairs under it (Naxos card | Athens card) sit side by side (22:58). */
.bt-anytime > .bt-lines > li:first-child:nth-last-child(odd) { grid-column: 1 / -1 !important; }

/* Place links in the booking-terms sliders too: same colour as the place (orange, bold), dotted
   line under it, not the legal page's pink link colour (Anthony, 8 Oct 2026, 22:57). */
.bt-see-body a.bt-link, .bt-see-body a.bt-link:visited,
.bt-nested-slider a.bt-link, .bt-nested-slider a.bt-link:visited {
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration: underline dotted !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}
.bt-see-body a.bt-link:hover, .bt-nested-slider a.bt-link:hover { text-decoration-style: solid !important; }

/* Per diem card breakdown, as in the budget (Anthony, 8 Oct 2026, 23:00): what | amount. */
.bt-lines .bt-breakdown { list-style: none !important; margin: 0.25em 0 0 0 !important; padding: 0 !important; }
.bt-lines .bt-breakdown li {
    display: flex !important; justify-content: space-between !important; gap: 0.8em !important;
    margin: 0 !important; padding: 0.1em 0 !important;
    border-bottom: 1px dotted var(--brochure-hairline, #ddd6c8) !important;
}
.bt-lines .bt-breakdown .bt-bd-amount { white-space: nowrap !important; font-weight: 600 !important; color: var(--color-highlight) !important; }

/* "Required: what every participant brings" as the site's admonition box (8 Oct 2026, 23:34). */
.bt-required-note { margin: 1.2em 0 0.8em 0 !important; }
.bt-required-note .brochure-container { margin: 0 !important; padding: 0 !important; }

/* 2026-10-09: a "What to bring" item that opens as an accordion (laptop minimum requirements). */
.bt-group li:has(> .bt-nested) { list-style: none; margin-left: -1.1em; }
.bt-group li > .bt-nested { margin: 0.3em 0 0.5em 0; }
.bt-group li > .bt-nested .faq-accordion-content ul { margin: 0.4em 0 0 1.2em; }
