/* =====================================================================
 * IdeaPlugins — Premium My Account / Lost Password / Reset Password.
 * ---------------------------------------------------------------------
 * Sadece WooCommerce hesap uç noktalarında yüklenir (bkz.
 * inc/cartzilla-ideaplgnp-enhancements.php -> ideaplgnp_account_assets()).
 * Temayla ÇAKIŞMAMASI için tüm class ve CSS değişkenleri "ideaplgnp_"
 * önekini taşır; görsel dil checkout'taki premium "login required"
 * kartıyla (ideaplgn_lw) aynı ailededir.
 * ===================================================================== */

.ideaplgnp_scope{
  --ideaplgnp_ink:#14130F;
  --ideaplgnp_dim:#57534A;
  --ideaplgnp_faint:#8E897B;
  --ideaplgnp_line:rgba(20,19,15,.09);
  --ideaplgnp_line-strong:rgba(20,19,15,.16);
  --ideaplgnp_panel:#FFFFFF;
  --ideaplgnp_soft:#F6F7FB;
  --ideaplgnp_primary:#ed5356;
  --ideaplgnp_accent:#4e54c8;
  --ideaplgnp_teal:#12AF9E;
  --ideaplgnp_grad:linear-gradient(115deg,#4e54c8 0%,#ed5356 65%,#ff9a44 130%);
  --ideaplgnp_grad-cool:linear-gradient(135deg,#4e54c8 0%,#7b6ae0 55%,#ed5356 130%);
  --ideaplgnp_radius:22px;

  font-family:'Inter',sans-serif;
  color:var(--ideaplgnp_ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.ideaplgnp_scope *,
.ideaplgnp_scope *::before,
.ideaplgnp_scope *::after{ box-sizing:border-box; }
.ideaplgnp_scope a{ text-decoration:none; }

@keyframes ideaplgnp_rise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes ideaplgnp_pop{ from{ opacity:0; transform:scale(.86); } to{ opacity:1; transform:scale(1); } }
@keyframes ideaplgnp_ping{ 0%{ transform:scale(.72); opacity:.5; } 100%{ transform:scale(1.7); opacity:0; } }
@keyframes ideaplgnp_check-draw{ to{ stroke-dashoffset:0; } }

/* =====================================================================
 * Sayfa iskeleti
 * ===================================================================== */
.ideaplgnp_wrap{
  max-width:1080px;
  margin:0 auto;
  padding:56px 20px 84px;
}
.ideaplgnp_grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}
@media (max-width:900px){
  .ideaplgnp_grid{ grid-template-columns:1fr; }
}

/* =====================================================================
 * Kart
 * ===================================================================== */
.ideaplgnp_card{
  position:relative;
  background:
    radial-gradient(560px 220px at 50% -10%, rgba(78,84,200,.10), rgba(78,84,200,0) 70%),
    radial-gradient(320px 180px at 100% 0%, rgba(237,83,86,.08), rgba(237,83,86,0) 70%),
    var(--ideaplgnp_panel);
  border:1px solid var(--ideaplgnp_line);
  border-radius:28px;
  padding:44px 40px 40px;
  box-shadow:0 46px 90px -48px rgba(78,84,200,.30), 0 2px 6px rgba(20,19,15,.04);
  animation:ideaplgnp_rise .6s cubic-bezier(.2,.8,.2,1) both;
}
@media (max-width:600px){
  .ideaplgnp_card{ padding:32px 22px 30px; border-radius:22px; }
}
.ideaplgnp_card + .ideaplgnp_card{ animation-delay:.08s; }

.ideaplgnp_icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px; height:72px;
  margin:0 0 22px;
  border-radius:22px;
  color:#fff;
  background:var(--ideaplgnp_grad-cool);
  box-shadow:
    0 0 0 8px rgba(78,84,200,.08),
    0 0 0 17px rgba(78,84,200,.04),
    0 18px 32px -14px rgba(78,84,200,.55),
    inset 0 1px 0 rgba(255,255,255,.35);
  animation:ideaplgnp_pop .5s cubic-bezier(.2,.8,.2,1) .05s both;
}
.ideaplgnp_icon svg{ display:block; }
.ideaplgnp_icon::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:26px;
  border:1.5px solid rgba(78,84,200,.35);
  animation:ideaplgnp_ping 2.4s cubic-bezier(.2,.8,.2,1) 1s infinite;
}

.ideaplgnp_title{
  margin:0 0 8px;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--ideaplgnp_ink);
}
.ideaplgnp_subtitle{
  margin:0 0 26px;
  font-size:14.5px;
  line-height:1.65;
  color:var(--ideaplgnp_dim);
  max-width:44ch;
}

/* =====================================================================
 * Form elemanları
 * ===================================================================== */
.ideaplgnp_scope .ideaplgnp_field{ margin-bottom:18px; }
.ideaplgnp_scope .ideaplgnp_field label{
  display:block;
  margin-bottom:7px;
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:13px;
  color:var(--ideaplgnp_ink);
}
.ideaplgnp_scope .ideaplgnp_field label .ideaplgnp_req{ color:var(--ideaplgnp_primary); margin-left:2px; }

