/* Front-end: recreate the admin primitives the tools UI uses, isolated from theme styles. */
.cis-public { max-width: 1280px; margin: 0 auto; padding: 8px 0 24px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 1.5; color: #1f2330; text-align: left; }
.cis-public [hidden] { display: none !important; }
.cis-public h1.cis-hero { font-size: clamp(24px, 3.4vw, 38px); margin: 10px auto 8px; letter-spacing: -.01em; }
.cis-public .cis-sub { font-size: 16px; }
.cis-public h2, .cis-public h3 { font-family: inherit; letter-spacing: 0; text-transform: none; }
.cis-public p { margin: 0 0 12px; }
.cis-public img { max-width: 100%; height: auto; border: 0; box-shadow: none; }
.cis-public label { margin: 0; font-weight: normal; text-transform: none; letter-spacing: 0; }
.cis-public input[type=text], .cis-public input[type=number], .cis-public select {
	box-sizing: border-box; height: 38px; padding: 6px 10px; border: 1px solid #cdd2dc; border-radius: 8px; background: #fff; color: #1f2330; font-size: 14px; box-shadow: none; margin: 0;
}
.cis-public input[type=checkbox], .cis-public input[type=radio] { width: 16px; height: 16px; margin: 0; accent-color: var(--c); }
.cis-public input:focus, .cis-public select:focus { outline: 2px solid var(--c); outline-offset: 1px; border-color: var(--c); }
.cis-public .cis-card { text-align: left; }
.cis-public .cis-card:hover { background: #fff; }

.cis-public .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; min-height: 34px; padding: 0 14px; margin: 0;
	border: 1px solid #cdd2dc; border-radius: 8px; background: #fff; color: #1f2330; font: 500 13px/1.2 inherit; font-family: inherit; text-decoration: none; text-transform: none; letter-spacing: 0; cursor: pointer; box-shadow: none; white-space: nowrap; transition: filter .15s, background .15s;
}
.cis-public .button:hover { background: #f6f7fb; color: #1f2330; }
.cis-public .button-primary { background: var(--c); border-color: var(--c); color: #fff; }
.cis-public .button-primary:hover { background: var(--c); color: #fff; filter: brightness(1.08); }
.cis-public .button-small { min-height: 28px; padding: 0 10px; font-size: 12px; }
.cis-public .button-hero { min-height: 48px; padding: 0 26px; font-size: 15px; border-radius: 10px; }
.cis-public .button[disabled] { opacity: .55; cursor: default; }
.cis-public .button-link { background: none; border: 0; padding: 0; color: var(--c); cursor: pointer; font: inherit; text-decoration: underline; }
.cis-public .dashicons { line-height: 1; }

.cis-public .spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid #e5e7eb; border-top-color: var(--c); border-radius: 50%; animation: cis-spin .7s linear infinite; vertical-align: middle; }
@keyframes cis-spin { to { transform: rotate(360deg); } }

.cis-public .cis-side { top: 20px; max-height: none; overflow: visible; }
.cis-public .cis-file-btn { position: relative; }
.cis-public .cis-file-btn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.cis-public .cis-file-btn .button { width: 100%; }
.cis-public .cis-admin-note { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 10px; padding: 10px 14px; }
.cis-public .cis-privacy { text-align: center; color: #8a8f98; font-size: 12px; margin-top: 18px; }
.cis-off-msg { padding: 16px; border: 1px solid #e5e7eb; border-radius: 10px; text-align: center; }

/* Break out of narrow theme content columns. */
.cis-public.cis-wide { width: min(1240px, calc(100vw - 48px)); max-width: none; position: relative; left: 50%; transform: translateX(-50%); }

@media (max-width: 600px) {
	.cis-public.cis-wide { width: calc(100vw - 32px); }
	.cis-public .cis-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
	.cis-public .cis-card { padding: 14px; }
	.cis-public .cis-card small { display: none; }
	.cis-public .cis-files { grid-template-columns: 1fr 1fr; }
	.cis-public .button-hero { width: 100%; }
}
