/* cjip-enquiry widget (W1: every selector starts with .cjip-enquiry). Mirrors the Tailwind classes of
   EnquiryForm.tsx; colours, radii, heights, type sizes and durations through tokens.css (R8, V2). Spacing and the
   remaining sizes are the SoT's Tailwind scale values (4px step), read from the component, not invented (E1).
   Breakpoints: SoT sm 640px, lg 1024px. */

.cjip-enquiry {
  font-family: var(--cjip-font-sans);
  color: var(--cjip-ink);
}
.cjip-enquiry [hidden] { display: none !important; }

/* Cards: idle/error panel p-5 sm:p-6 lg:p-8; success panel p-6 sm:p-8. rounded-2xl, surface, 1px border. */
.cjip-enquiry .cjip-enquiry__card {
  border-radius: var(--cjip-radius-card);
  background-color: var(--cjip-surface);
  border: 1px solid var(--cjip-border);
}
.cjip-enquiry .cjip-enquiry__panel { padding: 20px; }
.cjip-enquiry .cjip-enquiry__success { padding: 24px; }
.cjip-enquiry .cjip-enquiry__success:focus,
.cjip-enquiry .cjip-enquiry__failure:focus,
.cjip-enquiry .cjip-enquiry__summary:focus { outline: none; }

/* Headings: .cjip-h2 (28 / 32 / 40px, Unbounded 700). */
.cjip-enquiry .cjip-enquiry__title {
  margin: 0 0 8px;
  font-family: var(--cjip-font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 22ch;
  text-wrap: balance;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__success .cjip-enquiry__title { margin-bottom: 12px; }

/* Intro: kicker text-sm semibold action uppercase tracking-wider mb-2; lead 15px / lg 16px muted relaxed. */
.cjip-enquiry .cjip-enquiry__intro { margin-bottom: 24px; }
.cjip-enquiry .cjip-enquiry__kicker {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 600;
  color: var(--cjip-action);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cjip-enquiry .cjip-enquiry__lead {
  margin: 0;
  font-size: var(--cjip-fs-card);
  line-height: 1.625;
  color: var(--cjip-ink-muted);
}

/* Success panel. */
.cjip-enquiry .cjip-enquiry__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 6px 14px;
  border-radius: var(--cjip-radius-pill);
  background-color: var(--cjip-band-cool);
  color: var(--cjip-success);
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 600;
}
.cjip-enquiry .cjip-enquiry__badge svg { flex-shrink: 0; }
.cjip-enquiry .cjip-enquiry__body {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.625;
  color: var(--cjip-ink-muted);
}
.cjip-enquiry .cjip-enquiry__urgent {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 16px;
  border-radius: var(--cjip-radius-tile);
  background-color: var(--cjip-bg);
  border: 1px solid var(--cjip-border);
  font-size: var(--cjip-fs-card);
  font-weight: 500;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__urgent svg { flex-shrink: 0; color: var(--cjip-action); }
.cjip-enquiry .cjip-enquiry__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--cjip-btn-h);
  padding: 10px 24px;
  border-radius: var(--cjip-radius-pill);
  background-color: var(--cjip-surface);
  border: 1px solid var(--cjip-border);
  color: var(--cjip-ink);
  font-size: var(--cjip-fs-card);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--cjip-dur) var(--cjip-ease), color var(--cjip-dur) var(--cjip-ease);
}
.cjip-enquiry .cjip-enquiry__reset svg { color: var(--cjip-action); }
.cjip-enquiry .cjip-enquiry__reset:hover { background-color: var(--cjip-band-warm); }

