:root { --brand-color: #1AB5B6; }
body { font-family: 'Inter', sans-serif; background-color: #f8fafc; color: #0f172a; overflow-x: hidden; text-align: left; }
.font-header { font-family: 'Montserrat', sans-serif; }

.slide-aspect { 
    aspect-ratio: 4 / 5; 
    width: 1080px; 
    height: 1350px;
    position: relative; 
    background-color: white; 
    overflow: hidden; 
    display: flex;
    flex-direction: column;
    box-shadow: none;
    border-radius: 0 !important;
    flex-shrink: 0;
    transform-origin: top left;
}

.slide-node-container {
    width: 378px; 
    height: 472.5px;
    position: relative;
    flex-shrink: 0;
}

#slidesFinalGrid .slide-aspect {
    transform: scale(0.35);
    position: absolute;
    top: 0; left: 0;
}

@media (max-width: 768px) {
    .slide-node-container { width: 302.4px; height: 378px; }
    #slidesFinalGrid .slide-aspect { transform: scale(0.28); }
}

.bg-pattern { background-image: radial-gradient(var(--brand-color) 0.6px, transparent 0.6px); background-size: 20px 20px; opacity: 0.1; }
.bg-pattern-dark { background-image: radial-gradient(#ffffff20 0.6px, transparent 0.6px); background-size: 25px 25px; }

.step-hidden { display: none !important; }

.loading-spinner {
    border: 3px solid rgba(26, 181, 182, 0.1);
    border-radius: 50%;
    border-top: 3px solid var(--brand-color);
    width: 40px; height: 40px;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.dynamic-text-container { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; overflow: hidden; max-height: 55%; line-height: 1.3; }

.color-input-custom {
    border: 1px solid #ffffff30 !important;
    padding: 2px !important;
    background: #1e293b !important;
    border-radius: 4px;
    width: 1.8rem; height: 1.8rem;
    cursor: pointer;
}

.modal-blur { backdrop-filter: blur(10px); background: rgba(15, 23, 42, 0.6); }
.item-list:hover { background-color: #f1f5f9; border-left-color: var(--brand-color); }
.item-list { border-left: 3px solid transparent; transition: all 0.2s; cursor: pointer; border-bottom: 1px solid #f1f5f9; }

.pass-container { position: relative; width: 100%; }
.eye-toggle {
    position: absolute;
    right: 12px; top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    cursor: pointer;
    z-index: 30;
}

.no-print { user-select: none; }

/* ===== SLIDE COM IMAGEM DE FUNDO GERADA POR IA ===== */
.has-bg-image h2,
.has-bg-image .dynamic-text-container,
.has-bg-image .mt-auto span,
.has-bg-image .mt-auto p,
.has-bg-image .mt-auto div {
    color: rgba(255,255,255,0.96) !important;
}
.has-bg-image [class*="text-slate-900"],
.has-bg-image [class*="text-slate-800"],
.has-bg-image [class*="text-slate-700"],
.has-bg-image [class*="text-slate-600"],
.has-bg-image [class*="text-slate-400"],
.has-bg-image [class*="text-slate-200"] {
    color: rgba(255,255,255,0.88) !important;
}
.has-bg-image [class*="border-slate"],
.has-bg-image .border-t,
.has-bg-image .border-t-4 {
    border-color: rgba(255,255,255,0.22) !important;
}
.has-bg-image [class*="opacity-50"] { opacity: 0.8 !important; }
.has-bg-image [class*="opacity-70"] { opacity: 0.85 !important; }
.has-bg-image [class*="bg-pattern"] { opacity: 0.08 !important; }