/*
 * Ana sayfa kampanya başvuru alanı (kaynak: digiturkbasvur.com/assets/css/site.css)
 * Sitenin header/footer'ı ile birlikte kullanıldığı için tüm kurallar .kampanya-landing altına alınmıştır.
 */
.kampanya-landing{
  /* Sitenin standart açık arka planı (main.css .light-background) */
  --kl-bg:#f9f5f4;
  position:relative;
  width:100%;
  background:var(--kl-bg);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  color:#444;
}
.kampanya-landing *{box-sizing:border-box}
/* Tema (main.css) section kurallarını nötrle */
.kampanya-landing section{
  background:transparent;
  color:inherit;
  overflow:visible;
  scroll-margin-top:135px;
}

/* ── Sayfa kabuğu + hero ── */
.kampanya-landing .page-shell{
  position:relative;
  width:100%;
  max-width:540px;
  margin:0 auto;
  overflow:hidden;
  background:transparent;
  isolation:isolate;
}
.kampanya-landing .hero-background{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:auto;
  display:block;
  z-index:-2;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
  /* Mobil görselin alt kenarı açık zemine yumuşak geçsin */
  -webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 86%,transparent 100%);
}
@media (orientation:landscape) and (max-height:600px){
  .kampanya-landing .page-shell{max-width:420px}
}

/* Masaüstü: üstte yatay banner, altında form */
.kampanya-landing .hero-yatay-alan{display:none}
@media (min-width:992px){
  .kampanya-landing .hero-yatay-alan{display:block;padding:16px 16px 0}
  .kampanya-landing .hero-yatay{
    display:block;
    width:min(100%, 1200px, calc(75svh * 1.5));
    height:auto;
    margin:0 auto;
    -webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent 100%),linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to bottom,#000 88%,transparent 100%),linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-composite:intersect;
  }
  .kampanya-landing .hero-background{display:none}
}

