:root {
    --lc-bg: #f7f4ec;
    --lc-surface: #fffdf8;
    --lc-surface-soft: #f0eadf;
    --lc-text: #171917;
    --lc-muted: #6f726d;
    --lc-line: rgba(23, 25, 23, .13);
    --lc-petrol: #0b3f49;
    --lc-petrol-dark: #072e36;
    --lc-coral: #ea5a2a;
    --lc-coral-dark: #cf461a;
    --lc-sand: #d8c8aa;
    --lc-white: #ffffff;
    --lc-radius: 8px;
    --lc-shadow: 0 18px 55px rgba(20, 30, 27, .08);
    --lc-serif: Georgia, "Times New Roman", serif;
    --lc-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body.lc-theme {
    background: var(--lc-bg);
    color: var(--lc-text);
    font-family: var(--lc-sans);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--lc-coral); }
img { max-width: 100%; height: auto; }

.lc-container-xl { max-width: var(--lc-container, 1480px); margin-inline: auto; padding-inline: clamp(20px, 4vw, 64px); }
.lc-content-width { max-width: 820px; }

h1, h2, h3, h4, h5, h6,
.lc-display,
.lc-brand {
    font-family: var(--lc-serif);
    letter-spacing: -.035em;
}

h1 { font-size: clamp(2.6rem, 6vw, 5.8rem); line-height: .98; }
h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.05; }
h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.12; }

.lc-kicker {
    color: var(--lc-coral);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.text-white-75 { color: rgba(255,255,255,.78) !important; }

/* Header */
.lc-site-header {
    z-index: 1020;
    background: rgba(247,244,236,.95);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--lc-line);
}
.lc-site-header .navbar { min-height: 72px; }
.lc-brand { font-size: 1.38rem; font-weight: 700; color: var(--lc-text); white-space: nowrap; }
.lc-brand .custom-logo { max-height: 36px; width: auto; }
.lc-main-nav { gap: .15rem; }
.lc-main-nav .nav-link { color: var(--lc-text); padding: 1.55rem .85rem; font-size: .88rem; }
.lc-main-nav .nav-link:hover { color: var(--lc-coral); }
.lc-header-search { width: 38px; height: 38px; display: inline-grid; place-items: center; font-size: 1.35rem; }
.lc-lang-header, .lc-lang-footer { border: 0; font-size: .78rem; font-weight: 700; letter-spacing: .05em; }
.lc-lang-header { background: transparent; }
.lc-lang-footer { padding-left: 0; color: rgba(255,255,255,.72); }
.lc-language-switcher .dropdown-menu { border: 1px solid var(--lc-line); border-radius: 6px; box-shadow: var(--lc-shadow); background: var(--lc-surface); }
.lc-language-switcher .dropdown-item { font-size: .88rem; padding: .55rem .9rem; }
.lc-language-switcher .dropdown-item.active { background: var(--lc-petrol); color: white; }

