/* ==========================================================================
   Concrete CMS integration layer for the Outright Web design (css/style.css).
   Covers what the static template didn't have: the editing toolbar, block
   wrappers, the Express form, the FAQ block and Atomik's own pages.
   ========================================================================== */

/* Atomik's skin sets body colours; keep the design's paper background */
body, .fw-site { background: var(--k-paper); color: var(--k-ink); font-family: var(--k-body); }
.fw-site h1, .fw-site h2, .fw-site h3, .fw-site h4 { font-family: var(--k-head); }

/* Sticky header sits under the edit toolbar when logged in */
html.ccm-toolbar-visible .k-header { top: 48px; }

/* Footer "about" text comes from a sitewide area */
.k-footer-about p { margin: 0; }

/* ---------- Enquiry form (Express form block) ---------- */
.k-form-card .ccm-block-express-form .form-label,
.k-form-card .ccm-block-express-form .control-label { font-weight: 600; font-size: .92rem; margin-bottom: .35rem; }
.k-form-card .ccm-block-express-form .form-control,
.k-form-card .ccm-block-express-form .form-select {
  border-radius: var(--k-radius-sm); border: 1px solid var(--k-line); padding: .75rem .95rem; background-color: #fff;
}
.k-form-card .ccm-block-express-form .form-control:focus,
.k-form-card .ccm-block-express-form .form-select:focus { border-color: var(--k-ember); box-shadow: 0 0 0 .2rem rgba(232, 85, 43, .15); }
.k-form-card .ccm-block-express-form .mb-3, .k-form-card .ccm-block-express-form .form-group { margin-bottom: 1.1rem; }
.k-form-card .ccm-block-express-form .text-muted.small { font-size: .8rem; }
.k-form-card .ccm-block-express-form .btn-primary {
  width: 100%; background: var(--k-ember); border: 0; border-radius: 99px; padding: .95rem 1.5rem; font-weight: 600; font-size: 1.1rem;
}
.k-form-card .ccm-block-express-form .btn-primary:hover { background: var(--k-ember-dark); }
.k-form-card .captcha img { cursor: pointer; border-radius: 8px; }
.k-form-card .alert-success { border-radius: var(--k-radius-sm); }
.k-form-card h2 { font-size: 1.6rem; margin-bottom: .4rem; }

/* ---------- Side cards on the contact page ---------- */
.k-side-card h3 { margin-bottom: 1rem; }
.k-side-card > *:last-child { margin-bottom: 0; }

/* ---------- Standard pages (privacy policy, new pages) ---------- */
.fw-page-main { padding: 1rem 0 5rem; }
.fw-page-main > .container, .fw-prose { max-width: 860px; }
.fw-page-main h2 { font-size: 1.6rem; margin: 2.25rem 0 .75rem; }
.fw-page-main h3 { font-size: 1.2rem; margin: 1.5rem 0 .5rem; }

/* ---------- Edit mode: give areas room ---------- */
.ccm-edit-mode .k-hero-visual { min-height: 0; }
.ccm-edit-mode .k-header { position: static; }

/* ---------- Banner links, tags ---------- */
.k-banner .k-eyebrow a { color: inherit; text-decoration: none; }
[id] { scroll-margin-top: 96px; }

