/* =========================================================
   WimoModal — görünüm (Nova renkleri ve yaylı hareket dili)
   Çift çerçeve kart, renkli başlık şeridi, geçiş türleri: rise · zoom · slide · flip
   ========================================================= */
.wmm:not(.is-ready) { display: none; }
.wmm [hidden] { display: none !important; }
body.wmm-lock { overflow: hidden; }

.wmm-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 1.25rem; overflow-y: auto; overscroll-behavior: contain; background: rgb(8 22 32 / .38); -webkit-backdrop-filter: blur(6px) saturate(120%); backdrop-filter: blur(6px) saturate(120%); }
[data-theme="dark"] .wmm-overlay { background: rgb(0 0 0 / .55); }
.wmm-overlay[hidden] { display: none; }
.wmm-overlay.is-in { animation: wmm-fade .3s cubic-bezier(.32, .72, 0, 1) both; }
.wmm-overlay.is-out { animation: wmm-fade .26s ease reverse both; }
.wmm-overlay.is-under .wmm-dialog { transform: scale(.96) translateY(-8px); filter: brightness(.96); transition: transform .45s cubic-bezier(.32, .72, 0, 1), filter .3s; }
@keyframes wmm-fade { from { opacity: 0; } }

.wmm-dialog {
  --wmm-w: 34rem; --tone: var(--navy-900); --tone-soft: rgb(12 90 130 / .1);
  position: relative; width: min(100%, var(--wmm-w)); max-height: calc(100dvh - 2.5rem);
  display: flex; flex-direction: column; overflow: hidden; outline: none;
  border-radius: 24px; background: var(--surface);
  box-shadow: 0 0 0 1px var(--border), 0 0 0 7px rgb(255 255 255 / .35), 0 0 0 8px rgb(255 255 255 / .2), 0 50px 100px -40px rgb(6 30 46 / .6);
  transition: width .5s cubic-bezier(.32, .72, 0, 1), max-height .5s cubic-bezier(.32, .72, 0, 1), border-radius .5s cubic-bezier(.32, .72, 0, 1), transform .4s cubic-bezier(.32, .72, 0, 1);
}
[data-theme="dark"] .wmm-dialog { box-shadow: 0 0 0 1px var(--border-strong, var(--border)), 0 0 0 7px rgb(255 255 255 / .04), 0 50px 100px -30px rgb(0 0 0 / .85); }
.wmm-tone-ok { --tone: #059669; --tone-soft: rgb(16 185 129 / .12); }
.wmm-tone-warn { --tone: #d97706; --tone-soft: rgb(245 158 11 / .14); }
.wmm-tone-danger { --tone: #dc2626; --tone-soft: rgb(220 38 38 / .1); }
[data-theme="dark"] .wmm-dialog { --tone-soft: rgb(92 184 230 / .14); }
[data-theme="dark"] .wmm-tone-navy { --tone: var(--hl); }
[data-theme="dark"] .wmm-tone-ok { --tone: #34d399; --tone-soft: rgb(52 211 153 / .14); }
[data-theme="dark"] .wmm-tone-warn { --tone: #fbbf24; --tone-soft: rgb(251 191 36 / .14); }
[data-theme="dark"] .wmm-tone-danger { --tone: #f87171; --tone-soft: rgb(248 113 113 / .14); }

/* Tam ekran */
.wmm-dialog.is-full { width: 100%; max-height: calc(100dvh - 2.5rem); height: calc(100dvh - 2.5rem); border-radius: 18px; }

/* Geçişler */
.wmm-overlay.is-in .wmm-tr-rise { animation: wmm-rise .55s cubic-bezier(.32, .72, 0, 1) both; }
.wmm-overlay.is-in .wmm-tr-zoom { animation: wmm-zoom .5s cubic-bezier(.34, 1.4, .64, 1) both; }
.wmm-overlay.is-in .wmm-tr-slide { animation: wmm-slide .5s cubic-bezier(.32, .72, 0, 1) both; }
.wmm-overlay.is-in .wmm-tr-slide-back { animation: wmm-slide-back .5s cubic-bezier(.32, .72, 0, 1) both; }
.wmm-overlay.is-in .wmm-tr-flip { animation: wmm-flip .6s cubic-bezier(.32, .72, 0, 1) both; transform-origin: 50% 0; }
.wmm-overlay.is-out .wmm-dialog { animation: wmm-leave .24s ease both; }
@keyframes wmm-rise { from { opacity: 0; transform: translateY(28px) scale(.97); filter: blur(6px); } }
@keyframes wmm-zoom { from { opacity: 0; transform: scale(.86); } }
@keyframes wmm-slide { from { opacity: 0; transform: translateX(48px); } }
@keyframes wmm-slide-back { from { opacity: 0; transform: translateX(-48px); } }
@keyframes wmm-flip { from { opacity: 0; transform: perspective(900px) rotateX(-18deg) translateY(-12px); } }
@keyframes wmm-leave { to { opacity: 0; transform: translateY(10px) scale(.97); } }
.wmm-dialog.is-nudge { animation: wmm-nudge .45s cubic-bezier(.32, .72, 0, 1) !important; }
@keyframes wmm-nudge { 20% { transform: scale(1.02); } 40% { transform: scale(.99) translateX(-4px); } 60% { transform: translateX(4px); } 80% { transform: translateX(-2px); } }

/* Başlık */
.wmm-head { position: relative; display: flex; align-items: center; gap: .85rem; padding: 1.1rem 1rem 1.05rem 1.35rem; border-bottom: 1px solid var(--border); background: linear-gradient(180deg, var(--tone-soft), transparent 120%); }
.wmm-head::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--tone); }
.wmm-grip { display: none; }
.wmm-ico { width: 2.6rem; height: 2.6rem; flex-shrink: 0; display: grid; place-items: center; border-radius: 14px; color: #fff; background: var(--tone); box-shadow: 0 8px 18px -10px var(--tone); }
[data-theme="dark"] .wmm-ico { color: #061b28; }
.wmm-ico svg { width: 1.2rem; height: 1.2rem; }
.wmm-titles { flex: 1; min-width: 0; }
.wmm-title { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; color: var(--text); }
.wmm-sub { margin-top: .1rem; font-size: 13px; color: var(--text-muted); }
.wmm-tools { display: flex; align-items: center; gap: .2rem; }
.wmm-tool { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 10px; color: var(--text-muted); transition: color .2s, background-color .2s, transform .35s cubic-bezier(.32, .72, 0, 1); }
.wmm-tool:hover:not(:disabled) { color: var(--text); background: var(--hover); }
.wmm-tool:active:not(:disabled) { transform: scale(.9); }
.wmm-tool:disabled { opacity: .35; cursor: default; }
.wmm-tool svg { width: 1.05rem; height: 1.05rem; grid-area: 1 / 1; }
.wmm-x:hover svg { transform: rotate(90deg); transition: transform .35s cubic-bezier(.32, .72, 0, 1); }
.wmm-tool .i-min, .wmm-dialog.is-full .wmm-tool .i-max { display: none; }
.wmm-dialog.is-full .wmm-tool .i-min { display: block; }
.wmm-tool:focus-visible, .wmm-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--hl); }

/* İçerik */
.wmm-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.35rem; scrollbar-width: thin; }
.wmm-scroll > * { animation: wmm-item .55s cubic-bezier(.32, .72, 0, 1) both; animation-delay: .08s; }
@keyframes wmm-item { from { opacity: 0; transform: translateY(8px); } }
.wmm-scroll.is-iframe { padding: 0; }
.wmm-scroll iframe { display: block; width: 100%; height: min(70vh, 40rem); border: 0; background: var(--surface); }
.wmm-dialog.is-full .wmm-scroll iframe { height: 100%; }

/* Alt çubuk */
.wmm-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; padding: .9rem 1.35rem 1.1rem; border-top: 1px solid var(--border); background: var(--section-muted, transparent); }
.wmm-footer .wmm-footer-note { margin-right: auto; align-self: center; font-size: 12.5px; color: var(--text-muted); }
.wmm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; height: 2.75rem; padding-inline: 1.2rem; border-radius: 999px; font-size: 14px; font-weight: 600; transition: transform .25s cubic-bezier(.32, .72, 0, 1), box-shadow .3s, background-color .2s, color .2s; }
.wmm-btn:active { transform: scale(.97); }
.wmm-btn svg { width: 1rem; height: 1rem; }
.wmm-btn-primary { color: #fff; background: var(--navy-900); box-shadow: 0 8px 18px -10px rgb(12 90 130 / .8); }
.wmm-btn-primary:hover { box-shadow: 0 0 0 4px var(--shell, rgb(12 90 130 / .06)), 0 12px 24px -12px rgb(12 90 130 / .8); }
[data-theme="dark"] .wmm-btn-primary { color: #061b28; background: var(--hl); }
.wmm-btn-danger { color: #fff; background: #dc2626; box-shadow: 0 8px 18px -10px rgb(220 38 38 / .8); }
.wmm-btn-danger:hover { background: #b91c1c; }
.wmm-btn-ghost { color: var(--text-soft); background: var(--surface); box-shadow: inset 0 0 0 1px var(--border); }
.wmm-btn-ghost:hover { color: var(--text); background: var(--hover); }
.wmm-btn .go { width: 1.85rem; height: 1.85rem; margin-right: -.85rem; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .16); transition: transform .45s cubic-bezier(.32, .72, 0, 1); }
.wmm-btn:hover .go { transform: translate(2px, -2px) scale(1.06); }
.wmm-btn.has-go { padding-right: .35rem; }
.wmm-btn.has-go .go { margin-right: 0; }

/* Süre çubuğu */
.wmm-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; overflow: hidden; pointer-events: none; }
.wmm-progress i { display: block; height: 100%; background: var(--tone); transform: scaleX(0); transform-origin: left; }
.wmm-dialog.is-timing .wmm-progress i { animation: wmm-time linear both; }
.wmm-dialog.is-paused .wmm-progress i { animation-play-state: paused; }
@keyframes wmm-time { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* Yükleniyor perdesi */
.wmm-loader { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; background: color-mix(in srgb, var(--surface) 72%, transparent); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s linear .25s; }
.wmm-loader span { width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 3px solid var(--tone-soft); border-top-color: var(--tone); animation: wmm-spin .8s linear infinite; }
.wmm-dialog.is-loading .wmm-loader { opacity: 1; visibility: visible; transition: opacity .25s; }
@keyframes wmm-spin { to { transform: rotate(360deg); } }

/* Hazır pencereler (alert / confirm) */
.wmm-q { display: grid; justify-items: center; gap: .55rem; padding: .75rem .5rem .25rem; text-align: center; }
.wmm-q-ico { width: 3.6rem; height: 3.6rem; margin-bottom: .4rem; display: grid; place-items: center; border-radius: 50%; color: var(--tone); background: var(--tone-soft); box-shadow: 0 0 0 8px color-mix(in srgb, var(--tone-soft) 45%, transparent); animation: wmm-pop .6s cubic-bezier(.34, 1.56, .64, 1) .1s both; }
.wmm-q-ico svg { width: 1.6rem; height: 1.6rem; }
@keyframes wmm-pop { from { transform: scale(.4); opacity: 0; } }
.wmm-q-title { font-family: var(--font-display); font-size: 19px; font-weight: 700; letter-spacing: -.025em; color: var(--text); }
.wmm-q-text { max-width: 22rem; font-size: 14.5px; line-height: 1.6; color: var(--text-muted); }
.wmm-quick .wmm-footer { justify-content: center; border-top: 0; background: none; padding-top: .4rem; }
.wmm-quick .wmm-btn { min-width: 8rem; }

/* Mobil: alttan açılan sayfa */
@media (max-width: 560px) {
  .wmm-overlay { place-items: end center; padding: 0; }
  .wmm-dialog { width: 100%; max-height: 92dvh; border-radius: 24px 24px 0 0; }
  .wmm-dialog.is-full { height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .wmm-quick .wmm-dialog { border-radius: 24px 24px 0 0; }
  .wmm-head { padding-top: 1.45rem; touch-action: none; }
  .wmm-grip { display: block; position: absolute; left: 50%; top: .5rem; width: 2.5rem; height: 4px; margin-left: -1.25rem; border-radius: 4px; background: var(--border-strong, var(--border)); }
  .wmm-overlay.is-in .wmm-dialog { animation: wmm-sheet .5s cubic-bezier(.32, .72, 0, 1) both; }
  .wmm-overlay.is-out .wmm-dialog { animation: wmm-sheet-out .26s ease both; }
  .wmm-dialog.is-dragging { transition: none; }
  .wmm-footer { padding-bottom: calc(1.1rem + env(safe-area-inset-bottom)); }
  .wmm-footer .wmm-btn { flex: 1; }
}
@keyframes wmm-sheet { from { transform: translateY(100%); } }
@keyframes wmm-sheet-out { to { transform: translateY(100%); } }

@media (prefers-reduced-motion: reduce) {
  .wmm-overlay, .wmm-dialog, .wmm-scroll > *, .wmm-q-ico { animation: none !important; transition: none !important; }
}
@media (prefers-reduced-transparency: reduce) { .wmm-overlay { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgb(8 22 32 / .6); } }
