/* -----------------------------------------------
   FRAMBOISE — Custom CSS
   Prefix: fmb-  (never clashes with Bootstrap)
   Theme: Minecraft Vanilla
   ----------------------------------------------- */

/* -- Fonts ----------------------------------- */
@font-face {
    font-family: 'Minecraft';
    src:  url('../../fonts/Minecraft.ttf') format('truetype');
    font-weight: normal;
    font-style:  normal;
    font-display: swap;
}

/* If you have a second readable font, add another @font-face here:
@font-face {
    font-family: 'MCBody';
    src:  url('../../fonts/mc-body.ttf') format('truetype');
    font-display: swap;
}
*/

/* -- Palette (CSS vars) ----------------------- */
:root {
    --fmb-grass:     #7CB342;
    --fmb-grass-dark:#5b8a2b;
    --fmb-dirt:      #8B6F47;
    --fmb-dirt-dark: #6b5436;
    --fmb-stone:     #8B8B8B;
    --fmb-stone-dark:#6a6a6a;
    --fmb-obsidian:  #1a1a2e;
    --fmb-diamond:   #4AEDC4;
    --fmb-raspberry: #C01447;
    --fmb-redstone:  #FF4444;
    --fmb-gold:      #FFAA00;
    --fmb-oak:       #B8860B;
    --fmb-dark-wood: #4A3728;
    --fmb-parchment: #f4f1ea;
    --fmb-shadow:    rgba(0, 0, 0, 0.25);
}

/* -- Base body -------------------------------- */
.fmb-body {
    background-color: var(--fmb-parchment);
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 39px,
            rgba(139, 111, 71, 0.04) 39px,
            rgba(139, 111, 71, 0.04) 40px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 39px,
            rgba(139, 111, 71, 0.04) 39px,
            rgba(139, 111, 71, 0.04) 40px
        );
    min-height: 100vh;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* -- Headings (Minecraft font) --------------- */
.fmb-heading,
.fmb-brand,
h1.fmb, h2.fmb, h3.fmb {
    font-family: 'Minecraft', 'Segoe UI', monospace;
    letter-spacing: 1px;
}

/* -- Navbar ---------------------------------- */
.fmb-navbar {
    background-color: var(--fmb-obsidian) !important;
    border-bottom: 3px solid var(--fmb-grass);
    box-shadow: 0 2px 8px var(--fmb-shadow);
}

.fmb-navbar .nav-link {
    color: #c0c0c0 !important;
    font-weight: 500;
    transition: color 0.15s;
}

.fmb-navbar .nav-link:hover,
.fmb-navbar .nav-link.active {
    color: var(--fmb-grass) !important;
}

.fmb-brand {
    font-family: 'Minecraft', monospace !important;
    font-size: 1.4rem;
    color: var(--fmb-grass) !important;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.5);
}

.fmb-brand i {
    color: var(--fmb-diamond);
}

.fmb-navbar .dropdown-menu {
    background-color: var(--fmb-obsidian);
    border: 1px solid var(--fmb-stone-dark);
}

.fmb-navbar .dropdown-item {
    color: #c0c0c0;
}

.fmb-navbar .dropdown-item:hover {
    background-color: var(--fmb-dark-wood);
    color: var(--fmb-grass);
}

/*	*/
.fmb-navbar .nav-link.btn-link,
.nav-pills .btn-link {
    color: #c0c0c0 !important;
    text-decoration: none;
    border-radius: 0;
}
.nav-pills .btn-link.active,
.fmb-navbar .nav-link.btn-link:hover {
    color: var(--fmb-grass) !important;
}
.nav-pills .btn-link.active {
    background: var(--fmb-grass);
    color: #fff !important;
}


/* -- Cards (Minecraft blocky style) ---------- */
.fmb-card {
    background: #fff;
    border: 3px solid var(--fmb-stone-dark);
    border-radius: 0;
    box-shadow:
        inset -2px -2px 0 rgba(0, 0, 0, 0.15),
        inset  2px  2px 0 rgba(255, 255, 255, 0.5),
        4px 4px 0 var(--fmb-shadow);
    transition: transform 0.12s, box-shadow 0.12s;
}

.fmb-card:hover {
    transform: translateY(-2px);
    box-shadow:
        inset -2px -2px 0 rgba(0, 0, 0, 0.15),
        inset  2px  2px 0 rgba(255, 255, 255, 0.5),
        6px 6px 0 var(--fmb-shadow);
}

.fmb-card-header {
    background-color: var(--fmb-dirt) !important;
    color: #fff !important;
    font-family: 'Minecraft', monospace;
    border-bottom: 3px solid var(--fmb-dirt-dark) !important;
    border-radius: 0 !important;
    letter-spacing: 1px;
}

