@import url("./player-challenge.css");

/* ==========================================================
   PHOTO CHALLENGE
   ========================================================== */

:root {

    --primary: #2563EB;
    --primary-hover: #1D4ED8;

    --dark: #0F172A;

    --success: #22C55E;
    --warning: #FBBF24;
    --danger: #F87171;

    --background: #F2F4F7;
    --surface: #FFFFFF;

    --text: #1E293B;
    --text-light: #64748B;

    --radius: 20px;

    --shadow:
        0 4px 18px rgba(15,23,42,.06);

    --transition: .2s ease;
}

*{
    box-sizing:border-box;
}

body{

    margin:0;

    background:var(--background);

    color:var(--text);

    font-family:"Manrope",sans-serif;

    font-size:16px;

    line-height:1.6;

}

/* ==========================================================
   NAVBAR
   ========================================================== */

.pc-navbar{

    background:white;

    position:sticky;

    top:0;

    z-index:1000;

    border-bottom:1px solid #E5E7EB;

}

.pc-navbar .container{

    height:72px;

    display:flex;

    align-items:center;

}

.pc-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.pc-brand-logo {
    display: block;
    width: auto;
    height: 46px;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .pc-brand-logo {
        height: 38px;
    }
}

.auth-logo {

    display: block;

    width: 100%;

    height: auto;

    margin: 0 auto;

}

/* ==========================================================
   CARDS
   ========================================================== */

.pc-card{

    background:white;

    border-radius:var(--radius);

    padding:24px;

    box-shadow:var(--shadow);

    border:none;

}

/* ==========================================================
   BUTTONS
   ========================================================== */

.btn-primary{

    background:var(--primary);

    border:none;

    border-radius:16px;

    padding:12px 22px;

    font-weight:700;

    transition:var(--transition);

}

.btn-primary:hover{

    background:var(--primary-hover);

    transform:translateY(-1px);

}

.btn-outline-primary{

    border-radius:16px;

    font-weight:700;

}

/* ==========================================================
   FORMULAIRES
   ========================================================== */

.form-control,
.form-select{

    border-radius:14px;

    border:1px solid #D6DCE5;

    padding:12px 16px;

    box-shadow:none;

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(37,99,235,.15);

}

/* ==========================================================
   TITRES
   ========================================================== */

h1{

    font-weight:800;

    margin-bottom:24px;

}

h2{

    font-weight:700;

}

h3{

    font-weight:700;

}

/* ==========================================================
   AUTHENTIFICATION
   ========================================================== */

.auth-page {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    padding: 24px 0;
}

.auth-intro {
    margin-bottom: 32px;
    text-align: center;
}

.auth-icon {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 20px;
    background: var(--primary);
    color: #fff;
    font-size: 28px;
    box-shadow:
        0 14px 30px rgba(37, 99, 235, 0.22);
}

.auth-brand {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin: 0;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.auth-brand span {
    color: var(--dark);
}

.auth-brand strong {
    color: var(--primary);
    font-weight: 800;
}

.auth-tagline {
    margin: 12px 0 0;
    color: var(--text-light);
    font-size: 15px;
    line-height: 1.55;
}

.auth-card {
    padding: 30px;
}

.auth-card-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 26px;
}

.auth-card-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 20px;
}

.auth-card-header h2 {
    margin: 0 0 4px;
    color: var(--dark);
    font-size: 20px;
    font-weight: 800;
}

.auth-card-header p {
    margin: 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.45;
}

.form-group {
    margin-bottom: 20px;
}

.form-label {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--dark);
    font-size: 14px;
    font-weight: 700;
}

.password-field {
    position: relative;
}

.password-field > .bi-lock {
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 2;
    color: var(--text-light);
    transform: translateY(-50%);
    pointer-events: none;
}

.password-field .form-control {
    min-height: 52px;
    padding-right: 50px;
    padding-left: 46px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: var(--text-light);
    transform: translateY(-50%);
    transition: var(--transition);
}

.password-toggle:hover {
    background: #eef2f7;
    color: var(--dark);
}

.password-toggle:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.2);
}

.auth-submit {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.auth-submit .bi-arrow-right {
    transition: transform var(--transition);
}

.auth-submit:hover .bi-arrow-right {
    transform: translateX(3px);
}

.pc-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 13px 15px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 600;
}

.pc-alert-danger {
    border: 1px solid rgba(248, 113, 113, 0.3);
    background: rgba(248, 113, 113, 0.1);
    color: #b42318;
}

.auth-footer {
    margin: 22px 0 0;
    color: var(--text-light);
    text-align: center;
    font-size: 12px;
}

@media (max-width: 575.98px) {
    .auth-page {
        padding-top: 4px;
    }

    .auth-intro {
        margin-bottom: 24px;
    }

    .auth-card {
        padding: 24px 20px;
    }

    .auth-icon {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        font-size: 25px;
    }
}

/* ==========================================================
   TABLEAU DE BORD ADMINISTRATEUR
   ========================================================== */

.admin-dashboard {
    padding-bottom: 32px;
}

.dashboard-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.dashboard-eyebrow {
    margin: 0 0 6px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-header h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.15;
}

.dashboard-description {
    max-width: 620px;
    margin: 10px 0 0;
    color: var(--text-light);
}

.dashboard-create {
    display: inline-flex;
    min-height: 50px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 38px;
}

.stat-card {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 16px;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.stat-icon {
    display: inline-flex;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-size: 21px;
}

.stat-icon-primary {
    background: rgba(37, 99, 235, 0.11);
    color: var(--primary);
}

.stat-icon-success {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}

.stat-icon-warning {
    background: rgba(251, 191, 36, 0.16);
    color: #d97706;
}

.stat-value,
.stat-label {
    display: block;
}

.stat-value {
    color: var(--dark);
    font-size: 27px;
    font-weight: 800;
    line-height: 1.1;
}

.stat-label {
    margin-top: 4px;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 600;
}

.dashboard-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.dashboard-section-header h2 {
    margin: 0;
    color: var(--dark);
    font-size: 22px;
    font-weight: 800;
}

.dashboard-section-header p {
    margin: 6px 0 0;
    color: var(--text-light);
    font-size: 14px;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.event-card {
    display: flex;
    min-height: 230px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: var(--radius);
    background: var(--surface);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow);
    transition:
        transform var(--transition),
        box-shadow var(--transition),
        border-color var(--transition);
}

.event-card:hover {
    border-color: rgba(37, 99, 235, 0.22);
    color: inherit;
    transform: translateY(-3px);
    box-shadow:
        0 14px 34px rgba(15, 23, 42, 0.1);
}

.event-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 20px 0;
}

.event-type {
    overflow: hidden;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.09);
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 700;
}

.event-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.event-status.is-open .event-status-dot {
    background: var(--success);
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.event-status.is-closed .event-status-dot {
    background: #94a3b8;
}

.event-card-body {
    flex: 1;
    padding: 23px 20px;
}

.event-card-body h3 {
    margin: 0 0 18px;
    color: var(--dark);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.35;
}

.event-meta {
    display: flex;
    flex-direction: column;
    gap: 9px;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 600;
}

.event-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.event-meta i {
    color: var(--primary);
}

.event-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-top: 1px solid #eef1f5;
}

.event-participants {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 700;
}

.event-card-arrow {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #f1f5f9;
    color: var(--dark);
    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);
}

.event-card:hover .event-card-arrow {
    background: var(--primary);
    color: #fff;
    transform: translateX(2px);
}

.empty-state {
    padding: 58px 24px;
    text-align: center;
}

.empty-state-icon {
    display: inline-flex;
    width: 68px;
    height: 68px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 22px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 28px;
}

.empty-state h3 {
    margin: 0;
    color: var(--dark);
    font-size: 21px;
    font-weight: 800;
}

.empty-state p {
    max-width: 450px;
    margin: 10px auto 24px;
    color: var(--text-light);
}

.dashboard-footer {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

.logout-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-light);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.logout-link:hover {
    color: var(--danger);
}

/* Actions de l’événement */

.event-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.event-page-heading {
    min-width: 0;
}

.event-page-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
}

.event-page-actions .btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
}

.btn-outline-danger {
    border-radius: 16px;
    font-weight: 700;
}

/* Fenêtre de suppression */

body.has-open-modal {
    overflow: hidden;
}

.delete-event-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: 24px;
    background: rgba(15, 23, 42, 0.68);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.delete-event-modal[hidden] {
    display: none;
}

.delete-event-dialog {
    width: min(100%, 540px);
    padding: 32px;
    text-align: center;
    box-shadow:
        0 30px 70px rgba(15, 23, 42, 0.25);
}

.delete-event-icon {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 20px;
    background: rgba(248, 113, 113, 0.13);
    color: #dc2626;
    font-size: 28px;
}

.delete-event-dialog h2 {
    margin: 0;
    color: var(--dark);
    font-size: 23px;
    font-weight: 800;
}

.delete-event-dialog > p {
    margin: 12px 0 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.6;
}

.delete-event-dialog > p strong {
    color: var(--dark);
}

.delete-event-warning {
    padding: 12px 14px;
    border: 1px solid rgba(248, 113, 113, 0.25);
    border-radius: 14px;
    background: rgba(248, 113, 113, 0.08);
    color: #b42318 !important;
}

.delete-event-warning strong {
    color: #b42318 !important;
}

.delete-event-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 26px;
}

.delete-event-actions form {
    margin: 0;
}

.delete-event-actions .btn {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 15px;
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .events-grid,
    .dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-stats .stat-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
        .event-page-header {
        flex-direction: column;
    }

    .event-page-actions {
        width: 100%;
    }

    .event-page-actions .btn {
        flex: 1;
    }

    .delete-event-modal {
        align-items: end;
        padding: 14px;
    }

    .delete-event-dialog {
        padding: 26px 20px 20px;
        border-radius: 22px;
    }

    .delete-event-actions {
        flex-direction: column-reverse;
    }

    .delete-event-actions form,
    .delete-event-actions .btn {
        width: 100%;
    }
    .dashboard-header {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-create {
        width: 100%;
    }

    .dashboard-stats,
    .events-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-stats .stat-card:last-child {
        grid-column: auto;
    }
}

/* ==========================================================
   CRÉATION D’UN ÉVÉNEMENT
   ========================================================== */

.admin-create {
    max-width: 1120px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 26px;
    color: var(--text-light);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.back-link:hover {
    color: var(--primary);
}

.create-header {
    margin-bottom: 30px;
}

.create-header h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.15;
}

.create-header p:not(.dashboard-eyebrow) {
    max-width: 680px;
    margin: 10px 0 0;
    color: var(--text-light);
}

.create-alert {
    margin-bottom: 22px;
}

.create-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 24px;
}

.create-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-section {
    padding: 28px;
}

.form-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 26px;
}

.form-section-number {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 15px;
    font-weight: 800;
}

.form-section-heading h2 {
    margin: 0;
    color: var(--dark);
    font-size: 19px;
    font-weight: 800;
}

.form-section-heading p {
    margin: 5px 0 0;
    color: var(--text-light);
    font-size: 13px;
    line-height: 1.5;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.form-group {
    margin: 0;
}

.form-group-full {
    grid-column: 1 / -1;
}

.form-help {
    margin: 8px 0 0;
    color: var(--text-light);
    font-size: 12px;
}

.event-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.event-type-option {
    cursor: pointer;
}

.event-type-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.event-type-option-content {
    position: relative;
    display: flex;
    min-height: 116px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    border: 1px solid #dce2ea;
    border-radius: 17px;
    background: #fff;
    text-align: center;
    transition:
        border-color var(--transition),
        background var(--transition),
        transform var(--transition),
        box-shadow var(--transition);
}

.event-type-option:hover .event-type-option-content {
    border-color: rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
}

.event-type-option input:checked + .event-type-option-content {
    border-color: var(--primary);
    background: rgba(37, 99, 235, 0.055);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.event-type-option-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #f1f5f9;
    color: var(--dark);
    font-size: 19px;
}

.event-type-option input:checked
    + .event-type-option-content
    .event-type-option-icon {
    background: var(--primary);
    color: #fff;
}

.event-type-option-name {
    color: var(--dark);
    font-size: 13px;
    font-weight: 800;
}

.event-type-option-check {
    position: absolute;
    top: 9px;
    right: 9px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 12px;
    opacity: 0;
    transform: scale(0.8);
    transition: var(--transition);
}

.event-type-option input:checked
    + .event-type-option-content
    .event-type-option-check {
    opacity: 1;
    transform: scale(1);
}

.input-with-icon {
    position: relative;
}

.input-with-icon > i {
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 2;
    color: var(--text-light);
    transform: translateY(-50%);
    pointer-events: none;
}

.input-with-icon .form-control {
    min-height: 50px;
    padding-left: 46px;
}

.mission-count-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.mission-count-option {
    cursor: pointer;
}

.mission-count-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mission-count-option span {
    display: flex;
    min-height: 70px;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    padding: 15px;
    border: 1px solid #dce2ea;
    border-radius: 16px;
    background: #fff;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 700;
    transition: var(--transition);
}

.mission-count-option strong {
    color: var(--dark);
    font-size: 23px;
    font-weight: 800;
}

.mission-count-option:hover span {
    border-color: rgba(37, 99, 235, 0.35);
}

.mission-count-option input:checked + span {
    border-color: var(--primary);
    background: rgba(37, 99, 235, 0.055);
    color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mission-count-option input:checked + span strong {
    color: var(--primary);
}

.mission-count-help {
    margin-top: 12px;
}

.create-sidebar {
    position: sticky;
    top: 96px;
}

.create-summary {
    padding: 26px;
}

.create-summary-icon {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 16px;
    background: rgba(20, 184, 166, 0.12);
    color: var(--turquoise, #14b8a6);
    font-size: 22px;
}

.create-summary h2 {
    margin: 0;
    color: var(--dark);
    font-size: 20px;
    font-weight: 800;
}

.create-summary > p {
    margin: 9px 0 20px;
    color: var(--text-light);
    font-size: 13px;
    line-height: 1.55;
}

.create-summary ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.create-summary li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
}

.create-summary li i {
    margin-top: 2px;
    color: var(--success);
}

.create-submit {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.create-cancel {
    display: block;
    margin-top: 14px;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.create-cancel:hover {
    color: var(--dark);
}

@media (max-width: 991.98px) {
    .create-layout {
        grid-template-columns: 1fr;
    }

    .create-sidebar {
        position: static;
    }

    .create-summary {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .form-grid,
    .event-type-grid {
        grid-template-columns: 1fr;
    }

    .event-type-option-content {
        min-height: 80px;
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
    }

    .form-section {
        padding: 23px 20px;
    }
}

@media (max-width: 479.98px) {
    .mission-count-options {
        grid-template-columns: 1fr;
    }

    .mission-count-option span {
        min-height: 58px;
    }
}

/* ==========================================================
   PAGE D’UN ÉVÉNEMENT
   ========================================================== */

.admin-event {
    max-width: 1160px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.event-page-header {
    margin-bottom: 28px;
}

.event-page-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
}

.event-page-type,
.event-page-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.event-page-type {
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
}

.event-page-status.is-running {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.event-page-status.is-upcoming {
    background: rgba(251, 191, 36, 0.16);
    color: #b45309;
}

.event-page-status.is-finished {
    background: #eef2f7;
    color: var(--text-light);
}

.event-page-heading h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(30px, 4vw, 43px);
    line-height: 1.18;
}

.event-page-date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    color: var(--text-light);
    font-size: 14px;
    font-weight: 600;
}

.event-page-date span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.event-page-date span:first-child i {
    color: var(--primary);
}

.event-date-arrow {
    color: #a1aab8;
}

.event-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.event-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 24px;
}

.event-page-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 20px;
}

.event-page-sidebar {
    display: flex;
    position: sticky;
    top: 96px;
    flex-direction: column;
    gap: 20px;
}

.section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.section-heading h2,
.missions-pool-header h2 {
    margin: 0;
    color: var(--dark);
    font-size: 21px;
    font-weight: 800;
}

.section-heading p:not(.dashboard-eyebrow),
.missions-pool-header p {
    margin: 7px 0 0;
    color: var(--text-light);
    font-size: 13px;
    line-height: 1.5;
}

.section-heading-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 20px;
}

.share-card {
    padding: 28px;
}

.share-link-field {
    display: flex;
    gap: 10px;
}

.share-link-field .form-control {
    min-width: 0;
    min-height: 52px;
    background: #f8fafc;
    font-size: 13px;
}

.share-copy-button {
    display: inline-flex;
    min-width: 112px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.share-copy-button.is-copied {
    background: var(--success);
}

.copy-feedback {
    min-height: 19px;
    margin: 7px 0 0;
    color: #15803d;
    font-size: 12px;
    font-weight: 700;
}

.share-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.share-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid #dce2ea;
    border-radius: 13px;
    background: #fff;
    color: var(--dark);
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}

.share-action:hover {
    border-color: rgba(37, 99, 235, 0.35);
    background: rgba(37, 99, 235, 0.05);
    color: var(--primary);
}

.missions-pool-card {
    padding: 28px;
}

.missions-pool-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.missions-pool-count {
    display: inline-flex;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(20, 184, 166, 0.12);
    color: #0f8f82;
    font-size: 18px;
    font-weight: 800;
}

.missions-compact-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mission-compact-item {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 13px;
    padding: 13px 4px;
    border-bottom: 1px solid #edf0f4;
}

.mission-compact-item:last-child {
    border-bottom: 0;
}

.mission-compact-number {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 800;
}

.mission-compact-title {
    min-width: 0;
    color: var(--dark);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.missions-empty {
    padding: 35px 20px;
    color: var(--text-light);
    text-align: center;
}

.missions-empty i {
    font-size: 28px;
}

.missions-empty p {
    margin: 8px 0 0;
}

.missions-premium-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 22px;
    padding: 15px;
    border-radius: 16px;
    background: #f8fafc;
}

.missions-premium-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.11);
    color: #7c3aed;
}

