/* Ceritera V8.6 — Import Integration and automatic publication covers. */
.import-modal-overlay { padding:clamp(.75rem,3vw,2rem); align-items:flex-start; overflow:auto; }
.import-workbench-modal { width:min(1120px,100%); max-width:none; margin:auto; padding:clamp(1rem,2.6vw,2rem); border-radius:var(--radius-lg); }
.import-preview-modal { width:min(1180px,100%); }
.import-workflow-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-6); align-items:end; margin:var(--space-4) 0 var(--space-7); padding-bottom:var(--space-5); border-bottom:1px solid var(--border-subtle); }
.import-workflow-heading h2 { margin:.35rem 0 .5rem; font:700 clamp(1.8rem,4vw,3.2rem)/1 var(--font-display); letter-spacing:var(--tracking-tight); }
.import-workflow-heading p { max-width:68ch; margin:0; color:var(--text-secondary); line-height:1.65; }
.import-workflow-kicker { font:800 var(--text-2xs)/1 var(--font-label); letter-spacing:.14em; text-transform:uppercase; color:var(--action-primary); }
.import-stepper { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.import-stepper span { padding:.55rem .75rem; border:1px solid var(--border-subtle); border-radius:999px; font:800 .66rem/1 var(--font-ui); color:var(--text-secondary); background:var(--surface-muted); }
.import-stepper span.is-complete { border-color:color-mix(in srgb,var(--action-primary) 35%,var(--border-subtle)); color:var(--action-primary); }
.import-stepper span.is-current { border-color:var(--action-primary); color:#fff; background:var(--action-primary); }

.import-upload-stage { display:grid; gap:var(--space-4); }
.import-dropzone { min-height:270px; display:grid; place-items:center; align-content:center; gap:var(--space-3); padding:clamp(2rem,6vw,5rem); border:1.5px dashed color-mix(in srgb,var(--action-primary) 50%,var(--border-subtle)); border-radius:var(--radius-md); background:linear-gradient(145deg,var(--surface-paper),var(--action-primary-soft)); text-align:center; cursor:pointer; transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast); }
.import-dropzone:hover { transform:translateY(-2px); border-color:var(--action-primary); }
.import-dropzone input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.import-dropzone-mark { padding:.65rem .85rem; border-radius:var(--radius-xs); background:var(--action-primary); color:#fff; font:800 var(--text-xs)/1 var(--font-ui); letter-spacing:.08em; }
.import-dropzone strong { font:700 clamp(1.65rem,4vw,2.65rem)/1 var(--font-display); }
.import-dropzone > span:last-of-type { max-width:58ch; color:var(--text-secondary); line-height:1.6; }
.import-status { min-height:1.5rem; color:var(--text-secondary); }
.import-engine-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--space-3); padding:var(--space-4); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-muted); font-size:.82rem; line-height:1.55; }
.import-engine-note strong { color:var(--action-primary); }

.import-metadata-layout { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.6fr); gap:clamp(1.5rem,5vw,4rem); align-items:start; }
.import-cover-editor { position:sticky; top:1rem; display:grid; justify-items:center; gap:var(--space-3); }
.auto-cover-badge,.preview-cover-caption { text-align:center; font:700 .68rem/1.4 var(--font-ui); color:var(--text-secondary); }
.import-metadata-form { min-width:0; }
.import-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); }
.import-field-wide { grid-column:1/-1; }
.form-field label span { font-weight:500; color:var(--text-secondary); }
.import-metadata-form textarea { width:100%; resize:vertical; }
.publication-theme-fieldset { min-width:0; margin:var(--space-6) 0 0; padding:0; border:0; }
.publication-theme-fieldset legend { margin-bottom:var(--space-3); font:800 var(--text-xs)/1 var(--font-ui); }
.publication-theme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); }
.publication-theme-choice { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto; gap:4px var(--space-3); align-items:center; padding:var(--space-3); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-paper); color:var(--text-primary); text-align:left; box-shadow:none; }
.publication-theme-choice:hover,.publication-theme-choice.is-selected { border-color:var(--action-primary); background:var(--action-primary-soft); }
.publication-theme-choice.is-selected { box-shadow:0 0 0 2px color-mix(in srgb,var(--action-primary) 16%,transparent); }
.publication-theme-choice strong { font:800 .78rem/1.2 var(--font-ui); }
.publication-theme-choice small { grid-column:2; color:var(--text-secondary); font-size:.68rem; line-height:1.35; }
.publication-theme-swatch { grid-row:1/3; width:42px; aspect-ratio:3/4; border-radius:5px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); }
.import-audit-strip { display:flex; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-5); padding:var(--space-4); border-left:3px solid var(--action-primary); background:var(--surface-muted); color:var(--text-secondary); font-size:.74rem; line-height:1.5; }
.import-audit-strip strong { color:var(--text-primary); }
.import-workflow-actions { margin-top:var(--space-6); }

