/* ── Lifeboat Station Histories — Frontend Styles ── */
/* Scoped to station history post type content */

/* ── ACCORDION (navy section bars, matching the Former Stations region bars) ── */
.lsh-acc-item {
    margin-bottom: 24px;          /* one line space between each panel */
}
.lsh-acc-item:last-child { margin-bottom: 0; }
.lsh-acc-trigger {
    width: 100%;
    background: #0b2a4a;          /* navy bar */
    border: none;
    border-left: 5px solid #c8102e;  /* red accent edge */
    border-radius: 0;
    padding: 11px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: background 0.15s;
}
.lsh-acc-trigger:hover,
.lsh-acc-trigger:focus { background: #103459; }
/* The old "01"–"07" number prefix is dropped for the clean bar look. */
.lsh-acc-num { display: none; }
.lsh-acc-title {
    flex: 1;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #ffffff;
}
.lsh-acc-sub {
    font-size: 0.74rem;
    color: rgba(255,255,255,.7);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    margin-left: 4px;
}
.lsh-acc-chevron {
    color: #ffffff;              /* white down-arrow toggle */
    transition: transform 0.25s;
    flex-shrink: 0;
}
.lsh-acc-trigger.lsh-acc-open .lsh-acc-chevron,
.lsh-acc-trigger[aria-expanded="true"] .lsh-acc-chevron {
    transform: rotate(180deg);
}
.lsh-acc-body {
    display: none;
    padding: 16px 2px 4px;
}
.lsh-acc-body.lsh-acc-open,
.lsh-acc-body[aria-hidden="false"] {
    display: block;
}
.lsh-acc-body p {
    font-size: 16px;
    line-height: 25.5px;
    color: #5a6b7a;
    margin-bottom: 12px;
    font-family: inherit;
}
.lsh-acc-body p:last-child { margin-bottom: 0; }

/* Intro lead — match the collapsible panels (14px) and the main site body font. */
#lsh-content .lsh-intro, .lsh-intro { font-size: 16px; line-height: 25.5px; color: #5a6b7a; font-family: inherit; }

/* References section — same navy bar, kept uniform with the others. */
.lsh-acc-item--refs .lsh-acc-title { color: #ffffff; font-weight: 700; }
.lsh-acc-item--refs .lsh-acc-chevron { color: #ffffff; }

/* ── STATION TITLE BAND (red eyebrow, blue title, red rule — matches the PDF) ── */
#lsh-titleband { margin: 0 0 6px; }
#lsh-titleband .lsh-eyebrow-red { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: #c8102e; font-weight: 700; margin-bottom: 6px; font-family: 'Poppins', sans-serif; }
#lsh-titleband .lsh-title-rule { height: 2.5px; background: #c8102e; margin: 10px 0 16px; width: 100%; }

/* ── HERO CREDIT (small licence line below the hero, replaces the overlay) ── */
.lsh-hero-credit { font-size: 0.7rem; color: #7a828b; margin: 6px 0 18px; font-family: 'Poppins', sans-serif; line-height: 1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── STAT BOXES + CLEAN INFO TABLE (station header, mirrors the PDF) ── */
.lsh-statboxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 18px; font-family: 'Poppins', sans-serif; }
.lsh-statbox { color: #fff; padding: 12px 14px; border-radius: 0; }
.lsh-statbox .k { display: block; font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.92; line-height: 1.2; }
.lsh-statbox .v { display: block; font-size: 1.5rem; font-weight: 800; line-height: 1.05; margin-top: 3px; }
.lsh-statbox .v.v--text { font-size: 1rem; padding-top: 4px; }
.lsh-statbox--navy  { background: #0b2a4a; }
.lsh-statbox--slate { background: #33414f; }
.lsh-statbox--red   { background: #c8102e; }
.lsh-statbox--grey  { background: #5e6b78; }
@media (max-width: 600px) { .lsh-statboxes { grid-template-columns: 1fr 1fr; } }

.lsh-infotable { width: 100%; border-collapse: collapse; font-size: 0.86rem; margin: 0 0 6px; font-family: 'Poppins', sans-serif; }
.lsh-infotable th { text-align: left; width: 34%; color: #5a6b7a !important; font-weight: 600; text-transform: uppercase; font-size: .78rem; letter-spacing: .03em; vertical-align: top; padding: 10px 14px 10px 12px; }
/* Zebra spans the whole row (heading column included) */
.lsh-infotable tr:nth-child(odd) th, .lsh-infotable tr:nth-child(odd) td { background:#ffffff !important; }
.lsh-infotable tr:nth-child(even) th, .lsh-infotable tr:nth-child(even) td { background:#f4f6f8 !important; }
.lsh-infotable td { vertical-align: top; padding: 10px 0; border-bottom: 1px solid #eee; color: #1a1a1a; }
.lsh-infotable tr:last-child td { border-bottom: none; }
.lsh-infotable { border-top: none !important; }
.lsh-infotable tr:first-child th, .lsh-infotable tr:first-child td { border-top: none !important; }
.lsh-infotable .lsh-boat-entry { margin-bottom: 6px; }
.lsh-infotable .lsh-boat-entry:last-child { margin-bottom: 0; }
.lsh-all-classes { display: inline-block; margin: 4px 0 30px; font-weight: 700; font-size: .9rem; color: #c8102e; text-decoration: none; }
/* "View all" link inside an LSH sidebar widget — match the .lsh-all-classes link.
   Scoped to common WooCommerce/widget link classes; confirm the actual class. */
/* "View all" link in a sidebar product widget -> match the .lsh-all-classes link.
   Broad selector set (widget may not sit in an .lsh-widget wrapper). */
/* Hide the "View all Products" link in the sidebar product widget. */
.lsh-widget a.view-all, .lsh-widget a.more-link, .lsh-widget a.lsh-view-all,
.lsh-widget > a, .lsh-widget > p > a,
.lsh-view-all, a.lsh-view-all, a.view-all, a.view-all-products, a.more-products,
.product_list_widget + a, .widget_products > a,
.wc-block-grid__view-more, .wc-block-grid__view-more a, a.wc-block-grid__view-more {
  display: none !important;
}
.lsh-widget a.view-all:hover,
.lsh-widget a.more-link:hover,
.lsh-widget a.lsh-view-all:hover { text-decoration: underline; }
.lsh-all-classes:hover { text-decoration: underline; }
.lsh-awards-note,
.lsh-acc-body p.lsh-awards-note { font-size: 11px !important; color: #7a828b; font-style: italic; margin: 10px 0 0; line-height: 1.5; }

/* ── INFO BOX ── */
.lsh-info-box {
    border: 1px solid #e0e0e0;
    border-radius:0;
    overflow: hidden;
    margin-bottom: 6px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
.lsh-rnli-pill {
    background: #c0392b;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius:0;
    letter-spacing: 0.1em;
}
.lsh-info-cell:nth-child(even) { border-right: none; }
.lsh-info-cell.lsh-full { grid-column: 1 / -1; border-right: none; }
.lsh-info-value a { color: #1a1a1a; }
.lsh-info-value a:hover { color: #c0392b; }
@keyframes lsh-blink { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* Boat icons */
.lsh-boat-entry { display: flex; align-items: center; gap: 9px; margin-bottom: 4px; }
.lsh-boat-entry:last-child { margin-bottom: 0; }
.lsh-boat-link { display: flex; align-items: center; gap: 9px; text-decoration: none; }
.lsh-boat-icon { display: inline-flex; align-items: center; flex-shrink: 0; }
.lsh-boat-class { display: inline; font-size: 0.86rem; color: #1a1a1a; font-weight: 600; }
.lsh-boat-name  { display: inline; font-size: 0.76rem; color: #555; font-style: italic; }
.lsh-boat-name::before { content: " \2014 "; color: #aaa; font-style: normal; }
/* One-lifeboat stations leave a lone left cell before the full-width rows —
   span it so there's no dangling vertical divider. */
.lsh-info-cell:nth-child(odd):has(+ .lsh-info-cell.lsh-full) { grid-column: 1 / -1; border-right: none; }

/* Gallantry medals */
.lsh-gallantry-wrap { display: flex; align-items: center; gap: 10px; }
.lsh-gallantry-medals { display: flex; gap: 4px; align-items: center; }
.lsh-medal-pip { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.lsh-medal-circle {
    width: 18px; height: 18px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.55rem; font-weight: 700; color: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.lsh-medal-gold   { background: linear-gradient(135deg, #d4a017, #c9a000, #f0c84a); }
.lsh-medal-silver { background: linear-gradient(135deg, #8a9aaa, #6c7d8e, #aabbc8); }
.lsh-medal-bronze { background: linear-gradient(135deg, #a0704a, #8a5a30, #c89060); }
.lsh-medal-ribbon { width: 6px; height: 10px; border-radius: 0 0 2px 2px; margin-top: -3px; }
.lsh-medal-ribbon.lsh-medal-gold   { background: linear-gradient(180deg, #d4a017, #f0c84a); }
.lsh-medal-ribbon.lsh-medal-silver { background: linear-gradient(180deg, #8a9aaa, #aabbc8); }
.lsh-medal-ribbon.lsh-medal-bronze { background: linear-gradient(180deg, #a0704a, #c89060); }
.lsh-medal-pip-label { font-size: 0.52rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; }
.lsh-gallantry-total { font-size: 0.82rem; color: #1a1a1a; font-weight: 600; }
.lsh-gallantry-total span { display: block; font-size: 0.65rem; color: #888; font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; }

/* Verify flags */
.lsh-vf {
    display: inline-block;
    background: #fffbeb;
    border: 1px solid #f5c842;
    color: #92700a;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius:0;
    margin-left: 5px;
    letter-spacing: 0.05em;
    vertical-align: middle;
}

/* ── MAP ── */
.lsh-map-wrap {
    border: 1px solid #e0e0e0;
    border-radius:0;
    overflow: hidden;
    margin-bottom: 28px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
.lsh-map-embed iframe { display: block; }
.lsh-map-note {
    padding: 6px 14px;
    font-size: 0.68rem;
    color: #888;
    background: #f9f9f9;
    border-top: 1px solid #eeeeee;
}
.lsh-map-note a { color: #888; }

/* ── RESCUE CARDS ── */
.lsh-rescue {
    border-left: 2px solid #1a1a1a;
    padding: 12px 0 12px 16px;
    margin-bottom: 20px;
}
.lsh-rescue:last-child { margin-bottom: 0; }
.lsh-rescue-date {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #c0392b;
    margin-bottom: 3px;
}

/* ── AWARDS TABLE ── */
.lsh-awards-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; margin-top: 4px; }
.lsh-awards-table th { background: none; color: #1b3a5c; padding: 6px 12px 6px 0; text-align: left; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; border-bottom: 2px solid #1b3a5c; }
.lsh-awards-table td { padding: 8px 12px; border-bottom: 1px solid #eeeeee; color: #2d2d2d; }
.lsh-awards-table tr:last-child td { border-bottom: none; }
.lsh-awards-table tr:nth-child(even) td { background: #f9f9f9; }

/* Any table authored inside a section body (e.g. Honours & Awards) inherits the
   agreed awards style even without the .lsh-awards-table class, so web matches print. */
.lsh-acc-body table { width: 100%; border-collapse: collapse; font-size: 0.84rem; margin-top: 4px; }
.lsh-acc-body table th { background: none; color: #1b3a5c; padding: 6px 12px 6px 0; text-align: left; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; border-bottom: 2px solid #1b3a5c; }
.lsh-acc-body table td { padding: 8px 12px; border-bottom: 1px solid #eeeeee; color: #2d2d2d; }
.lsh-acc-body table tr:last-child td { border-bottom: none; }
.lsh-acc-body table tr:nth-child(even) td { background: #f9f9f9; }

/* ── REFERENCES ── */
.lsh-refs-list { list-style: none; counter-reset: lsh-ref; margin: 4px 0 0; padding: 0; }
.lsh-refs-list li {
    font-size: 0.8rem;
    color: #888;
    padding: 5px 0;
    border-bottom: 1px solid #eeeeee;
    line-height: 1.5;
    display: flex;
    gap: 8px;
    align-items: baseline;
    counter-increment: lsh-ref;
}
.lsh-refs-list li:last-child { border-bottom: none; }
.lsh-refs-list li::before {
    content: counter(lsh-ref);
    font-size: 0.65rem;
    font-weight: 700;
    color: #e0e0e0;
    flex-shrink: 0;
    min-width: 14px;
}
.lsh-refs-list a { color: #888; }
.lsh-refs-list a:hover { color: #1a1a1a; }

/* ── TAGS ── */
.lsh-tags-wrap { margin-top: 48px; padding-top: 24px; border-top: 3px solid #1a1a1a; }
.lsh-tags-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #888; margin-bottom: 10px; }
.lsh-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lsh-tag { border: 1px solid #e0e0e0; color: #555; font-size: 0.74rem; padding: 4px 12px; border-radius:0; text-decoration: none; transition: all 0.15s; letter-spacing: 0.04em; }
.lsh-tag:hover { border-color: #1a1a1a; color: #1a1a1a; }

/* ── MOBILE ── */
@media (max-width: 600px) {
    .lsh-acc-body { padding-left: 18px; }
    .lsh-acc-sub { display: none; }
    .lsh-gallantry-total span { display: none; }
}

/* ── RECENT LAUNCHES — link-out version ── */
.lsh-launches-intro {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0 0 16px;
}
.lsh-launches-btn {
    display: inline-block;
    background: none;
    color: #1b3a5c !important;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 4px 0;
    margin: 2px 0 4px;
    border-radius: 0;
    text-decoration: none;
    transition: color 0.15s;
}
.lsh-launches-btn:hover { background: none; color: #14293f !important; }
.lsh-launches-note {
    font-size: 0.62rem;
    color: #888;
    margin: 10px 0 0;
    font-style: italic;
}

/* ── CAROUSEL (inside #lsh-hero-wrap) ── */
.lsh-carousel { position: absolute; inset: 0; width: 100%; height: 100%; }
.lsh-carousel .lsh-slide {
    position: absolute; inset: 0;
    opacity: 0; visibility: hidden;
    transition: opacity 0.5s ease;
}
.lsh-carousel .lsh-slide.is-active { opacity: 1; visibility: visible; }
.lsh-carousel .lsh-slide a { display: block; width: 100%; height: 100%; }
.lsh-carousel .lsh-hero-img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: var(--lsh-hero-focus, center 35%);
    display: block; cursor: zoom-in;
}
.lsh-carousel-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    z-index: 3; width: 38px; height: 38px; border: none; border-radius: 50%;
    background: rgba(0,0,0,.4); color: #fff; font-size: 1.5rem; line-height: 1;
    cursor: pointer; transition: background 0.15s; display: flex; align-items: center; justify-content: center;
}
.lsh-carousel-arrow:hover { background: rgba(0,0,0,.7); }
.lsh-carousel-prev { left: 12px; }
.lsh-carousel-next { right: 12px; }
.lsh-carousel-dots {
    position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
    z-index: 3; display: flex; gap: 7px;
}
.lsh-carousel-dot {
    width: 8px; height: 8px; border-radius: 50%; border: none; padding: 0;
    background: rgba(255,255,255,.5); cursor: pointer; transition: background 0.15s;
}
.lsh-carousel-dot.is-active { background: #fff; }

/* ── GALLERY (in-page, e.g. inside an accordion) ── */
.lsh-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin: 8px 0 4px;
}
.lsh-gallery-item { margin: 0; }
.lsh-gallery-item a { display: block; overflow: hidden; border-radius:0; }
.lsh-gallery-item img {
    width: 100%; height: 120px; object-fit: cover; display: block;
    cursor: zoom-in; transition: transform 0.2s ease;
}
.lsh-gallery-item a:hover img { transform: scale(1.04); }
.lsh-gallery-item figcaption {
    font-size: 0.62rem; color: #888; margin-top: 3px; line-height: 1.3;
}
.lsh-gallery-empty { font-size: 0.85rem; color: #888; font-style: italic; }

/* ── LIGHTBOX ── */
.lsh-lightbox {
    position: fixed; inset: 0; z-index: 100000;
    background: rgba(0,0,0,.9);
    display: none; align-items: center; justify-content: center;
}
.lsh-lightbox.is-open { display: flex; }
.lsh-lb-figure { margin: 0; max-width: 90vw; max-height: 90vh; text-align: center; }
.lsh-lb-img { max-width: 90vw; max-height: 82vh; object-fit: contain; display: block; margin: 0 auto; }
.lsh-lb-caption { color: rgba(255,255,255,.85); font-size: 0.8rem; margin-top: 10px; font-family: 'Poppins', sans-serif; }
.lsh-lb-close {
    position: absolute; top: 18px; right: 22px; z-index: 2;
    background: none; border: none; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer;
}
.lsh-lb-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
    background: rgba(255,255,255,.12); border: none; color: #fff;
    font-size: 2.6rem; line-height: 1; width: 54px; height: 54px; border-radius: 50%;
    cursor: pointer; transition: background 0.15s;
}
.lsh-lb-arrow:hover { background: rgba(255,255,255,.25); }
.lsh-lb-prev { left: 18px; }
.lsh-lb-next { right: 18px; }
@media (max-width: 600px) {
    .lsh-lb-arrow { width: 42px; height: 42px; font-size: 2rem; }
    .lsh-gallery { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
    .lsh-gallery-item img { height: 90px; }
}

/* ── GALLANTRY: commendations / total-only fallbacks ── */
.lsh-gallantry-commend {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
}
.lsh-gallantry-commend span {
    display: block;
    font-size: 0.66rem;
    font-weight: 400;
    color: #888;
    margin-top: 2px;
}

/* ── GALLANTRY: medal icons shown without individual counts (no breakdown) ── */
.lsh-gallantry-medals--nosplit { gap: 6px; }
.lsh-gallantry-medals--nosplit .lsh-medal-pip { margin-bottom: 0; }

/* ── SHARED GUIDE CTA (single page + index page, driven by Guide Settings) ── */
.lsh-guide-card-wrap { margin-bottom: 32px; font-family: 'Poppins', sans-serif; }
.lsh-guide-card { border: none; border-radius:0; overflow: hidden; background: #fcfcfc; }
.lsh-guide-card-head {
    background: #0b2a4a; color: #fff; border-left: 5px solid #c8102e; padding: 16px 16px;
    font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.35; text-wrap: balance;
}
.lsh-guide-card-cover {
    width: 52px; height: 68px; background: #1a1a1a; border-radius:0; margin: 14px auto 10px;
    display: flex; align-items: center; justify-content: center; box-shadow: 2px 3px 8px rgba(0,0,0,.18);
    position: relative;
}
/* Cover-left / text-right intro row */
.lsh-guide-card-intro { display: flex; gap: 12px; align-items: flex-start; padding: 14px 14px 12px; }
.lsh-guide-card-intro .lsh-guide-card-cover { margin: 0; flex-shrink: 0; }
.lsh-guide-card-intro .lsh-guide-card-blurb { margin: 0; padding: 0; text-align: left; }
.lsh-guide-card-cover img.lsh-cover-zoom { cursor: zoom-in; }
.lsh-cover-lb { position: fixed; inset: 0; background: rgba(0,0,0,.85); display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 24px; }
.lsh-cover-lb img { max-width: 92vw; max-height: 92vh; box-shadow: 0 10px 40px rgba(0,0,0,.5); border-radius:0; }
.lsh-cover-lb-close { position: absolute; top: 16px; right: 24px; background: none; border: none; color: #fff; font-size: 38px; line-height: 1; cursor: pointer; }
.lsh-guide-card-cover span { color: #c9a000; font-size: 0.5rem; text-align: center; padding: 4px; line-height: 1.4; font-family: 'Poppins', sans-serif; }
.lsh-guide-card-blurb { font-size: 0.74rem; color: #555; text-align: center; padding: 0 14px 12px; line-height: 1.5; margin: 0; }
.lsh-format-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #eee; }
.lsh-format-item { border-bottom: 1px solid #eee; }
.lsh-format-item:last-child { border-bottom: none; }
.lsh-format-link {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px;
    text-decoration: none; color: inherit; cursor: pointer;
}
.lsh-format-link:hover { background: #fff; }
.lsh-format-icon { flex-shrink: 0; }
.lsh-format-info { flex: 1; }
.lsh-format-name { font-size: 0.8rem; font-weight: 700; color: #1a1a1a; display: block; }
.lsh-format-badge { font-size: 0.6rem; background: #e8f5e9; color: #2e7d32; padding: 1px 5px; border-radius:0; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.lsh-format-desc { font-size: 0.68rem; color: #888; }
.lsh-format-price { font-size: 0.88rem; font-weight: 700; color: #1a1a1a; flex-shrink: 0; }
.lsh-format-free { font-size: 0.72rem; color: #888; font-style: italic; flex-shrink: 0; }

/* Mobile CTA — shared */
.lsh-mobile-cta {
    display: none; margin: 14px 0 24px; padding: 12px 16px; background: #f9f9f9;
    border: 1px solid #e0e0e0; border-radius:0; align-items: center; justify-content: space-between;
    gap: 10px; flex-wrap: wrap; font-family: 'Poppins', sans-serif;
}
.lsh-mobile-cta-text { font-size: 0.82rem; color: #555; line-height: 1.4; flex: 1; min-width: 140px; }
.lsh-mobile-cta-text strong { display: block; color: #1a1a1a; font-size: 0.86rem; }
.lsh-mobile-cta-btns { display: flex; gap: 7px; flex-shrink: 0; }
.lsh-mobile-cta-btn {
    background: #1a1a1a; color: #fff; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em;
    text-transform: uppercase; padding: 8px 12px; border-radius:0; text-decoration: none;
    white-space: nowrap; border: 1px solid #1a1a1a;
}
.lsh-mobile-cta-btn--ghost { background: transparent; color: #1a1a1a; }
.lsh-format-mobile { display: none; margin: -10px 0 16px; }
.lsh-format-mobile.open { display: block; }
@media (max-width: 900px) {
    .lsh-mobile-cta { display: flex; }
}

/* ── CAPTION CLAMP — stop long Commons/Geograph credits breaking layout ──
   Visual clamp only; the full attribution stays in the DOM (data-lsh-caption)
   and is shown in full in the lightbox, so CC BY-SA crediting is preserved. */
.lsh-hero-caption,
.lsh-gallery-item figcaption {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Compact guide card (mobile toggle panel) — no title/divider, tighter top */
.lsh-guide-card-wrap--compact { margin-bottom: 0; }
.lsh-guide-card-wrap--compact .lsh-guide-card { margin-top: 0; }

/* ── Index intro clamp + [ more… ] toggle (JS-driven; full text shows if JS off) ── */
.lsh-clampable.lsh-clamped { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lsh-clampable.lsh-clamped.is-open { display: block; -webkit-line-clamp: unset; overflow: visible; }
.lsh-more-toggle { display: inline-block; margin-top: 5px; font-size: 0.85rem; cursor: pointer; }

/* ── Widget-area widgets (CTA spots exposed for drag-and-drop) ── */
.lsh-widget { margin-bottom: 32px; font-family: 'Poppins', sans-serif; }
.lsh-widget:last-child { margin-bottom: 0; }
.lsh-widget .lsh-guide-card-wrap { margin-bottom: 0; } /* CTA card carries its own spacing via .lsh-widget */
.lsh-widget-title { font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#1a1a1a;padding-bottom:8px;border-bottom:1px solid #1a1a1a;margin:0 0 14px; }
.lsh-widget-title, .lsh-wregion-head, .lsh-wcls-head, .lsh-wpick-head, .lsh-spick-head { background:#0b2a4a;color:#fff;border-left:5px solid #c8102e;padding:14px 16px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.35;margin:0 0 14px;border-bottom:none; }
.lsh-wregion-list { list-style:none;margin:0;padding:0; }
.lsh-wregion-list li a { display:block;padding:7px 0;border-bottom:1px solid #eee;font-size:.8rem;color:#555;text-decoration:none; }
.lsh-wregion-list li a.is-current { color:#1a1a1a;font-weight:700; }
.lsh-wcls-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.lsh-wcls-item { display:block;text-decoration:none;color:#1a1a1a;border:1px solid #e3e3e3;border-radius:0;overflow:hidden;background:#fff; }
.lsh-wcls-item:hover { border-color:#1a1a1a; }
.lsh-wcls-pic { display:block;aspect-ratio:16/10;background:#16324f;overflow:hidden; }
.lsh-wcls-pic img { width:100%;height:100%;object-fit:cover;display:block; }
.lsh-wcls-pic { position:relative; }
.lsh-wcls-namepill { position:absolute; left:7px; bottom:7px; background:rgba(255,255,255,.94); color:#0b2a47; font-size:.62rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; padding:2px 7px; line-height:1.2; }

/* Station selector widget */
/* .lsh-spick-head styled with the widget heads above (navy CTA bar). */
.lsh-spick-preview { width:100%;aspect-ratio:16/9;background:#16324f;border-radius:0;overflow:hidden;margin-bottom:10px; }
.lsh-spick-preview img { width:100%;height:100%;object-fit:cover;display:block; }
.lsh-spick-filter { width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:0;margin-bottom:6px;font-size:.82rem; }
.lsh-spick-region, .lsh-spick-select {
	width:100%;padding:8px 34px 8px 10px;border:1px solid #ccc;border-radius:0;font-size:.85rem;margin-bottom:8px;color:#1a1a1a;
	-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;
	background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 13px center;background-size:10px 6px;
}
.lsh-spick-open { width:100%;padding:13px 18px;background:#383838;color:#fff;border:none;border-radius:0;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;cursor:pointer;transition:background .15s; }
.lsh-spick-open:hover { background:#f4791f; }
.lsh-spick-open:disabled { background:#bbb;cursor:default; }

/* ══════════════════════════════════════════════════════════════════════════
   Former Lifeboat Stations hub  (/station-histories/former-stations/)
   Self-contained, scoped to .lsh-fs-hub so it is independent of body class.
   ══════════════════════════════════════════════════════════════════════════ */
.lsh-fs-main{display:block;}
.lsh-fs-hub{--navy:#0b2a4a;--red:#c8102e;--slate:#5a6b7a;--grey:#6b7280;--muted:#7a828b;
  --line:#e3e6ea;--tint:#f6f8fa;--survive:#1c8a6b;
  max-width:1080px;margin:0 auto;padding:40px 20px 64px;color:#1a1d21;
  font-family:Poppins,system-ui,-apple-system,sans-serif;line-height:1.5;}
.lsh-fs-hub *{box-sizing:border-box;}
.lsh-fs-crumb a{color:var(--slate);text-decoration:none;}
.lsh-fs-crumb a:hover{color:var(--navy);text-decoration:underline;}
.lsh-fs-crumb .sep{margin:0 7px;color:#c2c8cf;}

.lsh-fs-eyebrow{display:inline-block;background:var(--red);color:#fff;font-weight:700;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;margin-bottom:14px;}
/* eyebrowv2 — original red-text-with-rule style (retained as an option; not currently used). */
.lsh-fs-eyebrow--v2{display:inline-flex;align-items:center;gap:8px;background:none;padding:0;color:var(--red);font-weight:700;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;}
.lsh-fs-eyebrow--v2::before{content:"";width:26px;height:3px;background:var(--red);display:inline-block;}
.lsh-fs-title{font-size:2.1rem;color:var(--navy);margin:0 0 12px;font-weight:700;line-height:1.1;}
.lsh-fs-lede{max-width:64ch;color:var(--slate);font-size:1rem;margin:0 0 18px;}

.lsh-fs-stats{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 24px;padding:14px 18px;
  background:var(--tint);border:1px solid var(--line);border-radius:0;}
.lsh-fs-stats .fs-stat b{display:block;font-size:1.4rem;color:var(--navy);font-weight:700;line-height:1;}
.lsh-fs-stats .fs-stat span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.lsh-fs-empty{color:var(--muted);font-style:italic;}

.lsh-fs-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:8px;}
.lsh-fs-statboxes{margin:0 0 24px;}
.lsh-fs-hub .lsh-fs-select{font-family:Poppins,sans-serif;font-size:.9rem;padding:11px 40px 11px 14px;border:1.5px solid var(--line);background-color:#fff;color:#1a1a1a;cursor:pointer;min-width:150px;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
.lsh-fs-hub .lsh-fs-select:focus{outline:none;border-color:var(--navy);}
.lsh-fs-search{flex:1 1 280px;position:relative;}
.lsh-fs-hub .lsh-fs-search input{width:100%;padding:11px 14px 11px 46px !important;border:1.5px solid var(--line);
  border-radius:0;font:inherit;font-size:.92rem;outline:none;transition:border-color .15s;}
.lsh-fs-search input:focus{border-color:var(--navy);}
.lsh-fs-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);}
.lsh-fs-pill:hover{border-color:var(--navy);color:var(--navy);}
.lsh-fs-pill.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.lsh-fs-count{font-size:.8rem;color:var(--muted);margin:10px 2px 16px;}
.lsh-fs-count b{color:var(--navy);}

.lsh-fs-tablewrap{width:100%;}
.lsh-fs-table{width:100%;border-collapse:collapse;font-size:.86rem;}
.lsh-fs-table thead th{text-align:left;color:var(--navy);font-weight:600;font-size:.7rem;
  letter-spacing:.07em;text-transform:uppercase;padding:10px 12px;border-bottom:2px solid var(--navy);}
.lsh-fs-table td{padding:9px 12px;vertical-align:top;}
.lsh-fs-table tr.fs-row.fs-alt td{background:#f4f6f8;}
.lsh-fs-table tr.fs-row:hover{background:#f0f5fa;}
.lsh-fs-table tr.fs-region th{background:var(--navy);color:#fff;font-weight:700;font-size:.82rem;
  letter-spacing:.02em;text-transform:none;padding:8px 12px;border-left:5px solid var(--red);text-align:left;}
.lsh-fs-table .fs-name{font-weight:600;color:var(--navy);}
.lsh-fs-table .fs-loc{color:var(--slate);}
.lsh-fs-table .fs-loc small{display:block;color:var(--muted);font-size:.78em;}
.lsh-fs-table .fs-num{color:var(--slate);font-variant-numeric:tabular-nums;white-space:nowrap;}
.lsh-fs-table .fs-class{color:var(--grey);}
.lsh-fs-table .fs-now{color:var(--slate);}
.lsh-fs-table .fs-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:middle;}
.lsh-fs-table .fs-dot.yes{background:var(--survive);}
.lsh-fs-table .fs-dot.no{background:transparent;border:1.5px solid #c2c8cf;}
.lsh-fs-noresult{color:var(--muted);font-style:italic;padding:8px 2px;}

@media (max-width:720px){
  .lsh-fs-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .lsh-fs-table{min-width:680px;}
  .lsh-fs-title{font-size:1.6rem;}
}

/* Accordion bar: never shift to orange on hover (overrides Amely button hover). */
.lsh-acc-trigger:hover, .lsh-acc-trigger:focus { background:#103459 !important; color:#fff !important; border-left-color:#c8102e !important; }

/* Former Stations header — centred like the index pages */
.lsh-fs-head { text-align:center; max-width:760px; margin:0 auto 26px; }
.lsh-fs-head .lsh-fs-lede { margin:0 auto; font-size:16px; line-height:25.5px; color:#5a6b7a; }
.lsh-fs-head .lsh-more-toggle { color:#c8102e; }

/* ── Accordion title-bar gap fix (folded in from lsh-accordion-spacing-fix.css, v1.11.80) ──
   Suppresses the stray leading <br>/empty <p> wpautop adds when a section body
   begins with inline text (Scotland/NI/Ireland batches). Global + harmless. */
.lsh-acc-body > br:first-child      { display: none; }
.lsh-acc-body > p:empty:first-child { display: none; }
.lsh-acc-body > p:first-child       { margin-top: 0; }
