/* =====================================================================
   LikedWin — Google Maps "satın aldıktan sonra" sahnesi (gms-*)
   ÖZEL BÖLÜM (extras/google-maps) — markup: extra.php · zamanlama: extra.js
   Sahne kabuğu (adımlar, pencere, sipariş, görev paneli, rapor, imleç,
   oturum paneli) Organik Hit'in ohs-* stilleri: loader 'css_from' ile
   extras/organik-hit/extra.css bu dosyadan ÖNCE yüklenir. Burada yalnız
   Maps'e özel parçalar var. Gradyan YOK; harita renkleri iki tema için
   ayrı token (--gms-*).

   Durum sınıfları kökte (.ohs.gms): .st-0 … .st-5, .is-final, .is-idle
   ===================================================================== */

.gms {
    --gms-land: #e8edf3;
    --gms-road: #ffffff;
    --gms-road-main: #f6dc94;
    --gms-water: #b3d1f7;
    --gms-park: #cde8cf;
    --gms-pin: #e0574c;
    --gms-star: #f5b301;
    --gms-blue: #1a73e8;     /* Maps eylem mavisi (Yol tarifi, sekme) */
    --gms-blue-soft: #e8f0fe;
}
:root[data-theme="dark"] .gms {
    --gms-land: #222938;
    --gms-road: #343d4f;
    --gms-road-main: #5e5233;
    --gms-water: #1d3656;
    --gms-park: #1f3a2d;
    --gms-pin: #f0776c;
    --gms-blue: #8ab4f8;
    --gms-blue-soft: rgba(138, 180, 248, .14);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .gms {
        --gms-land: #222938;
        --gms-road: #343d4f;
        --gms-road-main: #5e5233;
        --gms-water: #1d3656;
        --gms-park: #1f3a2d;
        --gms-pin: #f0776c;
        --gms-blue: #8ab4f8;
        --gms-blue-soft: rgba(138, 180, 248, .14);
    }
}

/* 5 adımlı senaryolar (yorum beğenisi / bildirme): dar ekranda 5 sütun */
@media (max-width: 960px) {
    .gms[data-steps="5"] .ohs__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Ortak küçük parçalar */
.gms-stars { display: inline-flex; gap: 1px; color: var(--gms-star); font-size: 10px; vertical-align: 1px; }
.gms-stars .fa-regular { color: var(--line-strong); }
.gms-open { color: var(--ok-fg); font-weight: 700; }

/* ---------- 1) Sipariş: yorum linki ipucu ---------- */
.gms-order-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 13px;
    border: 1px dashed var(--line-strong);
    border-radius: 11px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--muted);
}
.gms-order-note i { margin-top: 3px; font-size: 12px; color: var(--brand); }
.gms-order-note b { color: var(--ink); }

/* =====================================================================
   İŞLETME ETKİLEŞİMİ
   ===================================================================== */

/* ---------- 2 + 6) Google araması → "İşletmeler" harita sonuçları ---------- */
.gms-search { display: flex; flex-direction: column; gap: 12px; }

.gms-pack {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    overflow: hidden;
    transition: opacity .35s ease, transform .35s ease;
}
.gms-pack__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 14px;
}
.gms-pack__head b {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--ink);
}
.gms-pack__head span { font-size: 11.5px; font-weight: 600; color: var(--muted); }
.gms-pack__head span i { font-size: 10px; margin-right: 3px; }

