/* Blog only: palette and typography come from the existing Cloud layouts. */
.cc-blog {
    --cc-blog-color:var(--cc-text);
    --cc-blog-heading-color:var(--cc-black);
    --cc-blog-muted-color:var(--cc-gray);
    --cc-blog-border-color:var(--cc-border);
    --cc-blog-primary:var(--cc-primary);
    --cc-blog-primary-hover:var(--cc-primary-hover);
    --cc-blog-primary-contrast:var(--cc-white);
    --cc-blog-secondary:var(--cc-gray);
    --cc-blog-secondary-hover:var(--cc-dark);
    --cc-blog-link-color:var(--cc-primary);
    --cc-blog-link-hover-color:var(--cc-primary-hover);
    --cc-blog-link-decoration:none;
    --cc-blog-control-color:var(--cc-text);
    --cc-blog-control-background:var(--cc-white);
    --cc-blog-focus-color:var(--cc-primary);
    --cc-blog-focus-shadow:0 0 0 .2rem rgba(41,128,185,.2);
    --cc-blog-card-background:var(--cc-white);
    min-width:0;
}
.cc-blog a:not(.btn):hover { text-decoration:underline; }

/* Public: existing section widths, highlight cards and filled CTA buttons. */
.cc-public-content .cc-blog {
    --cc-blog-color:var(--pub-ink);
    --cc-blog-heading-color:var(--pub-ink);
    --cc-blog-muted-color:var(--pub-muted);
    --cc-blog-border-color:var(--pub-border);
    --cc-blog-primary:var(--pub-btn);
    --cc-blog-primary-hover:var(--pub-btn-hover);
    --cc-blog-link-color:var(--pub-btn);
    --cc-blog-link-hover-color:var(--pub-btn-hover);
    --cc-blog-background:var(--pub-white);
    --cc-blog-max-width:1100px;
    --cc-blog-padding:1rem 1.25rem 3rem;
    --cc-blog-title-size:clamp(1.8rem,3.5vw,2.5rem);
    --cc-blog-section-title-size:clamp(1.6rem,3vw,2.2rem);
    --cc-blog-heading-weight:800;
    --cc-blog-heading-margin:1rem;
    --cc-blog-grid-gap:1.5rem;
    --cc-blog-card-min-width:260px;
    --cc-blog-card-image-ratio:16/9;
    --cc-blog-search-width:290px;
    --cc-blog-card-radius:var(--cc-block-radius);
    --cc-blog-card-padding:1.5rem;
    --cc-blog-featured-card-padding:1rem 1.15rem;
    --cc-blog-featured-title-size:1.2rem;
    --cc-blog-card-title-size:1.1rem;
    --cc-blog-card-hover-border-color:var(--pub-btn);
    --cc-blog-card-hover-shadow:0 4px 18px rgba(0,0,0,.07);
    --cc-blog-button-radius:4px;
    --cc-blog-button-padding:.6rem 1.25rem;
    --cc-blog-button-weight:700;
    --cc-blog-space-4:1.5rem;
    --cc-blog-content-line-height:1.7;
}
.cc-public-content .cc-blog .cc-blog-section-heading h1 { letter-spacing:-.02em; }
.cc-public-content .cc-blog .cc-blog-card h3 { font-weight:700; }
.cc-public-content .cc-blog .cc-blog-card-featured { box-shadow:0 3px 14px rgba(0,0,0,.06); }
.cc-public-content .cc-blog > h2 { font-size:clamp(1.25rem,2vw,1.55rem); margin:1.5rem 0 .75rem; }
.cc-public-content .cc-blog .cc-blog-search { margin:0; }
.cc-public-content .cc-blog a.cc-blog-card:hover { color:inherit; text-decoration:none; }
.cc-public-content .cc-blog .cc-blog-card p:not(.small) { color:var(--pub-muted); font-size:.95rem; }

