/* ===== Dark Theme & Clean UI ===== */
:root{ --acm-bg:#0b1220; --acm-panel:#111827; --acm-border:#263244; --acm-text:#e5e7eb; --acm-muted:#97a3b6; --acm-primary:#fb923c; --acm-danger:#ef4444; }
.acm-ta-admin-wrap,.acm-tr-frontend{ color:var(--acm-text); }
.acm-ta-admin-wrap{ background:var(--acm-bg); padding:16px; border-radius:10px; }

/* Admin inputs full width & dark (ADMIN – NICHT GESCOPED) */
.acm-ta-admin-wrap .form-table input[type="text"],
.acm-ta-admin-wrap .form-table input[type="email"],
.acm-ta-admin-wrap .form-table textarea,
.acm-tr-admin-form input,
.acm-tr-admin-form select,
.acm-tr-admin-form textarea{
  width:100% !important; max-width:none !important;
  background:#1f2937 !important; color:#ffffff !important;
  border:1px solid var(--acm-border) !important; border-radius:8px !important;
  padding:8px 10px !important; box-shadow:none !important;
}
.acm-tr-admin-form input::placeholder,
.acm-tr-admin-form textarea::placeholder{ color:#a3b0c2 !important; }
.button,.acm-btn{ background:#223047; color:var(--acm-text); border:1px solid var(--acm-border); padding:10px 14px; border-radius:14px; cursor:pointer; font-weight:800; }
.button.button-primary,.acm-btn-primary{ background:linear-gradient(180deg,#ffa94d 0%,#fb923c 70%) !important; color:#101316 !important; border-color:transparent !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 6px 18px rgba(251,146,60,.3); }
.acm-btn-secondary{ background:linear-gradient(180deg,#2f3a52 0%,#1f2a3e 100%); color:#fff; border-color:rgba(255,255,255,.05); }
.button-link-delete,.acm-remove-field,.acm-remove-category{ color:var(--acm-danger) !important; }

/* ============================
   FRONTEND – NUR AUF DIESER SEITE
   Scope: .acm-cards-christmas
   ============================ */

/* Wrapper */
.acm-cards-christmas .acm-tr-frontend{ position:relative; z-index:0; max-width:none !important; }

/* Karten-Container: immer 1 Spalte, volle Breite */
.acm-cards-christmas .acm-category-grid{
  display:block !important;           /* Theme-Grid/Flex neutralisieren */
  width:100% !important;
}
.acm-cards-christmas .acm-category-grid > *{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 28px 0 !important;
  float:none !important;
  flex:0 0 100% !important;
}

/* Card */
.acm-cards-christmas .acm-card-christmas{
  background: rgba(17,24,39,0.55);
  backdrop-filter: blur(8px) saturate(120%);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  border: 1px solid rgba(38,50,68,0.7);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 24px;
  z-index:2;
}
@media (min-width: 900px){
  .acm-cards-christmas .acm-card-christmas{ padding:28px; }
}

/* sanfter Glanzrahmen */
.acm-cards-christmas .acm-card-christmas::before{
  content:''; position:absolute; inset:-2px; border-radius:24px;
  box-shadow: 0 0 6px 2px rgba(255,190,90,.15), 0 0 12px 4px rgba(255,130,60,.08) inset;
  pointer-events:none;
  /* plus ganz dezente Oberkante als "Seil" */
  background: linear-gradient(to bottom, rgba(255,255,255,.08), rgba(255,255,255,0)) top/100% 12px no-repeat;
}

/* Hängende Lichterkette (weiter auseinander, Mitte tiefer) */
@keyframes acm-twinkle { 0%,100%{opacity:.95} 50%{opacity:.65} }
.acm-cards-christmas .acm-card-christmas::after{
  content:'';
  position:absolute; left:6%; right:6%; top:6px; height:42px;
  pointer-events:none;
  background:
    radial-gradient(circle, rgba(255,214,102,1) 0 4px, transparent 5px)  0% 28%/10px 10px no-repeat,
    radial-gradient(circle, rgba(255,99,132,1)  0 4px, transparent 5px) 10% 32%/10px 10px no-repeat,
    radial-gradient(circle, rgba(72,207,173,1)  0 4px, transparent 5px) 20% 36%/10px 10px no-repeat,
    radial-gradient(circle, rgba(77,163,255,1)  0 4px, transparent 5px) 30% 41%/10px 10px no-repeat,
    radial-gradient(circle, rgba(255,214,102,1) 0 4px, transparent 5px) 40% 45%/10px 10px no-repeat,
    radial-gradient(circle, rgba(255,99,132,1)  0 4px, transparent 5px) 50% 48%/10px 10px no-repeat,
    radial-gradient(circle, rgba(72,207,173,1)  0 4px, transparent 5px) 60% 45%/10px 10px no-repeat,
    radial-gradient(circle, rgba(77,163,255,1)  0 4px, transparent 5px) 70% 41%/10px 10px no-repeat,
    radial-gradient(circle, rgba(255,214,102,1) 0 4px, transparent 5px) 80% 36%/10px 10px no-repeat,
    radial-gradient(circle, rgba(255,99,132,1)  0 4px, transparent 5px) 90% 32%/10px 10px no-repeat,
    radial-gradient(circle, rgba(72,207,173,1)  0 4px, transparent 5px) 100% 28%/10px 10px no-repeat,
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.35) 0 2px, transparent 3px);
  animation: acm-twinkle 2.8s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(255,255,255,.35)) drop-shadow(0 0 10px rgba(255,255,255,.2));
  border-radius: 999px;
}

/* Titel (Emojis IN der Zeile, nicht abgeschnitten) */
.acm-cards-christmas .acm-card-christmas-title{
  position:relative;
  font-size:28px; letter-spacing:.5px; color:#c9d5e8; margin:4px 0 10px 0;
  padding:0 42px;                /* Platz für Emojis */
  line-height:1.2;
  white-space:nowrap;
  overflow:visible;
}
.acm-cards-christmas .acm-card-christmas-title::before{
  content:"🎄"; position:absolute; left:10px; top:50%; transform:translateY(-50%) rotate(-6deg);
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.35));
}
.acm-cards-christmas .acm-card-christmas-title::after{
  content:"🎅"; position:absolute; right:10px; top:50%; transform:translateY(-50%) rotate(6deg);
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.35));
}
@media (max-width:460px){
  .acm-cards-christmas .acm-card-christmas-title{ padding:0 34px; }
}

