/* ==========================================================================
   Dizayn Makina — İLETİŞİM page (Sinematik theme)
   Loaded only by iletisim.html, after sinematik.css. Every rule is scoped to
   body.theme-sinematik[data-page="iletisim"] so nothing can leak to other pages.
   Uses the theme tokens (--sn-*), surface tokens and reveal classes as-is.

   Page structure
     .page-hero            shared cinematic hero (+ a one-tap phone link in the HUD)
     .ct-lines   (dark)    01  type-led direct lines: phone / e-mail as huge tappable rows,
                               hours + fax as compact rows (label | value | action grid)
     .ct-form    (light)   02  intro column (sticky) + the form on a white sheet
     .ct-loc     (dark)    03  "Konum": title + building photo + address (opens Maps)
                               | interactive map bleeding to the right edge
   ========================================================================== */

/* ---------------------------------------------------------------- HERO */
/* (breadcrumb 44px tap target: shared rule in sinematik.css) */
body.theme-sinematik[data-page="iletisim"] .ct-hudtel{
  display:inline-flex;align-items:center;gap:12px;min-height:44px;
  color:#fff;letter-spacing:.1em;white-space:nowrap;transition:color .25s;
}
body.theme-sinematik[data-page="iletisim"] .ct-hudtel svg{width:16px;height:16px;flex:none;color:var(--sn-green-lt);}
body.theme-sinematik[data-page="iletisim"] .ct-hudtel:hover{color:var(--sn-green-lt);}
/* hero photo: workshop hall (iletisim-hero.jpg 1920×1200 / iletisim-hero-m.jpg 900×1200) — keep the crane hook + fixtures in frame */
body.theme-sinematik[data-page="iletisim"] .page-hero__media img{object-position:50% 42%;}
body.theme-sinematik[data-page="iletisim"] .page-hero .lead{text-wrap:pretty;}

/* ------------------------------------------------ deep-link landing
   Full-bleed bands land flush under the settled header (65px ≤980, 70px above) — no strip of the
   previous band. #form lands its content 32px under the header instead of on the section's empty
   top padding, so the whole sheet (incl. submit) fits a 1440×900 screen. sinematik.js honours
   scroll-margin-top (negative values included). */
