/* ============================================================
   main.css — Styles complémentaires UPC Theme
   Chargé après style.css
   ============================================================ */

/* ── FOOTER WRAP ── */
.upc-footer-wrap {
  margin-top: 48px;
  background: var(--bg);
}

/* ── PAGE CONTENT — styles WP editor ── */
.upc-page-content h2 { margin: 40px 0 16px; }
.upc-page-content h3 { margin: 28px 0 12px; }
.upc-page-content p  { margin-bottom: 16px; }
.upc-page-content ul,
.upc-page-content ol { margin: 16px 0 16px 24px; }
.upc-page-content ul li { list-style: disc; margin-bottom: 8px; }
.upc-page-content ol li { list-style: decimal; margin-bottom: 8px; }
.upc-page-content a { color: var(--violet); text-decoration: underline; }
.upc-page-content img { border-radius: var(--r-lg); margin: 24px 0; }
.upc-page-content blockquote {
  border-left: 4px solid var(--violet);
  padding: 16px 20px;
  margin: 24px 0;
  background: var(--violet-l);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-style: italic;
  color: var(--violet-d);
}

/* ── BURGER MOBILE ── */
.upc-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  border-radius: var(--r-sm);
  box-shadow: var(--neu-sm);
}
.upc-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text-1);
  border-radius: 2px;
  transition: all .3s;
}
.upc-burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.upc-burger.open span:nth-child(2) { opacity: 0; }
.upc-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ── MENU MOBILE ── */
.upc-mobile-menu {
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 20px 24px;
  background: var(--bg);
  box-shadow: 0 8px 24px rgba(200,202,212,.8);
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  z-index: 199;
  border-bottom-left-radius: var(--r-lg);
  border-bottom-right-radius: var(--r-lg);
}
.upc-mobile-menu.open { display: flex; }

/* ── NAV active state depuis WP ── */
.upc-nav-link.current-menu-item,
.upc-nav-link.current_page_item {
  color: var(--violet);
  font-weight: 700;
  box-shadow: var(--neu-sm);
}

/* ── FORMULAIRES WP NATIFS ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select {
  font-family: var(--f);
  font-size: 15px;
  color: var(--text-1);
  background: var(--bg);
  border: none;
  border-radius: var(--r-md);
  box-shadow: var(--neu-inset);
  padding: 12px 16px;
  width: 100%;
  outline: none;
  transition: box-shadow .2s;
}
input:focus,
textarea:focus,
select:focus {
  box-shadow: var(--neu-inset-act);
}
input::placeholder,
textarea::placeholder { color: var(--text-3); }

label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-1);
  margin-bottom: 6px;
}

/* ── NOTIFICATIONS ── */
.upc-notice {
  padding: 14px 18px;
  border-radius: var(--r-md);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
}
.upc-notice-success {
  background: var(--green-l);
  color: var(--green-d);
}
.upc-notice-error {
  background: var(--pink-l);
  color: var(--pink);
}
.upc-notice-info {
  background: var(--violet-l);
  color: var(--violet-d);
}
.upc-notice-warning {
  background: var(--orange-l);
  color: var(--orange-d);
}

/* ── BADGES DE STATUT ── */
.upc-status {
  display: inline-block;
  padding: 3px 12px;
  border-radius: var(--r-pill);
  font-size: 11px;
  font-weight: 700;
}
.upc-status-actif    { background: var(--green-l);  color: var(--green-d); }
.upc-status-attente  { background: var(--orange-l); color: var(--orange-d); }
.upc-status-inactif  { background: #e5e7eb;         color: #6b7280; }
.upc-status-suspendu { background: var(--pink-l);   color: var(--pink); }

/* ── LOADERS ── */
.upc-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid var(--violet-l);
  border-top-color: var(--violet);
  border-radius: 50%;
  animation: upc-spin .7s linear infinite;
  display: inline-block;
}
@keyframes upc-spin { to { transform: rotate(360deg); } }

/* ── RESPONSIVE MOBILE ── */
@media (max-width: 680px) {
  .upc-burger { display: flex; }
  .upc-footer { flex-direction: column; gap: 12px; text-align: center; }
  .btn-row { grid-template-columns: 1fr; }
}

/* ── SURCHARGE BOUTONS — forcer couleurs correctes ── */

/* Par défaut tous les boutons non classés → orange */
.btn:not(.btn-violet):not(.btn-green):not(.btn-orange):not(.btn-ghost) {
  background: var(--orange);
  color: #fff !important;
  box-shadow: 3px 3px 10px rgba(240,125,0,.42), -2px -2px 6px rgba(255,255,255,.7);
}

/* Forcer couleur texte sur tous les boutons colorés */
.btn-violet,
.btn-violet:hover,
.btn-violet:visited { color: #fff !important; text-decoration: none; }

.btn-orange,
.btn-orange:hover,
.btn-orange:visited { color: #fff !important; text-decoration: none; }

.btn-green,
.btn-green:hover,
.btn-green:visited  { color: #fff !important; text-decoration: none; }

.btn-ghost,
.btn-ghost:hover,
.btn-ghost:visited  { color: var(--text-2) !important; text-decoration: none; }

/* Neutraliser le style global <a> sur les boutons */
.btn { text-decoration: none !important; display: inline-block; }

/* Contenu WP — boutons natifs Gutenberg → orange */
.wp-block-button__link {
  background: var(--orange) !important;
  color: #fff !important;
  border-radius: var(--r-md) !important;
  font-family: var(--f) !important;
  font-weight: 800 !important;
  border: none !important;
  box-shadow: 3px 3px 10px rgba(240,125,0,.42) !important;
}
.wp-block-button__link:hover {
  transform: translateY(-1px);
  color: #fff !important;
}

/* Lien global — ne pas écraser les boutons */
a:not(.btn):not(.upc-nav-link):not(.upc-nav-cta):not(.upc-login-btn):not(.upc-nav-logo) {
  color: var(--violet);
}

/* ── LOGO SVG nav ── */
.upc-nav-logo svg {
    display: block;
    flex-shrink: 0;
}
/* Désactiver l'ancienne orbe si elle existe encore */
.upc-logo-orb { display: none; }