/* Text/Badge/Actions */
.acm-cards-christmas .acm-card-christmas-desc{ color:#a5b0c3; font-size:14px; line-height:1.35; margin-bottom:10px; }
.acm-cards-christmas .acm-card-christmas-note{
  margin-top:8px; font-size:13px; color:#d9e1ee;
  background: rgba(255,255,255,0.06); border:1px dashed rgba(255,255,255,0.12);
  border-radius:12px; padding:8px 10px; backdrop-filter: blur(3px);
}
.acm-cards-christmas .acm-card-christmas-note::after{ content:"✨"; float:right; margin-left:6px; }
.acm-cards-christmas .acm-card-christmas-actions{ display:flex; gap:10px; margin-top:12px; }

/* Modal */
.acm-cards-christmas .acm-modal{ position:fixed; inset:0; display:none; z-index:10000; }
.acm-cards-christmas .acm-modal.active{ display:block; }
.acm-cards-christmas .acm-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.acm-cards-christmas .acm-modal-content{
  position:relative; width:min(820px,92%); background:var(--acm-panel); border:1px solid var(--acm-border);
  border-radius:18px; margin:60px auto 0; padding:18px 18px 22px; color:var(--acm-text);
  box-shadow:0 10px 30px rgba(0,0,0,.5); padding-top:52px;
}
.acm-cards-christmas .acm-modal-title{ position:absolute; top:14px; left:18px; margin:0; font-size:28px; font-weight:800; letter-spacing:.2px; }
.acm-cards-christmas .acm-modal-close{
  position:absolute; top:12px; right:14px; background:linear-gradient(180deg,#ffa94d 0%,#fb923c 70%);
  color:#111827; border:none; border-radius:12px; width:36px; height:36px; line-height:1; text-align:center;
  font-size:18px; cursor:pointer; z-index:10001; display:inline-flex; align-items:center; justify-content:center;
}

/* Inputs in modal */
.acm-cards-christmas #acm-ta-form input[type="text"],
.acm-cards-christmas #acm-ta-form input[type="email"],
.acm-cards-christmas #acm-ta-form input[type="number"]{
  background:#0f172a; border:1px solid rgba(148,163,184,.35); color:#e5e7eb; border-radius:12px; padding:12px 14px; outline:none;
  transition:border-color .15s, box-shadow .15s, background-color .15s;
}
.acm-cards-christmas #acm-ta-form input::placeholder{ color:#9fb0c8; }
.acm-cards-christmas #acm-ta-form input:focus{ border-color:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.25); background:#0b1220; }
.acm-cards-christmas #acm-ta-form .acm-extra-fields,
.acm-cards-christmas #acm-ta-form .acm-player-list,
.acm-cards-christmas #acm-ta-form .acm-actions{ margin-top:12px; }

.acm-cards-christmas .acm-player-row{ display:grid; grid-template-columns: 120px 1fr auto; gap:10px; align-items:center; margin-bottom:10px; }
.acm-cards-christmas #acm-ta-form input[type="number"].acm-num{ text-align:center; }
.acm-cards-christmas .acm-consent{ display:flex; align-items:center; gap:10px; margin:14px 2px 6px; font-weight:600; color:#dbe5f3; }
.acm-cards-christmas .acm-consent input[type="checkbox"]{ width:18px; height:18px; accent-color:#f59e0b; }

/* Snow behind cards but visible */
.acm-cards-christmas #acm-snow-canvas{ position:fixed; pointer-events:none; top:0; left:0; width:100vw; height:100vh; z-index:1; opacity:.9; }

/* SweetAlert2 dark (nur wenn du die Klasse .acm-swal-dark setzt) */
.swal2-popup.acm-swal-dark{ background:#0f1720 !important; color:#e5e7eb !important; border:1px solid #273244 !important; }
.swal2-title{ color:#e5e7eb !important; }
.swal2-html-container{ color:#cbd5e1 !important; }
.swal2-confirm{ background:var(--acm-primary) !important; color:#111827 !important; border:none !important; }
.swal2-cancel{ background:#374151 !important; color:#fff !important; border:none !important; }

/* ——— Xmas Buttons: clean & modern, nur hier ——— */
.acm-cards-christmas .acm-card-christmas .acm-btn{
  position:relative; overflow:visible; border-radius:16px;
  padding:12px 20px; font-weight:800; line-height:1.1; border:0;
  transition: transform .15s ease, box-shadow .25s ease, background-position .5s ease;
  white-space:nowrap;
}

/* Primary – warmes Gold mit Gradient-Shift & Glow */
.acm-cards-christmas .acm-card-christmas .acm-btn-primary{
  color:#111827 !important;
  background-image: linear-gradient(90deg,#ffd166 0%,#ffb347 50%,#ffd166 100%);
  background-size:200% 100%;
  box-shadow: 0 8px 22px rgba(251,146,60,.35), inset 0 1px 0 rgba(255,255,255,.35);
}
.acm-cards-christmas .acm-card-christmas .acm-btn-primary:hover,
.acm-cards-christmas .acm-card-christmas .acm-btn-primary:focus-visible{
  background-position:100% 0;
  transform:translateY(-2px);
  box-shadow: 0 12px 30px rgba(251,146,60,.45), 0 0 0 3px rgba(255,209,102,.22);
}
.acm-cards-christmas .acm-card-christmas .acm-btn-primary:active{ transform:translateY(0); }

/* Secondary – Tannengrün, subtiler Hover-Ring */
.acm-cards-christmas .acm-card-christmas .acm-btn-secondary{
  color:#0b1220 !important;
  background-image: linear-gradient(90deg,#34d399 0%,#059669 100%);
  box-shadow: 0 8px 22px rgba(5,150,105,.25), inset 0 1px 0 rgba(255,255,255,.25);
}
.acm-cards-christmas .acm-card-christmas .acm-btn-secondary:hover,
.acm-cards-christmas .acm-card-christmas .acm-btn-secondary:focus-visible{
  transform:translateY(-2px);
  box-shadow: 0 12px 28px rgba(5,150,105,.35), 0 0 0 3px rgba(34,197,94,.18);
}
.acm-cards-christmas .acm-card-christmas .acm-btn-secondary:active{ transform:translateY(0); }
/* ---- SweetAlert2: Dark & lesbar (nur wenn customClass 'acm-swal-dark') ---- */
.swal2-popup.acm-swal-dark{
  background:#0f1720 !important;
  color:#e5e7eb !important;
  border:1px solid #273244 !important;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.swal2-popup.acm-swal-dark .swal2-title{
  color:#e5e7eb !important;
  font-weight:800;
}
.swal2-popup.acm-swal-dark .swal2-html-container{
  color:#dbe5f3 !important;
  text-align:left;                 /* Inhalte linksbündig */
  font-size:16px;
}

/* Das ist entscheidend: <pre>/<code> im Dialog dunkel + kontrastreich */
.swal2-popup.acm-swal-dark .swal2-html-container pre,
.swal2-popup.acm-swal-dark .swal2-html-container code{
  background:#0b1220 !important;
  color:#e5e7eb !important;
  border:1px solid #263244 !important;
  border-radius:12px;
  padding:12px 14px;
  margin-top:8px;
  white-space:pre-wrap;           /* Zeilenumbruch erlauben */
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height:1.4;
}

/* Buttons im Dialog an deinen Stil angepasst */
.swal2-popup.acm-swal-dark .swal2-actions{ gap:10px; }
.swal2-popup.acm-swal-dark .swal2-confirm{
  background:linear-gradient(90deg,#ffd166 0%,#ffb347 100%) !important;
  color:#111827 !important; border:none !important; font-weight:800;
  box-shadow:0 8px 22px rgba(251,146,60,.35) !important;
}
.swal2-popup.acm-swal-dark .swal2-confirm:hover{
  filter:brightness(1.05);
}
.swal2-popup.acm-swal-dark .swal2-cancel{
  background:linear-gradient(90deg,#34d399 0%,#059669 100%) !important;
  color:#0b1220 !important; border:none !important; font-weight:800;
  box-shadow:0 8px 22px rgba(5,150,105,.25) !important;
}
/* "Kader:"-Überschrift über den Spielerfeldern */
.acm-cards-christmas .acm-squad-title{
  margin:14px 2px 6px;
  font-weight:800;
  font-size:14px;
  color:#dbe5f3;
  letter-spacing:.2px;
}

/* Consent-Link gut sichtbar, aber dezent */
.acm-cards-christmas .acm-consent a{
  color:#ffd166;
  text-decoration:underline;
}
.acm-cards-christmas .acm-consent a:hover{
  text-decoration:none;
}
/* === Spacing zwischen Inputs (nur auf der Christmas-Seite) === */
.acm-cards-christmas #acm-ta-form input[type="text"],
.acm-cards-christmas #acm-ta-form input[type="email"],
.acm-cards-christmas #acm-ta-form input[type="number"]{
  margin-bottom: 12px !important;
}
.acm-cards-christmas #acm-ta-form .acm-extra-fields > *{ margin-bottom:12px !important; }
.acm-cards-christmas .acm-player-row{ margin-top:8px; margin-bottom:12px; }
.acm-cards-christmas .acm-actions{ margin-top:16px; }
.acm-cards-christmas .acm-consent{ margin-top:16px; }

/* === Modernes Modal-Intro === */
@keyframes acmFadeIn { from{opacity:0} to{opacity:1} }
@keyframes acmModalIn { 
  from{ transform: translateY(14px) scale(.98); opacity:.0; }
  to  { transform: translateY(0)    scale(1);   opacity:1; }
}
.acm-cards-christmas .acm-modal.active .acm-modal-backdrop{ animation: acmFadeIn .22s ease both; }
.acm-cards-christmas .acm-modal.active .acm-modal-content{ animation: acmModalIn .26s cubic-bezier(.2,.7,.2,1) both; }

/* === Inputs: Glow + Shine beim Fokus, dezent & edel === */
@keyframes acmInputSheen {
  0%{ background-position:-120% 0, 0 0; }
  100%{ background-position:220% 0, 0 0; }
}
.acm-cards-christmas #acm-ta-form input[type="text"],
.acm-cards-christmas #acm-ta-form input[type="email"],
.acm-cards-christmas #acm-ta-form input[type="number"]{
  transition: background-color .2s, border-color .2s, box-shadow .25s, transform .12s;
}
.acm-cards-christmas #acm-ta-form input::placeholder{ opacity:.8; transition: opacity .2s; }
.acm-cards-christmas #acm-ta-form input:focus::placeholder{ opacity:.45; }

.acm-cards-christmas #acm-ta-form input:focus{
  /* Shine-Layer + Grundfarbe */
  background-image:
    linear-gradient(90deg, rgba(255,209,102,.12) 0%, rgba(255,255,255,0) 40%, rgba(255,209,102,.12) 80%),
    linear-gradient(#0b1220, #0b1220);
  background-size: 220% 100%, auto;
  animation: acmInputSheen 2s linear infinite;
  border-color:#f59e0b;
  box-shadow: 0 0 0 3px rgba(245,158,11,.25), 0 10px 26px rgba(0,0,0,.28);
  transform: translateY(-1px);
}

/* Visuelles Focus-Grouping für Spielerzeile */
.acm-cards-christmas .acm-player-row{
  padding:6px; border-radius:14px; transition: box-shadow .25s, background-color .2s;
}
.acm-cards-christmas .acm-player-row:focus-within{
  background: rgba(255,255,255,.035);
  box-shadow: 0 0 0 2px rgba(245,158,11,.22) inset, 0 6px 20px rgba(0,0,0,.25) inset;
}

/* Optional: Gültigkeit farblich zeigen (E-Mail etc.) */
.acm-cards-christmas #acm-ta-form input:invalid{
  border-color:#ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.2);
}
.acm-cards-christmas #acm-ta-form input:valid{
  border-color:#34d399;
  box-shadow: 0 0 0 2px rgba(52,211,153,.18);
}
