/* Aggregated custom styles from Blade templates */

:root {
    --primary-color: #e0b76b;
    --secondary-color: #a61212;
    --background-dark: #2c1810;
    --background-light: #fff5e6;
    --text-color: #fff5e6;
    --border-color: #8b553d;
    --header-gold: #e0b76b;
    --header-shadow: 0 4px 20px rgba(56, 34, 10, 0.7);
}

body {
    min-height: 100vh;
    background: var(--background-dark);
    background-image: url('https://www.transparenttextures.com/patterns/black-steel.png');
    background-blend-mode: soft-light;
    color: var(--text-color);
}

/* Medieval Header Styling */
.medieval-header {
    background: var(--background-dark) url('https://www.transparenttextures.com/patterns/wood.png') repeat;
    border-bottom: 5px solid var(--header-gold);
    box-shadow: var(--header-shadow);
    position: relative;
}
.medieval-title {
    font-family: 'Cinzel', serif;
    font-size: 2.2rem;
    color: var(--header-gold);
    text-shadow: 2px 2px 8px #3a220a, 0 0 8px var(--header-gold);
    letter-spacing: 2px;
}
.clan-emblem {
    font-size: 2.5rem;
    color: var(--header-gold);
    margin-right: 10px;
    text-shadow: 1px 1px 6px #3a220a;
}

/* Sidebar Styling */
.bg-white {
    background: var(--background-dark) !important;
    border-right: 2px solid var(--border-color);
}

.nav-link {
    color: var(--text-color) !important;
    font-family: 'Cinzel', serif;
    margin: 5px 0;
    padding: 10px 15px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    background: linear-gradient(to right, rgba(201, 164, 92, 0.1), rgba(201, 164, 92, 0.3));
    border: 1px solid var(--primary-color);
    color: var(--primary-color) !important;
}

/* Buttons */
.btn-dark {
    background: linear-gradient(to bottom, var(--primary-color), #8b6b3d);
    border: 1px solid var(--primary-color);
    color: var(--background-dark);
    font-weight: bold;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.2);
}

.btn-dark:hover {
    background: linear-gradient(to bottom, #8b6b3d, var(--primary-color));
    border-color: #8b6b3d;
}

/* Tables */
.table {
    background: rgba(44, 24, 16, 0.9);
    border: 2px solid var(--border-color);
}

.table th {
    background: var(--secondary-color);
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
    font-family: 'Cinzel', serif;
}

.table td {
    color: var(--text-color);
    border-color: var(--border-color);
}

/* Links */
 a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #e3bd7a;
    text-decoration: underline;
}

/* Dropdown Menu */
.dropdown-menu {
    background: var(--background-dark);
    border: 1px solid var(--primary-color);
}

.dropdown-item {
    color: var(--text-color);
}

.dropdown-item:hover {
    background: linear-gradient(to right, rgba(201, 164, 92, 0.1), rgba(201, 164, 92, 0.3));
    color: var(--primary-color);
}

@media (max-width: 768px) {
    .d-flex {
        flex-direction: column;
    }
    div[style*="width: 280px"] {
        width: 100% !important;
        border-right: none;
        border-bottom: 2px solid var(--border-color);
    }
}

/* Icon component */
.icon-wrapper {
    display: inline-block;
    position: relative;
    background-size: contain;
    background-repeat: no-repeat;
}
.icon-wrapper.icon-big { width: 96px; height: 96px; }
.icon-wrapper.icon-small { width: 48px; height: 48px; }
.icon-wrapper.icon-default { width: 64px; height: 64px; }

.level-badge {
    position: absolute;
    right: 1px;
    bottom: 1px;
    color: #fff;
    font-family: sans;
    font-weight: bold;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.35);
    padding: 1px 1px;
    border-radius: 3px;
    line-height: 1;
}
.icon-wrapper.icon-small .level-badge { font-size: 13px; }
.icon-wrapper.icon-default .level-badge { font-size: 16px; }

.count-badge {
    position: absolute;
    left: 0px;
    top: 0px;
    color: #fff;
    font-family: sans;
    font-weight: bold;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.35);
    padding: 1px 1px;
    border-radius: 3px;
    line-height: 1;
}
.icon-wrapper.icon-small .count-badge { font-size: 15px; }
.icon-wrapper.icon-default .count-badge { font-size: 18px; }

