/* ============================================================
   JmShop — Thème Violet / Indigo — Couverture complète WHMCS
   Palette principale :
     Violet primaire  : #6C63FF
     Indigo foncé     : #4338CA / #312E81 / #1E1B4B
     Violet clair     : #818CF8 / #A78BFA / #C4B5FD
     Fond pastel      : #F4F2FF / #FAF9FF / #EDE9FE
     Texte principal  : #0F172A
     Texte secondaire : #334155 / #475569
     Bordure          : #E8E5FF / #E2E8F0
   ============================================================ */


/* ============================================================
   1. BASE — BODY & FOND
   ============================================================ */
body {
  background-color: #F4F2FF !important;
  font-family: 'Inter', sans-serif;
}

section.ptb-100,
section.bg-white {
  background-color: #F4F2FF !important;
}


/* ============================================================
   2. TYPOGRAPHIE GLOBALE
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  color: #0F172A !important;
}

/* Texte courant sur fonds clairs */
body,
p,
span,
li:not(.tt-footer li),
td, th,
label,
.text-muted,
.lead:not(.tt-hero p),
.card-title,
.primary-content,
.sidebar,
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-item.active {
  color: #0F172A !important;
}

/* Liens globaux */
a:not(.btn) {
  color: #6C63FF !important;
}
a:not(.btn):hover {
  color: #4338CA !important;
}

/* Read more */
.tt-read-more {
  color: #6C63FF;
  transition: all 0.3s ease;
}
.tt-read-more:hover {
  color: #4338CA;
  margin-left: 4px;
}