body.theme-sinematik[data-page="iletisim"] :is(#bilgiler,#konum){scroll-margin-top:var(--sn-hdr-h,65px);}
body.theme-sinematik[data-page="iletisim"] #form{scroll-margin-top:calc(var(--sn-hdr-h,65px) - var(--sn-sec) + 32px);}
@media (min-width:981px){
  body.theme-sinematik[data-page="iletisim"] :is(#bilgiler,#konum){scroll-margin-top:var(--sn-hdr-h,70px);}
  body.theme-sinematik[data-page="iletisim"] #form{scroll-margin-top:calc(var(--sn-hdr-h,70px) - var(--sn-sec) + 32px);}
}

/* ======================================================= 01 · DIRECT LINES */
body.theme-sinematik[data-page="iletisim"] .ct-lines{
  position:relative;background:var(--sn-night);color:var(--sn-t-md);
  padding:clamp(72px,8vw,128px) 0 clamp(80px,9vw,140px);
}
body.theme-sinematik[data-page="iletisim"] .ct-lines__eyebrow{margin:0 0 clamp(28px,3vw,44px);line-height:1.4;letter-spacing:.16em;}
body.theme-sinematik[data-page="iletisim"] .ct-lines__list{position:relative;margin:0;padding:0;list-style:none;border-top:1px solid var(--sn-line-d);}
body.theme-sinematik[data-page="iletisim"] .ct-lines__list::before{content:"";position:absolute;left:0;top:-2px;z-index:1;width:72px;height:3px;background:var(--sn-green);}
body.theme-sinematik[data-page="iletisim"] .ct-lines__list>li{border-bottom:1px solid var(--sn-line-d);}

/* shared row grid: label | value | action — the same columns for big and compact rows */
body.theme-sinematik[data-page="iletisim"] .ct-row{
  display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8.6fr) 56px;
  column-gap:clamp(20px,2.6vw,44px);align-items:center;
}
body.theme-sinematik[data-page="iletisim"] .ct-row__k{
  font-family:var(--sn-f-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;
  color:var(--sn-t-lo);min-width:0;overflow-wrap:anywhere;
}
body.theme-sinematik[data-page="iletisim"] .ct-row__vw{display:block;min-width:0;}

/* big rows (whole row is the link) */
body.theme-sinematik[data-page="iletisim"] .ct-line{
  position:relative;min-height:clamp(112px,10.5vw,164px);padding:clamp(22px,2.4vw,34px) 0;color:#fff;
  -webkit-tap-highlight-color:transparent;transition:background-color .3s var(--sn-ease);
}
body.theme-sinematik[data-page="iletisim"] .ct-line::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sn-green);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--sn-ease);
}
body.theme-sinematik[data-page="iletisim"] .ct-line:focus-visible{outline-offset:4px;}
body.theme-sinematik[data-page="iletisim"] .ct-line__v{
  display:block;font-family:var(--sn-f-display);font-weight:600;line-height:1.02;letter-spacing:-.004em;color:#fff;
  font-size:clamp(1.8rem,.9rem + 4.1vw,5.2rem);overflow-wrap:anywhere;
  transition:transform .6s var(--sn-ease);
}
/* the value sizes itself to its own column, so the e-mail never overflows (TR / EN / DE are identical) */
@supports (container-type:inline-size){
  body.theme-sinematik[data-page="iletisim"] .ct-line .ct-row__vw{container-type:inline-size;}
  body.theme-sinematik[data-page="iletisim"] .ct-line__v{font-size:min(8.8cqi,5.4rem);}
}
body.theme-sinematik[data-page="iletisim"] .ct-line__go{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex:none;
  color:#fff;box-shadow:inset 0 0 0 1px var(--sn-line-d);
  transition:background-color .3s var(--sn-ease),box-shadow .3s var(--sn-ease);
}
body.theme-sinematik[data-page="iletisim"] .ct-line__go svg{width:20px;height:20px;}
@media (hover:hover) and (pointer:fine){
  body.theme-sinematik[data-page="iletisim"] .ct-line:hover::after{transform:scaleX(1);}
  body.theme-sinematik[data-page="iletisim"] .ct-line:hover .ct-line__v{transform:translateX(14px);}
  body.theme-sinematik[data-page="iletisim"] .ct-line:hover .ct-line__go{background:var(--sn-green-btn);box-shadow:inset 0 0 0 1px var(--sn-green-btn);}
}
body.theme-sinematik[data-page="iletisim"] .ct-line:active .ct-line__go{background:var(--sn-green-btn);box-shadow:inset 0 0 0 1px var(--sn-green-btn);}

/* compact rows (hours, fax) */
body.theme-sinematik[data-page="iletisim"] .ct-meta{padding:clamp(20px,2vw,28px) 0;}
body.theme-sinematik[data-page="iletisim"] .ct-meta__v{
  grid-column:2 / -1;font-family:var(--sn-f-display);font-weight:500;
  font-size:clamp(1.3rem,1.06rem + .72vw,1.85rem);line-height:1.2;letter-spacing:.01em;color:#fff;
  min-width:0;overflow-wrap:anywhere;
}

/* =========================================================== 02 · FORM */
body.theme-sinematik[data-page="iletisim"] .ct-form__grid{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(40px,6.4vw,112px);align-items:start;
}
body.theme-sinematik[data-page="iletisim"] .ct-form__intro{position:sticky;top:124px;}
body.theme-sinematik[data-page="iletisim"] .ct-form__title{margin:0;max-width:9.5em;}
body.theme-sinematik[data-page="iletisim"] .ct-form__lead{
  margin:26px 0 0;max-width:30rem;font-size:clamp(1.02rem,.96rem + .22vw,1.14rem);line-height:1.66;color:var(--tx-md);
}
body.theme-sinematik[data-page="iletisim"] .ct-form__mail{
  margin-top:34px;max-width:100%;text-transform:none;letter-spacing:.02em;font-size:1.2rem;
}
body.theme-sinematik[data-page="iletisim"] .ct-form__mail>span{min-width:0;overflow-wrap:anywhere;}

body.theme-sinematik[data-page="iletisim"] .ct-form__sheet{
  position:relative;background:#fff;padding:clamp(28px,3.6vw,56px);
  box-shadow:inset 0 0 0 1px var(--sn-line-l),0 44px 88px -56px rgba(5,9,15,.42);
}
body.theme-sinematik[data-page="iletisim"] .ct-form__sheet::before{content:"";position:absolute;left:0;top:0;width:72px;height:3px;background:var(--sn-green);}
body.theme-sinematik[data-page="iletisim"] .ct-form .form-grid{gap:26px 20px;}
/* required marker: a symbol only (no invented copy), silent for screen readers where supported */
body.theme-sinematik[data-page="iletisim"] .ct-form .field:has(:required)>label::after{
  content:"*";content:"*" / "";margin-left:.45em;color:var(--sn-green-dk);letter-spacing:0;
}
body.theme-sinematik[data-page="iletisim"] .ct-form .field textarea{min-height:176px;}
body.theme-sinematik[data-page="iletisim"] .ct-form__submit{display:flex;margin-top:34px;padding-top:30px;border-top:1px solid var(--sn-line-l);}
body.theme-sinematik[data-page="iletisim"] .ct-form__submit .btn{min-width:280px;justify-content:space-between;}

