/* ═══════════════════════════════════════════════════════════════
   Galaxyweb AG — Domain-Transfer
   css/product_domaintransfer.css
   ═══════════════════════════════════════════════════════════════ */

/* ═══ HERO — identisch dr-hero mit Hintergrundbild ══════════ */
.dt-hero {
  min-height: unset !important;
  padding-top: 80px !important;
  padding-bottom: 120px !important;
  background:
    radial-gradient(ellipse 80% 60% at 15% 40%, rgba(20,110,220,.45) 0%, transparent 50%),
    radial-gradient(ellipse 60% 50% at 85% 60%, rgba(15,90,200,.35) 0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 50%  5%, rgba(30,130,230,.18) 0%, transparent 50%),
    #010918 !important;
}
.dt-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(1,9,24,.72), rgba(1,9,24,.72)),
    url('/img/domain/hero-bg.webp');
  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;
  pointer-events: none;
}

/* Schritte-Zeile */
.dt-steps {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; margin: 24px 0 36px; flex-wrap: wrap;
}
.dt-step {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px; padding: 9px 16px;
}
.dt-step-num {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--blue); color: #fff;
  font-size: 11px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dt-step-text { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.85); }
.dt-step-arrow { font-size: 14px; color: rgba(255,255,255,.3); }

/* ═══ DR-* STYLES (kopiert aus product_domainregister.css) ════
   Wird benötigt da product_domainregister.css nicht geladen wird
   ═══════════════════════════════════════════════════════════════ */
