/* =========================================================
   FIGHTDLE — SHARED PAGE FURNITURE
   The mode bar, info icons, roster/patch/contact modals and footer —
   the chrome every mode page carries. Extracted from the per-mode
   stylesheets, which each held their own near-identical copy.

   New modes should link this instead of copying a mode stylesheet.
   The existing modes still carry their own copies; they can be
   migrated to this file one at a time.
   ========================================================= */

.logo {
    display: flex;
    justify-content: center;  
    align-items: center;  
    margin-top: 10px;
    margin-bottom: 10px;
}

.info-container {
    display: flex;
    justify-content: center;
    background: #333232; 
    padding: 10px;
    margin-bottom: 8px;
    gap: 20px;
    border-radius: 8px;
    
    border: 2px solid var(--gold);  
}

.fighter-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    max-width: 500px;
    background-color: #1E1E1E;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.4);
    text-align: center;
    border: 2px solid var(--gold); 
}

.fighter-title {
    font-size: 24px;
    font-weight: bold;
    color: white;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 10px;
}

.close-fighter {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    color: white;
    background-color: var(--gold);
    border-radius: 50%;
    padding: 5px 10px;
    text-align: center;
}

.close-fighter:hover {
    background-color: red;
}

.fighter-container {
    max-height: 300px;
    overflow-y: auto;
    background-color: #2B2B2B;
    border-radius: 8px;
    padding: 15px;
    margin-top: 10px;
    text-align: left;
    color: white;
}

.fighter-container div {
    background-color: #3B3B3B;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    color: white;
    text-align: left;
    font-size: 14px;
}

.fighter-container div strong {
    color: white;
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
}

.patch-modal {
    display: none; 
    position: fixed;
    z-index: 1000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    max-width: 500px;
    background-color: #1E1E1E;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.4);
    text-align: center;
    border: 2px solid var(--gold); 
}

.patch-title {
    font-size: 24px;
    font-weight: bold;
    color: white;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 10px;
}

.close-patch-notes {
    float: right;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    color: white;
    background-color: var(--gold);
    border-radius: 50%;
    padding: 5px 10px;
    text-align: center;
    position: absolute;
    top: 10px;
    right: 10px;
}

.close-patch-notes:hover {
    background-color: red;
}

.patch-notes-container {
    max-height: 300px;
    overflow-y: auto;
    background-color: #2B2B2B;
    border-radius: 8px;
    padding: 15px;
    margin-top: 10px;
    text-align: left;
}

.patch-notes-container div {
    background-color: #3B3B3B;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    color: white;
    text-align: left;
    font-size: 14px;
}

.patch-notes-container div strong {
    color: var(--gold);
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
}

.patch-notes-container div span {
    color: #B3B3B3;
    font-style: italic;
}

.tooltip-hover {
    position: relative;
    cursor: pointer;
    width: 40px;  
    height: auto; 
    display: inline-block; 
}

.tooltip-hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.tooltip-hover:hover::after {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(-5px);
}

.contact-modal {
    display: none;
    position: fixed; 
    z-index: 1000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    max-width: 500px;
    background-color: #1E1E1E;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.4);
    text-align: center;
    border: 2px solid var(--gold);
}

.contact-modal-content {
    position: relative;
}

.contact-title {
    font-size: 24px;
    font-weight: bold;
    color: white;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 10px;
}

.close-contact {
    float: right;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    color: white;
    background-color: var(--gold);
    border-radius: 50%;
    padding: 5px 10px;
    text-align: center;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2000;
}

.close-contact:hover {
    background-color: red;
}

.close-contact a {
    text-decoration: none;
    color: inherit;
}

.contact-container {
    max-height: 300px;
    overflow-y: auto;
    background-color: #2B2B2B;
    border-radius: 8px;
    padding: 15px;
    margin-top: 10px;
    text-align: left;
}

.contact-entry {
    background-color: #3B3B3B;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    color: white;
    text-align: left;
    font-size: 14px;
}

.contact-entry strong {
    color: var(--gold);
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
}

.contact-entry span a {
    color: #B3B3B3;
    text-decoration: none;
    font-style: italic;
}

.contact-entry span a:hover {
    color: #ffffff;
}