/* ======================================================= 03 · LOCATION */
body.theme-sinematik[data-page="iletisim"] .ct-loc{position:relative;background:var(--sn-navy);color:var(--sn-t-md);overflow:hidden;}
body.theme-sinematik[data-page="iletisim"] .ct-loc__grid{
  display:grid;
  grid-template-columns:
    [full-start] minmax(var(--sn-g),1fr)
    [c-start] minmax(0,calc(var(--sn-max) * 5 / 12))
    [mid] minmax(0,calc(var(--sn-max) * 7 / 12))
    [c-end] minmax(var(--sn-g),1fr) [full-end];
}
body.theme-sinematik[data-page="iletisim"] .ct-loc__text{
  grid-column:c-start / mid;grid-row:1;display:flex;flex-direction:column;min-width:0;
  padding:clamp(72px,8vw,120px) clamp(32px,4.6vw,80px) clamp(64px,7vw,104px) 0;
}
body.theme-sinematik[data-page="iletisim"] .ct-loc__head{margin-bottom:clamp(36px,4vw,64px);}
body.theme-sinematik[data-page="iletisim"] .ct-loc__title{
  margin:0;font-weight:600;text-transform:uppercase;color:#fff;
  font-size:clamp(2.8rem,1rem + 5.2vw,6.6rem);line-height:.9;letter-spacing:-.012em;
}
body.theme-sinematik[data-page="iletisim"] .ct-loc__photo{position:relative;margin:auto 0 0;overflow:hidden;aspect-ratio:16/10;background:var(--sn-navy-2);}
body.theme-sinematik[data-page="iletisim"] .ct-loc__photo::before{content:"";position:absolute;left:0;top:0;z-index:2;width:72px;height:3px;background:var(--sn-green);pointer-events:none;}
body.theme-sinematik[data-page="iletisim"] .ct-loc__photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(5,9,15,.36) 0%,rgba(5,9,15,0) 42%);}
body.theme-sinematik[data-page="iletisim"] .ct-loc__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.7) contrast(1.05) brightness(.94);}

