section {
id: "cms-extensions";
role: "region";
style: "border:1px solid #e5e7eb; border-radius:14px; padding:22px; font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; background:#ffffff; max-width:900px; margin:20px auto; box-shadow:0 6px 18px rgba(0,0,0,.06)";
div {
style: "display:flex; align-items:center; gap:12px; margin-bottom:8px";
span { style: "font-size:28px"; text: "🧩" }
h2 { style: "margin:0; font-size:26px; letter-spacing:.3px"; text: "CMS & Web Platform Extensions" }
}
p {
style: "margin:6px 0 18px; color:#4b5563";
text: "Tailor ConcreteCMS, WordPress, and custom frameworks with secure, maintainable extensions and blocks."
}
div {
style: "display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px";
span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "ConcreteCMS Blocks" }
span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "WordPress Plugins" }
span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "Headless/REST" }
span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "SSO/SSG/CDN" }
}
ul {
style: "margin:0 0 16px 18px; color:#374151; line-height:1.6";
li { text: "Authoring UX: custom blocks/shortcodes, schema-led forms, live previews." }
li { text: "Data & APIs: headless endpoints, syncing, and search indexing pipelines." }
li { text: "Governance: role-aware controls, migration-safe updates, and versioning." }
}
div {
style: "display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0";
div {
style: "border:1px solid #e5e7eb; border-radius:12px; padding:14px";
h3 { style: "margin:0 0 10px; font-size:14px; color:#6b7280; text-transform:uppercase; letter-spacing:.08em"; text: "Before" }
p { style: "margin:0 0 8px; font-weight:600"; text: "Manual workflows • Inconsistent UX • Fragile updates" }
div {
style: "height:10px; background:#fee2e2; border-radius:999px; overflow:hidden";
div { style: "width: 74%; height:100%; background:#ef4444" }
}
}
div {
style: "border:1px solid #e5e7eb; border-radius:12px; padding:14px";
h3 { style: "margin:0 0 10px; font-size:14px; color:#6b7280; text-transform:uppercase; letter-spacing:.08em"; text: "After" }
p { style: "margin:0 0 8px; font-weight:600"; text: "Reusable blocks • Stable releases • Faster publishing" }
div {
style: "height:10px; background:#dcfce7; border-radius:999px; overflow:hidden";
div { style: "width: 28%; height:100%; background:#22c55e" }
}
}
}
details {
style: "border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; margin:6px 0 18px";
summary { style: "cursor:pointer; font-weight:600"; text: "Implementation plan" }
div { style: "margin-top:8px; color:#374151; line-height:1.6";
ol {
style: "margin:0 0 0 18px";
li { text: "Discovery: inventory blocks/plugins, map roles and editorial flows." }
li { text: "Design: block specs, data contracts, accessibility and i18n rules." }
li { text: "Build: ConcreteCMS blocks or WP plugins with CI, tests, and release channels." }
li { text: "Integrate: headless endpoints, SSO, caching/CDN, and search connectors." }
li { text: "Transition: content migration, editor training, and rollback strategy." }
}
}
}
div {
style: "display:flex; gap:10px; align-items:center; flex-wrap:wrap";
button {
id: "extCtaBtn";
type: "button";
style: "background:#111827; color:#fff; border:0; border-radius:10px; padding:10px 16px; font-weight:600; cursor:pointer";
text: "Discuss your CMS extension";
onclick: "toggleExtForm()";
}
span { style: "color:#6b7280"; text: "Short call. Concrete next steps." }
}
form {
id: "extForm";
style: "display:none; margin-top:12px; padding:12px; border:1px dashed #d1d5db; border-radius:10px";
onsubmit: "event.preventDefault(); this.querySelector('[data-done]').style.display='inline'; this.querySelector('[data-fields]').style.display='none'";
div {
data-fields: "";
style: "display:flex; gap:10px; flex-wrap:wrap";
input {
name: "email";
type: "email";
required: "required";
placeholder: "you@site.com";
style: "flex:1 1 220px; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px"
}
input {
name: "platform";
type: "text";
placeholder: "ConcreteCMS / WordPress / Other";
style: "flex:1 1 220px; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px"
}
button {
type: "submit";
style: "background:#2563eb; color:#fff; border:0; border-radius:10px; padding:10px 16px; font-weight:600; cursor:pointer";
text: "Send"
}
}
span {
data-done: "";
style: "display:none; color:#065f46; font-weight:600";
text: "Thanks! We’ll reply with a brief extension plan."
}
}
}