/* =====================================================
   GALA — COUCHE RESPONSIVE GLOBALE DES SHORTCODES
   Chargée après danse-attitude-checkout.css sur tout le front.
   Objectif : rendu soigné et utilisable sur mobile/tablette
   (lecteur vidéo, modales checkout/connexion, formulaires,
   boutons, espace membre, formulaire démo).
   ===================================================== */

/* ---------- LECTEUR VIDÉO SÉCURISÉ ---------- */
.da-secure-video-container {
    position: relative;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

/* Picto play central : taille fluide (fini le bouton géant sur mobile) */
.big-play-btn {
    width: clamp(48px, 9vw, 70px) !important;
    height: clamp(48px, 9vw, 70px) !important;
}
.big-play-btn svg {
    width: clamp(20px, 4vw, 32px) !important;
    height: clamp(20px, 4vw, 32px) !important;
}

/* Bouton Caster (même famille visuelle que play/fullscreen) */
.cast-btn {
    background: #ffffff;
    border: none;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background 0.2s ease;
    flex-shrink: 0;
}
.cast-btn svg { width: 20px; height: 20px; fill: #000; }
.cast-btn:hover { transform: scale(1.05); background: #e0e0e0; }
.cast-btn[hidden] { display: none !important; }
.da-secure-video-container.is-casting .cast-btn { background: var(--da-accent-1, #ff5f6d); }
.da-secure-video-container.is-casting .cast-btn svg { fill: #fff; }

/* Barre de contrôle compacte sur mobile + toujours visible au tactile */
@media (max-width: 640px) {
    .player-controls {
        padding: 10px !important;
        gap: 8px !important;
    }
    .play-btn, .fullscreen-btn, .cast-btn {
        width: 34px !important;
        height: 34px !important;
    }
    .play-btn svg, .fullscreen-btn svg, .cast-btn svg {
        width: 16px !important;
        height: 16px !important;
    }
    .time-text { font-size: 11px !important; }
}
@media (hover: none) {
    /* Écrans tactiles : pas de survol → contrôles visibles */
    .da-secure-video-container .player-controls { opacity: 1 !important; }
}

/* Curseur de lecture confortable au doigt */
#seek-bar, .timeline-container input[type="range"] {
    width: 100%;
    min-height: 22px;
    accent-color: var(--da-accent-1, #ff5f6d);
    touch-action: none;
}

/* Encarts vidéo verrouillée / paiement en attente */
.danse-attitude-video-locked {
    max-width: 560px;
    margin: 0 auto;
    padding: clamp(20px, 5vw, 36px);
    text-align: center;
    background: #f7f7f7;
    border-radius: 14px;
}
.danse-attitude-lock-icon { font-size: clamp(28px, 6vw, 40px); display: block; margin-bottom: 10px; }

/* ---------- MODALES (checkout + connexion) ---------- */
@media (max-width: 640px) {
    #da-login-modal,
    .da-login-modal,
    .danse-attitude-checkout-modal,
    .danse-attitude-cart-panel {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: 92dvh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        border-radius: 14px !important;
    }
    .danse-attitude-field-row { flex-direction: column !important; gap: 0 !important; }
}

/* iOS : police ≥16px dans les champs = pas de zoom automatique au focus */
.danse-attitude-field input,
.danse-attitude-field select,
.danse-attitude-field textarea,
.da-demo-field input {
    font-size: 16px !important;
}

/* ---------- BOUTONS : confort tactile (44px minimum) ---------- */
.danse-attitude-btn,
.da-buy-now,
.da-login-btn,
.da-demo-submit,
.danse-attitude-btn-primary {
    min-height: 44px;
    line-height: 1.2;
}
@media (max-width: 480px) {
    .da-buy-now,
    .danse-attitude-btn-primary {
        width: 100%;
        display: block;
        text-align: center;
        box-sizing: border-box;
    }
}

/* ---------- FORMULAIRE DÉMO ---------- */
@media (max-width: 560px) {
    .da-demo-form { padding: 18px !important; border-radius: 12px !important; }
    .da-demo-form-title { font-size: 19px !important; }
}

/* ---------- ESPACE MEMBRE ([mon_espace]) ---------- */
@media (max-width: 720px) {
    .da-espace-tabs, .danse-attitude-auth-tabs { flex-wrap: wrap; }
    .da-espace-table, .da-orders-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .da-meta-value { word-break: break-word; }
}

/* ---------- DIVERS ---------- */
img, video { max-width: 100%; height: auto; }
.da-video-prix { font-size: clamp(18px, 4vw, 26px); font-weight: 700; }