/* Individual articles use editorial heading sizes; list and admin titles keep their existing scale. */
.cc-public-content .cc-blog-detail article > h1 {
    font-size:var(--cc-blog-detail-title-size,clamp(1.6rem,5vw,1.75rem));
    margin-block:var(--cc-blog-detail-title-margin,.65rem);
}
.cc-public-content .cc-blog-detail article .cc-blog-content h2 {
    font-size:var(--cc-blog-detail-h2-size,clamp(1.25rem,4vw,1.4375rem));
    margin-block:var(--cc-blog-detail-h2-margin,.65rem .4rem);
}
.cc-public-content .cc-blog-detail article .cc-blog-content h3 {
    font-size:var(--cc-blog-detail-h3-size,clamp(1.125rem,3.5vw,1.1875rem));
    margin-block:var(--cc-blog-detail-h3-margin,.6rem .35rem);
}

/* Private: compact controls and Panel card geometry, without double padding. */
.cc-app-content .cc-blog {
    --cc-blog-max-width:1160px;
    --cc-blog-padding:0;
    --cc-blog-background:var(--cc-light-gray);
    --cc-blog-font-size:.875rem;
    --cc-blog-title-size:clamp(1.2rem,2.1vw,1.55rem);
    --cc-blog-section-title-size:1.15rem;
    --cc-blog-subtitle-size:1.15rem;
    --cc-blog-heading-weight:800;
    --cc-blog-heading-margin:1rem;
    --cc-blog-control-font-size:.875rem;
    --cc-blog-control-radius:var(--cc-button-radius);
    --cc-blog-label-weight:500;
    --cc-blog-button-min-height:var(--cc-button-height);
    --cc-blog-button-font-size:.875rem;
    --cc-blog-button-weight:500;
    --cc-blog-button-line-height:1.2;
    --cc-blog-button-radius:var(--cc-button-radius);
    --cc-blog-button-padding:.25rem .65rem;
    --cc-blog-button-small-padding:.25rem .65rem;
    --cc-blog-card-radius:var(--cc-block-radius);
    --cc-blog-card-border:1px solid #d8e0ea;
    --cc-blog-card-padding:1rem;
    --cc-blog-grid-gap:.8rem;
    --cc-blog-table-header-background:var(--cc-surface);
    --cc-blog-table-padding:.65rem;
    --cc-blog-alert-radius:var(--cc-block-radius);
    --cc-blog-toolbar-background:var(--cc-surface);
    --cc-blog-toolbar-button-background:var(--cc-white);
    --cc-blog-toolbar-button-hover-background:var(--cc-light-gray);
    --cc-blog-toolbar-button-radius:var(--cc-button-radius);
    --cc-blog-toolbar-button-padding:.25rem .65rem;
    --cc-blog-editor-background:var(--cc-white);
    --cc-blog-editor-radius:var(--cc-button-radius);
    --cc-blog-editor-selection-color:var(--cc-primary);
    --cc-blog-editor-padding:1rem 1.5rem;
}
.cc-app-content .cc-blog .btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--cc-button-gap); }
.cc-app-content .cc-blog form.d-flex { flex-wrap:wrap; }
.cc-app-content .cc-blog .table { min-width:640px; }
.cc-app-content .cc-blog .cc-blog-toolbar button { min-height:var(--cc-button-height); }
.cc-blog :is(.form-control,.form-select) { min-width:0; max-width:100%; }
.cc-blog .cc-blog-content:not(.cc-blog-editor) table,.cc-blog .cc-blog-editor .tableWrapper { overflow-x:auto; }
.cc-blog .cc-blog-content:not(.cc-blog-editor) table { display:block; }
@media (max-width:767.98px) {
    .cc-public-content .cc-blog { --cc-blog-padding:1rem 1rem 2rem; }
    .cc-app-content .cc-blog { --cc-blog-editor-padding:1rem; }
    .cc-app-content .cc-blog form.d-flex > .form-select { flex:1 1 100%; }
}
