.viboras-phone-back {
    display: inline-block;
    margin-bottom: 0.35rem;
    color: #006684;
    font-weight: 700;
    text-decoration: none;
}

.viboras-phone-stack,
.viboras-phone-campi,
.viboras-phone-sede,
.viboras-phone-match {
    box-sizing: border-box;
    max-width: 100%;
}

.viboras-phone-campi,
.viboras-phone-sede,
.viboras-phone-stack {
    padding: 1rem 1rem 0.25rem;
    color: #243d57;
}

.viboras-phone-head h1,
.viboras-phone-sede h1,
.viboras-phone-stack h2,
.viboras-phone-account-nav h1 {
    margin: 0.2rem 0 0.85rem;
    font-size: 1.55rem;
    line-height: 1.2;
}

.viboras-sede-card,
.viboras-phone-panel {
    display: block;
    margin: 0 0 0.75rem;
    padding: 1rem;
    border-radius: 1rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(36, 61, 87, 0.12);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
    max-width: 100%;
}

.viboras-sede-card h2,
.viboras-phone-panel h2 {
    margin: 0 0 0.3rem;
    font-size: 1.15rem;
}

.viboras-sede-card p,
.viboras-phone-panel p {
    margin: 0.15rem 0;
}

.viboras-phone-btn,
.viboras-phone-auth .uk-button,
.viboras-phone-match .uk-button {
    box-sizing: border-box;
}

.viboras-phone-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.25rem;
    margin-top: 0.85rem;
    border-radius: 0.85rem;
    background: #00b0e1;
    color: #0b1c2c;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.viboras-phone-stack img,
.viboras-phone-sede img,
.viboras-phone-campi img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    border-radius: 0.8rem;
    margin-bottom: 0.65rem;
}

.viboras-phone-kicker {
    margin: 0;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #006684;
    font-weight: 700;
}

.viboras-phone-account-nav {
    padding: 1rem 1rem 0.85rem;
    background: #0f172a;
    color: #fff;
}

.viboras-phone-account-nav .viboras-phone-back {
    color: #44ccfe;
}

.viboras-phone-account-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.viboras-phone-account-nav li a,
.viboras-phone-admin {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.65rem 0.9rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.viboras-phone-account-nav li a.is-active {
    background: #00b0e1;
    color: #0b1c2c;
}

.viboras-phone-admin {
    margin-top: 0.75rem;
}

.viboras-phone-auth-bar {
    padding: 0.85rem 1rem 0;
}

.viboras-phone-match {
    min-height: 100vh;
    padding: 1rem 1rem 2rem;
    background: #0f172a;
    color: #fff;
}

.viboras-phone-match .viboras-phone-back {
    color: #44ccfe;
}

.viboras-match-badge {
    display: inline-block;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: #44ccfe;
    color: #004d64;
    font-size: 0.78rem;
    font-weight: 800;
}

.viboras-match-people {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
}

.viboras-match-people li {
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(36, 61, 87, 0.12);
}

.viboras-match-people strong {
    display: block;
}

.viboras-match-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.viboras-match-contact a {
    color: #006684;
    font-weight: 700;
}

@media (max-width: 959px) {
    .viboras-phone-flow {
        display: flex;
        flex-direction: column;
    }

    .viboras-phone-order-presentazione { order: 1; }
    .viboras-phone-order-faq { order: 2; }
    .viboras-phone-order-gallery { order: 3; }
    .viboras-phone-order-sponsor { order: 4; }
    .viboras-phone-order-claim { order: 5; }

    .viboras-phone-auth,
    .viboras-phone-readable,
    .viboras-phone-flow,
    .viboras-phone-campi,
    .viboras-phone-sede,
    .viboras-phone-match {
        overflow-x: hidden;
        max-width: 100%;
    }

    .viboras-phone-auth .uk-grid,
    .viboras-phone-auth [uk-grid],
    .viboras-phone-readable .uk-grid,
    .viboras-phone-readable [uk-grid] {
        margin-left: 0 !important;
    }

    .viboras-phone-auth .uk-grid > *,
    .viboras-phone-auth [uk-grid] > *,
    .viboras-phone-readable .uk-grid > *,
    .viboras-phone-readable [uk-grid] > * {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box;
    }

    .viboras-phone-auth .uk-input,
    .viboras-phone-auth .uk-select,
    .viboras-phone-auth .uk-textarea,
    .viboras-phone-auth .uk-form-width-large,
    .viboras-phone-auth .uk-inline,
    .viboras-phone-readable .uk-input,
    .viboras-phone-readable .uk-select,
    .viboras-phone-readable .uk-textarea,
    .viboras-phone-readable .uk-form-width-large,
    .viboras-phone-readable .uk-inline {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .viboras-phone-auth .uk-input,
    .viboras-phone-auth .uk-select,
    .viboras-phone-readable .uk-input,
    .viboras-phone-readable .uk-select {
        min-height: 3rem;
        font-size: 1rem;
    }

    .viboras-phone-auth .uk-button,
    .viboras-phone-auth a.uk-button,
    .viboras-phone-match .uk-button,
    .viboras-phone-match a.uk-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 3.25rem;
        margin: 0 0 0.75rem;
        box-sizing: border-box;
        font-size: 1rem;
    }

    .viboras-phone-auth .uk-section-large,
    .viboras-phone-auth .uk-padding-large,
    .viboras-phone-readable.uk-padding-large {
        padding: 1rem !important;
    }

    .viboras-phone-auth .uk-heading-small,
    .viboras-phone-readable h1 {
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .viboras-phone-auth [uk-sticky],
    .viboras-phone-readable [uk-sticky] {
        position: static !important;
        top: auto !important;
    }

    .viboras-phone-readable .uk-form-horizontal .uk-form-label {
        display: block;
        float: none;
        width: 100% !important;
        margin: 0 0 0.25rem;
        text-align: left;
    }

    .viboras-phone-readable .uk-form-horizontal .uk-form-controls {
        margin-left: 0 !important;
    }

    .viboras-phone-readable .uk-tab,
    .viboras-phone-readable .uk-subnav {
        flex-wrap: wrap;
    }

    .viboras-phone-readable table {
        width: 100% !important;
    }

    .viboras-phone-readable .uk-table-expand {
        min-width: 0 !important;
    }

    .viboras-phone-readable td,
    .viboras-phone-readable th {
        white-space: normal !important;
        word-break: break-word;
    }

    .viboras-phone-readable img,
    .viboras-phone-auth img {
        max-width: 100%;
        height: auto;
    }
}
