/*

Custom style

You can override the default class or style here

This file will not be overwritten by the updater

*/

/* ORBIT Plus — testi XP contenuti e responsive */
.orbit-mission,
.orbit-xp-panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
}

.orbit-mission > *,
.orbit-xp-panel > *,
.orbit-xp-head > *,
.orbit-xp-stats > * {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

.orbit-mission > div {
    flex: 1 1 280px;
}

.orbit-mission p,
.orbit-xp-panel p,
.orbit-xp-panel .orbit-xp-help,
.orbit-xp-panel .orbit-xp-status,
.orbit-mission strong,
.orbit-xp-head h2 {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: normal;
    max-width: 100%;
    min-width: 0;
}

.orbit-mission p,
.orbit-xp-panel p,
.orbit-xp-panel .orbit-xp-help,
.orbit-xp-panel .orbit-xp-status {
    box-sizing: border-box;
    display: block;
    width: 100%;
}

.orbit-xp-head > div {
    flex: 1 1 240px;
}

.orbit-mission .ft-primary,
.orbit-xp-panel .ft-primary,
.orbit-xp-stats strong {
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.orbit-mission .ft-primary {
    flex: 0 1 auto;
}

@media (max-width: 650px) {
    .orbit-mission,
    .orbit-xp-head {
        align-items: flex-start;
    }

    .orbit-mission > div,
    .orbit-xp-head > div {
        flex-basis: 100%;
    }
}

/* ORBIT Plus — footer e copyright responsive */
.footer,
.copyright {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.footer .container,
.copyright .container,
.footer [class^="footer-"] {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.footer > .container > .row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-left: 0;
    margin-right: 0;
}

.footer > .container > .row > .col-lg-3 {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.footer .ft-footer-brand {
    display: flex;
    flex-wrap: wrap !important;
    gap: 16px 24px;
}

.footer .ft-footer-brand > * {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.footer .ft-footer-brand > p {
    flex: 1 1 200px;
}

.footer p,
.footer a,
.footer li,
.footer h2,
.footer h3,
.footer h4,
.copyright p,
.copyright a,
.copyright span {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.footer img,
.copyright img {
    max-width: 100% !important;
    height: auto;
}

.footer iframe,
.copyright iframe {
    max-width: 100% !important;
}

.footer .list-categories,
.footer ul.links {
    flex-wrap: wrap;
    max-width: 100%;
    white-space: normal !important;
}

.footer .list-game,
.footer .wgt-list-game,
.footer .wgt-list-content,
.footer .wgt-list-title,
.footer .wgt-list-category {
    min-width: 0;
    max-width: 100%;
}

.footer .wgt-list-title,
.footer .wgt-list-category {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

@media (max-width: 991px) {
    .footer > .container > .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .footer > .container > .row {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .footer .ft-footer-brand {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .footer .ft-footer-brand > p {
        flex: 0 1 auto;
    }

    .copyright {
        padding-left: 12px;
        padding-right: 12px;
        font-size: 12px;
        line-height: 1.7;
    }
}

/* ORBIT Plus — dettagli gioco, comandi, descrizione e commenti */
.game-container,
.single-game,
.single-info-container,
.info-the-game,
.single-description,
.single-instructions,
#tpl-comment-section {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.single-game > .row {
    margin-left: 0;
    margin-right: 0;
}

.single-game > .row > .game-content,
.single-game > .row > .col-md-3 {
    min-width: 0;
    max-width: 100%;
}

.single-game .single-info-container,
.single-game .info-the-game {
    width: 100%;
}

.single-game .single-info-container .header {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
}

.single-game .header-left {
    flex: 1 1 240px;
    min-width: 0;
    max-width: 100%;
}

.single-game .header-right {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.single-game .single-title {
    margin: 0 0 8px;
    padding-bottom: 0;
    font-size: clamp(20px, 3vw, 28px);
    line-height: 1.3;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .header-left p,
.single-game .txt-stats,
.single-game .vote-status {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .stats-vote {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 0;
    text-align: left;
}

.single-game .stats-vote .txt-stats,
.single-game .stats-vote .vote-status {
    flex-basis: 100%;
}

.single-game .action-btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding-top: 16px;
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
}

.single-game .action-btn .single-icon,
.single-game .action-btn .ft-focus-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .single-icon i {
    flex-shrink: 0;
    margin-right: 0;
}

.single-game .single-icon a {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .action-btn .social-share {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static;
    width: 44px;
    height: 44px;
    margin: 0;
    flex: 0 0 44px;
}

.single-game .social-share .social-icon {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.single-game .single-description *,
.single-game .single-instructions * {
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

.single-game .single-description p,
.single-game .single-instructions p,
.single-game .single-description li,
.single-game .single-instructions li {
    white-space: normal !important;
}

.single-game .single-description img,
.single-game .single-instructions img {
    max-width: 100% !important;
    height: auto;
}

.single-game .single-description iframe,
.single-game .single-instructions iframe {
    max-width: 100% !important;
}

.single-game .single-description pre,
.single-game .single-instructions pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.single-game .cat-list,
.single-game .game-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
}

.single-game .cat-link,
.single-game .tag-item {
    display: inline-block;
    min-width: 0;
    max-width: 100%;
    margin-right: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game #comment-form,
.single-game .comment-require-login-wrapper,
.single-game .user-comment-wrapper,
.single-game .tpl-reply-form {
    display: flex;
    gap: 12px;
    min-width: 0;
    max-width: 100%;
}

.single-game .comment-profile-avatar {
    margin-right: 0;
    flex: 0 0 44px;
}

.single-game .comment-profile-avatar img,
.single-game img.tpl-user-comment-avatar {
    width: 44px;
    height: 44px;
    max-width: 44px;
    max-height: 44px;
    flex: 0 0 44px;
    margin-right: 0;
    object-fit: cover;
}

.single-game .comment-form-wrapper,
.single-game .comment-content,
.single-game .comment-alert {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .tpl-comment-author,
.single-game .tpl-comment-timestamp {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.single-game .tpl-comment-text {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere;
}

.single-game .tpl-comment-children,
.single-game .comment-reply-wrapper {
    box-sizing: border-box;
    margin-left: 24px;
    width: auto;
    min-width: 0;
    max-width: 100%;
}

.single-game textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-game .comment-actions,
.single-game .reply-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
}

@media (max-width: 650px) {
    .single-game > .row > .game-content,
    .single-game > .row > .col-md-3 {
        padding-left: 0;
        padding-right: 0;
    }

    .single-game .header-left {
        flex-basis: 100%;
    }

    .single-game .action-btn .ft-focus-button {
        flex: 1 1 100%;
    }

    .single-game .action-btn .single-icon {
        flex: 1 1 140px;
    }

    .single-game .tpl-comment-children,
    .single-game .comment-reply-wrapper {
        margin-left: 12px;
    }
}