.lc-btn-primary,
.lc-btn-dark {
    border: 0;
    border-radius: var(--lc-button-radius, 6px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .72rem 1.05rem;
    font-weight: 650;
    font-size: .86rem;
}
.lc-btn-primary { background: var(--lc-coral-dark); color: #fff; }
.lc-btn-primary:hover { background: var(--lc-coral-dark); color: #fff; }
.lc-btn-dark { background: var(--lc-petrol); color: #fff; }
.lc-btn-dark:hover { background: var(--lc-petrol-dark); color: #fff; }

.lc-mobile-nav { background: var(--lc-bg); }
.lc-mobile-links .nav-link { font-family: var(--lc-serif); font-size: 1.8rem; padding: .55rem 0; border-bottom: 1px solid var(--lc-line); }

/* Hero */
.lc-home-hero {
    min-height: min(760px, calc(100vh - 72px));
    background-color: var(--lc-petrol);
    position: relative;
    overflow: hidden;
}
.lc-home-hero > .lc-container-xl,
.lc-destination-hero > .lc-container-xl { position: relative; z-index: 2; }
.lc-hero-media { position: absolute; inset: 0; z-index: 0; }
.lc-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lc-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,26,32,.72),rgba(6,26,32,.16)); }
.lc-hero-overlay-destination { background: linear-gradient(90deg,rgba(6,26,32,.70),rgba(6,26,32,.18)); }
.lc-display { font-size: clamp(3.5rem, 8vw, 7rem); max-width: 880px; }
.lc-hero-lead { font-size: clamp(1.05rem, 1.9vw, 1.35rem); max-width: 620px; margin-top: 1.4rem; }
.lc-hero-search {
    display: flex;
    background: rgba(255,255,255,.96);
    max-width: 680px;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 2rem;
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
}
.lc-hero-search input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 1rem 1.25rem; outline: 0; }
.lc-hero-search button { width: 54px; border: 0; border-radius: 999px; background: var(--lc-coral); color: #fff; font-size: 1.15rem; margin: 5px; }

/* Generic sections */
.lc-section { padding-block: clamp(52px, 7vw, 105px); }
.lc-section-soft { background: var(--lc-surface-soft); }
.lc-section-heading { border-bottom: 1px solid var(--lc-line); padding-bottom: 1rem; margin-bottom: 1.5rem; }
.lc-section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.lc-inline-link { font-size: .84rem; font-weight: 650; color: var(--lc-coral); white-space: nowrap; }

/* Destination strip */
.lc-destination-strip { padding-block: 18px 26px; border-bottom: 1px solid var(--lc-line); background: var(--lc-surface); }
.lc-destination-tile { display: block; }
.lc-destination-tile img { display: block; width: 100%; aspect-ratio: 1.55 / 1; object-fit: cover; border-radius: 4px; margin-bottom: .65rem; }
.lc-destination-tile span { display: block; font-family: var(--lc-serif); font-size: 1.05rem; text-align: center; }

/* Cards */
.lc-card,
.lc-comparison-card { background: var(--lc-surface); border: 1px solid var(--lc-line); border-radius: var(--lc-card-radius, var(--lc-radius)); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.lc-card:hover,
.lc-comparison-card:hover { transform: translateY(-4px); box-shadow: var(--lc-shadow); }
.lc-card-media { display: block; overflow: hidden; }
.lc-card-media img,
.lc-comparison-image img { width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; transition: transform .35s ease; }
.lc-card:hover .lc-card-media img,
.lc-comparison-card:hover .lc-comparison-image img { transform: scale(1.025); }
.lc-card-placeholder { aspect-ratio: 1.5 / 1; background: linear-gradient(135deg, var(--lc-sand), var(--lc-surface-soft)); }
.lc-card-body { padding: 1.15rem 1.2rem 1rem; display: flex; flex: 1; flex-direction: column; }
.lc-card-meta { min-height: 24px; font-size: .72rem; color: var(--lc-muted); }
.lc-card-meta a { color: var(--lc-muted); }
.lc-card-title { margin: .55rem 0 .75rem; }
.lc-card-title a:hover { color: var(--lc-coral); }
.lc-card-excerpt { color: var(--lc-muted); font-size: .92rem; line-height: 1.55; }
.lc-card-footer { padding-top: .85rem; color: var(--lc-muted); border-top: 1px solid var(--lc-line); font-size: .72rem; }

.lc-comparison-body { padding: 1.15rem 1.2rem; }
.lc-comparison-body h3 { margin: 0; }
.lc-comparison-stat { display: flex; flex-direction: column; color: var(--lc-muted); font-size: .8rem; }
.lc-comparison-stat strong { color: var(--lc-coral); font-size: 1.18rem; margin-top: .2rem; }
.lc-round-arrow { width: 38px; height: 38px; border-radius: 50%; background: var(--lc-bg); border: 1px solid var(--lc-line); display: grid; place-items: center; }

/* Page / article */
.lc-page-head,
.lc-article-header { padding: clamp(55px, 7vw, 105px) 0 45px; }
.lc-page-head h1,
.lc-article-header h1 { max-width: 1100px; }
.lc-page-intro,
.lc-article-lead { color: var(--lc-muted); font-size: clamp(1.08rem, 1.7vw, 1.35rem); max-width: 860px; }
.lc-byline,
.lc-article-meta,
.lc-breadcrumbs { color: var(--lc-muted); font-size: .82rem; }
.lc-breadcrumbs { display: flex; gap: .5rem; flex-wrap: wrap; }
.lc-article-hero img { display: block; width: 100%; max-height: 780px; object-fit: cover; border-radius: var(--lc-radius); }
.lc-prose { padding-top: clamp(42px, 6vw, 80px); padding-bottom: clamp(55px, 8vw, 110px); font-family: var(--lc-serif); font-size: clamp(1.08rem, 1.5vw, 1.22rem); line-height: 1.82; }
.lc-prose p { margin-bottom: 1.45em; }
.lc-prose h2,
.lc-prose h3 { margin-top: 1.6em; margin-bottom: .7em; }
.lc-prose a { color: var(--lc-coral); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lc-prose blockquote { border-left: 3px solid var(--lc-coral); margin: 2rem 0; padding: .5rem 0 .5rem 1.5rem; font-size: 1.3em; font-style: italic; }
.lc-prose-story > p:first-child::first-letter { float: left; font-size: 4.9rem; line-height: .8; padding: .18rem .55rem 0 0; font-family: var(--lc-serif); }

/* Comparison */
.lc-table-shell { background: var(--lc-surface); border: 1px solid var(--lc-line); border-radius: var(--lc-radius); overflow: hidden; }
.lc-compare-table { --bs-table-bg: transparent; font-size: .86rem; }
.lc-compare-table thead th { background: rgba(11,63,73,.06); color: var(--lc-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--lc-line); padding: 1rem .9rem; white-space: nowrap; }
.lc-compare-table tbody td { padding: 1rem .9rem; border-color: var(--lc-line); }
.lc-compare-table .lc-highlight-col { color: var(--lc-coral); background: rgba(234,90,42,.045); }
.lc-yes { color: #198754; }
.lc-no { color: #c8c8c5; }
.lc-small-label { color: var(--lc-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.lc-methodology { background: var(--lc-surface); border: 1px solid var(--lc-line); border-radius: var(--lc-radius); padding: 1rem 1.2rem; }
.lc-methodology summary { cursor: pointer; font-weight: 700; }
.lc-methodology .lc-prose { padding: 1.2rem 0 0; font-size: 1rem; }

/* Destination hub */
.lc-destination-hero { min-height: 520px; background: var(--lc-petrol); position: relative; overflow: hidden; }
.lc-destination-hero h1 { font-size: clamp(3.4rem, 8vw, 7rem); }
.lc-destination-lead { max-width: 700px; font-size: 1.2rem; }
.lc-destination-facts { background: var(--lc-surface); border-bottom: 1px solid var(--lc-line); }
.lc-fact { min-height: 118px; padding: 1.5rem clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--lc-line); display: flex; flex-direction: column; justify-content: center; }
.lc-fact:last-child { border-right: 0; }
.lc-fact span { color: var(--lc-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
.lc-fact strong { font-family: var(--lc-serif); font-size: 1.15rem; margin-top: .25rem; }

/* Gallery */
.lc-masonry-gallery { columns: 3 320px; column-gap: 12px; }
.lc-gallery-item { break-inside: avoid; margin: 0 0 12px; }
.lc-gallery-item img { display: block; width: 100%; border-radius: 4px; }
.lc-gallery-item figcaption { color: var(--lc-muted); font-size: .74rem; padding: .4rem .15rem .15rem; }
.lc-feature-gallery { display: block; position: relative; min-height: 440px; overflow: hidden; border-radius: var(--lc-radius); background: var(--lc-petrol); }
.lc-feature-gallery img { width: 100%; height: 560px; object-fit: cover; }
.lc-feature-gallery::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,19,23,.78), rgba(3,19,23,.02) 65%); }
.lc-feature-gallery-copy { position: absolute; z-index: 2; left: clamp(24px, 5vw, 70px); bottom: clamp(24px, 5vw, 60px); color: #fff; max-width: 800px; }
.lc-feature-gallery-copy h2 { color: #fff; margin: .4rem 0 .8rem; }

/* Newsletter */
.lc-newsletter { margin-top: 20px; background: var(--lc-petrol); background-size: cover; background-position: center; }
.lc-newsletter-inner { max-width: 800px; margin-inline: auto; padding: clamp(60px, 8vw, 110px) 20px; }
.lc-newsletter-inner h2 { font-size: clamp(2.4rem, 5vw, 4.2rem); }
.lc-newsletter-inner p { max-width: 640px; }
.lc-newsletter-form { max-width: 610px; margin-top: 1.5rem; }
.lc-newsletter-form .form-control { border: 0; min-height: 52px; padding-left: 1rem; }

/* Footer */
.lc-footer { background: #112e34; color: rgba(255,255,255,.78); }
.lc-footer-brand { color: #fff; font-size: 1.65rem; }
.lc-footer-tagline { color: rgba(255,255,255,.58); }
.lc-footer-about { max-width: 530px; }
.lc-footer-title { color: #fff; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .85rem; }
.lc-footer-links li { margin-bottom: .45rem; }
.lc-footer-links a { color: rgba(255,255,255,.68); font-size: .86rem; }
.lc-footer-links a:hover { color: #fff; }
.lc-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); }

/* Pagination / empty */
.lc-pagination .nav-links { display: flex; gap: .4rem; flex-wrap: wrap; }
.lc-pagination .page-numbers { min-width: 38px; height: 38px; border: 1px solid var(--lc-line); display: grid; place-items: center; border-radius: 4px; padding: 0 .6rem; }
.lc-pagination .current { background: var(--lc-petrol); color: #fff; border-color: var(--lc-petrol); }
.lc-empty-state { min-height: 60vh; display: grid; align-items: center; padding-block: 80px; }

@media (max-width: 991.98px) {
    .lc-site-header .navbar { min-height: 62px; }
    .lc-home-hero { min-height: 620px; }
    .lc-fact:nth-child(2) { border-right: 0; }
    .lc-fact { border-bottom: 1px solid var(--lc-line); }
    .lc-destination-hero { min-height: 440px; }
}

@media (max-width: 767.98px) {
    .lc-container-xl { padding-inline: 18px; }
    .lc-home-hero { min-height: 560px; }
    .lc-display { font-size: clamp(3rem, 14vw, 4.5rem); }
    .lc-hero-search { margin-top: 1.25rem; }
    .lc-destination-strip .row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: none; }
    .lc-destination-strip .row::-webkit-scrollbar { display: none; }
    .lc-destination-strip [class*="col-"] { min-width: 155px; }
    .lc-page-head, .lc-article-header { padding-top: 50px; }
    .lc-page-head h1, .lc-article-header h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
    .lc-section-heading { align-items: center !important; }
    .lc-inline-link { font-size: .75rem; }
    .lc-feature-gallery img { height: 440px; }
    .lc-masonry-gallery { columns: 2 145px; }
    .lc-table-shell { margin-inline: -18px; border-radius: 0; border-left: 0; border-right: 0; }
}

/* v0.3 design system additions */
.lc-btn-ghost { border: 1px solid var(--lc-line); background: transparent; color: var(--lc-text); border-radius: 6px; padding: .72rem 1.05rem; font-weight: 650; font-size: .86rem; }
.lc-btn-ghost:hover { border-color: var(--lc-petrol); color: var(--lc-petrol); }
.lc-header-search { border: 0; background: transparent; color: var(--lc-text); }
.lc-section-default { background: var(--lc-bg); }
.lc-section-soft { background: var(--lc-surface-soft); }
.lc-section-dark { background: var(--lc-petrol); color: #fff; }
.lc-section-dark h2, .lc-section-dark h3 { color: #fff; }
.lc-section-surface { background: var(--lc-surface); }

.lc-hero-search-button { border: 0; width: min(680px, 100%); padding: 0; align-items: center; justify-content: space-between; text-align: left; color: var(--lc-muted); }
.lc-hero-search-button > span:first-child { padding: 1rem 1.25rem; }
.lc-search-arrow { width: 54px; height: 54px; margin: 5px; border-radius: 50%; background: var(--lc-coral); color: #fff; display: grid; place-items: center; font-size: 1.15rem; flex: 0 0 auto; }

/* Search */
.lc-search-modal .modal-content { background: var(--lc-bg); }
.lc-search-modal .modal-header { min-height: 80px; }
.lc-search-shell { max-width: 980px; padding-top: clamp(40px, 8vw, 100px); padding-bottom: 80px; }
.lc-live-search-input { width: 100%; background: transparent; border: 0; border-bottom: 2px solid var(--lc-text); padding: .35rem 0 .8rem; font-family: var(--lc-serif); font-size: clamp(2.2rem, 6vw, 5.2rem); line-height: 1.05; outline: 0; color: var(--lc-text); }
.lc-live-search-input::placeholder { color: color-mix(in srgb, var(--lc-text) 30%, transparent); }
.lc-live-search-status { min-height: 30px; padding-top: 1rem; color: var(--lc-muted); font-size: .85rem; }
.lc-search-group { padding: 1.5rem 0; border-top: 1px solid var(--lc-line); }
.lc-search-group-title { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--lc-muted); margin-bottom: .8rem; }
.lc-search-result { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; padding: .65rem 0; align-items: center; }
.lc-search-result img { width: 72px; height: 54px; object-fit: cover; border-radius: 4px; }
.lc-search-result-title { font-family: var(--lc-serif); font-size: 1.15rem; }
.lc-search-result-meta { color: var(--lc-muted); font-size: .78rem; }
.lc-search-destination { display: inline-flex; padding: .55rem .8rem; margin: 0 .4rem .4rem 0; border: 1px solid var(--lc-line); border-radius: 999px; background: var(--lc-surface); }

/* Filters */
.lc-filter-panel { border: 1px solid var(--lc-line); background: var(--lc-surface); border-radius: var(--lc-radius); padding: clamp(18px, 3vw, 32px); margin-bottom: 2rem; }
.lc-filter-panel label { display: block; margin-bottom: .45rem; color: var(--lc-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.lc-filter-panel .form-select { min-height: 48px; background-color: var(--lc-bg); border-color: var(--lc-line); border-radius: 5px; }
.lc-filter-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--lc-line); }
.lc-filter-count { margin-left: auto; color: var(--lc-muted); font-size: .84rem; }
.lc-filter-empty { border: 1px dashed var(--lc-line); padding: 3rem; text-align: center; color: var(--lc-muted); }
.lc-filter-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2rem; }
.lc-filter-page { border: 1px solid var(--lc-line); background: var(--lc-surface); min-width: 40px; height: 40px; border-radius: 4px; }
.lc-filter-page.is-active { background: var(--lc-petrol); color: #fff; border-color: var(--lc-petrol); }
.lc-filter-explorer.is-loading [data-lc-filter-results] { opacity: .45; pointer-events: none; }

/* Repeater content blocks */
.lc-content-image img { width: 100%; max-height: 780px; object-fit: cover; border-radius: var(--lc-radius); }
.lc-content-image figcaption { max-width: 820px; margin: .65rem auto 0; color: var(--lc-muted); font-size: .78rem; }
.lc-editorial-quote { margin: 0; padding: clamp(24px, 5vw, 48px); border-top: 1px solid var(--lc-line); border-bottom: 1px solid var(--lc-line); font-family: var(--lc-serif); font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1.15; }
.lc-editorial-quote cite { display: block; margin-top: 1rem; font-family: var(--lc-sans); font-size: .78rem; font-style: normal; color: var(--lc-muted); }
.lc-fact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); border: 1px solid var(--lc-line); border-radius: var(--lc-radius); overflow: hidden; }
.lc-fact-card { padding: 1.2rem 1.4rem; background: var(--lc-surface); border-right: 1px solid var(--lc-line); }
.lc-fact-card:last-child { border-right: 0; }
.lc-fact-card span, .lc-fact-card small { display: block; color: var(--lc-muted); }
.lc-fact-card span { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.lc-fact-card strong { display: block; margin: .25rem 0; font-family: var(--lc-serif); font-size: 1.25rem; }
.lc-fact-card small { font-size: .75rem; }

/* Shortcode modules */
.lc-lifetrek-cta { display: flex; gap: 2rem; align-items: center; justify-content: space-between; background: var(--lc-surface-soft); border-left: 4px solid var(--lc-coral); padding: clamp(22px, 4vw, 38px); margin: 2rem 0; }
.lc-lifetrek-cta h3 { margin: 0 0 .35rem; }
.lc-lifetrek-cta p { margin: 0; color: var(--lc-muted); }
.lc-price-box { display: inline-flex; min-width: 190px; flex-direction: column; padding: 1rem 1.15rem; border: 1px solid var(--lc-line); background: var(--lc-surface); border-radius: var(--lc-radius); }
.lc-price-box span, .lc-price-box small { color: var(--lc-muted); font-size: .72rem; }
.lc-price-box strong { font-family: var(--lc-serif); font-size: 1.6rem; color: var(--lc-coral); }
.lc-inline-search { position: relative; }
.lc-inline-search > input { width: 100%; min-height: 54px; border: 1px solid var(--lc-line); background: var(--lc-surface); padding: 0 1rem; border-radius: 999px; }

/* Lightbox */
.lc-lightbox { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; background: rgba(3,16,19,.94); padding: 28px; }
.lc-lightbox[hidden] { display: none; }
.lc-lightbox img { max-width: min(1400px, 95vw); max-height: 90vh; object-fit: contain; }
.lc-lightbox-close { position: fixed; top: 20px; right: 20px; border: 0; background: #fff; color: #111; width: 42px; height: 42px; border-radius: 50%; font-size: 1.25rem; }

@media (max-width: 767.98px) {
    .lc-search-modal .modal-header { min-height: 62px; }
    .lc-search-shell { padding-top: 35px; }
    .lc-live-search-input { font-size: clamp(2rem, 11vw, 3.4rem); }
    .lc-lifetrek-cta { align-items: stretch; flex-direction: column; }
    .lc-filter-count { width: 100%; margin-left: 0; }
    .lc-fact-card { border-right: 0; border-bottom: 1px solid var(--lc-line); }
}

/* Accessibility color overrides: coral is decorative/accent; dark coral carries small white/text UI. */
a:hover, .lc-kicker, .lc-inline-link, .lc-card-title a:hover, .lc-prose a { color: var(--lc-coral-dark); }
.lc-btn-primary { background: var(--lc-coral-dark); color: #fff; }
.lc-btn-primary:hover { background: var(--lc-petrol); color: #fff; }
.lc-offer-detail { border: 1px solid var(--lc-line); background: var(--lc-surface); border-radius: var(--lc-radius); overflow: hidden; }
.lc-offer-detail summary { cursor: pointer; list-style: none; padding: 1rem 1.2rem; display: flex; gap: .7rem; flex-direction: column; }
.lc-offer-detail summary::-webkit-details-marker { display: none; }
.lc-offer-detail summary span { color: var(--lc-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.lc-offer-detail summary strong { font-family: var(--lc-serif); font-size: 1.15rem; }
.lc-offer-detail-body { border-top: 1px solid var(--lc-line); padding: 1.1rem 1.2rem 1.3rem; }
.lc-offer-detail-body h4 { margin: 1rem 0 .6rem; font-family: var(--lc-sans); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--lc-muted); }
.lc-offer-meta { display: grid; gap: .55rem; margin: 0; }
.lc-offer-meta > div { display: grid; grid-template-columns: 120px 1fr; gap: .8rem; }
.lc-offer-meta dt { color: var(--lc-muted); font-size: .78rem; }
.lc-offer-meta dd { margin: 0; font-size: .88rem; }
.lc-offer-list { list-style: none; padding: 0; margin: 0; }
.lc-offer-list li { display: grid; grid-template-columns: 24px 1fr; gap: .55rem; padding: .5rem 0; border-top: 1px solid var(--lc-line); }
.lc-offer-list li > span { color: var(--lc-coral-dark); font-weight: 700; }
.lc-offer-list strong, .lc-offer-list small { display: block; }
.lc-offer-list small { color: var(--lc-muted); font-size: .76rem; margin-top: .15rem; }

/* v0.4.2: editorial feature, scoped MailerLite embed, and keyboard access. */
.lc-featured-story img { display:block; width:100%; aspect-ratio:1.65; object-fit:cover; }
.lc-featured-story h2 { font-size:clamp(2rem,4vw,3.8rem); }
.lc-gallery-group + .lc-gallery-group { margin-top:2rem; }
.lc-skip-link { position:fixed; left:1rem; top:-100px; z-index:3000; padding:.7rem 1rem; background:var(--lc-petrol); color:#fff; }
.lc-skip-link:focus { top:1rem; color:#fff; }
:focus-visible { outline:3px solid var(--lc-coral-dark); outline-offset:4px; }
h1,h2,h3,.lc-search-result-title { overflow-wrap:anywhere; }
.lc-filter-pagination { flex-wrap:wrap; }
.lc-search-result > span { min-width:0; }
.lc-search-result-title,.lc-search-result-meta { display:block; }
.lc-home-hero > .lc-container-xl,.lc-destination-hero > .lc-container-xl { min-height:inherit; }
.lc-home-hero > .lc-container-xl > .row,.lc-destination-hero > .lc-container-xl > .row { min-height:inherit; }
.lc-lightbox { grid-template-rows:1fr auto; }
.lc-lightbox img { max-height:80vh; }
.lc-lightbox-caption { color:#fff; text-align:center; font-size:.85rem; padding:1rem 3rem 0; }
.lc-lightbox-prev,.lc-lightbox-next { position:fixed; top:50%; border:1px solid rgba(255,255,255,.4); border-radius:50%; width:44px; height:44px; color:#fff; background:var(--lc-petrol); font-size:1.6rem; }
.lc-lightbox-prev { left:12px; } .lc-lightbox-next { right:12px; }
[data-lc-newsletter] .ml-form-embedWrapper { background:transparent!important; width:100%!important; max-width:610px!important; }
[data-lc-newsletter] .ml-form-embedBody { padding:0!important; }
[data-lc-newsletter] .ml-form-embedBody .ml-form-embedContent { display:none!important; }
[data-lc-newsletter] .ml-form-embedBody .ml-form-fieldRow input { background:var(--lc-surface)!important; color:var(--lc-text)!important; font-family:var(--lc-sans)!important; min-height:54px; border-radius:var(--lc-button-radius,6px)!important; }
[data-lc-newsletter] .ml-form-embedBody .ml-form-embedSubmit button { background:var(--lc-coral-dark)!important; color:#fff!important; font-family:var(--lc-sans)!important; min-height:54px; border-radius:var(--lc-button-radius,6px)!important; }
[data-lc-newsletter] .ml-form-embedBody .ml-form-embedSubmit button:hover { background:var(--lc-petrol-dark)!important; }
[data-lc-newsletter] .ml-form-successBody { background:transparent!important; padding:1.5rem 0!important; }
[data-lc-newsletter] .ml-form-successContent h4,[data-lc-newsletter] .ml-form-successContent p,[data-lc-newsletter] .ml-form-embedBody .ml-form-embedPermissionsContent p,[data-lc-newsletter] .ml-form-embedBody .ml-form-embedPermissionsContent a { color:#fff!important; }
@media (max-width:575.98px) { .lc-brand { font-size:1.15rem; } .lc-lightbox { padding:16px 50px; } .lc-lightbox-caption { padding-inline:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .lc-card,.lc-comparison-card,.lc-card-media img,.lc-comparison-image img { transition:none; } }