.crypt-common { background-image: url('/img/oil_common_blank.png'); }
.crypt-rare   { background-image: url('/img/oil_rare_blank.png'); }
.crypt-epic   { background-image: url('/img/oil_epic_blank.png'); }
.citadel      { background-image: url('/img/citadel_blank.png'); }
.essor-marche      { background-image: url('/img/essor-marche.png'); }
.essor-anciens      { background-image: url('/img/essor-anciens.png'); }
.olympe-hermes      { background-image: url('/img/olympe-hermes.png'); }
.jormungand      { background-image: url('/img/jormungand.png'); }
.g3-icon      { background-image: url('/img/g3-icon.png'); }
.g4-icon      { background-image: url('/img/g4-icon.png'); }
.g5-icon      { background-image: url('/img/g5-icon.png'); }
.g6-icon      { background-image: url('/img/g6-icon.png'); }
.g7-icon      { background-image: url('/img/g7-icon.png'); }
.g8-icon      { background-image: url('/img/g8-icon.png'); }
.g9-icon      { background-image: url('/img/g9-icon.png'); }
.tour-icon      { background-image: url('/img/tour-anciens.png'); }
.cavalry-icon      { background-image: url('/img/cavalry.png'); }
.melee-icon      { background-image: url('/img/melee.png'); }
.archery-icon      { background-image: url('/img/archery.png'); }
.flying-icon      { background-image: url('/img/flying.png'); }
.dragon-desert-icon      { background-image: url('/img/dragon-desert.png'); }
.monster      { background-image: url('/img/monster.png'); }
.guardian-epic      { background-image: url('/img/guardian-epic.png'); }
.mounted-mercs-ii      { background-image: url('/img/mounted-mercs-ii.png'); }
.melee-mercs-ii      { background-image: url('/img/melee-mercs-ii.png'); }

/* Ranking scale modal tweaks */
#rankingScaleModal td { padding-bottom: 2px; }


/* DataTables Medieval Theme (moved from table-ranking.blade.php) */
.medieval-table {
    background: rgba(44, 24, 16, 0.8) !important;
    border: 2px solid #e0b76b !important;
    color: #fff5e6 !important;
}

.medieval-table thead th {
    background: #a61212 !important;
    color: var(--primary-color) !important;
    font-family: 'Cinzel', serif !important;
    border-bottom: 2px solid #e0b76b !important;
    text-align: center !important;
}

.medieval-table tbody td, .medieval-table tbody th {
    color: #fff5e6 !important;
    /* border-color: #8b553d !important; */
    border-bottom: 1px solid #e0b76b !important;
    /*background: rgba(44, 24, 16, 0.8) !important;*/
    padding: 0.5ex !important;
}

.medieval-table tbody tr:hover td {
    background: rgba(201, 164, 92, 0.1) !important;
}

.medieval-table tbody td.alert {
    background: rgba(255, 52, 52, 0.8) !important;
}
.medieval-table tbody td.warning {
    background: rgba(255, 154, 52, 0.8) !important;
}

.medieval-table a {
    color: #ffd700 !important;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 500;
}

.medieval-table a:hover {
    color: #fff5e6 !important;
    text-decoration: underline;
}

.event-table thead th, .event-table tbody td {
    padding-left: 1em;
    padding-right: 1em;
    border-left: 2px solid #e0b76b !important;
    border-right: 2px solid #e0b76b !important;
}

/* DataTables Controls */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    color: #e8d5b5 !important;
    font-family: 'Cinzel', serif !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background-color: #2c1810 !important;
    border: 1px solid #784421 !important;
    color: #e8d5b5 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: linear-gradient(to bottom, #2c1810, #3a2218) !important;
    border: 1px solid #784421 !important;
    color: #c9a45c !important;
    font-weight: bold;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: linear-gradient(to bottom, #3a2218, #2c1810) !important;
    border: 1px solid #c9a45c !important;
    color: #e3bd7a !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: linear-gradient(to bottom, #c9a45c, #8b6b3d) !important;
    border: 1px solid #c9a45c !important;
    color: #2c1810 !important;
    font-weight: bold;
}

/* ... existing code ... */

.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: linear-gradient(to bottom, #c9a45c, #8b6b3d) !important;
    border: 1px solid #c9a45c !important;
    color: #2c1810 !important;
    font-weight: bold;
}

/* Daily Links Styling */
.daily-links-container, .other-links-container {
    margin: 20px 0;
}

.daily-links-card, .other-links-card {
    background: linear-gradient(to bottom, rgba(44, 24, 16, 0.95), rgba(28, 14, 8, 0.95));
    border: 3px solid var(--primary-color);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(224, 183, 107, 0.3);
    position: relative;
}
.other-links-container {
    display: flex;
    gap: 1em;
}
.other-links-card {
    width: 30%;
}

