/* ==========================================================================
   Dosya: projectrugs/assets/css/ozel-siparis.css
   Yalnız /ozel-siparis/ sayfasında yüklenir: hesaplayıcı kutusu, talep formunun seçim/dosya/onay alanları,
   başarı ve genel hata kutuları, süre-ödeme özeti. Form alanlarının temeli tokens.css'te (.pr-alan, .pr-durum).
   ========================================================================== */

/* hidden özniteliği tokens.css'teki display:flex/block kurallarını ezsin */
.pr-talep-sayfa [hidden] {
  display: none !important;
}

/* --- Sayfa düzeni ----------------------------------------------------- */
.pr-talep-sayfa__sutun {
  max-width: var(--pr-metin-sutun);
}

.pr-talep-sayfa__baslik {
  margin-bottom: var(--pr-sp-6);
}

.pr-talep-sayfa__giris {
  margin-bottom: var(--pr-sp-12);
}

.pr-talep-sayfa__giris > :last-child {
  margin-bottom: 0;
}

.pr-talep-sayfa__alt {
  margin-top: var(--pr-bolum-arasi);
}

/* --- Başarı ve genel hata kutuları ------------------------------------ */
.pr-talep-durum {
  align-items: flex-start;
  margin-bottom: var(--pr-sp-8);
  font-size: var(--pr-fs-govde);
  line-height: var(--pr-lh-govde);
}

.pr-talep-durum > .pr-ikon {
  flex: none;
}

.pr-talep-durum__govde {
  flex: 1;
  min-width: 0;
}

.pr-talep-durum__baslik {
  margin: 0 0 var(--pr-sp-1);
  font-family: var(--pr-font-baslik);
  font-weight: 600;
  font-size: var(--pr-fs-h2);
  line-height: var(--pr-lh-h2);
  color: inherit;
}

.pr-talep-durum p {
  margin: 0;
}

.pr-talep-durum a:not(.pr-btn) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.pr-talep-basari {
  padding: var(--pr-sp-8);
}

/* Büyük "Instagram'dan yaz": kutunun tam genişliği; yükseklik ve yazı buton standardında */
.pr-talep-basari__dugme {
  width: 100%;
  margin-top: var(--pr-sp-6);
}

/* --- Fiyat hesaplayıcı ------------------------------------------------ */
.pr-hesap {
  min-inline-size: 0;
  margin: 0 0 var(--pr-sp-12);
  padding: var(--pr-kart-ic);
  border: 0;
  border-radius: var(--pr-r-kart);
  background: var(--pr-nane);
}

/* legend kutunun içinde, normal akışta dursun */
.pr-hesap__baslik {
  float: left;
  width: 100%;
  margin: 0 0 var(--pr-sp-4);
  padding: 0;
  font-family: var(--pr-font-baslik);
  font-weight: 600;
  font-size: var(--pr-fs-h2);
  line-height: var(--pr-lh-h2);
  color: var(--pr-orman);
}

.pr-hesap__secimler {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pr-oluk);
}

.pr-hesap .pr-alan {
  margin-bottom: 0;
}

.pr-hesap > .pr-alan__hata {
  margin-top: var(--pr-sp-3);
}

/* Sonuç satırı yerini baştan ayırır: seçim yapılınca sayfa zıplamaz */
.pr-hesap__sonuc {
  min-height: calc(var(--pr-fs-h2) * var(--pr-lh-h2));
  margin: var(--pr-sp-6) 0 var(--pr-sp-2);
  font-family: var(--pr-font-baslik);
  font-weight: 600;
  font-size: var(--pr-fs-h2);
  line-height: var(--pr-lh-h2);
  color: var(--pr-orman);
}

.pr-hesap__tutar {
  font-weight: 700;
}

.pr-hesap__not {
  margin: 0 0 var(--pr-sp-2);
}

@media (max-width: 767px) {
  .pr-hesap__secimler {
    grid-template-columns: 1fr;
  }
}

/* --- Form alanları ---------------------------------------------------- */
.pr-talep__baslik {
  margin-bottom: var(--pr-sp-6);
}

select.pr-alan__girdi {
  cursor: pointer;
}

.pr-alan__girdi[readonly] {
  background: var(--pr-pasif-zemin);
}

.pr-alan__hata .pr-ikon {
  flex: none;
  width: 1.25em;
  height: 1.25em;
}

/* Dosya alanı: seçme düğmesi ikincil buton diliyle */
.pr-alan__girdi[type="file"] {
  display: flex;
  align-items: center;
  padding: var(--pr-sp-1);
  font-size: var(--pr-fs-kucuk);
  cursor: pointer;
}

.pr-alan__girdi[type="file"]::file-selector-button {
  min-height: calc(var(--pr-alan-h) - var(--pr-sp-3));
  margin-inline-end: var(--pr-sp-3);
  padding: 0 var(--pr-sp-4);
  font-family: var(--pr-font-govde);
  font-weight: 600;
  font-size: var(--pr-fs-kucuk);
  color: var(--pr-orman);
  background: var(--pr-nane);
  border: 0;
  border-radius: var(--pr-r-tam);
  cursor: pointer;
  transition: background-color var(--pr-sure-hizli) var(--pr-egri);
}

.pr-alan__girdi[type="file"]:hover::file-selector-button {
  background: var(--pr-pasif-zemin);
}

/* Onay kutuları: satırın tamamı tıklanır, en az 44 px */
.pr-alan--onay {
  margin-bottom: var(--pr-sp-2);
}

.pr-onay {
  display: flex;
  align-items: flex-start;
  gap: var(--pr-sp-3);
  min-height: var(--pr-dokunma);
  padding-block: var(--pr-sp-2);
  cursor: pointer;
}

.pr-onay__kutu {
  flex: none;
  width: var(--pr-sp-6);
  height: var(--pr-sp-6);
  margin: 0;
  margin-top: calc((1lh - var(--pr-sp-6)) / 2);
  accent-color: var(--pr-orman);
  cursor: pointer;
}

.pr-alan--hata .pr-onay__kutu {
  outline: var(--pr-odak) solid var(--pr-hata-metin);
  outline-offset: var(--pr-odak);
}

.pr-alan--hata .pr-onay__kutu:focus-visible {
  outline-color: var(--pr-kiremit);
}

/* Honeypot: ekranda ve ekran okuyucuda yok, botlar için DOM'da var */
.pr-bal {
  position: absolute;
  left: -100vw;
  width: 1em;
  height: 1em;
  overflow: hidden;
}

.pr-talep__gonder {
  margin: var(--pr-sp-8) 0 0;
}

.pr-btn[aria-disabled="true"] {
  cursor: progress;
}

@media (max-width: 767px) {
  .pr-talep__gonder .pr-btn {
    width: 100%;
  }
}

/* --- Süre ve ödeme özeti --------------------------------------------- */
.pr-talep-ozet {
  margin-top: var(--pr-sp-12);
}

.pr-talep-ozet__liste {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pr-oluk);
  margin: 0;
}

.pr-talep-ozet__satir dd {
  margin: var(--pr-sp-2) 0 0;
}

@media (max-width: 767px) {
  .pr-talep-ozet__liste {
    grid-template-columns: 1fr;
  }
}
