/* Lejecenter visual system (TASK-1320, 2026-10-03).
   Aftenhimmel (navy) + lyskæde (amber) + signalblå: the colours of a tent party at dusk, taken from
   the site's own photos. One display face (Bricolage Grotesque) for headings, Inter for everything else.
   Loaded after style.css on the pages that use it; everything here is scoped to lc-* classes or to
   sections that already exist, so a page without these classes is unchanged. */

:root {
    --lc-night: #14224a;        /* aftenhimmel: hero, headings on light */
    --lc-night-2: #1c2f63;
    --lc-amber: #ffb627;        /* lyskæde: the one call to action */
    --lc-amber-hover: #ffc54f;
    --lc-blue: #2563eb;         /* links, brand */
    --lc-ink: #0f172a;
    --lc-slate: #475569;
    --lc-mist: #f3f6fb;         /* alternating section background */
    --lc-line: #dfe5ef;
    --lc-display: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
    --lc-step--1: 0.875rem;
    --lc-step-0: 1rem;
    --lc-step-1: 1.25rem;
    --lc-step-2: 1.5625rem;
    --lc-step-3: clamp(1.75rem, 1.4rem + 1.4vw, 2.4rem);
    --lc-step-4: clamp(2.1rem, 1.5rem + 2.8vw, 3.6rem);
    --lc-radius: 14px;
    --lc-radius-sm: 8px;
    --lc-shadow: 0 18px 40px -22px rgba(20, 34, 74, .45);
    --lc-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Buttons ---------- */
.lc-btn {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    min-height: 48px; padding: .75rem 1.35rem;
    border-radius: 999px; border: 2px solid transparent;
    font: 700 1rem/1.2 "Inter", system-ui, sans-serif; text-decoration: none; cursor: pointer;
    transition: transform .18s var(--lc-ease), background-color .18s, box-shadow .18s;
}
.lc-btn--amber { background: var(--lc-amber); color: var(--lc-night); box-shadow: 0 6px 18px -8px rgba(255, 182, 39, .9); }
.lc-btn--amber:hover { background: var(--lc-amber-hover); color: var(--lc-night); transform: translateY(-1px); }
.lc-btn--line { background: transparent; color: var(--lc-night); border-color: var(--lc-night); }
.lc-btn--line:hover { background: var(--lc-night); color: #fff; }
.lc-btn:focus-visible, .lc-hero a:focus-visible, .season-block a:focus-visible, .lc-steps a:focus-visible {
    outline: 3px solid var(--lc-amber); outline-offset: 3px;
}

/* ---------- Hero ---------- */
.lc-hero {
    position: relative; overflow: hidden; color: #fff; padding: 0; text-align: left;
    background:
        radial-gradient(60rem 30rem at 85% -10%, rgba(255, 182, 39, .22), transparent 60%),
        linear-gradient(180deg, var(--lc-night) 0%, var(--lc-night-2) 100%);
}
.lc-hero__inner {
    max-width: 1200px; margin: 0 auto; padding: 2.25rem 1rem 2.5rem;
    display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr);
}
.lc-hero__title {
    font-family: var(--lc-display); font-weight: 800; font-size: var(--lc-step-4);
    line-height: 1.02; letter-spacing: -.02em; margin: 0 0 .75rem; color: #fff; max-width: 14ch;
    text-wrap: balance;
}
.lc-hero__sub { margin: 0 0 1.25rem; font-size: 1.0625rem; line-height: 1.5; color: rgba(255, 255, 255, .82); max-width: 40ch; }
.lc-hero__browse { margin: 1rem 0 0; font-size: var(--lc-step--1); color: rgba(255, 255, 255, .75); }
.lc-hero__browse a { color: #fff; font-weight: 600; text-underline-offset: 3px; }
/* TASK-4013 (QA V11, kategoriside-v3.md § 8): the hero in the v3 identity - paper, a navy title with the amber marker, Philip's band */
.lc-hero { color: #1C2033; background: radial-gradient(60rem 30rem at 85% -10%, rgba(245, 158, 11, .14), transparent 60%), #FBF8F3; }
.lc-hero__title { color: #172554; max-width: 20ch; }
@media (max-width: 480px) { .lc-hero__title { font-size: 2.15rem; } }
.lc-hero__sub, .lc-hero__browse { color: #555B6D; }
.lc-hero__browse a { color: #172554; }
.lc-hero .agent-hero-card { box-shadow: 0 1px 2px rgba(28, 32, 51, .06), 0 8px 24px rgba(28, 32, 51, .08); }
.lc-hero__kicker { margin: 0 0 .5rem; font-weight: 600; font-size: .8rem; line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; color: #C2412A; }
.lc-mark { background: linear-gradient(#FCE3A6, #FCE3A6) 0 100% / 100% 38% no-repeat; }
.lc-hostband { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; margin: 0 0 1rem; color: #1C2033; text-decoration: none; }
.lc-hostband__photo { width: 44px; height: 44px; border-radius: 50%; box-shadow: 0 0 0 3px #F59E0B; object-fit: cover; flex: none; }
.lc-hostband__text { display: flex; flex-direction: column; line-height: 1.35; font-size: .95rem; }
.lc-hostband__text strong { color: #172554; }
.lc-hostband__text span { color: #555B6D; font-size: .875rem; }
.lc-hostband:hover strong { text-decoration: underline; }
@media (max-width: 600px) { .lc-hero__kicker { display: none; } }

/* the form card keeps all its markup and behaviour; only its skin changes here */
.lc-hero .agent-hero-card {
    border: 0; border-radius: var(--lc-radius); padding: 1.25rem 1.1rem 1.1rem;
    box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .55); color: var(--lc-ink);
}
.lc-hero .agent-hero-card__title { font-family: var(--lc-display); font-size: 1.35rem; font-weight: 800; color: var(--lc-night); text-align: left; }
.lc-hero .agent-hero-card__intro { text-align: left; margin-bottom: .8rem; }
.lc-hero .agent-hero-card__step-label { text-align: left; }
.lc-hero .agent-hero-card__progress { justify-content: flex-start; }
.lc-hero .agent-hero-card__textarea { font-size: 1rem; min-height: 96px; border: 2px solid var(--lc-line); border-radius: 10px; padding: .7rem .8rem; }
.lc-hero .agent-hero-card__textarea:focus { border-color: var(--lc-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, .18); }
.agent-hero-card__button--primary.lc-cta,
.lc-hero .agent-hero-card__button--primary {
    background: var(--lc-amber); border-color: var(--lc-amber); color: var(--lc-night);
    font-weight: 800; border-radius: 999px; min-height: 46px; padding-inline: 1.4rem;
}
.lc-hero .agent-hero-card__button--primary:hover { background: var(--lc-amber-hover); border-color: var(--lc-amber-hover); box-shadow: 0 6px 18px -8px rgba(255, 182, 39, .9); }
.lc-hero .agent-hero-card__example { border-radius: 999px; }

/* trust: numbers from data (build-home-stats.py) */
.lc-trust { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.lc-trust li { display: flex; flex-direction: column; min-width: 7rem; }
.lc-trust__n { font-family: var(--lc-display); font-weight: 800; font-size: 1.6rem; line-height: 1.1; color: #172554; }
.lc-trust__l { font-size: var(--lc-step--1); color: #555B6D; }
.lc-trust a { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: .1rem; }
.lc-trust a:hover .lc-trust__l { text-decoration: underline; }

/* photo stack: real occasions, each one a link */
.lc-hero__photos { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: center; }
.lc-photo { position: relative; display: block; border-radius: var(--lc-radius); overflow: hidden; color: #fff; text-decoration: none; background: #0b1530; }
.lc-photo img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5; transition: transform .5s var(--lc-ease); }
.lc-photo__cap {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem .7rem .6rem;
    font-weight: 700; font-size: .85rem; line-height: 1.25;
    background: linear-gradient(180deg, transparent, rgba(10, 17, 40, .85));
}
.lc-photo:hover img { transform: scale(1.04); }

@media (min-width: 960px) {
    .lc-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 3rem; padding: 3.5rem 1.5rem 4rem; }
    .lc-hero__photos { grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; height: 560px; }
    .lc-photo img { aspect-ratio: auto; }
    .lc-photo--big { grid-row: 1 / span 2; }
    .lc-photo--big .lc-photo__cap { font-size: 1rem; padding: 2.5rem 1rem 1rem; }
    .lc-hero .agent-hero-card { padding: 1.5rem 1.4rem 1.25rem; }
}
@media (max-width: 959px) {
    .lc-hero__photos .lc-photo img { aspect-ratio: 3 / 4; }
}
@media (max-width: 480px) {
    .lc-hero__inner { padding-top: 1.5rem; gap: 1.5rem; }
    .lc-hero__sub { font-size: 1rem; margin-bottom: 1rem; }
    .lc-hero .agent-hero-card__intro { display: none; }
    .lc-hero .agent-hero-card__textarea { min-height: 84px; }
    .lc-trust li { min-width: 0; flex: 1 1 30%; }
    .lc-trust__n { font-size: 1.35rem; }
}

/* ---------- Section headings ---------- */
.lc-h2, .home .season-block__title, .home .homepage-categories__title, .home .homepage-festplan__title,
.home .homepage-areas__title, .home .agent-cta__title {
    font-family: var(--lc-display); font-weight: 800; font-size: var(--lc-step-3);
    letter-spacing: -.015em; line-height: 1.1; color: var(--lc-night);
    overflow-wrap: break-word; /* a long compound ("festplanlægningen") must not widen the page at 320 px */
}

/* ---------- Season block: image cards (build-season-block.py) ---------- */
.season-block { background: #fff; padding: 0; }
.season-block .container { padding-top: 3rem; padding-bottom: 1rem; }
.season-block__title { margin: 0 0 1.25rem; text-align: left; }
.season-block__grid { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .season-block__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.season-block__card {
    display: flex; flex-direction: column; background: #fff; border: 1px solid var(--lc-line);
    border-radius: var(--lc-radius); overflow: hidden; box-shadow: var(--lc-shadow); padding: 0;
    border-left: 1px solid var(--lc-line);
}
.season-block__media { position: relative; display: block; overflow: hidden; background: var(--lc-mist); }
.season-block__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s var(--lc-ease); }
.season-block__card:hover .season-block__media img { transform: scale(1.03); }
.season-block__label {
    position: absolute; left: .9rem; top: .9rem; margin: 0; padding: .35rem .8rem; border-radius: 999px;
    background: var(--lc-night); color: #fff; font-family: var(--lc-display); font-weight: 800; font-size: 1.05rem;
}
.season-block__body { display: flex; flex-direction: column; gap: .75rem; padding: 1.1rem 1.2rem 1.25rem; flex: 1; }
.season-block__text { margin: 0; color: var(--lc-slate); line-height: 1.55; }
.season-block__price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; color: var(--lc-ink); }
.season-block__price strong { font-family: var(--lc-display); font-size: 1.35rem; font-weight: 800; color: var(--lc-night); }
.season-block__price small { color: var(--lc-slate); font-size: .8rem; }
.season-block__cta { align-self: flex-start; margin-top: auto; }
.season-block__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .9rem; font-size: .92rem; }
.season-block__links a { color: var(--lc-blue); font-weight: 600; text-underline-offset: 3px; }
/* TASK-1393: the whole occasion - what to rent, one total for a stated guest count, a button that fills the form */
.season-block__needs-k { margin: 0 0 -.35rem; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lc-slate); }
.season-block__needs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.season-block__needs li { background: var(--lc-mist); border: 1px solid var(--lc-line); border-radius: 999px; padding: .2rem .65rem; font-size: .85rem; color: var(--lc-night); }
.season-block__estimate { background: var(--lc-night); color: #fff; border-radius: var(--lc-radius-sm); padding: .85rem 1rem; }
.season-block__estimate p { margin: 0; }
.season-block__estimate-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .55rem; font-size: .9rem; color: rgba(255, 255, 255, .85); }
.season-block__estimate-head strong { font-family: var(--lc-display); font-size: 1.6rem; font-weight: 800; color: var(--lc-amber); line-height: 1.15; }
.season-block__estimate .season-block__estimate-range { margin-top: .2rem; font-size: .88rem; color: #fff; }
.season-block__estimate .season-block__estimate-note { margin-top: .45rem; font-size: .78rem; line-height: 1.45; color: rgba(255, 255, 255, .75); }
.season-block__estimate-note a { color: #fff; font-weight: 700; text-underline-offset: 3px; }
.season-block__estimate a:focus-visible { outline-color: var(--lc-amber); }
/* homepage tiles after order value (TASK-1393): small items as accessories below the grid */
.home-tilbehoer { margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; }
.home-tilbehoer__k { font-weight: 700; color: var(--lc-night); margin-right: .25rem; }
.home-tilbehoer a { display: inline-block; border: 1px solid var(--lc-line); border-radius: 999px; padding: .3rem .8rem; font-size: .9rem; color: var(--lc-night); text-decoration: none; background: #fff; }
.home-tilbehoer a:hover { border-color: var(--lc-night); }
.home-tilbehoer a:focus-visible { outline: 3px solid var(--lc-amber); outline-offset: 2px; }

/* ---------- How it works: 3 steps ---------- */
.lc-steps { background: var(--lc-mist); }
.lc-steps__inner { max-width: 1200px; margin: 0 auto; padding: 3rem 1rem; }
.lc-steps__list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); counter-reset: lcstep; }
@media (min-width: 760px) { .lc-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
.lc-steps__item { counter-increment: lcstep; position: relative; background: #fff; border-radius: var(--lc-radius); padding: 1.25rem 1.25rem 1.25rem 4.25rem; border: 1px solid var(--lc-line); }
.lc-steps__item::before {
    content: counter(lcstep); position: absolute; left: 1.1rem; top: 1.1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%;
    display: grid; place-items: center; background: var(--lc-amber); color: var(--lc-night); font: 800 1.1rem/1 var(--lc-display);
}
.lc-steps__item h3 { margin: 0 0 .3rem; font-family: var(--lc-display); font-size: 1.15rem; font-weight: 800; color: var(--lc-night); }
.lc-steps__item p { margin: 0; color: var(--lc-slate); line-height: 1.5; font-size: .95rem; }
.lc-steps__cta { margin: 1.5rem 0 0; }
.lc-steps__note { margin: 1rem 0 0; color: var(--lc-slate); font-size: .875rem; max-width: 70ch; }

/* ---------- Homepage sections that already exist ---------- */
.home .homepage-categories__title { text-align: left; }
.home .category-masonry__item { border-radius: var(--lc-radius); }
.home .category-masonry__image img { transition: transform .5s var(--lc-ease); }
.home .category-masonry__item:hover .category-masonry__image img { transform: scale(1.05); }
.home .category-masonry__overlay { background: linear-gradient(180deg, rgba(10, 17, 40, 0) 35%, rgba(10, 17, 40, .82) 100%); }
.home .category-masonry__title { font-family: var(--lc-display); font-weight: 800; font-size: 1.4rem; letter-spacing: -.01em; }
.home .category-masonry picture { display: block; width: 100%; height: 100%; }
.home .homepage-festplan { background: var(--lc-mist); }
.home .homepage-festplan__title, .home .homepage-festplan__intro, .home .homepage-areas__title, .home .homepage-areas__subtitle { text-align: left; }
.home .homepage-festplan__card { border-radius: var(--lc-radius); border-color: var(--lc-line); transition: transform .18s var(--lc-ease), box-shadow .18s; }
.home .homepage-festplan__card:hover { transform: translateY(-2px); box-shadow: var(--lc-shadow); }
.home .homepage-festplan__card-icon { color: var(--lc-night); }
.home .homepage-area-card { border-radius: var(--lc-radius); }
.home .homepage-areas__grid { max-width: none; margin: 0; }
.home .agent-cta--full { background: var(--lc-night); }
.home .agent-cta--full .agent-cta__title { color: #fff; }
.home .agent-cta--full .agent-cta__intro, .home .agent-cta--full .agent-cta__step-text, .home .agent-cta--full .agent-cta__note { color: rgba(255, 255, 255, .85); }
.home .agent-cta--full .agent-cta__step-number { background: var(--lc-amber); color: var(--lc-night); }
.home .agent-cta--full .agent-hero-card__button--primary { background: var(--lc-amber); border-color: var(--lc-amber); color: var(--lc-night); font-weight: 800; border-radius: 999px; }

@media (prefers-reduced-motion: reduce) {
    .lc-btn, .lc-photo img, .season-block__media img, .home .category-masonry__image img, .home .homepage-festplan__card { transition: none; }
    .lc-photo:hover img, .season-block__card:hover .season-block__media img, .home .category-masonry__item:hover .category-masonry__image img { transform: none; }
}

/* ==========================================================================
   Forside v2 (TASK-1395, UX 2026-10-03): the homepage sells the solution.
   Blocks are written by scripts/build-home-v2.py; mobile first.
   ========================================================================== */
.lc-wrap { max-width: 1200px; margin: 0 auto; padding: 3rem 1rem; }
.lc-lead { margin: .6rem 0 0; color: var(--lc-slate); font-size: 1.0625rem; line-height: 1.55; max-width: 62ch; }
.lc-eyebrow { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lc-blue); }
.lc-h2 { margin: 0; }
.lc-h3 { font-family: var(--lc-display); font-weight: 800; font-size: var(--lc-step-2); line-height: 1.15; color: var(--lc-night); margin: 0; }
.lc-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lc-more { margin: 1.25rem 0 0; }
.lc-more a, .lc-prop__more a { color: var(--lc-blue); font-weight: 700; text-underline-offset: 3px; }
.lc-btn--line { min-height: 44px; }

/* hero: three promises under the sub line */
.lc-hero__ticks { list-style: none; margin: -.25rem 0 1.25rem; padding: 0; display: grid; gap: .35rem; color: #fff; font-size: .98rem; }
.lc-hero__ticks li { position: relative; padding-left: 1.6rem; line-height: 1.4; }
.lc-hero__ticks li::before, .lc-ticks li::before {
    content: ""; position: absolute; left: 0; top: .2em; width: 1.05rem; height: 1.05rem; border-radius: 50%;
    background: var(--lc-amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2314224a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}

/* (b) occasions: big cards */
.lc-occ { background: #fff; }
.lc-occ__grid { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .lc-occ__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } }
@media (min-width: 1000px) { .lc-occ__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lc-occ__card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); overflow: hidden; box-shadow: var(--lc-shadow); }
.lc-occ__media { display: block; overflow: hidden; background: #0b1530; }
.lc-occ__media picture { display: block; }
.lc-occ__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s var(--lc-ease); }
.lc-occ__card:hover .lc-occ__media img { transform: scale(1.04); }
.lc-occ__body { display: flex; flex-direction: column; gap: .5rem; padding: 1rem 1.1rem 1.15rem; flex: 1; }
.lc-occ__label { margin: 0; font-family: var(--lc-display); font-weight: 800; font-size: 1.35rem; line-height: 1.15; }
.lc-occ__label a { color: var(--lc-night); text-decoration: none; }
.lc-occ__label a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lc-occ__line { margin: 0; color: var(--lc-slate); line-height: 1.5; }
.lc-occ__fill { align-self: flex-start; margin-top: auto; padding: .55rem 1.1rem; font-size: .95rem; }

/* (c) a real solution proposal */
.lc-prop { background: #fff; }
.home .season-block { background: var(--lc-mist); }
.home .season-block .container { padding-bottom: 3rem; }
.lc-prop__inner { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .lc-prop__inner { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; gap: 2.5rem; } }
.lc-prop__tablewrap { margin-top: 1.25rem; background: #fff; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); overflow: hidden; box-shadow: var(--lc-shadow); }
.lc-prop__table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.lc-prop__table th, .lc-prop__table td { padding: .65rem .85rem; text-align: left; border-bottom: 1px solid var(--lc-line); vertical-align: top; }
.lc-prop__table thead th { background: var(--lc-night); color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.lc-prop__table tbody th { font-weight: 700; color: var(--lc-ink); }
.lc-prop__table td { color: var(--lc-slate); }
.lc-prop__table td:last-child, .lc-prop__table thead th:last-child { text-align: right; white-space: nowrap; color: var(--lc-ink); }
.lc-prop__table thead th:last-child { color: #fff; }
.lc-prop__sum th, .lc-prop__sum td { background: #fff7e6; font-family: var(--lc-display); font-weight: 800; font-size: 1.15rem; color: var(--lc-night) !important; }
.lc-prop__opthead th { background: var(--lc-mist); color: var(--lc-slate); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding-top: .8rem; }
.lc-prop__opt th, .lc-prop__opt td { color: var(--lc-slate) !important; font-weight: 500; }
.lc-prop__opt td[colspan] { text-align: left !important; }
.lc-prop__table tbody:last-child tr:last-child th, .lc-prop__table tbody:last-child tr:last-child td { border-bottom: 0; }
.lc-prop__note { margin: .75rem 0 0; font-size: .8rem; line-height: 1.5; color: var(--lc-slate); }
.lc-prop__aside { background: var(--lc-night); color: #fff; border-radius: var(--lc-radius); padding: 1.4rem 1.3rem; }
@media (min-width: 960px) { .lc-prop__aside { position: sticky; top: 96px; margin-top: 3.2rem; } }
.lc-prop__aside h3 { margin: 0 0 .75rem; font-family: var(--lc-display); font-weight: 800; font-size: 1.3rem; color: #fff; }
.lc-ticks { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .55rem; }
.lc-ticks li { position: relative; padding-left: 1.6rem; line-height: 1.45; color: rgba(255, 255, 255, .9); }
.lc-prop__more { margin: 1rem 0 0; font-size: .92rem; }
.lc-prop__aside .lc-prop__more a { color: #fff; }
@media (max-width: 480px) {
    .lc-prop__table th, .lc-prop__table td { padding: .55rem .6rem; font-size: .88rem; }
    .lc-prop__table td:nth-child(2) { font-size: .82rem; }
}

/* (d) cases */
.lc-cases { background: #fff; }
.lc-cases__grid { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 860px) { .lc-cases__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
.lc-cases__card { display: flex; flex-direction: column; gap: .5rem; padding: 1.2rem 1.2rem 1.25rem; border: 1px solid var(--lc-line); border-top: 4px solid var(--lc-amber); border-radius: var(--lc-radius); background: #fff; }
.lc-cases__facts { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lc-blue); }
.lc-cases__title { margin: 0; font-family: var(--lc-display); font-weight: 800; font-size: 1.2rem; line-height: 1.2; }
.lc-cases__title a { color: var(--lc-night); text-decoration: none; }
.lc-cases__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lc-cases__sum { margin: 0; color: var(--lc-slate); line-height: 1.5; font-size: .95rem; }
.lc-cases__price { margin: 0; font-weight: 700; color: var(--lc-ink); }
.lc-cases__by { margin: auto 0 0; padding-top: .5rem; font-size: .85rem; color: var(--lc-slate); }

/* (e) categories, compact */
.lc-cats { background: var(--lc-mist); }
.lc-cats .lc-wrap { padding-top: 2.25rem; padding-bottom: 2.25rem; }
.lc-cats__list { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.lc-cats__list a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 1rem; border-radius: 999px; background: #fff; border: 1px solid var(--lc-line); color: var(--lc-night); font-weight: 600; text-decoration: none; box-sizing: border-box; }
.lc-cats__list a:hover { border-color: var(--lc-night); }
.lc-cats__all a { background: transparent; border-color: transparent; color: var(--lc-blue); }

/* (g) one line for vendors */
.lc-vend { background: #fff; border-top: 1px solid var(--lc-line); }
.lc-vend__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.lc-vend__inner p { margin: 0; color: var(--lc-ink); max-width: 70ch; }

.lc-occ a:focus-visible, .lc-occ button:focus-visible, .lc-prop a:focus-visible, .lc-prop button:focus-visible,
.lc-cases a:focus-visible, .lc-cats a:focus-visible, .lc-vend a:focus-visible { outline: 3px solid var(--lc-blue); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .lc-occ__media img { transition: none; }
    .lc-occ__card:hover .lc-occ__media img { transform: none; }
}
/* mobile: occasion cards side by side with their photo, so six occasions fit in about two screens */
@media (max-width: 639px) {
    .lc-occ__card { flex-direction: row; }
    .lc-occ__media { flex: 0 0 36%; }
    .lc-occ__media picture { height: 100%; }
    .lc-occ__media img { height: 100%; aspect-ratio: auto; }
    .lc-occ__body { padding: .8rem .9rem .9rem; gap: .35rem; }
    .lc-occ__label { font-size: 1.15rem; }
    .lc-occ__line { font-size: .9rem; line-height: 1.4; }
    .lc-occ__fill { padding: .35rem .9rem; font-size: .88rem; }
}
.season-block__addons { margin: 0; font-size: .85rem; line-height: 1.5; color: var(--lc-slate); }
