/* Scoped to the AI Cinema shortcodes and review workbench. */
.eucai-landing,
.eucai-app,
:is(.eucai-landing,.eucai-app) ~ section[aria-label="Privacy and data handling / 隐私与数据处理说明"] {
  --ai-space: clamp(20px, 4.2vw, 54px);
  box-sizing: border-box;
  width: 100%;
  max-width: 1160px;
  margin: 24px auto;
}

:is(.eucai-landing,.eucai-app) ~ section[aria-label="Privacy and data handling / 隐私与数据处理说明"] {
  padding-inline: var(--ai-space);
}

.eucai-landing,
.eucai-app {
  --ai-navy: #0b2d5e;
  --ai-blue: #2e7bff;
  --ai-sky: #a9d7ff;
  --ai-ink: #142b4b;
  --ai-muted: #495c78;
  --ai-brand: #1855b6;
  --ai-brand-deep: var(--ai-navy);
  --ai-canvas: #f2f6fc;
  --ai-paper: #fff;
  --ai-line: #d7e2f0;
  --ai-focus: var(--ai-brand);
  --ai-display: "Baskerville", "Iowan Old Style", "Songti SC", "Noto Serif CJK SC", Georgia, serif;
  font-family: "Avenir Next", Avenir, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ai-ink);
  min-width: 0;
  overflow-wrap: anywhere;
}

.eucai-landing *,
.eucai-app * { box-sizing: border-box; }

.eucai-landing p,
.eucai-app p { margin: 0 0 1em; color: var(--ai-paragraph, inherit); }

/* The WordPress dark theme sets paragraph colors with !important. */
.entry-content :is(.eucai-landing,.eucai-app) p { color: var(--ai-paragraph, inherit) !important; }

.entry-header:has(+ .entry-content .eucai-landing) { display: none; }

.eucai-landing {
  --ai-stock-line: #dce4ee;
  border-top: 4px solid var(--ai-navy);
  background: white;
}

.eucai-masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px var(--ai-space);
  border-bottom: 1px solid var(--ai-stock-line);
}

.eucai-festival-mark {
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.4;
}

.eucai-masthead p { margin: 0; }
.eucai-masthead .eucai-festival-mark span { display: block; color: var(--ai-muted); font-weight: 550; }

.eucai-season {
  flex: none;
  --ai-paragraph: var(--ai-muted);
  font-size: .92rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.eucai-poster {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(16px, 4vw, 54px);
  padding: clamp(32px, 6vw, 84px) var(--ai-space);
}

.eucai-poster-copy { min-width: 0; }

.eucai-landing #eucai-section-title {
  margin: 0 0 16px;
  color: var(--ai-navy);
  font-family: var(--ai-display);
  font-size: clamp(2.7rem, 5.7vw, 5.2rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.05;
  text-transform: none;
}

.eucai-landing #eucai-section-title span {
  display: block;
  margin-top: .12em;
  font-size: .67em;
  line-height: 1.18;
}

.eucai-landing p.eucai-poster-en {
  --ai-paragraph: var(--ai-muted);
  max-width: 32ch;
  margin-bottom: 0;
  font-family: var(--ai-display);
  font-size: clamp(1.22rem, 2.5vw, 1.85rem);
  line-height: 1.2;
  text-wrap: balance;
}

.eucai-landing .eucai-period {
  max-width: 60ch;
  margin: clamp(22px, 3vw, 38px) 0 22px;
  padding-top: 14px;
  border-top: 1px solid var(--ai-stock-line);
}

.eucai-landing .eucai-period p { font-weight: 650; margin-bottom: 5px; }
.eucai-landing .eucai-period p + p { --ai-paragraph: var(--ai-muted); font-weight: 500; margin-bottom: 0; }

.eucai-poster-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}

.eucai-poster-action p {
  --ai-paragraph: var(--ai-muted);
  margin: 0;
  font-size: .83rem;
  line-height: 1.4;
}

.eucai-poster-action p span { display: block; }

.eucai-landing a.eucai-cta {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 11px 15px;
  border-radius: 5px;
  background: var(--ai-navy);
  color: white;
  font-size: .94rem;
  font-weight: 750;
  text-decoration: none;
}

