/* ─── Adin Gusto — Deferred Styles ─── */
/* ─── SECTION BASE ─── */
    .gold-sep {
      height:1px;
      background:linear-gradient(to right,transparent,rgba(201,169,110,0.12),transparent);
      margin:0 5rem;
    }
    .sw { background:var(--ink); }
    .s-inner {
      max-width:1080px; margin:0 auto;
      padding:7rem 5rem;
    }
    .s-row {
      display:flex; align-items:center; gap:6rem;
    }
    .s-row.rev { flex-direction:row-reverse; }
    .s-text { flex:1; min-width:0; }

    /* ─── PHOTO COMPOSITIONS ─── */

    /* 1. Arch + accent dot */
    .comp-arch .ph-main {
      width:100%; aspect-ratio:3/4;
      overflow:hidden;
      border-radius:50% 50% 6px 6px / 38% 38% 6px 6px;
    }
    .comp-arch .ph-main img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-arch .ph-main img { transform:scale(1); }
    .comp-arch .ph-dot {
      position:absolute; bottom:-18px; right:-22px;
      width:115px; height:115px; border-radius:50%;
      overflow:hidden;
      border:3px solid var(--ink);
      box-shadow:0 0 0 1px rgba(201,169,110,0.20);
    }
    .comp-arch .ph-dot img {
      width:100%; height:100%;
      object-fit:cover; display:block; filter:brightness(0.88);
    }

    /* 2. Duo (two overlapping) */
    .comp-duo .ph-a {
      position:absolute; top:0; right:0;
      width:78%; aspect-ratio:4/3;
      overflow:hidden; border-radius:5px;
    }
    .comp-duo .ph-b {
      position:absolute; bottom:0; left:0;
      width:52%; aspect-ratio:2/3;
      overflow:hidden; border-radius:5px;
      outline:3px solid var(--ink);
    }
    .comp-duo .ph-a img,
    .comp-duo .ph-b img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-duo img { transform:scale(1); }

    /* 3. Oval */
    .comp-oval img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.86);
      transform:scale(1.06); transition:transform 14s ease;
    }
    .sw.active .comp-oval img { transform:scale(1.02); }

    /* 4. Rounded rect */
    .comp-rect img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.86);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-rect img { transform:scale(1); }

    /* 5. Stagger duo — iki foto üst-sol / alt-sağ */
    .comp-stagger .ph-a {
      position:absolute; top:0; left:0;
      width:72%; height:76%;
      overflow:hidden; border-radius:5px;
    }
    .comp-stagger .ph-a img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-stagger .ph-a img { transform:scale(1); }
    .comp-stagger .ph-b {
      position:absolute; bottom:0; right:0;
      width:58%; height:56%;
      overflow:hidden; border-radius:5px;
      outline:3px solid var(--ink);
    }
    .comp-stagger .ph-b img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.82);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-stagger .ph-b img { transform:scale(1); }
    /* altın accent çizgi */
    .comp-stagger::before {
      content:'';
      position:absolute; top:50%; left:50%;
      transform:translate(-50%,-50%);
      width:1px; height:30%;
      background:linear-gradient(to bottom,transparent,rgba(201,169,110,0.20),transparent);
    }

    /* ─── KOMBİNLİ MASKELER ─── */

    /* A. Kare + Kare (iki farklı açıda) */
    .comp-sq2 { flex:0 0 380px; position:relative; height:380px; overflow:hidden; }
    .comp-sq2 .ph-main {
      position:absolute; top:50%; left:50%;
      width:282px; height:282px;
      transform:translate(-50%,-50%) rotate(-7deg);
      overflow:hidden; border-radius:10px;
    }
    .comp-sq2 .ph-main img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-sq2 .ph-main img { transform:scale(1); }
    .comp-sq2 .ph-frame {
      position:absolute; top:50%; left:50%;
      width:282px; height:282px;
      transform:translate(-50%,-50%) rotate(9deg);
      border:1px solid var(--gold-dim);
      border-radius:10px; pointer-events:none;
    }

    /* B. Dikdörtgen + Eğik dikdörtgen */
    .comp-rect2 { flex:0 0 430px; position:relative; height:330px; overflow:hidden; }
    .comp-rect2 .ph-main {
      position:absolute; top:50%; left:50%;
      width:390px; height:270px;
      transform:translate(-50%,-50%);
      overflow:hidden; border-radius:5px;
    }
    .comp-rect2 .ph-main img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-rect2 .ph-main img { transform:scale(1); }
    .comp-rect2 .ph-frame {
      position:absolute; top:50%; left:50%;
      width:390px; height:270px;
      transform:translate(-50%,-50%) rotate(11deg);
      border:1px solid var(--gold-dim);
      border-radius:5px; pointer-events:none;
    }

    /* C. Daire + Kesişen Elips çerçeve */
    .comp-circ { flex:0 0 370px; position:relative; height:370px; overflow:hidden; }
    .comp-circ .ph-main {
      position:absolute; top:50%; left:50%;
      width:300px; height:300px;
      transform:translate(-50%,-50%);
      overflow:hidden; border-radius:50%;
    }
    .comp-circ .ph-main img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.84);
      transform:scale(1.04); transition:transform 14s ease;
    }
    .sw.active .comp-circ .ph-main img { transform:scale(1.01); }
    .comp-circ .ph-frame {
      position:absolute; top:50%; left:50%;
      width:420px; height:155px;
      transform:translate(-50%,-50%) rotate(-38deg);
      border:1px solid var(--gold-dim);
      border-radius:50%; pointer-events:none;
    }

    /* ─── PHOTO BAND ─── */
    .photo-band {
      height:260px; overflow:hidden; position:relative;
    }
    .photo-band img {
      width:100%; height:100%;
      object-fit:cover; object-position:center center; display:block;
      filter:brightness(0.55);
    }
    .photo-band::after {
      content:'';
      position:absolute; inset:0;
      background:linear-gradient(to right,rgba(4,8,15,0.55) 0%,rgba(4,8,15,0.05) 50%,rgba(4,8,15,0.55) 100%);
    }
    .band-label {
      position:absolute; inset:0; z-index:2;
      display:flex; flex-direction:column;
      align-items:center; justify-content:center; gap:0.8rem;
    }

    /* ─── PAGE CTA LINK ─── */
    .page-cta {
      display:inline-block; text-decoration:none;
      font-size:0.64rem; font-weight:300; letter-spacing:0.26em; text-transform:uppercase;
      color:var(--gold); border-bottom:1px solid var(--gold-dim); padding-bottom:0.22rem;
      transition:letter-spacing 0.3s, border-color 0.3s; margin-top:2rem;
    }
    .page-cta:hover { letter-spacing:0.34em; border-color:var(--gold); }

    /* ─── GALERİ ─── */
    #gallery { background:var(--ink); padding:7rem 0 0; }
    .gallery-head { text-align:center; padding:0 5rem 4rem; }
    .gallery-track {
      display:grid;
      grid-template-columns:repeat(6,1fr);
      gap:3px;
    }
    @media (max-width:900px) {
      .gallery-track { grid-template-columns:repeat(3,1fr); gap:4px; }
    }
    @media (max-width:480px) {
      .gallery-track { grid-template-columns:repeat(2,1fr); gap:5px; }
    }
    .gi { overflow:hidden; aspect-ratio:4/5; cursor:zoom-in; }
    .gi img {
      width:100%; height:100%;
      object-fit:cover; display:block;
      filter:brightness(0.82);
      transition:transform 0.7s ease, filter 0.4s;
    }
    .gi:hover img { transform:scale(1.06); filter:brightness(1); }

    /* Lightbox */
    .lb {
      display:none; position:fixed; inset:0; z-index:900;
      background:rgba(2,4,10,0.96);
      align-items:center; justify-content:center; cursor:zoom-out;
    }
    .lb.open { display:flex; }
    .lb img { max-width:92vw; max-height:92vh; object-fit:contain; display:block; }
    .lb-close {
      position:absolute; top:1.4rem; right:1.8rem;
      background:none; border:none; cursor:pointer;
      color:rgba(245,240,232,0.60); font-size:1.6rem;
      transition:color 0.2s; padding:0.4rem;
    }
    .lb-close:hover { color:var(--cream); }

    /* ─── CONTACT ─── */
    #contact {
      background:var(--ink);
      padding:8rem 4rem;
      display:flex; flex-direction:column; align-items:center; text-align:center;
      border-top:1px solid rgba(201,169,110,0.08);
    }

    /* ─── TYPOGRAPHY ─── */
    .eyebrow {
      font-size:0.60rem; font-weight:300; letter-spacing:0.36em; text-transform:uppercase;
      color:var(--gold); display:block; margin-bottom:1.2rem;
    }
    .display {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(3.4rem,7vw,6.4rem); font-weight:300; line-height:1.04;
      color:#fff; letter-spacing:-0.01em;
    }
    .display em { font-style:italic; color:rgba(255,255,255,0.60); }
    .display-sm {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(2.4rem,5vw,4.2rem); font-weight:300; line-height:1.08;
      color:#fff;
    }
    .prose {
      font-size:0.92rem; font-weight:300; line-height:1.95;
      color:rgba(245,240,232,0.62);
    }
    .prose-sm {
      font-size:0.85rem; font-weight:300; line-height:1.90;
      color:rgba(245,240,232,0.58); max-width:480px;
    }
    .gold-rule { width:44px; height:1px; background:linear-gradient(to right,transparent,var(--gold),transparent); }
    .spacer-sm { height:1.4rem; }
    /* ─── TAG PILLS ─── */
    .tags { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.8rem; }
    .tag {
      padding:0.28rem 0.9rem;
      border:1px solid rgba(201,169,110,0.22);
      font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase;
      color:rgba(201,169,110,0.65);
    }

    /* ─── SCROLL REVEAL ─── */
    .reveal {
      opacity:0; transform:translateY(28px);
      transition:opacity 0.95s cubic-bezier(0.22,1,0.36,1),
                 transform 0.95s cubic-bezier(0.22,1,0.36,1);
    }
    .reveal.visible          { opacity:1; transform:translateY(0); }
    .reveal.d1               { transition-delay:0.10s; }
    .reveal.d2               { transition-delay:0.22s; }
    .reveal.d3               { transition-delay:0.36s; }
    .reveal.d4               { transition-delay:0.52s; }


    /* ─── MENU CARDS ─── */
    #menu-sec {
      background:var(--ink); padding:9rem 4rem;
      display:flex; flex-direction:column; align-items:center; text-align:center;
    }
    .menu-sub {
      font-size:0.90rem; font-weight:300; line-height:1.90;
      color:rgba(245,240,232,0.65); max-width:440px;
      margin:1.4rem auto 3.5rem;
    }
    .menu-row {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:1px; max-width:940px; width:100%;
    }
    .mc {
      display:block; text-decoration:none; color:inherit;
      padding:3.2rem 2.8rem; text-align:left;
      background:rgba(255,255,255,0.022);
      border:1px solid rgba(201,169,110,0.08);
      transition:all 0.4s;
    }
    .mc:hover {
      background:rgba(201,169,110,0.05);
      border-color:rgba(201,169,110,0.28);
      transform:translateY(-5px);
    }
    .mc-tag  { font-size:0.58rem; letter-spacing:0.30em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:1.2rem; }
    .mc-name {
      font-family:'Cormorant Garamond',serif;
      font-size:1.80rem; font-weight:400; color:#fff; line-height:1.12; margin-bottom:0.85rem;
    }
    .mc-desc { font-size:0.78rem; font-weight:300; line-height:1.78; color:rgba(245,240,232,0.65); }
    .mc-cta  { display:block; margin-top:2rem; font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); }
    .cinfo {
      display:grid; grid-template-columns:repeat(2,1fr); gap:3.5rem 5rem;
      max-width:520px; margin:3.2rem auto 0;
    }
    .ci-lbl { font-size:0.58rem; letter-spacing:0.30em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.7rem; }
    .ci-val {
      font-family:'Cormorant Garamond',serif;
      font-size:1.10rem; font-weight:400; color:#fff; line-height:1.65;
    }
    .ci-val a { color:#fff; text-decoration:none; transition:color 0.3s; }
    .ci-val a:hover { color:var(--gold); }


    /* ─── QUICK REZERVASYON FORM ─── */
    .quick-rezv { max-width:540px; margin:3rem auto 0; text-align:left; }
    .qr-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
    .qr-row.qr-3 { grid-template-columns:1fr 1fr 1fr; }
    .qr-group label { display:block; font-size:0.58rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; }
    .qr-group input, .qr-group select {
      width:100%; background:rgba(255,255,255,0.04); border:1px solid rgba(201,169,110,0.20);
      color:var(--cream); padding:0.7rem 0.9rem; font-family:'Jost',sans-serif;
      font-size:0.82rem; font-weight:300; outline:none; transition:border 0.3s;
      -webkit-appearance:none; appearance:none;
    }
    .qr-group input:focus, .qr-group select:focus { border-color:rgba(201,169,110,0.55); }
    .qr-group select option { background:var(--navy-deep); }
    .qr-submit {
      width:100%; margin-top:1.2rem; padding:0.9rem;
      background:transparent; border:1px solid var(--gold); color:var(--gold);
      font-family:'Jost',sans-serif; font-size:0.68rem; letter-spacing:0.22em;
      text-transform:uppercase; cursor:pointer; transition:all 0.3s;
    }
    .qr-submit:hover { background:var(--gold); color:var(--navy-deep); }
    .qr-note { font-size:0.60rem; letter-spacing:0.10em; color:rgba(245,240,232,0.55); text-align:center; margin-top:1rem; }
    .qr-success { display:none; text-align:center; padding:2rem; color:var(--gold); font-family:'Cormorant Garamond',serif; font-size:1.2rem; letter-spacing:0.05em; }
    @media(max-width:580px) {
      .qr-row { grid-template-columns:1fr; }
      .qr-row.qr-3 { grid-template-columns:1fr 1fr; }
      .cinfo { grid-template-columns:1fr !important; gap:1.8rem; max-width:280px; }
      .footer-nav { flex-wrap:wrap; gap:0.8rem 1.4rem; font-size:0.7rem; justify-content:center; }
      .footer-nav a { letter-spacing:0.14em; }
      .footer-copy, .footer-credit { white-space:nowrap; font-size:0.58rem; letter-spacing:0.04em; }
    }
    /* ─── FOOTER ─── */
    footer {
      background:var(--ink);
      border-top:1px solid rgba(201,169,110,0.08);
      padding:4rem 5rem 2.5rem;
    }
    .footer-top {
      display:flex; flex-direction:column; align-items:center; gap:2rem;
      padding-bottom:3rem;
      border-bottom:1px solid rgba(255,255,255,0.05);
    }
    .footer-logo img { height:72px; opacity:0.65; display:block; }
    .footer-nav {
      display:flex; gap:2.8rem; list-style:none; justify-content:center;
    }
    .footer-nav a {
      font-size:0.78rem; font-weight:300; letter-spacing:0.18em; text-transform:uppercase;
      color:rgba(245,240,232,0.60); text-decoration:none; transition:color 0.3s;
    }
    .footer-nav a:hover { color:var(--gold); }
    .footer-contact { text-align:center; width:100%; font-size:0.78rem; letter-spacing:0.06em; color:rgba(245,240,232,0.60); line-height:2.4; word-break:break-word; }
    .footer-contact a { color:inherit; text-decoration:none; transition:color 0.3s; }
    .footer-contact a:hover { color:var(--gold); }
    .footer-bottom {
      display:flex; justify-content:space-between; align-items:center;
      padding-top:2rem;
    }
    .footer-copy { font-size:0.72rem; letter-spacing:0.12em; color:rgba(245,240,232,0.60); }
    .footer-credit { font-size:0.72rem; letter-spacing:0.12em; color:rgba(245,240,232,0.60); margin-left:auto; }
    .footer-credit a { color:rgba(245,240,232,0.60); text-decoration:none; letter-spacing:0.14em; font-weight:400; transition:color 0.3s; }
    .footer-credit a:hover { color:var(--gold); }
    .footer-credit em { font-style:italic; font-weight:300; letter-spacing:0.06em; }
    /* ─── MOBİL: composition overflow (frame'ler görünür kalır) ─── */
    @media (max-width:900px) {
      .comp-arch, .comp-stagger, .comp-oval, .comp-rect, .comp-duo {
        overflow:hidden;
      }
      .comp-sq2, .comp-rect2, .comp-circ {
        overflow:visible;
      }
    }

    /* ─── MOBİL: Menü kartları kaydırmalı carousel ─── */
    @media (max-width:900px) {
      #menu-sec { padding:6rem 0; overflow:hidden; }
      .menu-row {
        display:flex !important;
        grid-template-columns:unset !important;
        max-width:unset !important;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        gap:10px;
        padding:0 1.5rem 1rem;
        scrollbar-width:none;
      }
      .menu-row::-webkit-scrollbar { display:none; }
      .mc {
        flex:0 0 78vw;
        max-width:300px;
        scroll-snap-align:start;
      }
    }

