/* The free workbook cover tool (/tools/workbook-cover-generator). Uses the site's --pub-* colors from molansia-public-v3.css.
   Layout follows the "use the space" rule: side by side when the container is wide enough (container queries), stacked on phones. */
.ct-root{overflow:visible}
.ct-main{width:min(1260px,calc(100% - 32px));margin:0 auto;padding:22px 0 40px;color:var(--pub-text)}
.ct-intro{max-width:880px;margin:0 0 18px}
.ct-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pub-accent)}
.ct-intro h1{font-family:"Inter Tight",Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(26px,3.4vw,40px);line-height:1.1;margin:6px 0 8px;letter-spacing:-.01em}
.ct-lead{margin:0;color:var(--pub-muted);font-size:16px;line-height:1.55}

.ct-tool{container-type:inline-size;container-name:tool}
.ct-grid{display:grid;gap:16px;grid-template-columns:1fr}
.ct-card{background:var(--pub-panel);border:1px solid var(--pub-line);border-radius:18px;padding:18px;min-width:0}

.ct-form{display:flex;flex-direction:column;gap:6px}
.ct-form label{font-size:13px;font-weight:600;color:var(--pub-muted);margin-top:6px}
.ct-form label small{font-weight:400}
.ct-form input,.ct-form select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--pub-line-strong);background:var(--pub-panel-solid);color:var(--pub-text);padding:0 12px;font-size:15px}
.ct-form input:focus,.ct-form select:focus{outline:2px solid var(--pub-accent);outline-offset:1px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ct-row>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.ct-turnstile:empty{display:none}
.ct-go{margin-top:12px;min-height:48px;border-radius:999px;border:0;background:var(--pub-primary);color:var(--pub-primary-text);font-weight:700;font-size:15px;cursor:pointer;padding:0 18px}
.ct-go:disabled{opacity:.6;cursor:wait}
.ct-status{min-height:20px;margin:6px 0 0;font-size:13.5px;color:var(--pub-muted)}
.ct-status.ct-error{color:#ff8a80}
html[data-theme="light"] .ct-status.ct-error{color:#b3261e}

.ct-preview{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.ct-cover{aspect-ratio:1600/2200;width:100%;max-width:420px;margin:0 auto;border-radius:10px;overflow:hidden;background:var(--pub-panel-2);box-shadow:var(--pub-shadow);position:relative}
.ct-cover img{display:block;width:100%;height:100%;object-fit:contain}
.ct-cover-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:28px;background:linear-gradient(160deg,var(--pub-panel-2),var(--pub-bg-soft))}
.ct-cover-empty span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--pub-muted)}
.ct-cover-empty strong{font-family:"Inter Tight",Inter,sans-serif;font-size:26px;line-height:1.15;overflow-wrap:anywhere}
.ct-wait .ct-cover-empty{animation:ct-pulse 1.2s ease-in-out infinite alternate}
@keyframes ct-pulse{from{opacity:.65}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.ct-wait .ct-cover-empty{animation:none}}
.ct-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ct-btn{min-height:40px;border-radius:999px;border:1px solid var(--pub-line-strong);background:transparent;color:var(--pub-text);padding:0 14px;font-size:14px;font-weight:600;cursor:pointer}
.ct-btn:hover:not(:disabled){border-color:var(--pub-accent)}
.ct-btn:disabled{opacity:.45;cursor:default}
.ct-share-links{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:13.5px}
.ct-share-links a{color:var(--pub-accent)}

.ct-result{display:flex;flex-direction:column;gap:12px}
.ct-outline{min-height:120px}
.ct-o-title{font-family:"Inter Tight",Inter,sans-serif;font-size:21px;line-height:1.2;margin:0 0 4px}
.ct-o-sub{margin:0 0 10px;color:var(--pub-muted);font-size:14.5px}
.ct-o-list{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:7px}
.ct-o-list li{font-size:14px;line-height:1.45}
.ct-o-list strong{display:block}
.ct-o-list span{color:var(--pub-muted)}
.ct-o-bonus{margin:10px 0 0;font-size:14px}
.ct-muted{color:var(--pub-muted);font-size:14px;margin:0}
.ct-copy{align-self:flex-start}
.ct-cta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:12px;border-top:1px solid var(--pub-line)}
.ct-cta-link{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border-radius:999px;background:var(--pub-primary);color:var(--pub-primary-text);text-decoration:none;font-weight:700;font-size:14.5px;line-height:1.3}
.ct-cta small{color:var(--pub-muted);font-size:13px}

.ct-info{display:grid;gap:16px;margin-top:28px;container-type:inline-size}
.ct-info h2,.ct-faq h2{font-family:"Inter Tight",Inter,sans-serif;font-size:21px;margin:0 0 10px}
.ct-how ol,.ct-makes ul{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:8px;line-height:1.5;color:var(--pub-muted)}
.ct-how strong{color:var(--pub-text)}
.ct-makes p{margin:12px 0 0}
.ct-makes a,.ct-faq a{color:var(--pub-accent)}
.ct-faq{margin-top:28px;display:grid;gap:8px}
.ct-faq details{border:1px solid var(--pub-line);border-radius:12px;padding:12px 14px;background:var(--pub-panel)}
.ct-faq summary{cursor:pointer;font-weight:600}
.ct-faq details p{margin:8px 0 0;color:var(--pub-muted);line-height:1.55}
.ct-cta-end{border-top:0;padding-top:8px}
.ct-footer{width:min(1260px,calc(100% - 32px));margin:0 auto}

/* wide enough: form | cover | outline side by side */
@container tool (min-width: 700px){
  .ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ct-result{grid-column:1 / -1}
}
@container tool (min-width: 1080px){
  .ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.15fr);align-items:start}
  .ct-result{grid-column:auto}
}
@media (min-width:900px){.ct-info{grid-template-columns:1fr 1fr}}
@media (max-width:520px){
  .ct-row{grid-template-columns:1fr}
  .ct-header .pub-nav{display:none}
}