/* Harita (CSS çizimi: kara, su, park, yollar, iğneler) */
.gms-map { position: relative; isolation: isolate; overflow: hidden; background: var(--gms-land); }
.gms-map--pack { flex: 0 0 auto; height: 88px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gms-map__water {
    position: absolute;
    right: -6%; top: -30%;
    width: 30%; height: 170%;
    border-radius: 44% 0 0 38%;
    background: var(--gms-water);
    transform: rotate(8deg);
}
.gms-map__park {
    position: absolute;
    left: 10%; top: 14%;
    width: 17%; height: 34%;
    border-radius: 10px;
    background: var(--gms-park);
}
.gms-road { position: absolute; display: block; background: var(--gms-road); }
.gms-road--1 { left: 0; right: 0; top: 58%; height: 7px; }
.gms-road--2 { top: 0; bottom: 0; left: 36%; width: 6px; }
.gms-road--3 { left: -10%; width: 80%; top: 30%; height: 5px; transform: rotate(-9deg); }
.gms-road--4 { left: 0; width: 76%; top: 80%; height: 8px; background: var(--gms-road-main); transform: rotate(4deg); }

.gms-pin {
    position: absolute;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--gms-pin);
    font-size: 19px;
    line-height: 1;
    transform: translate(-50%, -100%);
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .22));
    transition: transform .3s cubic-bezier(.2, .9, .3, 1.3), color var(--ease);
}
.gms-pin[data-gms-pin="a"]  { left: 22%; top: 52%; }
.gms-pin[data-gms-pin="b"]  { left: 47%; top: 44%; }
.gms-pin[data-gms-pin="c"]  { left: 30%; top: 90%; }
.gms-pin[data-gms-pin="me"] { left: 63%; top: 74%; }
.gms-pin.is-me { z-index: 3; color: var(--cat-accent, var(--brand)); font-size: 23px; }
.gms-pin.is-hit { transform: translate(-50%, -100%) scale(1.25); }

