/* =========================================================
   Skyline IFE: additions to main.css for the CMS site
   (main.css is copied unchanged from the redesign template)
   ========================================================= */

/* ---------- Generic CMS content page (Controls/LayoutContent.ascx) ---------- */
.cms-page { background: var(--surface-alt); padding-block: clamp(2.5rem, 4vw, 3.5rem) var(--section-y); }
.cms-page__wrap { max-width: calc(860px + var(--gutter) * 2); }
.cms-page .article__card { margin-top: 0; }
.cms-page .article__gallery { margin-top: 0; margin-bottom: 1.75rem; }
.cms-page .article__body { margin-top: 0; }

/* ---------- Rich text from the CMS editor (CKEditor) ----------
   main.css resets margins and list styles globally; put back sensible defaults inside CMS text */
.cms-body h1, .cms-body h2, .cms-body h3, .cms-body h4, .cms-body h5, .cms-body h6 { margin: 1.75rem 0 .75rem; padding: 0; font-family: var(--font-display); font-weight: 500; line-height: 1.25; color: var(--ink); }
.cms-body h1 { font-size: 1.75rem; }
.cms-body h2 { font-size: 1.5rem; }
.cms-body h3 { font-size: 1.25rem; }
.cms-body h4, .cms-body h5, .cms-body h6 { font-size: 1.0625rem; }
.cms-body > :first-child { margin-top: 0; }
.cms-body p, .cms-body ul, .cms-body ol, .cms-body blockquote, .cms-body table, .cms-body figure { margin: 0 0 1rem; }
.cms-body ul { padding-left: 1.25rem; list-style: disc; }
.cms-body ol { padding-left: 1.25rem; list-style: decimal; }
.cms-body li + li { margin-top: .375rem; }
.cms-body a { color: var(--orange); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cms-body a:hover { color: var(--orange-dark); }
.cms-body img { height: auto !important; border-radius: calc(var(--radius) / 2); margin-block: 1rem; }
.cms-body blockquote { padding-left: 1rem; border-left: 3px solid var(--orange); font-style: italic; }
.cms-body table { width: 100%; border-collapse: collapse; }
.cms-body th, .cms-body td { padding: .5rem .75rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.cms-body iframe, .cms-body video { max-width: 100%; }
.cms-body address { font-style: normal; padding: 0; }

/* ---------- Contact form captcha (Controls/LayoutContact.ascx) ---------- */
.form__captcha-row { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-bottom: .75rem; }
.form__captcha-row img { width: 190px; height: 80px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-alt); }
.form__captcha-new { padding: 0; border: 0; background: none; font: inherit; font-size: .875rem; font-weight: 700; color: var(--orange); cursor: pointer; }
.form__captcha-new:hover { color: var(--orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.form__captcha input { max-width: 14rem; letter-spacing: .15em; }
.form__captcha-actions { display: inline-flex; align-items: center; gap: .25rem; }
.form__captcha-refresh { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--orange); cursor: pointer; transition: background-color .25s, color .25s; }
.form__captcha-refresh:hover { background: var(--surface-alt); color: var(--orange-dark); }
.form__captcha-refresh:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }

/* ---------- Newsroom ---------- */
.news__empty { text-align: center; color: var(--ink-soft); }

/* ---------- Debug output (Global.Debug) ---------- */
.debug { padding: 1rem var(--gutter); font: .75rem/1.5 monospace; background: #fff8e1; }