body.theme-sinematik[data-page="iletisim"] .ct-addr{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px;column-gap:20px;row-gap:10px;align-items:end;
  margin-top:28px;padding-top:22px;border-top:1px solid var(--sn-line-d);color:#fff;
  -webkit-tap-highlight-color:transparent;
}
body.theme-sinematik[data-page="iletisim"] .ct-addr__k{
  grid-column:1;font-family:var(--sn-f-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;color:var(--sn-t-lo);
}
body.theme-sinematik[data-page="iletisim"] .ct-addr__v{
  grid-column:1;font-family:var(--sn-f-display);font-weight:500;font-size:clamp(1.3rem,1.08rem + .6vw,1.75rem);line-height:1.2;letter-spacing:.01em;
  min-width:0;overflow-wrap:anywhere;transition:color .3s;
}
body.theme-sinematik[data-page="iletisim"] .ct-addr__go{
  grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  color:#fff;box-shadow:inset 0 0 0 1px var(--sn-line-d);transition:background-color .3s var(--sn-ease),box-shadow .3s var(--sn-ease);
}
body.theme-sinematik[data-page="iletisim"] .ct-addr__go svg{width:15px;height:15px;transition:transform .35s var(--sn-ease);}
@media (hover:hover) and (pointer:fine){
  body.theme-sinematik[data-page="iletisim"] .ct-addr:hover .ct-addr__v{color:var(--sn-green-lt);}
  body.theme-sinematik[data-page="iletisim"] .ct-addr:hover .ct-addr__go{background:var(--sn-green-btn);box-shadow:inset 0 0 0 1px var(--sn-green-btn);}
  body.theme-sinematik[data-page="iletisim"] .ct-addr:hover .ct-addr__go svg{transform:translate(2px,-2px);}
}
body.theme-sinematik[data-page="iletisim"] .ct-addr:active .ct-addr__go{background:var(--sn-green-btn);box-shadow:inset 0 0 0 1px var(--sn-green-btn);}

/* map: flush with the band's top/bottom, bleeding to the right edge — still fully interactive */
body.theme-sinematik[data-page="iletisim"] .ct-loc__map{
  grid-column:mid / full-end;grid-row:1;position:relative;min-height:clamp(560px,74vh,820px);background:var(--sn-navy-2);
}
body.theme-sinematik[data-page="iletisim"] .ct-loc__map::before{content:"";position:absolute;left:0;top:0;z-index:2;width:72px;height:3px;background:var(--sn-green);pointer-events:none;}
body.theme-sinematik[data-page="iletisim"] .ct-loc__map iframe{
  position:absolute;inset:0;display:block;width:100%;height:100%;border:0;
  /* muted to sit in the night palette; full colour returns while the visitor is using it */
  filter:saturate(.35) brightness(.9) contrast(1.06);transition:filter .4s var(--sn-ease);
}
body.theme-sinematik[data-page="iletisim"] .ct-loc__map:is(:hover,:focus-within) iframe{filter:none;}
/* consent gate shown until the visitor asks for the Google map */
body.theme-sinematik[data-page="iletisim"] .ct-map-gate{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  padding:32px clamp(20px,6vw,72px);text-align:center;
  background:
    linear-gradient(var(--sn-line-d) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,var(--sn-line-d) 1px,transparent 1px) 0 0/48px 48px,
    var(--sn-navy-2);
}
body.theme-sinematik[data-page="iletisim"] .ct-map-gate__pin{width:44px;height:44px;color:var(--sn-green-lt);}
body.theme-sinematik[data-page="iletisim"] .ct-map-gate__note{margin:0;max-width:34ch;font-size:.88rem;line-height:1.5;color:var(--sn-t-md);}
body.theme-sinematik[data-page="iletisim"] .ct-map-gate__link{display:inline-flex;align-items:center;min-height:44px;font-family:var(--sn-f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sn-green-lt);text-decoration:underline;text-underline-offset:4px;}

/* ============================================================ RESPONSIVE */
@media (max-width:1100px){
  body.theme-sinematik[data-page="iletisim"] .ct-form__grid{grid-template-columns:minmax(0,1fr);gap:48px;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__intro{position:static;max-width:44rem;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__title{max-width:none;}
}

/* tablets (3-column rows, value column ≈450–670px): lift the direct lines so they are not smaller
   than on a phone; the e-mail stays ≤10cqi so it still fits its column on one line; the 3.7rem cap
   meets the desktop size at 1101px */
@media (min-width:761px) and (max-width:1100px){
  @supports (container-type:inline-size){
    body.theme-sinematik[data-page="iletisim"] .ct-line__v{font-size:min(10.6cqi,3.7rem);}
    body.theme-sinematik[data-page="iletisim"] .ct-line__v--mail{font-size:min(10cqi,3.7rem);}
  }
}

@media (max-width:900px){
  body.theme-sinematik[data-page="iletisim"] .ct-loc__grid{
    grid-template-columns:[full-start] var(--sn-g) [c-start] minmax(0,1fr) [c-end] var(--sn-g) [full-end];
  }
  body.theme-sinematik[data-page="iletisim"] .ct-loc__text{grid-column:c-start / c-end;padding:var(--sn-sec) 0 48px;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__map{grid-column:full-start / full-end;grid-row:2;min-height:0;height:clamp(400px,62vh,560px);}
}
/* tablets: title + address beside the photo */
@media (min-width:601px) and (max-width:900px){
  body.theme-sinematik[data-page="iletisim"] .ct-loc__text{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:36px;align-items:end;
  }
  body.theme-sinematik[data-page="iletisim"] .ct-loc__head{grid-column:1;grid-row:1;margin-bottom:0;align-self:start;}
  body.theme-sinematik[data-page="iletisim"] .ct-addr{grid-column:1;grid-row:2;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__photo{grid-column:2;grid-row:1 / span 2;margin:0;aspect-ratio:4/3;}
}

/* phones + small tablets: rows stack — label and action on top, the value full width below */
@media (max-width:760px){
  body.theme-sinematik[data-page="iletisim"] .ct-row{grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:10px;}
  body.theme-sinematik[data-page="iletisim"] .ct-row__k{grid-column:1;grid-row:1;}
  body.theme-sinematik[data-page="iletisim"] .ct-line{min-height:0;padding:18px 0 24px;}
  body.theme-sinematik[data-page="iletisim"] .ct-line .ct-row__vw{grid-column:1 / -1;grid-row:2;}
  body.theme-sinematik[data-page="iletisim"] .ct-line__go{grid-column:2;grid-row:1;width:48px;height:48px;}
  body.theme-sinematik[data-page="iletisim"] .ct-line__go svg{width:19px;height:19px;}
  /* calling is the primary action on a phone: the number is set a step larger than the e-mail */
  body.theme-sinematik[data-page="iletisim"] .ct-line__v{font-size:clamp(1.9rem,11.4vw,3.6rem);}
  body.theme-sinematik[data-page="iletisim"] .ct-line__v--mail{font-size:clamp(1.6rem,8.6vw,3.6rem);}
  @supports (container-type:inline-size){
    body.theme-sinematik[data-page="iletisim"] .ct-line__v{font-size:min(12.4cqi,3.6rem);}
    body.theme-sinematik[data-page="iletisim"] .ct-line__v--mail{font-size:min(10cqi,3.6rem);}
  }
  body.theme-sinematik[data-page="iletisim"] .ct-line:active{background:rgba(255,255,255,.035);}
  body.theme-sinematik[data-page="iletisim"] .ct-meta{padding:18px 0 20px;row-gap:8px;}
  body.theme-sinematik[data-page="iletisim"] .ct-meta__v{grid-column:1 / -1;grid-row:2;}
}

@media (max-width:600px){
  /* hero a little shorter than the other pages: the phone row already shows in the first screen */
  body.theme-sinematik[data-page="iletisim"] .page-hero{min-height:max(500px,min(72svh,620px));}
  body.theme-sinematik[data-page="iletisim"] .ct-hudtel{gap:10px;font-size:12px;letter-spacing:.08em;}

  /* 01 */
  body.theme-sinematik[data-page="iletisim"] .ct-lines{padding:44px 0 60px;}
  body.theme-sinematik[data-page="iletisim"] .ct-lines__eyebrow{margin-bottom:20px;}
  body.theme-sinematik[data-page="iletisim"] .ct-row__k{font-size:11.5px;letter-spacing:.15em;}
  body.theme-sinematik[data-page="iletisim"] .ct-meta__v{font-size:1.3rem;}

  /* 02 — the form sheet runs edge to edge and meets the location band */
  body.theme-sinematik[data-page="iletisim"] .ct-form{padding-bottom:0;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__grid{gap:36px;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__lead{margin-top:18px;font-size:1rem;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__mail{margin-top:22px;font-size:1.08rem;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__sheet{
    margin:0 calc(var(--sn-g) * -1);padding:36px var(--sn-g) 48px;
    box-shadow:inset 0 1px 0 var(--sn-line-l);
  }
  body.theme-sinematik[data-page="iletisim"] .ct-form .form-grid{gap:22px;}
  body.theme-sinematik[data-page="iletisim"] .ct-form .field textarea{min-height:160px;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__submit{margin-top:28px;padding-top:0;border-top:0;}
  body.theme-sinematik[data-page="iletisim"] .ct-form__submit .btn{width:100%;min-width:0;}

  /* 03 — title, photo, address (one tap → Maps), then the map full-bleed */
  body.theme-sinematik[data-page="iletisim"] .ct-loc__text{padding:var(--sn-sec) 0 40px;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__head{margin-bottom:28px;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__title{font-size:clamp(2.6rem,13vw,3.6rem);line-height:.92;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__photo{aspect-ratio:4/3;margin:0;}
  body.theme-sinematik[data-page="iletisim"] .ct-addr{margin-top:24px;padding-top:20px;column-gap:16px;}
  body.theme-sinematik[data-page="iletisim"] .ct-addr__v{font-size:1.28rem;}
  body.theme-sinematik[data-page="iletisim"] .ct-loc__map{height:clamp(380px,62svh,480px);}
}
@media (max-width:600px) and (max-height:760px){
  body.theme-sinematik[data-page="iletisim"] .page-hero{min-height:max(470px,72svh);}
}

/* ========================================================= REDUCED MOTION */
@media (prefers-reduced-motion: reduce){
  body.theme-sinematik[data-page="iletisim"] :is(.ct-line,.ct-line__v,.ct-line__go,.ct-addr__v,.ct-addr__go,.ct-addr__go svg,.ct-hudtel){transition:none!important;}
  body.theme-sinematik[data-page="iletisim"] .ct-line::after,
  body.theme-sinematik[data-page="iletisim"] .ct-loc__map iframe{transition:none!important;}
}