.ideaplgnp_scope .ideaplgnp_field input[type="text"],
.ideaplgnp_scope .ideaplgnp_field input[type="email"],
.ideaplgnp_scope .ideaplgnp_field input[type="password"]{
  width:100%;
  padding:13px 16px;
  border-radius:13px;
  border:1.5px solid var(--ideaplgnp_line-strong);
  background:var(--ideaplgnp_soft);
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  color:var(--ideaplgnp_ink);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.ideaplgnp_scope .ideaplgnp_field input:focus{
  outline:none;
  border-color:var(--ideaplgnp_accent);
  background:#fff;
  box-shadow:0 0 0 4px rgba(78,84,200,.14);
}
.ideaplgnp_scope .ideaplgnp_field .password-toggle{ position:relative; }
.ideaplgnp_scope .ideaplgnp_field .password-toggle-btn{
  position:absolute;
  right:6px; top:50%;
  transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  border-radius:9px;
  color:var(--ideaplgnp_faint);
  cursor:pointer;
}
.ideaplgnp_scope .ideaplgnp_field .password-toggle-btn:hover{ color:var(--ideaplgnp_accent); background:rgba(78,84,200,.08); }
.ideaplgnp_scope .ideaplgnp_field .password-toggle .custom-control-input{ position:absolute; opacity:0; width:1px; height:1px; }

.ideaplgnp_row-between{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin:2px 0 24px;
  font-size:13px;
}
.ideaplgnp_check{ display:flex; align-items:center; gap:8px; color:var(--ideaplgnp_dim); }
.ideaplgnp_check input{ width:16px; height:16px; accent-color:var(--ideaplgnp_accent); }
.ideaplgnp_link{ color:var(--ideaplgnp_accent); font-weight:600; }
.ideaplgnp_link:hover{ color:var(--ideaplgnp_primary); text-decoration:underline; }

/* =====================================================================
 * Buton
 * ===================================================================== */
.ideaplgnp_scope .ideaplgnp_btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  padding:15px 26px;
  border:none;
  border-radius:13px;
  font-family:'Manrope',sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  color:#fff !important;
  background:var(--ideaplgnp_grad);
  box-shadow:0 18px 34px -14px rgba(78,84,200,.5);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.ideaplgnp_scope .ideaplgnp_btn:hover,
.ideaplgnp_scope .ideaplgnp_btn:focus{
  color:#fff !important;
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 22px 42px -14px rgba(237,83,86,.5);
}
.ideaplgnp_scope .ideaplgnp_btn svg{ transition:transform .25s ease; flex:none; }
.ideaplgnp_scope .ideaplgnp_btn:hover svg{ transform:translateX(3px); }

.ideaplgnp_divider{
  display:flex; align-items:center; gap:14px;
  margin:26px 0;
  color:var(--ideaplgnp_faint);
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ideaplgnp_divider::before,
.ideaplgnp_divider::after{ content:""; flex:1; height:1px; background:var(--ideaplgnp_line); }

.ideaplgnp_hint{
  margin:0;
  font-size:13px;
  color:var(--ideaplgnp_faint);
}

/* Numaralı adım listesi (Lost password) */
.ideaplgnp_steps{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:12px; }
.ideaplgnp_steps li{
  display:flex; align-items:flex-start; gap:12px;
  font-size:14px; line-height:1.55; color:var(--ideaplgnp_dim);
}
.ideaplgnp_steps .ideaplgnp_step-n{
  flex:none;
  display:flex; align-items:center; justify-content:center;
  width:24px; height:24px;
  border-radius:50%;
  background:rgba(78,84,200,.12);
  color:var(--ideaplgnp_accent);
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:12px;
}

/* =====================================================================
 * Başarı ekranı (lost-password-confirmation)
 * ===================================================================== */
.ideaplgnp_success-card{ text-align:center; }
.ideaplgnp_success-card .ideaplgnp_icon{
  margin-left:auto; margin-right:auto;
  background:linear-gradient(135deg,var(--ideaplgnp_teal) 0%, #2fbf9a 100%);
  box-shadow:
    0 0 0 8px rgba(18,175,158,.10),
    0 0 0 17px rgba(18,175,158,.05),
    0 18px 32px -14px rgba(18,175,158,.55),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.ideaplgnp_success-card .ideaplgnp_icon::after{ border-color:rgba(18,175,158,.35); }
.ideaplgnp_success-card .ideaplgnp_title,
.ideaplgnp_success-card .ideaplgnp_subtitle{ margin-left:auto; margin-right:auto; }
.ideaplgnp_success-card .ideaplgnp_subtitle{ max-width:52ch; }
.ideaplgnp_success-card .ideaplgnp_note{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:22px;
  padding:10px 18px;
  border-radius:100px;
  background:rgba(78,84,200,.08);
  color:var(--ideaplgnp_accent);
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:12.5px;
}
.ideaplgnp_success-card .ideaplgnp_back{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:22px;
  color:var(--ideaplgnp_dim);
  font-weight:600;
  font-size:13.5px;
}
.ideaplgnp_success-card .ideaplgnp_back:hover{ color:var(--ideaplgnp_accent); }

/* Woo'nun kendi başarı kutusunu (varsa) görsel olarak gizle; metnimiz
 * zaten aynı içeriği (filtrelenmiş) kendi kartımızda gösteriyor. */
.ideaplgnp_scope .woocommerce-message,
.ideaplgnp_scope .woocommerce-info{ display:none; }

/* =====================================================================
 * Dashboard için (giriş yapılmışsa) marka rengi küçük dokunuşlar
 * ===================================================================== */
.ideaplgnp_badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px;
  border-radius:100px;
  background:rgba(237,83,86,.10);
  color:var(--ideaplgnp_primary);
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:11.5px;
  margin-bottom:14px;
}

@media (max-width:600px){
  .ideaplgnp_wrap{ padding:36px 16px 60px; }
}