.publication-auto-cover { position:relative; isolation:isolate; aspect-ratio:3/4; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1rem,3vw,2rem); border-radius:var(--radius-xs); color:#fff; box-shadow:var(--shadow-elevated); text-align:center; }
.publication-auto-cover::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.18; background-image:linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.36) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(255,255,255,.2) 50%,transparent 50.5%); background-size:42px 42px; }
.publication-auto-cover::after { content:""; position:absolute; z-index:-1; width:72%; aspect-ratio:1; right:-26%; bottom:-16%; border:1px solid rgba(255,255,255,.35); border-radius:50%; box-shadow:0 0 0 38px rgba(255,255,255,.07),0 0 0 82px rgba(255,255,255,.05); }
.publication-cover-editor { width:min(100%,330px); }
.publication-cover-final { width:min(100%,390px); }
.publication-cover-brand { padding-bottom:.55rem; border-bottom:1.5px solid currentColor; font:700 clamp(1.25rem,3vw,2.15rem)/1 var(--font-display); letter-spacing:.09em; }
.publication-cover-edition { font:800 .58rem/1 var(--font-ui); letter-spacing:.14em; }
.publication-cover-centre { display:grid; place-items:center; gap:var(--space-3); margin:auto; width:100%; }
.publication-cover-centre strong { max-width:11ch; font:700 clamp(2rem,5vw,4.15rem)/.94 var(--font-display); letter-spacing:var(--tracking-tight); text-wrap:balance; }
.publication-cover-centre em { max-width:26ch; font:italic 500 clamp(.75rem,1.8vw,1.05rem)/1.35 var(--font-reading); }
.publication-cover-centre span { font:800 .62rem/1.3 var(--font-ui); letter-spacing:.1em; text-transform:uppercase; }
.publication-auto-cover > small { font:800 .52rem/1 var(--font-ui); letter-spacing:.12em; text-transform:uppercase; }