.missions-premium-note strong {
    display: block;
    color: var(--dark);
    font-size: 13px;
}

.missions-premium-note p {
    margin: 3px 0 0;
    color: var(--text-light);
    font-size: 12px;
    line-height: 1.5;
}

.qr-card {
    padding: 24px;
    text-align: center;
}

.qr-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    text-align: left;
}

.qr-card-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 19px;
}

.qr-card-heading h2 {
    margin: 0;
    color: var(--dark);
    font-size: 17px;
    font-weight: 800;
}

.qr-card-heading p {
    margin: 5px 0 0;
    color: var(--text-light);
    font-size: 12px;
    line-height: 1.45;
}

.participant-qr-code {
    display: inline-flex;
    min-height: 244px;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #e4e9f0;
    border-radius: 18px;
    background: #fff;
}

.participant-qr-code img,
.participant-qr-code canvas {
    display: block;
    max-width: 100%;
    height: auto;
}

.qr-card-caption {
    margin: 12px 0 18px;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 600;
}

.qr-print-button {
    display: inline-flex;
    width: 100%;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.event-details-card {
    padding: 24px;
}

.event-details-card h2 {
    margin: 0 0 17px;
    color: var(--dark);
    font-size: 17px;
    font-weight: 800;
}

.event-details-list {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin: 0;
}

.event-details-list > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.event-details-list dt {
    color: var(--text-light);
    font-size: 12px;
    font-weight: 700;
}

.event-details-list dd {
    margin: 0;
    color: var(--dark);
    font-size: 12px;
    font-weight: 700;
    text-align: right;
}

@media (max-width: 991.98px) {
    .event-page-layout {
        grid-template-columns: 1fr;
    }

    .event-page-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .event-stats {
        grid-template-columns: 1fr;
    }

    .event-page-sidebar {
        grid-template-columns: 1fr;
    }

    .share-link-field {
        flex-direction: column;
    }

    .share-copy-button {
        width: 100%;
        min-height: 50px;
    }

    .event-page-date {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .event-date-arrow {
        display: none;
    }

    .share-card,
    .missions-pool-card {
        padding: 23px 20px;
    }
}

@media print {
    body {
        background: #fff;
    }

    .pc-navbar,
    .back-link,
    .event-page-header,
    .event-page-actions,
    .delete-event-modal,
    .event-stats,
    .event-page-main,
    .event-details-card,
    .qr-print-button {
        display: none !important;
    }

    main.container {
        max-width: none;
        padding: 0 !important;
    }

    .event-page-layout {
        display: block;
    }

    .event-page-sidebar {
        display: block;
        position: static;
    }

    .qr-card {
        border: 0;
        box-shadow: none;
    }

    .participant-qr-code {
        border: 0;
    }
}

/* ==========================================================
   REJOINDRE UN ÉVÉNEMENT
   ========================================================== */

.player-join {

    width: 100%;

    max-width: 540px;

    margin: 0 auto;

    padding: 0;

}

.player-join-brand {
    margin-bottom: 22px;
    text-align: center;
}

.player-join-logo {
    display: block;
    width: 100%;
    max-width: 460px;
    height: auto;
    margin: 0 auto;
}

.player-join-card {
    position: relative;
    overflow: hidden;
    padding: 34px;
    text-align: center;
}

.player-join-card::before {
    position: absolute;
    top: -95px;
    right: -90px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.06);
    content: "";
    pointer-events: none;
}

.player-join-card::after {
    position: absolute;
    bottom: -110px;
    left: -100px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(20, 184, 166, 0.06);
    content: "";
    pointer-events: none;
}

.player-event-icon,
.player-event-status,
.player-join-card h1,
.player-join-intro,
.player-event-dates,
.player-join-divider,
.player-join-form,
.player-join-card .pc-alert {
    position: relative;
    z-index: 1;
}

.player-event-icon {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 21px;
    background: linear-gradient(
        145deg,
        var(--primary),
        #4f7df3
    );
    color: #fff;
    font-size: 27px;
    box-shadow:
        0 15px 28px rgba(37, 99, 235, 0.22);
}

.player-event-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.player-event-status.is-running {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.player-event-status.is-upcoming {
    background: rgba(251, 191, 36, 0.16);
    color: #b45309;
}

.player-event-status.is-finished {
    background: #eef2f7;
    color: var(--text-light);
}

.player-join-card h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(28px, 7vw, 38px);
    font-weight: 800;
    line-height: 1.2;
}

.player-join-intro {
    max-width: 420px;
    margin: 12px auto 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.6;
}

.player-event-dates {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 18px;
    margin-top: 20px;
}

.player-event-dates span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.player-event-dates i {
    color: var(--primary);
}

.player-join-divider {
    height: 1px;
    margin: 26px 0;
    background: #edf0f4;
}

.player-join-form {
    text-align: left;
}

.nickname-field {
    position: relative;
}

.nickname-field > i {
    position: absolute;
    top: 50%;
    left: 16px;
    z-index: 2;
    color: var(--text-light);
    font-size: 17px;
    transform: translateY(-50%);
    pointer-events: none;
}

.nickname-field .form-control {
    min-height: 54px;
    padding-left: 47px;
    font-size: 16px;
}

.player-join-submit {
    display: flex;
    width: 100%;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
    font-size: 15px;
}

.player-join-submit i {
    transition: transform var(--transition);
}

.player-join-submit:hover i {
    transform: translateX(3px);
}

.player-join-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.player-join-features div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 13px 8px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.68);
    color: var(--text-light);
    text-align: center;
}

.player-join-features i {
    color: var(--primary);
    font-size: 17px;
}

.player-join-features span {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

@media (max-width: 575.98px) {

    .player-join-brand {
        margin-bottom: 14px;
    }

    .player-join-logo {
        max-width: 100%;
    }

    .player-join-card {
        padding: 27px 20px;
    }

    .player-event-icon {
        width: 58px;
        height: 58px;
        border-radius: 19px;
        font-size: 24px;
    }

    .player-event-dates {
        align-items: center;
        flex-direction: column;
        gap: 7px;
    }

    .player-join-features {
        gap: 7px;
    }

    .player-join-features div {
        padding: 12px 5px;
    }
}

.player-main {
    display: flex;
    width: 100%;
    min-height: 100svh;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}

@media (max-width: 575.98px) {
    .player-main {
        padding: 16px 14px 24px;
    }
}

/* =========================================================
   PLAYER — HOW IT WORKS
   ========================================================= */

.player-intro {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

.player-intro-logo {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto 28px;
}

.player-intro-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid rgba(25, 32, 56, 0.08);
    border-radius: 24px;
    box-shadow:
        0 24px 60px rgba(25, 32, 56, 0.08),
        0 4px 14px rgba(25, 32, 56, 0.04);
}

.player-intro-header {
    margin-bottom: 30px;
    text-align: center;
}

.player-intro-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.player-intro-header h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(2rem, 8vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.player-intro-header p {
    margin: 12px 0 0;
    color: var(--text-light);
    font-size: 0.98rem;
    line-height: 1.55;
}

.player-intro-steps {
    display: grid;
    gap: 12px;
}

.player-intro-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px;
    background: #f8fafc;
    border: 1px solid rgba(25, 32, 56, 0.06);
    border-radius: 18px;
}

.player-intro-step-number {
    display: inline-flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #ffffff;
    background: var(--primary);
    border-radius: 50%;
    font-size: 0.9rem;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(91, 79, 233, 0.22);
}

.player-intro-step h2 {
    margin: 1px 0 5px;
    color: var(--dark);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.player-intro-step p {
    margin: 0;
    color: var(--text-light);
    font-size: 0.88rem;
    line-height: 1.5;
}

.player-intro-button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 26px;
}

.player-intro-button i {
    transition: transform 180ms ease;
}

.player-intro-button:hover i {
    transform: translateX(3px);
}

@media (max-width: 575px) {
    .player-intro {
        max-width: 440px;
    }

    .player-intro-logo {
        max-width: 280px;
        margin-bottom: 22px;
    }

    .player-intro-card {
        padding: 24px 18px 20px;
        border-radius: 22px;
    }

    .player-intro-header {
        margin-bottom: 24px;
    }

    .player-intro-step {
        gap: 13px;
        padding: 15px;
        border-radius: 16px;
    }

    .player-intro-step-number {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }
}

.player-intro-step {

    opacity: 0;

    transform: translateY(12px);

    animation: playerStepIn 420ms ease forwards;

}

.player-intro-step:nth-child(1) {

    animation-delay: 180ms;

}

.player-intro-step:nth-child(2) {

    animation-delay: 380ms;

}

.player-intro-step:nth-child(3) {

    animation-delay: 580ms;

}

@keyframes playerStepIn {

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

@media (prefers-reduced-motion: reduce) {

    .player-intro-step {

        opacity: 1;

        transform: none;

        animation: none;

    }

}

/* =========================================================
   PLAYER — MISSIONS
   ========================================================= */

.player-main-missions,
.player-main-mission,
.player-main-ranking {
    align-items: flex-start;
}

.player-missions {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding-bottom: 28px;
}

.player-missions-sticky {
    position: sticky;
    top: 0;
    z-index: 20;
    margin: 0 -16px 24px;
    padding: 12px 16px 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: rgba(242, 244, 247, 0.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.player-missions-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.player-missions-header h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.15;
}

.player-ranking-link {
    display: inline-flex;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 15px;
    background: #fff;
    color: var(--primary);
    font-size: 1.15rem;
    text-decoration: none;
    box-shadow: var(--shadow);
    transition: background var(--transition), color var(--transition), transform var(--transition);
}

.player-ranking-link:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-1px);
}

.player-progress-card {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(37, 99, 235, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow);
}

.player-progress-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.player-progress-label {
    color: var(--text-light);
    font-size: 0.78rem;
    font-weight: 700;
}

.player-progress-value {
    color: var(--dark);
    font-size: 0.92rem;
    font-weight: 800;
}

.player-progress-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf4;
}

.player-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--primary);
    transition: width 500ms ease;
}

.player-missions-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

.player-missions-title h2 {
    margin: 0;
    color: var(--dark);
    font-size: 1.25rem;
    font-weight: 800;
}

.player-missions-title p {
    margin: 5px 0 0;
    color: var(--text-light);
    font-size: 0.8rem;
    line-height: 1.45;
}

.player-missions-count {
    display: inline-flex;
    min-width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 11px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 0.82rem;
    font-weight: 800;
}

.player-missions-list {
    display: grid;
    gap: 10px;
}

.player-mission-card {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow);
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.player-mission-card:hover {
    border-color: rgba(37, 99, 235, 0.24);
    color: inherit;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.09);
}

.player-mission-status {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 0.95rem;
}

.player-mission-content {
    min-width: 0;
    flex: 1;
}

.player-mission-content strong {
    color: var(--dark);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.35;
}

.player-mission-arrow {
    display: inline-flex;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--text-light);
    font-size: 0.8rem;
    transition: background var(--transition), color var(--transition), transform var(--transition);
}

.player-mission-card:hover .player-mission-arrow {
    background: var(--primary);
    color: #fff;
    transform: translateX(2px);
}

.player-mission-card.is-done {
    background: rgba(240, 253, 244, 0.72);
    box-shadow: none;
}

.player-mission-card.is-done .player-mission-status {
    background: rgba(34, 197, 94, 0.13);
    color: #16a34a;
}

.player-missions-empty {
    padding: 42px 22px;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: var(--shadow);
}

.player-missions-empty > i {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
    border-radius: 18px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 1.45rem;
}

.player-missions-empty h2 {
    margin: 0;
    color: var(--dark);
    font-size: 1.05rem;
    font-weight: 800;
}

.player-missions-empty p {
    margin: 8px 0 0;
    color: var(--text-light);
    font-size: 0.85rem;
}

@media (max-width: 575.98px) {
    .player-missions {
        max-width: 440px;
    }

    .player-missions-sticky {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
    }

    .player-mission-content strong {
        font-size: 0.88rem;
    }
}
/* =========================================================
   PLAYER — MISSION
   ========================================================= */

.player-mission-page {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    padding-bottom: 28px;
}

.player-mission-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    color: var(--text-light);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.player-mission-back:hover {
    color: var(--primary);
}

.player-mission-detail {
    position: relative;
    overflow: hidden;
    padding: 34px 28px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 24px;
    background: #fff;
    text-align: center;
    box-shadow:
        0 18px 45px rgba(15, 23, 42, 0.08);
}

.player-mission-detail::before {
    position: absolute;
    top: -90px;
    right: -85px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.06);
    content: "";
    pointer-events: none;
}

.player-mission-detail-icon,
.player-mission-detail-status,
.player-mission-detail h1,
.player-mission-instruction {
    position: relative;
    z-index: 1;
}

.player-mission-detail-icon {
    display: inline-flex;
    width: 66px;
    height: 66px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 21px;
    background: linear-gradient(
        145deg,
        var(--primary),
        #4f7df3
    );
    color: #fff;
    font-size: 1.65rem;
    box-shadow:
        0 14px 30px rgba(37, 99, 235, 0.22);
}

.player-mission-detail h1 {
    max-width: 460px;
    margin: 0 auto;
    color: var(--dark);
    font-size: clamp(1.65rem, 7vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.25;
}

.player-mission-instruction {
    max-width: 430px;
    margin: 18px auto 0;
    color: var(--text-light);
    font-size: 0.98rem;
    line-height: 1.65;
}

.player-mission-actions {
    display: grid;
    gap: 13px;
    margin-top: 24px;
}

.player-mission-actions form {
    margin: 0;
}

.player-mission-scan {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.98rem;
}

.player-mission-skip {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 15px;
    background: transparent;
    color: var(--text-light);
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition:
        background var(--transition),
        color var(--transition);
}

.player-mission-skip:hover {
    background: rgba(15, 23, 42, 0.05);
    color: var(--dark);
}

.player-mission-detail-status {
    display: block;
    width: fit-content;
    margin: 0 auto 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
    font-size: 0.75rem;
    font-weight: 800;
}

.player-mission-detail.is-done {
    background: rgba(240, 253, 244, 0.72);
}

.player-mission-detail.is-done::before {
    background: rgba(34, 197, 94, 0.08);
}

.player-mission-detail.is-done .player-mission-detail-icon {
    background: #22c55e;
    box-shadow:
        0 14px 30px rgba(34, 197, 94, 0.2);
}

.player-mission-return {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

@media (max-width: 575.98px) {
    .player-mission-page {
        max-width: 440px;
    }

    .player-mission-back {
        margin-bottom: 17px;
    }

    .player-mission-detail {
        padding: 30px 20px;
        border-radius: 22px;
    }

    .player-mission-detail-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 19px;
        border-radius: 19px;
        font-size: 1.45rem;
    }

    .player-mission-instruction {
        margin-top: 15px;
        font-size: 0.92rem;
    }
}

.player-mission-skip{
    flex-direction:column;
    gap:2px;
}

.player-mission-skip small{
    font-size:.72rem;
    opacity:.8;
}

.player-mission-no-replacement{
    text-align:center;
    color:var(--text-light);
    font-size:.8rem;
    margin-top:8px;
}

/* =========================================================
   PLAYER — SCAN QR CODE
   ========================================================= */

.player-scan {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    padding-bottom: 28px;
}

.player-scan-card {
    position: relative;
    overflow: hidden;
    padding: 32px 28px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 24px;
    background: #fff;
    text-align: center;
    box-shadow:
        0 18px 45px rgba(15, 23, 42, 0.08);
}

.player-scan-card::before {
    position: absolute;
    top: -90px;
    right: -85px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.06);
    content: "";
    pointer-events: none;
}

.player-scan-heading,
.player-qr-reader,
.player-scan-status,
.player-scan-start,
.player-scan-cancel {
    position: relative;
    z-index: 1;
}

.player-scan-heading {
    margin-bottom: 24px;
}

