/* Shared admin + frontend styles for Persigned Builder */

.ps-builder-wrap,
.ps-builder-frontend-wrap {
    max-width: 1120px;
}

.ps-builder-heading,
.ps-builder-frontend-heading {
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.ps-builder-subtitle,
.ps-builder-frontend-subtitle {
    font-size: 0.9rem;
    color: #64748b;
    margin-bottom: 1.25rem;
}

.ps-builder-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
    gap: 1.5rem;
    margin-top: 1rem;
}

.ps-builder-sidebar {
    border-radius: 1rem;
    padding: 1rem;
    background: radial-gradient(circle at 0 0, rgba(0,210,210,0.13), #020617);
    border: 1px solid rgba(30,64,175,0.7);
    color: #e5e7eb;
    font-size: 0.85rem;
}

.ps-builder-main {
    border-radius: 1rem;
    padding: 1rem;
    background: #0b1120;
    border: 1px solid rgba(30,64,175,0.6);
    color: #e5e7eb;
    font-size: 0.85rem;
}

.ps-builder-sidebar h2,
.ps-builder-main h2 {
    margin-top: 0;
    font-size: 1rem;
    margin-bottom: 0.6rem;
}

.ps-builder-template-picker {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.ps-builder-label {
    font-size: 0.78rem;
    color: #cbd5f5;
}

.ps-builder-select {
    width: 100%;
    padding: 0.45rem 0.6rem;
    border-radius: 0.6rem;
    border: 1px solid rgba(148,163,184,0.6);
    background: rgba(15,23,42,0.95);
    color: #e5e7eb;
    font-size: 0.8rem;
}

.ps-builder-select-btn {
    align-self: flex-start;
    margin-top: 0.25rem;
}

.ps-builder-template-meta {
    margin-top: 1rem;
    font-size: 0.8rem;
}

.ps-builder-template-title {
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.ps-builder-template-details {
    border-radius: 0.75rem;
    border: 1px solid rgba(30,64,175,0.7);
    background: rgba(15,23,42,0.9);
    padding: 0.4rem 0.75rem;
}

.ps-builder-template-details > summary {
    cursor: pointer;
    font-size: 0.78rem;
}

.ps-builder-template-details > pre {
    margin: 0.5rem 0 0;
    padding: 0.5rem;
    max-height: 240px;
    overflow: auto;
    background: #020617;
    border-radius: 0.6rem;
    font-size: 0.72rem;
    white-space: pre-wrap;
}

.ps-builder-placeholder h2 {
    margin-top: 0;
    margin-bottom: 0.4rem;
}

.ps-builder-placeholder p {
    margin: 0;
    color: #94a3b8;
}

/* Form layout */
.ps-builder-form {
    margin-top: 0.4rem;
}

.ps-builder-grid {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(0,1.4fr);
    gap: 1.25rem;
}

.ps-builder-field-group {
    border-radius: 0.9rem;
    padding: 0.8rem 0.9rem;
    background: radial-gradient(circle at 0 0, rgba(15,23,42,0.9), #020617);
    border: 1px solid rgba(30,64,175,0.8);
}

.ps-builder-field-group--highlight {
    box-shadow: 0 16px 40px rgba(0,210,210,0.22);
}

.ps-builder-field-group h3 {
    font-size: 0.92rem;
    margin-top: 0;
    margin-bottom: 0.55rem;
}

.ps-builder-field {
    margin-bottom: 0.6rem;
}

.ps-builder-field label {
    display: block;
    font-size: 0.78rem;
    margin-bottom: 0.2rem;
    color: #cbd5f5;
}

.ps-builder-input,
.ps-builder-textarea {
    width: 100%;
    padding: 0.45rem 0.6rem;
    border-radius: 0.6rem;
    border: 1px solid rgba(148,163,184,0.6);
    background: rgba(15,23,42,0.95);
    color: #e5e7eb;
    font-size: 0.8rem;
}

.ps-builder-input:focus,
.ps-builder-textarea:focus {
    outline: none;
    border-color: #7cf8ff;
    box-shadow: 0 0 0 1px rgba(124,248,255,0.5);
}

.ps-builder-actions {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ps-builder-generate-btn,
.ps-builder-generate-btn--frontend {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1.2rem;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 500;
    background: radial-gradient(circle at 10% 0, #7cf8ff 0, #3bdeb9 40%, #00d2d2 100%);
    color: #02101a;
    box-shadow: 0 16px 40px rgba(0,210,210,0.6);
}

.ps-builder-generate-btn:hover,
.ps-builder-generate-btn--frontend:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 55px rgba(0,210,210,0.7);
}

.ps-builder-footnote {
    font-size: 0.76rem;
    color: #94a3b8;
}

/* Frontend wrapper tweaks */
.ps-builder-frontend-wrap {
    border-radius: 1rem;
    padding: 1rem;
    background: radial-gradient(circle at 0 0, rgba(0,210,210,0.1), #020617);
    border: 1px solid rgba(30,64,175,0.7);
    color: #e5e7eb;
    font-size: 0.86rem;
}

/* Responsive */
@media (max-width: 960px) {
    .ps-builder-shell {
        grid-template-columns: minmax(0,1fr);
    }
}

@media (max-width: 640px) {
    .ps-builder-grid {
        grid-template-columns: minmax(0,1fr);
    }

    .ps-builder-sidebar,
    .ps-builder-main,
    .ps-builder-frontend-wrap {
        padding: 0.85rem;
    }
}