/* ---------- Blog: article cards (Page List, "fw_blog_grid") ---------- */
.fw-blog-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--k-line); border-radius: var(--k-radius); overflow: hidden; color: var(--k-ink); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.fw-blog-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(21, 23, 30, .35); color: var(--k-ink); }
.fw-blog-img { position: relative; aspect-ratio: 16 / 9; background: var(--k-paper-2); }
.fw-blog-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fw-blog-img-plain { position: absolute; inset: 0; display: grid; place-items: center; color: var(--k-ember); background: var(--k-ink); }
.fw-blog-img-plain svg { width: 64px; height: 64px; }
.fw-blog-topic { position: absolute; left: 1rem; top: 1rem; background: var(--k-paper); color: var(--k-ink); font-size: .78rem; font-weight: 600; padding: .3rem .75rem; border-radius: 99px; }
.fw-blog-body { padding: 1.5rem 1.6rem 1.75rem; display: flex; flex-direction: column; flex: 1; }
.fw-blog-body h3 { font-size: 1.35rem; margin: .35rem 0 .6rem; }
.fw-blog-body p { color: var(--k-muted); flex: 1; }
.fw-blog-date { color: var(--k-ember-dark); font-weight: 600; font-size: .85rem; }
.fw-pagination { margin-top: 2.5rem; }
.fw-pagination .pagination { justify-content: center; gap: .35rem; }
.fw-pagination .page-link { border-radius: 99px !important; border-color: var(--k-line); color: var(--k-ink); min-width: 42px; text-align: center; }
.fw-pagination .active > .page-link, .fw-pagination .page-link.active { background: var(--k-ember); border-color: var(--k-ember); color: #fff; }

/* ---------- Blog: single article ---------- */
.fw-post-title { max-width: 52rem; }
.fw-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: 1.25rem; color: var(--k-muted); font-weight: 500; }
.fw-post-meta i { color: var(--k-ember); margin-right: .3rem; }
.fw-post-meta .k-tag { text-decoration: none; }
.fw-post-intro { max-width: none; font-size: 1.3rem; color: var(--k-ink-2); margin-bottom: 2rem; }
.fw-post-photo { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--k-radius); margin-bottom: 2rem; }
.fw-post-body { font-size: 1.08rem; line-height: 1.75; }
.fw-post-body h2 { font-size: 1.75rem; margin: 2.25rem 0 .8rem; }
.fw-post-body h3 { font-size: 1.3rem; margin: 1.75rem 0 .6rem; }
.fw-post-body a { color: var(--k-ember-dark); }
.fw-share { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--k-line); }
.fw-share strong { margin-right: .5rem; }
.fw-share a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--k-paper-2); color: var(--k-ink); text-decoration: none; }
.fw-share a:hover { background: var(--k-ember); color: #fff; }
.fw-post-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.fw-post-nav a { flex: 1 1 0; max-width: 48%; background: #fff; border: 1px solid var(--k-line); border-radius: var(--k-radius-sm); padding: 1rem 1.25rem; color: var(--k-ink); font-weight: 600; text-decoration: none; }
.fw-post-nav a span { display: block; font-size: .8rem; font-weight: 500; color: var(--k-muted); margin-bottom: .25rem; }
.fw-post-nav-next { text-align: right; }
.fw-post-nav a:hover { border-color: var(--k-ember); }

/* ---------- Blog sidebar (sitewide "Blog Sidebar") ---------- */
.fw-sidebar > * + * { margin-top: 2rem; }
.fw-sidebar h4, .fw-sidebar .ccm-search-block-form h3 { font-size: 1.15rem; margin-bottom: .9rem; }
.fw-sidebar ul { list-style: none; padding: 0; margin: 0; }
.fw-sidebar ul li a { display: block; padding: .5rem 0; color: var(--k-ink); border-bottom: 1px solid var(--k-line); text-decoration: none; }
.fw-sidebar ul li a:hover, .fw-sidebar .ccm-block-topic-list-topic-selected { color: var(--k-ember-dark); }
.fw-sidebar .ccm-search-block-form, .fw-page-main .ccm-search-block-form { display: flex; gap: .5rem; flex-wrap: wrap; }
.fw-sidebar .ccm-search-block-form h3 { width: 100%; }
.fw-sidebar .ccm-search-block-text, .fw-page-main .ccm-search-block-text { flex: 1; min-width: 0; border: 1px solid var(--k-line); border-radius: 99px; padding: .65rem 1.1rem; background: #fff; }
.fw-sidebar .ccm-search-block-submit, .fw-page-main .ccm-search-block-submit { background: var(--k-ink); color: #fff; border: 0; border-radius: 99px; padding: .65rem 1.3rem; font-weight: 600; }
.fw-sidebar-cta { background: var(--k-ink); color: rgba(255, 255, 255, .8); border-radius: var(--k-radius); padding: 1.75rem; }
.fw-sidebar-cta h4 { color: #fff; }
.fw-sidebar-cta p:last-child { margin-bottom: 0; }

/* ---------- Search results page ---------- */
.fw-page-main .ccm-search-result { padding: 1.25rem 0; border-bottom: 1px solid var(--k-line); }
.fw-page-main .ccm-search-result h3 { font-size: 1.35rem; margin-bottom: .3rem; }

/* Sidebar block headings and lists: same plain style as "Search" (Atomik makes them big capitals in boxes) */
div.theme-atomik .fw-sidebar .ccm-block-topic-list-header h4, div.theme-atomik .fw-sidebar .ccm-block-date-navigation-header h4 {
  font-family: var(--k-head); font-size: 1.15rem; font-weight: 700; text-transform: none; letter-spacing: 0; margin: 0 0 .5rem; padding: 0; border: 0;
}
div.theme-atomik .fw-sidebar .ccm-block-topic-list, div.theme-atomik .fw-sidebar .ccm-block-date-navigation,
div.theme-atomik .fw-sidebar .ccm-block-topic-list-list, div.theme-atomik .fw-sidebar .ccm-block-date-navigation-dates,
div.theme-atomik .fw-sidebar .ccm-block-topic-list-header, div.theme-atomik .fw-sidebar .ccm-block-date-navigation-header { background: none; border: 0; padding: 0; box-shadow: none; }
div.theme-atomik .fw-sidebar .ccm-block-topic-list-list li, div.theme-atomik .fw-sidebar .ccm-block-date-navigation-dates li { border: 0; padding: 0; background: none; }
div.theme-atomik .fw-sidebar .ccm-block-topic-list ul.ccm-block-topic-list-list,
div.theme-atomik .fw-sidebar .ccm-block-date-navigation ul.ccm-block-date-navigation-dates,
div.theme-atomik .fw-sidebar .ccm-block-date-navigation ul.ccm-block-date-navigation-dates ul { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; }
div.theme-atomik .fw-sidebar .ccm-block-topic-list ul.ccm-block-topic-list-list li,
div.theme-atomik .fw-sidebar .ccm-block-date-navigation ul.ccm-block-date-navigation-dates li { background: none; border: 0; padding: 0; }
div.theme-atomik .fw-sidebar .ccm-block-date-navigation { background: none; padding: 0; }