.publication-auto-cover.publication-theme-literary-cream,.publication-auto-reader-cover.publication-theme-literary-cream,.publication-theme-swatch.publication-theme-literary-cream,.cover-tone-0 { background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.28),transparent 29%),linear-gradient(150deg,#d7a77c,#7d342f)!important; }
.publication-auto-cover.publication-theme-midnight-editorial,.publication-auto-reader-cover.publication-theme-midnight-editorial,.publication-theme-swatch.publication-theme-midnight-editorial,.cover-tone-1 { background:radial-gradient(circle at 80% 12%,rgba(168,85,247,.46),transparent 30%),linear-gradient(150deg,#111827,#312e81)!important; }
.publication-auto-cover.publication-theme-pastel-story,.publication-auto-reader-cover.publication-theme-pastel-story,.publication-theme-swatch.publication-theme-pastel-story,.cover-tone-2 { background:radial-gradient(circle at 28% 16%,rgba(255,255,255,.46),transparent 30%),linear-gradient(150deg,#e8a9bd,#7c5bb8)!important; }
.publication-auto-cover.publication-theme-newspaper,.publication-auto-reader-cover.publication-theme-newspaper,.publication-theme-swatch.publication-theme-newspaper,.cover-tone-3 { background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.14),transparent 30%),linear-gradient(150deg,#8a8175,#2e2a27)!important; }
.publication-auto-cover.publication-theme-modern-minimal,.publication-auto-reader-cover.publication-theme-modern-minimal,.publication-theme-swatch.publication-theme-modern-minimal,.cover-tone-4 { background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.3),transparent 30%),linear-gradient(150deg,#5d92bd,#1e3a8a)!important; }
.publication-auto-cover.publication-theme-ocean-journal,.publication-auto-reader-cover.publication-theme-ocean-journal,.publication-theme-swatch.publication-theme-ocean-journal,.cover-tone-5 { background:radial-gradient(circle at 24% 12%,rgba(255,255,255,.3),transparent 30%),linear-gradient(150deg,#4fa6a5,#155e75)!important; }

.import-final-preview { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.import-preview-cover-column { display:grid; justify-items:center; gap:var(--space-3); }
.import-preview-details > h2 { margin:.45rem 0 .5rem; font:700 clamp(2.2rem,5vw,4.6rem)/.96 var(--font-display); letter-spacing:var(--tracking-tight); text-wrap:balance; }
.preview-edition-label { font:800 var(--text-2xs)/1 var(--font-ui); letter-spacing:.14em; color:var(--action-primary); }
.preview-subtitle { margin:0 0 var(--space-3); font:italic 500 var(--text-lg)/1.5 var(--font-reading); color:var(--text-secondary); }
.preview-byline { margin:0 0 var(--space-5); font-weight:700; }
.preview-description { max-width:64ch; margin:0 0 var(--space-6); font:400 var(--text-md)/1.75 var(--font-reading); }
.preview-metadata-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--border-subtle); }
.preview-metadata-grid span { padding:var(--space-4); border-right:1px solid var(--border-subtle); }
.preview-metadata-grid span:last-child { border-right:0; }
.preview-metadata-grid small,.preview-metadata-grid strong { display:block; }
.preview-metadata-grid small { margin-bottom:5px; font:800 .6rem/1 var(--font-ui); letter-spacing:.1em; text-transform:uppercase; color:var(--text-secondary); }
.preview-metadata-grid strong { font:700 var(--text-sm)/1.3 var(--font-display); }
.preview-structure { margin-top:var(--space-6); }
.preview-section-heading { display:flex; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-3); border-bottom:2px solid var(--text-primary); font-size:.78rem; }
.preview-structure ol { max-height:230px; margin:0; padding:0; overflow:auto; list-style:none; }
.preview-structure li { display:grid; grid-template-columns:2.5rem minmax(0,1fr) auto; gap:var(--space-3); align-items:center; padding:var(--space-3) 0; border-bottom:1px solid var(--border-subtle); }
.preview-structure li span,.preview-structure li small { font:800 .62rem/1 var(--font-ui); letter-spacing:.08em; color:var(--text-secondary); text-transform:uppercase; }
.preview-structure li strong { font:600 var(--text-sm)/1.3 var(--font-display); }
.preview-structure > p { color:var(--text-secondary); font-size:.72rem; }
.preview-audit-card { display:grid; gap:4px; margin-top:var(--space-5); padding:var(--space-4); border:1px solid color-mix(in srgb,var(--action-primary) 35%,var(--border-subtle)); border-radius:var(--radius-sm); background:var(--action-primary-soft); }
.preview-audit-card span,.preview-audit-card small { color:var(--text-secondary); overflow-wrap:anywhere; }

/* Apply publication identity to reader shell pages without changing chapter data. */
#readerView[data-publication-theme] .magazine-info-page,
#readerView[data-publication-theme] .magazine-contents-page,
#readerView[data-publication-theme] .magazine-chapter-opener-copy { background:color-mix(in srgb,var(--surface-paper) 94%,var(--action-primary-soft)); }
.magazine-edition-subtitle { margin:-.35rem 0 var(--space-4); font:italic 500 var(--text-lg)/1.5 var(--font-reading); color:var(--text-secondary); }
.publication-auto-reader-cover { background-image:none!important; }

@media (max-width:900px) {
  .import-workflow-heading { grid-template-columns:1fr; align-items:start; }
  .import-stepper { justify-content:flex-start; }
  .import-metadata-layout,.import-final-preview { grid-template-columns:1fr; }
  .import-cover-editor { position:static; }
  .publication-cover-editor { width:min(70vw,310px); }
  .publication-cover-final { width:min(72vw,350px); }
}
@media (max-width:680px) {
  .import-modal-overlay { padding:0; }
  .import-workbench-modal { min-height:100dvh; border-radius:0; padding:var(--space-4); }
  .import-form-grid,.publication-theme-grid { grid-template-columns:1fr; }
  .import-field-wide { grid-column:auto; }
  .import-audit-strip,.preview-section-heading { align-items:flex-start; flex-direction:column; }
  .preview-metadata-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .preview-metadata-grid span:nth-child(2) { border-right:0; }
  .preview-metadata-grid span:nth-child(-n+2) { border-bottom:1px solid var(--border-subtle); }
  .import-workflow-actions { position:sticky; bottom:0; z-index:4; margin-inline:calc(var(--space-4) * -1); margin-bottom:calc(var(--space-4) * -1); padding:var(--space-3) var(--space-4); background:color-mix(in srgb,var(--surface-paper) 94%,transparent); backdrop-filter:blur(14px); }
  .publication-cover-centre strong { font-size:clamp(2rem,11vw,3.6rem); }
}
@media (prefers-reduced-motion:reduce) { .import-dropzone { transition:none; } }


/* V8.7.5 — optional author and publication-year metadata. */
.publication-cover-credits {
  display: grid;
  gap: .38rem;
  width: min(100%, 24rem);
  margin-top: var(--space-2);
  text-align: left;
}
.publication-cover-credits span {
  display: grid;
  grid-template-columns: minmax(8.5rem, auto) minmax(0, 1fr);
  gap: .55rem;
  font: 700 .58rem/1.3 var(--font-ui);
  letter-spacing: .045em;
  text-transform: none;
}
.publication-cover-credits b { white-space: nowrap; }
.publication-cover-credits i { min-height: 1em; font-style: normal; overflow-wrap: anywhere; }
.preview-publication-lines {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-4) 0;
}
.preview-publication-lines span {
  display: grid;
  grid-template-columns: minmax(9.5rem, auto) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: baseline;
}
.preview-publication-lines small { font-weight: 800; color: var(--text-secondary); }
.preview-publication-lines strong { min-height: 1.1em; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .publication-cover-credits span,
  .preview-publication-lines span { grid-template-columns: 1fr; gap: .1rem; text-align: center; }
}
