.accordion-content{padding: 18px 0 4px}
.accordion-content[hidden]{display: none !important}
.additional-field label{display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600}
.additional-field textarea{width: 100%; min-height: 110px; resize: vertical; box-sizing: border-box}
.btn-generate.is-loading{cursor: wait}
.ai-spinner{display: inline-block; width: 16px; height: 16px; margin-right: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -3px; animation: ai-spin .8s linear infinite}

@keyframes ai-spin{to { transform: rotate(360deg); }}
.result-frame{position: relative; background-size: cover; background-position: center; background-repeat: no-repeat}
.result-frame.is-generating::after{content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .72); backdrop-filter: blur(2px); z-index: 2}
.ai-result-message{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(82%, 420px); padding: 14px 16px; box-sizing: border-box; border-radius: 12px; text-align: center; font-size: 14px; line-height: 1.45; z-index: 3}
.ai-result-message--loading{background: #fff; color: #222}
.ai-result-message--error{background: #fff1f1; color: #9f1f1f; border: 1px solid rgba(159, 31, 31, .14)}
.result-frame.has-result .ph-label{display: none !important}