.eucai-landing a.eucai-cta:hover { background: var(--ai-brand); }
.eucai-landing a.eucai-cta small { display: block; color: #d5eaff; font-size: .76rem; font-weight: 600; }
.eucai-cta svg { flex: none; }

.eucai-identity { min-width: 0; }

.eucai-symbol {
  aspect-ratio: 891 / 840;
  background: white url("./ai-cinema-official-logo-en.png") center / contain no-repeat;
}

.eucai-identity .eucai-symbol { width: min(100%, 360px); margin-inline: auto; }

.eucai-workbench-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.eucai-workbench-identity .eucai-symbol {
  flex: 0 0 112px;
}

.eucai-period p { font-size: .91rem; font-weight: 650; }
.eucai-period p:last-child { margin-bottom: 0; }

.eucai-app {
  padding: var(--ai-space);
  background: var(--ai-paper);
  border: 1px solid var(--ai-line);
  border-radius: 18px;
}

.eucai-app[data-view] :is(h2,h3,label,legend) { color: var(--ai-ink); }

.eucai-app h2,
.eucai-app h3 {
  margin: 0;
  font-family: inherit;
  font-weight: 720;
  line-height: 1.18;
  letter-spacing: -.027em;
  text-transform: none;
}

.eucai-app h2 { font-size: clamp(1.55rem, 3vw, 2.5rem); }
.eucai-app h3 { font-size: clamp(1.2rem, 2vw, 1.7rem); }

.eucai-toolbar,
.eucai-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.eucai-toolbar { justify-content: space-between; }
.eucai-workbench-header .eucai-festival-mark { --ai-paragraph: var(--ai-brand); margin-bottom: .42rem; }

.eucai-app .eucai-period {
  margin: 18px 0;
  padding: 12px 16px;
  background: var(--ai-canvas);
  border-left: 3px solid var(--ai-blue);
  border-radius: 0 8px 8px 0;
}

.eucai-app .eucai-period-detail {
  --ai-paragraph: var(--ai-muted);
  font-size: .79rem;
  font-weight: 500;
}

.eucai-app button {
  display: inline-block;
  min-height: 42px;
  max-width: 100%;
  margin: 4px 6px 4px 0;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 9px 14px;
  background: var(--ai-brand);
  color: white;
  cursor: pointer;
  font-family: inherit;
  font-size: .91rem;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

.eucai-app button:not(:disabled):hover { background: var(--ai-brand-deep); color: white; }
.eucai-app button.eucai-secondary,
.eucai-app .eucai-entry-table button {
  background: white;
  border-color: #c5d5eb;
  color: var(--ai-brand-deep);
}

.eucai-app button.eucai-secondary:not(:disabled):hover,
.eucai-app .eucai-entry-table button:hover { background: #e9f2ff; color: var(--ai-brand-deep); }

.eucai-app button.eucai-quiet {
  background: transparent;
  color: var(--ai-brand-deep);
  text-decoration: underline;
  text-underline-offset: .2em;
}

.eucai-app button.eucai-quiet:not(:disabled):hover { background: #e9f2ff; color: var(--ai-brand-deep); }

.eucai-app button:disabled,
.eucai-app button.eucai-secondary:disabled,
.eucai-app button.eucai-quiet:disabled {
  background: #edf1f6;
  border-color: #dde5ee;
  color: #526480;
  cursor: not-allowed;
}

.eucai-app :is(button,input,select,textarea,summary):focus-visible,
.eucai-landing a:focus-visible {
  outline: 3px solid var(--ai-focus);
  outline-offset: 3px;
}

.eucai-field { display: block; margin: 16px 0; min-width: 0; }
.eucai-field > span { display: block; margin-bottom: 5px; font-weight: 650; }

.eucai-app[data-view] :is(input:not([type=checkbox]),select,textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  min-height: 44px;
  margin: 0;
  border: 1px solid #8198b5;
  border-radius: 8px;
  padding: 9px 11px;
  color: var(--ai-ink);
  background: #f8fbff;
  font: inherit;
}

.eucai-app textarea { min-height: 120px; resize: vertical; }
.eucai-app input[type=checkbox] { width: 19px; height: 19px; flex: none; accent-color: var(--ai-brand); }
.eucai-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 10px; }
.eucai-options label,
.eucai-consent { display: flex; align-items: flex-start; gap: 10px; }
.eucai-consent { margin: 16px 0; }

.eucai-notice { --ai-paragraph: #17623f; }
.eucai-notice:empty { display: none; }
.eucai-app .eucai-notice.error {
  --ai-paragraph: #8d2038;
  background: #fff2f5;
  border-left: 3px solid #b84761;
  padding: 9px 12px;
}
.eucai-workbench-header + .eucai-notice:not(:empty) { margin-top: 14px; }

.eucai-app .eucai-test-flag {
  border: 1px solid #e6d8b1;
  border-radius: 8px;
  background: #fbf3dd;
  --ai-paragraph: #664909;
  padding: 8px 11px;
  font-size: .83rem;
  font-weight: 650;
}

.eucai-app .eucai-entry-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: .89rem;
}

.eucai-app .eucai-entry-table th,
.eucai-app .eucai-entry-table td {
  padding: 12px 9px;
  border: 0;
  border-bottom: 1px solid var(--ai-line);
  color: var(--ai-ink);
  text-align: left;
  vertical-align: middle;
}

.eucai-app .eucai-entry-table th {
  background: var(--ai-canvas);
  font-weight: 720;
  letter-spacing: normal;
  text-transform: none;
}

.eucai-entry-table td:first-child,
.eucai-entry-table td:nth-child(3) { font-variant-numeric: tabular-nums; }
.eucai-entry-table td:first-child { font-weight: 700; }
.eucai-entry-table td:nth-child(3) { color: var(--ai-muted); }

.eucai-status {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  background: #e8f0fc;
  color: var(--ai-navy);
  font-size: .82rem;
  font-weight: 700;
}

.eucai-status[data-status="ELIGIBLE"] { background: #e6f4ec; color: #165238; }
.eucai-status[data-status="ACTION_REQUIRED"] { background: #fbf0d7; color: #704b0a; }
.eucai-status[data-status="INELIGIBLE"] { background: #fbe9ef; color: #902342; }
.eucai-empty { --ai-paragraph: var(--ai-muted); margin: 16px 0; padding: 24px 14px; background: var(--ai-canvas); border-radius: 8px; }
.eucai-app[data-view="review"] > .eucai-toolbar:not(.eucai-workbench-header) > select { width: auto; flex: 1 1 180px; }

.eucai-steps {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 6px;
  margin: 16px 0;
  padding: 6px;
  border-radius: 12px;
  background: var(--ai-canvas);
}

.eucai-app .eucai-steps button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  margin: 0;
  min-height: 65px;
  padding: 8px;
  text-align: left;
  background: transparent;
  color: var(--ai-ink);
  font-size: .8rem;
}

.eucai-app .eucai-steps button:hover { background: #e3eeff; color: var(--ai-ink); }
.eucai-app .eucai-steps [aria-current="step"],
.eucai-app .eucai-steps [aria-current="step"]:hover { background: var(--ai-brand); color: white; }
.eucai-step-number { font-weight: 780; font-variant-numeric: tabular-nums; }

.eucai-form-section { margin: 16px 0; padding: clamp(14px,3vw,28px); border: 1px solid var(--ai-line); border-radius: 12px; }
.eucai-form-section > h3 { margin-bottom: 14px; }
.eucai-app fieldset { min-width: 0; border: 1px solid var(--ai-line); border-radius: 8px; padding: 12px; margin: 14px 0; }
.eucai-app dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 8px 12px; }
.eucai-app dt { font-weight: 650; }
.eucai-app dd { margin: 0; white-space: pre-wrap; }
.eucai-app summary { cursor: pointer; color: var(--ai-brand-deep); font-weight: 700; padding: 8px 0; }
.eucai-privacy { margin: 12px 0; padding: 5px 12px; border-radius: 8px; background: var(--ai-canvas); }
.eucai-privacy p { max-width: 68ch; }

.eucai-app[data-view="auth"] {
  display: grid;
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
  padding: 0;
  overflow: hidden;
}

.eucai-auth-cover {
  min-width: 0;
  padding: var(--ai-space);
  border-right: 1px solid var(--ai-line);
  background: var(--ai-canvas);
  color: var(--ai-navy);
}

.eucai-auth-identity .eucai-symbol {
  width: 156px;
  margin: 0 0 18px;
}

.eucai-auth-title {
  font-family: var(--ai-display);
  font-size: clamp(1.75rem,3.4vw,3.1rem);
  line-height: 1.05;
  letter-spacing: -.025em;
}

.eucai-auth-cover .eucai-period {
  background: white;
  color: var(--ai-navy);
  margin-bottom: 0;
}
.eucai-auth-cover .eucai-test-flag { margin: 12px 0 0; }
.eucai-auth-panel { min-width: 0; padding: var(--ai-space); }
.eucai-auth-panel .eucai-toolbar { margin-bottom: 18px; }
.eucai-auth-panel .eucai-toolbar h2 { font-size: clamp(1.4rem,2.7vw,2.15rem); }
.eucai-auth-panel .eucai-toolbar button { margin: 0; }
.eucai-auth-actions > button:first-child { min-width: 105px; }
.eucai-auth-state { --ai-paragraph: var(--ai-muted); font-size: .87rem; }

@media (max-width: 720px) {
  .eucai-poster,
  .eucai-app[data-view="auth"] { grid-template-columns: minmax(0,1fr); }
  .eucai-poster { gap: 16px; padding-block: 24px 30px; }
  .eucai-identity { grid-row: 1; }
  .eucai-identity .eucai-symbol { width: clamp(110px, 29vw, 178px); margin: 0; }
  .eucai-auth-cover { border-right: 0; border-bottom: 1px solid var(--ai-line); }
  .eucai-auth-identity { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 14px; }
  .eucai-auth-identity .eucai-symbol { width: 100%; margin: 0; }
  .eucai-app .eucai-auth-title { margin-bottom: 0; }
  .eucai-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 460px) {
  .eucai-landing,
  .eucai-app,
  :is(.eucai-landing,.eucai-app) ~ section[aria-label="Privacy and data handling / 隐私与数据处理说明"] {
    --ai-space: 16px;
    margin: 12px auto;
  }
  .eucai-landing,
  .eucai-app { border-radius: 12px; }
  .eucai-landing { overflow: hidden; }
  .eucai-app .eucai-entry-table td,
  .eucai-app .eucai-entry-table th { padding: 8px 4px; font-size: .75rem; }
  .eucai-app .eucai-entry-table button { padding-inline: 6px; }
  .eucai-status { font-size: .73rem; padding-inline: 5px; }
  .eucai-app dl { grid-template-columns: minmax(0,1fr); }
  .eucai-app dd { margin-bottom: 10px; }
}