/* Failure banner (#chyba): bg, 2px error border, rounded-xl, p-4 sm:p-5, mb-6. */
.cjip-enquiry .cjip-enquiry__failure {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
  padding: 16px;
  border-radius: var(--cjip-radius-tile);
  background-color: var(--cjip-bg);
  border: 2px solid var(--cjip-error);
}
.cjip-enquiry .cjip-enquiry__failure-icon { flex-shrink: 0; margin-top: 2px; color: var(--cjip-error); }
.cjip-enquiry .cjip-enquiry__failure-text { flex: 1 1 0%; }
.cjip-enquiry .cjip-enquiry__failure-badge {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.3333;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--cjip-error);
}
.cjip-enquiry .cjip-enquiry__failure-title {
  margin: 0 0 4px;
  font-family: var(--cjip-font-sans);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__failure-body {
  margin: 0 0 12px;
  font-size: var(--cjip-fs-card);
  line-height: 1.625;
  color: var(--cjip-ink-muted);
}
.cjip-enquiry .cjip-enquiry__retry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 600;
  color: var(--cjip-action);
  text-decoration: none;
  cursor: pointer;
  transition: color var(--cjip-dur) var(--cjip-ease);
}
.cjip-enquiry .cjip-enquiry__retry:hover { color: var(--cjip-action-hover); }

/* Validation summary: bg, 1px error border, rounded-xl, p-4, mb-6. */
.cjip-enquiry .cjip-enquiry__summary {
  margin-bottom: 24px;
  padding: 16px;
  border-radius: var(--cjip-radius-tile);
  background-color: var(--cjip-bg);
  border: 1px solid var(--cjip-error);
}
.cjip-enquiry .cjip-enquiry__summary-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 600;
  color: var(--cjip-error);
}
.cjip-enquiry .cjip-enquiry__summary-title svg { flex-shrink: 0; }
.cjip-enquiry .cjip-enquiry__summary-list {
  margin: 0;
  padding: 0;
  list-style: disc inside;
  font-size: 14px;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__summary-list li + li { margin-top: 4px; }

/* Form: space-y-5. */
.cjip-enquiry .cjip-enquiry__form > * + * { margin-top: 20px; }
.cjip-enquiry .cjip-enquiry__form > input[type="hidden"] + *,
.cjip-enquiry .cjip-enquiry__form > input[type="hidden"],
.cjip-enquiry .cjip-enquiry__form > .cjip-enquiry__hp + * { margin-top: 0; }

/* Honeypot: sr-only. */
.cjip-enquiry .cjip-enquiry__hp {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.cjip-enquiry .cjip-enquiry__label {
  display: block;
  margin-bottom: 6px;
  font-size: var(--cjip-fs-card);
  font-weight: 600;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__label--sm { font-size: 14px; line-height: 1.4286; }
.cjip-enquiry .cjip-enquiry__req { color: var(--cjip-error); }

/* Inputs: min-h 46px, px-4 py-2.5, rounded-xl, bg, border; inset (email/phone) min-h 44px px-3.5 py-2 surface. */
.cjip-enquiry .cjip-enquiry__input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: var(--cjip-btn-h);
  margin: 0;
  padding: 10px 16px;
  border-radius: var(--cjip-radius-tile);
  background-color: var(--cjip-bg);
  border: 1px solid var(--cjip-border);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--cjip-ink);
  transition: border-color var(--cjip-dur) var(--cjip-ease);
}
.cjip-enquiry .cjip-enquiry__input::placeholder { color: var(--cjip-placeholder); opacity: 1; }
.cjip-enquiry .cjip-enquiry__input--inset {
  min-height: var(--cjip-tap);
  padding: 8px 14px;
  background-color: var(--cjip-surface);
}
.cjip-enquiry .cjip-enquiry__select { padding: 10px 14px; }
.cjip-enquiry .cjip-enquiry__textarea { min-height: 0; padding: 12px 16px; resize: vertical; }
.cjip-enquiry .cjip-enquiry__input[aria-invalid="true"] { border-color: var(--cjip-error); }

.cjip-enquiry .cjip-enquiry__field-error {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 500;
  color: var(--cjip-error);
}
.cjip-enquiry .cjip-enquiry__field-error--contact { margin-top: 10px; }

/* Email-or-phone fieldset: bg, border, rounded-xl, p-4; legend px-1 text-sm semibold. */
.cjip-enquiry .cjip-enquiry__contact {
  min-width: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 16px;
  border-radius: var(--cjip-radius-tile);
  background-color: var(--cjip-bg);
  border: 1px solid var(--cjip-border);
}
.cjip-enquiry .cjip-enquiry__legend {
  padding: 0 4px;
  font-size: 14px;
  line-height: 1.4286;
  font-weight: 600;
  color: var(--cjip-ink);
}

.cjip-enquiry .cjip-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}
.cjip-enquiry .cjip-enquiry__grid--contact { margin-top: 8px; }