.daily-links-card::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    background: linear-gradient(45deg, #8b553d, var(--primary-color), #8b553d);
    border-radius: 8px;
    z-index: -1;
    opacity: 0.3;
}

.daily-links-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    gap: 10px;
}

.daily-links-icon {
    font-size: 2rem;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8));
}

.daily-links-title {
    font-family: 'Cinzel', serif;
    color: var(--primary-color);
    font-size: 1.8rem;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    letter-spacing: 1px;
}
.other-links-title {
    font-family: 'Cinzel', serif;
    color: var(--primary-color);
    font-size: 1.8rem;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    letter-spacing: 1px;
}

.daily-links-reward {
    text-align: center;
    margin-bottom: 20px;
    padding: 10px;
    background: rgba(166, 18, 18, 0.3);
    border-radius: 5px;
    border: 1px solid rgba(224, 183, 107, 0.3);
}

.reward-badge {
    font-family: 'Cinzel', serif;
    color: var(--text-color);
    font-size: 1.3rem;
    font-weight: bold;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

.daily-links-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.daily-link-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(to bottom, var(--primary-color), #8b6b3d);
    border: 2px solid var(--primary-color);
    border-radius: 5px;
    color: var(--background-dark) !important;
    font-family: 'Cinzel', serif;
    font-weight: bold;
    font-size: 1.1rem;
    text-decoration: none !important;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.2);
    min-width: 8rem;
}

.daily-link-btn:hover {
    background: linear-gradient(to bottom, #f5d89b, var(--primary-color));
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.6);
    border-color: #f5d89b;
}

.daily-link-btn-small {
    min-width: 100px;
    font-size: 1rem;
    padding: 6px 12px;
    min-width: 10px;
}

.daily-link-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.daily-link-btn .btn-icon {
    font-size: 1.3rem;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
}

/* Add cross only when this class is present */
.red-cross::before,
.red-cross::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 140%;
    height: 4px;
    background-color: red;
    transform-origin: center;
}