.dr-search-wrap {
  max-width: 800px;
  width: 100%;
  position: relative;
}
.dr-search-box {
  background: #fff;
  border-radius: 18px;
  padding: 8px;
  display: flex;
  gap: 8px;
  align-items: center;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 24px 80px rgba(0,0,40,.55),
    0 4px 16px rgba(0,0,0,.25);
  transition: box-shadow .2s;
}
.dr-search-box:focus-within {
  box-shadow:
    0 0 0 3px rgba(0,152,239,.35),
    0 24px 80px rgba(0,0,40,.55);
}
.dr-input {
  flex: 1;
  border: none; outline: none;
  font-size: 20px; font-weight: 600;
  padding: 12px 18px;
  color: var(--text);
  background: transparent;
  min-width: 0;
  letter-spacing: -.01em;
}
.dr-input::placeholder { color: #b0c0d0; font-weight: 400; }
.dr-tld-btn {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; padding: 11px 16px;
  background: #f0f4f8; border: 2px solid #e2e8f0; border-radius: 12px;
  cursor: pointer; font-size: 16px; font-weight: 900; color: var(--text);
  white-space: nowrap; min-width: 88px; transition: .18s;
  letter-spacing: -.01em; user-select: none; flex-shrink: 0;
}
.dr-tld-btn:hover  { border-color: var(--blue); background: #e8f4ff; color: var(--blue); }
.dr-tld-btn.open   { border-color: var(--blue); background: #dff0ff; color: var(--blue); box-shadow: 0 0 0 3px rgba(0,152,239,.15); }
.dr-tld-btn svg    { transition: transform .2s; opacity: .45; flex-shrink: 0; }
.dr-tld-btn.open svg { transform: rotate(180deg); opacity: 1; }
.dr-search-btn {
  display: flex; align-items: center; gap: 8px;
  background: var(--blue); color: #fff; border: none;
  padding: 13px 28px; border-radius: 12px;
  font-size: 15px; font-weight: 800;
  cursor: pointer; white-space: nowrap; transition: .18s; flex-shrink: 0;
}
.dr-search-btn:hover  { background: var(--blue-d); transform: translateY(-1px); }
.dr-search-btn:active { transform: translateY(0); }
body.dark .dr-search-box     { background: #1a2535; box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 24px 80px rgba(0,0,0,.6); }
body.dark .dr-input          { color: #f0f4f8; }
body.dark .dr-input::placeholder { color: #3d5a78; }
body.dark .dr-tld-btn        { background: #1e2d42; border-color: #2d4263; color: #c8dcf0; }
body.dark .dr-tld-btn:hover  { background: #1a3050; border-color: var(--blue); color: #60c5ff; }

/* Auth-Code Box liegt innerhalb dr-search-wrap */
.dt-auth-wrap { margin-top: 12px; max-width: 680px; margin-left: auto; margin-right: auto; }

.dt-spin { animation: dtSpin 1s linear infinite; }
@keyframes dtSpin { to { transform: rotate(360deg); } }

/* Status */
.dt-status {
  display: flex; align-items: center; gap: 10px;
  margin-top: 12px; padding: 12px 16px; border-radius: 10px;
  font-size: 13px; font-weight: 500; line-height: 1.5;
}
.dt-status-loading { background: rgba(255,255,255,.1); color: rgba(255,255,255,.85); }
.dt-status-ok  {
  background: #fff; border: 1px solid #e2e8f0;
  border-left: 3px solid #059669;
  border-radius: 10px; color: var(--text);
}
.dt-status-free { background: rgba(37,99,235,.18); color: #bfdbfe; border: 1px solid rgba(37,99,235,.35); }
.dt-status-error,
.dt-status-warn { background: rgba(220,38,38,.18); color: #fecaca; border: 1px solid rgba(220,38,38,.35); }
.dt-link { color: #93c5fd; text-decoration: underline; }

/* ═══ AUTH-CODE BOX ══════════════════════════════════════════ */
.dt-auth-wrap { margin-top: 12px; }
.dt-auth-box {
  background: #fff; border-radius: 12px; padding: 20px;
  box-shadow: 0 4px 24px rgba(0,10,40,.15);
}
.dt-auth-label {
  display: flex; align-items: center; gap: 7px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: #5a7290; margin-bottom: 10px;
}
.dt-auth-row { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.dt-auth-input {
  flex: 1; padding: 10px 14px; border-radius: 8px;
  border: 1.5px solid #e2e8f0; font-size: 13px; color: #0a1e3d;
  outline: none; transition: border-color .15s; background: #f8fafc;
}
.dt-auth-input:focus { border-color: var(--blue); background: #fff; }
.dt-auth-input:disabled { opacity: .4; cursor: not-allowed; }
.dt-cart-btn { display: flex; align-items: center; gap: 7px; padding: 10px 18px; font-size: 13px; flex-shrink: 0; white-space: nowrap; }
.dt-cart-done { background: #059669 !important; }
.dt-later-check {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12px; color: #5a7290; cursor: pointer; margin-bottom: 12px; line-height: 1.5;
}
.dt-later-check input { margin-top: 2px; cursor: pointer; flex-shrink: 0; }
.dt-auth-hint {
  display: flex; align-items: flex-start; gap: 7px;
  font-size: 11.5px; color: #8fa4b8; line-height: 1.5;
  text-align: left;
  padding-top: 10px;
  border-top: 1px solid #f0f4f8;
  margin-top: 4px;
}
.dt-auth-hint svg { flex-shrink: 0; margin-top: 1px; stroke: #8fa4b8; }

/* Keine Trennlinie nach Hinweis-Section */
.section + .section.dt-no-separator { margin-top: 0; padding-top: 0; border-top: none; }
.dt-transfer-info {
  display: flex; flex-direction: column; gap: 5px;
  margin-top: 12px; padding: 10px 14px;
  background: rgba(5,150,105,.06); border-radius: 8px; border: 1px solid rgba(5,150,105,.18);
}
.dt-ti-item { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #374151; font-weight: 500; }

/* ═══ 3-SCHRITTE GRID ═════════════════════════════════════════ */
.dt-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.dt-how-step {
  background: #fff; border: 1px solid var(--border);
  border-radius: 14px; padding: 32px 22px 22px; position: relative;
}
.dt-how-num {
  position: absolute; top: -14px; left: 22px;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--blue); color: #fff;
  font-size: 13px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.dt-how-icon {
  width: 50px; height: 50px; border-radius: 12px;
  background: rgba(0,152,239,.08);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.dt-how-icon svg { stroke: var(--blue); }
.dt-how-title { font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.dt-how-desc { font-size: 13px; color: var(--muted); line-height: 1.6; }

/* ═══ HINWEIS-BOX ════════════════════════════════════════════ */
.dt-notice-box {
  padding: 22px 26px;
  background: rgba(245,158,11,.06); border: 1px solid rgba(245,158,11,.22);
  border-left: 4px solid #f59e0b; border-radius: 12px;
}
.dt-notice-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 700; color: #92400e; margin-bottom: 14px;
}
.dt-notice-title svg { stroke: #d97706; flex-shrink: 0; }
.dt-notice-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 8px 0; border-bottom: 1px solid rgba(245,158,11,.15);
  font-size: 13px; color: #78350f; line-height: 1.55;
}
.dt-notice-item:last-child { border-bottom: none; padding-bottom: 0; }
.dt-notice-ico { flex-shrink: 0; margin-top: 1px; }
.dt-notice-item strong { color: #92400e; }

/* ═══ DARK MODE ══════════════════════════════════════════════ */
body.dark .dt-auth-box  { background: var(--card); }
body.dark .dt-auth-input { background: var(--bg); border-color: var(--border); color: var(--text); }
body.dark .dt-how-step  { background: var(--card); border-color: var(--border); }
body.dark .dt-ti-item   { color: var(--text); }
body.dark .dt-notice-box   { background: rgba(245,158,11,.08); }
body.dark .dt-notice-title { color: #fcd34d; }
body.dark .dt-notice-title svg { stroke: #fcd34d; }
body.dark .dt-notice-item  { color: #fde68a; border-bottom-color: rgba(245,158,11,.2); }
body.dark .dt-notice-item strong { color: #fcd34d; }

/* ═══ RESPONSIVE ══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .dt-how-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 640px) {
  .dt-hero { padding-top: 70px !important; padding-bottom: 80px !important; }
  .dt-steps { flex-direction: column; gap: 6px; align-items: stretch; }
  .dt-step { justify-content: center; }
  .dt-step-text { white-space: normal; }
  .dt-step-arrow { display: none; }
  .dt-auth-row { flex-wrap: wrap; }
  .dt-cart-btn { width: 100%; justify-content: center; }
  .dt-notice-box { flex-direction: column; gap: 10px; }
}

/* Result-Row im weissen dt-status-ok Container */
.dt-status-ok .dr-res-tld        { color: var(--blue); }
.dt-status-ok .dr-res-sub        { color: var(--muted); }
.dt-status-ok .dr-res-price      { color: var(--text); }
.dt-status-ok .dr-res-price-col  { align-items: flex-end; }
/* ═══ STATUS + AUTH-BOX: eine zusammenhängende Karte ══════════ */
#dtStatus.dt-status-ok {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
  margin-bottom: 0;
  /* Schatten nur oben — unten übernimmt die Auth-Box */
  box-shadow: 0 -4px 24px rgba(0,10,40,.08), 0 1px 0 #e2e8f0;
}
#dtStatus.dt-status-ok + .dt-auth-wrap {
  margin-top: 0;
  max-width: none;   /* gleiche Breite wie Status-Box */
}
#dtStatus.dt-status-ok + .dt-auth-wrap .dt-auth-box {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border: 1px solid #e2e8f0;
  border-top: none;
  box-shadow: 0 8px 24px rgba(0,10,40,.12);
}
body.dark #dtStatus.dt-status-ok + .dt-auth-wrap .dt-auth-box {
  border-color: var(--border);
  border-top: none;
}