/* Consent: flex items-start gap-3; checkbox 20px mt-1; text 14px / sm 15px relaxed. */
.cjip-enquiry .cjip-enquiry__consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.cjip-enquiry .cjip-enquiry__checkbox {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 4px 0 0;
  accent-color: var(--cjip-action);
  cursor: pointer;
}
.cjip-enquiry .cjip-enquiry__consent-text {
  font-size: 14px;
  line-height: 1.625;
  color: var(--cjip-ink);
}
.cjip-enquiry .cjip-enquiry__link {
  font-weight: 600;
  color: var(--cjip-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--cjip-dur) var(--cjip-ease);
}
.cjip-enquiry .cjip-enquiry__link:hover { color: var(--cjip-action-hover); }

/* Submit row: pt-2 flex-col sm:flex-row sm:items-center justify-between gap-4. */
.cjip-enquiry .cjip-enquiry__submit-row {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  padding-top: 8px;
}
.cjip-enquiry .cjip-enquiry__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 8px;
  min-height: var(--cjip-btn-h-lg);
  padding: 12px 32px;
  border: 0;
  border-radius: var(--cjip-radius-pill);
  background-color: var(--cjip-action);
  color: var(--cjip-surface);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--cjip-dur) var(--cjip-ease);
}
.cjip-enquiry .cjip-enquiry__submit:hover { background-color: var(--cjip-action-hover); }
.cjip-enquiry .cjip-enquiry__submit:disabled { opacity: 0.7; }
.cjip-enquiry .cjip-enquiry__submit svg { flex-shrink: 0; }
.cjip-enquiry .cjip-enquiry__note {
  margin: 0;
  max-width: 20rem;
  font-size: 12px;
  line-height: 1.375;
  color: var(--cjip-ink-muted);
}

@media (min-width: 640px) {
  .cjip-enquiry .cjip-enquiry__panel { padding: 24px; }
  .cjip-enquiry .cjip-enquiry__success { padding: 32px; }
  .cjip-enquiry .cjip-enquiry__title { font-size: 32px; }
  .cjip-enquiry .cjip-enquiry__failure { padding: 20px; }
  .cjip-enquiry .cjip-enquiry__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cjip-enquiry .cjip-enquiry__consent-text { font-size: var(--cjip-fs-card); }
  .cjip-enquiry .cjip-enquiry__submit-row { flex-direction: row; align-items: center; }
  .cjip-enquiry .cjip-enquiry__note { font-size: var(--cjip-fs-small); }
}

@media (min-width: 1024px) {
  .cjip-enquiry .cjip-enquiry__panel { padding: 32px; }
  .cjip-enquiry .cjip-enquiry__title { font-size: 40px; }
  .cjip-enquiry .cjip-enquiry__lead { font-size: 16px; }
  .cjip-enquiry .cjip-enquiry__body { font-size: var(--cjip-fs-lead); }
}

@media (prefers-reduced-motion: reduce) {
  .cjip-enquiry .cjip-enquiry__reset,
  .cjip-enquiry .cjip-enquiry__retry,
  .cjip-enquiry .cjip-enquiry__input,
  .cjip-enquiry .cjip-enquiry__link,
  .cjip-enquiry .cjip-enquiry__submit { transition: none; }
}