.fmb-card-body {
    padding: 1.25rem;
}

/* -- Buttons (Minecraft 3D pixel) ------------- */
.fmb-btn {
    font-family: 'Minecraft', monospace;
    letter-spacing: 1px;
    border: 2px solid var(--fmb-stone-dark);
    border-radius: 0;
    box-shadow:
        inset -2px -2px 0 rgba(0, 0, 0, 0.25),
        inset  2px  2px 0 rgba(255, 255, 255, 0.2);
    transition: filter 0.12s, transform 0.12s;
    color: #fff;
}

.fmb-btn:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
    color: #fff;
}

.fmb-btn:active {
    transform: translateY(1px);
    box-shadow:
        inset  2px  2px 0 rgba(0, 0, 0, 0.25),
        inset -2px -2px 0 rgba(255, 255, 255, 0.1);
}

.fmb-btn-grass {
    background-color: var(--fmb-grass);
    border-color: var(--fmb-grass-dark);
}

.fmb-btn-dirt {
    background-color: var(--fmb-dirt);
    border-color: var(--fmb-dirt-dark);
}

.fmb-btn-stone {
    background-color: var(--fmb-stone);
    border-color: var(--fmb-stone-dark);
}

.fmb-btn-redstone {
    background-color: var(--fmb-redstone);
    border-color: #cc2222;
}

.fmb-btn-diamond {
    background-color: var(--fmb-diamond);
    border-color: #2dbba0;
    color: var(--fmb-obsidian) !important;
}


/* -- Text link button (looks like a link, is a POST form) -- */
.fmb-text-link {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: var(--fmb-grass);
    text-decoration: underline;
    cursor: pointer;
    display: inline;
    font-size: inherit;
    vertical-align: baseline;
}
.fmb-text-link:hover {
    color: var(--fmb-diamond);
    text-decoration: underline;
}

/* -- Button hover fixes (override Bootstrap) -- */
.fmb-btn-grass:hover {
    background-color: var(--fmb-grass-dark) !important;
    border-color: var(--fmb-grass-dark) !important;
    color: #fff !important;
}
.fmb-btn-dirt:hover {
    background-color: var(--fmb-dirt-dark) !important;
    border-color: var(--fmb-dirt-dark) !important;
    color: #fff !important;
}
.fmb-btn-stone:hover {
    background-color: var(--fmb-stone-dark) !important;
    border-color: #4a4a4a !important;
    color: #fff !important;
}
.fmb-btn-redstone:hover {
    background-color: #cc2222 !important;
    border-color: #aa1111 !important;
    color: #fff !important;
}
.fmb-btn-diamond:hover {
    background-color: #2dbba0 !important;
    border-color: #1a9a80 !important;
    color: var(--fmb-obsidian) !important;
}

/* -- Plain text button (looks like text, acts like a link) -- */
.fmb-plain-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    display: inline;
    font-size: inherit;
    text-align: inherit;
    font-weight: inherit;
    vertical-align: baseline;
}
.fmb-plain-btn:hover {
    color: var(--fmb-grass);
    text-decoration: underline;
}

/* -- Status badges --------------------------- */
.fmb-status {
    font-family: 'Minecraft', monospace;
    font-size: 0.75rem;
    letter-spacing: 1px;
    padding: 3px 10px;
    border-radius: 0;
    border: 2px solid;
    display: inline-block;
}

.fmb-status-open {
    background-color: var(--fmb-grass);
    border-color: var(--fmb-grass-dark);
    color: #fff;
}

.fmb-status-in_progress {
    background-color: var(--fmb-gold);
    border-color: #cc8800;
    color: #fff;
}

.fmb-status-resolved {
    background-color: var(--fmb-diamond);
    border-color: #2dbba0;
    color: var(--fmb-obsidian);
}

.fmb-status-closed {
    background-color: var(--fmb-stone-dark);
    border-color: #4a4a4a;
    color: #ddd;
}

/* -- Priority badges ------------------------- */
.fmb-priority {
    font-family: 'Minecraft', monospace;
    font-size: 0.75rem;
    letter-spacing: 1px;
    padding: 2px 8px;
    border-radius: 0;
    border: 2px solid;
    display: inline-block;
}

