/* Theme kit: "Lagoon Arcade" (Las Olas Isles). Venetian-lagoon single-family look: deep lagoon green, warm stucco
   paper, dusty-rose and oxblood accents. Soft arches instead of corners: arched card tops, arched hero plate, pill
   buttons, a colonnade of arches in the stats strip. Fraunces headings, Source Sans 3 body.
   Loaded only on sites whose config sets themeKit.name = 'lagoon-arcade' (Base.astro); every rule is scoped to
   html[data-theme="lagoon-arcade"], so other sites are unaffected even if this file were loaded.
   Fonts: SIL Open Font License 1.1 (see fonts/OFL-*.txt), self-hosted from @fontsource. */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/fraunces-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/fraunces-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/source-sans-3-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/source-sans-3-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/source-sans-3-latin-600-normal.woff2) format('woff2'); }

html[data-theme="lagoon-arcade"] {
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sans: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --radius: 18px; --radius-sm: 12px; --pill: 999px;
  --arch: 999px 999px 18px 18px;
  --surface: #fffdf8;
  --shadow: 0 14px 30px -22px rgba(23, 58, 49, .45);
}
html[data-theme="lagoon-arcade"] body { background: var(--paper); font-size: 1.06rem; }
html[data-theme="lagoon-arcade"] h1, html[data-theme="lagoon-arcade"] h2, html[data-theme="lagoon-arcade"] h3 { font-weight: 600; letter-spacing: -.01em; line-height: 1.12; }
html[data-theme="lagoon-arcade"] h1 { font-size: clamp(2.3rem, 4.8vw, 3.6rem); }
html[data-theme="lagoon-arcade"] .main h2::after { content: ""; display: block; width: 46px; height: 23px; margin-top: .55rem; border: 2px solid var(--coral); border-bottom: 0; border-radius: 46px 46px 0 0; }
html[data-theme="lagoon-arcade"] .eyebrow { font: 600 .78rem/1 var(--sans); letter-spacing: .16em; color: var(--coral-deep); }
html[data-theme="lagoon-arcade"] .answer { font: italic 400 1.2rem/1.6 var(--serif); }
html[data-theme="lagoon-arcade"] a:hover { text-decoration-color: var(--coral-deep); }

/* Header: stucco bar, thin double rule */
html[data-theme="lagoon-arcade"] .site-header { background: color-mix(in srgb, var(--paper) 94%, transparent); border-bottom: 1px solid var(--driftwood); box-shadow: 0 3px 0 -1px var(--paper), 0 4px 0 -1px var(--line); }
html[data-theme="lagoon-arcade"] .site-header__title { font: 600 1.28rem/1.1 var(--serif); letter-spacing: 0; }
html[data-theme="lagoon-arcade"] .primary-nav a { font-weight: 600; }
html[data-theme="lagoon-arcade"] .primary-nav a:hover { border-bottom-color: var(--coral); }
html[data-theme="lagoon-arcade"] .primary-nav a[aria-current="page"] { border-bottom-color: var(--coral-deep); color: var(--ink); }

