*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:#fff;color:#111}.topbar{width:min(1260px,94%);margin:0 auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between}.brand img{width:145px;display:block}nav{display:flex;gap:24px;align-items:center}nav a{color:#111;text-decoration:none;font-size:14px;font-weight:700}.hero{display:grid;place-items:center;text-align:center;padding:58px 18px 42px}.hero-inner{max-width:820px}.eyebrow{letter-spacing:8px;font-size:12px;color:#5d6470;margin:0 0 18px;text-transform:uppercase}.hero h1{font-size:clamp(42px,7vw,78px);line-height:1.05;margin:0;font-weight:900;letter-spacing:-3px}.subtitle{font-size:18px;line-height:1.75;color:#222;max-width:680px;margin:28px auto 34px}.btn{border:none;background:#9b75e8;color:white;padding:15px 28px;border-radius:999px;font-weight:900;text-decoration:none;display:inline-block;box-shadow:0 18px 44px rgba(155,117,232,.22);cursor:pointer}.btn-light{background:#fff;color:#111;border:1px solid rgba(0,0,0,.18);box-shadow:0 12px 32px rgba(255,255,255,.35)}.promo-banner{width:min(1260px,94%);min-height:430px;margin:0 auto 78px;border-radius:26px;border:1px solid #e8e8e8;overflow:hidden;position:relative;background:#f7f7f7;display:flex;align-items:center}.promo-soft-bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:blur(22px);transform:scale(1.08);opacity:.22}.promo-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center right;background:#fafafa}.promo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 32%,rgba(255,255,255,.50) 56%,rgba(255,255,255,.08) 100%)}.promo-content{position:relative;z-index:2;width:min(560px,90%);margin-left:8%;padding:38px 0}.text-aura h2,.text-aura p{text-shadow:0 0 10px #fff,0 0 22px #fff,0 0 38px #fff}.promo-content h2{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0 0 18px;font-weight:900;letter-spacing:-2px}.promo-content p:not(.eyebrow){font-size:18px;line-height:1.65;color:#111;margin:0 0 28px}.events,.form-section{width:min(1120px,92%);margin:0 auto 80px;text-align:center}.events h2,.form-card h2{font-size:42px;margin:0 0 30px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.event-card{background:#fff;border:1px solid #e4e4e4;border-radius:12px;padding:38px 18px 30px;font-size:18px;font-weight:900;cursor:pointer;transition:.2s;min-height:160px;color:#111}.event-card span{display:block;font-size:54px;line-height:1;margin-bottom:18px;font-weight:400}.event-card:hover,.event-card.active{transform:translateY(-4px);border-color:#111;box-shadow:0 20px 45px rgba(0,0,0,.08)}.form-card{background:#fff;border:1px solid #e8e8e8;border-radius:26px;padding:38px;text-align:left;box-shadow:0 20px 60px rgba(0,0,0,.045)}.form-card .eyebrow,.form-card h2{text-align:left}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,textarea{width:100%;border:1px solid #e2e2e2;border-radius:14px;padding:16px;margin-bottom:14px;font-size:15px;background:#fff;color:#111}textarea{min-height:140px;resize:vertical}.note{color:#777;font-size:13px;line-height:1.55}footer{border-top:1px solid #eee;padding:36px;text-align:center;color:#777}footer img{width:120px;display:block;margin:0 auto 12px}.admin-body{background:#f7f7f7}.admin-wrap{width:min(980px,92%);margin:36px auto}.admin-panel{background:#fff;border:1px solid #eee;border-radius:28px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.06)}.admin-panel h1{margin:0 0 10px;font-size:36px}.admin-panel h2{margin-top:30px}.admin-row{margin-bottom:14px}.admin-row label{display:block;font-weight:900;margin-bottom:8px}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.secondary{background:#111;color:#fff}.hidden{display:none!important}.preview-img{width:100%;max-width:560px;max-height:220px;object-fit:contain;border:1px solid #eee;border-radius:16px;background:white;padding:8px;margin-top:10px}@media(max-width:850px){.topbar{flex-direction:column;gap:14px}.cards,.grid{grid-template-columns:1fr}.hero h1{letter-spacing:-1px}.promo-banner{min-height:520px;align-items:flex-end}.promo-banner-img{object-position:center top}.promo-overlay{background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.95) 55%,#fff 100%)}.promo-content{margin:0 auto;padding:270px 22px 32px;width:100%}.brand img{width:130px}}

/* FIX curseur / barres de texte : le curseur d'écriture apparaît seulement dans les vrais champs */
body, body * {
  cursor: default;
  -webkit-tap-highlight-color: transparent;
}

p, h1, h2, h3, h4, h5, h6, span, label, div, section, header, footer, main, img {
  user-select: none;
  -webkit-user-select: none;
}

a, button, .btn, .event-card, input[type="file"], select {
  cursor: pointer;
}

input, textarea,
input *, textarea * {
  cursor: text;
  user-select: text;
  -webkit-user-select: text;
}

button, a, .btn, .event-card {
  outline: none;
}

button:focus, a:focus, .btn:focus, .event-card:focus {
  outline: none;
  box-shadow: none;
}

button:focus-visible, a:focus-visible, .btn:focus-visible, .event-card:focus-visible {
  outline: 2px solid rgba(155,117,232,.35);
  outline-offset: 4px;
}

input:focus, textarea:focus {
  outline: none;
  border-color: #9b75e8;
  box-shadow: 0 0 0 4px rgba(155,117,232,.12);
}
.success-box,.error-box{border-radius:16px;padding:14px 16px;margin:14px 0;font-weight:800}.success-box{background:#eefaf1;color:#166534;border:1px solid #b7edc5}.error-box{background:#fff1f1;color:#991b1b;border:1px solid #ffc7c7}.auth-card{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.wide-admin{width:min(1320px,94%)}.request-list{display:grid;gap:14px}.request-card{border:1px solid #eee;border-radius:18px;padding:18px;display:grid;grid-template-columns:1fr 190px;gap:18px;background:#fff}.status-form select{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px;font-weight:800;background:#fff}.event-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.event-edit-card{border:1px solid #eee;border-radius:20px;padding:18px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.035)}.event-edit-card h3{margin-top:0}.check-line{display:flex!important;gap:10px;align-items:center;font-weight:900;margin:8px 0}.check-line input{width:auto;margin:0}.danger{background:#b91c1c!important;margin-top:8px}.admin-panel{margin-bottom:22px}@media(max-width:850px){.request-card{grid-template-columns:1fr}.admin-top{align-items:flex-start;flex-direction:column}.admin-actions{width:100%}.admin-actions .btn{width:100%;text-align:center}}


.user-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #111;
  font-weight: 800;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}