.fmb-priority-low      { background: #555; border-color: #333; color: #ccc; }
.fmb-priority-normal   { background: #2196F3; border-color: #1976D2; color: #fff; }
.fmb-priority-high     { background: var(--fmb-gold); border-color: #cc8800; color: #fff; }
.fmb-priority-critical { background: var(--fmb-redstone); border-color: #cc2222; color: #fff; }

/* -- Role badges ------------------------------ */
.fmb-role {
    font-family: 'Minecraft', monospace;
    font-size: 0.7rem;
    letter-spacing: 1px;
    padding: 2px 8px;
    border-radius: 0;
    border: 2px solid;
    display: inline-block;
}

.fmb-role-player { background: var(--fmb-grass); border-color: var(--fmb-grass-dark); color: #fff; }
.fmb-role-friend { background: var(--fmb-diamond); border-color: #2dbba0; color: var(--fmb-obsidian); }
.fmb-role-admin  { background: var(--fmb-redstone); border-color: #cc2222; color: #fff; }

/* -- Forms ----------------------------------- */
.fmb-form-label {
    font-family: 'Minecraft', monospace;
    font-size: 0.85rem;
    letter-spacing: 1px;
    color: var(--fmb-dirt-dark);
    margin-bottom: 0.3rem;
}

.fmb-input {
    border: 2px solid var(--fmb-stone-dark) !important;
    border-radius: 0 !important;
    box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1);
}

.fmb-input:focus {
    border-color: var(--fmb-grass) !important;
    box-shadow:
        inset 1px 1px 0 rgba(0, 0, 0, 0.1),
        0 0 0 3px rgba(124, 179, 66, 0.2) !important;
}

/* -- Tables (backend) ------------------------ */
.fmb-table {
    border: 3px solid var(--fmb-stone-dark);
    border-radius: 0;
}

.fmb-table thead {
    background-color: var(--fmb-dirt);
    color: #fff;
    font-family: 'Minecraft', monospace;
    letter-spacing: 1px;
}

.fmb-table th {
    border-bottom: 2px solid var(--fmb-dirt-dark) !important;
}

.fmb-table tbody tr:hover {
    background-color: rgba(139, 111, 71, 0.08);
}

/* -- Hero section ---------------------------- */
.fmb-hero {
    background: linear-gradient(135deg, var(--fmb-obsidian) 0%, var(--fmb-dark-wood) 100%);
    color: #fff;
    padding: 3rem 1.5rem;
    border-bottom: 3px solid var(--fmb-grass);
    text-align: center;
}

.fmb-hero h1 {
    font-family: 'Minecraft', monospace;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.6);
    letter-spacing: 2px;
}

.fmb-hero .fmb-subtitle {
    color: var(--fmb-stone);
    font-size: 1.1rem;
}

/* -- Footer ----------------------------------- */
.fmb-footer {
    background-color: var(--fmb-obsidian);
    color: var(--fmb-stone);
    border-top: 3px solid var(--fmb-grass);
    padding: 1.5rem 0;
    margin-top: 3rem;
    font-size: 0.85rem;
}

.fmb-footer a {
    color: var(--fmb-grass);
    text-decoration: none;
}

.fmb-footer a:hover {
    color: var(--fmb-diamond);
}

/* -- CAPTCHA ---------------------------------- */
.fmb-captcha-img {
    border: 2px solid var(--fmb-stone-dark);
    border-radius: 0;
    cursor: pointer;
    image-rendering: pixelated;
}

/* -- Plugin / Tool cards --------------------- */
.fmb-plugin-icon {
    width: 64px;
    height: 64px;
    image-rendering: pixelated;
    border: 2px solid var(--fmb-stone-dark);
}

.fmb-tool-card .fmb-download-count {
    font-family: 'Minecraft', monospace;
    font-size: 0.75rem;
    color: var(--fmb-stone-dark);
}

/* -- Ticket thread --------------------------- */
.fmb-reply {
    border-left: 3px solid var(--fmb-stone-dark);
    padding-left: 1rem;
    margin-bottom: 1rem;
}

.fmb-reply-staff {
    border-left-color: var(--fmb-grass);
    background-color: rgba(124, 179, 66, 0.05);
    padding: 0.75rem;
    border-radius: 0;
}

/* -- Misc ------------------------------------ */
.fmb-center { text-align: center; }
.fmb-mono   { font-family: 'Minecraft', monospace; }

.fmb-section-title {
    font-family: 'Minecraft', monospace;
    letter-spacing: 1px;
    color: var(--fmb-dirt-dark);
    border-bottom: 2px solid var(--fmb-stone-dark);
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.fmb-empty {
    text-align: center;
    color: var(--fmb-stone-dark);
    padding: 3rem;
    font-family: 'Minecraft', monospace;
}

.fmb-modal-header {
    background-color: var(--fmb-dirt) !important;
    color: #fff !important;
    font-family: 'Minecraft', monospace;
    border-radius: 0 !important;
}

.fmb-modal-content {
    border: 3px solid var(--fmb-stone-dark) !important;
    border-radius: 0 !important;
}

/* -- Responsive ------------------------------ */
@media (max-width: 768px) {
    .fmb-hero { padding: 2rem 1rem; }
    .fmb-hero h1 { font-size: 1.8rem; }
}