.player-scan-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.player-scan-heading h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(1.7rem, 7vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

.player-scan-heading p {
    margin: 11px 0 0;
    color: var(--text-light);
    font-size: 0.92rem;
    line-height: 1.55;
}

.player-qr-reader {
    display: flex;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 390px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 2px dashed rgba(37, 99, 235, 0.3);
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            rgba(37, 99, 235, 0.035),
            rgba(15, 23, 42, 0.025)
        );
}

.player-qr-reader:empty::before {
    color: rgba(37, 99, 235, 0.35);
    font-family: "bootstrap-icons";
    font-size: 4rem;
    content: "\f6ad";
}

.player-scan-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8fafc;
    color: var(--text-light);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.4;
}

.player-scan-status i {
    flex: 0 0 auto;
    color: var(--primary);
    font-size: 1rem;
}

.player-scan-start {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    font-size: 0.98rem;
}

.player-scan-cancel {
    display: inline-block;
    margin-top: 16px;
    color: var(--text-light);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.player-scan-cancel:hover {
    color: var(--dark);
}

@media (max-width: 575.98px) {
    .player-scan {
        max-width: 440px;
    }

    .player-scan-card {
        padding: 27px 18px 24px;
        border-radius: 22px;
    }

    .player-scan-heading {
        margin-bottom: 20px;
    }

    .player-qr-reader {
        max-height: none;
        border-radius: 18px;
    }

    .player-scan-status {
        align-items: flex-start;
        text-align: left;
    }
}
.player-qr-frame {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #111;
}

.player-qr-reader {
    width: 100%;
    min-height: 300px;
}

.player-qr-reader video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.player-qr-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.player-qr-overlay .corner {
    position: absolute;
    width: 42px;
    height: 42px;
    border-color: white;
    border-style: solid;
    border-width: 0;
}

.corner-top-left {
    top: 22px;
    left: 22px;
    border-top-width: 4px !important;
    border-left-width: 4px !important;
    border-top-left-radius: 12px;
}

.corner-top-right {
    top: 22px;
    right: 22px;
    border-top-width: 4px !important;
    border-right-width: 4px !important;
    border-top-right-radius: 12px;
}

.corner-bottom-left {
    bottom: 22px;
    left: 22px;
    border-bottom-width: 4px !important;
    border-left-width: 4px !important;
    border-bottom-left-radius: 12px;
}

.corner-bottom-right {
    right: 22px;
    bottom: 22px;
    border-right-width: 4px !important;
    border-bottom-width: 4px !important;
    border-bottom-right-radius: 12px;
}

.player-qr-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(34, 197, 94, 0);
    pointer-events: none;
    transition: background 180ms ease;
}

.player-qr-frame.is-success::after {
    background: rgba(34, 197, 94, 0.32);
}

.player-qr-frame.is-success .corner {
    border-color: #4ade80;
}

.player-qr-frame.is-success .player-qr-line {
    display: none;
}
.player-scan-success-message {
    position: absolute;
    inset: 0;
    z-index: 5;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;

    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
    text-align: center;

    background: rgba(22, 163, 74, 0.82);

    opacity: 0;
    visibility: hidden;
    transform: scale(0.92);

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        visibility 180ms ease;
}

.player-scan-success-message i {
    font-size: 3.5rem;
}

.player-qr-frame.is-success .player-scan-success-message {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}


.player-mission-card {

    transition:

        background-color .35s,

        border-color .35s,

        color .35s,

        opacity .35s,

        transform .35s;

}

.player-mission-card.is-done {

    background: #ecfdf3;

    border-color: #86efac;

}

.player-mission-card.is-done .player-mission-status {

    background: #16a34a;

    color: #fff;

}

.player-mission-card.is-done .player-mission-content strong {

    color: #166534;

}

.player-mission-card.is-newly-validated {

    position: relative;

    z-index: 5;

}

.player-mission-card.is-moving-to-bottom {

    box-shadow: 0 14px 30px rgba(22, 163, 74, .25);

}

.player-mission-card.has-validated-animation {

    animation: missionValidatedPulse .6s ease;

}

@keyframes missionValidatedPulse {

    0% {

        transform: scale(1);

    }

    45% {

        transform: scale(1.035);

    }

    100% {

        transform: scale(1);

    }

}

/* =========================================================
   Classement joueur
   ========================================================= */

.player-ranking {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding-bottom: 32px;
}

.player-ranking-header {
    margin-bottom: 24px;
}

.player-ranking-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
}

