/*
 * © 2026 Muharrem Edip ŞAHİN / BTMM Mobil Ajans
 * Tasarlayan: Muharrem Edip ŞAHİN | Tasarım: BTMM Mobil Ajans
 * Versiyon: 2026-06 | Eklenti Sürümü: 1.1.1
 * İletişim: muharrem@btmm.com.tr
 * Paket Kimliği: BTMM-MESPS-202606-R03-20261006 | Lisans: GPL-2.0-or-later
 */
/* Content typography remains configurable. UI typography is independent. */
.mesps-dialog {
  --mesps-width:600px; --mesps-padding:32px; --mesps-radius:20px;
  --mesps-bg:#fff; --mesps-color:#172033; --mesps-font:system-ui,sans-serif;
  --mesps-ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --mesps-size:18px; --mesps-title-size:30px; --mesps-weight:400;
  --mesps-line:1.6; --mesps-align:left; --mesps-overlay:rgba(16,24,40,.6);
  box-sizing:border-box; position:fixed; inset:0; margin:auto; padding:0; border:0;
  border-radius:var(--mesps-radius); background:transparent; color:var(--mesps-color);
  width:min(var(--mesps-width),calc(100vw - 32px)); max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px); overflow:auto; z-index:2147483000;
  font-family:var(--mesps-font); font-size:var(--mesps-size); font-weight:var(--mesps-weight);
  line-height:var(--mesps-line); text-align:var(--mesps-align);
}
.mesps-dialog:not([open]) { display:none; }
.mesps-dialog::backdrop { background:var(--mesps-overlay); }
.mesps-dialog .mesps-card { position:relative; box-sizing:border-box; padding:var(--mesps-padding); background-color:var(--mesps-bg); background-position:center; min-height:80px; }
.mesps-dialog .mesps-heading { font-family:inherit; font-size:var(--mesps-title-size); font-weight:700; line-height:1.2; color:inherit; margin:0 0 16px; padding:0; border:0; letter-spacing:-.025em; overflow-wrap:anywhere; }
.mesps-dialog .mesps-body { font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; overflow-wrap:anywhere; }
.mesps-dialog .mesps-body p { margin:0 0 1em; font-family:inherit; color:inherit; font-size:inherit; line-height:inherit; }
.mesps-dialog .mesps-body > :last-child { margin-bottom:0; }
.mesps-dialog .mesps-body img { max-width:100%; height:auto; }
.mesps-dialog .mesps-body > img,
.mesps-dialog .mesps-body p > img:only-child,
.mesps-dialog .mesps-body figure > img { display:block; }
.mesps-dialog .mesps-body figure { margin:0 0 16px; max-width:100%; }
.mesps-dialog .mesps-body figure:last-child { margin-bottom:0; }
.mesps-dialog .mesps-body table { max-width:100%; display:block; overflow:auto; }
.mesps-dialog .mesps-body a { color:inherit; text-decoration:underline; }

