/* ============================================
   IKON HR Recruitment Pro - Theme Override
   Styles the plugin's .ikonhr-* shortcode markup
   to match the IKON HR Theme brand.
   ============================================ */

:root {
    --ikonhr-primary: #1e5ba3;
    --ikonhr-primary-dark: #164a8a;
    --ikonhr-primary-light: #e8f4fc;
    --ikonhr-orange: #f47920;
    --ikonhr-green: #7dbd42;
    --ikonhr-black: #111111;
    --ikonhr-gray: #666666;
    --ikonhr-white: #ffffff;
    --ikonhr-radius: 15px;
    --ikonhr-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.ikonhr-portal {
    background: var(--ikonhr-white) !important;
    border: none !important;
    border-radius: var(--ikonhr-radius) !important;
    box-shadow: var(--ikonhr-shadow) !important;
    padding: 30px !important;
    margin: 20px 0 !important;
    color: var(--ikonhr-black) !important;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.ikonhr-portal h2 {
    color: var(--ikonhr-black) !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    border-bottom: 2px solid var(--ikonhr-primary-light) !important;
    padding-bottom: 12px !important;
}

.ikonhr-portal h3 {
    color: var(--ikonhr-primary) !important;
    margin: 25px 0 15px !important;
}

.ikonhr-notice {
    background: var(--ikonhr-primary-light) !important;
    border-left: 4px solid var(--ikonhr-primary) !important;
    border-radius: 8px !important;
    padding: 15px 20px !important;
}

.ikonhr-success {
    background: #e9f7ef !important;
    border-left: 4px solid var(--ikonhr-green) !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin-bottom: 15px !important;
}

/* Forms */
.ikonhr-form label {
    display: grid !important;
    gap: 8px !important;
    font-weight: 600 !important;
    color: var(--ikonhr-black) !important;
    margin-bottom: 15px !important;
}

.ikonhr-form input,
.ikonhr-form select,
.ikonhr-form textarea {
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
}

.ikonhr-form input:focus,
.ikonhr-form select:focus,
.ikonhr-form textarea:focus {
    border-color: var(--ikonhr-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px var(--ikonhr-primary-light) !important;
}

.ikonhr-form button[type="submit"] {
    background: linear-gradient(135deg, var(--ikonhr-primary), var(--ikonhr-primary-dark)) !important;
    color: var(--ikonhr-white) !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 12px 30px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.ikonhr-form button[type="submit"]:hover {
    background: linear-gradient(135deg, var(--ikonhr-orange), #d05a00) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 20px rgba(244, 121, 32, 0.3) !important;
}

/* Cards (job packages, resume search results) */
.ikonhr-card-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    margin: 20px 0 !important;
}

.ikonhr-card {
    background: var(--ikonhr-white) !important;
    border: none !important;
    border-radius: var(--ikonhr-radius) !important;
    box-shadow: var(--ikonhr-shadow) !important;
    padding: 20px !important;
    border-left: 4px solid var(--ikonhr-primary) !important;
    transition: all 0.3s ease !important;
}

.ikonhr-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
}

.ikonhr-card h3 {
    color: var(--ikonhr-black) !important;
    margin: 0 0 10px !important;
}

/* Tables (dashboards, applications, interviews) */
.ikonhr-table {
    border-collapse: collapse !important;
    width: 100% !important;
    background: var(--ikonhr-white) !important;
    border-radius: var(--ikonhr-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--ikonhr-shadow) !important;
    margin: 15px 0 !important;
}

.ikonhr-table td {
    border-bottom: 1px solid #eee !important;
    padding: 12px 15px !important;
    color: var(--ikonhr-black) !important;
}

.ikonhr-table tr:hover td {
    background: #f9f9f9 !important;
}

/* Buttons rendered outside .ikonhr-form (job action links, export links) */
.ikonhr-portal a.button {
    background: linear-gradient(135deg, var(--ikonhr-primary), var(--ikonhr-primary-dark)) !important;
    color: var(--ikonhr-white) !important;
    border-radius: 30px !important;
    padding: 8px 18px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 3px !important;
}

.ikonhr-portal a.button:hover {
    background: linear-gradient(135deg, var(--ikonhr-orange), #d05a00) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ikonhr-portal {
        padding: 20px !important;
    }

    .ikonhr-card-grid {
        grid-template-columns: 1fr !important;
    }
}
