/* GO.3Dify Maliyet Hesaplayıcı
   Tema içine gömülür. Marka tokenları temadan okunur, yoksa yedeğe düşer.
   Tema CSS'i karışmasın diye her kural .g3dh altında ve özellikler açıkça yazılır. */

.g3dh{
  /* Marka tokenları — tema tanımlarsa onu kullanır */
  --h-karbon: var(--g3d-carbon, #0E1116);
  --h-karbon2:#161A21;
  --h-karbon3:#1E232C;
  --h-molten: var(--g3d-molten, #FF6A2C);
  --h-metin:  #F2F3F5;
  --h-sonuk:  #9BA3AF;
  --h-cizgi:  rgba(255,255,255,.10);
  --h-yesil:  #2BB673;
  --h-sari:   #E8A317;
  --h-kirmizi:#E0533D;
  --h-mono: ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;

  background:var(--h-karbon);
  color:var(--h-metin);
  border-radius:16px;
  padding:clamp(18px,4vw,34px);
  font-size:16px;
  line-height:1.55;
  max-width:980px;
  margin:0 auto;
}

.g3dh *,.g3dh *::before,.g3dh *::after{box-sizing:border-box}
.g3dh [hidden]{display:none !important}
.g3dh-gizli{display:none !important}

.g3dh p{margin:0}
.g3dh h2,.g3dh h3{margin:0;color:var(--h-metin);line-height:1.25}

/* --------------------------------------------------------------- kanca */
.g3dh-kanca{margin-bottom:26px;max-width:62ch}
.g3dh-baslik{font-size:clamp(23px,4vw,32px);font-weight:750;letter-spacing:-.02em}
.g3dh-alt{margin-top:9px !important;color:var(--h-sonuk);font-size:14.5px}

/* --------------------------------------------------------------- alanlar */
.g3dh-etiket{
  display:block;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;
  color:var(--h-sonuk);margin-bottom:7px;
}
.g3dh-etiket-buyuk{
  font-size:15px;text-transform:none;letter-spacing:0;
  color:var(--h-metin);font-weight:650;margin-bottom:10px;
}

.g3dh input[type=number],.g3dh select{
  width:100%;appearance:none;-webkit-appearance:none;
  background:var(--h-karbon3);
  border:1px solid var(--h-cizgi);
  border-radius:9px;
  padding:12px 13px;
  color:var(--h-metin);
  font-family:var(--h-mono);
  font-size:16px;  /* iOS'ta odakta zoom olmasın */
  font-weight:600;
  line-height:1.2;
}
.g3dh input[type=number]::-webkit-outer-spin-button,
.g3dh input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.g3dh input[type=number]{-moz-appearance:textfield}
.g3dh input::placeholder{color:#5C6675;font-weight:500}
.g3dh input:focus,.g3dh select:focus,.g3dh button:focus-visible,.g3dh summary:focus-visible{
  outline:2px solid var(--h-molten);outline-offset:2px;
}
.g3dh select{
  background-image:linear-gradient(45deg,transparent 50%,var(--h-sonuk) 50%),
                   linear-gradient(135deg,var(--h-sonuk) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  padding-right:36px;font-family:inherit;font-size:14.5px;
}

.g3dh-birim,.g3dh-para{position:relative;display:flex;align-items:center}
.g3dh-birim>span,.g3dh-on-etiket{
  position:absolute;font-family:var(--h-mono);font-size:12px;font-weight:700;
  color:var(--h-sonuk);pointer-events:none;
}
.g3dh-birim>span{right:13px}
.g3dh-on-etiket{left:13px;text-transform:uppercase;letter-spacing:.05em}

/* DİKKAT: bu kuralların hepsi .g3dh input[type=number] temel kuralını geçmek
   zorunda. [type=number] olmadan özgüllük düşük kalır ve padding uygulanmaz. */
.g3dh .g3dh-birim input[type=number]{padding-right:52px}
.g3dh .g3dh-birim:has(.g3dh-on-etiket) input[type=number]{padding-left:118px}

.g3dh-para-isaret{
  position:absolute;left:15px;font-family:var(--h-mono);
  font-size:21px;font-weight:700;color:var(--h-molten);pointer-events:none;
}
.g3dh .g3dh-para input[type=number]{
  padding:15px 13px 15px 44px;font-size:26px;font-weight:750;
}
.g3dh-para-kucuk .g3dh-para-isaret{font-size:15px;left:13px}
.g3dh .g3dh-para-kucuk input[type=number]{
  padding:12px 13px 12px 32px;font-size:16px;font-weight:600;
}

.g3dh-ikili{display:grid;grid-template-columns:1fr 1fr;gap:9px}

.g3dh-ipucu{margin-top:6px !important;font-size:12px;color:var(--h-sonuk);line-height:1.4}
.g3dh-vurgu{color:var(--h-molten);font-weight:600}

/* --------------------------------------------------------- fiyat kutusu */
.g3dh-fiyat-kutu{
  background:var(--h-karbon2);
  border:1px solid var(--h-cizgi);
  border-left:3px solid var(--h-molten);
  border-radius:12px;padding:18px;margin-bottom:22px;
}

.g3dh-onay{display:inline-flex;align-items:center;gap:9px;margin-top:11px;cursor:pointer;font-size:14px}
.g3dh-onay input{width:18px;height:18px;accent-color:var(--h-molten);flex:0 0 auto}
.g3dh-onay-kutu{
  background:var(--h-karbon3);border:1px solid var(--h-cizgi);
  border-radius:9px;padding:12px 13px;margin-top:0;
}

/* --------------------------------------------------------------- ızgara */
.g3dh-izgara{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:17px;margin-bottom:20px}
.g3dh-alan-genis{margin-bottom:22px}

/* --------------------------------------------------------------- çipler */
.g3dh-cipler{display:flex;flex-wrap:wrap;gap:8px}
.g3dh-cip{
  flex:1 1 140px;text-align:left;cursor:pointer;
  background:var(--h-karbon3);border:1px solid var(--h-cizgi);
  border-radius:10px;padding:11px 13px;color:var(--h-sonuk);
  font-family:inherit;transition:.14s;
}
.g3dh-cip strong{display:block;font-size:14.5px;color:var(--h-metin);font-weight:700}
.g3dh-cip small{display:block;font-size:11.5px;margin-top:2px;line-height:1.3}
.g3dh-cip:active{transform:scale(.98)}
.g3dh-cip.aktif{border-color:var(--h-molten);background:rgba(255,106,44,.12)}
.g3dh-cip.aktif strong{color:var(--h-molten)}
.g3dh-malzeme-alt{margin-top:11px}

/* ------------------------------------------------------------- gelişmiş */
.g3dh-gelismis{
  background:var(--h-karbon2);border:1px solid var(--h-cizgi);
  border-radius:12px;margin-bottom:22px;
}
.g3dh-gelismis summary{
  cursor:pointer;padding:15px 18px;font-size:14px;font-weight:650;
  color:var(--h-metin);list-style:none;display:flex;align-items:center;gap:9px;
}
.g3dh-gelismis summary::-webkit-details-marker{display:none}
.g3dh-gelismis summary::before{content:"+";color:var(--h-molten);font-family:var(--h-mono);font-weight:700;font-size:17px}
.g3dh-gelismis[open] summary::before{content:"−"}
.g3dh-gelismis .g3dh-izgara{padding:4px 18px 18px;margin-bottom:0}

/* ---------------------------------------------------------------- eylem */
.g3dh-eylem{display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.g3dh-buton{
  flex:1 1 220px;cursor:pointer;
  background:var(--h-molten);color:#140A04;border:0;
  border-radius:10px;padding:16px 26px;
  font-family:inherit;font-size:16.5px;font-weight:750;
  transition:.14s;
}
.g3dh-buton:active{transform:scale(.985)}
.g3dh-buton-ikincil{
  cursor:pointer;background:none;border:1px solid var(--h-cizgi);
  border-radius:10px;padding:16px 22px;color:var(--h-sonuk);
  font-family:inherit;font-size:14.5px;font-weight:600;
}

.g3dh-uyari-alan{
  margin-top:14px !important;padding:12px 15px;border-radius:9px;
  background:rgba(224,83,61,.14);border:1px solid rgba(224,83,61,.45);
  color:#FFB8AB;font-size:14px;
}
.g3dh-hata{color:#E0533D;font-size:14px}

/* ---------------------------------------------------------------- sonuç */
.g3dh-sonuc{margin-top:30px;padding-top:28px;border-top:1px solid var(--h-cizgi)}
.g3dh-sonuc:focus{outline:none}

.g3dh-karar{
  border-radius:12px;padding:18px 20px;margin-bottom:20px;
  border:1px solid var(--h-cizgi);background:var(--h-karbon2);
}
.g3dh-karar-rozet{
  display:inline-block;font-family:var(--h-mono);font-size:11px;font-weight:700;
  letter-spacing:.11em;padding:4px 10px;border-radius:5px;margin-bottom:9px;
  background:var(--h-sonuk);color:var(--h-karbon);
}
.g3dh-karar-metin{font-size:16px;line-height:1.5}
.g3dh-karar-metin strong{font-family:var(--h-mono);font-weight:750}

.g3dh-zarar{border-color:rgba(224,83,61,.5);background:rgba(224,83,61,.10)}
.g3dh-zarar .g3dh-karar-rozet{background:var(--h-kirmizi);color:#fff}
.g3dh-ince{border-color:rgba(232,163,23,.5);background:rgba(232,163,23,.09)}
.g3dh-ince .g3dh-karar-rozet{background:var(--h-sari);color:#241A04}
.g3dh-idare{border-color:rgba(232,163,23,.35)}
.g3dh-idare .g3dh-karar-rozet{background:var(--h-sari);color:#241A04}
.g3dh-saglikli{border-color:rgba(43,182,115,.5);background:rgba(43,182,115,.09)}
.g3dh-saglikli .g3dh-karar-rozet{background:var(--h-yesil);color:#03200F}
.g3dh-notr .g3dh-karar-rozet{background:var(--h-molten);color:#140A04}

/* --------------------------------------------------------------- kutular */
.g3dh-kutular{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:26px}
.g3dh-kutu{
  background:var(--h-karbon2);border:1px solid var(--h-cizgi);
  border-radius:11px;padding:15px;
}
.g3dh-kutu-etiket{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--h-sonuk)}
.g3dh-kutu-deger{display:block;font-family:var(--h-mono);font-size:21px;font-weight:750;margin:7px 0 3px;letter-spacing:-.02em}
.g3dh-kutu-not{display:block;font-size:11.5px;color:var(--h-sonuk);line-height:1.35}
.g3dh-kutu-kotu{border-color:rgba(224,83,61,.5);background:rgba(224,83,61,.10)}
.g3dh-kutu-kotu .g3dh-kutu-deger{color:#FF9C87}

/* --------------------------------------------------------------- tablolar */
.g3dh-oneri,.g3dh-kirilim{margin-bottom:26px}
.g3dh-oneri h3,.g3dh-kirilim h3{font-size:17px;font-weight:700;margin-bottom:11px}
.g3dh-kirilim-not{margin-bottom:12px !important;font-size:13px;color:var(--h-sonuk)}

.g3dh table{width:100%;border-collapse:collapse;font-size:14px;background:none}
.g3dh thead th{
  text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--h-sonuk);
  padding:0 10px 8px;border:0;background:none;
}
.g3dh thead th:last-child,.g3dh td.g3dh-tutar{text-align:right}
.g3dh tbody th{
  text-align:left;font-weight:650;color:var(--h-metin);
  padding:11px 10px;border:0;border-top:1px solid var(--h-cizgi);background:none;
}
.g3dh tbody th small{display:block;font-weight:500;font-size:11.5px;color:var(--h-sonuk)}
.g3dh tbody td{
  padding:11px 10px;border:0;border-top:1px solid var(--h-cizgi);
  color:var(--h-metin);background:none;vertical-align:top;
}
.g3dh-formul{font-size:12px;color:var(--h-sonuk);line-height:1.45;font-family:var(--h-mono)}
.g3dh-tutar{font-family:var(--h-mono);font-weight:700;white-space:nowrap}
.g3dh-oneri-tablo td{font-family:var(--h-mono);font-weight:700;text-align:right;white-space:nowrap}
.g3dh-vurgulu th,.g3dh-vurgulu td{background:rgba(255,106,44,.09)}
.g3dh-vurgulu td{color:var(--h-molten)}
.g3dh-toplam th,.g3dh-toplam td{
  border-top:2px solid var(--h-molten);font-weight:750;padding-top:13px;
}
.g3dh-toplam .g3dh-tutar{color:var(--h-molten);font-size:16px}

.g3dh-kaynak{font-size:12px;color:var(--h-sonuk);line-height:1.5;padding-top:16px;border-top:1px solid var(--h-cizgi)}

/* ----------------------------------------------------------------- mobil */
@media(max-width:600px){
  .g3dh{border-radius:12px;padding:16px}
  .g3dh-izgara{grid-template-columns:1fr}
  .g3dh-cip{flex:1 1 calc(50% - 4px)}
  .g3dh-cip small{display:none}
  .g3dh-kutular{grid-template-columns:1fr 1fr}
  .g3dh-buton,.g3dh-buton-ikincil{flex:1 1 100%}
  .g3dh .g3dh-birim:has(.g3dh-on-etiket) input[type=number]{padding-left:13px;padding-top:30px}
  .g3dh-on-etiket{top:9px}
  .g3dh table{font-size:13px}
  .g3dh-formul{font-size:11px}
  /* Kırılım tablosunda formül sütunu dar ekranda alta iner */
  .g3dh-tablo thead{display:none}
  .g3dh-tablo tbody th,.g3dh-tablo tbody td{display:block;padding:3px 0;border:0}
  .g3dh-tablo tbody tr{display:block;padding:11px 0;border-top:1px solid var(--h-cizgi)}
  .g3dh-tablo td.g3dh-tutar{text-align:left;font-size:15px}
}

@media(prefers-reduced-motion:reduce){
  .g3dh *{transition:none !important}
}
