/* SpinOffice - Gestão Virtual - Custom CSS */

/* DaisyUI theme overrides */
[data-theme="ap"],
:root {
    --color-primary: oklch(25% 0 0);                  /* #232323 */
    --color-primary-content: oklch(100% 0 0);
    --color-secondary: oklch(30% 0 0);                /* #2d2d2d */
    --color-secondary-content: oklch(100% 0 0);
    --color-accent: oklch(50% 0.22 15);               /* #E62748 red */
    --color-accent-content: oklch(100% 0 0);
    --color-neutral: oklch(25% 0.02 249);
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(97% 0.003 249);
    --color-base-300: oklch(92% 0.006 249);
    --rounded-box: 0.75rem;
    --rounded-btn: 0.5rem;
    --rounded-badge: 1.9rem;
    --animation-btn: 0.2s;
    --animation-input: 0.2s;
    --btn-focus-scale: 0.98;
    --border-btn: 1px;
    --tab-border: 1px;
    --tab-radius: 0.5rem;
}

/* Font global */
body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Hero gradient */
.hero-gradient {
    background: linear-gradient(135deg, #1a1a1a 0%, #232323 40%, #2d2d2d 100%);
    position: relative;
    overflow: hidden;
}

.hero-gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: radial-gradient(circle at 20% 50%, rgba(230,39,72,0.12) 0%, transparent 60%),
                      radial-gradient(circle at 80% 20%, rgba(255,255,255,0.04) 0%, transparent 50%);
}

/* Section divider */
.section-divider {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #232323, #E62748);
    border-radius: 2px;
    margin: 0 auto 1.5rem;
}

/* Course/Service card hover */
.course-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.course-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(230, 39, 72, 0.15);
}

/* Stats counter */
.stat-number {
    font-size: 3rem;
    font-weight: 900;
    color: #E62748;
    line-height: 1;
}

/* Testimonial card */
.testimonial-card {
    border-left: 4px solid #232323;
}

/* Btn primary override */
.btn-ap {
    background-color: #232323;
    color: #fff;
    border: none;
}
.btn-ap:hover {
    background-color: #1a1a1a;
    color: #fff;
}

/* Btn red (SpinOffice red) */
.btn-gold {
    background-color: #E62748;
    color: #fff;
    border: none;
}
.btn-gold:hover {
    background-color: #cc1f3d;
    color: #fff;
}

/* Category badge */
.badge-category {
    background-color: #232323;
    color: #ffffff;
    border: none;
    padding: 12px;
}

/* Category image placeholder */
.course-img-placeholder {
    background: linear-gradient(135deg, #232323 0%, #2d2d2d 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}

/* Breadcrumb */
.breadcrumb-bar {
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

/* Form focus */
.input:focus,
.textarea:focus,
.select:focus {
    border-color: #E62748;
    outline-color: #E62748;
    box-shadow: 0 0 0 2px rgba(230, 39, 72, 0.15);
}

/* Admin sidebar */
.admin-sidebar {
    background: linear-gradient(180deg, #1a1a1a 0%, #232323 100%);
    min-height: 100vh;
}

/* Hero rings pulse animation */
@keyframes ring-pulse-outer {
    0%, 100% { transform: scale(1);    opacity: 0.15; }
    50%       { transform: scale(1.08); opacity: 0.30; }
}
@keyframes ring-pulse-inner {
    0%, 100% { transform: scale(1);    opacity: 0.20; }
    50%       { transform: scale(1.06); opacity: 0.35; }
}

.ring-spin-slow {
    animation: ring-pulse-outer 4s ease-in-out infinite;
}
.ring-spin-reverse {
    animation: ring-pulse-inner 4s ease-in-out infinite;
    animation-delay: 0.7s;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Page transitions */
.page-fade {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Badge modality */
.badge-presencial { background: #dcfce7; color: #166534; }
.badge-online     { background: #dbeafe; color: #1e40af; }
.badge-hibrido    { background: #fef9c3; color: #854d0e; }

/* Table hover */
tr:hover td { background-color: rgba(230, 39, 72, 0.03); }

/* Alert flash messages */
.flash-success { background: #dcfce7; color: #166534; border-left: 4px solid #22c55e; }
.flash-error   { background: #fee2e2; color: #991b1b; border-left: 4px solid #ef4444; }
.flash-info    { background: #dbeafe; color: #1e40af; border-left: 4px solid #3b82f6; }

/* Responsive img */
img { max-width: 100%; height: auto; }

/* Print hide */
@media print {
    .no-print { display: none !important; }
}