/* Sonuç listesi — sıra numarası DOM sırasından (CSS sayacı) */
.gms-list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: gms-rank;
}
.gms-biz {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 10px;
    border-top: 1px solid var(--line);
    counter-increment: gms-rank;
    background: var(--surface);
    transition: opacity .3s ease, transform .3s ease, background var(--ease), box-shadow var(--ease);
}
.gms-biz:first-child { border-top: 0; }
.gms-biz__rank {
    flex: 0 0 auto;
    width: 16px;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
}
.gms-biz__rank::before { content: counter(gms-rank); }
.gms-biz__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1 1 auto; }
.gms-biz__body > b {
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--ink);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.gms-biz__rate { font-size: 12.5px; font-weight: 700; line-height: 1.35; color: var(--text); white-space: nowrap; }
.gms-biz__rate small { font-weight: 500; color: var(--muted); }
.gms-biz__body > small {
    font-size: 11.5px;
    line-height: 1.35;
    color: var(--muted);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.gms-biz__thumb {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 40px; height: 40px;
    border-radius: 9px;
    background: var(--surface-2);
    color: var(--muted-2);
    font-size: 14px;
}
.gms-biz.is-me { z-index: 2; background: var(--brand-soft); }
.gms-biz.is-me .gms-biz__rank { color: var(--brand); }
.gms-biz.is-me .gms-biz__thumb { background: #ffe2bf; color: #b8651b; }
.gms-biz.is-hit { box-shadow: inset 0 0 0 2px var(--brand-line-2); }
.gms-biz.is-hit .gms-biz__body > b { text-decoration: underline; }
.gms-up { position: absolute; right: 60px; top: 50%; margin-top: -12px; }

/* Aramadan önce sonuçlar gizli; sonra sırayla belirir */
.gms-pack.is-empty { opacity: 0; transform: translateY(6px); }

.gms-visit { z-index: 5; }
.gms-visit__pin { color: var(--cat-accent, var(--brand)); font-size: 16px; }

/* ---------- 3-4) İşletme profili + büyük harita ---------- */
.gms-profile {
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
}
.gms-prof {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 14px 16px;
    border-right: 1px solid var(--line);
    background: var(--surface);
    overflow: hidden;
}
.gms-photos {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 4px;
    flex: 0 0 auto;
    height: 82px;
    border-radius: 11px;
    overflow: hidden;
    transition: box-shadow var(--ease);
}
.gms-photos.is-look { box-shadow: 0 0 0 3px var(--brand-soft-2); }
.gms-photo { position: relative; display: grid; place-items: center; font-size: 22px; }
.gms-photo--main { background: #ffd9a6; color: #b8651b; font-size: 28px; }
.gms-photo--b    { background: #ffeeb8; color: #c38a12; }
.gms-photo--c    { background: #cfe3ff; color: #2d6fd1; }
.gms-photo em {
    position: absolute;
    right: 6px; bottom: 6px;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(16, 20, 32, .62);
    color: #fff;
    font-size: 10.5px;
    font-style: normal;
    font-weight: 700;
}
:root[data-theme="dark"] .gms-photo { filter: brightness(.82); }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .gms-photo { filter: brightness(.82); } }

.gms-prof__name {
    display: block;
    margin-top: 10px;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: var(--ink);
}

/* Eylem düğmeleri: Yol tarifi · Kaydet · Yakındakiler · Paylaş */
.gms-acts { display: flex; justify-content: space-between; gap: 4px; margin: 12px 0 10px; }
.gms-act {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1 1 0;
    min-width: 0;
    font-size: 14px;
    color: var(--gms-blue);
}
.gms-act > i {
    display: grid;
    place-items: center;
    width: 36px; height: 36px;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    background: var(--surface);
    transition: transform .15s ease, background var(--ease), border-color var(--ease), color var(--ease);
}
.gms-act small {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
}
.gms-act--dir > i { border-color: var(--gms-blue); background: var(--gms-blue); color: #fff; }
:root[data-theme="dark"] .gms-act--dir > i { color: #0f1320; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .gms-act--dir > i { color: #0f1320; } }
.gms-act > i.fa-solid.fa-bookmark { display: none; }
.gms-act.is-saved > i.fa-regular { display: none; }
.gms-act.is-saved > i.fa-solid.fa-bookmark { display: grid; border-color: var(--gms-blue); background: var(--gms-blue-soft); }
.gms-act.is-saved small { color: var(--gms-blue); }
.gms-act.is-press > i { transform: scale(.88); }

.gms-tabs { display: flex; gap: 18px; flex: 0 0 auto; border-bottom: 1px solid var(--line); }
.gms-tabs span {
    margin-bottom: -1px;
    padding: 6px 0 7px;
    border-bottom: 2px solid transparent;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--muted);
    transition: color var(--ease), border-color var(--ease);
}
.gms-tabs span.is-on { color: var(--gms-blue); border-color: var(--gms-blue); }

.gms-tabbox { position: relative; flex: 1 1 auto; min-height: 0; }
.gms-tp {
    position: absolute;
    inset: 0;
    padding-top: 10px;
    overflow: hidden;
    opacity: 0;
    transform: translateX(10px);
    transition: opacity .3s ease, transform .35s cubic-bezier(.4, 0, .2, 1);
}
.gms-tp.is-on { opacity: 1; transform: none; }
.gms-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 -6px 4px;
    padding: 5px 6px;
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background var(--ease);
}
.gms-row > i { flex: 0 0 auto; width: 15px; text-align: center; font-size: 12px; color: var(--muted-2); }
.gms-row.is-look { background: var(--brand-soft); }
.gms-tp__scroll { transition: transform 2.4s cubic-bezier(.45, .05, .25, 1); }

.gms-mini-rv {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 7px 0;
    border-bottom: 1px solid var(--line);
}
.gms-mini-rv > span:last-child { display: flex; flex-direction: column; gap: 1px; min-width: 0; font-size: 12px; }
.gms-mini-rv b { font-size: 12.5px; color: var(--ink); }
.gms-mini-rv .gms-stars { font-size: 9px; }
.gms-mini-rv small { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Yol tarifi alındı şeridi (panelin altı) */
.gms-route-bar {
    position: absolute;
    left: 16px; right: 16px; bottom: 12px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border: 1px solid var(--brand-line);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: var(--shadow-md);
    font-size: 12.5px;
    color: var(--text);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .3s ease, transform .4s cubic-bezier(.2, .9, .3, 1.15);
}
.gms-route-bar > i { color: var(--gms-blue); }
.gms-route-bar b { color: var(--ink); }
.gms-route-bar small { margin-left: auto; font-size: 11px; color: var(--muted); white-space: nowrap; }
.gms-route-bar.is-on { opacity: 1; transform: none; }

/* Büyük harita: konumun (mavi nokta) → işletme iğnesi, yol tarifi çizgisi */
.gms-map--big { height: 100%; }
.gms-map--big .gms-map__water { width: 42%; }
.gms-map--big .gms-map__park { left: 16%; top: 58%; width: 28%; height: 14%; }
.gms-map--big .gms-road--1 { top: 40%; height: 9px; }
.gms-map--big .gms-road--2 { left: 44%; width: 8px; }
.gms-map--big .gms-road--3 { top: 22%; }
.gms-map--big .gms-road--4 { top: 70%; height: 10px; }
.gms-route {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    z-index: 1;
    overflow: visible;
    /* Rota soldan sağa açılır (yol tarifi alınınca) */
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.3s cubic-bezier(.45, .05, .25, 1);
}
.gms-route path {
    fill: none;
    stroke: var(--gms-blue);
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.gms-map--big.is-route .gms-route { clip-path: inset(0 0 0 0); }
.gms-you {
    position: absolute;
    left: 12%; top: 14%;
    z-index: 2;
    width: 16px; height: 16px;
    margin: -8px 0 0 -8px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #1a73e8;
    box-shadow: 0 0 0 6px rgba(26, 115, 232, .2);
}
.gms-pin--big { left: 75%; top: 48%; font-size: 30px; }
.gms-pin--big em {
    margin-top: 4px;
    padding: 3px 8px;
    border-radius: 7px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    color: var(--ink);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}
.gms-hud .ohs-hud__who small { overflow: hidden; text-overflow: ellipsis; }

/* =====================================================================
   YORUM BEĞENİSİ / BİLDİRME
   ===================================================================== */
.gms-reviews { display: flex; flex-direction: column; gap: 12px; }
.gms-rtop { justify-content: space-between; }

.gms-rpanel {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    overflow: hidden;
}
.gms-rhead {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--line);
}
.gms-rhead__name { display: flex; flex-direction: column; min-width: 0; }
.gms-rhead__name b {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 14.5px;
    font-weight: 800;
    color: var(--ink);
    white-space: nowrap;
}
.gms-rhead__name small { font-size: 11.5px; color: var(--muted); }
.gms-rhead__score { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.gms-rhead__score b {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    transition: color var(--ease);
}
.gms-rhead__score b.is-up { color: var(--ok-fg); }
.gms-rhead__score small { font-size: 11.5px; color: var(--muted); white-space: nowrap; }

.gms-sort {
    flex: 0 0 auto;
    display: flex;
    gap: 6px;
    padding: 9px 14px 4px;
    overflow: hidden;
    white-space: nowrap;
}
.gms-sort span {
    flex: 0 0 auto;
    padding: 4px 10px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-pill);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--muted);
}
.gms-sort span.is-on { border-color: var(--gms-blue); background: var(--gms-blue-soft); color: var(--gms-blue); }
.gms-sort span i { font-size: 10px; margin-right: 2px; }

.gms-rlist { position: relative; margin: 0; padding: 0 14px; list-style: none; }
.gms-rv {
    position: relative;
    padding: 9px 0;
    border-top: 1px solid var(--line);
    background: var(--surface);
    transition: background var(--ease);
}
.gms-rv:first-child { border-top: 0; }
.gms-rv.is-target {
    z-index: 2;
    margin: 2px -8px;
    padding: 9px 8px;
    border-top-color: transparent;
    border-radius: 11px;
    background: var(--brand-soft);
}
.gms-rv.is-target + .gms-rv { border-top-color: transparent; }
.gms-rv__in { position: relative; display: flex; gap: 10px; transition: opacity .5s ease, filter .5s ease; }
.gms-rv__ava {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: var(--c, var(--brand));
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}
.gms-mini-rv .gms-rv__ava { width: 26px; height: 26px; font-size: 11.5px; }
.gms-rv__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1 1 auto; }
.gms-rv__who { display: flex; align-items: center; gap: 8px; min-width: 0; line-height: 1.3; }
.gms-rv__who b { font-size: 13px; color: var(--ink); white-space: nowrap; }
.gms-rv__who small { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gms-rv__text {
    display: -webkit-box;
    margin: 2px 0 4px;
    overflow: hidden;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--text);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.gms-rv__acts { display: flex; align-items: center; gap: 16px; font-size: 12px; color: var(--muted); }
.gms-like, .gms-share { display: inline-flex; align-items: center; gap: 6px; }
.gms-like b { min-width: 1ch; font-weight: 700; font-variant-numeric: tabular-nums; }
.gms-like .fa-solid { display: none; }
.gms-rv.is-liked .gms-like { color: var(--gms-blue); }
.gms-rv.is-liked .gms-like .fa-regular { display: none; }
.gms-rv.is-liked .gms-like .fa-solid { display: inline-block; }
.gms-like.is-pop { animation: gms-pop .4s cubic-bezier(.2, .9, .3, 1.4); }
@keyframes gms-pop { 45% { transform: scale(1.3); } }
.gms-more {
    display: grid;
    place-items: center;
    width: 26px; height: 26px;
    margin-left: auto;
    border-radius: 50%;
    transition: background var(--ease);
}
.gms-more.is-on { background: var(--line); color: var(--ink); }

/* Beğeni sayısı rozeti (yalnız son karede) */
.gms-rv__tag {
    position: absolute;
    right: 0; top: -2px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: var(--radius-pill);
    background: var(--ok-bg);
    border: 1px solid var(--ok-line);
    color: var(--ok-fg);
    font-size: 11px;
    font-weight: 800;
    opacity: 0;
    transform: scale(.7);
    transition: opacity .25s ease, transform .35s cubic-bezier(.2, .9, .3, 1.3);
}
.gms-rv__tag.is-on { opacity: 1; transform: none; }

/* Bildirilen yorumun durumu: inceleniyor → kaldırıldı */
.gms-rv__status {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    pointer-events: none;
}
.gms-rv__status > span {
    grid-area: 1 / 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 92%;
    padding: 8px 13px;
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 700;
    opacity: 0;
    transform: scale(.94);
    transition: opacity .3s ease, transform .35s cubic-bezier(.2, .9, .3, 1.2);
}
.gms-rv__review { background: var(--surface); border: 1px solid var(--line-strong); color: var(--text); box-shadow: var(--shadow-md); }
.gms-rv__review i { color: var(--gms-blue); animation: gms-scan 1.2s ease-in-out infinite; }
@keyframes gms-scan { 50% { transform: translateX(3px) rotate(-12deg); } }
.gms-rv__gone { background: var(--ok-bg); border: 1px solid var(--ok-line); color: var(--ok-fg); }
.gms-rv.is-review .gms-rv__in { opacity: .45; }
.gms-rv.is-review .gms-rv__review { opacity: 1; transform: none; }
.gms-rv.is-removed .gms-rv__in { opacity: .12; filter: grayscale(1); }
.gms-rv.is-removed .gms-rv__gone { opacity: 1; transform: none; }
.gms-rv.is-flag .gms-rv__in::after {
    content: '\f024';
    position: absolute;
    right: 34px; bottom: 2px;
    font: 900 11px/1 'Font Awesome 6 Free';
    color: var(--danger);
}

/* Üç nokta menüsü */
.gms-menu {
    position: absolute;
    right: 34px;
    top: 200px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    transform: translateY(-6px) scale(.96);
    transform-origin: top right;
    transition: opacity .2s ease, transform .25s cubic-bezier(.2, .9, .3, 1.2);
    pointer-events: none;
}
.gms-menu.is-on { opacity: 1; transform: none; }
.gms-menu span {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 7px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    transition: background var(--ease);
}
.gms-menu span i { width: 14px; font-size: 12px; color: var(--muted); }
.gms-menu span.is-hover { background: var(--brand-soft); }

/* "Yorumu bildir" penceresi */
.gms-dlg {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(15, 19, 32, .36);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility 0s linear .25s;
}
.gms-dlg.is-on { opacity: 1; visibility: visible; transition: opacity .25s ease, visibility 0s; }
.gms-dlg__box {
    display: flex;
    flex-direction: column;
    width: min(310px, 100%);
    padding: 16px 16px 14px;
    border-radius: 15px;
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    transform: translateY(10px) scale(.97);
    transition: transform .35s cubic-bezier(.2, .9, .3, 1.15);
}
.gms-dlg.is-on .gms-dlg__box { transform: none; }
.gms-dlg__t { font-family: 'Plus Jakarta Sans', 'Inter', sans-serif; font-size: 15px; font-weight: 800; color: var(--ink); }
.gms-dlg__s { margin-top: 2px; font-size: 12px; color: var(--muted); }
.gms-dlg__opts { display: flex; flex-direction: column; gap: 2px; margin: 10px 0 12px; padding: 0; list-style: none; }
.gms-dlg__opts li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 6px;
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--text);
    transition: background var(--ease);
}
.gms-dlg__opts li i {
    flex: 0 0 auto;
    width: 16px; height: 16px;
    border: 2px solid var(--line-strong);
    border-radius: 50%;
    transition: border-color var(--ease), background var(--ease), box-shadow var(--ease);
}
.gms-dlg__opts li.is-sel { background: var(--gms-blue-soft); font-weight: 700; color: var(--ink); }
.gms-dlg__opts li.is-sel i { border-color: var(--gms-blue); background: var(--gms-blue); box-shadow: inset 0 0 0 3px var(--surface); }
.gms-dlg__foot { display: flex; justify-content: flex-end; }
.gms-dlg__btn {
    padding: 8px 18px;
    border-radius: 9px;
    background: var(--gms-blue);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    opacity: .45;
    transition: opacity var(--ease), transform .15s ease;
}
:root[data-theme="dark"] .gms-dlg__btn { color: #0f1320; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .gms-dlg__btn { color: #0f1320; } }
.gms-dlg__btn.is-ready { opacity: 1; }
.gms-dlg__btn.is-press { transform: scale(.94); }

.gms-mini-toast { bottom: 18px; }

/* ---------- Rapor: kanıt ekran görüntüleri ---------- */
.gms-shots {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
}
.gms-shot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    transition: opacity .35s ease, transform .4s cubic-bezier(.2, .9, .3, 1.2);
}
.gms-shot small { font-size: 10.5px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.gms-shot__img {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 78px; height: 50px;
    padding: 7px 8px;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    background: var(--surface-2);
    overflow: hidden;
}
.gms-shot__img > i:first-child { font-size: 11px; color: var(--gms-blue); }
.gms-shot__img .ohs-ln { height: 5px; }
.gms-shot__img::after {   /* deklanşör flaşı */
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    opacity: 0;
}
.gms-shot.is-snap .gms-shot__img::after { animation: gms-flash .5s ease-out; }
@keyframes gms-flash { 0% { opacity: .95; } 100% { opacity: 0; } }
.gms-shot.is-off { opacity: 0; transform: translateY(8px) scale(.94); }
.gms-shots__cap {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 6px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--muted);
}
.gms-shots__cap i { color: var(--brand); }

/* ---------- Son kare (sunucu / JS kapalı / hareket azaltma) ---------- */
.gms.is-final .gms-up { opacity: 1; transform: none; }
.gms.is-final .gms-rv__tag { opacity: 1; transform: none; }

/* =====================================================================
   DUYARLI
   ===================================================================== */
@media (max-width: 620px) {
    .gms-search { gap: 10px; }
    .gms-map--pack { height: 64px; }
    .gms-pack__head { padding: 7px 12px; }
    .gms-biz { gap: 8px; padding: 6px 10px 6px 8px; }
    .gms-biz__rank { width: 12px; }
    .gms-biz__body > b { font-size: 13px; }
    .gms-biz__rate { font-size: 11.5px; }
    .gms-biz__open { display: none; }
    .gms-biz__thumb { width: 34px; height: 34px; font-size: 12px; }
    .gms-up { right: 48px; }

    /* Profil tek sütun; harita gizli, yol tarifi şeridi üstte bildirim gibi */
    .gms-profile { grid-template-columns: minmax(0, 1fr); }
    .gms-map--big { display: none; }
    .gms-prof { padding: 12px; border-right: 0; }
    .gms-photos { height: 72px; }
    .gms-prof__name { font-size: 15.5px; margin-top: 8px; }
    .gms-acts { margin: 10px 0 8px; }
    .gms-act > i { width: 32px; height: 32px; font-size: 13px; }
    .gms-act small { font-size: 10.5px; }
    .gms-route-bar { top: 12px; bottom: auto; left: 12px; right: 12px; transform: translateY(-12px); }
    .gms-route-bar small { display: none; }

    .gms-rhead { padding: 10px 12px; }
    .gms-rhead__name b { font-size: 13.5px; }
    .gms-rhead__score b { font-size: 19px; }
    .gms-rhead__score .gms-stars { display: none; }
    .gms-sort { padding: 8px 12px 2px; }
    .gms-rlist { padding: 0 12px; }
    .gms-rv__who small { display: none; }
    .gms-rv__text { font-size: 12px; }
    .gms-rv__tag { top: auto; bottom: 8px; right: 34px; }
    .gms-menu { right: 20px; }

    .gms-shots { gap: 8px; padding: 9px 10px; }
    .gms-shot__img { width: 64px; height: 42px; }
    .gms-shots__cap { font-size: 11.5px; margin-left: 2px; }
}
