/* Shared Morningmint identity. Keep these overrides after page styles. */
:root {
  --brand-blue: #0047cc;
  --brand-navy: #082b66;
  --brand-red: #d71920;
  --ink: #132b50;
  --ink-2: #455774;
  --muted: #455774;
  --cream: #ffffff;
  --mint: #edf3ff;
  --leaf: #0047cc;
  --green: #0047cc;
  --sun: #d71920;
  --line: #d6dfef;
}
.morningmint-logo {
  display: block;
  width: 96px;
  height: 96px;
  max-width: 100%;
  object-fit: contain;
  flex: 0 0 auto;
  background: white;
  border-radius: 4px;
}
.wordmark { color: var(--brand-blue); flex-shrink: 0; }
.site-header, .login-header { padding-block: 10px; }
.site-header { border-bottom-color: var(--line); }
.site-footer { background: #f4f7fc; }
.site-footer .morningmint-logo { width: 88px; height: 88px; }
.button-primary, .button-dark { background: var(--brand-blue); color: white; }
.button-primary:hover, .button-dark:hover { background: var(--brand-navy); }
.button-outline { color: var(--brand-blue); border-color: var(--brand-blue); }
.hero, .audience-hero { background-color: #f4f7fc; }
.eyebrow, .section-kicker, .form-kicker { color: var(--brand-blue); }
.eyebrow-dot, .step-number { background: var(--brand-red); color: white; }
.hero-bottom, .closing-section { background: var(--brand-navy); color: white; }
.closing-section .section-kicker, .closing-section h2 em { color: white; }
.closing-section .button { background: white; color: var(--brand-blue); }
.audience-card, .legal-note, .setup-summary { background: #edf3ff; }
.audience-card.audience-team { background: var(--brand-navy); color: white; }
.legal-note { border-left-color: var(--brand-red); }
.inner-page p, .inner-page li, .cookie-banner p, .form-card .form-hint,
.form-card .setup-lead, .setup-progress, .setup-status { color: var(--ink-2); }
.inner-page a, .form-card select, .form-card textarea { color: var(--ink); }
.form-card input, .form-card select, .form-card textarea { border-color: #91a6ca; }
.form-card .checkbox-label input, .setup-topic input { accent-color: var(--brand-blue); }
.price-ticket, .form-intro .form-art { box-shadow: 12px 12px 0 #e2eaff; }
.footer-main>span, .site-footer>small { color: var(--ink-2); }
.login-page { background: #fff; }
.login-page .form-card button { background: var(--brand-blue); color: white; }
.login-page .form-card button:hover { background: var(--brand-navy); }
.login-page h1 em { color: var(--brand-blue); }
.login-page .paper-image { background: #dce8ff; }
body[data-app] { color: var(--ink); background: #f4f7fc; }
.sidebar { background: var(--brand-navy); }
.sidebar .brand { flex-direction: column; align-items: flex-start; gap: 6px; }
.sidebar .brand .morningmint-logo { width: 116px; height: 116px; }
.sidebar .brand small { font-size: 12px; color: white; opacity: 1; }
.sidebar nav button.active { background: var(--brand-blue); box-shadow: inset 3px 0 var(--brand-red); }
.primary, #admin-login button, .tile-palette button.primary {
  background: var(--brand-blue); border-color: var(--brand-blue); color: white;
}
.primary:hover, #admin-login button:hover { background: var(--brand-navy); }
.heading .eyebrow { color: var(--brand-blue); }
body[data-app] a { color: var(--brand-blue); }
body[data-app] .sidebar a { color: white; }
body[data-app] .danger { color: #b3151b; }
body[data-app] .edition-ready-actions .primary.danger { color: #fff; }
.brand-auth { width: min(440px, calc(100% - 32px)); margin: 6vh auto; }
.brand-auth .morningmint-logo, #admin-login .morningmint-logo { width: 112px; height: 112px; }
.brand-auth button { background: var(--brand-blue); color: white; }
.brand-auth a { color: var(--brand-blue); }
:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 3px; }
.sidebar :focus-visible { outline-color: white; }
@media (max-width: 760px) {
  .morningmint-logo { width: 76px; height: 76px; }
  .sidebar .brand { flex-direction: row; align-items: center; gap: 14px; }
  .sidebar .brand .morningmint-logo { width: 76px; height: 76px; }
  .login-header { padding-inline: 20px; }
  .masthead { flex-wrap: wrap; }
}
.inner-page { overflow-wrap: anywhere; }
.brand-auth { color: var(--ink); padding: 24px; background: white; border: 1px solid var(--line); border-radius: 12px; }
.brand-auth form, .brand-auth label { display: grid; gap: 8px; }
.brand-auth form { gap: 16px; margin-block: 20px; }
.brand-auth nav { display: block; margin-top: 20px; }
.hero { background: linear-gradient(110deg, #fff, #f1f5ff); }
.audience-nav, .audience-section { background: #edf3ff; }
.hero-note { color: var(--ink-2); }
.hero-bottom span+span::before { color: white; }

.masthead{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:1rem}
.masthead-brand{justify-self:start;width:min(100%,8rem);height:auto;object-fit:contain}
.masthead>div{text-align:center}
.masthead>img:not(.masthead-brand),.masthead-customer-logo{justify-self:end;max-width:100%;max-height:4rem}

/* Keep publisher controls compact, including the full-width price summary. */
[data-form="paper"] { align-items: start; }
[data-form="paper"] > p, [data-form="paper"] > .paper-layout-options { grid-column: 1 / -1; }
[data-form="paper"] label { align-content: start; }
[data-form="paper"] .check { display: flex; align-items: center; gap: .5rem; }
body[data-app="editor"] #breadcrumb { display: none; }
@media (min-width: 761px) {
  body[data-app="editor"] .topbar:has(#connection:empty):not(:has(#quick-content:not([hidden]))) { display: none; }
}

/* Editorial commands with newspaper administration in a collapsible group. */
@media (min-width: 761px) {
  body[data-app="editor"] .shell { grid-template-columns: 300px minmax(0, 1fr); }
}
body[data-app="editor"] .sidebar { gap: 20px; padding: 24px 16px; }
body[data-app="editor"] .sidebar .brand { padding: 0 8px; gap: 8px; }
body[data-app="editor"] .sidebar .brand .morningmint-logo { width: 88px; height: 88px; }
body[data-app="editor"] .sidebar .brand small { font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
body[data-app="editor"] .sidebar-actions { display: none; }
body[data-app="editor"] .sidebar nav { gap: 0; }
body[data-app="editor"] .sidebar nav button { min-height: 44px; padding: 10px 12px; font-size: 15px; font-weight: 400; line-height: 24px; white-space: nowrap; }
body[data-app="editor"] .sidebar nav button:hover { background: #ffffff12; }
body[data-app="editor"] .sidebar nav button.active { background: #294f83; box-shadow: none; color: #fff; }
body[data-app="editor"] #navigation .publisher-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; }
body[data-app="editor"] #navigation .publisher-navigation { display: grid; gap: 0; margin: 2px 0 4px 12px; padding-left: 10px; border-left: 1px solid #ffffff40; }
body[data-app="editor"] #navigation .publisher-navigation[hidden] { display: none; }
body[data-app="editor"] #navigation .publisher-navigation button { font-size: 14px; }
body[data-app="editor"] .sidebar-tools { display: grid; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid #ffffff30; }
body[data-app="editor"] .paper-switch { padding: 0 8px; font-weight: 400; }
body[data-app="editor"] .paper-switch select { min-height: 40px; padding: 8px; background: transparent; border-color: #ffffff40; font-size: 13px; }
body[data-app="editor"] .paper-switch option { background: var(--brand-navy); }
body[data-app="editor"] #new-newspaper { margin: 0 12px; font-size: 12px; color: #d2dced; text-underline-offset: 3px; }
body[data-app="editor"] #account-navigation { margin-top: 8px; }
body[data-app="editor"] .sidebar-foot { margin-top: 0; border-top: 0; padding: 0 8px; font-size: 11px; gap: 12px 6px; }
body[data-app="editor"] .sidebar .legal-links { gap: 6px 10px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  body[data-app="editor"] .sidebar { padding: 12px 16px; gap: 8px; min-height: auto; }
  body[data-app="editor"] .sidebar .brand { flex-direction: row; align-items: center; gap: 12px; }
  body[data-app="editor"] .sidebar .brand .morningmint-logo { width: 44px; height: 44px; }
  body[data-app="editor"] .sidebar-actions { display: flex; padding: 0 8px; }
  body[data-app="editor"] .sidebar nav { grid-template-columns: 1fr; }
  body[data-app="editor"]:not(.menu-open) .sidebar-tools { display: none; }
  body[data-app="editor"].menu-open .sidebar-tools { margin-top: 12px; }
  body[data-app="editor"].menu-open .sidebar-foot { display: flex; }
}

.source-departments label { display: flex; align-items: center; gap: .6rem; }
.source-departments input[type="checkbox"] { width: auto; margin: 0; }