.player-ranking-kicker {
    display: block;
    margin-bottom: 4px;

    color: var(--pc-muted, #64748b);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.player-ranking-heading h1 {
    margin: 0;

    color: var(--pc-text, #0f172a);
    font-size: clamp(2rem, 8vw, 2.7rem);
    line-height: 1;
}

.player-ranking-trophy {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            #facc15,
            #f59e0b
        );

    color: #fff;
    font-size: 1.65rem;

    box-shadow:
        0 12px 25px rgba(245, 158, 11, .28);
}

/* Liste */

.player-ranking-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.player-ranking-row {
    min-height: 74px;
    padding: 12px 14px;

    display: grid;
    grid-template-columns: 48px 1fr auto;
    align-items: center;
    gap: 12px;

    border: 1px solid #e2e8f0;
    border-radius: 18px;

    background: #fff;

    box-shadow:
        0 5px 16px rgba(15, 23, 42, .05);

    transition:
        transform .2s,
        border-color .2s,
        box-shadow .2s,
        background-color .2s;
}

/* Position */

.player-ranking-position {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #f1f5f9;
    color: #475569;

    font-size: 1rem;
    font-weight: 900;
}

.player-ranking-position i {
    font-size: 1.25rem;
}

/* Nom */

.player-ranking-player {
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.player-ranking-player strong {
    max-width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

.player-ranking-player small {
    padding: 2px 7px;

    border-radius: 999px;

    background: #dcfce7;
    color: #166534;

    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* Résultat */

.player-ranking-result {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.1;
}

.player-ranking-result strong {
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
}

.player-ranking-result small {
    margin-top: 4px;

    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

/* Podium */

.player-ranking-row.is-first {
    border-color: #facc15;

    background:
        linear-gradient(
            135deg,
            #fffbeb,
            #fff7cc
        );

    box-shadow:
        0 10px 24px rgba(234, 179, 8, .16);
}

.player-ranking-row.is-first .player-ranking-position {
    background:
        linear-gradient(
            135deg,
            #facc15,
            #f59e0b
        );

    color: #fff;
}

.player-ranking-row.is-second {
    border-color: #cbd5e1;

    background:
        linear-gradient(
            135deg,
            #f8fafc,
            #f1f5f9
        );
}

.player-ranking-row.is-second .player-ranking-position {
    background:
        linear-gradient(
            135deg,
            #cbd5e1,
            #94a3b8
        );

    color: #fff;
}

.player-ranking-row.is-third {
    border-color: #fdba74;

    background:
        linear-gradient(
            135deg,
            #fff7ed,
            #ffedd5
        );
}

.player-ranking-row.is-third .player-ranking-position {
    background:
        linear-gradient(
            135deg,
            #fb923c,
            #c2410c
        );

    color: #fff;
}

/* Participant connecté */

.player-ranking-row.is-current {
    position: relative;

    border: 2px solid #22c55e;

    background:
        linear-gradient(
            135deg,
            #f0fdf4,
            #dcfce7
        );

    box-shadow:
        0 12px 28px rgba(22, 163, 74, .18);

    transform: scale(1.015);
}

.player-ranking-row.is-current .player-ranking-player strong {
    color: #14532d;
    font-weight: 900;
}

.player-ranking-row.is-current .player-ranking-result strong {
    color: #166534;
}

.player-ranking-row.is-current .player-ranking-position {
    background: #16a34a;
    color: #fff;
}

/* Séparation entre podium et voisinage */

.player-ranking-separator {
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.player-ranking-separator span {
    width: 6px;
    height: 6px;

    border-radius: 50%;
    background: #94a3b8;
}

/* Classement vide */

.player-ranking-empty {
    padding: 42px 24px;

    border: 1px solid #e2e8f0;
    border-radius: 22px;

    background: #fff;

    text-align: center;

    box-shadow:
        0 8px 24px rgba(15, 23, 42, .05);
}

.player-ranking-empty > i {
    display: block;
    margin-bottom: 16px;

    color: #f59e0b;
    font-size: 3rem;
}

.player-ranking-empty h2 {
    margin: 0 0 8px;

    color: #0f172a;
    font-size: 1.25rem;
}

.player-ranking-empty p {
    margin: 0;

    color: #64748b;
    line-height: 1.5;
}

/* Mobile étroit */

@media (max-width: 420px) {
    .player-ranking-row {
        grid-template-columns: 42px 1fr auto;
        gap: 10px;
        padding: 11px 12px;
    }

    .player-ranking-position {
        width: 40px;
        height: 40px;
    }

    .player-ranking-player strong {
        font-size: .95rem;
    }

    .player-ranking-result strong {
        font-size: 1.1rem;
    }
}

/* =========================================================
   AFFICHAGE PUBLIC — CLASSEMENT PROJETÉ
   ========================================================= */

body:has(.display-ranking) {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at top left,
            rgba(37, 99, 235, 0.18),
            transparent 34%
        ),
        radial-gradient(
            circle at top right,
            rgba(20, 184, 166, 0.14),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #eff6ff,
            #f8fafc 42%,
            #eef2ff
        );
}

.display-ranking {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 54px);
}

.display-ranking-header {
    margin-bottom: clamp(28px, 4vw, 46px);
    text-align: center;
}

.display-ranking-kicker {
    margin: 0 0 8px;
    color: var(--primary);
    font-size: clamp(0.8rem, 1.4vw, 1rem);
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.display-ranking-header h1 {
    margin: 0;
    color: var(--dark);
    font-size: clamp(2.3rem, 5vw, 4.8rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.05;
}

.display-ranking-header > p:last-child {
    margin: 12px 0 0;
    color: var(--text-light);
    font-size: clamp(1rem, 1.8vw, 1.35rem);
    font-weight: 700;
}

.display-ranking-podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: clamp(14px, 2vw, 28px);
    max-width: 1100px;
    margin: 0 auto clamp(34px, 5vw, 58px);
}

.display-podium-place {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.display-podium-medal {
    display: inline-flex;
    width: clamp(62px, 7vw, 92px);
    height: clamp(62px, 7vw, 92px);
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 50%;
    color: #fff;
    font-size: clamp(1.5rem, 2.5vw, 2.3rem);
    font-weight: 900;
    box-shadow:
        0 16px 34px rgba(15, 23, 42, 0.18);
}

.display-podium-place-1 .display-podium-medal {
    background:
        linear-gradient(
            145deg,
            #fde047,
            #f59e0b
        );
}

.display-podium-place-2 .display-podium-medal {
    background:
        linear-gradient(
            145deg,
            #e2e8f0,
            #94a3b8
        );
}

.display-podium-place-3 .display-podium-medal {
    background:
        linear-gradient(
            145deg,
            #fdba74,
            #c2410c
        );
}

.display-podium-name {
    width: 100%;
    overflow: hidden;
    color: var(--dark);
    font-size: clamp(1.15rem, 2vw, 1.8rem);
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.display-podium-score {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0 20px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow:
        0 8px 20px rgba(15, 23, 42, 0.1);
}

.display-podium-score strong {
    color: var(--dark);
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    font-weight: 900;
    line-height: 1;
}

.display-podium-score span {
    color: var(--text-light);
    font-size: clamp(0.85rem, 1.4vw, 1.05rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.display-podium-step {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 22px 22px 0 0;
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4.5rem);
    font-weight: 900;
    box-shadow:
        0 18px 38px rgba(15, 23, 42, 0.14);
}

.display-podium-place-1 .display-podium-step {
    min-height: clamp(170px, 22vw, 290px);
    background:
        linear-gradient(
            180deg,
            #facc15,
            #d97706
        );
}

.display-podium-place-2 .display-podium-step {
    min-height: clamp(125px, 17vw, 220px);
    background:
        linear-gradient(
            180deg,
            #cbd5e1,
            #64748b
        );
}

.display-podium-place-3 .display-podium-step {
    min-height: clamp(95px, 13vw, 175px);
    background:
        linear-gradient(
            180deg,
            #fb923c,
            #9a3412
        );
}

.display-ranking-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 1200px;
    margin: 0 auto;
}

.display-ranking-row {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 78px;
    padding: 13px 18px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 19px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        0 8px 22px rgba(15, 23, 42, 0.07);
}

.display-ranking-position {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: #eef2ff;
    color: var(--primary);
    font-size: 1.05rem;
    font-weight: 900;
}

.display-ranking-name {
    overflow: hidden;
    color: var(--dark);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.display-ranking-score {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: var(--text-light);
    white-space: nowrap;
}

.display-ranking-score strong {
    color: var(--dark);
    font-size: clamp(1.15rem, 1.8vw, 1.5rem);
    font-weight: 900;
}

.display-ranking-score span {
    font-size: 0.78rem;
    font-weight: 800;
}

.display-ranking-empty {
    max-width: 620px;
    margin: 80px auto 0;
    padding: 54px 30px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    text-align: center;
    box-shadow:
        0 24px 55px rgba(15, 23, 42, 0.1);
}

.display-ranking-empty i {
    display: inline-flex;
    width: 84px;
    height: 84px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 26px;
    background:
        linear-gradient(
            145deg,
            #facc15,
            #f59e0b
        );
    color: #fff;
    font-size: 2.3rem;
}

.display-ranking-empty h2 {
    margin: 0;
    color: var(--dark);
    font-size: 1.6rem;
    font-weight: 900;
}

.display-ranking-empty p {
    margin: 10px 0 0;
    color: var(--text-light);
}

.display-ranking-podium {
    display: grid;
    grid-template-columns: 0.95fr 1.08fr 0.95fr;
    align-items: end;
    gap: clamp(14px, 2vw, 26px);
    max-width: 1050px;
    margin: 0 auto clamp(28px, 4vw, 46px);
}

.display-podium-place {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    padding-top: 10px;
    text-align: center;
}

.display-podium-place-1 {
    z-index: 2;
    transform: scale(1.03);
}

.display-podium-place-1::before {
    position: absolute;
    inset: -8px -10px 10px;
    z-index: -1;
    border-radius: 26px;
    background:
        radial-gradient(
            circle at top,
            rgba(250, 204, 21, 0.16),
            transparent 66%
        );
    content: "";
}

.display-podium-medal {
    width: clamp(62px, 6vw, 82px);
    height: clamp(62px, 6vw, 82px);
    margin-bottom: 12px;
    font-size: clamp(1.5rem, 2.3vw, 2.1rem);
}

.display-podium-place-1 .display-podium-medal {
    width: clamp(72px, 7vw, 94px);
    height: clamp(72px, 7vw, 94px);
    box-shadow:
        0 14px 28px rgba(245, 158, 11, 0.25);
}

.display-podium-name {
    font-size: clamp(1.1rem, 2vw, 1.7rem);
}

.display-podium-place-1 .display-podium-name {
    font-size: clamp(1.3rem, 2.3vw, 2rem);
}

.display-podium-score {
    margin: 8px 0 14px;
    padding: 7px 12px;
}

.display-podium-score strong {
    font-size: clamp(1.4rem, 2.3vw, 2rem);
}

.display-podium-step {
    border-radius: 22px 22px 0 0;
}

.display-podium-place-1 .display-podium-step {
    min-height: clamp(150px, 17vw, 220px);
}

.display-podium-place-2 .display-podium-step {
    min-height: clamp(110px, 13vw, 165px);
}

.display-podium-place-3 .display-podium-step {
    min-height: clamp(90px, 10vw, 135px);
}


.display-ranking-score {
    display: inline-flex;
    min-width: 118px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: 14px;
    background: #eef2ff;
    color: var(--primary);
    white-space: nowrap;
}

.display-ranking-score strong {
    color: var(--primary);
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    font-weight: 900;
    line-height: 1;
}

.display-ranking-score span {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media (max-width: 900px) {
    .display-ranking-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .display-ranking {
        padding: 24px 14px;
    }

    .display-ranking-podium {
        gap: 8px;
    }

    .display-podium-name {
        font-size: 0.95rem;
    }

    .display-podium-score {
        align-items: center;
        flex-direction: column;
        gap: 0;
    }

    .display-ranking-row {
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 11px 12px;
    }

    .display-ranking-position {
        width: 42px;
        height: 42px;
    }
}

/* Comptes et authentification */
.btn-google{display:flex;align-items:center;justify-content:center;gap:.65rem;background:#fff;border:1px solid #d9dee8;color:#263142}.btn-google:hover{background:#f7f9fc;border-color:#bcc5d3}.auth-separator{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#8a94a6}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#e5e9f0;flex:1}.auth-links,.auth-switch{text-align:center;margin-top:1rem}.auth-links a,.auth-switch a,.pc-user-nav a{color:var(--pc-primary,#5965df);font-weight:700;text-decoration:none}.pc-navbar .container{display:flex;align-items:center;justify-content:space-between}.pc-user-nav{display:flex;gap:1.2rem;align-items:center}.pc-alert-success{background:#e9f8ef;color:#17653a;border:1px solid #bce5cb}@media(max-width:700px){.pc-user-nav{gap:.65rem;font-size:.85rem}.pc-user-nav a:first-child{display:none}}
.account-card .auth-form > .btn {

    margin-top: 0.65rem;

}
.logout-form{margin:0}.logout-form button{border:0;background:none;padding:0;color:var(--pc-primary,#5965df);font-weight:700}

/* Administration multi-animations */
.guided-section{scroll-margin-top:24px;transition:opacity .25s ease,transform .25s ease,border-color .25s ease;opacity:.66}.guided-section.is-active,.guided-section.is-complete,.guided-section.is-visible{opacity:1}.guided-section.is-active{border-color:rgba(37,99,235,.35);box-shadow:0 18px 45px rgba(15,23,42,.08)}.guided-section-check{margin-left:auto;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#94a3b8}.guided-section.is-complete .guided-section-check{background:#dcfce7;color:#15803d}.form-control-large{font-size:1.15rem;padding-top:.9rem;padding-bottom:.9rem}.activity-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.activity-choice{display:block;position:relative;margin:0}.activity-choice input{position:absolute;opacity:0;pointer-events:none}.activity-choice-content{height:100%;min-height:190px;border:2px solid #e2e8f0;border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:9px;position:relative;background:#fff;cursor:pointer;transition:.2s ease}.activity-choice-content:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.09)}.activity-choice-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:1.35rem}.activity-choice strong{font-size:1.08rem}.activity-choice small{color:#64748b;line-height:1.5}.activity-choice-check{position:absolute;right:16px;top:16px;width:27px;height:27px;border-radius:999px;border:2px solid #cbd5e1;display:grid;place-items:center;color:transparent}.activity-choice input:checked+.activity-choice-content .activity-choice-check{color:#fff}.activity-challenge .activity-choice-icon{background:#fff1df;color:#e8790c}.activity-challenge input:checked+.activity-choice-content{border-color:#f59e0b;background:#fffaf2}.activity-challenge input:checked+.activity-choice-content .activity-choice-check{background:#f59e0b;border-color:#f59e0b}.activity-duo .activity-choice-icon{background:#f3e8ff;color:#7e22ce}.activity-duo input:checked+.activity-choice-content{border-color:#9333ea;background:#fcf8ff}.activity-duo input:checked+.activity-choice-content .activity-choice-check{background:#9333ea;border-color:#9333ea}.activity-meet{opacity:.58}.activity-meet .activity-choice-content{cursor:not-allowed}.activity-meet .activity-choice-icon{background:#ecfeff;color:#0f766e}.activity-coming-soon{margin-top:auto;align-self:flex-start;border-radius:999px;padding:5px 10px;background:#e2e8f0;color:#475569;font-size:.74rem;font-weight:700}.activity-settings-panel{padding:20px 0;border-top:1px solid #e2e8f0}.activity-settings-panel:first-of-type{border-top:0;padding-top:0}.activity-settings-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.activity-settings-title h3{margin:0}.activity-badge,.event-activity-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;font-weight:800;font-size:.78rem}.activity-badge-challenge,.event-activity-badge.is-challenge{background:#fff1df;color:#c86205}.activity-badge-duo,.event-activity-badge.is-duo{background:#f3e8ff;color:#7e22ce}.duo-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.duo-category-option{position:relative}.duo-category-option input{position:absolute;opacity:0}.duo-category-option span{display:flex;align-items:center;gap:10px;border:1px solid #dbe2ea;border-radius:14px;padding:13px 14px;cursor:pointer;background:#fff}.duo-category-option input:checked+span{border-color:#9333ea;background:#faf5ff;color:#6b21a8}.category-check{margin-left:auto;color:#d8b4fe}.duo-category-option input:checked+span .category-check{color:#9333ea}.event-activity-badges{display:flex;gap:7px;flex-wrap:wrap}.event-activity-card{border-radius:22px;padding:22px;border:1px solid #e2e8f0;background:#fff;margin-top:18px}.event-activity-card.is-duo{border-color:#e9d5ff;background:linear-gradient(145deg,#fff,#faf5ff)}.event-activity-card.is-challenge{border-color:#fed7aa;background:linear-gradient(145deg,#fff,#fffaf2)}
@media(max-width:800px){.activity-choice-grid{grid-template-columns:1fr}.activity-choice-content{min-height:150px}.duo-category-grid{grid-template-columns:1fr}}

/* ==========================================================
   CRÉATION GUIDÉE V1.1
   ========================================================== */
.create-header-app{position:relative;display:flex;min-height:180px;align-items:center;justify-content:space-between;overflow:hidden;padding:34px 38px;border:1px solid rgba(255,255,255,.75);border-radius:30px;background:linear-gradient(135deg,#fff 0%,#f8fbff 52%,#f5f3ff 100%);box-shadow:0 22px 60px rgba(15,23,42,.08)}
.create-header-app:before{position:absolute;right:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.14),transparent 68%);content:""}
.create-header-app>div:first-child{position:relative;z-index:1}.create-header-app h1{font-size:clamp(34px,4.5vw,48px);letter-spacing:-.035em}.create-header-decoration{position:relative;width:150px;height:110px;flex:0 0 150px}.create-header-decoration span{position:absolute;display:grid;place-items:center;border-radius:25px;color:#fff;box-shadow:0 18px 34px rgba(37,99,235,.2)}.create-header-decoration span:first-child{right:38px;top:4px;width:82px;height:82px;background:linear-gradient(145deg,#2563eb,#4f46e5);font-size:2rem;transform:rotate(8deg)}.create-header-decoration span:last-child{right:5px;bottom:0;width:53px;height:53px;background:linear-gradient(145deg,#9333ea,#db2777);font-size:1.25rem;transform:rotate(-8deg)}
.guided-form-flow{gap:0}.guided-section{position:relative;scroll-margin-top:110px;opacity:.48;transform:scale(.992);transition:opacity .28s ease,transform .28s ease,border-color .28s ease,box-shadow .28s ease}.guided-section.is-active,.guided-section.is-complete,.guided-section.is-visible,.guided-section:focus-within{opacity:1;transform:none}.guided-section.is-active{border-color:rgba(37,99,235,.27);box-shadow:0 24px 65px rgba(15,23,42,.1),0 0 0 4px rgba(37,99,235,.035)}.guided-section.is-complete:not(.is-active){border-color:rgba(22,163,74,.18)}
.guided-flow-connector{height:34px;margin-left:47px;display:flex;align-items:stretch}.guided-flow-connector span{width:2px;margin-left:0;background:linear-gradient(#dbe4f0,#e9d5ff);border-radius:999px}
.form-section-heading{align-items:center;margin-bottom:28px}.form-section-number{width:44px;height:44px;flex-basis:44px;border-radius:15px;font-size:17px}.form-section-copy{min-width:0}.form-section-kicker{display:block;margin-bottom:3px;color:var(--primary);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.form-section-heading h2{font-size:clamp(20px,2.4vw,24px);letter-spacing:-.02em}.guided-section-check{width:32px;height:32px;transition:.2s ease}.guided-section.is-complete .guided-section-check{box-shadow:0 7px 16px rgba(22,163,74,.14)}
.guided-input-wrap{position:relative}.guided-input-wrap .form-control{padding-right:105px}.guided-enter-hint{position:absolute;right:14px;top:50%;display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:.72rem;font-weight:800;transform:translateY(-50%)}.guided-enter-hint span{padding:5px 7px;border:1px solid #dbe2ea;border-bottom-width:2px;border-radius:7px;background:#f8fafc}.guided-help{display:flex;align-items:center;gap:6px}.guided-help i{color:#f59e0b}.form-inline-error{display:flex;align-items:center;gap:7px;margin:10px 0 0;padding:10px 12px;border-radius:11px;background:#fff1f2;color:#be123c;font-size:.78rem;font-weight:700}.form-inline-error[hidden]{display:none}
.activity-choice-top{display:flex;align-items:flex-start;justify-content:space-between}.activity-choice-action{margin-top:auto;color:#64748b;font-size:.76rem;font-weight:850}.activity-choice input:checked+.activity-choice-content .activity-choice-action{color:inherit}.activity-choice-content{min-height:220px;border-radius:24px;padding:22px;box-shadow:0 8px 25px rgba(15,23,42,.035)}.activity-choice strong{font-size:1.17rem}.activity-choice small{font-size:.84rem}.activity-choice input:focus-visible+.activity-choice-content{outline:3px solid rgba(37,99,235,.22);outline-offset:3px}
.activity-settings-panel{padding:25px 0}.activity-settings-title .activity-badge{gap:6px}.duo-category-option span>span{flex:1}.duo-category-option span{min-height:52px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.duo-category-option:hover span{transform:translateY(-1px);border-color:#c4b5fd}
.create-summary-app{overflow:hidden;border:1px solid rgba(99,102,241,.15);background:linear-gradient(160deg,#fff 0%,#f8faff 70%,#faf5ff 100%);box-shadow:0 24px 60px rgba(15,23,42,.1)}.create-summary-status{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.summary-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.1)}.create-summary-app .create-summary-icon{margin-bottom:14px;background:linear-gradient(145deg,#4f46e5,#9333ea);color:#fff;box-shadow:0 13px 28px rgba(79,70,229,.25)}.create-summary-label{margin:0 0 4px!important;color:#94a3b8!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.09em;text-transform:uppercase}.create-summary-app h2{font-size:23px;line-height:1.25;overflow-wrap:anywhere}.create-summary-details{display:flex;flex-direction:column;gap:11px;margin:22px 0;padding:17px;border:1px solid #e7eaf2;border-radius:17px;background:rgba(255,255,255,.75)}.create-summary-details div{display:flex;align-items:flex-start;gap:10px;color:#475569;font-size:.79rem;font-weight:700;line-height:1.45}.create-summary-details i{margin-top:1px;color:#6366f1}.create-submit-note{display:flex!important;align-items:center;justify-content:center;gap:6px;margin:11px 0 0!important;color:#94a3b8!important;font-size:.7rem!important}.create-submit-note i{color:#22c55e}
@media(max-width:991.98px){.create-summary-app{position:static}.create-header-decoration{display:none}.create-header-app{min-height:0;padding:30px}}
@media(max-width:767.98px){.create-header-app{padding:25px 22px;border-radius:24px}.create-header-app h1{font-size:32px}.guided-flow-connector{height:24px;margin-left:41px}.guided-enter-hint{display:none}.guided-input-wrap .form-control{padding-right:16px}.activity-choice-content{min-height:150px}.form-section-heading{align-items:flex-start}.form-section-number{width:40px;height:40px;flex-basis:40px}.guided-section-check{width:28px;height:28px}}

/* ==========================================================
   CRÉATION D’ÉVÉNEMENT V1.2 — VERSION ÉPURÉE
   ========================================================== */
.create-event-v12{max-width:1240px;margin:0 auto}.create-header-simple{display:flex;align-items:center;gap:17px;margin:22px 0 28px}.create-header-simple-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:#e8efff;color:#2563eb;font-size:1.35rem}.create-header-simple h1{margin:0;font-size:clamp(30px,4vw,42px);letter-spacing:-.035em}.create-header-simple .dashboard-eyebrow{margin:0 0 2px}.create-event-v12 .create-layout{align-items:start;gap:25px}.create-event-v12 .guided-form-flow{display:flex;flex-direction:column;gap:22px}.create-event-v12 .guided-section{opacity:1;transform:none;border:1px solid #edf0f5;box-shadow:0 16px 42px rgba(15,23,42,.055)}.create-event-v12 .guided-section.is-active{border-color:#dce6fb;box-shadow:0 18px 45px rgba(15,23,42,.07)}.create-event-v12 .form-section{padding:30px 32px;border-radius:27px}.create-event-v12 .compact-heading{align-items:center;margin-bottom:22px}.create-event-v12 .compact-heading .form-section-number{width:45px;height:45px;flex:0 0 45px;border-radius:15px;background:#eaf0ff;color:#2563eb}.create-event-v12 .compact-heading h2{margin:0;font-size:1.34rem;letter-spacing:-.02em}.create-event-v12 .form-control-large{height:62px;font-size:1.08rem}.create-event-v12 .date-range-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:14px;align-items:end}.date-range-arrow{display:grid;height:52px;place-items:center;color:#64748b;font-size:1.05rem}.activity-choice-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.create-event-v12 .activity-choice-content{min-height:180px;align-items:center;justify-content:center;text-align:center;padding:25px 24px;border-width:1.5px;border-radius:20px;gap:10px}.create-event-v12 .activity-choice-icon{width:48px;height:48px;border-radius:15px;font-size:1.3rem}.create-event-v12 .activity-choice strong{font-size:1.12rem}.create-event-v12 .activity-choice small{max-width:300px;font-size:.82rem;line-height:1.5}.create-event-v12 .activity-choice-check{right:14px;top:14px;width:25px;height:25px;border:0;background:#e8edf5;color:transparent}.create-event-v12 .activity-choice input:checked+.activity-choice-content .activity-choice-check{color:#fff}.create-event-v12 .activity-settings-panel{padding:24px 0}.create-event-v12 .activity-settings-panel:first-of-type{padding-top:0}.create-event-v12 .activity-settings-title{margin-bottom:18px}.create-event-v12 .activity-settings-title h3{font-size:1rem}.create-event-v12 .duo-category-option span{min-height:54px;border-color:#e5e9f0}.create-event-v12 .duo-category-option input:checked+span{border-color:#a855f7;background:#faf5ff;box-shadow:inset 0 0 0 1px rgba(168,85,247,.12)}.create-summary-clean{padding:28px!important;border:1px solid #edf0f5!important;background:#fff!important;box-shadow:0 18px 50px rgba(15,23,42,.07)!important}.create-summary-clean .summary-heading{margin-bottom:18px}.create-summary-clean .summary-heading h2{font-size:1.3rem}.clean-summary-details{gap:0!important;margin:0 0 22px!important;padding:0!important;border:0!important;background:transparent!important}.clean-summary-details .summary-row{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:13px!important;padding:17px 0;border-bottom:1px solid #edf0f5;color:#172033!important}.clean-summary-details .summary-row:last-child{border-bottom:0}.clean-summary-details .summary-row>i{display:grid;width:36px;height:36px;place-items:center;margin:0!important;border-radius:11px;background:#edf3ff;color:#2563eb!important}.clean-summary-details .summary-row>span{display:flex;min-width:0;flex-direction:column;gap:4px}.clean-summary-details small{color:#7c8aa3;font-size:.72rem;font-weight:700}.clean-summary-details strong{color:#172033;font-size:.96rem;line-height:1.4;overflow-wrap:anywhere}.create-summary-clean .create-submit{margin-top:4px}.create-summary-clean .create-cancel{margin-top:18px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:991.98px){.create-event-v12 .create-layout{grid-template-columns:1fr}.create-event-v12 .create-sidebar{position:static}.create-summary-clean{position:static!important}}
@media(max-width:767.98px){.create-header-simple{margin-top:15px}.create-header-simple-icon{width:48px;height:48px}.create-event-v12 .form-section{padding:24px 20px;border-radius:23px}.create-event-v12 .date-range-grid{grid-template-columns:1fr}.date-range-arrow{height:16px;transform:rotate(90deg)}.activity-choice-grid-two{grid-template-columns:1fr}.create-event-v12 .activity-choice-content{min-height:155px}.create-event-v12 .compact-heading{margin-bottom:18px}.create-event-v12 .compact-heading .form-section-number{width:41px;height:41px;flex-basis:41px}}

/* Create event v1.3 — mobile first */
.create-event-v13{max-width:1120px;margin:0 auto;padding-bottom:28px}
.create-event-v13>.back-link{display:none}
.create-event-v13 .create-header-simple{display:flex;align-items:center;justify-content:center;position:relative;margin:12px 0 22px;min-height:48px}
.create-event-v13 .create-header-simple h1{font-size:clamp(1.65rem,5vw,2.15rem);letter-spacing:-.035em;margin:0}
.create-mobile-back{position:absolute;left:0;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#172033;font-size:1.25rem;text-decoration:none}
.create-mobile-back:hover{background:#eef3fb;color:#2563eb}
.create-event-v13 .create-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.create-event-v13 .guided-form-flow{display:flex;flex-direction:column;gap:17px}
.create-event-v13 .form-section,.create-event-v13 .create-summary-clean{border:1px solid #edf1f6!important;border-radius:24px!important;background:#fff!important;box-shadow:0 12px 34px rgba(15,23,42,.055)!important}
.create-event-v13 .form-section{padding:24px}
.create-event-v13 .guided-section{opacity:1;transform:none}
.create-event-v13 .guided-section.is-active{border-color:#dce6fb!important;box-shadow:0 15px 38px rgba(37,99,235,.075)!important}
.create-event-v13 .compact-heading{display:flex;align-items:center;gap:13px;margin-bottom:19px}
.create-event-v13 .compact-heading .form-section-number{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:999px;background:#1769ee;color:#fff;font-size:.96rem;font-weight:800;box-shadow:0 6px 15px rgba(37,99,235,.22)}
.create-event-v13 .compact-heading h2{margin:0;font-size:1.19rem;letter-spacing:-.02em}
.create-event-v13 .form-control-large{height:58px;font-size:1.05rem;border-radius:13px;border-color:#dce3ed;box-shadow:0 2px 0 #1769ee}
.create-event-v13 .date-range-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:12px;align-items:end}
.create-event-v13 .date-range-arrow{height:50px;color:#1769ee;font-size:1.3rem}
.create-event-v13 .input-with-icon .form-control{height:52px;border-radius:13px}
.create-event-v13 .form-label{font-size:.83rem;margin-bottom:7px}
.create-event-v13 .activity-choice-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.create-event-v13 .activity-choice-content{min-height:142px;display:grid;grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;text-align:left;padding:18px;border-width:1.5px;border-radius:18px;gap:14px}
.create-event-v13 .activity-choice-content:hover{transform:none;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.create-event-v13 .activity-choice-icon{grid-column:1;width:64px;height:64px;border-radius:999px;font-size:1.75rem}
.create-event-v13 .activity-choice-text{grid-column:2;display:flex;flex-direction:column;gap:5px;min-width:0}
.create-event-v13 .activity-choice strong{font-size:1.04rem;line-height:1.2}
.create-event-v13 .activity-choice small{max-width:none;font-size:.82rem;line-height:1.35;color:#5f6f88}
.create-event-v13 .activity-choice-check{grid-column:3;position:static;width:26px;height:26px;border:2px solid #9ba8b9;background:#fff;color:transparent}
.create-event-v13 .activity-challenge input:checked+.activity-choice-content{border-color:#ff9f43;background:linear-gradient(135deg,#fffaf4,#fff)}
.create-event-v13 .activity-duo input:checked+.activity-choice-content{border-color:#a855f7;background:linear-gradient(135deg,#fbf5ff,#fff)}
.create-event-v13 .activity-settings-panel{padding:22px 0;border-top:1px solid #edf0f5}
.create-event-v13 .activity-settings-panel:first-of-type{padding-top:0;border-top:0}
.create-event-v13 .activity-settings-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.create-event-v13 .activity-settings-title>div{display:flex;flex-direction:column;gap:2px}
.create-event-v13 .activity-settings-title h3{margin:0;font-size:1rem}
.create-event-v13 .activity-settings-title p{margin:0;color:#65748a;font-size:.82rem}
.settings-mini-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;font-size:.9rem}
.settings-mini-icon.is-challenge{background:#fff1df;color:#e8790c}
.settings-mini-icon.is-duo{background:#f3e8ff;color:#8b36d9}
.create-event-v13 .mission-count-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.create-event-v13 .mission-count-option span{min-height:52px;border-radius:13px;font-size:.9rem}
.create-event-v13 .mission-count-option span strong{font-size:1rem}
.create-event-v13 .duo-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.create-event-v13 .duo-category-option>span{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 12px;border:1px solid #dce3ed;border-radius:12px;background:#fff;color:#1e293b;font-size:.86rem;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.create-event-v13 .duo-category-option:hover>span{transform:none;border-color:#c4b5fd}
.create-event-v13 .duo-option-check{display:grid!important;place-items:center;flex:0 0 22px!important;width:22px;height:22px;min-height:0!important;padding:0!important;border:1.5px solid #b8c2cf!important;border-radius:6px!important;background:#fff!important;color:transparent!important}
.create-event-v13 .duo-category-option input:checked+span{border-color:#c084fc;background:#fbf7ff;color:#3b2355;box-shadow:none}
.create-event-v13 .duo-category-option input:checked+span .duo-option-check{border-color:#1769ee!important;background:#1769ee!important;color:#fff!important}
.create-event-v13 .create-sidebar{position:sticky;top:18px}
.create-event-v13 .create-summary-clean{padding:24px!important}
.create-event-v13 .clean-summary-details .summary-row{padding:14px 0;gap:12px!important}
.create-event-v13 .clean-summary-details .summary-row>i{width:34px;height:34px;border-radius:11px}
.create-event-v13 .clean-summary-details small{font-size:.69rem}
.create-event-v13 .clean-summary-details strong{font-size:.91rem}
.create-event-v13 .create-submit{height:54px;border-radius:14px;font-size:1rem}

@media(max-width:991.98px){
  .create-event-v13 .create-layout{grid-template-columns:1fr}
  .create-event-v13 .create-sidebar{position:static}
}
@media(max-width:767.98px){
  .create-event-v13{padding-inline:10px}
  .create-event-v13 .create-header-simple{margin:4px 0 14px}
  .create-event-v13 .create-header-simple h1{font-size:1.48rem}
  .create-mobile-back{left:-2px;width:38px;height:38px}
  .create-event-v13 .guided-form-flow{gap:14px}
  .create-event-v13 .form-section{padding:17px 15px;border-radius:19px!important}
  .create-event-v13 .compact-heading{gap:10px;margin-bottom:15px}
  .create-event-v13 .compact-heading .form-section-number{width:31px;height:31px;flex-basis:31px;font-size:.83rem}
  .create-event-v13 .compact-heading h2{font-size:1.05rem}
  .create-event-v13 .form-control-large{height:54px;font-size:1rem}
  .create-event-v13 .date-range-grid{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:7px}
  .create-event-v13 .date-range-arrow{height:49px;transform:none;font-size:1.1rem}
  .create-event-v13 .input-with-icon .form-control{height:50px;font-size:.82rem;padding-left:39px}
  .create-event-v13 .activity-choice-grid-two{grid-template-columns:1fr;gap:10px}
  .create-event-v13 .activity-choice-content{min-height:122px;grid-template-columns:68px minmax(0,1fr) 26px;padding:14px;gap:12px}
  .create-event-v13 .activity-choice-icon{width:60px;height:60px;font-size:1.65rem}
  .create-event-v13 .activity-choice strong{font-size:1rem}
  .create-event-v13 .activity-choice small{font-size:.83rem;line-height:1.32;max-width:260px}
  .create-event-v13 .mission-count-options{gap:7px}
  .create-event-v13 .mission-count-option span{min-height:48px;padding-inline:6px;font-size:.8rem}
  .create-event-v13 .mission-count-option span strong{font-size:.92rem}
  .create-event-v13 .duo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .create-event-v13 .duo-category-option>span{min-height:46px;padding:9px 9px;font-size:.79rem;line-height:1.2}
  .create-event-v13 .create-summary-clean{padding:17px 15px!important;border-radius:19px!important}
  .create-event-v13 .summary-heading{margin-bottom:6px}
  .create-event-v13 .clean-summary-details .summary-row{padding:11px 0}
  .create-event-v13 .create-cancel{margin-top:13px}
}
@media(max-width:430px){
  .create-event-v13 .date-range-grid{grid-template-columns:1fr}
  .create-event-v13 .date-range-arrow{height:11px;transform:rotate(90deg)}
  .create-event-v13 .duo-category-grid{grid-template-columns:1fr}
  .create-event-v13 .activity-choice small{max-width:220px}
}


/* Photo Duo */
:root{--primary:#7c3aed;--primary-hover:#6d28d9;--duo-pink:#ec4899;--duo-dark:#17112b;--duo-soft:#f5f0ff}.duo-brand,.duo-player-logo{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:var(--duo-dark);text-decoration:none;letter-spacing:.04em}.duo-brand strong,.duo-player-logo strong,.duo-home h1 span{color:var(--duo-pink)}.duo-brand-icon,.duo-home-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--duo-pink));color:#fff;font-size:23px;box-shadow:0 12px 28px rgba(124,58,237,.25)}.duo-home{max-width:760px;margin:8vh auto;text-align:center}.duo-home-icon{width:86px;height:86px;border-radius:28px;font-size:42px;margin:0 auto 25px}.duo-home h1{font-size:clamp(3rem,9vw,6.5rem);letter-spacing:-.07em;margin:0}.duo-home .lead{max-width:650px;margin:20px auto 30px}.duo-home-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.duo-kicker{font-size:.75rem;letter-spacing:.16em;font-weight:800;color:var(--primary)}.duo-player-shell{width:min(100% - 28px,540px);margin:0 auto;padding:26px 0 50px}.duo-player-logo{justify-content:center;margin-bottom:28px}.duo-panel{background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 55px rgba(23,17,43,.09)}.duo-join-card h1{font-size:2rem;margin-bottom:14px}.duo-help-link{display:block;text-align:center;margin-top:22px;text-decoration:none;font-weight:700}.duo-steps{display:grid;gap:18px;margin:25px 0}.duo-steps>div{display:flex;gap:15px;align-items:flex-start}.duo-steps b{flex:0 0 42px;height:42px;border-radius:14px;background:var(--duo-soft);color:var(--primary);display:grid;place-items:center}.duo-steps span{display:grid;color:var(--text-light)}.duo-steps strong{color:var(--text)}.duo-player-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.duo-player-top small{color:var(--text-light)}.duo-player-top h1{font-size:1.75rem;margin:2px 0}.duo-icon-button{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#fff;color:var(--primary);box-shadow:var(--shadow);text-decoration:none}.duo-character-card{position:relative;overflow:hidden;text-align:center;padding:34px 26px;border-radius:30px;color:#fff;background:linear-gradient(145deg,var(--duo-dark),var(--primary));box-shadow:0 22px 55px rgba(76,29,149,.3)}.duo-character-card .duo-kicker{color:#ddd6fe}.duo-character-card h2{font-size:clamp(2.7rem,13vw,4.5rem);margin:8px 0 22px;letter-spacing:-.05em}.duo-character-mark{position:absolute;right:-18px;top:28px;font-size:160px;font-weight:800;opacity:.07}.duo-character-card p:last-child{margin:0;color:#ede9fe}.duo-score-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.duo-score-row article{background:#fff;border-radius:22px;padding:18px;text-align:center;box-shadow:var(--shadow);display:grid}.duo-score-row i{color:var(--duo-pink)}.duo-score-row strong{font-size:1.6rem}.duo-score-row span{font-size:.75rem;color:var(--text-light)}.duo-scan-button{padding:16px}.duo-scan-note{text-align:center;color:var(--text-light);font-size:.85rem;margin-top:10px}.duo-first-scan{display:flex;gap:14px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;padding:16px;margin-top:15px}.duo-first-scan i{font-size:24px;color:#f97316}.duo-first-scan div{display:grid}.duo-first-scan span{font-size:.85rem}.duo-waiting{text-align:center}.duo-pulse{width:84px;height:84px;margin:0 auto 20px;border-radius:28px;display:grid;place-items:center;background:var(--duo-soft);color:var(--primary);font-size:36px;animation:duoPulse 1.6s infinite}@keyframes duoPulse{50%{transform:scale(1.08);box-shadow:0 0 0 15px rgba(124,58,237,.06)}}.duo-back{text-decoration:none;font-weight:700;color:var(--text-light)}.player-qr-frame{overflow:hidden;border-radius:22px;border:3px solid #ede9fe;margin:22px 0}.player-qr-frame.is-success{border-color:#22c55e}.player-qr-frame.is-error{border-color:#ef4444}.player-scan-status{display:flex;align-items:center;justify-content:center;gap:10px;min-height:45px;text-align:center}.duo-ranking{display:grid;gap:10px}.duo-ranking article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;background:#fff;padding:15px;border-radius:20px;box-shadow:var(--shadow)}.duo-ranking article.is-me{outline:2px solid var(--primary);background:var(--duo-soft)}.duo-rank-pos{font-size:1.3rem;font-weight:800;text-align:center}.duo-ranking article div{display:grid}.duo-ranking small{color:var(--text-light)}.duo-ranking b{font-size:1.15rem;color:var(--primary)}.duo-display{min-height:100vh;padding:5vh 6vw;background:linear-gradient(145deg,#110b23,#2e1065);color:#fff}.duo-display header{text-align:center;margin-bottom:4vh}.duo-display .duo-player-logo{color:#fff}.duo-display header h1{font-size:clamp(2.5rem,6vw,5rem)}.duo-display-list{max-width:1100px;margin:auto;display:grid;gap:14px}.duo-display-list article{display:grid;grid-template-columns:70px 1fr auto;align-items:center;padding:18px 25px;border-radius:22px;background:rgba(255,255,255,.1);font-size:clamp(1rem,2vw,1.7rem);backdrop-filter:blur(8px)}.duo-display-list article:first-child{background:linear-gradient(90deg,rgba(236,72,153,.45),rgba(124,58,237,.45));transform:scale(1.02)}.duo-display-list span{font-size:1.5em;font-weight:800}.duo-display-list div b{font-size:1.35em}.duo-centered{max-width:520px;margin:10vh auto;text-align:center}.pc-user-nav{margin-left:auto;display:flex;gap:18px;align-items:center}.pc-user-nav a{color:var(--text);text-decoration:none;font-weight:700}@media(max-width:575px){.duo-panel{padding:22px}.duo-score-row{gap:8px}.duo-display-list article{grid-template-columns:45px 1fr}.duo-display-list article div{grid-column:2}}

/* Photo Games public website */
:root{--pg-navy:#0b132b;--pg-blue:#2563eb;--pg-purple:#6d28d9;--pg-teal:#14b8a6;--pg-coral:#ff5a7a;--pg-amber:#f5a623;--pg-bg:#f7f9fc;--pg-text:#182238;--pg-muted:#64748b;--pg-border:#e3e8f0}
body{background:var(--pg-bg);color:var(--pg-text)}.pg-shell{max-width:1180px;margin:auto;padding:0 24px}.pg-hero,.pg-page-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;padding:88px 0}.pg-page-hero{display:block;max-width:850px}.pg-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--pg-blue)}.pg-hero h1,.pg-page-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.98;letter-spacing:-.055em;margin:18px 0}.pg-hero p,.pg-page-hero p{font-size:1.2rem;color:var(--pg-muted);max-width:720px}.pg-hero-visual img{width:100%;max-width:500px}.pg-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.pg-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:13px 20px;font-weight:800;text-decoration:none;border:1px solid transparent}.pg-btn-primary{background:linear-gradient(135deg,var(--pg-blue),var(--pg-purple));color:white}.pg-btn-secondary{border-color:var(--pg-border);background:white;color:var(--pg-navy)}.pg-quick-join{display:none;margin-top:22px;background:white;border:1px solid var(--pg-border);border-radius:18px;padding:14px}.pg-quick-join label{display:block;font-size:.8rem;font-weight:800;margin-bottom:8px}.pg-quick-join div{display:flex;gap:8px}.pg-quick-join input,.pg-join-form input{border:1px solid var(--pg-border);border-radius:12px;padding:12px 14px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;width:100%}.pg-quick-join button{border:0;border-radius:12px;background:var(--pg-navy);color:#fff;padding:0 16px;font-weight:800}.pg-section{padding:70px 0}.pg-section-head{max-width:760px;margin-bottom:32px}.pg-section h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em}.pg-grid{display:grid;gap:22px}.pg-grid-2{grid-template-columns:repeat(2,1fr)}.pg-grid-3{grid-template-columns:repeat(3,1fr)}.pg-grid-4{grid-template-columns:repeat(4,1fr)}.pg-card,.pg-price,.pg-steps article,.pg-benefits>div>div,.pg-people article{background:white;border:1px solid var(--pg-border);border-radius:24px;padding:28px}.pg-card{min-height:280px}.pg-card-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#eef2ff;font-weight:900}.pg-card-challenge{border-top:5px solid var(--pg-amber)}.pg-card-duo{border-top:5px solid var(--pg-purple)}.pg-card-meet{border-top:5px solid var(--pg-coral)}.pg-card a,.pg-center a{font-weight:800}.pg-media,.pg-pro,.pg-cta{background:linear-gradient(135deg,#eef4ff,#f3edff);border-radius:32px;padding:48px}.pg-video-placeholder{width:100%;min-height:250px;border:1px dashed #a8b3c7;border-radius:24px;background:#fff;color:var(--pg-muted);font-weight:800}.pg-steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--pg-navy);color:white;margin-bottom:18px}.pg-center{text-align:center;margin-top:24px}.pg-price strong{display:block;font-size:2rem;color:var(--pg-navy);margin:18px 0}.pg-price small{font-size:1rem}.pg-faq details{background:#fff;border:1px solid var(--pg-border);border-radius:16px;padding:20px 22px;margin-bottom:10px}.pg-faq summary{font-weight:800;cursor:pointer}.pg-theme-challenge{border-left:8px solid var(--pg-amber);padding-left:32px}.pg-theme-duo{border-left:8px solid var(--pg-purple);padding-left:32px}.pg-theme-meet{border-left:8px solid var(--pg-coral);padding-left:32px}.pg-cta{text-align:center;margin:40px 0 80px}.pg-table-wrap{overflow:auto;margin-top:36px}.pg-table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden}.pg-table th,.pg-table td{padding:18px;border-bottom:1px solid var(--pg-border);text-align:left}.pg-people img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.pg-story,.pg-legal{max-width:850px}.pg-contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}.pg-contact form{background:#fff;border:1px solid var(--pg-border);border-radius:24px;padding:28px}.pg-contact label{display:block;font-weight:700;margin-bottom:18px}.pg-contact input,.pg-contact textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--pg-border);border-radius:12px;padding:12px}.pg-small{font-size:.85rem;color:var(--pg-muted)}.pg-join-form{max-width:460px;background:#fff;border:1px solid var(--pg-border);border-radius:24px;padding:24px;margin-top:30px}.pg-join-form label,.pg-join-form small{display:block;margin-bottom:10px}.pg-join-form .pg-btn{width:100%;margin:12px 0}
@media(max-width:800px){.pg-shell{padding:0 16px}.pg-hero{grid-template-columns:1fr;padding:48px 0}.pg-hero-visual{display:none}.pg-quick-join{display:block}.pg-grid-2,.pg-grid-3,.pg-grid-4,.pg-contact{grid-template-columns:1fr}.pg-section{padding:44px 0}.pg-media,.pg-pro,.pg-cta{padding:28px 20px;border-radius:22px}.pg-page-hero{padding:52px 0}.pg-page-hero h1{font-size:2.7rem}}


/* Annuaire des loueurs */
.account-card-heading,.account-actions,.directory-results-head,.provider-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.directory-status{padding:7px 12px;border-radius:999px;background:#eef2f7;color:#526071;font-size:.82rem;font-weight:700}.directory-status.is-visible{background:#dcfce7;color:#166534}.directory-consent{display:flex;gap:13px;padding:17px;border:1px solid #dfe6ef;border-radius:14px;background:#f8fafc;cursor:pointer}.directory-consent input{width:20px;height:20px;margin-top:2px}.directory-consent span{display:flex;flex-direction:column;gap:4px}.directory-consent small{color:#667085}.directory-search{max-width:720px;margin:28px auto 0;text-align:left}.directory-search label{display:block;margin-bottom:8px;font-weight:700}.directory-search>div{display:flex;gap:10px}.directory-search input{flex:1;min-width:0;padding:14px 16px;border:1px solid #cfd8e6;border-radius:12px}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.provider-card,.provider-main-card,.provider-contact-card,.directory-empty{padding:26px;border:1px solid #e0e7f0;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(8,17,38,.07)}.provider-card{display:flex;min-height:230px;flex-direction:column;justify-content:space-between}.provider-location{color:#5d6b7d;font-size:.92rem}.provider-card h3{margin:12px 0 8px}.provider-card-footer{align-items:flex-end;margin-top:24px}.provider-card-footer a{font-weight:700}.provider-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:28px;align-items:start}.provider-contact-card{position:sticky;top:24px}.provider-price{display:block;margin:12px 0 18px;font-size:1.65rem}.provider-contact-actions{display:flex;flex-direction:column;gap:12px}.provider-activities{display:flex;flex-wrap:wrap;gap:10px}.provider-activities span{padding:9px 12px;border-radius:999px;background:#eef4ff;color:#2254a3;font-weight:700}.provider-back{display:inline-block;margin-bottom:22px}.pg-directory-cta{padding:42px;border-radius:28px;background:linear-gradient(135deg,#eef4ff,#f7efff)}@media(max-width:900px){.provider-grid{grid-template-columns:1fr 1fr}.provider-detail-grid{grid-template-columns:1fr}.provider-contact-card{position:static}}@media(max-width:650px){.account-grid,.provider-grid{grid-template-columns:1fr}.directory-search>div,.account-actions,.account-card-heading,.directory-results-head,.provider-card-footer{align-items:stretch;flex-direction:column}.directory-search button{width:100%}}

/* Annuaire public : logos des loueurs */
.provider-card-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:start}
.provider-card-logo,.provider-detail-logo{display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#eef2ff,#f5edff);color:var(--primary);font-weight:900;border:1px solid #e1e7ef}
.provider-card-logo{width:58px;height:58px;border-radius:16px;font-size:1.3rem}
.provider-card-logo img,.provider-detail-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.provider-card-head h3{margin-top:7px}
.provider-detail-heading{display:flex;align-items:center;gap:22px}
.provider-detail-logo{width:104px;height:104px;flex:0 0 104px;border-radius:26px;font-size:2.35rem}
.provider-detail-heading h1{margin-top:10px}
@media(max-width:700px){.provider-detail-heading{align-items:flex-start}.provider-detail-logo{width:76px;height:76px;flex-basis:76px;border-radius:20px}}


/* ==========================================================
   PHOTOGAMES — VITRINE ÉVÉNEMENTIELLE V3
   ========================================================== */
.pg-site{--pg-bg:#07091a;--pg-surface:#10142b;--pg-surface-2:#151936;--pg-text:#f7f8ff;--pg-muted:#aab1cb;--pg-border:rgba(255,255,255,.11);--pg-blue:#6ea8ff;--pg-purple:#8b5cf6;--pg-pink:#ec4899;--pg-cyan:#22d3ee;background:var(--pg-bg);color:var(--pg-text)}
.pg-site::before{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 12% 8%,rgba(94,77,255,.16),transparent 34%),radial-gradient(circle at 86% 20%,rgba(236,72,153,.13),transparent 28%),linear-gradient(180deg,#07091a 0%,#090b20 45%,#07091a 100%);content:"";pointer-events:none}
.pg-public-main{overflow:hidden}.pg-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto;padding:0}.pg-navbar{position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,9,26,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pg-navbar .pg-navbar-inner{width:min(1220px,calc(100% - 40px));max-width:none;height:88px;padding:0;gap:24px}.pg-navbar .pc-brand{flex:0 0 auto}.pg-navbar .pc-brand-logo{width:250px;height:74px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(99,102,241,.22))}.pg-navbar .pc-user-nav{margin-left:auto;gap:8px}.pg-navbar .pc-user-nav>a:not(.btn){padding:10px 12px;color:#d8dcf0;font-size:.88rem;font-weight:700}.pg-navbar .pc-user-nav>a:not(.btn):hover{color:#fff}.pg-nav-create,.pg-nav-join{min-height:42px;padding:10px 16px!important;border-radius:12px!important;font-size:.84rem!important;font-weight:800!important}.pg-nav-create{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.04)!important;color:#fff!important}.pg-nav-join{border:0!important;background:linear-gradient(135deg,#6d5dfc,#8b5cf6)!important;color:#fff!important;box-shadow:0 10px 28px rgba(109,93,252,.26)}
.pg-home{position:relative}.pg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);min-height:690px;align-items:center;gap:52px;padding:78px 0 64px}.pg-hero-copy{position:relative;z-index:2}.pg-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#9ea7ff;font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.pg-hero h1{max-width:690px;margin:18px 0 22px;color:#fff;font-size:clamp(3.4rem,6vw,5.75rem);font-weight:800;letter-spacing:-.065em;line-height:.96}.pg-hero h1 span{display:block;background:linear-gradient(90deg,#9a8cff 0%,#6ea8ff 45%,#ec70c8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.pg-hero-copy>p{max-width:650px;margin:0;color:#bac1d9;font-size:1.13rem;line-height:1.75}.pg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.pg-btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border:1px solid transparent;border-radius:14px;color:#fff;font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.pg-btn:hover{color:#fff;transform:translateY(-2px)}.pg-btn-primary{background:linear-gradient(135deg,#6d5dfc,#8b5cf6 54%,#a855f7);box-shadow:0 14px 34px rgba(109,93,252,.28)}.pg-btn-primary:hover{box-shadow:0 18px 42px rgba(109,93,252,.4)}.pg-btn-secondary{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.055);color:#fff}.pg-btn-secondary:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.09)}.pg-hero-proof{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#8f98b5;font-size:.78rem;font-weight:700}.pg-hero-proof span{display:inline-flex;align-items:center;gap:7px}.pg-hero-proof i{color:#7dd3fc}
.pg-hero-scene{position:relative;min-height:520px}.pg-scene-glow{position:absolute;border-radius:50%;filter:blur(12px)}.pg-scene-glow-a{right:8%;top:4%;width:360px;height:360px;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%)}.pg-scene-glow-b{left:0;bottom:0;width:280px;height:280px;background:radial-gradient(circle,rgba(34,211,238,.18),transparent 70%)}.pg-photo-frame{position:absolute;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:linear-gradient(150deg,rgba(26,31,64,.96),rgba(13,16,39,.96));box-shadow:0 35px 80px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}.pg-photo-frame-main{inset:36px 28px 88px 24px;transform:rotate(-2deg)}.pg-photo-frame-main::before{position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(117,99,255,.25),transparent 34%),linear-gradient(180deg,transparent 50%,rgba(2,4,18,.62));content:""}.pg-flash{position:absolute;top:24px;left:24px;display:grid;width:66px;height:66px;place-items:center;border-radius:20px;background:rgba(255,255,255,.12);color:#fff;font-size:1.7rem;box-shadow:0 0 35px rgba(255,255,255,.12)}.pg-photo-frame small{position:absolute;left:28px;bottom:24px;color:#b9c2df;font-size:.7rem;font-weight:800;letter-spacing:.18em}.pg-photo-silhouettes{position:absolute;inset:120px 42px 52px;display:flex;align-items:flex-end;justify-content:center;gap:14px}.pg-photo-silhouettes span{position:relative;width:82px;height:180px;border-radius:50px 50px 20px 20px;background:linear-gradient(180deg,#493e91,#1b1e43);opacity:.78}.pg-photo-silhouettes span::before{position:absolute;top:-54px;left:14px;width:54px;height:54px;border-radius:50%;background:#665ab5;content:""}.pg-photo-silhouettes span:nth-child(2){height:215px;background:linear-gradient(180deg,#6d3f84,#242044)}.pg-photo-silhouettes span:nth-child(2)::before{background:#8d5b9c}.pg-photo-silhouettes span:nth-child(3){height:168px;background:linear-gradient(180deg,#2e6683,#171f3c)}.pg-photo-silhouettes span:nth-child(3)::before{background:#4e819a}.pg-live-ranking{position:absolute;right:-4px;bottom:20px;width:246px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(11,14,35,.9);box-shadow:0 22px 50px rgba(0,0,0,.38);backdrop-filter:blur(12px);transform:rotate(2deg)}.pg-live-title{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:10px;color:#fff;font-size:.78rem;font-weight:800}.pg-live-title i{color:#fbbf24}.pg-live-ranking>div:not(.pg-live-title){display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.07);color:#cad0e6;font-size:.72rem}.pg-live-ranking b{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:rgba(139,92,246,.16);color:#b8adff}.pg-live-ranking strong{color:#fff;font-size:.7rem}.pg-floating-code{position:absolute;left:-6px;bottom:58px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(15,19,45,.86);box-shadow:0 18px 38px rgba(0,0,0,.32);color:#dbe1f5;font-size:.68rem;font-weight:800;line-height:1.2;transform:rotate(-4deg)}.pg-floating-code i{color:#7dd3fc;font-size:1.65rem}
.pg-section{padding:76px 0}.pg-section-head{max-width:760px;margin:0 0 34px}.pg-section-head-wide{max-width:960px}.pg-section h2,.pg-final-cta h2{margin:12px 0 14px;color:#fff;font-size:clamp(2.25rem,4.7vw,4.3rem);font-weight:800;letter-spacing:-.052em;line-height:1.04}.pg-section-head>p{max-width:720px;margin:0;color:#9ca5c0;font-size:1rem}.pg-grid{display:grid;gap:22px}.pg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pg-games-section{position:relative;background:linear-gradient(180deg,rgba(13,16,41,.35),rgba(13,16,41,.72),rgba(7,9,26,0))}.pg-games-grid{align-items:stretch}.pg-game-card{position:relative;display:flex;min-height:440px;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(155deg,rgba(22,26,57,.96),rgba(12,15,37,.98));box-shadow:0 22px 55px rgba(0,0,0,.24);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.pg-game-card::before{position:absolute;inset:-40% -20% auto;height:260px;border-radius:50%;filter:blur(16px);opacity:.55;content:""}.pg-game-challenge::before{background:radial-gradient(circle,rgba(255,92,122,.36),transparent 66%)}.pg-game-duo::before{background:radial-gradient(circle,rgba(139,92,246,.42),transparent 66%)}.pg-game-meet::before{background:radial-gradient(circle,rgba(34,211,238,.32),transparent 66%)}.pg-game-card:hover{border-color:rgba(255,255,255,.23);transform:translateY(-7px);box-shadow:0 30px 70px rgba(0,0,0,.34)}.pg-game-logo-wrap{position:relative;z-index:1;display:flex;height:175px;align-items:center;justify-content:center;padding:24px 24px 10px}.pg-game-logo-wrap img{display:block;width:100%;max-width:265px;max-height:142px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.24))}.pg-game-content{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;padding:8px 28px 28px}.pg-game-tag{align-self:flex-start;margin-bottom:14px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.055);color:#aeb6d2;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pg-game-content h3{margin:0 0 10px;color:#fff;font-size:1.48rem;font-weight:800}.pg-game-content p{margin:0;color:#aeb6cf;font-size:.9rem;line-height:1.65}.pg-game-content a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:24px;color:#fff;font-size:.84rem;font-weight:800;text-decoration:none}.pg-game-challenge a{color:#ff8da5}.pg-game-duo a{color:#bca8ff}.pg-game-meet a{color:#75e5f5}
.pg-how-section{padding-top:58px}.pg-steps article{position:relative;min-height:210px;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035)}.pg-steps b{display:grid;width:42px;height:42px;place-items:center;margin-bottom:20px;border-radius:14px;background:linear-gradient(135deg,#6257e7,#8b5cf6);color:#fff;box-shadow:0 10px 25px rgba(98,87,231,.25)}.pg-steps h3{margin:0 0 8px;color:#fff;font-size:1.05rem}.pg-steps p{margin:0;color:#9ca6c2;font-size:.86rem;line-height:1.6}.pg-audience-section{padding:54px 0}.pg-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.pg-audience-card{display:flex;min-height:350px;flex-direction:column;padding:38px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(145deg,rgba(24,29,62,.95),rgba(11,14,35,.98));box-shadow:0 22px 55px rgba(0,0,0,.22)}.pg-audience-card h2{max-width:520px;margin:12px 0 16px;font-size:clamp(2rem,3.2vw,3.25rem)}.pg-audience-card p{max-width:600px;margin:0 0 30px;color:#aeb7d1;line-height:1.7}.pg-audience-card .pg-btn{align-self:flex-start;margin-top:auto}.pg-audience-organizer{background:radial-gradient(circle at 100% 0,rgba(34,211,238,.16),transparent 42%),linear-gradient(145deg,rgba(20,27,58,.98),rgba(10,14,34,.98))}.pg-audience-pro{background:radial-gradient(circle at 100% 0,rgba(236,72,153,.16),transparent 42%),linear-gradient(145deg,rgba(28,22,61,.98),rgba(11,14,35,.98))}
.pg-pricing-section{padding-top:66px}.pg-pricing-grid{align-items:stretch}.pg-price{position:relative;min-height:250px;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.038)}.pg-price h3{margin:0;color:#fff;font-size:1.1rem}.pg-price strong{display:block;margin:18px 0 14px;color:#fff;font-size:2rem;font-weight:800}.pg-price small{color:#aeb6ce;font-size:.8rem}.pg-price p{margin:0;color:#9da7c1;font-size:.86rem;line-height:1.6}.pg-price-featured{border-color:rgba(139,92,246,.48);background:linear-gradient(145deg,rgba(111,75,227,.22),rgba(21,23,53,.92));box-shadow:0 24px 60px rgba(90,63,190,.2)}.pg-price-badge{position:absolute;top:18px;right:18px;padding:6px 10px;border-radius:999px;background:#8b5cf6;color:#fff;font-size:.65rem;font-weight:800}.pg-center{margin-top:24px;text-align:center}.pg-center a{color:#c5baff;font-weight:800;text-decoration:none}
.pg-benefits-section{padding:42px 0}.pg-benefits{gap:14px}.pg-benefits>div{display:flex;min-height:150px;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025)}.pg-benefits i{margin-bottom:16px;color:#7dd3fc;font-size:1.35rem}.pg-benefits b{color:#fff}.pg-benefits p{margin:6px 0 0;color:#929cb8;font-size:.78rem;line-height:1.5}.pg-faq-section{padding:56px 0 82px}.pg-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pg-faq details{padding:0;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.03)}.pg-faq summary{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;color:#f2f4ff;font-size:.86rem;font-weight:800;cursor:pointer;list-style:none}.pg-faq summary::-webkit-details-marker{display:none}.pg-faq summary i{color:#8f98b5;transition:transform .2s ease}.pg-faq details[open] summary i{transform:rotate(45deg)}.pg-faq details p{margin:0;padding:0 20px 20px;color:#9ca6c1;font-size:.82rem;line-height:1.65}.pg-final-cta{padding:70px 0 90px}.pg-final-cta-inner{padding:54px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:radial-gradient(circle at 50% 0,rgba(139,92,246,.28),transparent 52%),linear-gradient(145deg,#171b3f,#0d1028);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}.pg-final-cta h2{max-width:800px;margin:14px auto}.pg-final-cta p{max-width:660px;margin:0 auto 26px;color:#aeb7d1}
.pg-footer{margin-top:0;padding:58px 0 24px;border-top:1px solid rgba(255,255,255,.08);background:#050716;color:#dce1f3}.pg-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:44px}.pg-footer-brand img{display:block;width:280px;max-width:100%;height:auto;filter:none}.pg-footer-brand p{max-width:330px;margin:16px 0 0;color:#8993af;font-size:.82rem}.pg-footer b,.pg-footer a{display:block;margin-bottom:10px}.pg-footer b{margin-bottom:14px;color:#fff;font-size:.82rem}.pg-footer a{color:#98a2bd;font-size:.78rem;text-decoration:none}.pg-footer a:hover{color:#fff}.pg-footer-bottom{display:flex;justify-content:space-between;margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#717d9a;font-size:.76rem}
@media(max-width:1050px){.pg-navbar .pc-brand-logo{width:220px}.pg-navbar .pc-user-nav>a:not(.btn){display:none}.pg-hero{grid-template-columns:1fr .8fr;gap:24px}.pg-hero h1{font-size:clamp(3.2rem,7vw,5rem)}}
@media(max-width:850px){.pg-shell{width:min(100% - 32px,1180px)}.pg-navbar .pg-navbar-inner{width:calc(100% - 24px);height:76px}.pg-navbar .pc-brand-logo{width:190px;height:60px}.pg-nav-create{display:none}.pg-hero{grid-template-columns:1fr;min-height:auto;padding:60px 0 38px}.pg-hero-scene{min-height:480px;margin-top:4px}.pg-grid-3,.pg-grid-4,.pg-audience-grid,.pg-faq{grid-template-columns:1fr}.pg-games-grid{gap:16px}.pg-game-card{min-height:360px}.pg-game-logo-wrap{height:150px}.pg-audience-card{min-height:310px}.pg-footer-grid{grid-template-columns:1fr 1fr}.pg-footer-brand{grid-column:1/-1}}
@media(max-width:560px){.pg-navbar .pc-brand-logo{width:165px}.pg-nav-join{padding-inline:14px!important}.pg-hero h1{font-size:3.05rem}.pg-hero-copy>p{font-size:1rem}.pg-actions{flex-direction:column}.pg-actions .pg-btn{width:100%}.pg-hero-proof{gap:10px 14px}.pg-hero-scene{min-height:390px}.pg-photo-frame-main{inset:20px 10px 75px}.pg-photo-silhouettes{inset:115px 24px 48px}.pg-photo-silhouettes span{width:58px;height:135px}.pg-photo-silhouettes span::before{top:-42px;left:8px;width:42px;height:42px}.pg-photo-silhouettes span:nth-child(2){height:165px}.pg-photo-silhouettes span:nth-child(3){height:125px}.pg-live-ranking{right:0;bottom:12px;width:210px}.pg-floating-code{left:0;bottom:40px}.pg-section{padding:54px 0}.pg-section h2,.pg-final-cta h2{font-size:2.45rem}.pg-game-content{padding:6px 22px 24px}.pg-game-logo-wrap img{max-width:235px}.pg-audience-card{padding:28px 24px}.pg-final-cta-inner{padding:38px 22px}.pg-footer-grid{grid-template-columns:1fr;gap:28px}.pg-footer-brand{grid-column:auto}.pg-footer-brand img{width:230px}.pg-footer-bottom{display:block}.pg-footer-bottom span{display:block;margin-top:6px}}

/* Logo assets recadres: les PNG sources contenaient de grandes marges transparentes. */
.pg-navbar .pc-brand{min-width:250px;overflow:visible}
.pg-navbar .pc-brand-logo{display:block;max-width:none;object-fit:contain;object-position:left center}
.pg-game-logo-wrap img{width:auto;max-width:88%;max-height:112px;object-fit:contain}
.pg-footer-brand img{width:min(100%,360px);height:auto;object-fit:contain}
@media(max-width:1050px){.pg-navbar .pc-brand{min-width:220px}}
@media(max-width:850px){.pg-navbar .pc-brand{min-width:190px}}
@media(max-width:560px){.pg-navbar .pc-brand{min-width:165px}}


/* ==========================================================
   PHOTO GAMES V3.2 — largeur des grands titres
   ========================================================== */
.pg-home .pg-section-head,
.pg-home .pg-section-head-wide {
    width: 100%;
    max-width: 1120px;
}

.pg-home .pg-section-head h2 {
    max-width: none;
    text-wrap: balance;
}

.pg-hero h1 .pg-hero-line {
    display: block;
}

.pg-hero h1 .pg-hero-brand-line {
    background: linear-gradient(90deg, #7c6cff 0%, #c851ff 48%, #ff4f8b 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

@media (min-width: 1051px) {
    .pg-how-section .pg-section-head h2,
    .pg-games-section .pg-section-head h2 {
        white-space: nowrap;
    }
}

@media (max-width: 1050px) {
    .pg-home .pg-section-head,
    .pg-home .pg-section-head-wide {
        max-width: 100%;
    }
}

/* ==========================================================
   PHOTOGAMES — LOT 1 : HEADER + HERO
   ========================================================== */
.pg-site .pg-navbar {
    background: rgba(5, 7, 22, .88);
    border-bottom-color: rgba(255, 255, 255, .09);
    box-shadow: 0 14px 42px rgba(0, 0, 0, .18);
}

.pg-site .pg-navbar .pg-navbar-inner {
    width: min(1320px, calc(100% - 52px));
    height: 100px;
    gap: 34px;
}

.pg-site .pg-navbar .pc-brand {
    min-width: 310px;
    height: 82px;
    align-items: center;
}

.pg-site .pg-navbar .pc-brand-logo {
    width: 310px;
    height: 82px;
    max-width: none;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 0 22px rgba(111, 99, 255, .28));
}

.pg-site .pg-navbar .pc-user-nav {
    gap: 10px;
}

.pg-site .pg-navbar .pc-user-nav > a:not(.btn) {
    padding: 11px 13px;
    color: #cbd1e6;
    font-size: .9rem;
}

.pg-site .pg-nav-create,
.pg-site .pg-nav-join {
    min-height: 46px;
    padding: 11px 19px !important;
    border-radius: 14px !important;
}

.pg-site .pg-nav-join {
    box-shadow: 0 12px 34px rgba(109, 93, 252, .34), 0 0 30px rgba(139, 92, 246, .12);
}

.pg-home .pg-hero {
    grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
    min-height: 720px;
    gap: 66px;
    padding: 72px 0 62px;
}

.pg-home .pg-hero-copy {
    max-width: 710px;
}

.pg-home .pg-hero h1 {
    max-width: 710px;
    margin: 20px 0 24px;
    font-size: clamp(3.55rem, 5.6vw, 5.65rem);
    line-height: .99;
    letter-spacing: -.062em;
}

.pg-home .pg-hero h1 .pg-hero-line:first-child {
    color: #fff;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.pg-home .pg-hero-copy > p {
    max-width: 660px;
    color: #b9c0d8;
    font-size: 1.08rem;
    line-height: 1.72;
}

.pg-home .pg-actions {
    margin-top: 28px;
}

.pg-home .pg-actions .pg-btn {
    min-height: 54px;
    padding: 14px 24px;
    border-radius: 15px;
}

.pg-hero-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .09);
}

.pg-hero-benefit {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: start;
    gap: 13px;
    min-width: 0;
}

.pg-hero-benefit-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 15px;
    font-size: 1.18rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 28px rgba(0, 0, 0, .16);
}

.pg-hero-benefit-participation .pg-hero-benefit-icon {
    background: linear-gradient(145deg, rgba(124, 92, 246, .32), rgba(90, 69, 212, .12));
    color: #b6a6ff;
}

.pg-hero-benefit-ranking .pg-hero-benefit-icon {
    background: linear-gradient(145deg, rgba(34, 211, 238, .26), rgba(34, 132, 238, .10));
    color: #72e5f4;
}

.pg-hero-benefit-simple .pg-hero-benefit-icon {
    background: linear-gradient(145deg, rgba(236, 72, 153, .25), rgba(168, 85, 247, .10));
    color: #ff8fc5;
}

.pg-hero-benefit strong {
    display: block;
    margin: 1px 0 5px;
    color: #f7f8ff;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.35;
}

.pg-hero-benefit p {
    margin: 0;
    color: #8f98b4;
    font-size: .72rem;
    line-height: 1.5;
}

.pg-home .pg-hero-scene {
    min-height: 565px;
    transform: translateY(4px);
}

.pg-home .pg-photo-frame-main {
    inset: 20px 26px 88px 4px;
    border-color: rgba(255, 255, 255, .17);
    box-shadow: 0 30px 85px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.pg-home .pg-photo-silhouettes {
    opacity: .52;
    filter: saturate(.72);
}

.pg-home .pg-live-ranking {
    right: -8px;
    bottom: 18px;
    width: 245px;
    border-color: rgba(255, 255, 255, .14);
    background: rgba(12, 15, 39, .9);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .4), 0 0 34px rgba(100, 82, 255, .12);
}

.pg-home .pg-floating-code {
    left: -10px;
    bottom: 56px;
    background: rgba(13, 16, 42, .92);
    box-shadow: 0 20px 48px rgba(0, 0, 0, .34);
}

@media (max-width: 1120px) {
    .pg-site .pg-navbar .pc-brand,
    .pg-site .pg-navbar .pc-brand-logo { width: 260px; min-width: 260px; }
    .pg-site .pg-navbar .pc-user-nav > a:not(.btn) { display: none; }
    .pg-home .pg-hero { grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr); gap: 36px; }
    .pg-hero-benefits { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 850px) {
    .pg-site .pg-navbar .pg-navbar-inner { width: calc(100% - 24px); height: 84px; }
    .pg-site .pg-navbar .pc-brand,
    .pg-site .pg-navbar .pc-brand-logo { width: 215px; min-width: 215px; height: 68px; }
    .pg-home .pg-hero { grid-template-columns: 1fr; min-height: auto; padding: 54px 0 42px; }
    .pg-home .pg-hero-copy { max-width: none; }
    .pg-home .pg-hero h1 { max-width: 760px; }
    .pg-hero-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pg-home .pg-hero-scene { min-height: 490px; }
}

@media (max-width: 650px) {
    .pg-site .pg-navbar .pc-brand,
    .pg-site .pg-navbar .pc-brand-logo { width: 180px; min-width: 180px; height: 60px; }
    .pg-site .pg-nav-join { min-height: 42px; padding-inline: 14px !important; }
    .pg-home .pg-hero h1 { font-size: clamp(2.75rem, 13vw, 3.55rem); }
    .pg-hero-benefits { grid-template-columns: 1fr; gap: 16px; }
    .pg-hero-benefit { grid-template-columns: 44px minmax(0, 1fr); }
    .pg-home .pg-hero-scene { min-height: 410px; }
}

/* ==========================================================
   PHOTOGAMES — CARTES ORGANISATEUR / LOUEUR V2
   Bloc volontairement isolé pour ne modifier aucune autre section.
   ========================================================== */
.pg-audience-section-v2 {
    padding: 58px 0 70px;
}

.pg-audience-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.pg-audience-card-v2 {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 30px;
    background: #0d122b;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .28);
    isolation: isolate;
}

.pg-audience-card-v2::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    content: "";
    pointer-events: none;
}

.pg-audience-card-v2-organizer::after {
    background: radial-gradient(circle at 10% 28%, rgba(37, 99, 235, .17), transparent 42%);
}

.pg-audience-card-v2-pro::after {
    background: radial-gradient(circle at 88% 26%, rgba(236, 72, 153, .17), transparent 44%);
}

.pg-audience-visual-v2 {
    display: block;
    height: 330px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    background: #080b20;
}

.pg-audience-visual-v2 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .45s ease;
}

.pg-audience-card-v2:hover .pg-audience-visual-v2 img {
    transform: scale(1.025);
}

.pg-audience-content-v2 {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 34px 38px 38px;
}

.pg-audience-kicker-v2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pg-audience-kicker-v2 i {
    font-size: 1.15rem;
}

.pg-audience-card-v2-organizer .pg-audience-kicker-v2 {
    color: #73a7ff;
}

.pg-audience-card-v2-pro .pg-audience-kicker-v2 {
    color: #ff70bd;
}

.pg-audience-content-v2 h2 {
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(2.15rem, 3.4vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1.07;
    text-wrap: balance;
}

.pg-audience-card-v2-organizer h2 span {
    background: linear-gradient(90deg, #6da5ff, #7869ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.pg-audience-card-v2-pro h2 span {
    background: linear-gradient(90deg, #ff5daa, #b66cff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.pg-audience-content-v2 p {
    max-width: 570px;
    margin: 22px 0 28px;
    color: #abb4ce;
    font-size: .98rem;
    line-height: 1.72;
}

.pg-audience-content-v2 .pg-audience-btn-v2 {
    align-self: flex-start;
    margin-top: auto;
    border: 0;
    color: #fff;
}

.pg-audience-card-v2-organizer .pg-audience-btn-v2 {
    background: linear-gradient(135deg, #2472ff, #6847f5);
    box-shadow: 0 14px 34px rgba(37, 99, 235, .28);
}

.pg-audience-card-v2-pro .pg-audience-btn-v2 {
    background: linear-gradient(135deg, #d92791, #a945ef);
    box-shadow: 0 14px 34px rgba(217, 39, 145, .27);
}

@media (max-width: 900px) {
    .pg-audience-grid-v2 {
        grid-template-columns: 1fr;
    }

    .pg-audience-card-v2 {
        max-width: 720px;
        margin-inline: auto;
    }

    .pg-audience-visual-v2 {
        height: clamp(280px, 52vw, 390px);
    }

    .pg-audience-content-v2 {
        min-height: 0;
    }
}

@media (max-width: 560px) {
    .pg-audience-section-v2 {
        padding: 42px 0 54px;
    }

    .pg-audience-grid-v2 {
        gap: 18px;
    }

    .pg-audience-card-v2 {
        border-radius: 24px;
    }

    .pg-audience-visual-v2 {
        height: 235px;
    }

    .pg-audience-content-v2 {
        padding: 25px 22px 26px;
    }

    .pg-audience-content-v2 h2 {
        font-size: clamp(2rem, 10vw, 2.55rem);
    }

    .pg-audience-content-v2 p {
        margin: 18px 0 24px;
        font-size: .9rem;
    }

    .pg-audience-content-v2 .pg-audience-btn-v2 {
        width: 100%;
    }
}


/* ==========================================================
   PHOTOGAMES V3.6 — VISUEL HERO PRINCIPAL
   Modifications volontairement limitées au hero de l'accueil.
   ========================================================== */
.pg-home .pg-hero {
    grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr);
    gap: 48px;
}

.pg-home .pg-hero-illustration {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    filter: drop-shadow(0 34px 65px rgba(0, 0, 0, .34));
}

.pg-home .pg-hero-illustration::before {
    position: absolute;
    inset: 8% 5% 5%;
    z-index: -1;
    border-radius: 42%;
    background: radial-gradient(circle, rgba(126, 92, 246, .25), transparent 68%);
    filter: blur(28px);
    content: "";
}

.pg-home .pg-hero-illustration img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.pg-home .pg-hero-benefits {
    margin-top: 34px;
    padding-top: 27px;
}

@media (max-width: 1120px) {
    .pg-home .pg-hero {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .86fr);
        gap: 30px;
    }
}

@media (max-width: 850px) {
    .pg-home .pg-hero {
        grid-template-columns: 1fr;
    }

    .pg-home .pg-hero-illustration {
        width: min(100%, 680px);
        margin: 8px auto 0;
    }
}

@media (max-width: 650px) {
    .pg-home .pg-hero-illustration {
        width: calc(100% + 22px);
        margin-left: -11px;
    }
}


/* ==========================================================
   PHOTOGAMES V3.7 — AJUSTEMENTS ACCUEIL CIBLÉS
   ========================================================== */
.pg-home .pg-section h2,
.pg-home .pg-final-cta h2 {
    font-size: clamp(2.05rem, 4.1vw, 3.75rem);
}

.pg-home .pg-game-card { min-height: 390px; }
.pg-home .pg-game-logo-wrap { height: 150px; padding: 18px 22px 4px; }
.pg-home .pg-game-logo-wrap img { max-height: 104px; }
.pg-home .pg-game-content { padding: 4px 26px 24px; }
.pg-home .pg-game-content a { padding-top: 18px; }

.pg-pricing-grid-v2 { gap: 20px; }
.pg-price-v2 {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 30px;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.pg-price-v2:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.2); box-shadow: 0 24px 55px rgba(0,0,0,.24); }
.pg-price-audience { color: #8f99b7; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pg-price-v2 h3 { margin-top: 11px; font-size: 1.3rem; }
.pg-price-v2 strong { margin: 16px 0 10px; font-size: 2.05rem; }
.pg-price-v2 p { min-height: 68px; }
.pg-price-v2 ul { display: grid; gap: 9px; margin: 20px 0 24px; padding: 0; list-style: none; color: #c2c9dc; font-size: .82rem; }
.pg-price-v2 li { display: flex; align-items: center; gap: 8px; }
.pg-price-v2 li i { color: #77e2f2; }
.pg-price-v2 > a { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #c5baff; font-size: .82rem; font-weight: 800; text-decoration: none; }
.pg-price-featured.pg-price-v2 { transform: translateY(-8px); }
.pg-price-featured.pg-price-v2:hover { transform: translateY(-13px); }

.pg-benefits-section-v2 { padding: 54px 0 62px; }
.pg-benefits-panel {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 28px;
    background: radial-gradient(circle at 8% 0, rgba(34,211,238,.1), transparent 34%), linear-gradient(145deg, rgba(19,24,54,.92), rgba(10,13,33,.96));
    box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.pg-benefits-intro { display: grid; grid-template-columns: .7fr 1.3fr; column-gap: 34px; align-items: end; margin-bottom: 26px; }
.pg-benefits-intro .pg-eyebrow { grid-column: 1; }
.pg-benefits-intro h2 { grid-column: 1; margin-bottom: 0; }
.pg-benefits-intro p { grid-column: 2; grid-row: 1 / span 2; max-width: 560px; margin: 0; color: #9da6c0; line-height: 1.7; }
.pg-benefits-section-v2 .pg-benefits > div { min-height: 132px; background: rgba(255,255,255,.035); }

.pg-footer-brand img { width: min(100%, 310px); }

@media (max-width: 850px) {
    .pg-price-featured.pg-price-v2, .pg-price-featured.pg-price-v2:hover { transform: none; }
    .pg-benefits-intro { grid-template-columns: 1fr; }
    .pg-benefits-intro .pg-eyebrow, .pg-benefits-intro h2, .pg-benefits-intro p { grid-column: 1; grid-row: auto; }
    .pg-benefits-intro p { margin-top: 14px; }
}
@media (max-width: 560px) {
    .pg-home .pg-section h2, .pg-home .pg-final-cta h2 { font-size: 2.2rem; }
    .pg-home .pg-game-card { min-height: 350px; }
    .pg-benefits-panel { padding: 24px 20px; border-radius: 22px; }
}

/* ==========================================================
   PHOTOGAMES V3.9 — ANNUAIRE PUBLIC DES LOUEURS
   Styles isolés au site public pour conserver l’administration claire.
   ========================================================== */
.pg-site .directory-search {
    max-width: 760px;
    margin: 34px auto 0;
    text-align: left;
}

.pg-site .directory-search label {
    margin-bottom: 10px;
    color: #eef1ff;
    font-size: .82rem;
    font-weight: 800;
}

.pg-site .directory-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.045);
    box-shadow: 0 18px 45px rgba(0,0,0,.2);
}

.pg-site .directory-search input {
    min-height: 50px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 13px;
    outline: 0;
    background: rgba(5,7,22,.82);
    color: #fff;
    font-family: inherit;
}

.pg-site .directory-search input::placeholder { color: #737d9c; }
.pg-site .directory-search input:focus {
    border-color: rgba(139,92,246,.75);
    box-shadow: 0 0 0 4px rgba(139,92,246,.12);
}

.pg-site .directory-results-head {
    margin-bottom: 24px;
    color: #eef1ff;
}

.pg-site .directory-results-head h2 { margin: 0; color: #fff; }
.pg-site .directory-results-head p { margin: 6px 0 0; color: #929cb8; }

.pg-site .directory-status {
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.055);
    color: #aeb6d2;
}

.pg-site .directory-status.is-visible {
    border-color: rgba(34,197,94,.22);
    background: rgba(34,197,94,.11);
    color: #86efac;
}

.pg-site .provider-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.pg-site .provider-card,
.pg-site .provider-main-card,
.pg-site .provider-contact-card,
.pg-site .directory-empty {
    border: 1px solid rgba(255,255,255,.105);
    border-radius: 25px;
    background: linear-gradient(150deg, rgba(22,26,57,.94), rgba(11,14,35,.97));
    color: #dce1f3;
    box-shadow: 0 22px 55px rgba(0,0,0,.24);
}

.pg-site .provider-card {
    min-height: 260px;
    padding: 25px;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.pg-site .provider-card:hover {
    border-color: rgba(139,92,246,.4);
    transform: translateY(-5px);
    box-shadow: 0 30px 65px rgba(0,0,0,.32), 0 0 30px rgba(109,93,252,.08);
}

.pg-site .provider-card-logo,
.pg-site .provider-detail-logo {
    border-color: rgba(255,255,255,.12);
    background: linear-gradient(145deg, rgba(110,168,255,.18), rgba(139,92,246,.2));
    color: #c5baff;
}

.pg-site .provider-card-logo img,
.pg-site .provider-detail-logo img { background: #fff; }
.pg-site .provider-card h3,
.pg-site .provider-main-card h1,
.pg-site .provider-main-card h2,
.pg-site .provider-contact-card h2 { color: #fff; }
.pg-site .provider-location { color: #98a2bd; }
.pg-site .provider-location i { color: #7dd3fc; }
.pg-site .provider-card p { color: #aab2cc; }

.pg-site .provider-card-footer {
    padding-top: 19px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.pg-site .provider-card-footer a,
.pg-site .provider-back { color: #bca8ff; text-decoration: none; }
.pg-site .provider-card-footer a:hover,
.pg-site .provider-back:hover { color: #fff; }
.pg-site .provider-price { color: #fff; }

.pg-site .provider-activities span {
    border: 1px solid rgba(110,168,255,.16);
    background: rgba(110,168,255,.09);
    color: #9bc3ff;
}

.pg-site .provider-contact-card { top: 112px; }
.pg-site .provider-contact-card p,
.pg-site .provider-main-card p { color: #aab2cc; }

.pg-site .directory-empty {
    padding: 54px 30px;
    text-align: center;
}

.pg-site .directory-empty i {
    display: inline-grid;
    width: 66px;
    height: 66px;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 21px;
    background: rgba(139,92,246,.14);
    color: #bca8ff;
    font-size: 1.7rem;
}

.pg-site .pg-directory-cta {
    margin-top: 54px;
    padding: 44px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 30px;
    background: radial-gradient(circle at 85% 15%, rgba(236,72,153,.16), transparent 38%), linear-gradient(145deg, rgba(23,27,63,.96), rgba(11,14,35,.98));
    color: #fff;
    box-shadow: 0 24px 65px rgba(0,0,0,.24);
}

.pg-site .pg-directory-cta p { color: #aab2cc; }

@media (max-width: 900px) {
    .pg-site .provider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .pg-site .directory-search > div { grid-template-columns: 1fr; padding: 8px; }
    .pg-site .directory-search button { width: 100%; }
    .pg-site .provider-grid { grid-template-columns: 1fr; }
    .pg-site .provider-card { min-height: 0; }
    .pg-site .directory-results-head { align-items: flex-start; }
    .pg-site .pg-directory-cta { padding: 30px 22px; border-radius: 24px; }
}


/* ==========================================================
   PHOTOGAMES V4.0 — ANNUAIRE PUBLIC DES LOUEURS
   ========================================================== */
.pg-site .pg-directory-page,.pg-site .pg-provider-page{color:var(--pg-text)}
.pg-site .pg-directory-hero,.pg-site .pg-provider-hero{position:relative;overflow:hidden;padding:82px 0 68px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 12% 15%,rgba(34,211,238,.13),transparent 32%),radial-gradient(circle at 84% 10%,rgba(139,92,246,.18),transparent 35%),linear-gradient(180deg,rgba(15,19,48,.82),rgba(7,9,26,.2))}
.pg-site .pg-directory-hero-copy{max-width:860px;margin-inline:auto;text-align:center}
.pg-site .pg-directory-hero h1,.pg-site .pg-provider-hero h1{margin:15px 0 18px;color:#fff;font-size:clamp(2.8rem,6vw,5rem);font-weight:800;letter-spacing:-.055em;line-height:1}
.pg-site .pg-directory-hero-copy>p,.pg-site .pg-provider-hero p{margin:0;color:#aeb7d1;font-size:1.05rem;line-height:1.7}
.pg-site .directory-search{max-width:760px;margin:34px auto 0;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(16,20,43,.78);text-align:left;box-shadow:0 22px 55px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.pg-site .directory-search label{display:block;margin-bottom:9px;color:#dce1f3;font-size:.78rem;font-weight:800}
.pg-site .directory-search-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.pg-site .directory-search-field>i{position:absolute;top:50%;left:17px;z-index:2;color:#8f98b7;transform:translateY(-50%)}
.pg-site .directory-search input{width:100%;min-width:0;min-height:54px;padding:13px 17px 13px 46px;border:1px solid rgba(255,255,255,.13);border-radius:14px;outline:0;background:rgba(255,255,255,.055);color:#fff;font-family:inherit}
.pg-site .directory-search input::placeholder{color:#78829f}.pg-site .directory-search input:focus{border-color:#7b6cfb;box-shadow:0 0 0 4px rgba(123,108,251,.14)}
.pg-site .directory-search .pg-btn{min-height:54px}.pg-site .pg-directory-results,.pg-site .pg-provider-content{padding:68px 0 88px}
.pg-site .directory-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:28px}
.pg-site .directory-results-head h2{margin:7px 0 0;color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.035em}
.pg-site .directory-reset,.pg-site .provider-back{display:inline-flex;align-items:center;gap:8px;color:#aeb7d1;font-size:.82rem;font-weight:800;text-decoration:none}
.pg-site .directory-reset:hover,.pg-site .provider-back:hover{color:#fff}
.pg-site .provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pg-site .provider-card,.pg-site .provider-main-card,.pg-site .provider-contact-card,.pg-site .directory-empty{border:1px solid rgba(255,255,255,.1);background:linear-gradient(155deg,rgba(22,26,57,.96),rgba(12,15,37,.98));box-shadow:0 22px 55px rgba(0,0,0,.22)}
.pg-site .provider-card{display:flex;min-height:270px;flex-direction:column;justify-content:space-between;overflow:hidden;padding:26px;border-radius:24px;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.pg-site .provider-card:hover{border-color:rgba(139,92,246,.4);transform:translateY(-5px);box-shadow:0 28px 68px rgba(0,0,0,.32)}
.pg-site .provider-card-head{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px}
.pg-site .provider-card-logo,.pg-site .provider-detail-logo{display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(110,168,255,.18),rgba(139,92,246,.22));color:#fff;font-weight:900}
.pg-site .provider-card-logo{width:64px;height:64px;border-radius:18px;font-size:1.35rem}
.pg-site .provider-card-logo img,.pg-site .provider-detail-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pg-site .provider-location{display:inline-flex;align-items:center;gap:6px;color:#8fa1c3;font-size:.78rem;font-weight:700}.pg-site .provider-location i{color:#73dce9}
.pg-site .provider-card h3{margin:8px 0 7px;color:#fff;font-size:1.22rem;font-weight:800;line-height:1.3}.pg-site .provider-card-copy p{margin:0;color:#929db9;font-size:.82rem;line-height:1.55}
.pg-site .provider-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.pg-site .provider-card-price{display:grid;gap:3px}.pg-site .provider-card-price small{color:#747f9d;font-size:.68rem;font-weight:800;text-transform:uppercase}.pg-site .provider-card-price strong{color:#fff;font-size:.95rem}
.pg-site .provider-card-footer>a{display:inline-flex;align-items:center;gap:7px;color:#b9abff;font-size:.8rem;font-weight:800;text-decoration:none}.pg-site .provider-card-footer>a:hover{color:#fff}
.pg-site .directory-empty{max-width:650px;margin-inline:auto;padding:52px 30px;border-radius:26px;text-align:center}
.pg-site .directory-empty-icon{display:grid;width:70px;height:70px;place-items:center;margin:0 auto 20px;border-radius:22px;background:linear-gradient(145deg,#5c54db,#8b5cf6);color:#fff;font-size:1.65rem;box-shadow:0 14px 34px rgba(109,93,252,.28)}
.pg-site .directory-empty h3{margin:0;color:#fff;font-size:1.35rem}.pg-site .directory-empty p{margin:9px 0 24px;color:#9fa8c2}
.pg-site .pg-directory-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:54px;padding:36px 40px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:radial-gradient(circle at 100% 0,rgba(236,72,153,.16),transparent 42%),linear-gradient(145deg,#171b3f,#0d1028);box-shadow:0 24px 60px rgba(0,0,0,.22)}
.pg-site .pg-directory-cta h2{margin:8px 0;color:#fff;font-size:clamp(1.6rem,3vw,2.35rem);letter-spacing:-.035em}.pg-site .pg-directory-cta p{margin:0;color:#9fa8c2}
.pg-site .provider-back{margin-bottom:30px}.pg-site .provider-detail-heading{display:flex;align-items:center;gap:24px}
.pg-site .provider-detail-logo{width:108px;height:108px;flex:0 0 108px;border-radius:28px;font-size:2.4rem;box-shadow:0 18px 44px rgba(0,0,0,.25)}
.pg-site .pg-provider-hero h1{font-size:clamp(2.5rem,5vw,4.6rem)}.pg-site .provider-detail-heading p i{color:#73dce9}
.pg-site .provider-detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start;gap:26px}
.pg-site .provider-main-card,.pg-site .provider-contact-card{padding:30px;border-radius:25px}.pg-site .provider-main-card{display:grid;gap:0}
.pg-site .provider-info-section{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pg-site .provider-info-section:first-child{padding-top:0}.pg-site .provider-info-section:last-child{padding-bottom:0;border-bottom:0}
.pg-site .provider-section-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:rgba(110,168,255,.12);color:#73dce9;font-size:1.1rem}
.pg-site .provider-main-card h2,.pg-site .provider-contact-card h2{margin:0 0 10px;color:#fff;font-size:1.15rem;font-weight:800}
.pg-site .provider-main-card p,.pg-site .provider-contact-card p{margin:0;color:#9fa8c2;line-height:1.7}
.pg-site .provider-activities{display:flex;flex-wrap:wrap;gap:9px}.pg-site .provider-activities span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(139,92,246,.22);border-radius:999px;background:rgba(139,92,246,.1);color:#c7bcff;font-size:.78rem;font-weight:800}
.pg-site .provider-contact-card{position:sticky;top:120px}.pg-site .provider-price{display:block;margin:8px 0 16px;color:#fff;font-size:1.8rem;font-weight:800}
.pg-site .provider-contact-actions{display:grid;gap:11px;margin-top:24px}.pg-site .provider-contact-actions .pg-btn{width:100%}
.pg-site .provider-phone{display:flex;min-height:48px;align-items:center;justify-content:center;gap:9px;color:#c9d0e5;font-weight:800;text-decoration:none}.pg-site .provider-phone:hover{color:#fff}
@media(max-width:950px){.pg-site .provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-site .provider-detail-grid{grid-template-columns:1fr}.pg-site .provider-contact-card{position:static}}
@media(max-width:680px){.pg-site .pg-directory-hero,.pg-site .pg-provider-hero{padding:56px 0 48px}.pg-site .pg-directory-hero h1{font-size:2.9rem}.pg-site .directory-search{padding:14px;border-radius:18px}.pg-site .directory-search-field{grid-template-columns:1fr}.pg-site .directory-search-field>i{top:27px;transform:translateY(-50%)}.pg-site .directory-search .pg-btn{width:100%}.pg-site .pg-directory-results,.pg-site .pg-provider-content{padding:48px 0 64px}.pg-site .directory-results-head,.pg-site .provider-card-footer,.pg-site .pg-directory-cta{align-items:stretch;flex-direction:column}.pg-site .provider-grid{grid-template-columns:1fr}.pg-site .provider-card{min-height:0}.pg-site .pg-directory-cta{padding:28px 23px}.pg-site .pg-directory-cta .pg-btn{width:100%}.pg-site .provider-detail-heading{align-items:flex-start;gap:16px}.pg-site .provider-detail-logo{width:76px;height:76px;flex-basis:76px;border-radius:21px}.pg-site .pg-provider-hero h1{margin-top:10px;font-size:2.25rem}.pg-site .provider-main-card,.pg-site .provider-contact-card{padding:23px 20px;border-radius:22px}.pg-site .provider-info-section{grid-template-columns:40px minmax(0,1fr);gap:13px}.pg-site .provider-section-icon{width:40px;height:40px;border-radius:13px}}