.checkmark {
    display: none;
    position: absolute;
    bottom: -8px;
    right: -6px;
    background: var(--correct);
    color: white;
    font-size: 0.75rem;
    padding: 2px 6px;
    border-radius: 999px;
    font-weight: bold;
    pointer-events: none;
  }



   
   .footer {
    height: 200px;
    max-height: 200px;
    color: #ffffff;
    text-align: center;
    padding: 0px;
    padding-bottom: 150px;
  }

.footer-container {
    max-width: 1200px;
    padding: 0 15px;
  }

.socials-text {
    font-size:medium;
    color: white;
    margin-top: -10px
  }


/* Footer socials and copyright — these were missed on the first pass
   because the keyword filter looked for "socials" while the classes are
   .social-icon / .social-links. Without them the logos render at their
   natural size (the Instagram PNG is 1200px square). */
.social-links {
    margin-bottom: 10px;
  }

.social-links a {
    margin: 0 8px;
    display: inline-block;
    transition: transform 0.3s ease;
  }

.social-links a:hover {
    transform: scale(1.1);
  }

.social-icon {
    width: 40px;
    height: 40px;
  }



  .copyright {
    font-size: small;
    color: #888;
  }

/* Responsive override for the footer socials — the base rule is 40px and
   this drops them to 30px on phones, matching the other mode pages. */
@media (max-width: 600px) {
    .social-icon { width: 30px; height: 30px; }
}


/* =========================================================
   MODE BAR
   Rebuilt by hand. The earlier extraction lifted these out of their
   media queries and flattened them into base rules, so the phone-sized
   `.mode-bar { width: max-content }` applied at every width while the
   `overflow-x: auto` that made it scrollable was dropped entirely —
   the icons stretched past the viewport instead of forming a reel.
   ========================================================= */

.mode-bar-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 20px;
    padding: 0 10px;
}

.mode-bar {
    display: flex;
    gap: 18px;
    align-items: center;
    background: none;
    flex-wrap: nowrap;
    justify-content: center;
}

.mode-icon {
    width: 70px;
    height: 70px;
    background-color: #1e1e1e;
    border: 3px solid #888;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;
    transition: transform .2s, border-color .2s;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

/* Black line-art on an opaque white background, so the art becomes the
   disc rather than sitting as a white square on the dark circle. */
.mode-icon img {
    width: 92%;
    height: 92%;
    object-fit: contain;
    display: block;
    pointer-events: none;
}

.mode-icon:hover { border-color: gold; transform: scale(1.07); }
.mode-icon.active { border-color: orange; box-shadow: 0 0 10px rgba(255, 165, 0, .6); }

/* The label sits below the circle, revealed on hover on desktop and
   always visible on phones (where there is no hover). */
.mode-label {
    position: absolute;
    top: 65px;
    color: white;
    font-size: .85rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity .3s ease, transform .3s ease;
    text-shadow: -1px -1px 0 black, 1px -1px 0 black,
                 -1px  1px 0 black, 1px  1px 0 black;
}

.mode-icon:hover .mode-label { opacity: 1; transform: translateY(0); }

/* Below 700px the bar becomes a horizontally scrollable reel rather than
   trying to fit every mode across the viewport. */
@media (max-width: 700px) {
    .mode-bar-wrapper {
        justify-content: flex-start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
    }

    .mode-bar-wrapper::-webkit-scrollbar { display: none; }

    .mode-bar {
        gap: 14px;
        padding: 6px 4px 14px;
        width: max-content;
    }

    .mode-icon {
        width: 78px;
        height: 78px;
        flex: 0 0 auto;
        margin-bottom: 18px;
        scroll-snap-align: start;
    }

    .mode-label {
        top: 78px;
        font-size: .85rem;
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 380px) {
    .mode-icon { width: 72px; height: 72px; }
    .mode-label { top: 72px; font-size: .8rem; }
}


/* =========================================================
   LOGO
   Rebuilt by hand — the extraction flattened the 768px rules into
   base rules, so the phone-sized logo (80% wide, capped at 400px)
   applied on desktop too and rendered smaller than on every other page.
   ========================================================= */

.logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
}

.logo img {
    width: 380px;
    height: auto;
    max-width: 100%;
}

@media (max-width: 768px) {
    .logo { display: flex; justify-content: center; align-items: center; width: 80%; height: 80%; max-width: 400px; margin: 0 auto; text-align: center; padding: 10px 0; }
    .logo img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
}