.red-cross::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.red-cross::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 768px) {
    .daily-links-card {
        padding: 15px;
    }

    .daily-links-title {
        font-size: 1.5rem;
    }

    .reward-badge {
        font-size: 1.1rem;
    }

    .daily-links-buttons {
        flex-direction: column;
    }

    .daily-link-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ==============================
   Added by CSS harmonizer (2026-01-29)
   ============================== */


/* --- Events calendar page (views/events/index.blade.php) --- */
.events-page {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            background-color: #f5f5f5;
        }

        .events-page .container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        .events-page .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .events-page .calendar-nav {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .events-page .btn {
            padding: 8px 16px;
            background: #007bff;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
        }

        .events-page .btn:hover {
            background: #0056b3;
        }

        .events-page .btn-success {
            background: #28a745;
        }

        .events-page .btn-success:hover {
            background: #218838;
        }

        .events-page .calendar {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 1px;
            background: #ddd;
            border: 1px solid #ddd;
        }

        .events-page .calendar-header {
            background: #333;
            color: white;
            padding: 10px;
            text-align: center;
            font-weight: bold;
        }

        .events-page .calendar-day {
            background: white;
            min-height: 100px;
            padding: 5px;
            position: relative;
        }

        .events-page .calendar-day.other-month {
            background: #f9f9f9;
            color: #999;
        }

        .events-page .calendar-day.today {
            background: #fffacd;
        }

        .events-page .day-number {
            font-weight: bold;
            margin-bottom: 5px;
        }

        .events-page .event {
            background: #007bff;
            color: white;
            padding: 2px 5px;
            margin: 2px 0;
            border-radius: 3px;
            font-size: 12px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .events-page .event.important {
            background: #dc3545;
        }

        .events-page .alert {
            padding: 12px 20px;
            margin-bottom: 20px;
            border-radius: 4px;
        }

        .events-page .alert-success {
            background: #d4edda;
            color: #155724;
            border: 1px solid #c3e6cb;
        }

        .events-page .legend {
            margin-top: 20px;
            padding: 15px;
            background: #f8f9fa;
            border-radius: 4px;
        }

        .events-page .legend-item {
            display: inline-flex;
            align-items: center;
            margin-right: 20px;
            margin-bottom: 10px;
        }

        .events-page .legend-color {
            width: 20px;
            height: 20px;
            border-radius: 3px;
            margin-right: 8px;
        }

        .events-page .events-list {
            margin-top: 30px;
        }

        .events-page .event-item {
            padding: 15px;
            background: #f8f9fa;
            border-left: 4px solid #007bff;
            margin-bottom: 10px;
            border-radius: 4px;
        }

        .events-page .event-item.important {
            border-left-color: #dc3545;
        }

        .events-page .event-actions {
            margin-top: 10px;
        }

        .events-page .event-actions a, .events-page .event-actions button {
            margin-right: 10px;
            font-size: 14px;
        }

        .events-page .btn-danger {
            background: #dc3545;
        }

        .events-page .btn-danger:hover {
            background: #c82333;
        }

        .events-page .btn-sm {
            padding: 4px 12px;
            font-size: 14px;
        }

.events-page .legend-color--normal { background: #007bff; }
.events-page .legend-color--important { background: #dc3545; }
.events-page .events-inline-form { display: inline; }



/* --- Flatpickr inline calendars (views/partials/date-range-inline.blade.php) --- */
/* Compact mais lisible */
    #calendar-start, #calendar-end {
        width: 100%;
        max-width: 280px;
    }

    .flatpickr-calendar.inline {
        box-shadow: none !important;
    }

    .flatpickr-day.today {
        border-color: #0d6efd !important;
    }

    .flatpickr-day.selected {
        background-color: #0d6efd !important;
        color: white !important;
    }


/* --- Medieval date-range form + themed flatpickr (views/partials/date-range-simple.blade.php) --- */
.medieval-card {
        background: rgba(44, 24, 16, 0.8);
        border: 2px solid #c9a45c;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    }

    .medieval-card .form-label {
        color: #fff5e6;
        font-family: 'Cinzel', serif;
        font-weight: 600;
    }

    .medieval-card .form-select,
    .medieval-card .form-control {
        background-color: #2c1810;
        border: 1px solid #8b553d;
        color: #fff5e6;
    }

    .medieval-card .form-select:focus,
    .medieval-card .form-control:focus {
        background-color: #3a2218;
        border-color: #c9a45c;
        box-shadow: 0 0 0 0.25rem rgba(201, 164, 92, 0.25);
        color: #e8d5b5;
    }

    .medieval-card .input-group-text {
        background-color: #784421;
        border: 1px solid #784421;
        color: #c9a45c;
    }
.medieval-card .btn-primary {
        background: linear-gradient(to bottom, #c9a45c, #8b6b3d);
        border: 1px solid #c9a45c;
        color: #2c1810;
        font-family: 'Cinzel', serif;
        font-weight: bold;
        text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.2);
    }
.medieval-card .btn-primary:hover {
        background: linear-gradient(to bottom, #8b6b3d, #c9a45c);
        border-color: #8b6b3d;
    }

    /* FlatPickr Theme Overrides */
.flatpickr-calendar.medieval-flatpickr {
        background: #2c1810;
        border: 2px solid #c9a45c;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-day {
        color: #e8d5b5;
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-day.selected {
        background: #c9a45c;
        border-color: #8b6b3d;
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-day:hover {
        background: #784421;
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-months .flatpickr-month {
        background: #2c1810;
        color: #c9a45c;
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-current-month .flatpickr-monthDropdown-months {
        background: #2c1810;
        color: #c9a45c;
        font-family: 'Cinzel', serif;
    }
.flatpickr-calendar.medieval-flatpickr .flatpickr-weekday {
        color: #c9a45c !important;
        font-family: 'Cinzel', serif;
    }


/* --- Charts --- */
/* Chart container + canvas (views/charts/render-chart.blade.php) */
.chart-container {
    position: relative;
    height: 400px;
}
.chart-canvas {
    background: #2c1810;
    border: 2px solid #e0b76b;
    box-shadow: 0 4px 20px rgba(56, 34, 10, 0.7);
}


/* --- Layout --- */
/* Sidebar sizing (views/layouts/main.blade.php) */
.sidebar-fixed {
    width: 280px;
}


/* --- Ranking table --- */
/* Ranking progress bar (views/partials/table-ranking.blade.php) */
.progress.medieval-progress {
    height: 24px;
}
.progress.medieval-progress .progress-bar {
    width: var(--w, 0%);
    filter: hue-rotate(var(--hue, 0deg));
    background-color: var(--bar-bg, #dc3545);
}


/* --- Welcome page svg --- */
/* SVG blend modes (views/welcome.blade.php) */
.blend-hard-light { mix-blend-mode: hard-light; }
.blend-plus-darker { mix-blend-mode: plus-darker; }