/* TTE Login / Registrierung (Plugin TteDealerHint, nur auf Login- und Registrierungsseite) */

/* Seitenband zwischen Header und Footer */
.content-main:has(.tte-auth){background-color:#131417}
.container-main:has(.tte-auth){padding-top:40px;padding-bottom:72px}
.account-register > h1{font-size:clamp(1.75rem,1.1rem + 1.8vw,2.75rem);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 1.5rem;color:#F1F2F5}

/* Raster und Farbwerte */
.tte-auth{
  --tte-surface-1:#212227;
  --tte-surface-2:#2A2B31;
  --tte-field:#34353D;
  --tte-text:#F1F2F5;
  --tte-muted:#B4B8C2;
  --tte-red:#E2001A;
  --tte-red-dark:#B80015;
  --tte-red-text:#FF5A5F;
  --zen-input-color:#F1F2F5;
  --zen-input-placeholder-color:#B4B8C2;
  --zen-input-label-color:#B4B8C2;
  --zen-input-focus-color:#FFFFFF;
  --zen-form-select-color:#F1F2F5;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
  color:var(--tte-text);
}
.tte-auth-login,.tte-auth-dealer,.tte-auth-register{box-sizing:border-box;min-width:0;border-radius:20px;box-shadow:0 24px 48px rgba(0,0,0,.28)}
.tte-auth-login{grid-column:span 7;background:var(--tte-surface-1);padding:36px}
.tte-auth-dealer{grid-column:span 5;background:#38282B;padding:36px;display:flex;flex-direction:column;gap:16px}
.tte-auth-register{grid-column:1/-1;background:var(--tte-surface-1);padding:40px}

/* Shopware-Karten neutralisieren, unsere Wrapper sind die Karten */
.tte-auth .card{background:transparent;border:0;border-radius:0;padding:0;margin:0 !important;box-shadow:none}
.tte-auth .card-body{padding:0}
.tte-auth .card-title{border:0;padding:0;margin:0 0 6px;font-size:1.625rem;font-weight:600;line-height:1.2;color:var(--tte-text)}

/* Login */
.tte-auth-login .login-card,.tte-auth-login .login-card .card-body{display:flex;flex-direction:column;height:100%}
.tte-auth-login .login-form{display:flex;flex-direction:column;gap:20px;flex:1}
.tte-auth-login .login-form-description{margin:0;font-size:.9375rem;color:var(--tte-muted)}
.tte-auth-login .login-form .row{display:flex;flex-direction:column;gap:20px;margin:0;--bs-gutter-x:0}
.tte-auth-login .login-form .form-group{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:0}
.tte-auth-login .login-password-recover{margin:0 !important}
.tte-auth-login .login-password-recover a{font-size:.875rem;color:var(--tte-muted);text-decoration:underline;text-underline-offset:3px}
.tte-auth-login .login-submit{margin-top:auto}

/* Felder: gefüllte Flächen statt Linien */
.tte-auth .form-group{margin-bottom:0}
.tte-auth .form-control,.tte-auth .form-select{background-color:var(--tte-field) !important;border:0 !important;border-radius:10px !important;box-shadow:none !important;color:var(--tte-text)}
.tte-auth .form-control:focus,.tte-auth .form-select:focus{box-shadow:0 0 0 2px var(--tte-red-text) !important;outline:0}
.tte-auth .form-required-label{color:var(--tte-red-text)}
.tte-auth .form-group [id$="-description"]{display:block;margin-top:8px;font-size:.8125rem;line-height:1.4;color:#9AA0AC}
.tte-auth .form-check-input{width:20px;height:20px;margin-top:0;border:0;border-radius:6px;background-color:#34353D;box-shadow:none}
.tte-auth .form-check-input:checked{background-color:#E2001A}
.tte-auth .form-check-input:focus-visible{outline:2px solid #FF5A5F;outline-offset:2px}
.tte-auth .register-different-shipping .form-check-label{color:#B4B8C2}

/* Buttons */
.tte-auth .btn-primary{width:100%;min-height:56px;border:0;border-radius:10px;background-color:var(--tte-red);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.02em;box-shadow:none}
.tte-auth .btn-primary:hover,.tte-auth .btn-primary:focus-visible{background-color:var(--tte-red-dark);color:#fff;box-shadow:none}
.tte-auth .btn-primary:focus-visible{outline:2px solid #F1F2F5;outline-offset:3px}

/* Händlerkarte */
.tte-auth-dealer h2{margin:0;font-size:1.625rem;font-weight:600;line-height:1.2;color:var(--tte-text)}
.tte-auth-dealer p{margin:0;font-size:.9375rem;line-height:1.55;color:#D6C9CB}
.tte-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tte-red-text)}
.tte-auth ul.tte-checks,.tte-auth .login-advantages ul{list-style:none;margin:0;padding:0}
.tte-auth-dealer ul.tte-checks{display:flex;flex-direction:column;gap:10px}
.tte-auth .tte-checks li,.tte-auth .login-advantages li{position:relative;display:flex;align-items:center;gap:12px;padding:0;font-size:.9375rem}
.tte-auth .tte-checks li{color:var(--tte-text)}
.tte-auth .tte-checks li::before,.tte-auth .login-advantages li::before{content:"";flex:none;width:18px;height:18px;background-color:var(--tte-red-text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.tte-ghost{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 24px;border-radius:10px;background:rgba(226,0,26,.22);color:#FF7B80;font-weight:600;letter-spacing:.02em;text-decoration:none}
.tte-ghost:hover,.tte-ghost:focus-visible{background:rgba(226,0,26,.34);color:#FF7B80;text-decoration:none}
.tte-ghost:focus-visible{outline:2px solid #F1F2F5;outline-offset:3px}

/* Registrierung: Kopf */
.tte-auth-register-head{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}
.tte-auth-register-head h2{margin:0;font-size:1.625rem;font-weight:600;line-height:1.2;color:var(--tte-text)}
.tte-auth-register-head .tte-sub{margin:-10px 0 0;font-size:.9375rem;color:var(--tte-muted)}
.tte-auth .login-advantages{margin:0;padding:0;border:0}
.tte-auth .login-advantages-header{margin:0 0 12px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;color:var(--tte-muted)}
.tte-auth .login-advantages ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 32px}
.tte-auth .login-advantages li{color:var(--tte-muted)}

/* Registrierung: Formular in zwei Unterkarten */
.tte-auth-register .register-card .card-body{padding:0}
.tte-auth-register .register-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.tte-auth-register .register-form > *{grid-column:1/-1;min-width:0}
.tte-auth-register .register-form > input{display:none}
.tte-auth-register .register-form > .register-personal,.tte-auth-register .register-form > .register-address{grid-column:auto;background:var(--tte-surface-2);border-radius:16px;padding:28px;margin:0 !important}
.tte-auth-register .register-form legend{display:flex !important;align-items:baseline;gap:12px;float:left;position:static !important;width:100% !important;height:auto !important;margin:0 0 4px !important;padding:0 !important;border:0 !important;clip:auto !important;clip-path:none !important;overflow:visible !important;white-space:normal !important;font-size:1.1875rem;font-weight:600;line-height:1.3;color:var(--tte-text)}
.tte-auth-register .register-form legend + *{clear:both}
.tte-auth-register .register-form legend::before{font-size:.875rem;font-weight:600;font-feature-settings:"lnum";color:var(--tte-red-text)}
.tte-auth-register .register-personal > legend::before{content:"01"}
.tte-auth-register .register-billing > legend::before{content:"02"}
.tte-auth-register .register-shipping{margin:24px 0 0 !important;padding:0;border:0}
.tte-auth-register .register-shipping > legend{font-size:1rem}
.tte-auth-register .register-shipping > legend::before{content:none}
.tte-auth-register .register-form .row{--bs-gutter-x:16px;--bs-gutter-y:20px;margin-top:0}
.tte-auth-register .register-form .form-group{margin-bottom:0}
.tte-auth-register .register-personal .form-group:has(input[type=email]),.tte-auth-register .register-personal .form-group:has(input[type=password]){flex:0 0 100%;max-width:100%}
.tte-auth-register .register-address .form-group:has([id$="AddressStreet"]),.tte-auth-register .register-address .form-group:has([id$="AddressPhoneNumber"]){flex:0 0 100%;max-width:100%}
.tte-auth-register .register-address .form-group:has([id$="AddressZipcode"]){flex:0 0 33.3333%;max-width:33.3333%}
.tte-auth-register .register-address .form-group:has([id$="AddressCity"]){flex:0 0 66.6667%;max-width:66.6667%}
.tte-auth-register .register-different-shipping{margin:0 0 4px !important;min-height:44px;display:flex;align-items:center}

/* Registrierung: Datenschutz, Hinweis, Button */
.tte-auth-register .register-form .privacy-notice{margin:0;padding:0;border:0;min-width:0}
.tte-auth-register .register-form .privacy-notice > legend{font-size:.8125rem;font-weight:600;line-height:1.4;margin:0 0 4px !important;color:var(--tte-muted)}
.tte-auth-register .register-form .privacy-notice > legend::before{content:none}
.tte-auth-register .privacy-notice > br{display:none}
.tte-auth-register .data-protection-information{font-size:.8125rem;line-height:1.55;color:#9AA0AC}
.tte-auth-register .btn-link-inline{padding:0;border:0;background:none;font-size:inherit;line-height:inherit;color:var(--tte-muted);text-decoration:underline;text-underline-offset:3px;vertical-align:baseline}
.tte-auth-register .btn-link-inline:hover{color:#fff}
.tte-auth-register .register-required-info{margin:0;font-size:.8125rem;line-height:1.55;color:#9AA0AC}
.tte-auth-register .register-submit{justify-self:end;width:auto;max-width:none;margin:0 !important}
.tte-auth-register .register-submit .btn{min-width:300px}

/* Tablet und Handy */
@media (min-width:576px){
  .tte-auth-register .register-personal .form-group.col-md-3{flex:0 0 50%;max-width:50%}
}
@media (max-width:991.98px){
  .tte-auth-login,.tte-auth-dealer{grid-column:1/-1}
  .tte-auth-register .register-form{grid-template-columns:minmax(0,1fr)}
  .tte-auth-register .register-form > .register-personal,.tte-auth-register .register-form > .register-address{grid-column:1/-1}
}
@media (max-width:575.98px){
  .container-main:has(.tte-auth){padding-top:24px;padding-bottom:40px}
  .tte-auth{gap:16px}
  .tte-auth-login,.tte-auth-dealer{padding:24px}
  .tte-auth-register{padding:20px 16px}
  .tte-auth-register-head{padding:0 4px}
  .tte-auth-register .register-form > .register-personal,.tte-auth-register .register-form > .register-address{padding:20px 16px}
  .tte-auth-register .register-submit{justify-self:stretch}
  .tte-auth-register .register-submit .btn{min-width:0;width:100%}
}

/* Händler-Registrierung: Gruppen-Titel steht als Überschrift oben */
.tte-auth-register .register-card > .card-body > .card-title{display:none}
.tte-auth-register .register-card > .card-body > .card-body{margin:0 0 24px !important;font-size:.9375rem;line-height:1.55;color:var(--tte-muted)}
.tte-auth-register-head--dealer .tte-sub{margin:0}
.tte-auth-register-head--dealer .tte-checks{display:flex;flex-wrap:wrap;gap:10px 32px}