/* Limit theme overrides to plugin controls; rich content retains its styles. */
.mesps-dialog .mesps-toolbar,
.mesps-dialog .mesps-toolbar *,
.mesps-dialog .mesps-countdown,
.mesps-dialog .mesps-countdown *,
.mesps-dialog .mesps-preference,
.mesps-dialog .mesps-preference * {
  box-sizing:border-box; font-family:var(--mesps-ui-font)!important;
  font-style:normal!important; color:var(--mesps-color)!important;
  text-transform:none!important; text-decoration:none!important;
  text-shadow:none!important; letter-spacing:normal!important;
}
.mesps-dialog .mesps-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; padding:0; text-align:left; }
.mesps-dialog .mesps-toolbar .mesps-close {
  all:unset; box-sizing:border-box; flex:0 0 44px; margin:0 0 0 auto; padding:0!important;
  width:44px!important; height:44px!important; min-width:44px; min-height:44px;
  display:grid!important; place-items:center; cursor:pointer; border-radius:50%!important;
  color:var(--mesps-color)!important; border:1px solid rgba(127,127,127,.16)!important;
  background:rgba(127,127,127,.10)!important;
  background:color-mix(in srgb,var(--mesps-color) 7%,var(--mesps-bg))!important;
  box-shadow:0 2px 8px rgba(0,0,0,.06); transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.mesps-dialog .mesps-toolbar .mesps-close svg { display:block; width:20px; height:20px; pointer-events:none; }
.mesps-dialog .mesps-toolbar .mesps-close svg path { stroke:currentColor!important; fill:none!important; }
.mesps-dialog .mesps-toolbar .mesps-close:hover { background:color-mix(in srgb,var(--mesps-color) 13%,var(--mesps-bg))!important; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.10); }
.mesps-dialog .mesps-toolbar .mesps-close:focus-visible,
.mesps-dialog .mesps-cta:focus-visible,
.mesps-dialog .mesps-dismiss-check:focus-visible + .mesps-check-mark { outline:3px solid var(--mesps-accent)!important; outline-offset:4px; }
.mesps-dialog .mesps-close-timer { display:flex; align-items:center; gap:12px; min-width:0; font-weight:400; font-size:13px; line-height:1.4; }
.mesps-dialog .mesps-timer-dial { position:relative; flex:0 0 56px; width:56px; height:56px; display:grid; place-items:center; background:rgba(127,127,127,.04); background:color-mix(in srgb,var(--mesps-color) 3%,var(--mesps-bg)); border-radius:50%; }
.mesps-dialog .mesps-timer-dial svg { position:absolute; inset:0; width:56px; height:56px; transform:rotate(-90deg); overflow:visible; }
.mesps-dialog .mesps-timer-dial circle { fill:none!important; stroke-width:2.7; stroke-linecap:round; }
.mesps-dialog .mesps-ring-track { stroke:rgba(127,127,127,.18)!important; }
.mesps-dialog .mesps-ring-progress { stroke:var(--mesps-accent)!important; stroke-dasharray:100; stroke-dashoffset:0; transition:stroke-dashoffset .25s linear; }
.mesps-dialog .mesps-timer-value { font-size:17px!important; font-weight:650!important; line-height:1!important; font-variant-numeric:tabular-nums; position:relative; }
.mesps-dialog .mesps-timer-value-long { font-size:10px!important; }
.mesps-dialog .mesps-timer-info { display:flex; flex-direction:column; gap:3px; min-width:0; overflow-wrap:anywhere; }
.mesps-dialog .mesps-timer-caption { font-size:13px!important; font-weight:600!important; line-height:1.4!important; }
.mesps-dialog .mesps-timer-detail { font-size:12px!important; font-weight:400!important; line-height:1.4!important; opacity:.75; }
.mesps-dialog .mesps-cta { display:inline-block; box-sizing:border-box; margin-top:24px; padding:12px 24px; border-radius:10px; text-decoration:none; border:0; font-family:inherit; font-size:inherit; font-weight:600; line-height:1.4; cursor:pointer; box-shadow:none; overflow-wrap:anywhere; }

.mesps-dialog .mesps-countdown { margin:20px 0 0; padding:18px 0 0; border-top:1px solid rgba(127,127,127,.18); text-align:center; font-variant-numeric:tabular-nums; }
.mesps-dialog .mesps-countdown-title { display:block; font-size:14px!important; font-weight:600!important; line-height:1.5!important; margin:0 0 12px; padding:0; }
.mesps-dialog .mesps-countdown-tiles { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.mesps-dialog .mesps-time-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:64px; margin:0; padding:12px 14px; border-radius:16px; background:rgba(127,127,127,.07); background:color-mix(in srgb,var(--mesps-color) 5%,var(--mesps-bg)); border:1px solid rgba(127,127,127,.14); box-shadow:0 2px 6px rgba(0,0,0,.03); }
.mesps-dialog .mesps-time-number { font-size:24px!important; font-weight:650!important; line-height:1.15!important; }
.mesps-dialog .mesps-time-unit { font-size:13px!important; font-weight:400!important; line-height:1.3!important; opacity:.75; }

