/*
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.7
*/
: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;}


/* V3.38 – Single DJ profile photo: keep the large profile image square */
.card > div > img[alt*="DJ-Profil"], .card > div > a > img { width:100%; aspect-ratio:1 / 1; height:auto; max-height:none; object-fit:cover; object-position:center center; display:block; }

/* V3.41 – Single DJ profile: smaller square photo left, DJ information beside it */
.dj-profile-top{display:flex;align-items:flex-start;gap:28px;margin-bottom:30px;}
.dj-profile-photo-wrap{flex:0 0 230px;width:230px;}
.dj-single-photo{display:block;width:230px;height:230px;aspect-ratio:1 / 1;object-fit:cover;object-position:center center;border-radius:15px;margin:0;}
.dj-profile-summary{flex:1;min-width:0;padding-top:4px;}
/* V3.42 – Ensure the single DJ profile layout is consistent across browsers */
.card .dj-profile-top .dj-profile-photo-wrap .dj-single-photo {
    width: 230px !important;
    height: 230px !important;
    max-width: 230px !important;
    max-height: 230px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
}
.card .dj-profile-top .dj-profile-photo-wrap {
    flex: 0 0 230px !important;
    width: 230px !important;
    max-width: 230px !important;
}

.dj-profile-summary h1{margin:0 0 14px;}
@media(max-width:700px){.dj-profile-top{flex-direction:column;gap:18px;}.dj-profile-photo-wrap,.dj-single-photo{width:230px;height:230px;}.dj-profile-photo-wrap{flex-basis:auto;}}
/*
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.2
*/
: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;}


/* V3.38 – Single DJ profile photo: keep the large profile image square */
.card > div > img[alt*="DJ-Profil"], .card > div > a > img { width:100%; aspect-ratio:1 / 1; height:auto; max-height:none; object-fit:cover; object-position:center center; display:block; }

/* V3.41 – Single DJ profile: smaller square photo left, DJ information beside it */
.dj-profile-top{display:flex;align-items:flex-start;gap:28px;margin-bottom:30px;}
.dj-profile-photo-wrap{flex:0 0 230px;width:230px;}
.dj-single-photo{display:block;width:230px;height:230px;aspect-ratio:1 / 1;object-fit:cover;object-position:center center;border-radius:15px;margin:0;}
.dj-profile-summary{flex:1;min-width:0;padding-top:4px;}
/* V3.42 – Ensure the single DJ profile layout is consistent across browsers */
.card .dj-profile-top .dj-profile-photo-wrap .dj-single-photo {
    width: 230px !important;
    height: 230px !important;
    max-width: 230px !important;
    max-height: 230px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
}
.card .dj-profile-top .dj-profile-photo-wrap {
    flex: 0 0 230px !important;
    width: 230px !important;
    max-width: 230px !important;
}

.dj-profile-summary h1{margin:0 0 14px;}
@media(max-width:700px){.dj-profile-top{flex-direction:column;gap:18px;}.dj-profile-photo-wrap,.dj-single-photo{width:230px;height:230px;}.dj-profile-photo-wrap{flex-basis:auto;}}


/* V1.4.3 – Record-store CTA placed in the homepage hero */
.tdl-recordstores-cta-wrap{display:flex;justify-content:center;margin:24px auto 0;padding:0 12px;text-align:center}
.tdl-recordstores-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 26px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(100deg,#ec168c,#6b4dff);color:#fff!important;font-weight:800;font-size:16px;line-height:1.3;text-decoration:none!important;box-shadow:0 10px 30px rgba(236,22,140,.2);transition:transform .18s ease,filter .18s ease}
.tdl-recordstores-cta:hover{transform:translateY(-2px);filter:brightness(1.1);color:#fff!important}
.tdl-recordstores-cta span{font-size:20px;line-height:1}

.tdl-vinyl-icon{display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;text-shadow:0 0 10px rgba(255,255,255,.35)}
@media(max-width:600px){.tdl-recordstores-cta-wrap{margin-top:22px}.tdl-recordstores-cta{padding:12px 20px;font-size:15px}}


/* CTA hierarchy: primary DJ actions, secondary record-store directory */
.hero .btn .tdl-button-arrow{display:inline-block;margin-left:7px;font-size:1.08em;transition:transform .18s ease}
.hero .btn:hover .tdl-button-arrow{transform:translateX(3px)}
.hero .tdl-recordstores-cta-wrap{margin-top:22px}
.hero .tdl-recordstores-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 17px;border-radius:999px;background:rgba(27,22,39,.78);border:1px solid rgba(166,129,255,.62);color:#d9c9ff;font-size:14px;font-weight:700;letter-spacing:.1px;box-shadow:0 5px 18px rgba(91,92,255,.10);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.hero .tdl-recordstores-cta:hover{background:rgba(91,92,255,.16);border-color:#a681ff;color:#fff;transform:translateY(-1px)}
.hero .tdl-vinyl-icon{font-size:16px;line-height:1;color:#c6a6ff}
.hero .tdl-recordstores-cta span[aria-hidden="true"]:last-child{font-size:1.05em;margin-left:2px}
@media(max-width:600px){.hero .tdl-recordstores-cta-wrap{margin-top:18px}.hero .tdl-recordstores-cta{font-size:13px;padding:9px 14px}}