.admin-link {
  font-weight: 900;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.65);
  border-radius: 999px;
  padding: 9px 14px;
}
@media (max-width: 760px) {
  .topbar nav { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
  .user-pill, .admin-link { padding: 8px 10px; font-size: 13px; }
}

/* Correctifs service obligatoire + admin catégories */
.service-select, select {
  width: 100%;
  border: 1px solid #e2e2e2;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 14px;
  font-size: 15px;
  background: #fff;
  color: #111;
}
.service-select:required:invalid { color:#6b7280; }
.admin-tabs {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.admin-tabs a {
  text-decoration:none;
  color:#111;
  font-weight:900;
  border:1px solid #e5e7eb;
  background:#fafafa;
  padding:12px 16px;
  border-radius:999px;
}
.admin-tabs a:hover { border-color:#111; }
.service-groups {
  display:grid;
  gap:22px;
}
.service-group {
  border:1px solid #ececec;
  border-radius:24px;
  padding:18px;
  background:#fbfbfb;
}
.service-group h3 {
  margin:0 0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:22px;
}
.service-group h3 span {
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:5px 10px;
  font-size:13px;
}
.request-card { align-items:start; }
.request-card .btn { width:100%; text-align:center; margin-top:10px; }
.status-new { border-left:6px solid #9b75e8; }
.status-progress { border-left:6px solid #f59e0b; }
.status-cancelled { border-left:6px solid #ef4444; opacity:.82; }
.status-completed { border-left:6px solid #22c55e; }
@media(max-width:850px){
  .admin-tabs a { width:100%; text-align:center; }
}
.admin-menu a.active{background:#111;color:#fff;border-color:#111}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:18px}.dash-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:#111;border:1px solid #eee;border-radius:24px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04);transition:.2s}.dash-card:hover{transform:translateY(-2px);border-color:#111}.dash-card strong{font-size:34px}.dash-card span{font-weight:900}.dash-card small{color:#666;font-weight:700}.service-select{width:100%;border:1px solid #ddd;border-radius:16px;padding:16px;margin:14px 0;font-weight:800;background:#fff}.event-card.active{border-color:#111;box-shadow:0 12px 32px rgba(0,0,0,.10)}
.success-box.mini,.error-box.mini{padding:8px 10px;font-size:12px;margin:8px 0;border-radius:10px}
.email-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.mini{font-size:13px;padding:10px 12px;border-radius:12px}.request-card{align-items:flex-start}.status-form .secondary{width:100%}

/* Mobile + partage professionnel */
img{max-width:100%;height:auto}
main{overflow:hidden}.topbar{position:relative;z-index:10}.topbar nav a,.user-pill,.admin-link{white-space:nowrap}.form-card input,.form-card textarea,.service-select{min-height:52px}.form-card button[type="submit"]{min-height:52px}.btn{touch-action:manipulation}

@media (max-width: 900px){
  body{font-size:16px;background:#fff}.topbar{width:100%;padding:14px 16px;border-bottom:1px solid #f0f0f0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);position:sticky;top:0;flex-direction:row;align-items:center;gap:12px}.brand img{width:112px}.topbar nav{gap:8px;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a,.user-pill,.admin-link{font-size:13px;padding:8px 10px;border-radius:999px;background:#f7f7f7;border:1px solid #ececec;color:#111}.topbar nav a[href="login.php"],.topbar nav a[href="logout.php"]{display:none}
  .hero{padding:42px 18px 30px}.hero h1{font-size:clamp(34px,12vw,52px);letter-spacing:-1.5px}.subtitle{font-size:16px;line-height:1.6;margin:20px auto 24px}.eyebrow{letter-spacing:4px;font-size:11px;margin-bottom:12px}.btn{width:100%;max-width:360px;text-align:center;padding:15px 20px}
  .promo-banner{width:calc(100% - 24px);min-height:0;margin:0 auto 54px;border-radius:22px;display:block}.promo-banner-img{position:relative;display:block;width:100%;height:260px;object-fit:cover;object-position:center}.promo-soft-bg{display:none}.promo-overlay{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.92) 70%,#fff 100%);height:260px;bottom:auto}.promo-content{padding:18px 20px 24px;margin:0;width:100%}.promo-content h2{font-size:32px;letter-spacing:-1px}.promo-content p:not(.eyebrow){font-size:16px;line-height:1.55;margin-bottom:20px}.text-aura h2,.text-aura p{text-shadow:0 0 8px #fff,0 0 18px #fff}
  .events,.form-section{width:calc(100% - 24px);margin-bottom:54px}.events h2,.form-card h2{font-size:32px;margin-bottom:20px}.cards{grid-template-columns:1fr 1fr;gap:10px}.event-card{min-height:118px;padding:22px 10px 18px;font-size:15px;border-radius:16px}.event-card span{font-size:34px;margin-bottom:10px}.form-card{border-radius:22px;padding:22px 16px}.grid{grid-template-columns:1fr;gap:0}input,textarea,.service-select,select{font-size:16px;border-radius:14px;padding:15px;margin-bottom:12px}.form-card .btn{max-width:none}footer{padding:28px 14px}footer img{width:96px}
  .admin-wrap,.wide-admin{width:calc(100% - 20px);margin:18px auto}.admin-panel{border-radius:22px;padding:18px}.admin-panel h1{font-size:28px}.admin-panel h2{font-size:22px}.admin-top{gap:12px}.request-card{grid-template-columns:1fr;padding:14px;border-radius:16px}.request-card .btn,.status-form .secondary{width:100%;max-width:none}.event-admin-grid{grid-template-columns:1fr}.admin-tabs a{width:auto;flex:1 1 160px}.dash-card{padding:18px;border-radius:18px}.admin-dashboard-grid{grid-template-columns:1fr}.preview-img{max-height:180px}
}

@media (max-width: 430px){
  .topbar{padding-left:12px;padding-right:12px}.brand img{width:98px}.cards{grid-template-columns:1fr}.hero{padding-top:34px}.promo-banner-img,.promo-overlay{height:220px}.promo-content h2{font-size:28px}.form-card{padding:18px 14px}.admin-actions{gap:8px}.admin-actions .btn{max-width:none}.user-pill{display:none}
}

@media (max-width: 360px){
  .topbar{flex-direction:column;align-items:flex-start}.topbar nav{width:100%}.hero h1{font-size:34px}.events h2,.form-card h2{font-size:28px}
}


/* Anti double-clic du formulaire de soumission */
#quoteForm.is-submitting {
  opacity: 0.88;
}

#quoteForm.is-submitting input,
#quoteForm.is-submitting select,
#quoteForm.is-submitting textarea,
#quoteSubmitBtn:disabled {
  cursor: wait;
}

#quoteSubmitBtn:disabled {
  opacity: 0.65;
  pointer-events: none;
}

/* ==========================================================
   THÈME SOMBRE PAR DÉFAUT + THÈME CLAIR CONSERVÉ
   Le thème actuel reste disponible avec html[data-theme="light"].
   ========================================================== */
:root,
html[data-theme="dark"] {
  --bg: #07080d;
  --bg-2: #0c0f18;
  --card: #111521;
  --card-2: #151a29;
  --text: #f5f7fb;
  --muted: #b5bdcb;
  --soft: #d6dbea;
  --border: rgba(255,255,255,.12);
  --border-strong: rgba(255,255,255,.22);
  --accent: #9b75e8;
  --accent-soft: rgba(155,117,232,.22);
  --shadow: rgba(0,0,0,.45);
  --input: #0c101b;
  --input-text: #ffffff;
}

html[data-theme="light"] {
  --bg: #ffffff;
  --bg-2: #f7f7f7;
  --card: #ffffff;
  --card-2: #fbfbfb;
  --text: #111111;
  --muted: #5d6470;
  --soft: #222222;
  --border: #e8e8e8;
  --border-strong: rgba(0,0,0,.18);
  --accent: #9b75e8;
  --accent-soft: rgba(155,117,232,.12);
  --shadow: rgba(0,0,0,.08);
  --input: #ffffff;
  --input-text: #111111;
}

html { background: var(--bg); color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
body,
.admin-body {
  background:
    radial-gradient(circle at top left, rgba(155,117,232,.18), transparent 34%),
    radial-gradient(circle at top right, rgba(255,255,255,.055), transparent 32%),
    var(--bg) !important;
  color: var(--text) !important;
}
html[data-theme="light"] body,
html[data-theme="light"] .admin-body { background: var(--bg) !important; }

nav a,
.admin-tabs a,
.dash-card,
.event-card,
.admin-link,
.service-group h3,
.promo-content p:not(.eyebrow),
.subtitle,
.form-card h2,
.events h2,
.admin-panel h1,
.admin-panel h2,
.admin-panel h3,
.admin-row label,
.request-card,
.user-pill {
  color: var(--text) !important;
}

.eyebrow,
.note,
.dash-card small,
footer,
.subtitle { color: var(--muted) !important; }

.form-card,
.admin-panel,
.event-card,
.request-card,
.event-edit-card,
.dash-card,
.service-group,
.admin-tabs a,
.user-pill,
.admin-link {
  background: var(--card) !important;
  border-color: var(--border) !important;
  box-shadow: 0 20px 60px var(--shadow) !important;
}

.service-group,
.event-edit-card { background: var(--card-2) !important; }

.event-card:hover,
.event-card.active,
.dash-card:hover,
.admin-tabs a:hover {
  border-color: var(--border-strong) !important;
  box-shadow: 0 22px 56px var(--shadow) !important;
}

input,
textarea,
select,
.service-select,
.status-form select {
  background: var(--input) !important;
  color: var(--input-text) !important;
  border-color: var(--border) !important;
}

input::placeholder,
textarea::placeholder { color: rgba(181,189,203,.75); }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color: #777; }

input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 4px var(--accent-soft) !important;
}

.promo-banner {
  background: var(--card) !important;
  border-color: var(--border) !important;
  box-shadow: 0 24px 80px var(--shadow);
}

.promo-banner-img { background: #090b12 !important; }
html[data-theme="light"] .promo-banner-img { background: #fafafa !important; }

.promo-overlay {
  background: linear-gradient(90deg,rgba(7,8,13,.96) 0%,rgba(7,8,13,.84) 34%,rgba(7,8,13,.48) 58%,rgba(7,8,13,.08) 100%) !important;
}
html[data-theme="light"] .promo-overlay {
  background: linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 32%,rgba(255,255,255,.50) 56%,rgba(255,255,255,.08) 100%) !important;
}

.text-aura h2,
.text-aura p {
  text-shadow: 0 0 12px rgba(0,0,0,.95), 0 0 28px rgba(0,0,0,.9), 0 0 48px rgba(0,0,0,.75) !important;
}
html[data-theme="light"] .text-aura h2,
html[data-theme="light"] .text-aura p {
  text-shadow: 0 0 10px #fff,0 0 22px #fff,0 0 38px #fff !important;
}

.btn-light {
  background: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border-strong) !important;
  box-shadow: 0 12px 32px var(--shadow) !important;
}

.secondary,
.admin-menu a.active,
.service-group h3 span {
  background: var(--text) !important;
  color: var(--bg) !important;
}

footer { border-top-color: var(--border) !important; }
.preview-img { background: var(--input) !important; border-color: var(--border) !important; }
.success-box { background: rgba(34,197,94,.12) !important; color: #86efac !important; border-color: rgba(134,239,172,.35) !important; }
.error-box { background: rgba(239,68,68,.13) !important; color: #fecaca !important; border-color: rgba(254,202,202,.35) !important; }
html[data-theme="light"] .success-box { background:#eefaf1 !important;color:#166534 !important;border-color:#b7edc5 !important; }
html[data-theme="light"] .error-box { background:#fff1f1 !important;color:#991b1b !important;border-color:#ffc7c7 !important; }

.theme-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  border: 1px solid var(--border-strong);
  background: rgba(17,21,33,.92);
  color: #fff;
  backdrop-filter: blur(14px);
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  cursor: pointer;
}
html[data-theme="light"] .theme-toggle {
  background: rgba(255,255,255,.92);
  color: #111;
  box-shadow: 0 12px 32px rgba(0,0,0,.13);
}
.theme-toggle:hover { transform: translateY(-2px); }

@media(max-width:850px){
  .promo-overlay {
    background: linear-gradient(180deg,rgba(7,8,13,.05) 0%,rgba(7,8,13,.92) 56%,#07080d 100%) !important;
  }
  html[data-theme="light"] .promo-overlay {
    background: linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.95) 55%,#fff 100%) !important;
  }
  .theme-toggle { right: 12px; bottom: 12px; padding: 11px 13px; font-size: 13px; }
}


/* FIX FINAL LOGO HEADER : clair = logo noir, sombre = logo blanc */
.brand img{
  width: 174px !important; /* +20% vs 145px */
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
html[data-theme="dark"] .brand img{
  content: url('logo-dark.png') !important;
}
html[data-theme="light"] .brand img{
  content: url('logo-light.png') !important;
}
@media (max-width: 900px){
  .brand img{ width: 134px !important; } /* +20% vs 112px mobile */
}
@media (max-width: 430px){
  .brand img{ width: 118px !important; } /* +20% vs 98px petit mobile */
}

/* FIX PROMO : empêche le logo/image en vedette de devenir géant dans la bannière */
.promo-banner .promo-soft-bg{
  opacity: .10 !important;
  background-size: 520px auto !important;
  background-repeat: no-repeat !important;
  background-position: right 8% center !important;
  filter: blur(18px) !important;
  transform: none !important;
}
.promo-banner .promo-banner-img{
  position: absolute !important;
  inset: auto 7% auto auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(34vw, 380px) !important;
  max-width: 38% !important;
  height: auto !important;
  max-height: 210px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  z-index: 1 !important;
  opacity: .95 !important;
}
@media (max-width: 850px){
  .promo-banner .promo-banner-img{
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    transform: none !important;
    width: min(70%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    max-height: 150px !important;
    margin: 24px auto 0 !important;
    object-fit: contain !important;
  }
  .promo-banner .promo-overlay{ height: 100% !important; }
}


/* ==========================================================
   FIX MOBILE FINAL : barre du haut claire/sombre
   - En sombre: plus de barre blanche, textes visibles
   - En clair: barre propre blanche, textes noirs
   ========================================================== */
@media (max-width: 900px){
  .topbar{
    background: rgba(7,8,13,.94) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  .topbar nav a,
  .topbar .user-pill,
  .topbar .admin-link{
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #f5f7fb !important;
    box-shadow: none !important;
  }

  .topbar nav a:hover,
  .topbar .admin-link:hover{
    background: rgba(155,117,232,.22) !important;
    border-color: rgba(155,117,232,.45) !important;
    color: #ffffff !important;
  }

  html[data-theme="light"] .topbar{
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid #ececec !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  }

  html[data-theme="light"] .topbar nav a,
  html[data-theme="light"] .topbar .user-pill,
  html[data-theme="light"] .topbar .admin-link{
    background: #f7f7f7 !important;
    border: 1px solid #ececec !important;
    color: #111111 !important;
  }

  html[data-theme="light"] .topbar nav a:hover,
  html[data-theme="light"] .topbar .admin-link:hover{
    background: #ffffff !important;
    border-color: rgba(0,0,0,.18) !important;
    color: #111111 !important;
  }
}

/* ==========================================================
   ADMIN UI MODÈLE 07 - Clair premium bleu professionnel
   ========================================================== */
body.admin-ui-07{
  --admin-bg:#f5f8ff;
  --admin-sidebar:#ffffff;
  --admin-card:#ffffff;
  --admin-text:#0f172a;
  --admin-muted:#64748b;
  --admin-border:#e5eaf5;
  --admin-blue:#3b6cff;
  --admin-blue-2:#5a8bff;
  --admin-soft-blue:#eef4ff;
  --admin-shadow:0 18px 55px rgba(15,23,42,.08);
  background:
    radial-gradient(circle at top left, rgba(59,108,255,.14), transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%) !important;
  color:var(--admin-text)!important;
  min-height:100vh;
}
body.admin-ui-07 .theme-toggle{display:none!important}
.admin-shell-07{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;width:100%}
.admin-sidebar-07{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.88);border-right:1px solid var(--admin-border);box-shadow:14px 0 45px rgba(15,23,42,.05);backdrop-filter:blur(18px);padding:24px 18px;display:flex;flex-direction:column;gap:20px;z-index:20}
.admin-brand-07{display:flex;align-items:center;justify-content:center;padding:10px 8px 16px;border-bottom:1px solid var(--admin-border)}
.admin-brand-07 img{width:185px!important;max-height:82px;object-fit:contain;content:url('logo-light.png')!important}
.admin-profile-07{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f8fbff,#eef4ff);border:1px solid var(--admin-border);border-radius:22px;padding:14px;color:var(--admin-text)}
.admin-profile-07 strong{display:block;color:var(--admin-text);font-size:15px}.admin-profile-07 small{display:block;color:var(--admin-muted);font-weight:800;margin-top:2px}.admin-avatar-07{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--admin-blue),var(--admin-blue-2));color:#fff;font-weight:1000;box-shadow:0 12px 24px rgba(59,108,255,.25)}
.admin-nav-07{display:flex;flex-direction:column;gap:8px}.admin-nav-07 a{text-decoration:none;color:#42526b!important;font-weight:900;padding:13px 14px;border-radius:16px;display:flex;align-items:center;gap:11px;border:1px solid transparent;transition:.18s ease}.admin-nav-07 a span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f1f5ff;color:var(--admin-blue);font-size:14px}.admin-nav-07 a:hover{background:#f7faff!important;border-color:var(--admin-border)!important;transform:translateX(2px)}.admin-nav-07 a.active{background:linear-gradient(135deg,var(--admin-blue),var(--admin-blue-2))!important;color:#fff!important;box-shadow:0 14px 28px rgba(59,108,255,.26)}.admin-nav-07 a.active span{background:rgba(255,255,255,.2);color:#fff}
.admin-sidebar-footer-07{margin-top:auto;display:grid;gap:8px}.admin-sidebar-footer-07 a{text-decoration:none;text-align:center;color:#334155!important;font-weight:900;background:#f8fbff;border:1px solid var(--admin-border);border-radius:14px;padding:12px}.admin-sidebar-footer-07 a:hover{border-color:#b7c8ff;background:#fff}
.admin-main-07{width:100%!important;max-width:none!important;margin:0!important;padding:28px;overflow:hidden}.admin-header-07{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px;background:rgba(255,255,255,.76);border:1px solid var(--admin-border);border-radius:28px;padding:22px 24px;box-shadow:var(--admin-shadow);backdrop-filter:blur(18px)}.admin-header-07 p{margin:0 0 6px;color:var(--admin-blue);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.admin-header-07 h1{margin:0;color:var(--admin-text)!important;font-size:clamp(28px,3vw,42px);letter-spacing:-1.3px}.admin-header-actions-07{margin:0}.admin-header-actions-07 .btn{box-shadow:none!important;padding:12px 18px}.admin-header-actions-07 .secondary{background:#fff!important;color:#1f2a44!important;border:1px solid var(--admin-border)!important}.admin-header-actions-07 .btn:not(.secondary){background:linear-gradient(135deg,var(--admin-blue),var(--admin-blue-2))!important;color:#fff!important}
.admin-ui-07 .admin-panel{background:rgba(255,255,255,.9)!important;border:1px solid var(--admin-border)!important;border-radius:28px!important;box-shadow:var(--admin-shadow)!important;padding:26px!important;margin-bottom:22px!important;color:var(--admin-text)!important}.admin-ui-07 .admin-panel h1,.admin-ui-07 .admin-panel h2,.admin-ui-07 .admin-panel h3,.admin-ui-07 .admin-row label{color:var(--admin-text)!important}.admin-ui-07 .admin-panel h2{margin-top:0;font-size:28px;letter-spacing:-.7px}.admin-ui-07 .note{color:var(--admin-muted)!important}.admin-ui-07 .admin-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.admin-ui-07 .dash-card{position:relative;overflow:hidden;background:var(--admin-card)!important;border:1px solid var(--admin-border)!important;border-radius:24px!important;color:var(--admin-text)!important;padding:24px!important;box-shadow:0 10px 30px rgba(15,23,42,.05)!important}.admin-ui-07 .dash-card:before{content:"";position:absolute;right:-34px;top:-34px;width:105px;height:105px;border-radius:999px;background:rgba(59,108,255,.10)}.admin-ui-07 .dash-card strong{font-size:34px;color:var(--admin-blue)!important}.admin-ui-07 .dash-card span{color:#16233c!important}.admin-ui-07 .dash-card small{color:var(--admin-muted)!important}.admin-ui-07 .dash-card:hover{transform:translateY(-4px);border-color:#b9c9ff!important;box-shadow:0 18px 45px rgba(59,108,255,.14)!important}
.admin-ui-07 input,.admin-ui-07 textarea,.admin-ui-07 select,.admin-ui-07 .service-select,.admin-ui-07 .status-form select{background:#fff!important;color:var(--admin-text)!important;border:1px solid var(--admin-border)!important;border-radius:15px!important;box-shadow:0 4px 16px rgba(15,23,42,.03)}.admin-ui-07 input:focus,.admin-ui-07 textarea:focus,.admin-ui-07 select:focus{border-color:var(--admin-blue)!important;box-shadow:0 0 0 4px rgba(59,108,255,.12)!important;outline:none}.admin-ui-07 .btn{background:linear-gradient(135deg,var(--admin-blue),var(--admin-blue-2))!important;color:#fff!important;border:0!important;box-shadow:0 12px 24px rgba(59,108,255,.22)!important}.admin-ui-07 .secondary{background:#0f172a!important;color:#fff!important}.admin-ui-07 .danger{background:#ef4444!important;color:#fff!important}.admin-ui-07 .request-card,.admin-ui-07 .event-edit-card,.admin-ui-07 .service-group{background:#fff!important;border-color:var(--admin-border)!important;color:var(--admin-text)!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important}.admin-ui-07 .service-group h3 span{background:var(--admin-blue)!important;color:#fff!important}.admin-ui-07 .success-box{background:#ecfdf3!important;color:#16703a!important;border-color:#bbf7d0!important}.admin-ui-07 .error-box{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important}.admin-ui-07 .admin-toast-07{margin-top:0}.admin-ui-07 .email-status-grid .success-box,.admin-ui-07 .email-status-grid .error-box{box-shadow:none!important}.admin-ui-07 .preview-img{background:#f8fbff!important;border-color:var(--admin-border)!important}.admin-ui-07 .admin-tabs{display:none!important}
@media(max-width:980px){.admin-shell-07{grid-template-columns:1fr}.admin-sidebar-07{position:relative;height:auto;padding:16px;width:100%;border-right:0;border-bottom:1px solid var(--admin-border)}.admin-brand-07{justify-content:flex-start}.admin-brand-07 img{width:150px!important}.admin-profile-07{display:none}.admin-nav-07{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:8px}.admin-sidebar-footer-07{grid-template-columns:1fr 1fr}.admin-main-07{padding:16px}.admin-header-07{flex-direction:column;align-items:flex-start;border-radius:22px;padding:18px}.admin-header-actions-07{width:100%}.admin-header-actions-07 .btn{width:100%;text-align:center}.admin-ui-07 .admin-panel{padding:18px!important;border-radius:22px!important}.admin-ui-07 .request-card{grid-template-columns:1fr!important}}
@media(max-width:520px){.admin-nav-07{grid-template-columns:1fr 1fr}.admin-nav-07 a{font-size:13px;padding:11px 10px}.admin-nav-07 a span{width:24px;height:24px}.admin-sidebar-footer-07{grid-template-columns:1fr}.admin-header-07 h1{font-size:28px}.admin-main-07{padding:12px}.admin-ui-07 .admin-dashboard-grid{grid-template-columns:1fr}.admin-ui-07 .admin-panel h2{font-size:24px}}

/* Dashboard analytics premium */
.dashboard-title-row,.analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.live-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eef4ff;color:#3b6cff;font-weight:900;font-size:13px;border:1px solid #dbe6ff}.analytics-kpis .dash-card{min-height:128px}.admin-analytics-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:22px;align-items:start}.analytics-wide{grid-column:span 1}.analytics-card h2{font-size:23px!important}.analytics-head small{color:var(--admin-muted,#64748b);font-weight:800;white-space:nowrap}.traffic-chart{height:285px;display:grid;grid-template-columns:repeat(14,1fr);gap:11px;align-items:end;padding:18px 4px 4px}.traffic-bar-wrap{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.traffic-value{font-weight:900;color:#3b6cff;font-size:12px}.traffic-bar{width:100%;max-width:34px;min-height:8px;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,#4d78ff,#8eafff);box-shadow:0 12px 25px rgba(59,108,255,.2)}.traffic-bar-wrap small{font-size:11px;font-weight:800;color:#64748b;transform:rotate(-25deg);white-space:nowrap}.analytics-table-wrap{overflow:auto}.analytics-table{width:100%;border-collapse:separate;border-spacing:0 10px}.analytics-table th{text-align:left;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:0 12px}.analytics-table td{background:#f8fbff;border-top:1px solid #e4ebf7;border-bottom:1px solid #e4ebf7;padding:14px 12px;font-weight:800;color:#16233c;vertical-align:top}.analytics-table td:first-child{border-left:1px solid #e4ebf7;border-radius:14px 0 0 14px}.analytics-table td:last-child{border-right:1px solid #e4ebf7;border-radius:0 14px 14px 0}.analytics-table small{display:block;color:#64748b;font-weight:700;margin-top:4px;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-list,.activity-feed{display:grid;gap:12px}.analytics-list div{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f8fbff;border:1px solid #e4ebf7;border-radius:16px;padding:14px}.analytics-list span{font-weight:800;color:#16233c}.analytics-list strong{color:#3b6cff;font-size:20px}.analytics-list.compact div{padding:16px}.activity-feed div{background:#f8fbff;border:1px solid #e4ebf7;border-radius:16px;padding:14px}.activity-feed strong,.activity-feed span,.activity-feed small{display:block}.activity-feed strong{color:#3b6cff;margin-bottom:4px}.activity-feed span{font-weight:800;color:#16233c;line-height:1.35}.activity-feed small{color:#64748b;margin-top:5px;font-weight:700}@media(max-width:1150px){.admin-analytics-grid{grid-template-columns:1fr}.analytics-wide{grid-column:auto}.traffic-chart{height:235px}}@media(max-width:620px){.dashboard-title-row,.analytics-head{flex-direction:column}.traffic-chart{gap:5px;height:210px}.traffic-bar{max-width:22px}.traffic-value{font-size:10px}.analytics-table{min-width:760px}.live-pill{width:100%;justify-content:center}}


/* Pages système 403 / maintenance */
.system-page-body,.login-pro-body{min-height:100vh;margin:0;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,rgba(155,117,232,.22),transparent 36%),linear-gradient(135deg,#0b0b12,#15151f 48%,#050507);color:#fff}.system-card{width:min(760px,94vw);text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:34px;padding:42px;box-shadow:0 30px 90px rgba(0,0,0,.35);backdrop-filter:blur(18px)}.system-logo-wrap{width:190px;min-height:90px;display:grid;place-items:center;margin:0 auto 18px}.system-logo-wrap img{max-width:190px;max-height:110px;object-fit:contain}.system-kicker{letter-spacing:6px;text-transform:uppercase;color:#d7ccff;font-size:12px;font-weight:900;margin:0 0 14px}.system-card h1{font-size:clamp(34px,6vw,64px);line-height:1.02;margin:0 0 18px;letter-spacing:-2px}.system-card p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.82);max-width:620px;margin:0 auto 22px}.system-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.system-card small{display:block;margin-top:24px;color:rgba(255,255,255,.55)}.forbidden-card{border-color:rgba(255,80,80,.28)}.system-card-maintenance{border-color:rgba(155,117,232,.35)}

/* Connexion admin pro */
.login-pro-shell{width:min(1080px,96vw);display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.login-pro-hero,.login-pro-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:34px;padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.34);backdrop-filter:blur(18px)}.login-pro-hero{display:flex;flex-direction:column;justify-content:center;text-align:left}.login-pro-hero img{width:210px;max-height:130px;object-fit:contain;margin-bottom:26px}.login-pro-hero h1{font-size:clamp(42px,6vw,72px);line-height:1;margin:0 0 18px;letter-spacing:-3px}.login-pro-hero p:not(.system-kicker){font-size:17px;line-height:1.75;color:rgba(255,255,255,.78);max-width:560px}.login-pro-card{display:flex;flex-direction:column;justify-content:center}.login-pro-card h2{font-size:34px;margin:0 0 8px}.login-pro-card label{font-weight:900;margin:10px 0 7px;color:#fff}.login-pro-card input{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.35)}.login-pro-card .secondary{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;text-align:center}.login-pro-card .note{color:rgba(255,255,255,.7)}

/* Admin maintenance */
.maintenance-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font-weight:1000;letter-spacing:1px}.maintenance-status.is-on{background:#fff1f1;color:#991b1b;border:1px solid #ffc7c7}.maintenance-status.is-off{background:#eefaf1;color:#166534;border:1px solid #b7edc5}.switch-line{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #ececec;border-radius:18px;background:#fafafa;margin:18px 0;font-weight:1000}.switch-line input{width:22px;height:22px;margin:0;accent-color:#9b75e8}.maintenance-form textarea{min-height:130px}

@media(max-width:850px){.login-pro-shell{grid-template-columns:1fr}.login-pro-hero,.login-pro-card,.system-card{padding:26px;border-radius:26px}.login-pro-hero img{width:170px}.system-actions .btn{width:100%;text-align:center}}


/* Connexion sécurisée / anti-bruteforce */
.login-security-shell{max-width:1180px;gap:28px}.login-security-hero{position:relative;overflow:hidden}.login-security-hero:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 25% 20%,rgba(124,92,255,.28),transparent 35%),radial-gradient(circle at 80% 75%,rgba(75,118,255,.22),transparent 30%);pointer-events:none}.login-security-hero>*{position:relative}.security-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.security-mini-grid span{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-weight:800}.login-security-card{box-shadow:0 30px 80px rgba(0,0,0,.24);border:1px solid rgba(130,150,255,.22)}.warning-box{padding:12px 14px;border-radius:14px;background:#fff7df;color:#765200;border:1px solid #ffe3a2;font-weight:700}.security-ban-page{background:radial-gradient(circle at top,#202b5c,#06070b 62%)}.security-ban-card{border:1px solid rgba(255,80,80,.25);box-shadow:0 30px 90px rgba(255,40,80,.16)}.security-ban-card h1{color:#ff6b7a}.admin-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.admin-filters input{flex:1;min-width:240px}.small-input{max-width:82px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.tiny{padding:8px 11px;border-radius:12px;font-size:12px}.btn.danger{background:#ff4d5e;color:#fff}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3852c7;font-weight:800;font-size:12px}.table-wrap{overflow:auto}.admin-table input{width:100%;padding:9px 10px;border-radius:10px;border:1px solid #dce4f2}

/* Login cleanup requested: black logo, no public IP/title/security badges, better button spacing */
.login-clean-hero{align-items:center;text-align:center;min-height:420px}
.login-clean-hero img{width:min(280px,82%);max-height:170px;margin:0 auto 28px;filter:none}
.login-clean-copy{margin:0 auto;color:rgba(255,255,255,.82);font-weight:700}
.login-clean-card{padding-top:52px;padding-bottom:52px}
.login-return-btn{display:block;margin-top:16px}
.login-clean-card .btn + .btn{margin-top:16px}
@media(max-width:850px){.login-clean-hero{min-height:auto}.login-clean-card{padding-top:30px;padding-bottom:30px}.login-return-btn{margin-top:14px}}


/* Correctif login captcha visible + bouton retour espacé */
.login-security-body,
.login-pro-body.login-security-body{
  background:#fff !important;
  color:#09090d !important;
}
.login-clean-card,
.login-security-card.login-clean-card{
  color:#09090d !important;
  background:rgba(255,255,255,.86) !important;
}
.login-clean-card label,
.login-security-card.login-clean-card label,
.login-clean-card .visible-login-label{
  color:#111827 !important;
  font-weight:900 !important;
  opacity:1 !important;
  display:block !important;
}
.login-clean-card input{
  color:#111827 !important;
  background:#fff !important;
  border:1px solid #dfe5f2 !important;
}
.login-clean-card input::placeholder{color:#8b95a7 !important;}
.captcha-panel{
  margin:14px 0 10px;
  padding:16px 18px;
  border:1px solid rgba(151,104,235,.34);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(151,104,235,.12),rgba(255,255,255,.94));
  box-shadow:0 12px 34px rgba(109,76,214,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.captcha-panel strong{
  display:block;
  margin-top:5px;
  color:#0b1020;
  font-size:18px;
  line-height:1.25;
}
.captcha-panel strong b{
  color:#7d4ee8;
  font-size:24px;
}
.captcha-kicker{
  display:block;
  text-transform:uppercase;
  letter-spacing:2px;
  color:#7d4ee8;
  font-size:11px;
  font-weight:900;
}
.captcha-badge{
  white-space:nowrap;
  padding:8px 10px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.login-clean-card .captcha-input{
  border-color:#9b75e8 !important;
  box-shadow:0 0 0 4px rgba(151,104,235,.13) !important;
}
.login-clean-card .btn[type="submit"]{
  margin-top:18px !important;
}
.login-return-btn,
.login-clean-card .btn.secondary.login-return-btn{
  margin-top:24px !important;
  display:block !important;
}
@media(max-width:680px){
  .captcha-panel{align-items:flex-start;flex-direction:column;}
  .captcha-badge{white-space:normal;}
}

/* ==========================================================
   Correctifs mobiles demandés — login, calendrier, admin phone
   ========================================================== */
html,body{max-width:100%;overflow-x:hidden}

/* Login téléphone: carte centrée, symétrique, logo propre */
.login-pro-body.login-security-body{
  min-height:100svh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(14px,4vw,28px) !important;
}
.login-security-shell.login-pro-shell{
  width:min(1120px,100%) !important;
  align-items:stretch !important;
}
.login-clean-hero,
.login-clean-card{
  min-width:0 !important;
}
.login-clean-card .btn,
.login-clean-card input{
  width:100% !important;
}
@media(max-width:760px){
  .login-security-shell.login-pro-shell{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    width:100% !important;
  }
  .login-clean-hero,
  .login-clean-card{
    width:100% !important;
    border-radius:24px !important;
    padding:22px 18px !important;
    text-align:center !important;
  }
  .login-clean-hero{
    min-height:0 !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .login-clean-hero img{
    width:min(230px,78vw) !important;
    max-height:138px !important;
    margin:0 auto 10px !important;
    display:block !important;
  }
  .login-clean-hero .system-kicker{
    margin:0 !important;
    letter-spacing:3px !important;
    font-size:11px !important;
    text-align:center !important;
  }
  .login-clean-card{
    display:block !important;
  }
  .login-clean-card label{
    text-align:left !important;
    margin:11px 0 7px !important;
  }
  .login-clean-card input{
    margin-bottom:10px !important;
    min-height:52px !important;
    padding:14px 15px !important;
    border-radius:16px !important;
  }
  .login-clean-card .btn[type="submit"],
  .login-return-btn{
    max-width:none !important;
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .login-return-btn{margin-top:16px !important;}
  .warning-box,.error-box{ text-align:left !important; }
}
@media(max-width:380px){
  .login-pro-body.login-security-body{padding:10px !important;}
  .login-clean-hero,.login-clean-card{padding:18px 14px !important;border-radius:20px !important;}
  .login-clean-hero img{width:min(200px,76vw) !important;}
}

/* Date/calendar selection téléphone: aucun dépassement */
.form-card,
.form-section,
.grid{
  min-width:0 !important;
}
.form-card input,
.form-card select,
.form-card textarea,
input[type="date"]{
  max-width:100% !important;
  min-width:0 !important;
}
input[type="date"]{
  appearance:auto;
  -webkit-appearance:none;
  line-height:1.25 !important;
  height:54px !important;
  display:block !important;
  overflow:hidden !important;
}
input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
  min-height:1.5em;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.8;
  padding:6px;
  margin-right:0;
}
@media(max-width:900px){
  .form-card .grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
  }
  .form-card{overflow:hidden !important;}
  .form-card input[type="date"]{width:100% !important;}
}

/* Admin téléphone: navigation compacte, contenu scrollable, tables lisibles */
@media(max-width:980px){
  .admin-shell-07{display:block !important;width:100% !important;}
  .admin-sidebar-07{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    padding:12px !important;
    gap:10px !important;
    background:rgba(255,255,255,.96) !important;
  }
  .admin-brand-07{padding:4px 0 10px !important;justify-content:center !important;}
  .admin-brand-07 img{width:142px !important;max-height:62px !important;}
  .admin-nav-07{
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding:2px 0 6px !important;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .admin-nav-07 a{
    flex:0 0 auto !important;
    min-width:max-content !important;
    padding:10px 12px !important;
    border-radius:999px !important;
    font-size:13px !important;
    scroll-snap-align:start;
  }
  .admin-nav-07 a span{width:24px !important;height:24px !important;border-radius:999px !important;}
  .admin-sidebar-footer-07{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .admin-sidebar-footer-07 a{padding:10px !important;border-radius:14px !important;}
  .admin-main-07{padding:12px !important;overflow:visible !important;}
  .admin-header-07{margin-bottom:14px !important;}
  .admin-header-actions-07{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .admin-header-actions-07 .btn{max-width:none !important;width:100% !important;padding:12px 10px !important;}
  .admin-ui-07 .admin-panel{overflow:hidden !important;}
  .table-wrap,.analytics-table-wrap{width:100% !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;}
  .admin-table,.analytics-table{min-width:680px !important;}
  .admin-actions,.row-actions,.admin-filters{display:flex !important;flex-wrap:wrap !important;gap:8px !important;}
  .admin-actions .btn,.row-actions .btn{flex:1 1 auto !important;max-width:none !important;text-align:center !important;}
  .admin-filters input{min-width:0 !important;width:100% !important;}
}
@media(max-width:520px){
  .admin-sidebar-07{border-radius:0 0 18px 18px !important;}
  .admin-header-07 h1{font-size:25px !important;line-height:1.05 !important;}
  .admin-header-07 p{font-size:10px !important;}
  .admin-header-actions-07{grid-template-columns:1fr !important;}
  .admin-ui-07 .admin-panel{padding:14px !important;border-radius:18px !important;}
  .admin-ui-07 .admin-panel h2{font-size:21px !important;}
  .admin-ui-07 input,.admin-ui-07 textarea,.admin-ui-07 select{font-size:16px !important;min-height:50px !important;}
  .admin-dashboard-grid,.analytics-kpis,.admin-analytics-grid{grid-template-columns:1fr !important;}
  .traffic-chart{overflow-x:auto;grid-template-columns:repeat(14,34px);padding-bottom:14px;}
}

/* Correctif champ date: style mobile seulement.
   Sur ordinateur, on garde le champ date natif pour éviter l’affichage téléphone
   (emoji calendrier + aaaa-mm-jj forcé) dans la grille desktop. */
.date-input-wrap{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  margin:0 0 14px;
}
.date-input-wrap input[type="date"]{
  width:100% !important;
  margin-bottom:0 !important;
  padding-left:16px !important;
  padding-right:16px !important;
  cursor:pointer;
}
.date-input-wrap::before,
.date-placeholder{
  display:none !important;
}
.date-input-wrap input[type="date"]::-webkit-calendar-picker-indicator{
  position:static;
  transform:none;
  width:auto;
  height:auto;
  margin:0;
  opacity:.9;
  cursor:pointer;
}
@media(max-width:900px){
  .date-input-wrap{width:100% !important;}
  .date-input-wrap input[type="date"]{
    height:64px !important;
    min-height:64px !important;
    border-radius:22px !important;
    font-size:18px !important;
    padding-left:52px !important;
    padding-right:48px !important;
  }
  .date-input-wrap::before{
    content:"📅";
    display:block !important;
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    font-size:20px;
    line-height:1;
    pointer-events:none;
    opacity:.9;
  }
  .date-placeholder{
    display:block !important;
    position:absolute;
    left:52px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    color:#9ca3af;
    font-size:18px !important;
    pointer-events:none;
    line-height:1;
  }
  .date-input-wrap.has-value .date-placeholder,
  .date-input-wrap:focus-within .date-placeholder{
    display:none !important;
  }
  .date-input-wrap input[type="date"]::-webkit-calendar-picker-indicator{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    margin:0;
    opacity:.9;
    cursor:pointer;
  }
}

/* ===== Account Settings + Google Authenticator 2FA ===== */
.twofa-login-shell .twofa-card h2{margin:0 0 8px;font-size:26px;color:var(--text, #111827)}
.twofa-card input[name="code"], .twofa-enable-form input[name="code"], .twofa-disable-form input[name="code"]{
  letter-spacing:8px;text-align:center;font-weight:900;font-size:24px;font-variant-numeric:tabular-nums;
}
.twofa-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;flex-wrap:wrap}
.twofa-settings-head h2{margin:0 0 8px}
.twofa-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:12px;border:1px solid rgba(148,163,184,.35)}
.twofa-status.enabled{background:rgba(34,197,94,.14);color:#16a34a;border-color:rgba(34,197,94,.35)}
.twofa-status.disabled{background:rgba(239,68,68,.12);color:#dc2626;border-color:rgba(239,68,68,.30)}
.twofa-setup-grid{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.twofa-qr-card,.twofa-steps-card,.security-good-box{border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.72);border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(15,23,42,.08)}
[data-theme="dark"] .twofa-qr-card,[data-theme="dark"] .twofa-steps-card,[data-theme="dark"] .security-good-box{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.18)}
.twofa-qr-card{text-align:center}.twofa-qr-card img{width:220px;height:220px;max-width:100%;background:#fff;border-radius:18px;padding:10px;margin-bottom:14px}
.twofa-steps-card ol{margin:0 0 18px;padding-left:22px;line-height:1.7}.twofa-steps-card li{margin-bottom:6px}
.twofa-secret-code{display:block;white-space:normal;word-break:break-word;background:rgba(15,23,42,.08);border-radius:16px;padding:14px 16px;margin:8px 0 18px;font-weight:900;letter-spacing:.08em;color:inherit}
[data-theme="dark"] .twofa-secret-code{background:rgba(255,255,255,.08)}
.twofa-enable-form,.twofa-disable-form{margin-top:18px}.twofa-enable-form label{display:block;margin-bottom:8px;font-weight:800}.security-good-box{display:grid;gap:6px;margin-bottom:18px}.security-good-box strong{color:#16a34a;font-size:18px}
@media(max-width:900px){.twofa-setup-grid{grid-template-columns:1fr}.twofa-qr-card img{width:200px;height:200px}.twofa-settings-head{align-items:stretch}.twofa-status{width:100%}.twofa-card input[name="code"],.twofa-enable-form input[name="code"],.twofa-disable-form input[name="code"]{font-size:22px;letter-spacing:6px}}

/* Security admin compact logs */
.compact-security-head{padding-bottom:22px}.security-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.admin-filters select{min-width:220px;padding:13px 14px;border-radius:14px;border:1px solid #dce4f2;background:#fff;color:#101828;font-weight:800}.log-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:16px 0 18px}.log-category-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dce4f2;border-radius:16px;background:#f8fbff}.log-category-title{font-weight:900;color:#3458ff;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-log-table td{padding-top:10px!important;padding-bottom:10px!important}.security-log-table .log-details{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.security-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.page-dot{min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid #dce4f2;background:#fff;color:#31405f;font-weight:900;text-decoration:none}.page-dot.active{background:#4b6fff;color:#fff;border-color:#4b6fff;box-shadow:0 10px 26px rgba(75,111,255,.22)}

/* Security admin V2 compact/pro */
.security-pro-hero{
  margin:0 0 22px!important;padding:28px!important;border-radius:28px!important;
  background:linear-gradient(135deg,#0d1324,#17264d 52%,#4268ff)!important;color:#fff!important;
  display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:18px!important;
  box-shadow:0 24px 70px rgba(38,76,180,.22)!important;overflow:hidden!important;position:relative!important;
}
.security-pro-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}
.security-kicker{margin:0 0 8px!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:900!important;color:#b9c9ff!important}
.security-pro-hero h2{margin:0 0 8px!important;font-size:clamp(30px,4vw,48px)!important;letter-spacing:-1.4px!important;color:#fff!important}
.security-pro-hero p{margin:0!important;max-width:760px!important;color:rgba(255,255,255,.78)!important;line-height:1.65!important;font-size:15px!important}
.security-hero-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;position:relative!important;z-index:1!important}.security-hero-actions .status-pill{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important}
.security-stats-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:0 0 22px!important}.security-stat{padding:20px!important;border-radius:24px!important;background:#fff!important;border:1px solid #dfe8fb!important;box-shadow:0 18px 45px rgba(37,59,111,.08)!important}.security-stat span{display:block!important;color:#526581!important;font-weight:900!important;font-size:13px!important}.security-stat strong{display:block!important;font-size:34px!important;color:#315dff!important;margin:6px 0!important;line-height:1!important}.security-stat small{color:#7a8aa4!important;font-weight:800!important}.security-stat.danger strong{color:#ef4444!important}
.security-filter-card{padding:16px!important;border-radius:24px!important}.security-filter-bar{display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(210px,.45fr) auto auto!important;gap:10px!important;align-items:center!important}.security-filter-bar input,.security-filter-bar select{height:48px!important;border-radius:16px!important;background:#f8fbff!important;border:1px solid #dbe5f6!important;padding:0 14px!important;font-weight:800!important;color:#15213b!important}
.security-pro-card{border-radius:28px!important;padding:22px!important;box-shadow:0 20px 55px rgba(47,70,122,.08)!important}.security-section-title{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:14px!important}.security-section-title h2{margin:0 0 6px!important;font-size:24px!important;letter-spacing:-.4px!important}.security-section-title .muted{margin:0!important;color:#60708b!important;font-weight:700!important}.security-table-wrap{border:1px solid #e0e8f7!important;border-radius:22px!important;overflow:auto!important;background:#fff!important}.security-clean-table{min-width:920px!important;border-collapse:separate!important;border-spacing:0!important}.security-clean-table th{background:#f4f7fd!important;color:#53637b!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.06em!important;padding:14px!important}.security-clean-table td{padding:13px 14px!important;border-top:1px solid #eef3fb!important;vertical-align:middle!important}.security-clean-table tr:hover td{background:#fbfdff!important}.ip-cell strong{display:block!important;color:#13223a!important;font-weight:950!important}.ip-cell small{display:block!important;color:#8491a8!important;font-size:12px!important;margin-top:4px!important}.security-clean-table input:not([type=checkbox]){height:38px!important;border-radius:12px!important;border:1px solid #dfe7f4!important;background:#fbfdff!important;padding:0 10px!important;max-width:190px!important}.security-clean-table .small-input{width:74px!important}.security-badge{display:inline-flex!important;align-items:center!important;padding:7px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:950!important;margin-right:8px!important}.security-badge.ok{background:#eef6ff!important;color:#2563eb!important}.security-badge.warn{background:#fff7ed!important;color:#ea580c!important}.security-badge.bad{background:#fff1f2!important;color:#e11d48!important}.mini-check{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:12px!important;font-weight:900!important;color:#66758e!important;margin:4px 8px 0 0!important}.security-actions{gap:7px!important;flex-wrap:wrap!important}.security-actions .btn,.security-clean-table .btn{border-radius:12px!important;padding:9px 11px!important;font-size:12px!important;box-shadow:none!important}.pro-log-cats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:10px!important;margin:8px 0 16px!important}.pro-log-cats .log-category-card{border-radius:18px!important;background:#f8fbff!important;border:1px solid #e0e8f7!important;padding:12px!important;box-shadow:none!important}.pro-log-cats .log-category-title{font-size:13px!important;font-weight:950!important;color:#315dff!important;text-decoration:none!important}.pro-log-cats strong{font-size:24px!important;color:#101d33!important}.log-details{max-width:480px!important;white-space:normal!important;line-height:1.45!important;color:#34425a!important}.security-pagination{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-top:16px!important;flex-wrap:wrap!important}.security-pagination span{margin-right:auto!important;color:#65748d!important;font-weight:900!important}.page-dot{display:inline-grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:12px!important;background:#f4f7fd!important;border:1px solid #dfe8f7!important;color:#4c5d76!important;text-decoration:none!important;font-weight:950!important}.page-dot.active{background:#315dff!important;color:#fff!important;border-color:#315dff!important}
@media(max-width:1100px){.security-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.security-filter-bar{grid-template-columns:1fr!important}.security-pro-hero{display:block!important}.security-hero-actions{margin-top:16px!important}.security-section-title{display:block!important}.security-section-title .row-actions,.security-section-title form{margin-top:12px!important}.security-clean-table{min-width:820px!important}}
@media(max-width:640px){.security-stats-grid{grid-template-columns:1fr!important}.security-pro-hero,.security-pro-card{padding:18px!important;border-radius:22px!important}.security-pro-hero h2{font-size:32px!important}.security-pagination{justify-content:flex-start!important}.security-pagination span{width:100%!important}}

/* ==========================================================
   SECURITY PAGE PRO UI - clean modern admin interface
   ========================================================== */
.security-page-pro{
  --sec-bg:#f4f7fd;
  --sec-card:#ffffff;
  --sec-line:#dfe7f4;
  --sec-text:#0f172a;
  --sec-muted:#64748b;
  --sec-blue:#4169f6;
  --sec-dark:#111a2f;
  --sec-red:#ef3f46;
  --sec-green:#16a34a;
  --sec-orange:#f59e0b;
  color:var(--sec-text);
  display:grid;
  gap:18px;
  max-width:1540px;
  margin:0 auto 50px;
}
.security-page-pro *{box-sizing:border-box}
.security-page-pro form{margin:0}
.sec-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:4px}
.sec-title-wrap{display:flex;align-items:center;gap:16px}
.sec-title-icon{width:54px;height:54px;border-radius:18px;background:#edf3ff;color:var(--sec-blue);display:grid;place-items:center;font-size:27px;box-shadow:0 14px 34px rgba(65,105,246,.12)}
.sec-topline h2{margin:0;font-size:34px;letter-spacing:-.8px;color:var(--sec-text)}
.sec-topline p{margin:6px 0 0;color:var(--sec-muted);font-weight:700}
.sec-updated{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.82);border:1px solid var(--sec-line);border-radius:18px;padding:13px 16px;box-shadow:0 16px 40px rgba(15,23,42,.06)}
.sec-updated span{width:34px;height:34px;border-radius:12px;background:#edf3ff;color:var(--sec-blue);display:grid;place-items:center;font-weight:900}.sec-updated small{display:block;color:var(--sec-muted);font-weight:800}.sec-updated strong{font-size:14px}
.sec-metric-panel,.sec-action-panel,.sec-filter-panel,.sec-card{background:rgba(255,255,255,.9);border:1px solid var(--sec-line);border-radius:24px;box-shadow:0 18px 55px rgba(15,23,42,.06)}
.sec-metric-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px}
.sec-metric{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #e8eef8;border-radius:20px;padding:22px 24px;min-height:116px}.sec-metric .mi{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:25px;font-weight:950}.sec-metric .mi.blue{background:#eef3ff;color:var(--sec-blue)}.sec-metric .mi.red{background:#fff0f1;color:var(--sec-red)}.sec-metric .mi.orange{background:#fff7ed;color:var(--sec-orange)}.sec-metric .mi.green{background:#ecfdf5;color:var(--sec-green)}
.sec-metric strong{display:block;font-size:30px;line-height:1;color:var(--sec-blue);font-weight:950}.sec-metric:nth-child(2) strong{color:var(--sec-red)}.sec-metric:nth-child(3) strong{color:var(--sec-orange)}.sec-metric:nth-child(4) strong{color:var(--sec-green)}.sec-metric p{margin:8px 0 3px;font-weight:950}.sec-metric small{color:var(--sec-muted);font-weight:700}
.sec-action-panel{padding:24px}.sec-action-panel h3,.sec-card h3{margin:0;color:var(--sec-text);font-size:22px;letter-spacing:-.3px}.sec-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.sec-action-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid #e4ebf7;border-radius:18px;padding:18px;text-decoration:none;color:var(--sec-text);min-height:86px}.sec-action-card span{width:48px;height:48px;border-radius:15px;background:#eef3ff;color:var(--sec-blue);display:grid;place-items:center;font-size:22px}.sec-action-card strong{display:block;font-weight:950}.sec-action-card small{display:block;color:var(--sec-muted);font-weight:700;margin-top:4px}.sec-action-card button,.sec-action-card em{border:0;border-radius:999px;background:#edf3ff;color:var(--sec-blue);font-style:normal;font-weight:950;padding:10px 14px;cursor:pointer}.sec-action-card.danger span{background:#fff0f1;color:var(--sec-red)}.sec-action-card.danger strong{color:var(--sec-red)}.sec-action-card.danger button{background:#fff0f1;color:var(--sec-red)}
.sec-filter-panel{padding:16px}.sec-filter-grid{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(190px,1fr) minmax(150px,.7fr) auto auto;gap:14px;align-items:center}.security-page-pro input,.security-page-pro select{width:100%;border:1px solid #dde7f5!important;border-radius:15px!important;background:#fff!important;color:var(--sec-text)!important;padding:14px 16px!important;min-height:52px!important;margin:0!important;font-weight:800;box-shadow:none!important}.security-page-pro input::placeholder{color:#94a3b8}.sec-primary,.sec-dark,.sec-danger,.sec-reset{border:0;text-decoration:none;border-radius:14px;padding:14px 20px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;cursor:pointer;white-space:nowrap}.sec-primary{background:var(--sec-blue);color:#fff;box-shadow:0 14px 28px rgba(65,105,246,.22)}.sec-dark{background:var(--sec-dark);color:#fff}.sec-danger{background:var(--sec-red);color:#fff}.sec-reset{background:#fff;color:var(--sec-dark);border:1px solid var(--sec-line)}.small{min-height:38px!important;padding:9px 13px!important;border-radius:11px!important;font-size:13px!important}
.sec-card{padding:20px}.sec-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.sec-card-head p{margin:5px 0 0;color:var(--sec-muted);font-weight:700}.sec-count{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border:1px solid var(--sec-line);background:#f8fbff;border-radius:999px;padding:9px 13px;color:var(--sec-blue);font-weight:950}.sec-ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sec-ip-card{background:#fff;border:1px solid #e4ebf7;border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.04)}.sec-ip-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sec-ip-main strong{font-size:18px}.sec-ip-main small,.sec-table small{display:block;color:var(--sec-muted);font-weight:800;margin-top:4px}.sec-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950}.sec-badge.ok{background:#eaf8ee;color:#16803a}.sec-badge.warn{background:#fff4df;color:#b46600}.sec-badge.bad{background:#ffe9ec;color:#d91f2a}.sec-badge.info{background:#edf3ff;color:var(--sec-blue)}.sec-ip-fields{display:grid;grid-template-columns:105px 1fr 150px;gap:10px}.sec-ip-fields label{display:grid;gap:7px;color:var(--sec-muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.sec-switches{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.sec-switches label{display:inline-flex;align-items:center;gap:8px;border:1px solid #e4ebf7;background:#f8fbff;border-radius:999px;padding:9px 12px;font-weight:900;color:var(--sec-text)}.sec-switches input{width:auto!important;min-height:auto!important;padding:0!important}.sec-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.sec-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sec-cat-card{background:#fff;border:1px solid #e4ebf7;border-radius:16px;padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.sec-cat-card a{color:var(--sec-blue);font-weight:950}.sec-cat-card strong{font-size:20px}.sec-table-wrap{overflow-x:auto;border:1px solid #e4ebf7;border-radius:16px}.sec-table{width:100%;border-collapse:collapse;background:#fff;min-width:880px}.sec-table th{font-size:13px;text-align:left;color:var(--sec-text);padding:15px 16px;background:#fbfdff;border-bottom:1px solid #e4ebf7}.sec-table td{padding:14px 16px;border-bottom:1px solid #edf2fa;vertical-align:middle}.sec-table tr:last-child td{border-bottom:0}.sec-table td:nth-child(4){max-width:520px;color:#334155}.sec-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.sec-pagination span{margin-right:auto;color:var(--sec-muted);font-weight:800}.sec-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid #e4ebf7;border-radius:12px;background:#fff;color:var(--sec-text);text-decoration:none;font-weight:950}.sec-pagination a.active{background:var(--sec-blue);color:#fff;border-color:var(--sec-blue);box-shadow:0 10px 24px rgba(65,105,246,.22)}.sec-empty{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:24px;text-align:center;color:var(--sec-muted);font-weight:900}
@media(max-width:1250px){.sec-metric-panel,.sec-actions-grid{grid-template-columns:repeat(2,1fr)}.sec-filter-grid{grid-template-columns:1fr 1fr}.sec-primary,.sec-reset{width:100%}.sec-ip-grid{grid-template-columns:1fr}.sec-cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sec-topline,.sec-card-head{flex-direction:column}.sec-topline h2{font-size:28px}.sec-metric-panel,.sec-actions-grid,.sec-filter-grid,.sec-cat-grid{grid-template-columns:1fr}.sec-action-card{grid-template-columns:46px 1fr}.sec-action-card button,.sec-action-card em{grid-column:1/-1;width:100%}.sec-ip-fields{grid-template-columns:1fr}.sec-row-actions{justify-content:stretch}.sec-row-actions>*{flex:1 1 auto}.sec-pagination{justify-content:center}.sec-pagination span{width:100%;text-align:center;margin:0 0 6px}.sec-card{padding:14px}}


/* === Page admin 2FA propre/professionnelle === */
.twofa-page-hero{
  display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin:0 0 22px;
  padding:30px;border:1px solid rgba(148,163,184,.22);border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.94));
  box-shadow:0 24px 70px rgba(15,23,42,.10);position:relative;overflow:hidden
}
.twofa-page-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:300px;height:300px;border-radius:999px;background:rgba(79,117,255,.13);pointer-events:none}
.twofa-hero-icon{width:68px;height:68px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#4f75ff;color:#fff;font-size:30px;box-shadow:0 18px 35px rgba(79,117,255,.28)}
.twofa-kicker{margin:0 0 7px!important;color:#4f75ff!important;text-transform:uppercase;letter-spacing:.12em;font-size:12px!important;font-weight:900!important}
.twofa-page-hero h2{margin:0 0 8px;font-size:34px;line-height:1.05;color:#0f172a}.twofa-page-hero p:not(.twofa-kicker){margin:0;max-width:850px;color:#475569;line-height:1.65}
.twofa-account-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.twofa-account-strip>div{padding:18px 20px;border-radius:24px;border:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.82);box-shadow:0 16px 42px rgba(15,23,42,.07)}
.twofa-account-strip span{display:block;margin-bottom:5px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.twofa-account-strip strong{font-size:15px;color:#0f172a;word-break:break-word}.twofa-pro-panel{border-radius:30px!important;padding:28px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 24px 70px rgba(15,23,42,.09)!important}.twofa-settings-head{padding-bottom:18px;border-bottom:1px solid rgba(148,163,184,.18)}.twofa-settings-head h2{font-size:28px;color:#0f172a}.twofa-status{position:relative;z-index:1;min-width:158px}.twofa-status.enabled{background:rgba(34,197,94,.13)!important;color:#15803d!important}.twofa-status.disabled{background:rgba(239,68,68,.12)!important;color:#b91c1c!important}.twofa-active-box{background:linear-gradient(135deg,rgba(22,163,74,.12),rgba(255,255,255,.92))!important;color:#0f172a!important;border-color:rgba(22,163,74,.20)!important}.twofa-disable-form .grid{gap:18px}.twofa-disable-form input,.twofa-enable-form input{min-height:54px;border-radius:18px!important;border:1px solid rgba(148,163,184,.30)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.twofa-qr-card,.twofa-steps-card{background:linear-gradient(180deg,#fff,rgba(248,250,252,.94))!important;border-radius:26px!important}.twofa-qr-card img{box-shadow:0 18px 45px rgba(15,23,42,.12)}
[data-theme="dark"] .twofa-page-hero{background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.94));border-color:rgba(148,163,184,.18)}[data-theme="dark"] .twofa-page-hero h2,[data-theme="dark"] .twofa-account-strip strong,[data-theme="dark"] .twofa-settings-head h2{color:#f8fafc}[data-theme="dark"] .twofa-page-hero p:not(.twofa-kicker){color:#cbd5e1}[data-theme="dark"] .twofa-account-strip>div,[data-theme="dark"] .twofa-pro-panel{background:rgba(15,23,42,.78)!important;border-color:rgba(148,163,184,.18)}[data-theme="dark"] .twofa-qr-card,[data-theme="dark"] .twofa-steps-card{background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(30,41,59,.88))!important}[data-theme="dark"] .twofa-active-box{background:linear-gradient(135deg,rgba(22,163,74,.18),rgba(15,23,42,.78))!important;color:#e5e7eb!important}
@media(max-width:900px){.twofa-page-hero{grid-template-columns:1fr;padding:22px}.twofa-account-strip{grid-template-columns:1fr}.twofa-page-hero h2{font-size:28px}.twofa-status{width:100%}}

/* Menu admin premium: alignement symétrique + icônes SVG propres */
.admin-shell-07{grid-template-columns:270px minmax(0,1fr) !important;}
.admin-sidebar-07{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96)) !important;
  padding:24px 16px !important;
  gap:16px !important;
}
.admin-brand-07{
  padding:8px 10px 18px !important;
  margin:0 0 2px !important;
}
.admin-brand-07 img{width:170px !important;max-height:74px !important;}
.admin-profile-07{
  border-radius:20px !important;
  padding:13px !important;
  min-height:66px !important;
  box-shadow:0 12px 30px rgba(59,108,255,.07) !important;
}
.admin-nav-07{
  gap:6px !important;
  width:100% !important;
  padding:2px 0 !important;
}
.admin-nav-07 a{
  width:100% !important;
  min-height:48px !important;
  padding:10px 12px !important;
  border-radius:15px !important;
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  align-items:center !important;
  gap:11px !important;
  color:#334155 !important;
  letter-spacing:-.01em !important;
  border:1px solid transparent !important;
  background:transparent !important;
}
.admin-nav-07 a span{
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  background:#eef4ff !important;
  color:#3b6cff !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:inset 0 0 0 1px rgba(59,108,255,.06) !important;
}
.admin-nav-07 a span svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.15 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.admin-nav-07 a em{
  font-style:normal !important;
  font-size:14px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.admin-nav-07 a:hover{
  transform:none !important;
  background:#f8fbff !important;
  border-color:#dfe8ff !important;
  box-shadow:0 10px 22px rgba(15,23,42,.04) !important;
}
.admin-nav-07 a.active{
  background:linear-gradient(135deg,#3b6cff,#5a8bff) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.2) !important;
  box-shadow:0 14px 30px rgba(59,108,255,.28) !important;
}
.admin-nav-07 a.active span{
  background:rgba(255,255,255,.2) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.admin-nav-07 a.active em{color:#fff !important;}

@media(max-width:980px){
  .admin-shell-07{grid-template-columns:1fr !important;}
  .admin-sidebar-07{padding:12px !important;gap:10px !important;}
  .admin-brand-07{padding:4px 0 10px !important;}
  .admin-brand-07 img{width:142px !important;max-height:62px !important;}
  .admin-nav-07{
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding:2px 0 7px !important;
  }
  .admin-nav-07 a{
    width:auto !important;
    min-height:42px !important;
    min-width:max-content !important;
    display:flex !important;
    grid-template-columns:none !important;
    padding:9px 12px !important;
    border-radius:999px !important;
    gap:8px !important;
  }
  .admin-nav-07 a span{width:26px !important;height:26px !important;border-radius:999px !important;}
  .admin-nav-07 a span svg{width:14px !important;height:14px !important;}
  .admin-nav-07 a em{font-size:13px !important;}
}

/* Utilisateurs & rôles - UI Pro */
.admin-users-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch;margin-bottom:22px;background:linear-gradient(135deg,#101a38 0%,#335cff 58%,#7aa2ff 100%);border-radius:30px;padding:28px;color:#fff;box-shadow:0 22px 55px rgba(59,108,255,.22);overflow:hidden;position:relative}.admin-users-hero:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.16)}.admin-users-hero>*{position:relative;z-index:1}.admin-users-hero span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;opacity:.8}.admin-users-hero h2{font-size:38px;margin:8px 0 8px;letter-spacing:-1.2px}.admin-users-hero p{margin:0;max-width:640px;line-height:1.65;color:rgba(255,255,255,.84)}.user-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-stat-grid div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);border-radius:22px;padding:18px;backdrop-filter:blur(10px)}.user-stat-grid strong{display:block;font-size:30px}.user-stat-grid small{font-weight:800;color:rgba(255,255,255,.78)}.users-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 190px;gap:14px;align-items:end}.users-create-grid .admin-row{margin-bottom:0}.create-submit .btn{width:100%;min-height:52px}.section-title-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.role-create-line{display:grid;grid-template-columns:1fr 190px;gap:12px;margin:14px 0 16px}.role-create-line input{margin:0}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.role-pill-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--admin-border,#dfe7f5);border-radius:20px;padding:14px;box-shadow:0 10px 26px rgba(15,23,42,.055)}.role-pill-card.locked{background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%);border-color:#bcd0ff}.role-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#eff4ff;color:#3b6cff;font-weight:900}.role-pill-card.locked .role-icon{background:#fff7d6;color:#b7791f}.role-fields label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:900}.role-fields input{margin:4px 0 3px;padding:11px 12px}.role-fields small{color:#8a96aa;font-weight:800}.role-actions{grid-column:1/-1;display:flex;gap:8px}.role-actions .btn{flex:1;margin:0}.users-list-pro{display:grid;gap:16px}.user-card-pro{position:relative;background:#fff;border:1px solid var(--admin-border,#dfe7f5);border-radius:26px;padding:18px;box-shadow:0 14px 36px rgba(15,23,42,.06);overflow:hidden}.user-card-pro:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#3b6cff}.user-card-pro.webmaster-card:before{background:linear-gradient(180deg,#f59e0b,#3b6cff)}.user-card-top{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;margin-bottom:14px}.user-avatar-big{width:56px;height:56px;border-radius:20px;background:linear-gradient(135deg,#3b6cff,#7c9cff);color:#fff;font-size:22px;font-weight:900;display:grid;place-items:center;box-shadow:0 12px 26px rgba(59,108,255,.22)}.user-title-box h3{margin:0 0 4px;font-size:20px;color:var(--admin-text,#0f172a)}.user-title-box p{margin:0;color:#667085;font-weight:700}.user-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-badge,.twofa-badge,.me-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;white-space:nowrap}.role-badge{background:#eef4ff;color:#2f58d9}.role-badge.webmaster{background:#fff7d6;color:#9a6700}.twofa-badge.on{background:#eafaf0;color:#15803d}.twofa-badge.off{background:#fff1f2;color:#be123c}.me-badge{background:#edf2ff;color:#3154d4;margin-left:8px;padding:5px 8px}.webmaster-protect{margin:0 0 12px;background:#fff8e1;border:1px solid #ffe08a;color:#8a5b00;border-radius:14px;padding:10px 12px;font-weight:800}.user-edit-form .btn{width:100%;margin-top:2px}.delete-user-form{position:absolute;right:18px;bottom:18px;width:160px}.delete-user-form .btn{width:100%;margin:0}.user-card-pro .user-edit-form{padding-right:178px}.admin-ui-07 .user-card-pro input,.admin-ui-07 .user-card-pro select{margin-bottom:8px!important}
@media(max-width:1180px){.users-create-grid{grid-template-columns:1fr 1fr}.create-submit{grid-column:1/-1}.admin-users-hero{grid-template-columns:1fr}.delete-user-form{position:static;width:100%;margin-top:10px}.user-card-pro .user-edit-form{padding-right:0}}
@media(max-width:720px){.admin-users-hero{padding:20px;border-radius:24px}.admin-users-hero h2{font-size:30px}.user-stat-grid{grid-template-columns:1fr 1fr}.users-create-grid,.role-create-line{grid-template-columns:1fr}.user-card-top{grid-template-columns:48px 1fr}.user-badges{grid-column:1/-1;justify-content:flex-start}.user-avatar-big{width:48px;height:48px;border-radius:16px}.roles-grid{grid-template-columns:1fr}}
.password-eye-wrap{position:relative;width:100%}.password-eye-wrap input{padding-right:54px!important}.password-eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:12px;border:1px solid #dfe7f5;background:#fff;color:#335cff;display:grid;place-items:center;cursor:pointer;font-size:16px;box-shadow:0 8px 18px rgba(15,23,42,.06)}.password-eye-btn:hover{background:#eef4ff}.admin-ui-07 .password-eye-wrap input{margin-bottom:0!important}


/* ================= BILLETERIE EVENTSHADE ================= */
.cart-pill{background:linear-gradient(135deg,rgba(155,117,232,.22),rgba(255,255,255,.08))!important;border:1px solid var(--border-strong)!important;color:var(--text)!important;font-weight:950!important}.ticket-hero{width:min(1120px,92%);margin:60px auto 34px;text-align:center;padding:54px 24px;border:1px solid var(--border);border-radius:34px;background:linear-gradient(135deg,rgba(155,117,232,.20),rgba(255,255,255,.04));box-shadow:0 24px 80px var(--shadow)}.ticket-hero h1{font-size:clamp(38px,6vw,76px);line-height:.95;margin:0 0 18px;letter-spacing:-3px;color:var(--text)}.ticket-hero p:not(.eyebrow){max-width:760px;margin:auto;color:var(--muted);font-size:18px;line-height:1.6}.ticket-public-wrap{width:min(1180px,92%);margin:0 auto 80px}.empty-events{text-align:center;border:1px dashed var(--border-strong);border-radius:28px;padding:44px;background:var(--card);color:var(--text)}.ticket-grid-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px}.ticket-event-card{overflow:hidden;border-radius:30px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 60px var(--shadow)}.ticket-event-card>img{width:100%;height:230px;object-fit:cover;background:var(--card-2)}.ticket-event-body{padding:24px}.ticket-date{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--accent-soft);font-weight:950;color:var(--text);font-size:13px;margin-bottom:12px}.ticket-event-body h2{font-size:28px;line-height:1.05;margin:0 0 12px;color:var(--text)}.ticket-event-body p{color:var(--muted);line-height:1.55}.ticket-meta{display:grid;gap:8px;margin:16px 0;color:var(--soft);font-weight:800}.buy-box{display:grid;gap:10px;margin-top:18px;padding:16px;border-radius:22px;background:var(--bg-2);border:1px solid var(--border)}.buy-box label{font-weight:950;color:var(--text)}.buy-box input,.ticket-event-form input,.ticket-event-form textarea,.stripe-settings-grid input,.stripe-settings-grid select,.scan-form input{background:var(--input);color:var(--input-text);border:1px solid var(--border);border-radius:14px;padding:14px;width:100%;margin:0}.buy-box button:disabled{opacity:.55;cursor:not-allowed}.ticket-code-box{border:1px solid var(--border);background:var(--card);border-radius:22px;padding:18px;margin:16px 0;text-align:center}.ticket-code-box img{background:#fff;border-radius:12px;padding:8px}.ticket-code-box strong{display:block;margin-top:8px;color:var(--text);letter-spacing:1px}.ticket-admin-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.stripe-settings-grid,.ticket-event-form{display:grid;gap:14px}.secret-input-wrap{display:flex;gap:8px;align-items:center}.secret-input-wrap input{flex:1}.eye-toggle{border:1px solid var(--border);background:var(--card-2);border-radius:12px;padding:12px;cursor:pointer}.orders-table{overflow:auto}.orders-table table{width:100%;border-collapse:collapse;background:var(--card);border-radius:18px;overflow:hidden}.orders-table th,.orders-table td{border-bottom:1px solid var(--border);padding:12px;text-align:left;color:var(--text)}.orders-table small{color:var(--muted)}.ticket-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:950;background:#64748b;color:#fff}.ticket-status.paid{background:#16a34a}.ticket-status.pending{background:#f59e0b}.ticket-status.refunded,.ticket-status.failed{background:#dc2626}.scanner-panel video{width:100%;max-width:620px;display:block;min-height:260px;background:#050505;border-radius:22px;border:1px solid var(--border);margin:14px 0}.scan-form{display:flex;gap:10px;flex-wrap:wrap}.scan-form input{flex:1 1 320px}.scan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.preview-img{width:100%;height:150px;object-fit:cover;border-radius:16px;background:var(--bg-2);margin-bottom:12px}@media(max-width:760px){.ticket-admin-head{display:block}.ticket-hero{margin-top:24px;padding:34px 16px}.ticket-event-card>img{height:190px}.ticket-event-body{padding:18px}.scan-form{display:grid}.ticket-public-wrap{width:calc(100% - 22px)}}


/* Correctifs billeterie */
.topbar .brand img{max-height:54px;width:auto;object-fit:contain;display:block}.topbar nav .cart-pill{display:inline-flex;align-items:center;gap:0;padding:0;background:transparent;border:0;box-shadow:none;color:inherit;font-weight:700}.topbar nav .cart-pill:hover{color:#7c5cff}.ticket-event-card>img,.ticket-event-card .ticket-cover{width:100%;height:260px;object-fit:cover;object-position:center;border-radius:22px 22px 0 0;background:#f4f4f6}.ticket-event-card{overflow:hidden}.ticket-event-body{padding:24px}.ticket-meta span{display:block;margin:8px 0}.ticket-public-wrap{max-width:1220px;margin:0 auto;padding:32px 20px}.ticket-hero{max-width:1040px;margin:50px auto 20px;padding:0 20px;text-align:center}.ticket-hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.03;margin:12px 0}.buy-box{margin-top:22px;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:rgba(127,127,127,.06)}.buy-box input{width:100%;box-sizing:border-box;margin:6px 0 10px;padding:14px 16px;border-radius:14px;border:1px solid rgba(0,0,0,.12)}.buy-box label{font-weight:800}.buy-box .btn,.form-card .btn{width:100%;text-align:center;justify-content:center}.ticket-code-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px;border:1px solid rgba(0,0,0,.1);border-radius:16px;margin:14px 0;background:white}.ticket-code-box img{max-width:320px;width:100%;height:auto}.empty-events{text-align:center;padding:48px 22px;border:1px dashed rgba(0,0,0,.18);border-radius:24px;background:rgba(127,127,127,.06)}

/* Mobile ticket scanner fixes */
.mobile-reader{
  width:100%;
  max-width:520px;
  margin:14px 0;
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  overflow:hidden;
  background:#0f172a;
}
.mobile-reader video,
.scanner-panel video{
  width:100% !important;
  max-width:520px;
  min-height:260px;
  border-radius:18px;
  object-fit:cover;
  background:#0f172a;
}
.file-scan-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
@media (max-width: 720px){
  .scanner-panel{padding:18px !important;}
  .scan-actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .scan-form{display:grid;grid-template-columns:1fr;gap:10px;}
  .mobile-reader video,.scanner-panel video{min-height:320px;}
}
.ticket-qr-img{width:220px!important;height:220px!important;object-fit:contain!important;display:block;margin:10px auto!important;background:#fff;border-radius:16px;padding:10px;border:1px solid #e5e7eb}
.ticket-barcode-img{max-width:360px!important;width:100%!important;height:auto!important;object-fit:contain!important;display:block;margin:8px auto!important;background:#fff}
.mobile-reader{min-height:320px}.mobile-reader video{border-radius:24px!important;object-fit:cover!important}.scan-form input{text-transform:uppercase}
@media(max-width:700px){.mobile-reader{min-height:300px}.ticket-qr-img{width:200px!important;height:200px!important}.ticket-barcode-img{max-width:100%!important}}

/* Ticket digital + image upload fixes */
.ticket-event-card>img,.ticket-event-card .ticket-cover{object-fit:contain!important;object-position:center!important;background:#fff!important;padding:14px!important;height:260px!important}
.event-edit-card .preview-img,.preview-img{object-fit:contain!important;object-position:center!important;background:#fff!important;padding:10px!important;height:170px!important;border:1px solid rgba(0,0,0,.08)!important}
.digital-ticket-preview{margin:22px 0;border:2px solid #111827;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.14);color:#111827}.digital-ticket-top{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#111827,#4f46e5);color:#fff;padding:20px 24px}.digital-ticket-top img{width:135px;max-height:56px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}.digital-ticket-top span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:3px;opacity:.8;font-weight:900}.digital-ticket-top strong{display:block;font-size:clamp(20px,4vw,32px);line-height:1.05}.digital-ticket-main{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:center;padding:24px}.digital-ticket-main .ticket-qr-img{width:260px!important;height:260px!important;max-width:100%!important;margin:0 auto!important}.digital-ticket-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}.digital-ticket-info p{margin:0;padding:13px;border:1px solid #e5e7eb;border-radius:16px;background:#f9fafb;color:#111827}.manual-code{margin:0 24px 24px;border:1px dashed #98a2b3;border-radius:18px;background:#f3f4f6;padding:14px;text-align:center}.manual-code span{display:block;text-transform:uppercase;letter-spacing:2px;font-size:12px;color:#667085;font-weight:900}.manual-code strong{display:block;font-size:clamp(18px,4vw,26px);letter-spacing:1px;color:#111827;margin-top:4px}@media(max-width:700px){.digital-ticket-main{grid-template-columns:1fr;padding:18px}.digital-ticket-info{grid-template-columns:1fr}.digital-ticket-top{align-items:flex-start}.digital-ticket-top img{width:110px}.ticket-event-card>img,.ticket-event-card .ticket-cover{height:210px!important;padding:10px!important}}

/* Ticketing admin search, pagination and compact actions */
.ticket-order-search{
  display:flex;
  gap:12px;
  align-items:center;
  margin:14px 0 16px;
  flex-wrap:wrap;
}
.ticket-order-search input[type="search"]{
  flex:1 1 360px;
  min-height:48px;
  border:1px solid #dbe4f0;
  border-radius:16px;
  padding:0 16px;
  font-weight:700;
  background:#fff;
}
.ticket-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.ticket-actions form{margin:0;}
.ticket-pagination{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:20px;
}
.ticket-pagination a{
  min-width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dbe4f0;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  font-weight:900;
}
.ticket-pagination a.active,
.ticket-pagination a:hover{
  background:#4778ff;
  color:#fff;
  border-color:#4778ff;
}
@media (max-width: 720px){
  .ticket-order-search{display:block;}
  .ticket-order-search input[type="search"],
  .ticket-order-search .btn{width:100%;margin-bottom:10px;}
  .ticket-actions{display:grid;grid-template-columns:1fr;}
  .ticket-actions .btn{width:100%;}
}

/* Ticketing admin split sections + clean public nav */
.ticket-admin-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 22px;
}
.ticket-admin-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  border-radius:16px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  text-decoration:none;
  font-weight:900;
  box-shadow:0 10px 30px var(--shadow);
}
.ticket-admin-tabs a.active,
.ticket-admin-tabs a:hover{
  background:linear-gradient(135deg,#4777ff,#8f63f1);
  border-color:transparent;
  color:#fff;
}
.topbar nav a[href$="billeterie.php"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  color:inherit!important;
  font-weight:700!important;
}
.topbar nav a[href$="billeterie.php"]:hover{color:#7c5cff!important;}
@media(max-width:700px){.ticket-admin-tabs{display:grid;grid-template-columns:1fr}.ticket-admin-tabs a{width:100%;}}

/* Scanner billets rapide/mobile */
.scanner-mobile-clean{max-width:980px;margin-inline:auto}.scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.scanner-head h2{margin-bottom:6px}.scanner-head p{margin:0;max-width:720px}.scanner-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.24);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;background:rgba(37,99,235,.08);white-space:nowrap}.scan-card{position:relative;border:1px solid rgba(148,163,184,.22);border-radius:26px;background:rgba(15,23,42,.04);padding:14px;overflow:hidden}.mobile-reader{min-height:360px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#0f172a,#111827);display:flex;align-items:center;justify-content:center}.mobile-reader:before{content:'Caméra prête';color:rgba(255,255,255,.7);font-weight:800;letter-spacing:.04em}.mobile-reader.active:before{display:none}.mobile-reader video,.mobile-reader canvas{border-radius:18px!important}.scan-card video#scanVideo{display:none;width:100%;max-height:560px;object-fit:cover;border-radius:22px;background:#020617}.scan-card video#scanVideo.active{display:block}.scan-ok{color:#16a34a!important;font-weight:900}.scan-actions-pro{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.scan-form-pro{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.scan-form-pro label{grid-column:1/-1;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.scan-form-pro input{text-transform:uppercase;letter-spacing:.04em}.scan-result-box{margin-bottom:16px}.scan-result-box p{margin:10px 0 0;line-height:1.55}
[data-theme="dark"] .scan-card{background:rgba(2,6,23,.32);border-color:rgba(148,163,184,.16)}[data-theme="dark"] .scanner-pill{background:rgba(96,165,250,.12);color:#bfdbfe;border-color:rgba(147,197,253,.18)}
@media(max-width:700px){.scanner-mobile-clean{padding:16px!important;border-radius:0!important;box-shadow:none!important}.scanner-head{display:block}.scanner-pill{margin-top:12px}.mobile-reader{min-height:330px;border-radius:18px}.scan-card{padding:10px;border-radius:22px}.scan-actions-pro{display:grid;grid-template-columns:1fr;gap:10px}.scan-actions-pro .btn,.scan-actions-pro label.btn{width:100%;min-height:50px}.scan-form-pro{grid-template-columns:1fr}.scan-form-pro button{width:100%;min-height:52px}.scan-form-pro input{font-size:16px;min-height:52px}.scanner-head h2{font-size:24px}}

/* Scanner mobile camera display fix */
.scan-card video#scanVideo.active{
  display:block!important;
  width:100%!important;
  min-height:360px!important;
  max-height:70vh!important;
  object-fit:cover!important;
  border-radius:22px!important;
  background:#020617!important;
}
@media(max-width:700px){
  .scan-card video#scanVideo.active{min-height:360px!important;max-height:62vh!important;border-radius:18px!important;}
  .mobile-reader{min-height:120px!important;}
}


/* ===== FIX 2026-06-07: admin billetterie table + sidebar hover ===== */
.admin-nav-07 a:hover:not(.active){
  background:#f7faff!important;
  border-color:#dbe7ff!important;
  box-shadow:none!important;
  transform:none!important;
}
.admin-nav-07 a.active{background:linear-gradient(135deg,var(--admin-blue),var(--admin-blue-2))!important;color:#fff!important;}
.admin-ui-07 .orders-table{
  width:100%;
  overflow-x:auto;
  border-radius:22px;
  border:1px solid rgba(148,163,184,.22);
  background:#0b1220;
}
.admin-ui-07 .orders-table table{
  min-width:1180px;
  table-layout:fixed;
  border-radius:22px;
}
.admin-ui-07 .orders-table th,
.admin-ui-07 .orders-table td{
  padding:12px 10px!important;
  vertical-align:middle!important;
  line-height:1.15!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.admin-ui-07 .orders-table th:nth-child(1),.admin-ui-07 .orders-table td:nth-child(1){width:130px;}
.admin-ui-07 .orders-table th:nth-child(2),.admin-ui-07 .orders-table td:nth-child(2){width:150px;}
.admin-ui-07 .orders-table th:nth-child(3),.admin-ui-07 .orders-table td:nth-child(3){width:190px;}
.admin-ui-07 .orders-table th:nth-child(4),.admin-ui-07 .orders-table td:nth-child(4){width:52px;text-align:center;}
.admin-ui-07 .orders-table th:nth-child(5),.admin-ui-07 .orders-table td:nth-child(5){width:135px;}
.admin-ui-07 .orders-table th:nth-child(6),.admin-ui-07 .orders-table td:nth-child(6){width:80px;}
.admin-ui-07 .orders-table th:nth-child(7),.admin-ui-07 .orders-table td:nth-child(7){width:185px;}
.admin-ui-07 .orders-table th:nth-child(8),.admin-ui-07 .orders-table td:nth-child(8){width:135px;}
.admin-ui-07 .orders-table th:nth-child(9),.admin-ui-07 .orders-table td:nth-child(9){width:220px;}
.admin-ui-07 .orders-table small{display:block;font-size:12px;line-height:1.25;margin-top:4px;}
.admin-ui-07 .success-box.mini,
.admin-ui-07 .error-box.mini{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  width:auto!important;
  max-width:100%;
  margin:0 0 4px 0!important;
  white-space:nowrap;
  padding:7px 10px!important;
  border-radius:11px!important;
  font-size:12px!important;
  line-height:1!important;
}
.admin-ui-07 .email-last-try{
  display:block!important;
  margin-top:5px!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:#a7b3c8!important;
}
html[data-theme="light"] .admin-ui-07 .email-last-try{color:#64748b!important;}
.admin-ui-07 .ticket-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.admin-ui-07 .ticket-actions .btn.mini{padding:10px 13px!important;font-size:12px!important;margin:0!important;white-space:nowrap;}
.admin-ui-07 .ticket-actions .muted{font-size:12px;line-height:1.2;}
@media(max-width:900px){
  .admin-ui-07 .orders-table table{min-width:1120px;}
}

/* FIX 2026-06-07 - Admin sidebar + billetterie email deliverability UI */
.admin-ui-07 .admin-sidebar-07{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin;
}
.admin-ui-07 .admin-nav-07{padding-bottom:18px!important;}
.admin-ui-07 .admin-nav-07 a{min-height:48px!important;}
.admin-ui-07 .admin-nav-07 a em{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.admin-ui-07 .email-delivery-note,
.admin-ui-07 .email-last-try{
  display:block!important;
  margin-top:6px!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#94a3b8!important;
  max-width:175px!important;
  word-break:break-word!important;
}
.admin-ui-07 .ticket-actions{align-items:flex-start!important;gap:8px!important;}
.admin-ui-07 .ticket-resend-form{display:grid!important;gap:8px!important;min-width:190px!important;}
.admin-ui-07 .ticket-resend-email{
  width:100%!important;
  max-width:210px!important;
  border:1px solid rgba(148,163,184,.32)!important;
  background:rgba(255,255,255,.08)!important;
  color:var(--text)!important;
  border-radius:12px!important;
  padding:9px 10px!important;
  font-size:12px!important;
  outline:none!important;
}
html[data-theme="light"] .admin-ui-07 .ticket-resend-email{background:#fff!important;color:#0f172a!important;border-color:#dbe4f0!important;}
.admin-ui-07 .ticket-resend-email:focus{border-color:#4b7cff!important;box-shadow:0 0 0 3px rgba(75,124,255,.16)!important;}
.admin-ui-07 .orders-table td{vertical-align:middle!important;}

@media(max-width:980px){
  .admin-ui-07 .admin-sidebar-07{max-height:none!important;overflow:visible!important;}
  .admin-ui-07 .admin-nav-07{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;padding-bottom:0!important;}
  .admin-ui-07 .orders-table{border-radius:18px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .admin-ui-07 .orders-table table{min-width:1180px!important;}
}
@media(max-width:560px){
  .admin-ui-07 .admin-nav-07{grid-template-columns:1fr!important;}
  .admin-ui-07 .admin-nav-07 a{min-height:44px!important;padding:10px 12px!important;}
  .admin-ui-07 .admin-main-07{padding:10px!important;}
  .admin-ui-07 .admin-panel{padding:16px!important;border-radius:20px!important;}
  .admin-ui-07 .ticket-admin-tabs{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .admin-ui-07 .ticket-order-search{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .admin-ui-07 .ticket-order-search .btn{width:100%!important;}
}


/* Forfaits publics + admin */
.package-hero{background:linear-gradient(135deg,rgba(155,117,232,.24),rgba(255,255,255,.06))!important}.package-public-wrap{padding-top:18px}.package-grid-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.package-card-public{position:relative;display:flex;flex-direction:column;gap:14px;border:1px solid var(--border,rgba(0,0,0,.12));background:var(--card,#fff);border-radius:30px;padding:28px;box-shadow:0 18px 60px var(--shadow,rgba(0,0,0,.08));color:var(--text,#111);overflow:hidden}.package-card-public.featured{border-color:rgba(155,117,232,.55);box-shadow:0 24px 80px rgba(155,117,232,.18)}.package-featured{position:absolute;top:18px;right:18px;border-radius:999px;background:rgba(155,117,232,.18);border:1px solid rgba(155,117,232,.35);padding:8px 12px;font-size:12px;font-weight:950;color:var(--text,#111)}.package-category{margin:0;text-transform:uppercase;letter-spacing:4px;font-size:12px;color:var(--muted,#666);font-weight:950}.package-card-public h2{font-size:clamp(26px,3vw,38px);line-height:1.05;margin:0;color:var(--text,#111);letter-spacing:-1px}.package-short,.package-desc{color:var(--muted,#555);line-height:1.65;margin:0}.package-price{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:var(--accent-soft,rgba(155,117,232,.16));padding:12px 16px;font-size:18px;color:var(--text,#111)}.package-includes{display:grid;gap:10px;margin:4px 0 8px;padding:0;list-style:none}.package-includes li{position:relative;padding:12px 12px 12px 38px;border:1px solid var(--border,rgba(0,0,0,.10));border-radius:16px;background:var(--bg-2,rgba(127,127,127,.06));color:var(--text,#111);font-weight:800}.package-includes li:before{content:'✓';position:absolute;left:14px;top:11px;font-weight:950;color:#16a34a}.package-card-public .btn{margin-top:auto;text-align:center}.package-admin-badge{display:inline-flex;width:max-content;margin-bottom:12px;border-radius:999px;background:rgba(155,117,232,.14);border:1px solid rgba(155,117,232,.28);padding:7px 11px;font-weight:950;color:var(--admin-text,#111)}@media(max-width:760px){.package-grid-public{grid-template-columns:1fr}.package-card-public{padding:22px;border-radius:24px}.package-featured{position:static;width:max-content}.topbar nav{justify-content:center;flex-wrap:wrap;gap:12px}}

/* UPDATE 2026-06-08 - Forfaits flip cards 3 colonnes */
.package-grid-public.flip-mode{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:24px!important;
  perspective:1400px!important;
}
.package-flip-card{
  min-height:455px!important;
  perspective:1400px!important;
  cursor:pointer!important;
  outline:none!important;
}
.package-flip-inner{
  position:relative!important;
  width:100%!important;
  min-height:455px!important;
  height:100%!important;
  transform-style:preserve-3d!important;
  transition:transform .75s cubic-bezier(.2,.8,.2,1)!important;
}
.package-flip-card:hover .package-flip-inner,
.package-flip-card:focus-within .package-flip-inner,
.package-flip-card.is-flipped .package-flip-inner{
  transform:rotateY(180deg)!important;
}
.package-face{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:15px!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  border:1px solid var(--border,rgba(148,163,184,.22))!important;
  background:linear-gradient(180deg,var(--card,#101827),var(--bg-2,rgba(255,255,255,.05)))!important;
  border-radius:30px!important;
  padding:28px!important;
  box-shadow:0 22px 70px var(--shadow,rgba(0,0,0,.16))!important;
  overflow:hidden!important;
  color:var(--text,#f8fafc)!important;
}
.package-front:before{
  content:'';position:absolute;inset:-40% -20% auto auto;width:210px;height:210px;border-radius:50%;background:rgba(155,117,232,.18);filter:blur(10px);pointer-events:none;
}
.package-flip-card.featured .package-face{border-color:rgba(155,117,232,.58)!important;box-shadow:0 26px 85px rgba(155,117,232,.20)!important;}
.package-back{transform:rotateY(180deg)!important;overflow-y:auto!important;scrollbar-width:thin!important;}
.package-front h2{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.05!important;margin:0!important;letter-spacing:-.8px!important;position:relative!important;z-index:1!important;}
.package-front .package-short{min-height:70px!important;position:relative!important;z-index:1!important;}
.package-price-stack{display:grid!important;gap:4px!important;margin-top:auto!important;position:relative!important;z-index:1!important;}
.package-base-price{display:block!important;width:max-content!important;max-width:100%!important;color:var(--text,#f8fafc)!important;text-decoration:none!important;font-size:15px!important;font-weight:850!important;opacity:1!important;}.package-base-price.is-replaced{color:var(--muted,#94a3b8)!important;text-decoration:line-through!important;text-decoration-thickness:2px!important;opacity:.78!important;}
.package-sale-price{display:block!important;font-size:clamp(32px,4vw,48px)!important;line-height:1!important;letter-spacing:-1.5px!important;color:var(--text,#fff)!important;}
.package-more{width:100%!important;text-align:center!important;margin-top:8px!important;position:relative!important;z-index:2!important;}
.package-back h3{font-size:24px!important;line-height:1.1!important;margin:0!important;color:var(--text,#fff)!important;}
.package-back .package-desc{font-size:14px!important;line-height:1.55!important;}
.package-back .package-includes{max-height:none!important;}
.package-back .package-includes li{font-size:14px!important;padding:10px 10px 10px 34px!important;}
.package-back .package-includes li:before{top:9px!important;}
.package-back .btn{margin-top:auto!important;text-align:center!important;}
html[data-theme="light"] .package-face{background:linear-gradient(180deg,#fff,#f8fafc)!important;color:#0f172a!important;}
html[data-theme="light"] .package-sale-price,html[data-theme="light"] .package-front h2,html[data-theme="light"] .package-back h3{color:#0f172a!important;}
@media(max-width:1050px){.package-grid-public.flip-mode{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.package-flip-card,.package-flip-inner{min-height:445px!important;}}
@media(max-width:700px){.package-grid-public.flip-mode{grid-template-columns:1fr!important;}.package-flip-card,.package-flip-inner{min-height:430px!important;}.package-face{padding:22px!important;border-radius:24px!important;}.package-flip-card:hover .package-flip-inner{transform:none!important;}.package-flip-card.is-flipped .package-flip-inner{transform:rotateY(180deg)!important;}.package-sale-price{font-size:38px!important;}}

/* UPDATE 2026-06-08 - Séparation Forfaits / Services complémentaires */
.package-section-title{margin:58px 0 24px;text-align:center;padding:34px 18px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:30px;background:linear-gradient(135deg,rgba(155,117,232,.16),rgba(127,127,127,.05));box-shadow:0 18px 55px var(--shadow,rgba(0,0,0,.08))}.package-section-title h2{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:0 0 12px;letter-spacing:-1.4px;color:var(--text,#111)}.package-section-title p:last-child{max-width:760px;margin:0 auto;color:var(--muted,#666);line-height:1.65}.package-card-actions{position:relative;z-index:5;margin-top:16px;display:flex;justify-content:center}.package-card-actions .btn{width:100%;text-align:center}.package-flip-card{height:auto!important}.package-flip-inner{height:455px!important}.complementary-mode{margin-bottom:28px}.package-admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.package-admin-tabs a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border:1px solid var(--admin-border,#e5e7eb);background:var(--admin-card,#fff);color:var(--admin-text,#111827);border-radius:999px;padding:13px 18px;font-weight:950;box-shadow:0 10px 28px rgba(15,23,42,.06)}.package-admin-tabs a.active{background:#111827;color:#fff;border-color:#111827}.package-admin-tabs span{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:rgba(155,117,232,.18);font-size:12px}.package-admin-tabs a.active span{background:rgba(255,255,255,.18)}.selected-service-box{margin:0 0 18px;padding:14px 16px;border-radius:18px;border:1px solid rgba(155,117,232,.32);background:rgba(155,117,232,.12);color:var(--text,#111);font-weight:800}.selected-service-box strong{font-weight:950}@media(max-width:1050px){.package-flip-inner{height:445px!important}}@media(max-width:700px){.package-flip-inner{height:430px!important}.package-card-actions{margin-top:12px}.package-section-title{margin-top:38px;border-radius:24px;padding:26px 16px}}
.home-complementary-services{width:min(980px,100%);margin:34px auto 0;padding:26px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:28px;background:rgba(127,127,127,.055)}.home-complementary-services h3{margin:0 0 18px;font-size:clamp(24px,3vw,36px);letter-spacing:-.8px}.complementary-service-cards{margin-top:12px}.complementary-event-card span{font-size:18px}@media(max-width:760px){.home-complementary-services{padding:20px;border-radius:22px}.complementary-service-cards{grid-template-columns:1fr!important}}

/* FIX 2026-06-08 - Mobile Safari: désactive le flip 3D pour éviter le texte miroir sur téléphone */
@media (max-width:700px){
  .package-grid-public.flip-mode,
  .package-flip-card,
  .package-flip-inner{
    perspective:none!important;
  }
  .package-flip-inner{
    transform:none!important;
    transform-style:flat!important;
    transition:none!important;
  }
  .package-flip-card:hover .package-flip-inner,
  .package-flip-card:focus-within .package-flip-inner,
  .package-flip-card.is-flipped .package-flip-inner{
    transform:none!important;
  }
  .package-face{
    -webkit-transform:none!important;
    transform:none!important;
    -webkit-backface-visibility:visible!important;
    backface-visibility:visible!important;
    transition:opacity .22s ease, visibility .22s ease!important;
  }
  .package-front{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .package-back{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    overflow-y:auto!important;
  }
  .package-flip-card.is-flipped .package-front{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .package-flip-card.is-flipped .package-back{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* UPDATE 2026-06-08 - Services complémentaires en panneau large avec bouton En savoir + */
.complementary-board-card{
  position:relative!important;
  width:min(1100px,100%)!important;
  margin:0 auto 34px!important;
  min-height:430px!important;
  perspective:1400px!important;
  cursor:default!important;
}
.complementary-board-inner{
  position:relative!important;
  width:100%!important;
  min-height:430px!important;
  transform-style:preserve-3d!important;
  transition:transform .75s cubic-bezier(.2,.8,.2,1)!important;
}
.complementary-board-card.is-flipped .complementary-board-inner{transform:rotateY(180deg)!important;}
.complementary-board-face{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  border:1px solid rgba(155,117,232,.30)!important;
  border-radius:32px!important;
  padding:34px!important;
  background:linear-gradient(135deg,var(--card,#101827),var(--bg-2,rgba(255,255,255,.045)))!important;
  box-shadow:0 28px 90px var(--shadow,rgba(0,0,0,.18))!important;
  color:var(--text,#f8fafc)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  overflow:hidden!important;
}
.complementary-board-front:before{content:'';position:absolute;inset:auto -80px -100px auto;width:260px;height:260px;border-radius:50%;background:rgba(155,117,232,.20);filter:blur(16px);pointer-events:none;}
.complementary-board-back{transform:rotateY(180deg)!important;overflow-y:auto!important;scrollbar-width:thin!important;}
.complementary-board-heading h3{margin:0!important;font-size:clamp(30px,4vw,50px)!important;line-height:1!important;letter-spacing:-1.4px!important;color:var(--text,#fff)!important;}
.complementary-board-heading p:not(.package-category){margin:8px 0 0!important;color:var(--muted,#94a3b8)!important;font-weight:750!important;}
.complementary-board-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px 22px!important;margin-top:4px!important;padding-right:170px!important;}
.complementary-board-item{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:50px!important;padding:13px 16px 13px 42px!important;border:1px solid var(--border,rgba(148,163,184,.22))!important;border-radius:18px!important;background:rgba(255,255,255,.035)!important;color:var(--text,#f8fafc)!important;text-decoration:none!important;font-weight:950!important;position:relative!important;transition:transform .18s ease,border-color .18s ease,background .18s ease!important;}
.complementary-board-item:before{content:'+';position:absolute;left:16px;top:50%;transform:translateY(-50%);font-weight:950;color:#16a34a;font-size:20px;line-height:1;}
.complementary-board-item:hover{transform:translateY(-2px);border-color:rgba(155,117,232,.60)!important;background:rgba(155,117,232,.10)!important;}
.complementary-board-item small{color:var(--muted,#94a3b8)!important;font-weight:900!important;white-space:nowrap!important;}
.complementary-more-btn{position:absolute!important;right:30px!important;bottom:30px!important;border:1px solid rgba(155,117,232,.55)!important;border-radius:999px!important;background:linear-gradient(135deg,#9b75e8,#7c5dde)!important;color:#fff!important;padding:14px 22px!important;font-weight:950!important;box-shadow:0 16px 38px rgba(155,117,232,.28)!important;cursor:pointer!important;z-index:4!important;}
.complementary-back-btn{position:sticky!important;margin-left:auto!important;display:block!important;right:auto!important;bottom:0!important;align-self:flex-end!important;margin-top:12px!important;}
.complementary-detail-list{display:grid!important;gap:14px!important;padding-bottom:8px!important;}
.complementary-detail-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;border:1px solid var(--border,rgba(148,163,184,.22))!important;border-radius:22px!important;background:rgba(255,255,255,.035)!important;padding:18px!important;}
.complementary-detail-item h4{margin:0 0 7px!important;color:var(--text,#fff)!important;font-size:22px!important;line-height:1.1!important;}
.complementary-detail-item p{margin:0!important;color:var(--muted,#94a3b8)!important;line-height:1.55!important;}
.complementary-detail-item ul{margin:10px 0 0!important;padding:0!important;list-style:none!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.complementary-detail-item li{border:1px solid rgba(155,117,232,.22)!important;border-radius:999px!important;padding:7px 10px!important;background:rgba(155,117,232,.08)!important;font-size:13px!important;font-weight:850!important;}
.complementary-quote-btn{white-space:nowrap!important;padding:12px 18px!important;}
html[data-theme="light"] .complementary-board-face{background:linear-gradient(135deg,#fff,#f8fafc)!important;color:#0f172a!important;}
html[data-theme="light"] .complementary-board-heading h3,html[data-theme="light"] .complementary-detail-item h4,html[data-theme="light"] .complementary-board-item{color:#0f172a!important;}
html[data-theme="light"] .complementary-board-item,html[data-theme="light"] .complementary-detail-item{background:rgba(15,23,42,.035)!important;}
@media(max-width:760px){
  .complementary-board-card,.complementary-board-inner{min-height:560px!important;perspective:none!important;}
  .complementary-board-inner{transform:none!important;transform-style:flat!important;transition:none!important;}
  .complementary-board-card.is-flipped .complementary-board-inner{transform:none!important;}
  .complementary-board-face{padding:24px!important;border-radius:26px!important;transform:none!important;-webkit-transform:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;transition:opacity .22s ease,visibility .22s ease!important;}
  .complementary-board-back{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
  .complementary-board-card.is-flipped .complementary-board-front{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
  .complementary-board-card.is-flipped .complementary-board-back{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .complementary-board-list{grid-template-columns:1fr!important;padding-right:0!important;gap:11px!important;}
  .complementary-more-btn{right:22px!important;bottom:22px!important;padding:13px 18px!important;}
  .complementary-detail-item{grid-template-columns:1fr!important;align-items:start!important;}
  .complementary-quote-btn{width:100%!important;text-align:center!important;}
  .complementary-board-heading h3{font-size:34px!important;}
}

/* Correctif v39 - services complémentaires: afficher toute l'information admin */
.complementary-board-card{min-height:500px!important;}
.complementary-board-inner{min-height:500px!important;}
.complementary-board-list{align-content:start!important;}
.complementary-board-item{min-height:78px!important;align-items:center!important;padding:14px 18px 14px 44px!important;}
.complementary-item-main{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;}
.complementary-item-main em{font-style:normal!important;color:var(--muted,#94a3b8)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:11px!important;font-weight:950!important;}
.complementary-item-main strong{font-size:18px!important;line-height:1.15!important;color:var(--text,#f8fafc)!important;}
.complementary-item-summary{display:block!important;color:var(--muted,#94a3b8)!important;font-weight:750!important;white-space:normal!important;line-height:1.3!important;}
.complementary-item-price{font-size:18px!important;color:var(--text,#f8fafc)!important;font-weight:950!important;white-space:nowrap!important;}
.complementary-detail-item{grid-template-columns:minmax(0,1fr) 230px!important;align-items:stretch!important;}
.complementary-detail-content{min-width:0!important;}
.complementary-detail-category{display:inline-flex!important;width:max-content!important;margin:0 0 10px!important;border:1px solid rgba(155,117,232,.32)!important;border-radius:999px!important;padding:6px 10px!important;background:rgba(155,117,232,.12)!important;color:var(--text,#f8fafc)!important;font-size:12px!important;font-weight:950!important;}
.complementary-detail-short{font-weight:900!important;color:var(--text,#f8fafc)!important;margin-bottom:8px!important;}
.complementary-detail-desc{margin-top:8px!important;}
.complementary-detail-side{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-end!important;gap:8px!important;text-align:right!important;}
.complementary-detail-side .package-base-price{font-size:17px!important;}
.complementary-detail-side .package-sale-price{font-size:clamp(24px,3vw,38px)!important;line-height:1!important;}
.complementary-detail-side .complementary-quote-btn{margin-top:8px!important;}
html[data-theme="light"] .complementary-item-main strong,html[data-theme="light"] .complementary-item-price,html[data-theme="light"] .complementary-detail-category,html[data-theme="light"] .complementary-detail-short{color:#0f172a!important;}
@media(max-width:760px){
  .complementary-board-card,.complementary-board-inner{min-height:650px!important;}
  .complementary-board-list{padding-bottom:72px!important;}
  .complementary-board-item{align-items:flex-start!important;flex-direction:column!important;gap:8px!important;padding:14px 16px 14px 42px!important;}
  .complementary-item-price{align-self:flex-start!important;font-size:17px!important;}
  .complementary-detail-item{grid-template-columns:1fr!important;}
  .complementary-detail-side{align-items:flex-start!important;text-align:left!important;}
  .complementary-detail-side .complementary-quote-btn{width:100%!important;text-align:center!important;}
}

/* Admin forfaits/services complémentaires - liaison avec le nouveau visuel */
.package-admin-help{margin:6px 0 12px;padding:12px 14px;border:1px solid rgba(155,117,232,.22);border-radius:16px;background:rgba(155,117,232,.08);color:var(--muted,#64748b);font-weight:750;line-height:1.45}.package-admin-help strong{color:var(--text,#0f172a)}
.package-admin-mini-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px;padding:10px 12px;border:1px solid rgba(155,117,232,.20);border-radius:16px;background:rgba(155,117,232,.06);font-weight:850}.package-admin-mini-preview span{margin-right:auto}.package-admin-mini-preview strong{font-size:14px;color:var(--text,#0f172a)}.package-admin-mini-preview em{font-style:normal;border-radius:999px;padding:5px 9px;background:rgba(155,117,232,.15);color:var(--text,#0f172a)}

/* Services complémentaires: afficher le prix de base clairement dans la liste */
.complementary-item-prices{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important;white-space:nowrap!important}.complementary-item-base-price{font-size:16px!important;color:var(--text,#f8fafc)!important;font-weight:950!important}.complementary-item-base-price.is-replaced{color:var(--muted,#94a3b8)!important;text-decoration:line-through!important;text-decoration-thickness:2px!important;opacity:.78!important}.complementary-item-prices .complementary-item-price{font-size:18px!important;color:var(--text,#f8fafc)!important;font-weight:950!important}
@media(max-width:700px){.complementary-item-prices{align-items:flex-start!important}.package-admin-help{font-size:13px}}
html[data-theme="light"] .complementary-item-base-price,html[data-theme="light"] .complementary-item-prices .complementary-item-price{color:#0f172a!important}

/* Correctif services complémentaires: prix de base non barré sans rabais + bouton retour non superposé */
.complementary-board-back{display:flex!important;flex-direction:column!important;}
.complementary-board-back .complementary-detail-list{padding-bottom:0!important;}
.complementary-back-btn{position:static!important;right:auto!important;bottom:auto!important;align-self:flex-end!important;margin:18px 0 0 auto!important;z-index:1!important;}
.complementary-detail-side .package-base-price:not(.is-replaced){font-size:clamp(24px,3vw,38px)!important;line-height:1!important;font-weight:950!important;color:var(--text,#f8fafc)!important;}
html[data-theme="light"] .package-base-price:not(.is-replaced),html[data-theme="light"] .complementary-detail-side .package-base-price:not(.is-replaced){color:#0f172a!important;}
@media(max-width:700px){.complementary-back-btn{width:100%!important;text-align:center!important;margin-top:14px!important;}.complementary-detail-side .package-base-price:not(.is-replaced){font-size:30px!important;}}

/* Correctif v42 - Services complémentaires: retirer la scrollbar interne et laisser la page respirer */
.complementary-board-card,
.complementary-board-inner{
  transition:min-height .24s ease,height .24s ease!important;
}
.complementary-board-face{
  overflow:visible!important;
}
.complementary-board-back{
  overflow:visible!important;
  scrollbar-width:none!important;
}
.complementary-board-back::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.complementary-detail-list{
  padding-right:0!important;
}
.complementary-board-card.is-flipped{
  margin-bottom:48px!important;
}
@media(max-width:760px){
  .complementary-board-card.is-flipped{margin-bottom:36px!important;}
}

/* Correctif v43 - Services complémentaires: scrollbar propre + textes longs + popup lecture */
.complementary-board-card.is-flipped{
  width:min(1120px,calc(100% - 28px))!important;
}
.complementary-board-back{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:42px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(155,117,232,.78) rgba(255,255,255,.055)!important;
}
.complementary-board-back::-webkit-scrollbar{
  width:10px!important;
  display:block!important;
}
.complementary-board-back::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055)!important;
  border-radius:999px!important;
  margin:22px 0!important;
}
.complementary-board-back::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(155,117,232,.95),rgba(123,92,214,.72))!important;
  border-radius:999px!important;
  border:2px solid rgba(15,23,42,.92)!important;
}
.complementary-detail-list{
  min-width:0!important;
  padding-right:0!important;
}
.complementary-detail-item{
  overflow:hidden!important;
}
.complementary-detail-content,
.complementary-item-main{
  min-width:0!important;
  overflow:hidden!important;
}
.complementary-item-summary,
.complementary-detail-short,
.complementary-detail-desc{
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto!important;
  max-width:100%!important;
}
.complementary-item-summary{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.complementary-detail-desc{
  display:-webkit-box!important;
  -webkit-line-clamp:4!important;
  -webkit-box-orient:vertical!important;
  line-height:1.5!important;
}
.complementary-read-more{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:10px!important;
  padding:9px 13px!important;
  border:1px solid rgba(155,117,232,.38)!important;
  border-radius:999px!important;
  background:rgba(155,117,232,.14)!important;
  color:var(--text,#f8fafc)!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.complementary-read-more:hover{transform:translateY(-1px)!important;background:rgba(155,117,232,.24)!important;}
.service-read-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:rgba(2,6,23,.72)!important;
  backdrop-filter:blur(10px)!important;
}
.service-read-modal.is-open{display:flex!important;}
.service-read-modal__panel{
  position:relative!important;
  width:min(760px,100%)!important;
  max-height:min(78vh,760px)!important;
  overflow:auto!important;
  padding:30px!important;
  border:1px solid rgba(155,117,232,.38)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,var(--card,#111827),var(--bg-2,#0b1020))!important;
  box-shadow:0 34px 120px rgba(0,0,0,.45)!important;
  color:var(--text,#f8fafc)!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(155,117,232,.78) rgba(255,255,255,.07)!important;
}
.service-read-modal__panel::-webkit-scrollbar{width:10px!important;}
.service-read-modal__panel::-webkit-scrollbar-track{background:rgba(255,255,255,.07)!important;border-radius:999px!important;}
.service-read-modal__panel::-webkit-scrollbar-thumb{background:rgba(155,117,232,.88)!important;border-radius:999px!important;}
.service-read-modal__panel h3{margin:6px 42px 16px 0!important;font-size:clamp(28px,4vw,44px)!important;line-height:1!important;}
.service-read-modal__body{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.65!important;
  color:var(--muted,#cbd5e1)!important;
  font-weight:650!important;
}
.service-read-modal__close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(155,117,232,.35)!important;
  border-radius:999px!important;
  background:rgba(155,117,232,.16)!important;
  color:var(--text,#f8fafc)!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
}
html[data-theme="light"] .service-read-modal{background:rgba(15,23,42,.35)!important;}
html[data-theme="light"] .service-read-modal__panel{background:#fff!important;color:#0f172a!important;}
html[data-theme="light"] .service-read-modal__body{color:#475569!important;}
html[data-theme="light"] .complementary-read-more{color:#0f172a!important;}
@media(max-width:760px){
  .complementary-board-back{padding-right:24px!important;}
  .complementary-board-back::-webkit-scrollbar{width:7px!important;}
  .service-read-modal__panel{padding:24px 20px!important;border-radius:24px!important;}
}

/* Correctif v45 - descriptions longues: aperçu propre + page détail dédiée */
.complementary-board-item .complementary-item-summary,
.complementary-detail-item .complementary-detail-short,
.complementary-detail-item .complementary-detail-desc{
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  max-width:100%!important;
}
.complementary-detail-short{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  line-height:1.35!important;
}
.complementary-detail-desc{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  line-height:1.45!important;
}
.complementary-read-more{
  text-decoration:none!important;
  width:max-content!important;
  max-width:100%!important;
}
.complementary-detail-item{
  min-height:150px!important;
  align-items:center!important;
}
.complementary-board-back{
  max-height:min(780px,calc(100vh - 110px))!important;
}
.service-detail-page{
  width:min(1120px,calc(100% - 28px));
  margin:52px auto;
}
.service-detail-card{
  border:1px solid rgba(155,117,232,.32);
  border-radius:32px;
  padding:34px;
  background:linear-gradient(135deg,var(--card,#101827),var(--bg-2,rgba(255,255,255,.045)));
  box-shadow:0 28px 90px var(--shadow,rgba(0,0,0,.18));
  color:var(--text,#f8fafc);
}
.service-back-link{
  display:inline-flex;
  margin-bottom:22px;
  color:var(--muted,#94a3b8);
  text-decoration:none;
  font-weight:950;
}
.service-back-link:hover{color:var(--text,#f8fafc);}
.service-detail-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:28px;
  align-items:start;
  margin-top:10px;
}
.service-detail-card h1{
  margin:0;
  font-size:clamp(38px,6vw,72px);
  line-height:.98;
  letter-spacing:-2px;
}
.service-detail-lead{
  margin:18px 0 0;
  color:var(--muted,#cbd5e1);
  font-weight:800;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.service-detail-price{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  text-align:right;
}
.service-detail-price .package-base-price:not(.is-replaced){
  font-size:clamp(26px,4vw,44px)!important;
  font-weight:950!important;
  color:var(--text,#f8fafc)!important;
}
.service-detail-text{
  margin-top:28px;
  padding:24px;
  border:1px solid var(--border,rgba(148,163,184,.22));
  border-radius:24px;
  background:rgba(255,255,255,.035);
  color:var(--muted,#cbd5e1);
  font-weight:650;
  line-height:1.75;
  white-space:normal;
  overflow-wrap:anywhere;
}
.service-detail-includes{
  margin-top:22px;
}
.service-detail-includes h2{margin:0 0 12px;font-size:26px;}
.service-detail-includes ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.service-detail-includes li{
  border:1px solid rgba(155,117,232,.28);
  border-radius:999px;
  padding:10px 13px;
  background:rgba(155,117,232,.10);
  font-weight:900;
}
html[data-theme="light"] .service-detail-card{background:#fff;color:#0f172a;}
html[data-theme="light"] .service-detail-text{background:rgba(15,23,42,.035);color:#475569;}
html[data-theme="light"] .service-back-link:hover{color:#0f172a;}
html[data-theme="light"] .service-detail-price .package-base-price:not(.is-replaced){color:#0f172a!important;}
@media(max-width:760px){
  .service-detail-page{margin:28px auto;width:min(100% - 18px,1120px);}
  .service-detail-card{padding:24px 18px;border-radius:26px;}
  .service-detail-head{grid-template-columns:1fr;}
  .service-detail-price{align-items:flex-start;text-align:left;}
  .service-detail-price .btn{width:100%;text-align:center;}
  .service-detail-text{padding:18px;}
  .complementary-board-back{max-height:none!important;}
}

/* Correctif v46 - Services complémentaires mobile: cartes propres, symétriques et sans débordement */
html,body{overflow-x:hidden!important;}
.complementary-board-card{box-sizing:border-box!important;}
.complementary-board-face{box-sizing:border-box!important;}
.complementary-board-item,.complementary-detail-item{box-sizing:border-box!important;max-width:100%!important;}
.complementary-item-main,.complementary-detail-content{min-width:0!important;max-width:100%!important;}
.complementary-item-main strong,.complementary-item-summary,.complementary-detail-short,.complementary-detail-desc{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
@media(max-width:760px){
  .ticket-public-wrap.package-public-wrap{width:100%!important;padding-left:12px!important;padding-right:12px!important;box-sizing:border-box!important;}
  .package-section-title{width:100%!important;box-sizing:border-box!important;}
  .complementary-board-card,
  .complementary-board-card.is-flipped{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .complementary-board-face{
    width:100%!important;
    padding:22px 18px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .complementary-board-heading h3{
    font-size:clamp(34px,11vw,48px)!important;
    line-height:.96!important;
    letter-spacing:-1px!important;
  }
  .complementary-board-heading p:not(.package-category){font-size:18px!important;line-height:1.35!important;}
  .complementary-board-list{
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:0 0 76px!important;
    overflow:hidden!important;
  }
  .complementary-board-item{
    width:100%!important;
    min-height:120px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-content:start!important;
    align-items:start!important;
    gap:9px!important;
    padding:18px 18px 18px 54px!important;
    overflow:hidden!important;
  }
  .complementary-board-item:before{left:22px!important;top:50%!important;transform:translateY(-50%)!important;}
  .complementary-item-main{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .complementary-item-main em{font-size:12px!important;letter-spacing:.20em!important;}
  .complementary-item-main strong{font-size:22px!important;line-height:1.12!important;}
  .complementary-item-summary{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    white-space:normal!important;
    overflow:hidden!important;
    line-height:1.25!important;
    font-size:16px!important;
  }
  .complementary-item-prices{
    width:100%!important;
    align-items:flex-start!important;
    text-align:left!important;
    overflow:hidden!important;
  }
  .complementary-item-base-price,.complementary-item-price{font-size:19px!important;line-height:1.15!important;}
  .complementary-more-btn{right:18px!important;bottom:18px!important;}
  .complementary-board-back{padding-right:18px!important;max-height:none!important;overflow:visible!important;}
  .complementary-detail-list{gap:14px!important;overflow:hidden!important;}
  .complementary-detail-item{padding:16px!important;min-height:auto!important;overflow:hidden!important;}
}
@media(max-width:420px){
  .ticket-public-wrap.package-public-wrap{padding-left:10px!important;padding-right:10px!important;}
  .complementary-board-face{padding:20px 16px!important;}
  .complementary-board-item{padding-left:50px!important;}
  .complementary-board-heading h3{font-size:40px!important;}
}

/* Correctif v47 - Detail services complémentaires mobile propre et symétrique */
@media(max-width:760px){
  .complementary-board-card.is-flipped .complementary-board-face{
    padding:22px 16px!important;
    overflow:visible!important;
  }
  .complementary-board-card.is-flipped .complementary-board-heading{
    margin-bottom:18px!important;
  }
  .complementary-board-card.is-flipped .complementary-board-heading h3{
    font-size:clamp(34px,10vw,46px)!important;
    line-height:1!important;
    letter-spacing:-1.2px!important;
  }
  .complementary-detail-list{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .complementary-detail-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
    width:100%!important;
    min-height:0!important;
    padding:20px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .complementary-detail-content{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .complementary-detail-category{
    margin:0 0 4px!important;
    max-width:100%!important;
  }
  .complementary-detail-item h4{
    margin:0!important;
    font-size:30px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
  }
  .complementary-detail-short,
  .complementary-detail-desc{
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    hyphens:none!important;
    font-size:17px!important;
    line-height:1.38!important;
  }
  .complementary-detail-short{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
  .complementary-detail-desc{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    color:var(--muted,#cbd5e1)!important;
  }
  .complementary-read-more{
    margin:8px 0 0!important;
    width:max-content!important;
    max-width:100%!important;
    align-self:flex-start!important;
    position:static!important;
  }
  .complementary-detail-item ul{
    margin:4px 0 0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .complementary-detail-item li{
    font-size:15px!important;
    padding:8px 12px!important;
  }
  .complementary-detail-side{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:100%!important;
    text-align:left!important;
    margin-top:2px!important;
  }
  .complementary-detail-side .package-base-price,
  .complementary-detail-side .package-sale-price{
    position:static!important;
    display:block!important;
    width:100%!important;
    text-align:left!important;
    margin:0!important;
  }
  .complementary-detail-side .package-base-price:not(.is-replaced),
  .complementary-detail-side .package-sale-price{
    font-size:36px!important;
    line-height:1!important;
  }
  .complementary-detail-side .package-base-price.is-replaced{
    font-size:18px!important;
    opacity:.7!important;
  }
  .complementary-detail-side .complementary-quote-btn{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin:0!important;
    border-radius:999px!important;
  }
  .complementary-back-btn{
    position:static!important;
    width:100%!important;
    margin-top:18px!important;
    min-height:52px!important;
  }
}
@media(max-width:420px){
  .complementary-board-card.is-flipped .complementary-board-face{padding:20px 14px!important;}
  .complementary-detail-item{padding:18px!important;}
  .complementary-detail-item h4{font-size:28px!important;}
  .complementary-detail-side .package-base-price:not(.is-replaced),
  .complementary-detail-side .package-sale-price{font-size:34px!important;}
}