.mesps-dialog .mesps-preference { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:18px 0 0; padding:14px 0 0; border-top:1px solid rgba(127,127,127,.18); text-align:left; }
.mesps-dialog .mesps-dismiss-label { display:inline-flex; align-items:center; gap:11px; margin:0; padding:4px 0; min-height:44px; cursor:pointer; font-size:14px!important; font-weight:500!important; line-height:1.4!important; }
.mesps-dialog .mesps-check-box { position:relative; display:inline-flex; flex:0 0 22px; width:22px; height:22px; }
.mesps-dialog .mesps-dismiss-check { position:absolute!important; inset:0; z-index:1; appearance:auto; box-sizing:border-box; display:block!important; width:22px!important; height:22px!important; margin:0!important; padding:0!important; opacity:0!important; cursor:pointer; }
.mesps-dialog .mesps-check-mark { display:grid; place-items:center; width:22px; height:22px; border:1.5px solid rgba(127,127,127,.7); border:1.5px solid color-mix(in srgb,var(--mesps-color) 45%,var(--mesps-bg)); border-radius:7px; background:rgba(127,127,127,.05); transition:background .15s ease,border-color .15s ease; }
.mesps-dialog .mesps-check-mark svg { width:17px; height:17px; display:block; opacity:0; }
.mesps-dialog .mesps-check-mark svg path { stroke:currentColor!important; fill:none!important; }
.mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark { border-color:var(--mesps-accent); background:var(--mesps-accent); }
.mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark,
.mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark * { color:#fff!important; }
.mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark svg { opacity:1; }
.mesps-dialog .mesps-dismiss-check:disabled + .mesps-check-mark { opacity:.6; }
.mesps-dialog .mesps-dismiss-copy { display:flex; flex-direction:column; gap:3px; }
.mesps-dialog .mesps-dismiss-copy > span { font-size:14px!important; font-weight:500!important; line-height:1.4!important; }
.mesps-dialog .mesps-dismiss-copy small { font-size:12px!important; font-weight:400!important; line-height:1.4!important; opacity:.75; }
.mesps-dialog .mesps-dismiss-status { font-size:12px!important; font-weight:400!important; line-height:1.4!important; }
.mesps-dialog .mesps-dismiss-status:empty { display:none; }

.mesps-shadow { box-shadow:0 24px 80px rgba(0,0,0,.25); }
.mesps-pos-bottom-right { inset:auto 16px 16px auto; margin:0; }
.mesps-pos-bottom-left { inset:auto auto 16px 16px; margin:0; }
.mesps-pos-top-bar { inset:16px 16px auto; margin:0 auto; width:calc(100vw - 32px); max-width:calc(100vw - 32px); }
.mesps-pos-bottom-bar { inset:auto 16px 16px; margin:0 auto; width:calc(100vw - 32px); max-width:calc(100vw - 32px); }
.mesps-pos-side { inset:16px 16px 16px auto; margin:0; height:calc(100dvh - 32px); }
.mesps-pos-side .mesps-card { min-height:100%; }
.mesps-anim-fade[open] { animation:mesps-fade .25s ease-out; }
.mesps-anim-slide[open] { animation:mesps-slide .3s ease-out; }
.mesps-anim-zoom[open] { animation:mesps-zoom .25s ease-out; }
@keyframes mesps-fade { from{opacity:0} to{opacity:1} }
@keyframes mesps-slide { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes mesps-zoom { from{opacity:0;transform:scale(.94)} to{opacity:1;transform:scale(1)} }
@media(max-width:767px) {
  .mesps-dialog { max-height:calc(100dvh - 24px); width:min(var(--mesps-width),calc(100vw - 24px)); max-width:calc(100vw - 24px); }
  .mesps-dialog .mesps-card { padding-left:min(var(--mesps-padding),24px); padding-right:min(var(--mesps-padding),24px); }
  .mesps-dialog .mesps-heading { font-size:min(var(--mesps-title-size),36px); }
  .mesps-pos-bottom-right { right:12px; bottom:12px; }
  .mesps-pos-bottom-left { left:12px; bottom:12px; }
  .mesps-pos-top-bar { inset:12px 12px auto; }
  .mesps-pos-bottom-bar { inset:auto 12px 12px; }
  .mesps-pos-side { inset:12px 12px 12px auto; height:calc(100dvh - 24px); }
}
@media(max-width:480px) {
  .mesps-dialog .mesps-toolbar { gap:8px; margin-bottom:16px; }
  .mesps-dialog .mesps-close-timer { gap:9px; }
  .mesps-dialog .mesps-timer-caption { font-size:12px!important; }
  .mesps-dialog .mesps-timer-detail { font-size:11px!important; }
  .mesps-dialog .mesps-countdown-tiles { gap:6px; }
  .mesps-dialog .mesps-time-tile { min-width:48px; padding:10px 8px; border-radius:12px; }
  .mesps-dialog .mesps-time-number { font-size:22px!important; }
  .mesps-dialog .mesps-time-unit { font-size:12px!important; }
}
@media(forced-colors:active) {
  .mesps-dialog .mesps-check-mark { border-color:CanvasText; forced-color-adjust:none; background:Canvas; }
  .mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark { background:Highlight; border-color:Highlight; }
  .mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark,
  .mesps-dialog .mesps-dismiss-check:checked + .mesps-check-mark * { color:HighlightText!important; }
}
@media(prefers-reduced-motion:reduce) {
  .mesps-dialog[open] { animation:none; }
  .mesps-dialog .mesps-close,.mesps-dialog .mesps-ring-progress,.mesps-dialog .mesps-check-mark { transition:none; }
}
