/* Upcoming Activities (al-quaa-stargazing-events-and-activities/): only what the shared posts-and-updates.css does not cover. */

/* ---------- Activity showcase (the list page) ----------
   The activities as vertical tabs on the left (date column, title, date and time); the chosen activity's image on the
   right with its short description and "View Details" over a dark gradient. The card is at most
   --showcase-max-height tall: a longer list scrolls inside it (month headings stay at its top), the image stays put.
   The chosen row (and a row under the mouse) is filled: its date on the brand red, the rest on --showcase-active-bg,
   the colour of the frame around the image too. */
.activity-showcase {--showcase-date-width: 104px;--showcase-accent: var(--primary, #c32032);--showcase-active-bg: #333;--showcase-max-height: 460px;--muted: #4a515c;display: grid;grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);border: 1px solid var(--line);border-radius: var(--common-radius-l, 24px);overflow: hidden;background: var(--white);box-shadow: var(--soft-shadow);}
.activity-showcase__list {display: flex;flex-direction: column;position: relative;max-height: var(--showcase-max-height);overflow-x: hidden;overflow-y: auto;scrollbar-width: thin;scrollbar-color: var(--line) transparent;}
.activity-showcase__list::-webkit-scrollbar {width: 6px;}
.activity-showcase__list::-webkit-scrollbar-thumb {border-radius: 6px;background: var(--line);}
.activity-showcase__list::-webkit-scrollbar-track {background: transparent;}
.activity-showcase__tabs {flex: 0 0 auto;display: flex;flex-direction: column;}
.activity-showcase__item {position: relative;display: flex;align-items: stretch;width: 100%;margin: 0;padding: 0;border: 0;border-bottom: 1px solid var(--line);background: transparent;color: var(--ink);font: inherit;text-align: left;cursor: pointer;transition: background-color .2s ease, box-shadow .2s ease;}
.activity-showcase__item:hover,
.activity-showcase__item.is-active {background: var(--showcase-active-bg);}
/* The chosen row: a soft shadow below instead of the line (its 1px kept as a margin, so the rows do not move and
   nothing shows under the red date) */
.activity-showcase__item.is-active {z-index: 1;margin-bottom: 1px;border-bottom: 0;box-shadow: 0 10px 18px -10px rgba(0,0,0,.45);}
.activity-showcase__item:focus {outline: none;}
.activity-showcase__item:focus-visible {outline: 2px solid var(--showcase-accent);outline-offset: -2px;}
.activity-showcase__date {flex: 0 0 var(--showcase-date-width);display: flex;border-right: 1px solid var(--line);flex-direction: column;align-items: center;justify-content: center;padding: 16px 16px;line-height: 1;text-align: center;transition: background-color .2s ease, color .2s ease;}
/* One size for a single date ("13") and a range ("23 – 25") */
.activity-showcase__day {font-size: 18px;font-weight: 600;white-space: nowrap;}
.activity-showcase__month {margin-top: 5px;font-size: 13px;font-weight: 600;letter-spacing: .08em;text-transform: uppercase;white-space: nowrap;}
.activity-showcase__item:hover .activity-showcase__date,
.activity-showcase__item.is-active .activity-showcase__date {border-right-color: transparent;background: var(--primary, #c32032);color: #fff;}
.activity-showcase__body {flex: 1 1 auto;min-width: 0;display: flex;flex-direction: column;justify-content: center;gap: 6px;padding: 20px 24px;}
.activity-showcase__title {color: var(--ink);font-size: 16px;font-weight: 600;line-height: 1.3;}
.activity-showcase__meta {display: flex;flex-wrap: wrap;gap: 4px 14px;color: var(--muted);font-size: 12px;font-style: italic;line-height: 1.4;}
.activity-showcase__meta > span {display: inline-flex;align-items: center;gap: 6px;}
.activity-showcase__meta .bi {width: 13px;height: 13px;flex: 0 0 auto;}
/* The filled row: white text */
.activity-showcase__item:hover .activity-showcase__title,
.activity-showcase__item.is-active .activity-showcase__title {color: #fff;}
.activity-showcase__item:hover .activity-showcase__meta,
.activity-showcase__item.is-active .activity-showcase__meta {color: rgba(255,255,255,.85);}
/* A completed activity's tag sits after the date, on its line (wraps below it when there is no room) */
.activity-showcase__meta .activity-completed-tag {align-self: center;}
.activity-showcase__meta .activity-completed-tag .bi {width: 13px;height: 13px;}
/* The image fills the column, the height of the card, inside a frame of the chosen row's colour */
.activity-showcase__media {position: relative;min-width: 0;min-height: 360px;background: var(--showcase-active-bg);}
/* Optional footer of the list column (the home page's "View all" text link), centred: at the bottom of the column,
   and kept in view while the list scrolls */
.activity-showcase__footer {position: sticky;bottom: 0;z-index: 2;margin-top: auto;padding: 16px;background: var(--white);text-align: center;}
body.dark-theme .activity-showcase__footer {background: var(--dark-theme-hover);}
.activity-showcase__stage {position: absolute;inset: 16px;overflow: hidden;border-radius: var(--common-radius-m, 16px);background: #14161b;}
.activity-showcase__panel {position: absolute;inset: 0;}
.activity-showcase__panel[hidden] {display: none;}
.activity-showcase__panel.is-entering {animation: activity-showcase-in .45s ease both;}
.activity-showcase__image {display: block;width: 100%;height: 100%;object-fit: cover;}
.activity-showcase__overlay {position: absolute;left: 0;right: 0;bottom: 0;display: flex;flex-direction: column;align-items: flex-start;gap: 14px;padding: 64px 24px 24px;background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.15) 30%, rgba(0,0,0,.45) 60%, rgba(0,0,0,.7) 100%);color: #fff;}
.activity-showcase__summary {display: -webkit-box;margin: 0;overflow: hidden;color: rgba(255,255,255,.95);font-size: 14px;line-height: 1.6;text-shadow: 0 1px 3px rgba(0,0,0,.6);-webkit-line-clamp: 4;-webkit-box-orient: vertical;}
/* "View Details": the site's small primary button (style.css, "Site buttons"); a white focus ring over the image */
.activity-showcase__button:focus-visible {outline-color: #fff;}
@keyframes activity-showcase-in {from {opacity: 0;transform: scale(1.02);} to {opacity: 1;transform: none;}}
@media (prefers-reduced-motion: reduce) {
    .activity-showcase__panel.is-entering {animation: none;}
}
body.dark-theme .activity-showcase {background: var(--dark-theme-hover);box-shadow: none;}
body.dark-theme .activity-showcase {--showcase-accent: #ff5a6c;--muted: #aeb4bd;}
.bi-chevron-right {--bi-icon: url("../images/icons/bi/chevron-right.svg");}

/* Month groups (list page): the month filter hides the other months' rows */
.activity-showcase[hidden],
.activity-showcase__item[hidden],
.activity-showcase__group[hidden] {display: none;}
/* Month heading above its rows; stays at the top of the list while its rows scroll under it */
.activity-showcase__group {position: sticky;top: 0;z-index: 2;display: flex;align-items: baseline;justify-content: space-between;gap: 12px;padding: 18px 24px 10px;border-bottom: 1px solid var(--line);background: var(--white);}
.activity-showcase__group-name {color: var(--ink);font-size: 12px;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;}
body.dark-theme .activity-showcase__group {background: var(--dark-theme-hover);}
.activity-showcase__item.is-revealed,
.activity-showcase__group.is-revealed {animation: activity-row-in .4s ease both;}
@keyframes activity-row-in {from {opacity: 0;transform: translateY(8px);} to {opacity: 1;transform: none;}}

/* Completed activity: a green "Completed" tag (its row and "View Details" stay as they are) */
.activity-completed-tag {display: inline-flex;align-items: center;align-self: flex-start;gap: 6px;padding: 4px 12px 4px 8px;border: 1px solid rgba(255,255,255,.18);border-radius: 999px;background: linear-gradient(135deg, #2bb673 0%, #1a8a52 100%);box-shadow: 0 4px 12px -4px rgba(26,138,82,.6);color: #fff;font-size: 11px;font-style: normal;font-weight: 700;line-height: 1.4;letter-spacing: .04em;text-transform: uppercase;white-space: nowrap;}
.activity-completed-tag .bi {width: 13px;height: 13px;flex: 0 0 auto;}
.activity-completed-tag[hidden] {display: none;}
/* The activity page's date line (posts-and-updates.css) makes its text inherit the page colour, in italics */
.content-meta .activity-completed-tag,
.blog-content-header .content-meta .activity-completed-tag {color: #fff;font-style: normal;font-weight: 700;}
.bi-check-circle-fill {--bi-icon: url("../images/icons/bi/check-circle-fill.svg");}

/* ---------- Home page: this month's activities (index.php) ----------
   The page's own colour tokens (posts-and-updates.css sets them on .content-page only) */
.home-activities {--ink: #1f2329;--muted: #4a515c;--line: #e7e8ea;--soft: #f6f7f9;--white: #fff;}
body.dark-theme .home-activities {--ink: var(--dark-theme-maintext);--muted: #aeb4bd;--line: rgba(255,255,255,.25);--soft: var(--dark-theme);}

/* ---------- Month filter (list page): a month switcher above the showcase, "View more" below it ---------- */
.activity-months {--showcase-accent: var(--primary, #c32032);--muted: #4a515c;}
body.dark-theme .activity-months {--showcase-accent: #ff5a6c;--muted: #aeb4bd;}
/* ‹ [month button] ›: the arrows and the button that opens the month grid */
.activity-month-bar {position: relative;display: inline-flex;align-items: stretch;gap: 8px;margin: 0 0 20px;}
.activity-month-bar__step {flex: 0 0 auto;display: inline-flex;align-items: center;justify-content: center;width: 48px;padding: 0;border: 1px solid var(--line);border-radius: 14px;background: var(--white);color: var(--ink);cursor: pointer;transition: border-color .2s ease, color .2s ease;}
.activity-month-bar__step .bi {width: 14px;height: 14px;}
.activity-month-bar__step:not(:disabled):hover {border-color: var(--showcase-accent);color: var(--showcase-accent);}
.activity-month-bar__step:disabled {opacity: .35;cursor: default;}
.activity-month-bar__step:focus {outline: none;}
.activity-month-bar__step:focus-visible {outline: 2px solid var(--showcase-accent);outline-offset: 2px;}
.activity-month-picker {position: static;}
.activity-month-picker__toggle {display: flex;align-items: center;gap: 12px;min-width: 260px;height: 100%;padding: 8px 16px 8px 8px;border: 1px solid var(--line);border-radius: 14px;background: var(--white);color: var(--ink);list-style: none;cursor: pointer;user-select: none;transition: border-color .2s ease, box-shadow .2s ease;}
.activity-month-picker__toggle::-webkit-details-marker {display: none;}
.activity-month-picker__toggle::marker {content: "";}
.activity-month-picker__toggle:hover,
.activity-month-picker[open] .activity-month-picker__toggle {border-color: var(--showcase-accent);}
.activity-month-picker__toggle:focus {outline: none;}
.activity-month-picker__toggle:focus-visible {outline: 2px solid var(--showcase-accent);outline-offset: 2px;}
.activity-month-picker__icon {flex: 0 0 auto;display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: 10px;background: var(--showcase-accent);color: #fff;}
.activity-month-picker__icon .bi {width: 17px;height: 17px;}
.activity-month-picker__current {flex: 1 1 auto;display: flex;flex-direction: column;gap: 2px;min-width: 0;}
.activity-month-picker__label {font-size: 16px;font-weight: 700;line-height: 1.2;white-space: nowrap;}
.activity-month-picker__count {color: var(--muted);font-size: 12px;line-height: 1.3;}
.activity-month-picker__caret {flex: 0 0 auto;width: 12px;height: 12px;color: var(--muted);transition: transform .2s ease;}
.activity-month-picker[open] .activity-month-picker__caret {transform: rotate(180deg);}

/* The month grid: one block of 12 months per year; months without activities are greyed out */
.activity-month-picker__panel {position: absolute;top: calc(100% + 8px);left: 0;z-index: 30;width: 340px;max-width: 100%;max-height: 360px;overflow-y: auto;padding: 6px 16px 16px;border: 1px solid var(--line);border-radius: 18px;background: var(--white);box-shadow: 0 18px 40px rgba(0,0,0,.18);animation: activity-month-panel-in .18s ease both;}
@keyframes activity-month-panel-in {from {opacity: 0;transform: translateY(-6px);} to {opacity: 1;transform: none;}}
.activity-month-picker__year-label {position: sticky;top: -6px;z-index: 1;margin: 0;padding: 12px 4px 8px;background: var(--white);color: var(--ink);font-size: 13px;font-weight: 700;letter-spacing: .06em;}
.activity-month-picker__grid {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 6px;}
.activity-month-picker__month {position: relative;display: flex;align-items: center;justify-content: center;width: 100%;height: 46px;padding: 0;border: 0;border-radius: 12px;background: transparent;color: var(--ink) !important;font: inherit;font-size: 13px;font-weight: 600;transition: background-color .15s ease, color .15s ease;}
button.activity-month-picker__month {background: var(--soft);cursor: pointer;}
button.activity-month-picker__month:hover {background: rgba(195,32,50,.1);}
.activity-month-picker__month:focus {outline: none;}
.activity-month-picker__month:focus-visible {outline: 2px solid var(--showcase-accent);outline-offset: 1px;}
.activity-month-picker__month.is-empty {color: var(--muted) !important;font-weight: 400;opacity: .45;}
.activity-month-picker__month.is-past {color: var(--muted) !important;}
/* The current month: a small "now" dot */
.activity-month-picker__month.is-current::after {content: "";position: absolute;bottom: 6px;left: 50%;width: 5px;height: 5px;margin-left: -2.5px;border-radius: 50%;background: #2fb36b;}
.activity-month-picker__badge {position: absolute;top: 4px;right: 5px;min-width: 16px;height: 16px;padding: 0 4px;border-radius: 999px;background: var(--white);color: var(--muted);font-size: 10px;font-weight: 700;line-height: 16px;text-align: center;}
/* Hidden for now; remove this line to show each month's activity count again */
.activity-month-picker__badge {display: none;}
.activity-month-picker__month.is-active {background: var(--showcase-accent);color: #fff !important;opacity: 1;}
.activity-month-picker__month.is-active::after {background: #fff;}
.activity-month-picker__month.is-active .activity-month-picker__badge {background: rgba(255,255,255,.25);color: #fff;}
body.dark-theme .activity-month-bar__step,
body.dark-theme .activity-month-picker__toggle,
body.dark-theme .activity-month-picker__panel {background: var(--dark-theme-hover);}
body.dark-theme .activity-month-picker__panel {box-shadow: 0 18px 40px rgba(0,0,0,.5);}
body.dark-theme .activity-month-picker__year-label {background: var(--dark-theme-hover);}
body.dark-theme button.activity-month-picker__month {background: rgba(255,255,255,.06);}
body.dark-theme button.activity-month-picker__month:hover {background: rgba(255,90,108,.16);}
body.dark-theme button.activity-month-picker__month.is-active {background: var(--showcase-accent);}
body.dark-theme .activity-month-picker__badge {background: rgba(255,255,255,.1);}
.bi-chevron-left {--bi-icon: url("../images/icons/bi/chevron-left.svg");}

/* A month without activities: the site's empty message (.empty-content, posts-and-updates.css) */
.activity-months__empty[hidden] {display: none;}

/* "View more", under the card */
.activity-months__more {display: flex;justify-content: center;margin-top: 28px;}
.activity-months__more[hidden] {display: none;}
/* "View more": the site's secondary button (style.css, "Site buttons"); the month it adds after the label, lighter */
.activity-months__more-month {font-weight: 500;opacity: .8;}
/* Changing months: a short loading state, the site's section loader (.section-loader, style.css) over the shown
   months (the empty message or the showcase) */
.activity-months__body {position: relative;border-radius: var(--common-radius-l, 24px);}
.activity-months.is-loading .activity-months__loader {opacity: 1;visibility: visible;}
@media (prefers-reduced-motion: reduce) {
    .activity-month-picker__panel {animation: none;}
    .activity-showcase__item.is-revealed,
    .activity-showcase__group.is-revealed {animation: none;}
}

/* Phones: the list only; a tapped row opens the activity in the bottom sheet (#activitySheet below) */
@media (max-width: 767px) {
    .activity-showcase {--showcase-date-width: 76px;grid-template-columns: minmax(0, 1fr);border-radius: var(--common-radius-m, 16px);}
    .activity-months__body {border-radius: var(--common-radius-m, 16px);}
    /* The whole list shows on phones: the loader's ripple stays in the middle of the screen, not of the list */
    .activity-months__loader .section-loader__ripple {position: sticky;top: calc(50vh - 35px);bottom: auto;margin: 48px auto;}
    .activity-showcase__media {display: none;}
    .activity-showcase__item:last-child {border-bottom: 0;}
    .activity-showcase__date {padding: 14px 6px;}
    .activity-showcase__day {font-size: 16px;}
    .activity-showcase__month {font-size: 10px;}
    .activity-showcase__body {gap: 5px;padding: 14px 8px 14px 16px;}
    .activity-showcase__title {font-size: 15px;}
    .activity-showcase__meta {font-size: 11px;}
    /* No scroll box inside the page on phones: the whole list shows */
    .activity-showcase__list {max-height: none;overflow: visible;}
    /* ...so the footer is a plain last row (sticky would pin it to the screen) */
    .activity-showcase__footer {position: static;}
    .activity-showcase__group {position: relative;padding: 16px 16px 8px;}
    /* Chips scroll edge to edge */
    /* The month bar spans the width; the grid opens under all of it */
    .activity-month-bar {display: flex;}
    .activity-month-picker {flex: 1 1 auto;min-width: 0;}
    .activity-month-picker__toggle {min-width: 0;}
    .activity-month-bar__step {width: 44px;}
    .activity-month-picker__panel {width: 100%;}
    .activity-months__more-button {width: 100%;white-space: normal;}
}

/* ---------- Activity bottom sheet (phones): image with the drag handle over it, title, date, time, description,
   "View Details". Opening, closing and dragging come from the shared .app-bottom-sheet (bottom-sheet.js). ---------- */
.activity-sheet .activity-sheet__panel {padding-bottom: 0;overflow-x: hidden;}
.activity-sheet__media {position: relative;flex: 0 0 auto;aspect-ratio: 16 / 8;background: #14161b;}
/* Keeps the white drag handle readable over a light image */
.activity-sheet__media::after {content: "";position: absolute;inset: 0 0 auto;height: 72px;background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,0));pointer-events: none;}
.activity-sheet__image {display: block;width: 100%;height: 100%;object-fit: cover;}
.activity-sheet__close {position: absolute;top: 12px;right: 12px;z-index: 102;display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;padding: 0;border: 0;border-radius: 50%;background: rgba(0,0,0,.5);cursor: pointer;}
.activity-sheet__close img {width: 14px;height: 14px;filter: brightness(0) invert(1);}
.activity-sheet__close:focus-visible {outline: 2px solid #fff;outline-offset: 2px;}
.activity-sheet__body {padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));}
.activity-sheet__title {margin: 0 0 12px;color: var(--text-dark, #222);font-size: 18px;font-weight: 700;line-height: 1.3;}
.activity-sheet__details {margin: 0 0 14px;padding: 0;list-style: none;border-top: 1px solid var(--border-default, #e2e2e2);}
.activity-sheet__details li {display: flex;align-items: center;gap: 12px;padding: 12px 0;border-bottom: 1px solid var(--border-default, #e2e2e2);color: var(--text-default, #333);font-size: 14px;line-height: 1.4;}
.activity-sheet__details li[hidden] {display: none;}
.activity-sheet__details .bi {flex: 0 0 auto;width: 18px;height: 18px;}
.activity-sheet__summary {margin: 0 0 18px;color: var(--text-light, #686868);font-size: 14px;line-height: 1.6;}
.activity-sheet__summary[hidden] {display: none;}
/* "View Details" in the sheet: the site's primary button (style.css, "Site buttons"), the sheet's width */
.activity-sheet__button {width: 100%;min-height: 46px;}
.activity-sheet__button[hidden] {display: none;}
.activity-sheet__completed {margin: -4px 0 12px;}
.dark-theme .activity-sheet__title {color: var(--dark-theme-maintext);}
.dark-theme .activity-sheet__details,
.dark-theme .activity-sheet__details li {border-color: var(--dark-theme-border-color);}
.dark-theme .activity-sheet__details li {color: var(--dark-theme-subtext);}
.dark-theme .activity-sheet__summary {color: var(--dark-theme-subtext);}

/* Icons the site's icon set (style.css) does not define */
.bi-clock {--bi-icon: url("../images/icons/bi/clock.svg");}
.bi-arrow-right {--bi-icon: url("../images/icons/bi/arrow-right.svg");}

/* Share on the activity page */
.activity-toolbar-actions {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}

/* Activity page header: a calendar tile beside the title, then grey duration / countdown chips */
.activity-header__top {display: flex;align-items: center;gap: 20px;}
.activity-header__top h1 {margin: 0;}
.activity-header__tile {display: flex;flex-direction: column;flex: 0 0 auto;min-width: 72px;overflow: hidden;border: 1px solid var(--border-default);border-radius: 10px;background: var(--white);text-align: center;box-shadow: 0 4px 12px rgba(0,0,0,.08);}
.activity-header__month {padding: 4px 8px;background: var(--primary);color: var(--white);font-size: 11px;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;}
.activity-header__days {padding: 8px 8px 2px;color: var(--text-dark);font-size: 18px;font-weight: 800;line-height: 1.1;white-space: nowrap;}
.activity-header__year {padding: 0 8px 6px;color: var(--text-muted);font-size: 11px;}
.blog-content-header .activity-header__facts span:not(.activity-completed-tag) {padding: 7px 14px;background: #f2f2f2;color: var(--text-default);font-size: 13px;font-weight: 600;font-style: normal;}
/* The "Completed" tag sized like the facts beside it (its 1px border is taken off the padding) */
.blog-content-header .activity-header__facts .activity-completed-tag {padding: 6px 13px;font-size: 13px;font-weight: 600;line-height: inherit;letter-spacing: normal;text-transform: none;}
.dark-theme .activity-header__tile {border-color: var(--dark-theme-border-color);background: var(--dark-theme);box-shadow: none;}
.dark-theme .activity-header__days {color: var(--dark-theme-maintext);}
.dark-theme .blog-content-header .activity-header__facts span:not(.activity-completed-tag) {background: var(--dark-theme);color: var(--dark-theme-maintext);}
/* Phones: the title on its own row, then one band below it: a smaller date tile, the chips, and Share as a round icon */
@media (max-width: 575px) {
    .blog-content-header.activity-header {display: grid;grid-template-columns: auto minmax(0,1fr);align-items: center;column-gap: 12px;}
    .activity-header__top {display: contents;}
    .blog-content-header.activity-header h1 {grid-column: 1 / -1;grid-row: 1;margin: 0 0 16px;font-size: 24px;line-height: 1.2;}
    .activity-header .activity-header__tile {grid-column: 1;grid-row: 2;}
    .activity-header .blog-content-toolbar {grid-column: 2;grid-row: 2;flex-wrap: nowrap;gap: 8px;margin-top: 0;}
    .activity-header .activity-header__facts {gap: 6px;}
    .blog-content-header .activity-header__facts span:not(.activity-completed-tag) {padding: 5px 10px;font-size: 12px;}
    .blog-content-header .activity-header__facts .activity-completed-tag {padding: 5px 10px;font-size: 12px;}
    .activity-header .post-share-trigger {width: 38px;height: 38px;padding: 0;gap: 0;}
    .activity-header .post-share-trigger span {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;}
    .activity-header__tile {min-width: 58px;border-radius: 8px;box-shadow: 0 3px 8px rgba(0,0,0,.08);}
    .activity-header__month {padding: 3px 6px;font-size: 9.5px;}
    .activity-header__days {padding: 6px 6px 1px;font-size: 14px;}
    .activity-header__year {padding: 0 6px 5px;font-size: 9.5px;}
}

/* Booking: the package page's right sidebar (packages/booking-sidebar.php) next to the story; the same overrides as
   #package-details-page (style.css positions .right-sidebar absolutely elsewhere) */
.activity-page .right-sidebar {position: relative;}
.activity-page .sticky-sidebar {padding: 0 0 0 16px;}
/* One line with "…" (the shared .custom-select is a flex box, where text-overflow does not apply); full names in the list */
.activity-package-select .custom-select {display: block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;padding-right: 40px;}
.activity-package-select .custom-select-options small {white-space: normal;}
@media (max-width: 767px) {
    .activity-page .sticky-sidebar {padding: 0;}
}
/* "More Upcoming Stargazing Events & Activities" cards: the date chip in the primary colour */
.activity-page .related-post-slider .card-chip {background: var(--primary);}
/* Booking sheet on phones: "Choose a package" like "Select date and travelers" (style.css #dates-and-travelers .heading),
   no top gap (Bootstrap .mt-3) and 16px down to the date fields */
@media (max-width: 768px) {
    .activity-page .activity-package-select.mt-3 {margin-top: 0 !important;margin-bottom: 16px;}
    .activity-package-select .heading {font-size: 14px;font-weight: 600;}
}

/* Hero slider (more than one image); one image uses the shared .detail-hero */
.activity-hero-slider {position: relative;margin: 0;border-radius: var(--common-radius-l, 16px);overflow: hidden;background: #14161b;}
.activity-hero-slide img {display: block;width: 100%;height: 460px;object-fit: cover;}
.activity-hero-slider:not(.slick-initialized) .activity-hero-slide + .activity-hero-slide {display: none;}
.activity-hero-slider .slick-prev,
.activity-hero-slider .slick-next {position: absolute;bottom: 16px;z-index: 2;width: 44px;height: 44px;border: 0;border-radius: 50%;background: rgba(0,0,0,0.45);color: #fff;font-size: 0;cursor: pointer;}
/* Both arrows in the bottom left corner (16px from the edges, like the calendar in the top right corner) */
.activity-hero-slider .slick-prev {left: 16px;}
.activity-hero-slider .slick-next {left: 68px;}
.activity-hero-slider .slick-prev::before,
.activity-hero-slider .slick-next::before {content: "";position: absolute;top: 50%;left: 50%;width: 10px;height: 10px;border-top: 2px solid #fff;border-right: 2px solid #fff;}
.activity-hero-slider .slick-prev::before {transform: translate(-30%, -50%) rotate(-135deg);}
.activity-hero-slider .slick-next::before {transform: translate(-70%, -50%) rotate(45deg);}
.activity-hero-slider .slick-prev:hover,
.activity-hero-slider .slick-next:hover {background: rgba(0,0,0,0.7);}
.activity-hero-slider .slick-dots {position: absolute;left: 0;right: 0;bottom: 16px;display: flex !important;justify-content: center;gap: 8px;margin: 0;padding: 0;list-style: none;}
.activity-hero-slider .slick-dots button {width: 10px;height: 10px;padding: 0;border: 0;border-radius: 50%;background: rgba(255,255,255,0.55);font-size: 0;cursor: pointer;}
.activity-hero-slider .slick-dots .slick-active button {background: #fff;}

@media (max-width: 768px) {
    .activity-hero-slide img {height: 300px;}
    .activity-hero-slider .slick-prev,
    .activity-hero-slider .slick-next {display: none !important;}
}