/* Badge colors */
.color-1     { color: #6C63FF !important; }
.color-1-bg  { background-color: #EDE9FE !important; }


/* ============================================================
   3. HERO & GRADIENTS
   ============================================================ */
.bg-gradient {
  background: linear-gradient(135deg, #6C63FF 0%, #A78BFA 50%, #C4B5FD 100%) !important;
}

section.bg-gradient.pt-60 {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 50%, #A78BFA 100%) !important;
}

.tt-hero {
  animation: fadeInUp 0.8s ease-out;
}
.tt-hero,
.tt-hero h1,
.tt-hero p,
.tt-hero span,
.tt-hero .lead {
  color: #FFFFFF !important;
}
.tt-hero h1 {
  font-size: 2.5rem;
  line-height: 1.2;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   4. NAVBAR & HEADER
   ============================================================ */
/* Navbar au scroll */
.tt-header.affix {
  background-color: rgba(244, 242, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 20px rgba(108, 99, 255, 0.1);
}

/* Page header (bandeau titre de page) */
.tt-page-header {
  background: linear-gradient(135deg, #4338CA 0%, #6C63FF 100%) !important;
}
.tt-page-header h1,
.tt-page-header .h3,
.tt-page-header p,
.tt-page-header .tt-breadcrumb,
.tt-page-header .breadcrumb-item,
.tt-page-header .breadcrumb-item a,
.tt-page-header .breadcrumb-item.active,
.tt-page-header .breadcrumb-item + .breadcrumb-item::before {
  color: #FFFFFF !important;
}

/* Breadcrumb sur fond clair */
.breadcrumb {
  background-color: transparent;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: #818CF8;
}


/* ============================================================
   5. SECTIONS SOMBRES (.bg-dark)
   ============================================================ */
.bg-dark {
  background: linear-gradient(135deg, #312E81 0%, #1E1B4B 100%) !important;
}
.bg-dark,
.bg-dark h2,
.bg-dark h3,
.bg-dark p,
.bg-dark span,
.bg-dark a {
  color: #FFFFFF !important;
}
.bg-dark a.tt-read-more {
  color: #A78BFA !important;
}

/* Domain search section */
.home-domain-search .bg-dark {
  background: linear-gradient(135deg, #4338CA 0%, #6C63FF 100%) !important;
}

/* Service cards dans sections sombres */
.tt-service-single {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--custom-radius, 0.75rem);
  padding: 1.5rem;
  transition: all 0.3s ease;
}
.tt-service-single:hover {
  background: rgba(255, 255, 255, 0.14);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}


/* ============================================================
   6. FOOTER
   ============================================================ */
.tt-footer {
  background: linear-gradient(180deg, #1E1B4B 0%, #312E81 100%) !important;
}
.tt-footer,
.tt-footer p,
.tt-footer span,
.tt-footer a,
.tt-footer h5,
.tt-footer h6,
.tt-footer li,
.tt-footer .text-muted {
  color: #E2E8F0 !important;
}
.tt-footer a:hover {
  color: #FFFFFF !important;
}
.tt-footer .copyright {
  color: #94A3B8 !important;
}
.tt-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


/* ============================================================
   7. CARTES, MODALS, DROPDOWNS, LIST GROUPS
   ============================================================ */
.tt-price-single,
.tt-testimonial-item,
.tt-promo,
.tt-account,
.bg-white,
.card,
.dropdown-menu,
.modal-content,
.list-group-item {
  background-color: #FAF9FF !important;
  border: 1px solid #E8E5FF !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.tt-price-single:hover,
.tt-testimonial-item:hover,
.tt-promo:hover,
.tt-account:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -8px rgba(108, 99, 255, 0.15);
  border-color: #C4B5FD !important;
  background-color: #F3F1FE !important;
}

/* Modal header/footer */
.modal-header {
  border-bottom: 1px solid #E8E5FF !important;
  background: linear-gradient(135deg, #F4F2FF 0%, #EDE9FE 100%);
}
.modal-footer {
  border-top: 1px solid #E8E5FF !important;
}
.modal-title {
  color: #0F172A !important;
  font-weight: 600;
}
.close, .btn-close {
  color: #6C63FF !important;
}


/* ============================================================
   8. BOUTONS
   ============================================================ */
/* Primaire */
.btn-primary,
.btn-primary:focus {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(108, 99, 255, 0.3);
  transition: all 0.3s ease;
  color: #FFFFFF !important;
}
.btn-primary:hover,
.btn-primary:active {
  background: linear-gradient(135deg, #4338CA 0%, #6C63FF 100%) !important;
  box-shadow: 0 6px 20px rgba(108, 99, 255, 0.4) !important;
  transform: translateY(-2px);
  color: #FFFFFF !important;
}

/* Succès → violet */
.btn-success,
.btn-success.disabled,
.btn-success:disabled {
  background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%) !important;
  border: none !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3) !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
  background: linear-gradient(135deg, #7C3AED 0%, #8B5CF6 100%) !important;
  box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4) !important;
  transform: translateY(-2px);
  color: #FFFFFF !important;
}

/* Outline succès */
.btn-outline-success {
  color: #8B5CF6 !important;
  border-color: #8B5CF6 !important;
}
.btn-outline-success:hover {
  background-color: #8B5CF6 !important;
  color: #FFFFFF !important;
  border-color: #8B5CF6 !important;
}

/* Outline primaire */
.btn-outline-primary {
  color: #6C63FF !important;
  border-color: #6C63FF !important;
}
.btn-outline-primary:hover {
  background-color: #6C63FF !important;
  color: #FFFFFF !important;
}

/* Danger */
.btn-danger {
  background: linear-gradient(135deg, #EF4444 0%, #F87171 100%) !important;
  border: none !important;
  color: #FFFFFF !important;
}
.btn-danger:hover {
  background: linear-gradient(135deg, #DC2626 0%, #EF4444 100%) !important;
  transform: translateY(-1px);
  color: #FFFFFF !important;
}

/* Default / secondary */
.btn-default,
.btn-secondary {
  background-color: #F4F2FF;
  border: 1px solid #C4B5FD;
  color: #6C63FF;
}
.btn-default:hover,
.btn-secondary:hover {
  background-color: #EDE9FE;
  border-color: #818CF8;
  color: #4338CA;
}


/* ============================================================
   9. FORMULAIRES
   ============================================================ */
.form-control,
.prepended-form-control,
.appended-form-control,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]),
select,
textarea {
  background-color: #FAF9FF;
  border-color: #E2E8F0;
  color: #0F172A;
  border-radius: var(--custom-radius, 0.75rem);
}
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  background-color: #F3F1FE;
  border-color: #818CF8;
  box-shadow: 0 0 0 0.2rem rgba(108, 99, 255, 0.15);
}
.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: #94A3B8;
}

/* Input groups */
.input-group-text {
  background-color: #EDE9FE !important;
  border-color: #C4B5FD !important;
  color: #6C63FF !important;
}

/* Select2 (sélecteurs améliorés WHMCS) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background-color: #FAF9FF !important;
  border-color: #E2E8F0 !important;
  border-radius: var(--custom-radius, 0.75rem) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #0F172A !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #818CF8 transparent transparent transparent;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #818CF8 !important;
  box-shadow: 0 0 0 0.2rem rgba(108, 99, 255, 0.15) !important;
}
.select2-dropdown {
  background-color: #FAF9FF !important;
  border-color: #C4B5FD !important;
  border-radius: var(--custom-radius, 0.75rem) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #6C63FF !important;
  color: #FFFFFF !important;
}
.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: #EDE9FE !important;
  color: #4338CA !important;
}

/* Datepicker */
.datepicker table tr td.active:active,
.datepicker table tr td.active.highlighted:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active.highlighted.active {
  background-color: #6C63FF !important;
  border-color: #4338CA !important;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover {
  background-color: #EDE9FE !important;
  color: #4338CA !important;
}
.datepicker table tr td:hover,
.datepicker table tr th:hover {
  background-color: #F4F2FF !important;
}

/* Labels & form-text */
label {
  color: #334155 !important;
  font-weight: 500;
}
.form-text,
small.text-muted {
  color: #64748B !important;
}

/* Checkbox & radio personnalisés */
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #6C63FF !important;
  border-color: #6C63FF !important;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(108, 99, 255, 0.25) !important;
}


/* ============================================================
   10. TABLEAUX
   ============================================================ */
.table,
table {
  color: #0F172A !important;
}
.table thead th,
table thead th {
  background-color: #EDE9FE !important;
  color: #312E81 !important;
  border-bottom: 2px solid #C4B5FD !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.table tbody tr,
table tbody tr {
  border-bottom: 1px solid #E8E5FF !important;
  transition: background 0.15s ease;
}
.table tbody tr:hover,
table tbody tr:hover {
  background-color: #F4F2FF !important;
}
.table tbody td,
table tbody td {
  color: #334155 !important;
  vertical-align: middle;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(108, 99, 255, 0.03) !important;
}
.table-bordered,
.table-bordered td,
.table-bordered th {
  border-color: #E8E5FF !important;
}
.table-responsive {
  border-radius: var(--custom-radius, 0.75rem);
  border: 1px solid #E8E5FF;
}


/* ============================================================
   11. BADGES & STATUTS
   ============================================================ */
/* Succès → violet */
.badge-success,
.badge.badge-success,
span.badge-success {
  background-color: #EDE9FE !important;
  color: #6C63FF !important;
  border: 1px solid #C4B5FD;
}

/* Danger */
.badge-danger,
.badge.badge-danger {
  background-color: #FEE2E2 !important;
  color: #DC2626 !important;
}

/* Warning */
.badge-warning,
.badge.badge-warning {
  background-color: #FEF9C3 !important;
  color: #92400E !important;
}

/* Info → bleu-indigo */
.badge-info,
.badge.badge-info {
  background-color: #EDE9FE !important;
  color: #4338CA !important;
}

/* Primary */
.badge-primary,
.badge.badge-primary {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  color: #FFFFFF !important;
}

/* Secondary */
.badge-secondary,
.badge.badge-secondary {
  background-color: #F1F5F9 !important;
  color: #475569 !important;
}

/* Statuts WHMCS (Active, Suspended, Terminated...) */
.text-success,
.status-active { color: #6C63FF !important; }
.status-suspended { color: #F59E0B !important; }
.status-terminated,
.status-cancelled { color: #EF4444 !important; }
.status-pending { color: #818CF8 !important; }

/* Labels colorés WHMCS */
.label-success { background-color: #6C63FF !important; }
.label-danger   { background-color: #EF4444 !important; }
.label-warning  { background-color: #F59E0B !important; }
.label-info     { background-color: #4338CA !important; }


/* ============================================================
   12. ALERTES
   ============================================================ */
.alert-success {
  background-color: #EDE9FE !important;
  border-color: #C4B5FD !important;
  color: #4338CA !important;
}
.alert-info {
  background-color: #EFF6FF !important;
  border-color: #BFDBFE !important;
  color: #1E40AF !important;
}
.alert-warning {
  background-color: #FFFBEB !important;
  border-color: #FDE68A !important;
  color: #92400E !important;
}
.alert-danger {
  background-color: #FEF2F2 !important;
  border-color: #FECACA !important;
  color: #991B1B !important;
}
.alert-primary {
  background-color: #EDE9FE !important;
  border-color: #818CF8 !important;
  color: #312E81 !important;
}


/* ============================================================
   13. NAVIGATION (ONGLETS, PILLS)
   ============================================================ */
/* Nav tabs */
.nav-tabs {
  border-bottom: 2px solid #E8E5FF !important;
}
.nav-tabs .nav-link {
  color: #475569 !important;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}
.nav-tabs .nav-link:hover {
  color: #6C63FF !important;
  border-bottom-color: #C4B5FD;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #6C63FF !important;
  background-color: transparent !important;
  border-bottom: 2px solid #6C63FF !important;
  font-weight: 600;
}

/* Nav pills */
.nav-pills .nav-link {
  color: #475569 !important;
  border-radius: var(--custom-radius, 0.75rem);
  transition: all 0.2s ease;
}
.nav-pills .nav-link:hover {
  background-color: #F4F2FF;
  color: #6C63FF !important;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  color: #FFFFFF !important;
}

/* Sidebar nav (espace client) */
.sidebar .nav-link {
  color: #334155 !important;
  border-radius: var(--custom-radius, 0.75rem);
  transition: all 0.2s ease;
  padding: 0.5rem 1rem;
}
.sidebar .nav-link:hover {
  background-color: #EDE9FE !important;
  color: #6C63FF !important;
}
.sidebar .nav-link.active,
.sidebar .nav-link.active:hover {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(108, 99, 255, 0.2);
}


/* ============================================================
   14. PAGINATION
   ============================================================ */
.pagination .page-link {
  color: #6C63FF !important;
  background-color: #FAF9FF !important;
  border-color: #E8E5FF !important;
  transition: all 0.2s ease;
}
.pagination .page-link:hover {
  background-color: #EDE9FE !important;
  border-color: #C4B5FD !important;
  color: #4338CA !important;
}
.pagination .page-item.active .page-link {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  border-color: #6C63FF !important;
  color: #FFFFFF !important;
}
.pagination .page-item.disabled .page-link {
  background-color: #F4F2FF !important;
  border-color: #E8E5FF !important;
  color: #94A3B8 !important;
}


/* ============================================================
   15. PROGRESS BARS
   ============================================================ */
.progress {
  background-color: #E8E5FF !important;
  border-radius: var(--custom-radius, 0.75rem);
  overflow: hidden;
}
.progress-bar {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
}
.progress-bar.bg-success {
  background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 100%) !important;
}
.progress-bar.bg-danger {
  background: linear-gradient(135deg, #EF4444 0%, #F87171 100%) !important;
}
.progress-bar.bg-warning {
  background: linear-gradient(135deg, #F59E0B 0%, #FCD34D 100%) !important;
}


/* ============================================================
   16. PANELS & ACCORDÉONS
   ============================================================ */
.panel {
  border: 1px solid #E8E5FF !important;
  border-radius: var(--custom-radius, 0.75rem) !important;
  background-color: #FAF9FF !important;
  box-shadow: 0 2px 8px rgba(108, 99, 255, 0.05);
}
.panel-heading,
.panel-heading h3,
.panel-heading h4 {
  background: linear-gradient(135deg, #F4F2FF 0%, #EDE9FE 100%) !important;
  color: #312E81 !important;
  border-bottom: 1px solid #E8E5FF !important;
  border-radius: var(--custom-radius, 0.75rem) var(--custom-radius, 0.75rem) 0 0 !important;
  padding: 1rem 1.25rem;
  font-weight: 600;
}
.panel-body {
  padding: 1.25rem;
}
.panel-default > .panel-heading {
  background: linear-gradient(135deg, #F4F2FF 0%, #EDE9FE 100%) !important;
}
.panel-primary > .panel-heading {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  color: #FFFFFF !important;
  border-bottom-color: #4338CA !important;
}

/* Accordéon Bootstrap 5 */
.accordion-button {
  background-color: #F4F2FF !important;
  color: #312E81 !important;
  font-weight: 600;
}
.accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, #EDE9FE 0%, #F4F2FF 100%) !important;
  color: #6C63FF !important;
  box-shadow: inset 0 -1px 0 #C4B5FD !important;
}
.accordion-button::after {
  filter: hue-rotate(220deg) saturate(1.5);
}
.accordion-item {
  border-color: #E8E5FF !important;
  border-radius: var(--custom-radius, 0.75rem) !important;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.accordion-body {
  background-color: #FAF9FF !important;
  color: #334155 !important;
}


/* ============================================================
   17. INVOICES & FACTURES
   ============================================================ */
.invoice-box,
.invoice-wrapper {
  background-color: #FAF9FF !important;
  border: 1px solid #E8E5FF !important;
  border-radius: var(--custom-radius, 0.75rem);
}
.invoice-header {
  background: linear-gradient(135deg, #6C63FF 0%, #4338CA 100%) !important;
  color: #FFFFFF !important;
  border-radius: var(--custom-radius, 0.75rem) var(--custom-radius, 0.75rem) 0 0;
  padding: 1.5rem;
}
.invoice-total {
  background-color: #EDE9FE !important;
  color: #312E81 !important;
  font-weight: 700;
}
/* Statuts de paiement */
.invoice-paid,
.status-paid {
  color: #6C63FF !important;
  font-weight: 600;
}
.invoice-unpaid,
.status-unpaid {
  color: #EF4444 !important;
  font-weight: 600;
}
.invoice-overdue,
.status-overdue {
  color: #DC2626 !important;
  font-weight: 700;
}
.invoice-cancelled {
  color: #94A3B8 !important;
}


/* ============================================================
   18. TICKETS SUPPORT
   ============================================================ */
.ticket-reply,
.ticket-staff-reply {
  background-color: #EDE9FE !important;
  border-left: 4px solid #6C63FF !important;
  border-radius: 0 var(--custom-radius, 0.75rem) var(--custom-radius, 0.75rem) 0;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}
.ticket-client-reply {
  background-color: #FAF9FF !important;
  border-left: 4px solid #C4B5FD !important;
  border-radius: 0 var(--custom-radius, 0.75rem) var(--custom-radius, 0.75rem) 0;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}
.ticket-priority-low    { color: #6C63FF !important; }
.ticket-priority-medium { color: #F59E0B !important; }
.ticket-priority-high   { color: #EF4444 !important; }
.ticket-priority-urgent { color: #DC2626 !important; font-weight: 700; }

/* Statuts ticket */
.ticket-status-open     { color: #6C63FF !important; }
.ticket-status-answered { color: #8B5CF6 !important; }
.ticket-status-closed   { color: #94A3B8 !important; }


/* ============================================================
   19. ESPACE CLIENT — COMPTE, PRODUITS, SERVICES
   ============================================================ */
/* Cards compte client */
.tt-account {
  border-left: 4px solid #818CF8 !important;
}
.tt-account .ico-container i,
.tt-account i {
  color: #6C63FF !important;
}

/* Icônes de services */
.ico-container i,
.service-icon i {
  color: #6C63FF !important;
}

/* Accent promo cards */
.card-accent-teal       .ico-container i { color: #14B8A6; }
.card-accent-pomegranate .ico-container i { color: #F43F5E; }
.card-accent-sun-flower  .ico-container i { color: #F59E0B; }
.card-accent-asbestos    .ico-container i { color: #6366F1; }
.card-accent-green       .ico-container i { color: #8B5CF6; }

/* Pricing cards */
.tt-price-single .price {
  color: #6C63FF !important;
  font-weight: 700;
}
.tt-price-single .popular-badge {
  background: linear-gradient(135deg, #6C63FF 0%, #818CF8 100%) !important;
  color: #FFFFFF !important;
}
.tt-price-single .feature-check {
  color: #6C63FF !important;
}


/* ============================================================
   20. PAGE D'AUTHENTIFICATION (LOGIN / REGISTER)
   ============================================================ */
.tt-auth-wrap {
  background: linear-gradient(135deg, #F4F2FF 0%, #EDE9FE 100%) !important;
}


/* ============================================================
   21. SCROLLBAR
   ============================================================ */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F4F2FF; }
::-webkit-scrollbar-thumb {
  background: #C4B5FD;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: #6C63FF; }


/* ============================================================
   22. PAGES LÉGALES (Mentions, CGU/CGV, RGPD)
   ============================================================ */
.legal-section {
  padding: 60px 0 80px;
}

/* H1 : dégradé texte violet/indigo de la marque */
.legal-section h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid #E8E5FF;
  background: linear-gradient(135deg, #6C63FF 0%, #4338CA 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: #6C63FF !important;
}

/* H2 : accent violet */
.legal-section h2 {
  color: #6C63FF !important;
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: 600;
}

/* H3 : indigo sombre */
.legal-section h3 {
  color: #312E81 !important;
  margin-top: 1.25rem;
  margin-bottom: 0.6rem;
  font-size: 1.05rem;
  font-weight: 600;
}

/* Texte courant */
.legal-section p,
.legal-section ul li {
  color: #334155 !important;
  line-height: 1.85;
  margin-bottom: 0.5rem;
}
.legal-section ul {
  padding-left: 1.25rem;
  margin-bottom: 0;
}
.legal-section ul li {
  margin-bottom: 0.4rem;
}

/* Liens */
.legal-section a {
  color: #6C63FF !important;
  text-decoration: underline;
}
.legal-section a:hover {
  color: #4338CA !important;
}

/* Texte muted */
.legal-section .text-muted small {
  color: #94A3B8 !important;
  font-size: 0.82rem;
}

/* Cartes légales : fond pastel + accent gauche violet */
.legal-card {
  background: #FAF9FF !important;
  border: 1px solid #E8E5FF;
  border-left: 4px solid #818CF8;
  border-radius: var(--custom-radius, 0.75rem);
  padding: 2rem;
  margin-bottom: 1.5rem;
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
.legal-card:hover {
  box-shadow: 0 6px 24px rgba(108, 99, 255, 0.1);
  border-left-color: #6C63FF;
  transform: translateY(-2px);
}


/* ============================================================
   23. MASQUAGE DOMAINES
   ============================================================ */


/* ========================================== */
/* DOMAIN LINKS DEACTIVATION & HIDING RULES */
/* ========================================== */
/* Les règles de masquage des domaines ont été supprimées pour réactiver les domaines dans le thème. */