/*
Theme Name: The DJ List Test
Theme URI: https://thedjlist.de
Author: The DJ List
Description: Stylisches DJ-Verzeichnis mit DJ-Registrierung, Foto-Upload und Suche.
Version: 1.4.0
*/
:root{--bg:#08080d;--panel:#11111a;--text:#f7f7fb;--muted:#a7a7b7;--accent:#ff2bd6;--accent2:#5b5cff;--line:#262636}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#22113a 0,transparent 35%),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:auto;padding:0 22px}.site-header{position:sticky;top:0;z-index:10;background:rgba(8,8,13,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:24px;font-weight:900;letter-spacing:-1px}.logo span{color:var(--accent)}.navlinks{display:flex;gap:24px;color:#ddd;font-weight:700}.navlinks a:hover{color:var(--accent)}.hero{min-height:620px;display:grid;place-items:center;text-align:center;padding:80px 0;background:linear-gradient(135deg,rgba(255,43,214,.08),rgba(91,92,255,.1))}.hero h1{font-size:clamp(52px,9vw,110px);line-height:.88;margin:0 0 25px;font-weight:1000;letter-spacing:-5px}.gradient{background:linear-gradient(90deg,var(--accent),#fff,var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:20px;color:var(--muted);max-width:650px;margin:0 auto 35px}.btn{display:inline-block;padding:15px 24px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));font-weight:900;margin:5px;box-shadow:0 10px 35px rgba(255,43,214,.18)}.btn.alt{background:transparent;border:1px solid #414157}.section{padding:70px 0}.section h2{font-size:42px;margin:0 0 12px}.section>p{color:var(--muted)}.searchbox,.formbox{background:rgba(17,17,26,.9);border:1px solid var(--line);border-radius:22px;padding:25px}.searchrow{display:flex;gap:10px}.searchrow input{flex:1}.input,textarea,select{width:100%;background:#0b0b12;border:1px solid #333348;color:#fff;padding:14px;border-radius:10px;margin:7px 0 16px;font:inherit}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid .full{grid-column:1/-1}.djgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.card img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center center}.cardbody{padding:18px}.tag{display:inline-block;font-size:12px;color:#fff;background:#27273a;border-radius:99px;padding:6px 9px;margin:3px}.notice{padding:14px 16px;border-radius:12px;background:#171727;border:1px solid #333348;margin:15px 0}.success{border-color:#2e9f72}.error{border-color:#b94361}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:14px}@media(max-width:800px){.navlinks{display:none}.djgrid,.formgrid{grid-template-columns:1fr}.hero h1{letter-spacing:-3px}.searchrow{flex-direction:column}}

.formbox h2{font-size:24px;margin:28px 0 14px;border-top:1px solid var(--line);padding-top:24px}.formbox h2:first-child{border-top:0;padding-top:0}.tag-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.checktag{background:#0b0b12;border:1px solid #333348;border-radius:999px;padding:9px 13px;cursor:pointer}.checktag input{margin-right:5px}.switchline{display:flex;gap:9px;align-items:center;background:#0b0b12;border:1px solid #333348;border-radius:10px;padding:14px}.switchline input{width:auto}

.dj-registration-form{position:relative;z-index:20;pointer-events:auto}.dj-registration-form .submit-btn{cursor:pointer !important;pointer-events:auto !important;position:relative;z-index:50;border:0;color:#08080d;font-size:16px;appearance:none;-webkit-appearance:none;display:inline-block;min-width:190px;text-align:center} .dj-registration-form .submit-btn:hover{transform:translateY(-1px);filter:brightness(1.08)} .dj-registration-form label{display:block;font-weight:700;margin-bottom:2px;} .dj-registration-form .switchline{display:flex;font-weight:400;margin:7px 0 16px;} .dj-registration-form .switchline input{cursor:pointer;}

.dj-registration-form .submit-btn:disabled{opacity:.7;cursor:wait!important;pointer-events:none;}


/* The DJ List – DJ cards: always show profile photos as 1:1 squares */
.dj-card,
.dj-result,
.dj-item,
.dj-profile-card {
    overflow: hidden;
}

.dj-card .dj-photo,
.dj-card .dj-image,
.dj-card .dj-thumb,
.dj-card .dj-card-image,
.dj-result .dj-photo,
.dj-result .dj-image,
.dj-result .dj-thumb,
.dj-profile-card .dj-photo,
.dj-profile-card .dj-image,
.dj-profile-card .dj-thumb {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

.dj-card .dj-photo img,
.dj-card .dj-image img,
.dj-card .dj-thumb img,
.dj-card .dj-card-image img,
.dj-result .dj-photo img,
.dj-result .dj-image img,
.dj-result .dj-thumb img,
.dj-profile-card .dj-photo img,
.dj-profile-card .dj-image img,
.dj-profile-card .dj-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
}


/* Clickable DJ profiles */
.dj-card-link{display:block;color:inherit;text-decoration:none;}
.dj-card-link .card{height:100%;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.dj-card-link:hover .card{transform:translateY(-4px);border-color:#4b4b70;box-shadow:0 12px 35px rgba(0,0,0,.25);}
.dj-profile-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:800;}
