/* Platic v2 - Custom styles (doplnuji Tailwind CDN) */

/* Sidebar transitions */
.sidebar-open #sidebar {
    transform: translateX(0);
}

.sidebar-open #mobile-sidebar-overlay {
    display: block;
}

/* Smooth page transitions */
main {
    animation: fadeIn 0.15s ease-in-out;
}

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

/* Module card hover */
.module-card {
    transition: all 0.2s ease-in-out;
}

.module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(57, 88, 168, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.06);
}

/* Module selected (brand highlight) */
.module-selected .module-card-box {
    border-color: var(--brand-primary) !important;
    background-color: var(--brand-primary-50) !important;
}

.module-selected .module-icon {
    background-color: var(--brand-primary-100) !important;
}

.module-selected .module-check-badge {
    border-color: var(--brand-primary) !important;
    background-color: var(--brand-primary) !important;
    color: #ffffff !important;
}

/* Form focus states */
input:focus, select:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(57, 88, 168, 0.18);
    border-color: #3958a8;
}

/* Table striped */
.table-striped tbody tr:nth-child(even) {
    background-color: rgb(248 250 252);
}

/* Pricing card gradient (landing page) */
.pricing-card-gradient {
    background: radial-gradient(circle at top right, rgba(57, 88, 168, 0.12), transparent),
                radial-gradient(circle at bottom left, rgba(240, 103, 166, 0.12), transparent);
}

/* Hero gradient */
.hero-gradient {
    background: radial-gradient(ellipse at top right, #eef2ff, #ffffff, #ffffff);
}

/* Button consistency */
:where(button, input[type="submit"], input[type="button"]) {
    border-radius: 5px;
    font-weight: 700;
}

:where(
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="datetime-local"],
    textarea,
    select
) {
    border-radius: 0.75rem;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--brand-primary);
}

/* Brand palette overrides (emerald -> Platič blue) */
:root {
    --brand-primary: #3958a8;
    --brand-primary-700: #2d4787;
    --brand-primary-500: #4a68c4;
    --brand-primary-400: #6f86d6;
    --brand-primary-200: #c8d4f2;
    --brand-primary-100: #e3e8ff;
    --brand-primary-50: #f1f4ff;
    --brand-accent: #f067a6;
    --brand-accent-600: #da4e8f;
    --brand-accent-500: #f067a6;
    --brand-accent-400: #f48cc0;
    --brand-accent-200: #fad0e5;
    --brand-warn: #fcaf17;
    --brand-warn-700: #c57f0a;
    --brand-warn-600: #d8890d;
    --brand-warn-500: #fcaf17;
    --brand-warn-200: #ffe3a3;
    --brand-warn-100: #fff1cf;
    --brand-warn-50: #fff8e6;
}

::selection {
    background: var(--brand-primary-100);
    color: #1f2a44;
}

.selection\:bg-emerald-100 ::selection {
    background: var(--brand-primary-100) !important;
}

.selection\:text-emerald-900 ::selection {
    color: #1f2a44 !important;
}

.bg-emerald-700 { background-color: var(--brand-primary-700) !important; }
.bg-emerald-600 { background-color: var(--brand-primary) !important; }
.bg-emerald-500 { background-color: var(--brand-primary-500) !important; }
.bg-emerald-400 { background-color: var(--brand-primary-400) !important; }
.bg-emerald-100 { background-color: var(--brand-primary-100) !important; }
.bg-emerald-50 { background-color: var(--brand-primary-50) !important; }

.text-emerald-900 { color: #1f2a44 !important; }
.text-emerald-700 { color: var(--brand-primary-700) !important; }
.text-emerald-600 { color: var(--brand-primary) !important; }
.text-emerald-500 { color: var(--brand-primary-500) !important; }
.text-emerald-400 { color: var(--brand-primary-400) !important; }
.text-emerald-100 { color: var(--brand-primary-100) !important; }

.border-emerald-500 { border-color: var(--brand-primary) !important; }
.border-emerald-200 { border-color: var(--brand-primary-200) !important; }
.border-emerald-100 { border-color: var(--brand-primary-100) !important; }

.ring-emerald-200 { --tw-ring-color: var(--brand-primary-200) !important; }

.shadow-emerald-200 { --tw-shadow-color: var(--brand-primary-200) !important; }
.shadow-emerald-600\/20 { --tw-shadow-color: rgba(57, 88, 168, 0.2) !important; }
.shadow-emerald-500\/5 { --tw-shadow-color: rgba(57, 88, 168, 0.05) !important; }

.bg-emerald-50\/50 { background-color: rgba(227, 232, 255, 0.5) !important; }
.bg-emerald-500\/10 { background-color: rgba(74, 104, 196, 0.1) !important; }
.border-emerald-500\/20 { border-color: rgba(74, 104, 196, 0.2) !important; }

/* Replace green utilities with brand blue */
.bg-green-600 { background-color: var(--brand-primary) !important; }
.bg-green-500 { background-color: var(--brand-primary-500) !important; }
.bg-green-400 { background-color: var(--brand-primary-400) !important; }
.bg-green-100 { background-color: var(--brand-primary-100) !important; }
.bg-green-50 { background-color: var(--brand-primary-50) !important; }

.text-green-700 { color: var(--brand-primary-700) !important; }
.text-green-600 { color: var(--brand-primary) !important; }
.text-green-500 { color: var(--brand-primary-500) !important; }
.text-green-400 { color: var(--brand-primary-400) !important; }

.border-green-500 { border-color: var(--brand-primary) !important; }
.border-green-200 { border-color: var(--brand-primary-200) !important; }

/* Brand warn (amber -> orange) */
.bg-amber-700 { background-color: var(--brand-warn-700) !important; }
.bg-amber-600 { background-color: var(--brand-warn-600) !important; }
.bg-amber-500 { background-color: var(--brand-warn-500) !important; }
.bg-amber-400 { background-color: var(--brand-warn-500) !important; }
.bg-amber-200 { background-color: var(--brand-warn-200) !important; }
.bg-amber-100 { background-color: var(--brand-warn-100) !important; }
.bg-amber-50 { background-color: var(--brand-warn-50) !important; }

.text-amber-900 { color: #8a5907 !important; }
.text-amber-800 { color: #a56405 !important; }
.text-amber-700 { color: var(--brand-warn-700) !important; }
.text-amber-600 { color: var(--brand-warn-600) !important; }
.text-amber-500 { color: var(--brand-warn-500) !important; }
.text-amber-400 { color: var(--brand-warn-500) !important; }

.border-amber-200 { border-color: var(--brand-warn-200) !important; }
.border-amber-100 { border-color: var(--brand-warn-100) !important; }

/* Brand accent (pink) */
.bg-pink-600 { background-color: var(--brand-accent-600) !important; }
.bg-pink-500 { background-color: var(--brand-accent-500) !important; }
.bg-pink-400 { background-color: var(--brand-accent-400) !important; }
.bg-pink-200 { background-color: var(--brand-accent-200) !important; }

.text-pink-600 { color: var(--brand-accent-600) !important; }
.text-pink-500 { color: var(--brand-accent-500) !important; }
.text-pink-400 { color: var(--brand-accent-400) !important; }

.border-pink-200 { border-color: var(--brand-accent-200) !important; }

/* Print styles */
@media print {
    aside, header, footer, .no-print {
        display: none !important;
    }
    main {
        padding: 0 !important;
    }
    .lg\:pl-64 {
        padding-left: 0 !important;
    }
}
