/**
 * KopiKatts entry form (sub-phase 1E). BEM-scoped under .ks-entry-form so form
 * styles don't leak into the theme and theme styles don't break the form.
 */

[x-cloak] { display: none !important; }

.ks-entry-form {
	--ks-accent: var(--kk-accent, #A85828);
	--ks-accent-dark: var(--kk-accent-hover, #8E4820);
	--ks-border: #d9d4e0;
	--ks-muted: #6b6577;
	--ks-bg-soft: #f7f5fa;
	--ks-ok: #2e7d32;
	--ks-warn: #b26a00;
	--ks-err: #b3261e;
	max-width: 880px;
	margin: 0 auto;
	padding: 1.5rem 1rem 4rem;
	color: #221b2e;
}

.ks-entry-form__container { width: 100%; }
.ks-entry-form__eyebrow { text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: var(--ks-muted); margin: 0 0 .25rem; }
.ks-entry-form__title { font-size: 1.8rem; line-height: 1.2; margin: 0 0 .5rem; }
.ks-entry-form__lead { color: var(--ks-muted); margin: 0 0 1.5rem; }
.ks-noindex-badge { background: var(--ks-bg-soft); border: 1px solid var(--ks-border); border-radius: 999px; padding: .05rem .5rem; font-size: .72rem; }

.ks-entry-form__header { border-bottom: 1px solid var(--ks-border); padding-bottom: 1rem; margin-bottom: 1.25rem; }
.ks-entry-form__meta { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; margin: .5rem 0 0; color: var(--ks-muted); font-size: .9rem; }
.ks-entry-form__meta .dashicons { vertical-align: middle; }

/* Notices */
.ks-notice { border-radius: 8px; padding: .75rem 1rem; margin: 0 0 1rem; border: 1px solid var(--ks-border); }
.ks-notice--info { background: #eef4ff; border-color: #b6cdf5; }
.ks-notice--error { background: #fdeceb; border-color: #f3b9b5; color: var(--ks-err); }
.ks-notice--warn { background: #fff6e6; border-color: #f0d49a; color: var(--ks-warn); }
.ks-notice__actions { margin: .5rem 0 0; display: flex; gap: .5rem; }

/* Stepper */
.ks-stepper { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.25rem; }
.ks-stepper__item { background: var(--ks-bg-soft); border: 1px solid var(--ks-border); border-radius: 999px; padding: .35rem .85rem; font-size: .85rem; cursor: pointer; color: var(--ks-muted); }
.ks-stepper__item.is-active { background: var(--ks-accent); border-color: var(--ks-accent); color: #fff; }
.ks-stepper__item.is-done { color: var(--ks-accent-dark); border-color: var(--ks-accent); }

.ks-entry-form__savestate { min-height: 1.2rem; font-size: .8rem; color: var(--ks-muted); text-align: right; margin-bottom: .5rem; }

/* Steps */
.ks-step { background: #fff; border: 1px solid var(--ks-border); border-radius: 12px; padding: 1.25rem; margin-bottom: 1.25rem; }
.ks-step__title { margin: 0 0 .25rem; font-size: 1.3rem; }
.ks-step__lead { color: var(--ks-muted); margin: 0 0 1rem; }

/* Fields */
.ks-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1rem; }
.ks-field { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; }
.ks-field--wide { grid-column: 1 / -1; }
.ks-field--inline { flex-direction: row; align-items: center; justify-content: space-between; gap: 1rem; }
.ks-field--inline input { max-width: 90px; }
.ks-field > span { color: var(--ks-muted); font-weight: 600; }
.ks-field input, .ks-field select, .ks-input, .ks-select { width: 100%; padding: .5rem .6rem; border: 1px solid var(--ks-border); border-radius: 8px; font: inherit; }
.ks-req { color: var(--ks-err); margin-left: .15rem; }
.ks-hint { color: var(--ks-muted); font-size: .82rem; margin: .35rem 0 0; }

fieldset { border: 1px solid var(--ks-border); border-radius: 10px; padding: .75rem 1rem; margin: 1rem 0 0; }
legend { font-weight: 700; padding: 0 .35rem; }

.ks-check, .ks-radio { display: flex; align-items: center; gap: .5rem; margin: .35rem 0; font-size: .92rem; }
.ks-radio.is-disabled, .is-disabled { color: var(--ks-muted); }

/* Exhibits */
.ks-exhibit { border: 1px solid var(--ks-border); border-radius: 10px; padding: 1rem; margin-bottom: 1rem; background: var(--ks-bg-soft); }
.ks-exhibit__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }
.ks-exhibit__head h3 { margin: 0; font-size: 1.05rem; }
.ks-tabs { display: flex; gap: .25rem; margin-bottom: .75rem; }
.ks-tab { background: #fff; border: 1px solid var(--ks-border); border-radius: 8px; padding: .35rem .75rem; cursor: pointer; }
.ks-tab.is-active { background: var(--ks-accent); color: #fff; border-color: var(--ks-accent); }

.ks-lookup-results { list-style: none; margin: .5rem 0 0; padding: 0; border: 1px solid var(--ks-border); border-radius: 8px; overflow: hidden; background: #fff; }
.ks-lookup-result { display: flex; gap: .5rem; align-items: center; width: 100%; text-align: left; padding: .5rem .75rem; background: none; border: 0; border-bottom: 1px solid var(--ks-border); cursor: pointer; }
.ks-lookup-result__name { font-weight: 600; }
.ks-lookup-result__meta { color: var(--ks-muted); font-size: .82rem; }
.ks-match { margin-left: auto; font-size: .72rem; padding: .05rem .45rem; border-radius: 999px; background: var(--ks-bg-soft); }
.ks-match--exact { background: #e3f4e4; color: var(--ks-ok); }
.ks-match--fuzzy { background: #fff3e0; color: var(--ks-warn); }

.ks-classblock { background: #fff; border: 1px solid var(--ks-border); border-radius: 8px; padding: .75rem; margin-top: .75rem; }
.ks-classblock h4 { margin: 0 0 .5rem; }

/* Cart */
.ks-cart__exhibit { border-bottom: 1px solid var(--ks-border); padding: .5rem 0; }
.ks-cart__exhibit h4 { margin: 0 0 .35rem; }
.ks-cart__line { display: flex; justify-content: space-between; padding: .15rem 0; }
.ks-cart__line--reason { padding-left: 1rem; font-size: .9rem; color: var(--ks-text-muted, #6b7280); font-style: italic; }
.ks-cart__line--total { font-weight: 700; font-size: 1.1rem; border-top: 2px solid var(--ks-accent); margin-top: .5rem; padding-top: .5rem; }
.ks-cart__totals { margin-top: .5rem; }

.ks-declaration { background: var(--ks-bg-soft); border: 1px solid var(--ks-border); border-radius: 8px; padding: .75rem 1rem; margin-bottom: 1rem; font-size: .9rem; }
.ks-entry-form__total { font-size: 1.15rem; margin-top: 1rem; }

/* Buttons */
.ks-step-nav { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1rem; }
.ks-btn { display: inline-block; border: 1px solid var(--ks-accent); border-radius: 8px; padding: .6rem 1.2rem; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; }
.ks-btn--primary { background: var(--ks-accent); color: #fff; }
.ks-btn--primary:hover { background: var(--ks-accent-dark); }
.ks-btn--secondary { background: #fff; color: var(--ks-accent-dark); }
.ks-btn--ghost { background: transparent; border-color: var(--ks-border); color: var(--ks-muted); }
.ks-btn--small { padding: .35rem .8rem; font-size: .85rem; }
.ks-btn[disabled] { opacity: .5; cursor: not-allowed; }

/* Confirmation */
.ks-entry-ref { display: inline-block; background: var(--ks-bg-soft); border: 1px dashed var(--ks-accent); border-radius: 8px; padding: .2rem .6rem; font-size: 1.2rem; letter-spacing: .04em; }
.ks-entry-summary dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem 0; }
.ks-entry-summary dt { color: var(--ks-muted); font-size: .82rem; }
.ks-entry-summary dd { margin: 0; font-weight: 700; font-size: 1.1rem; }
.ks-entry-pay-instructions { background: var(--ks-bg-soft); border: 1px solid var(--ks-border); border-radius: 10px; padding: 1rem 1.25rem; margin: 1.25rem 0; }
.ks-entry-form__note--muted { color: var(--ks-muted); font-size: .85rem; }

.ks-entry-form__actions, .ks-entry-form__auth-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }

@media ( max-width: 600px ) {
	.ks-fields { grid-template-columns: 1fr; }
	.ks-entry-summary dl { grid-template-columns: 1fr; }
}
