.cs-spec {
    margin-top: 24px;
}
.cs-section {
    margin-bottom: 32px;
}
.cs-item {
    padding: 12px 16px;
    border: 1px solid #ddd;
    margin-bottom: 12px;
}


.cs-section-extra-content {
    margin-top: 1rem;
}


.cs-spec {
    max-width: 100%;
}
.cs-section {
    margin: 0 0 2rem;
}
.cs-section-title {
    margin: 0 0 1rem;
}
.cs-node-parent {
    margin: 0 0 1rem;
}
.cs-node-child {
    margin: 0 0 1rem 1rem;
}
.cs-node-title {
    margin: 0.75rem 0 0.5rem;
}
.cs-entry {
    margin: 0 0 0.75rem;
}
.cs-entry-heading {
    margin: 0 0 0.25rem;
}
.cs-entry-values {
    margin: 0.25rem 0 0.5rem 1.25rem;
}
.cs-section-extra-content {
    margin-top: 1rem;
}


.cs-single-client-spec {
    max-width: var(--wp--style--global--wide-size, 1200px);
    margin-inline: auto;
    padding-inline: 1rem;
}
.cs-client-spec-article .entry-header {
    margin-bottom: 1.5rem;
}


/* 6.1 dynamic block wrapper: let block theme constrained/content width work */
.wp-block-client-specs-spec-content,
.cs-spec-content-block {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.wp-block-client-specs-spec-content .cs-spec,
.cs-spec-content-block .cs-spec {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.wp-block-client-specs-spec-content .cs-section,
.cs-spec-content-block .cs-section,
.wp-block-client-specs-spec-content .cs-node,
.cs-spec-content-block .cs-node,
.wp-block-client-specs-spec-content .cs-entry,
.cs-spec-content-block .cs-entry {
    max-width: 100%;
    box-sizing: border-box;
}


/* 6.3 spec selector */
.wp-block-client-specs-spec-selector,
.cs-spec-selector-block {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.cs-spec-selector-form { margin-bottom: 1.5rem; }
.cs-spec-selector-controls { display:grid; grid-template-columns:2fr 1fr auto; gap:1rem; align-items:end; }
.cs-spec-selector-field label { display:block; margin-bottom:0.35rem; font-size:0.9rem; }
.cs-spec-selector-field input,
.cs-spec-selector-field select { width:100%; box-sizing:border-box; }
.cs-spec-selector-results { display:grid; gap:1rem; }
.cs-spec-selector-item { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding:1rem; border:1px solid rgba(0,0,0,0.12); border-radius:4px; }
.cs-spec-selector-title { margin:0 0 0.35rem; font-size:1.1rem; }
.cs-spec-selector-title a { text-decoration:none; }
.cs-spec-selector-client { font-size:0.95rem; opacity:0.8; }
.cs-spec-selector-badge { display:inline-block; margin-top:0.5rem; font-size:0.8rem; padding:0.2rem 0.5rem; border:1px solid currentColor; border-radius:999px; }
.cs-spec-selector-item-actions { flex:0 0 auto; }
@media (max-width:700px) {
  .cs-spec-selector-controls { grid-template-columns:1fr; }
  .cs-spec-selector-item { flex-direction:column; }
}


/* 6.5 compare */
.cs-compare-controls {
    margin: 0 0 1.5rem;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 6px;
}
.cs-compare-controls-grid {
    display: grid;
    grid-template-columns: 2fr 1.5fr auto;
    gap: 1rem;
    align-items: end;
}
.cs-compare-field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.9rem;
}
.cs-compare-field select {
    width: 100%;
    box-sizing: border-box;
}
.cs-compare-diff {
    color: var(--cs-compare-highlight, var(--wp--preset--color--accent-3, #b32d2e));
}
.cs-compare-report-list {
    display: grid;
    gap: 1rem;
}
.cs-compare-row {
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 6px;
    padding: 1rem;
}
.cs-compare-row-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}
.cs-compare-path {
    font-weight: 600;
}
.cs-compare-status {
    color: var(--cs-compare-highlight, var(--wp--preset--color--accent-3, #b32d2e));
}
.cs-compare-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.cs-compare-col-label {
    font-size: 0.85rem;
    opacity: 0.8;
    margin-bottom: 0.35rem;
}
.cs-compare-empty {
    opacity: 0.5;
}
@media (max-width: 700px) {
    .cs-compare-controls-grid,
    .cs-compare-columns {
        grid-template-columns: 1fr;
    }
}


/* 6.9 compare/export button alignment */
.cs-compare-actions {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}
.cs-export-button {
    text-decoration: none;
}


/* 7.0 sites display */
.cs-spec-sites {
    margin: 0 0 1rem;
    opacity: 0.9;
}
