/* ==========================================================================
   Sayfaya özel parçalar: karşılaştırma tablosu, 3D görüntüleyici,
   döngü adımları, iletişim formu.
   ========================================================================== */

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- karşılaştırma tablosu ---------- */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.94rem;min-width:640px}
.tbl th,.tbl td{text-align:left;padding:.95rem 1.1rem;vertical-align:baseline}
.tbl thead th{font:500 .64rem/1.2 var(--font-t);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-2);border-bottom:1px solid rgba(18,22,20,.22);padding-bottom:.8rem}
.tbl tbody th{font-weight:500;color:var(--ink);width:30%;
  border-bottom:1px solid rgba(18,22,20,.09)}
.tbl tbody td{color:var(--ink-2);border-bottom:1px solid rgba(18,22,20,.09)}
.tbl tbody tr:hover th,
.tbl tbody tr:hover td:not(.win){background:rgba(63,79,64,.045)}
.tbl tbody tr:last-child th,
.tbl tbody tr:last-child td{border-bottom:0}

/* kazanan sütun: lacquered nameplate + ılık gövde + sol ray (km tiki).
   position:sticky taşmada sütunu sağda tutar; masaüstünde tablo sığdığı
   için görünür etkisi yok. Arka plan opak olmalı, altından satır sızmasın. */
.tbl thead th:last-child{
  color:var(--tan);background:var(--green-deep);
  border-bottom:0;padding:1.05rem 1.35rem 1rem;position:sticky;right:0;z-index:2;
  letter-spacing:.2em}
.tbl thead th:last-child::before{content:"";position:absolute;left:1.35rem;top:0;
  width:1.6rem;height:2px;background:var(--tan)}
.tbl td.win{
  color:var(--ink);font-family:var(--font-d);font-weight:300;font-size:1.02rem;
  letter-spacing:-.015em;position:sticky;right:0;z-index:1;
  background:color-mix(in srgb,var(--tan) 34%,var(--bone));
  border-bottom-color:rgba(18,22,20,.06);
  box-shadow:inset 2px 0 0 var(--green-deep);
  padding-left:1.35rem;padding-right:1.35rem}
.tbl tbody tr:hover td.win{background:color-mix(in srgb,var(--tan) 48%,var(--bone))}
@media (max-width:700px){
  .tbl{font-size:.88rem;min-width:560px}
  .tbl th,.tbl td{padding:.75rem .7rem}
  .tbl thead th:last-child,.tbl td.win{padding-left:1rem;padding-right:1rem}
  .tbl thead th:last-child::before{left:1rem}
}

/* ---------- 3D görüntüleyici ---------- */
.viewer{position:relative;background:#101513;border:1px solid rgba(199,183,156,.16)}
.viewer canvas{display:block;width:100%;height:clamp(300px,52vh,520px)}
.viewer__pick{position:absolute;left:1rem;bottom:1rem;display:flex;gap:.4rem}
.viewer__pick button{font:500 .7rem/1 var(--font-t);letter-spacing:.12em;text-transform:uppercase;
  color:#B7C0B9;background:rgba(10,14,12,.72);border:1px solid rgba(199,183,156,.28);
  padding:.6rem .95rem;cursor:pointer;transition:background .2s,color .2s}
.viewer__pick button[aria-pressed="true"]{background:var(--tan);color:#0C100F;border-color:var(--tan)}
.viewer__note{position:absolute;right:1rem;bottom:1.15rem;margin:0;
  font:400 .7rem/1 var(--font-t);color:#8E998F}
@media (max-width:640px){ .viewer__note{display:none} }

/* ---------- döngü adımları ---------- */
.cyc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  gap:clamp(1.8rem,4vw,3.4rem)}
.cyc__i{position:relative;padding-top:2.6rem;border-top:1px solid rgba(18,22,20,.16)}
.cyc__i span{position:absolute;top:1rem;left:0;font:500 .68rem/1 var(--font-t);
  letter-spacing:.2em;color:var(--green)}
.cyc__i h3{margin:0 0 .8rem}

/* ---------- form ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem;align-content:start}
.form__row{display:flex;flex-direction:column;gap:.45rem}
.form__row--full{grid-column:1/-1}
.form__row--full .btn{align-self:start;justify-self:start}
.form label{font:500 .64rem/1 var(--font-t);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.form input,.form select,.form textarea{
  font:400 .98rem/1.45 var(--font-t);color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid rgba(18,22,20,.28);
  padding:.6rem 0;border-radius:0;transition:border-color .25s}
.form textarea{border:1px solid rgba(18,22,20,.24);padding:.75rem .85rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--green)}
.form select{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);
  background-position:calc(100% - 12px) calc(50% + 1px),calc(100% - 7px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.form__note{margin:1rem 0 0;font-size:.86rem;line-height:1.55;color:var(--ink-2);min-height:1.2em}
.form__note.is-warn{color:#8A5A2B}
@media (max-width:640px){ .form{grid-template-columns:1fr} }
