/* ===============================
   GROMPT BLOCK – FINAL LOCK
   =============================== */

.grompt-block {
    border: 1px solid #e2e2e2;
    background-color: #f7f7f7;
    padding: 1.75rem 1.5rem;
    margin: 2rem 0 3rem 0;
    box-sizing: border-box;
}

/* Reset UL spacing */
.grompt-block ul {
    margin: 0;
    padding-left: 1.25rem;
}

/* Control vertical rhythm */
.grompt-block li {
    margin: 0 0 0.75rem 0;
}

/* Remove last gap */
.grompt-block li:last-child {
    margin-bottom: 0;
}

/* Kill paragraph spacing inside list items */
.grompt-block li p {
    margin: 0;
    line-height: 1.5;
}

/* Visible GROMPT generation indicator. */
.grasped-grompt-loading { display:flex; align-items:center; gap:10px; min-height:38px; padding:8px 0; color:#245b15; font-size:14px; font-weight:600; }
.grasped-grompt-spinner { display:inline-block; width:20px; height:20px; flex:0 0 20px; border:3px solid #c9dfc1; border-top-color:#31830f; border-radius:50%; animation:grasped-grompt-spin .8s linear infinite; }
@keyframes grasped-grompt-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .grasped-grompt-spinner { animation:none; border-top-color:#245b15; } }

/* v1.5.3: understated editorial layout for all interactive saved GROMPTs,
   including standalone [grompt_saved] outside Presentation Builder wrappers. */
.has-dynamic-inputs {
    display:block !important;
    max-width:100%;
    line-height:1.6;
}
.has-dynamic-inputs .gpt-input-group {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin:12px 0 8px;
    max-width:100%;
}
.has-dynamic-inputs .gpt-input-group .gpt-dropdown,
.has-dynamic-inputs .gpt-input-group .gpt-input {
    box-sizing:border-box;
    flex:1 1 220px;
    width:auto;
    min-width:0;
    max-width:100%;
    margin:0;
}
.has-dynamic-inputs .gpt-input-group .gpt-submit {
    flex:0 0 auto;
    margin:0;
    cursor:pointer;
}
.has-dynamic-inputs .gpt-input-group.radio-group {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
}
.has-dynamic-inputs .radio-group > div {
    display:block;
    line-height:2;
}
.has-dynamic-inputs .radio-group input[type="radio"] {
    margin:0 7px 0 0;
    vertical-align:middle;
}
.has-dynamic-inputs .radio-group label {
    display:inline;
    margin:0;
    cursor:pointer;
    vertical-align:middle;
}
.has-dynamic-inputs .gpt-input-group.radio-group .gpt-submit { margin:0; }
.has-dynamic-inputs .grompt-control-followup {
    display:block;
    margin:7px 0 0;
}
.has-dynamic-inputs + .grompt-description {
    display:block;
    margin:10px 0 0;
    color:#626970;
    font-size:.9em;
    line-height:1.5;
}
@media(max-width:520px) {
    .has-dynamic-inputs .gpt-input-group {
        align-items:stretch;
    }
    .has-dynamic-inputs .gpt-input-group .gpt-dropdown,
    .has-dynamic-inputs .gpt-input-group .gpt-input { flex-basis:100%; }
}

/* Admin-only response provenance during GROMPT testing. */
.grompt-response-source {font-size:12px;color:#6b7280;margin:12px 0 6px;}

/* v1.5.7: keep description separate regardless of optional prefix. */
.grompt-description { display:block; margin-top:9px; line-height:1.5; }
.grompt-prefix { display:inline; margin-right:5px; }

/* v1.5.9 User Enquiry */
.has-dynamic-inputs .grompt-enquiry-group {display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:12px 0;max-width:100%;}
.has-dynamic-inputs .grompt-enquiry-group label {font-weight:600;}
.has-dynamic-inputs .grompt-enquiry-textarea {display:block;box-sizing:border-box;width:100%;min-height:150px;padding:11px 12px;border:1px solid #cbd2d9;border-radius:5px;font:inherit;line-height:1.5;resize:vertical;white-space:pre-wrap;}
.has-dynamic-inputs .grompt-enquiry-group .gpt-submit {align-self:flex-start;margin:0;}

/* v1.7.9: saved editorial GROMPT entries must flow as a single paragraph,
   including when the enclosing article was edited in Classic Editor.
   Forms retain their own block presentation. */
.grasplr-grompt-editorial-inline,
.grasplr-grompt-editorial-inline > .grompt-prefix,
.grasplr-grompt-editorial-inline > .grompt-description {
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:none !important;
    width:auto !important;
    max-width:none !important;
    line-height:inherit !important;
    vertical-align:baseline !important;
}
.grasplr-grompt-editorial-inline > .grompt-description {
    white-space:normal !important;
}