/* ── Başvuru alanı ── */
.kampanya-landing .future-form-area{
  position:relative;
  width:100%;
  min-height:max(100svh, 1020px);
  padding:min(107vw, 578px) 14px 28px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
@media (max-width:380px){
  .kampanya-landing .future-form-area{padding-left:10px;padding-right:10px}
}
@media (min-width:541px){
  .kampanya-landing .future-form-area{padding-top:578px}
}
@media (min-width:992px){
  .kampanya-landing .future-form-area{min-height:auto;padding-top:12px}
}
@media (max-width:540px){
  .kampanya-landing .future-form-area{min-height:auto;padding-bottom:8px}
}

.kampanya-landing .application-card{
  width:100%;
  max-width:395px;
  padding:16px 14px 14px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(31,11,50,.90),rgba(10,5,20,.94));
  border:1px solid rgba(202,125,255,.55);
  box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 28px rgba(159,62,255,.18),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#fff;
}
.kampanya-landing .form-kicker{
  margin:0 0 4px;
  text-align:center;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d9b4ff;
}
.kampanya-landing .application-card h1{
  margin:0;
  text-align:center;
  font-family:inherit;
  font-size:19px;
  line-height:1.15;
  font-weight:900;
  color:#fff;
}
.kampanya-landing .form-subtitle{
  margin:6px auto 13px;
  max-width:300px;
  text-align:center;
  color:#c9c1d2;
  font-size:10.5px;
  line-height:1.45;
}
.kampanya-landing .form-grid{display:grid;gap:9px}
.kampanya-landing .field label{
  display:block;
  margin:0 0 5px 2px;
  font-size:10.5px;
  font-weight:800;
  color:#f2e9ff;
}
.kampanya-landing .input-wrap{position:relative}
.kampanya-landing .input-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  text-align:center;
  color:#c77dff;
  font-size:13px;
  pointer-events:none;
}
.kampanya-landing .field input{
  width:100%;
  height:46px;
  margin:0;
  padding:0 13px 0 40px;
  border:1px solid rgba(199,125,255,.34);
  border-radius:13px;
  outline:none;
  background:rgba(3,1,7,.72);
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:650;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  transition:.2s ease;
}
.kampanya-landing .field input::placeholder{color:#8f8798;font-weight:500}
.kampanya-landing .field input:focus{
  border-color:#d395ff;
  box-shadow:0 0 0 3px rgba(171,77,255,.13),0 0 18px rgba(171,77,255,.16);
  background:rgba(4,1,10,.88);
}
/* Otomatik doldurma algılama (kampanya.js → telefonBicimle) */
@keyframes telefonAutofill{from{opacity:1}to{opacity:1}}
.kampanya-landing #phone:-webkit-autofill,.kampanya-landing #phone:autofill{animation:telefonAutofill 1ms}

/* Kampanya seçimi (zorunlu tek seçim) */
.kampanya-landing .kampanya-secim{margin:0;padding:0;border:0;min-width:0}
.kampanya-landing .kampanya-secim legend{
  float:none;
  width:auto;
  padding:0;
  margin:0 0 5px 2px;
  font-size:10.5px;
  line-height:inherit;
  font-weight:800;
  color:#f2e9ff;
}
.kampanya-landing .kampanya-liste{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kampanya-landing .kampanya-kart{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-height:66px;
  margin:0;
  padding:9px 6px 8px;
  border:1px solid rgba(199,125,255,.34);
  border-radius:13px;
  background:rgba(3,1,7,.72);
  color:#fff;
  text-align:center;
  cursor:pointer;
  transition:.2s ease;
}
.kampanya-landing .field .kampanya-kart input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}
.kampanya-landing .kampanya-baslik{font-size:10.5px;font-weight:800;color:#d9b4ff;line-height:1.2}
.kampanya-landing .kampanya-fiyat{font-size:11px;font-weight:800;color:#fff}
.kampanya-landing .kampanya-fiyat b{font-size:22px;font-weight:900;font-style:italic;letter-spacing:-.02em;line-height:1}
.kampanya-landing .kampanya-kart:hover{border-color:rgba(211,149,255,.6)}
.kampanya-landing .kampanya-kart:has(input:focus-visible){box-shadow:0 0 0 3px rgba(171,77,255,.25)}
.kampanya-landing .kampanya-kart:has(input:checked){
  border-color:#d395ff;
  background:linear-gradient(180deg,rgba(124,40,200,.55),rgba(60,14,110,.65));
  box-shadow:0 0 0 1px #d395ff,0 0 18px rgba(171,77,255,.35);
}
.kampanya-landing .kampanya-kart:has(input:checked)::after{
  content:"✓";
  position:absolute;
  top:-7px;
  right:-5px;
  width:16px;
  height:16px;
  box-shadow:0 0 0 2px #14061f;
  border-radius:50%;
  background:#c77dff;
  color:#1a0630;
  font-size:10px;
  font-weight:900;
  line-height:16px;
}
.kampanya-landing .kampanya-secim.hatali legend{color:#ffb3c4}
.kampanya-landing .kampanya-secim.hatali .kampanya-kart{
  border-color:#ff7aa0;
  animation:kampanyaIsilti .7s ease-in-out 3;
}
@keyframes kampanyaIsilti{
  0%,100%{box-shadow:0 0 0 1px rgba(255,122,160,.5),0 0 8px rgba(255,92,140,.25);transform:scale(1)}
  50%{
    box-shadow:0 0 0 2px #ff9cbb,0 0 22px rgba(255,92,140,.75),0 0 42px rgba(199,125,255,.55);
    background:rgba(70,12,45,.75);
    transform:scale(1.03);
  }
}
@media (prefers-reduced-motion:reduce){
  .kampanya-landing .kampanya-secim.hatali .kampanya-kart{animation:none;box-shadow:0 0 0 2px #ff9cbb,0 0 18px rgba(255,92,140,.6)}
}

/* Butonlar */
.kampanya-landing .cta-stack{display:grid;gap:9px}
.kampanya-landing .submit-btn{
  width:100%;
  height:50px;
  margin-top:2px;
  border:0;
  border-radius:14px;
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  letter-spacing:.035em;
  cursor:pointer;
  background:linear-gradient(100deg,#7925db 0%,#aa40ff 48%,#d57cff 100%);
  box-shadow:0 9px 24px rgba(125,37,219,.35),0 0 22px rgba(197,105,255,.22);
  transition:transform .15s ease,filter .2s ease;
}
.kampanya-landing .submit-btn:active{transform:scale(.985)}
.kampanya-landing .submit-btn:hover{filter:brightness(1.07)}
.kampanya-landing .call-info-btn{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 14px;
  border-radius:14px;
  text-decoration:none;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.02em;
  color:#f2ebff;
  border:1px solid rgba(124,214,255,.28);
  background:linear-gradient(135deg,rgba(21,37,72,.80),rgba(30,12,55,.84));
  box-shadow:0 10px 24px rgba(12,23,45,.28),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .15s ease,filter .2s ease,border-color .2s ease;
}
.kampanya-landing .call-info-btn:hover{color:#f2ebff;filter:brightness(1.06);border-color:rgba(165,227,255,.42)}
.kampanya-landing .call-info-btn:active{transform:scale(.985)}
.kampanya-landing .call-icon{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#bfe8ff;
  background:rgba(126,214,255,.12);
  box-shadow:0 0 18px rgba(123,204,255,.16);
}

/* Güven satırı + mesajlar */
.kampanya-landing .trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.kampanya-landing .trust-item{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px;
  border-radius:10px;
  border:1px solid rgba(199,125,255,.18);
  background:rgba(255,255,255,.025);
  text-align:center;
  color:#c8c0d0;
  font-size:8.5px;
  font-weight:700;
  line-height:1.22;
}
.kampanya-landing .trust-item b{color:#d79cff;font-size:13px}
.kampanya-landing .form-note{margin:10px 0 0;text-align:center;font-size:8.5px;color:#746d7c}
.kampanya-landing .form-message{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  text-align:center;
  font-size:10.5px;
  font-weight:700;
}
.kampanya-landing .form-message.success{display:block;background:rgba(40,180,120,.10);border:1px solid rgba(70,220,150,.25);color:#9ef0c8}
.kampanya-landing .form-message.error{display:block;background:rgba(220,65,95,.10);border:1px solid rgba(255,90,120,.25);color:#ffb4c2}
.kampanya-landing .form-message.pending{display:block;background:rgba(142,108,255,.12);border:1px solid rgba(199,125,255,.30);color:#e7dcff}

@media (max-width:380px){
  .kampanya-landing .application-card{padding:14px 12px 13px;border-radius:18px}
  .kampanya-landing .application-card h1{font-size:18px}
  .kampanya-landing .trust-item{font-size:8px}
  .kampanya-landing .call-info-btn{font-size:11.5px;min-height:44px;gap:8px}
  .kampanya-landing .call-icon{width:24px;height:24px}
}

/* Bot tuzağı (honeypot): görünmez alan */
.kampanya-landing .web-sitesi{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Neden Digiturk İnternet (görsel slider) ── */
.kampanya-landing .why-section{position:relative;padding:16px 14px 34px}
.kampanya-landing .section-kicker{
  margin:0 0 8px;
  text-align:center;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7925db;
}
.kampanya-landing .why-section h2{
  margin:0;
  text-align:center;
  font-family:inherit;
  font-size:24px;
  line-height:1.18;
  font-weight:900;
  color:#171717;
}
.kampanya-landing .section-subtitle{
  margin:8px auto 14px;
  max-width:280px;
  text-align:center;
  font-size:11.5px;
  line-height:1.55;
  color:#6c6475;
}
.kampanya-landing .image-slider-shell{position:relative;max-width:360px;margin:4px auto 0}
.kampanya-landing .slider-viewport{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.kampanya-landing .slider-viewport::-webkit-scrollbar{display:none}
.kampanya-landing .image-slide{
  position:relative;
  flex:0 0 100%;
  min-width:100%;
  overflow:hidden;
  scroll-snap-align:start;
  padding:0;
  border-radius:22px;
  background:transparent;
  border:1px solid rgba(92,45,145,.18);
  box-shadow:0 12px 28px rgba(44,22,84,.18);
}
.kampanya-landing .image-slide img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:22px;
}
.kampanya-landing .slider-dots{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:10px}
.kampanya-landing .slider-dot{
  width:9px;
  height:9px;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(92,45,145,.22);
  box-shadow:none;
  cursor:pointer;
  transition:all .25s ease;
}
.kampanya-landing .slider-dot.active{
  width:28px;
  background:linear-gradient(90deg,#9e42ff,#d69aff);
  box-shadow:0 0 16px rgba(185,96,255,.35);
}
@media (max-width:540px){
  .kampanya-landing .why-section{padding-top:6px}
}
@media (max-width:380px){
  .kampanya-landing .why-section{padding:14px 10px 30px}
  .kampanya-landing .why-section h2{font-size:22px}
  .kampanya-landing .section-subtitle{font-size:11px}
  .kampanya-landing .image-slider-shell{max-width:320px}
  .kampanya-landing .image-slide,
  .kampanya-landing .image-slide img{border-radius:20px}
}

/* ── Başvuru bekleme popup ── */
.kampanya-landing .submit-wait-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,4,13,.78);
  backdrop-filter:blur(7px);
}
.kampanya-landing .submit-wait-overlay.show{display:flex}
.kampanya-landing .submit-wait-modal{
  width:min(92vw,390px);
  padding:26px 22px 24px;
  border:1px solid rgba(199,125,255,.28);
  border-radius:22px;
  background:linear-gradient(145deg,#17101f,#0d0a12);
  box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 34px rgba(170,64,255,.18);
  text-align:center;
}
.kampanya-landing .submit-wait-spinner{
  width:48px;
  height:48px;
  margin:0 auto 16px;
  border:4px solid rgba(255,255,255,.14);
  border-top-color:#b55cff;
  border-radius:50%;
  animation:submitWaitSpin .8s linear infinite;
}
.kampanya-landing .submit-wait-title{margin:0 0 8px;color:#fff;font-family:inherit;font-size:19px;font-weight:900}
.kampanya-landing .submit-wait-text{margin:0;color:#cfc5d8;font-size:13px;line-height:1.5}
.kampanya-landing .submit-wait-count{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin:18px auto 0;
  border:1px solid rgba(199,125,255,.32);
  border-radius:50%;
  color:#fff;
  font-size:24px;
  font-weight:900;
  background:rgba(170,64,255,.12);
}
@keyframes submitWaitSpin{to{transform:rotate(360deg)}}

/* ── SMS doğrulama modalı (Digiturk onay ekranı iframe içinde) ── */
.kampanya-landing .otp-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(7,4,13,.82);
  backdrop-filter:blur(7px);
}
.kampanya-landing .otp-overlay.show{display:flex}
.kampanya-landing .otp-modal{
  display:flex;
  flex-direction:column;
  width:min(96vw,480px);
  height:min(88svh,720px);
  border:1px solid rgba(199,125,255,.28);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(145deg,#17101f,#0d0a12);
  box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 34px rgba(170,64,255,.18);
}
.kampanya-landing .otp-head{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-bottom:1px solid rgba(199,125,255,.18);
  color:#fff;
}
.kampanya-landing .otp-head h2{flex:1;margin:0;font-family:inherit;font-size:15px;font-weight:900;color:#fff}
.kampanya-landing .otp-head a,.kampanya-landing .otp-head button{
  border:0;
  background:none;
  color:#cfc5d8;
  font-size:12px;
  cursor:pointer;
  text-decoration:none;
  padding:4px 6px;
}
.kampanya-landing .otp-head button{font-size:22px;line-height:1}
.kampanya-landing .otp-body{position:relative;flex:1;background:#fff}
.kampanya-landing .otp-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kampanya-landing .otp-loading{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#0d0a12;
  color:#cfc5d8;
  font-size:13px;
}
.kampanya-landing .otp-note{
  margin:0;
  padding:10px 14px;
  color:#cfc5d8;
  font-size:11.5px;
  text-align:center;
  border-top:1px solid rgba(199,125,255,.18);
}
@media (max-width:480px){
  .kampanya-landing .otp-overlay{padding:0}
  .kampanya-landing .otp-modal{width:100vw;height:100svh;border-radius:0;border:0}
}
