/* Geschreven Gedichten – gedeelde Studio-componenten, v3.1.3.
 * Functionele stap- en downloadinstellingen blijven eigendom van de plugin;
 * de visuele tokens komen vanuit het actieve thema, met veilige fallback.
 */
.builder-wrapper,
.ggw-v21-studio-theme,
#gg114-page,
#gg111-atelier {
  --ggs-paper: var(--ggw-paper, #fffdf9);
  --ggs-ivory: var(--ggw-cream, #fffaf5);
  --ggs-blush: var(--ggw-blush, #f3e0d7);
  --ggs-clay: var(--ggw-primary, #b56854);
  --ggs-clay-dark: #924c3c;
  --ggs-ink: #46362e;
  --ggs-muted: #77665e;
  --ggs-line: #e9d7ca;
  --ggs-radius: 22px;
  --ggs-shadow: 0 13px 32px rgba(75,45,30,.065);
  color: var(--ggs-ink);
  font-family: Outfit, 'Plus Jakarta Sans', sans-serif;
}
.builder-wrapper, .builder-wrapper *, .ggw-v21-studio-theme *, #gg114-page * {box-sizing:border-box}
/* Central studio: step screens always have one centered content container. */
body.ggw-theme .builder-wrapper{width:100%;max-width:100%;margin:0 auto!important;background:transparent!important;overflow:visible}
body.ggw-theme .builder-wrapper .builder-container.gg37-studio{width:min(1280px,calc(100% - 20px));max-width:1280px!important;margin-inline:auto!important;padding-inline:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.ggw-theme .builder-wrapper .gg42-phase{max-width:100%;min-width:0;margin-inline:auto}
body.ggw-theme .builder-wrapper .gg42-phase-head{padding:clamp(22px,3vw,39px)!important;border:1px solid var(--ggs-line)!important;border-radius:var(--ggs-radius)!important;background:linear-gradient(120deg,#fffdf9,#f8eee7)!important;box-shadow:var(--ggs-shadow)!important;margin:0 0 22px!important}
body.ggw-theme .builder-wrapper .gg42-phase-head h2{font:600 clamp(32px,3.4vw,48px)/1.12 'Cormorant Garamond',Georgia,serif!important;color:var(--ggs-ink)!important;margin:8px 0!important}
body.ggw-theme .builder-wrapper .gg42-phase-head p{color:var(--ggs-muted)!important;line-height:1.7!important;margin:0!important}
body.ggw-theme .builder-wrapper .gg42-eyebrow,body.ggw-theme .builder-wrapper .gg61-eyebrow{color:var(--ggs-clay)!important;font-weight:750!important;letter-spacing:.13em}
/* Model selection: overrides legacy hard-coded inline blue/gray rules. */
body.ggw-theme .builder-wrapper .vv-mode-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice{min-width:0!important;width:100%;min-height:90px;padding:16px!important;border:1px solid var(--ggs-line)!important;border-radius:17px!important;background:var(--ggs-paper)!important;color:var(--ggs-ink)!important;box-shadow:0 6px 20px rgba(75,45,30,.045)!important;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice:hover{transform:translateY(-2px);box-shadow:var(--ggs-shadow)!important;border-color:#c99b87!important}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice.active,body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice[aria-selected="true"]{border:2px solid var(--ggs-clay)!important;background:#f8ede5!important}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice>span:first-child{background:#f3e1d5!important;color:var(--ggs-clay-dark)!important}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice strong{font-weight:700!important;color:var(--ggs-ink)!important}
body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice small{color:var(--ggs-muted)!important;line-height:1.5!important}
/* Main create/editor cards – only presentation, never edit display state. */
body.ggw-theme .builder-wrapper :is(.ai-assistant-card,.input-card,.stanza-card,.gg61-writing-compass){background:var(--ggs-paper)!important;border:1px solid var(--ggs-line)!important;border-radius:20px!important;box-shadow:var(--ggs-shadow)!important;color:var(--ggs-ink)!important}
body.ggw-theme .builder-wrapper .ai-assistant-card{padding:clamp(19px,3vw,34px)!important;margin-bottom:23px!important}
body.ggw-theme .builder-wrapper :is(.ai-assistant-header h2,.stanza-header h3,.input-card h2){font-family:'Cormorant Garamond',Georgia,serif!important;color:var(--ggs-ink)!important;line-height:1.15!important}
body.ggw-theme .builder-wrapper :is(.ai-assistant-header p,.ai-field-group small,.gg61-feedback){color:var(--ggs-muted)!important}
body.ggw-theme .builder-wrapper .ai-badge{background:#f3e3d8!important;color:var(--ggs-clay-dark)!important;border:1px solid #e8cbbc!important}
body.ggw-theme .builder-wrapper .ai-field-group label{color:var(--ggs-ink)!important}
body.ggw-theme .builder-wrapper .ai-field-group label>span{background:var(--ggs-clay)!important;color:#fff!important}
body.ggw-theme .builder-wrapper :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select,.poem-line){max-width:100%;background:#fffefd!important;color:var(--ggs-ink)!important;border:1px solid #dec7b8!important;border-radius:13px!important;box-shadow:none!important;line-height:1.55}
body.ggw-theme .builder-wrapper :is(input,textarea,select):focus-visible{outline:2px solid #bf806d!important;outline-offset:2px;border-color:#bf806d!important}
body.ggw-theme .builder-wrapper details{border-color:var(--ggs-line)!important;background:#fffaf5!important;border-radius:15px!important}
body.ggw-theme .builder-wrapper :is(.btn-ai-generate,.btn-primary,.gg42-next,.gg42-back):not(:disabled){background:var(--ggs-clay)!important;border-color:var(--ggs-clay)!important;color:#fff!important;border-radius:13px!important;box-shadow:0 6px 18px rgba(165,87,67,.16)!important}
body.ggw-theme .builder-wrapper :is(.btn-ai-generate,.btn-primary,.gg42-next):hover:not(:disabled){background:var(--ggs-clay-dark)!important}
/* Studio progress, editing panels, controls and step-three without changing functional layout. */
body.ggw-theme .builder-wrapper :is(.gg99-progress,.gg42-progress,.builder-grid,.editor-pane){min-width:0;max-width:100%}
body.ggw-theme .builder-wrapper :is(.gg99-progress,.gg42-progress){border-color:var(--ggs-line)!important;border-radius:16px!important;background:var(--ggs-paper)!important}
body.ggw-theme .builder-wrapper :is(.gg99-number,.gg42-step-number){background:#f2ded1!important;color:var(--ggs-clay-dark)!important}
body.ggw-theme .builder-wrapper .gg99-progress-item[aria-current="step"] .gg99-number{background:var(--ggs-clay)!important;color:#fff!important}
body.ggw-theme .builder-wrapper :is(.btn-tool,.btn-rhyme-help,.btn-zen-mode){border-color:var(--ggs-line)!important;border-radius:12px!important;color:var(--ggs-clay-dark)!important}
/* Theme generators (both the original and editorial implementations). */
body.ggw-theme .ggw-v21-studio-theme :is(.ggw-quick-generator,.ggw-generator-advice,.ggte-card,.ggte-join){border-color:var(--ggs-line)!important;box-shadow:var(--ggs-shadow)!important}
body.ggw-theme .ggw-v21-studio-theme :is(.gg45-field textarea,.gg45-field input,.gg46-field-extra textarea){border-radius:14px!important;border-color:#dec7b8!important;background:#fffdf9!important;color:var(--ggs-ink)!important}
/* Downloadatelier: preserve printable canvas positioning and drag/zoom functionality. */
body.ggw-theme #gg114-page{width:min(1280px,calc(100% - 20px));max-width:1280px!important;margin-inline:auto!important}
body.ggw-theme #gg114-page :is(.gg103-main,.gg103-side,.gg150-format-rail,.gg130-format-section){min-width:0;border-color:var(--ggs-line)!important;background:var(--ggs-paper)!important;border-radius:18px!important;box-shadow:var(--ggs-shadow)!important}
body.ggw-theme #gg114-page :is(h1,h2,h3):not(.gg142-print-stage *){color:var(--ggs-ink)}
body.ggw-theme #gg114-page :is(button,.gg114-breadcrumb a):focus-visible{outline:2px solid var(--ggs-clay)!important;outline-offset:3px}
/* Responsive: keep margins and controls usable on small screens. */
@media(max-width:860px){body.ggw-theme .builder-wrapper .vv-mode-tabs{grid-template-columns:1fr!important}body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice{min-height:74px}body.ggw-theme .builder-wrapper .builder-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:640px){body.ggw-theme .builder-wrapper .builder-container.gg37-studio{width:calc(100% - 20px)!important}body.ggw-theme .builder-wrapper .gg42-phase-head{padding:22px 18px!important}body.ggw-theme .builder-wrapper .ai-assistant-card{padding:20px 16px!important}body.ggw-theme .builder-wrapper .ai-assistant-card [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}body.ggw-theme #gg114-page{width:calc(100% - 20px)!important}}
@media(prefers-reduced-motion:reduce){body.ggw-theme .builder-wrapper .vv-mode-tabs .vv-model-choice{transition:none!important;transform:none!important}}