/* Buttons: lagoon-green pills, white text; hover oxblood */
html[data-theme="lagoon-arcade"] .btn { color: #fff; border-radius: var(--pill); letter-spacing: .06em; font-family: var(--sans); box-shadow: none; }
html[data-theme="lagoon-arcade"] .btn:hover { color: #fff; transform: none; }
html[data-theme="lagoon-arcade"] .btn--small { color: #fff !important; border-radius: var(--pill); }
html[data-theme="lagoon-arcade"] .btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
html[data-theme="lagoon-arcade"] .btn--ghost:hover { background: var(--ink); color: #fff; }

/* Tables: soft rounded frame, stucco heads */
html[data-theme="lagoon-arcade"] .table-wrap, html[data-theme="lagoon-arcade"] table { background: var(--surface); }
html[data-theme="lagoon-arcade"] .table-wrap { border: 1px solid var(--driftwood); border-radius: var(--radius-sm); }
html[data-theme="lagoon-arcade"] .prose table { border: 1px solid var(--driftwood); border-radius: var(--radius-sm); }
html[data-theme="lagoon-arcade"] th { background: var(--paper-alt); color: var(--ink); font-weight: 600; }

/* Cards: arched tops, like a Venetian window */
html[data-theme="lagoon-arcade"] .card { background: var(--surface); border: 1px solid var(--line); border-radius: 160px 160px var(--radius) var(--radius); padding: 2.4rem 1.4rem 1.3rem; text-align: center; box-shadow: var(--shadow); }
html[data-theme="lagoon-arcade"] .card::before { display: none; }
html[data-theme="lagoon-arcade"] a.card:hover { border-color: var(--coral); transform: translateY(-2px); }
html[data-theme="lagoon-arcade"] .note { border-left: 0; border-top: 3px solid var(--coral); background: var(--paper-alt); border-radius: 0 0 var(--radius) var(--radius); }
html[data-theme="lagoon-arcade"] .from-blog, html[data-theme="lagoon-arcade"] .related-guides { border-left: 0; border-top: 3px solid var(--coral); background: var(--paper-alt); border-radius: 0 0 var(--radius) var(--radius); }
html[data-theme="lagoon-arcade"] .faq details { background: var(--surface); border-radius: var(--radius-sm); }
html[data-theme="lagoon-arcade"] .faq summary { font: 600 1.12rem/1.4 var(--serif); }
html[data-theme="lagoon-arcade"] .faq summary::marker { color: var(--coral-deep); }
html[data-theme="lagoon-arcade"] .lead, html[data-theme="lagoon-arcade"] .listing, html[data-theme="lagoon-arcade"] .post-list__item { background: var(--surface); border-radius: var(--radius); }
html[data-theme="lagoon-arcade"] .lead input, html[data-theme="lagoon-arcade"] .lead select, html[data-theme="lagoon-arcade"] .lead textarea, html[data-theme="lagoon-arcade"] .sort select { border-color: #7c7262; border-radius: var(--radius-sm); }
html[data-theme="lagoon-arcade"] .listing__price { font-family: var(--serif); font-weight: 600; }
html[data-theme="lagoon-arcade"] .seg { border-radius: var(--pill); }
html[data-theme="lagoon-arcade"] .seg button[aria-selected="true"] { background: var(--ink); color: #fff; }
html[data-theme="lagoon-arcade"] .listing-dialog::backdrop { background: rgba(23, 48, 42, .65); }

/* CTA + footer: lagoon green with a row of arches along the top edge */
html[data-theme="lagoon-arcade"] .wave { display: none; }
html[data-theme="lagoon-arcade"] .cta { background: var(--deep); border-radius: 220px 220px var(--radius) var(--radius); box-shadow: none; padding-top: 3.4rem; }
html[data-theme="lagoon-arcade"] .site-footer { margin-top: 3rem; background: radial-gradient(circle at 30px 0, var(--paper) 0 22px, transparent 23px) 0 0 / 60px 24px repeat-x, var(--deep); padding-top: 3.2rem; border-top: 0; }
html[data-theme="lagoon-arcade"] .site-footer .bmls-logo { background: #fff; padding: 3px 6px; border-radius: 4px; box-sizing: content-box; }
html[data-theme="lagoon-arcade"] .footer-h { font-family: var(--serif); font-weight: 600; letter-spacing: .02em; }

/* ---------- Editorial hero (home.heroVariant = 'editorial'): copy + arched plate ---------- */
html[data-theme="lagoon-arcade"] .hx { background: linear-gradient(180deg, var(--sky) 0%, var(--paper) 100%); border-bottom: 1px solid var(--line); }
.hx__grid { display: grid; gap: 0; }
@media (min-width: 960px) { .hx__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 560px; align-items: center; } }
.hx__copy { padding: 3.2rem 1.25rem 2.2rem; display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 960px) { .hx__copy { padding: 4rem 3rem 3.5rem max(1.25rem, calc((100vw - 1160px) / 2 + 1.25rem)); } }
.hx__kicker { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font: 600 .78rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--coral-deep); margin: 0 0 1.1rem; }
.hx__kicker span + span::before { content: "\2022"; margin-right: 1rem; color: var(--coral); }
.hx__title { font-size: clamp(2.6rem, 5.6vw, 4.7rem) !important; margin: 0 0 1.1rem !important; line-height: 1 !important; }
.hx__title span { display: block; font-style: italic; font-weight: 400; color: var(--link); }
.hx .answer { max-width: 46ch; color: var(--ink); }
.hx__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .6rem; }
.hx__plate { position: relative; margin: 0 1.25rem 2.2rem; min-height: 340px; background: var(--deep); color: var(--on-deep); border-radius: 999px 999px var(--radius) var(--radius); overflow: hidden; box-shadow: inset 0 0 0 6px var(--deep), inset 0 0 0 8px var(--coral); }
@media (min-width: 960px) { .hx__plate { margin: 2.5rem max(1.25rem, calc((100vw - 1160px) / 2 + 1.25rem)) 2.5rem 0; min-height: 470px; } }
.hx__plate svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hx__plate figcaption { position: absolute; left: 0; right: 0; bottom: 1rem; text-align: center; font: italic 400 .82rem/1.3 var(--serif); color: var(--on-deep); margin: 0; }
.hx__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; max-width: 1160px; margin: 0 auto; padding: 0 1.25rem 2.4rem; }
@media (min-width: 760px) { .hx__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hx__stat { margin: 0; padding: 1.6rem 1rem 1.1rem; text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: 120px 120px var(--radius-sm) var(--radius-sm); }
.hx__stat dt { font: 600 .72rem/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.hx__stat dd { margin: .35rem 0 0; font: 600 clamp(1.5rem, 3vw, 2.1rem)/1 var(--serif); color: var(--ink); }
.hx__stat dd small { display: block; font: 400 .8rem/1.35 var(--sans); color: var(--ink-soft); margin-top: .4rem; }
/* Prose tables fill the column on wider screens (global CSS keeps them display:block for mobile scrolling). */
@media (min-width: 720px) {
  html[data-theme="lagoon-arcade"] .prose table { display: table; width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; }
}

/* Preview-only [VERIFY] marks: let long ones wrap so they never widen the page on phones (Oct 24, 2026). */
html[data-theme="lagoon-arcade"] mark.verify { white-space: normal; display: inline; line-height: 1.5; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* About Glen: lagoon-arcade = arched photo frame (like the hero arcade) on a soft lagoon panel. */
html[data-theme="lagoon-arcade"] .about-glen { background: linear-gradient(180deg, var(--surface) 0%, var(--paper-alt) 100%); border: 1px solid var(--line); }
html[data-theme="lagoon-arcade"] .about-glen .about-glen__photo img { border-radius: var(--arch); border: 6px solid var(--surface); box-shadow: 0 0 0 1px var(--line), var(--shadow); }
html[data-theme="lagoon-arcade"] .about-glen__line { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 1.1rem; letter-spacing: 0; }
html[data-theme="lagoon-arcade"] .about-glen__media .about-glen__line { border-left: 0; padding-left: 0; text-align: center; max-width: 340px; }
html[data-theme="lagoon-arcade"] .about-glen-contact__card { border-radius: 120px 120px var(--radius) var(--radius); padding-top: 2.6rem; }
