/* DRC GAMES WEEK — billetterie : cartes des catégories, quantité, détenteurs
   à la commande, billets du client. Complète les styles du thème (.billets, .billet). */

/* Cartes des catégories */
.elementor-widget.billets-dynamiques, .billets-dynamiques .elementor-shortcode { width: 100%; }
.dgw-billets { margin-top: 8px; }
.dgw-billet { overflow: visible; }
.dgw-billet::before { content: ''; position: absolute; left: 24px; right: 24px; top: 0; height: 4px; border-radius: 0 0 4px 4px; background: var(--dgw-accent, #7C3AED); }
.dgw-billet .billet-nom { margin-bottom: 10px; }
.dgw-billet.billet-vedette .billet-type { color: var(--dgw-accent, #A78BFA); }
.dgw-billet.billet-vedette .billet-ruban { background: var(--dgw-accent, #7C3AED); color: #0D0B16; box-shadow: 0 8px 24px -8px var(--dgw-accent, #7C3AED); }
.dgw-cat-solidarite:not(.billet-vedette) .billet-type::after { content: ' ♥'; color: #EF233C; }
.dgw-billet .billet-prix-montant, .dgw-billet .billet-prix-montant .amount, .dgw-billet .billet-prix-montant bdi { font-size: 40px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.dgw-billet .billet-prix-montant.dgw-a-venir { font-size: 30px; }
.dgw-stock { margin: -10px 0 18px; font-size: 14px; font-weight: 600; color: #EF233C; }
.billet-vedette .dgw-stock { color: #FCA5A5; }
.dgw-achat { margin-top: auto; display: grid; gap: 14px; }
.dgw-quantite { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14.5px; font-weight: 600; }
.dgw-quantite-champ { display: inline-flex; align-items: center; border: 1px solid rgba(13, 11, 22, .18); border-radius: 12px; overflow: hidden; }
.billet-vedette .dgw-quantite-champ { border-color: rgba(245, 243, 250, .3); }
.dgw-quantite-champ button { width: 42px; height: 44px; border: 0; background: transparent; color: inherit; font: 700 20px/1 inherit; cursor: pointer; }
.dgw-quantite-champ button:hover { background: rgba(124, 58, 237, .12); }
.dgw-quantite-champ input { width: 52px; height: 44px; border: 0; background: transparent; color: inherit; font: 700 17px/1 inherit; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.dgw-quantite-champ input::-webkit-outer-spin-button, .dgw-quantite-champ input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dgw-achat .btn { width: 100%; }
.dgw-etat-vente { margin: auto 0 0; padding: 14px; border-radius: 12px; text-align: center; font-weight: 700; background: rgba(13, 11, 22, .06); }
.billet-vedette .dgw-etat-vente { background: rgba(245, 243, 250, .1); }
.dgw-etat-complet { color: #B91C1C; }

/* Validité et choix de la journée (cartes des catégories) */
.dgw-validite { margin: -6px 0 18px; font-size: 14.5px; color: #4A4462; }
.dgw-validite b { color: #0D0B16; }
.billet-vedette .dgw-validite { color: rgba(245, 243, 250, .75); }
.billet-vedette .dgw-validite b { color: #F5F3FA; }
.dgw-jours { margin: 0; padding: 0; border: 0; min-width: 0; }
.dgw-jours legend { padding: 0; margin: 0 0 8px; font-size: 14.5px; font-weight: 700; }
.dgw-requis { font-weight: 500; opacity: .7; }
.dgw-jours-choix { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.dgw-jour { position: relative; display: block; cursor: pointer; }
.dgw-jour input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.dgw-jour > span { display: grid; gap: 1px; padding: 10px 12px; border: 2px solid rgba(13, 11, 22, .16); border-radius: 12px; text-align: center; transition: border-color .15s, background-color .15s; }
.dgw-jour b { font-size: 16px; font-weight: 800; }
.dgw-jour small { font-size: 13px; opacity: .75; }
.dgw-jour:hover > span { border-color: var(--dgw-accent, #7C3AED); }
.dgw-jour input:checked + span { border-color: var(--dgw-accent, #7C3AED); background: color-mix(in srgb, var(--dgw-accent, #7C3AED) 14%, transparent); box-shadow: inset 0 0 0 1px var(--dgw-accent, #7C3AED); }
.dgw-jour input:checked + span b::before { content: '✓ '; }
.dgw-jour input:focus-visible + span { outline: 3px solid #22D3EE; outline-offset: 2px; }
.billet-vedette .dgw-jour > span { border-color: rgba(245, 243, 250, .3); }
.dgw-jour-deux { grid-column: 1 / -1; }
.dgw-jour-deux small, .dgw-jour-deux small .amount { font-weight: 700; opacity: 1; }
.dgw-jour-choisi { margin: 8px 0 0; font-size: 13.5px; font-weight: 600; color: #4A4462; }
.dgw-jour-choisi.est-choisi { color: #0D0B16; }
.billet-vedette .dgw-jour-choisi { color: rgba(245, 243, 250, .8); }
.billet-vedette .dgw-jour-choisi.est-choisi { color: #F5F3FA; }
.dgw-jours.est-manquant .dgw-jour > span { border-color: #EF233C; }
.dgw-jours.est-manquant .dgw-jour-choisi { color: #EF233C; }

/* Récapitulatif des journées et validité (commande, billets du client) */
.dgw-recap-jours { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 8px; }
.dgw-recap-jours li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 12px 14px; border-radius: 12px; background: #fff; border-left: 4px solid #7C3AED; }
.dgw-recap-jours span { font-weight: 700; color: #4C1D95; }
.dgw-validite-billet { display: block; font-weight: 700; }

/* Détenteurs des billets (page de commande) */
.dgw-detenteurs { margin: 28px 0; padding: 22px; border-radius: 16px; background: #F5F3FA; border: 1px solid rgba(124, 58, 237, .25); color: #0D0B16; }
.dgw-detenteurs h3 { margin: 0 0 6px; }
.dgw-detenteurs .dgw-aide { margin: 0 0 14px; font-size: 14.5px; color: #4A4462; }
.dgw-detenteur { margin: 0 0 14px; padding: 14px 16px 4px; border: 1px solid rgba(13, 11, 22, .12); border-radius: 12px; background: #fff; }
.dgw-detenteur legend { padding: 0 6px; font-weight: 700; color: #7C3AED; }
.dgw-detenteur .form-row { margin-bottom: 10px; }
.dgw-detenteur label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.dgw-detenteur input { width: 100%; min-height: 44px; }

/* Billets du client (confirmation, compte) */
.dgw-mes-billets .billets-merci li { position: relative; }
.dgw-mes-billets .billets-merci .btn { width: 100%; }
.dgw-pastille-statut { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--dgw-statut); background: color-mix(in srgb, var(--dgw-statut) 14%, transparent); }
.billet-qr .dgw-pastille-statut { color: #fff; background: var(--dgw-statut); }
.billet-qr .billet-code { white-space: normal; overflow-wrap: anywhere; }
.dgw-attente-billets { padding: 18px; border-radius: 12px; background: #FFF7E6; color: #5B3B00; }
.billet-actions .btn-plein + .btn-plein { margin-left: 0; }

@media (max-width: 600px) {
	.dgw-detenteurs { padding: 16px; }
	.woocommerce .dgw-detenteur .form-row-first, .woocommerce .dgw-detenteur .form-row-last, .dgw-detenteur .form-row-first, .dgw-detenteur .form-row-last { width: 100% !important; float: none !important; }
}
