
/* =========================================================
   QP-PLAT-PRO + MOBILE SHEET — FINAL / CLEAN / INP-FRIENDLY
   - Global background ile uyumlu
   - Daha hafif premium görünüm
   - Daha az katman, daha az çakışan ton
   - Desktop grid temiz
   - Mobile sheet sabit ve okunaklı
   - qt-services-unified.js final sürümü ile uyumlu
   ========================================================= */

/* =========================================================
   1) BASE
   ========================================================= */
.qp-plat-pro,
.qp-plat-pro *{
  box-sizing:border-box;
}

.qp-plat-pro :where(h1,h2,h3,h4,h5,h6,p){
  margin:0;
}

.qp-plat-pro :where(a){
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}

.qp-plat-pro :where(svg,img){
  display:block;
}

.qp-plat-pro .ico{
  color:rgb(var(--brand-rgb, 106,126,255));
}

.qp-plat-pro svg.qt-ic{
  width:24px;
  height:24px;
  display:block;
}

.q-sheet svg.qt-ic{
  width:16px;
  height:16px;
  display:block;
}

.qp-plat-pro svg.qt-ic *{
  stroke:currentColor;
}

.qp-plat-pro svg.qt-ic [fill="currentColor"]{
  fill:currentColor;
}

/* =========================================================
   2) SECTION
   ========================================================= */
.qp-plat-pro{
  --ac:var(--accent,#5d74ff);
  --ink:#0b1227;
  --muted:#5f6b8f;
  --max:1320px;

  --tile-stroke:rgba(15,23,42,.08);
  --tile-shadow:
    0 8px 18px rgba(15,23,42,.05),
    0 1px 4px rgba(15,23,42,.03);
  --tile-shadow-hover:
    0 14px 26px rgba(15,23,42,.08),
    0 8px 18px -14px rgba(var(--brand-rgb,106,126,255), .16);

  position:relative;
  isolation:isolate;
  z-index:1;
  padding:34px 0 42px;
  text-align:center;
  font:16px/1.35 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:transparent;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Global zemine karışan ama onu koyulaştırmayan hafif bir aura */
.qp-plat-pro::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:100vw;
  transform:translateX(-50%);
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(720px 180px at 50% 0%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 26%);
}

.qp-plat-pro::after{
  content:none;
}

/* =========================================================
   3) HEADER
   ========================================================= */
.qp-plat-head{
  width:min(900px, 94vw);
  margin:0 auto 20px;
}

.qp-plat-pro h2{
  font-size:clamp(1.45rem,1.1rem + 1.35vw,2.2rem);
  line-height:1.06;
  font-weight:975;
  letter-spacing:-.035em;
  color:#0a1024;
}

.qp-plat-pro p{
  max-width:62ch;
  margin:10px auto 0;
  font-size:clamp(.95rem,.90rem + .24vw,1.06rem);
  line-height:1.55;
  font-weight:700;
  color:var(--muted);
}

.qp-plat-pro p::after{
  content:"";
  display:block;
  width:92px;
  height:3px;
  margin:14px auto 0;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(99,102,241,0),
    rgba(99,102,241,.16),
    rgba(99,102,241,.42),
    rgba(99,102,241,.16),
    rgba(99,102,241,0)
  );
}

/* =========================================================
   4) GRID
   ========================================================= */
.qp-plat-pro .grid{
  width:min(var(--max), 94vw);
  margin:0 auto;
  display:grid;
  gap:14px;
  grid-template-columns:repeat(7, minmax(0,1fr));
  align-items:stretch;
}

/* =========================================================
   5) TILE
   ========================================================= */
.qp-plat-pro .tile{
  --brand-rgb:106,126,255;

  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;

  min-height:132px;
  padding:16px 12px 14px;
  border-radius:22px;
  overflow:hidden;
  outline:none;
  cursor:pointer;

  background:linear-gradient(180deg, rgba(243,247,252,.92), rgba(236,242,248,.92));
  border:1px solid var(--tile-stroke);
  box-shadow:var(--tile-shadow);

  transform:translateZ(0);
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    border-color .14s ease;
}

.qp-plat-pro .tile::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:21px;
  z-index:0;
  background:linear-gradient(180deg, rgba(255,255,255,.985), rgba(255,255,255,.95));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(255,255,255,.78);
}

.qp-plat-pro .tile::after{
  content:none;
}

.qp-plat-pro .tile-glow{
  position:absolute;
  left:16px;
  right:16px;
  bottom:8px;
  height:3px;
  z-index:1;
  pointer-events:none;
  border-radius:999px;
  opacity:.72;
  background:linear-gradient(
    90deg,
    rgba(var(--brand-rgb),0),
    rgba(var(--brand-rgb),.10),
    rgba(var(--brand-rgb),.34),
    rgba(var(--brand-rgb),.10),
    rgba(var(--brand-rgb),0)
  );
}

@media (hover:hover){
  .qp-plat-pro .tile:hover{
    transform:translateY(-3px);
    border-color:rgba(var(--brand-rgb), .14);
    box-shadow:var(--tile-shadow-hover);
  }
}

.qp-plat-pro .tile:active{
  transform:translateY(-1px) scale(.99);
}

.qp-plat-pro .tile:focus-visible{
  border-color:rgba(var(--brand-rgb), .22);
  box-shadow:
    0 0 0 4px rgba(var(--brand-rgb), .10),
    0 12px 24px rgba(15,23,42,.08);
}

/* =========================================================
   6) ICON
   ========================================================= */
.qp-plat-pro .ico{
  position:relative;
  z-index:2;
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, #ffffff, #f6f8fb);
  border:1px solid rgba(15,23,42,.06);
  box-shadow:
    0 8px 16px rgba(15,23,42,.06),
    0 4px 12px rgba(var(--brand-rgb), .05);
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    border-color .14s ease;
}

.qp-plat-pro .ico::before{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:-1;
  border-radius:20px;
  opacity:.68;
  background:radial-gradient(circle, rgba(var(--brand-rgb), .06), transparent 72%);
}

@media (hover:hover){
  .qp-plat-pro .tile:hover .ico{
    transform:translateY(-1px) scale(1.04);
    border-color:rgba(var(--brand-rgb), .10);
    box-shadow:
      0 10px 18px rgba(15,23,42,.08),
      0 6px 14px rgba(var(--brand-rgb), .08);
  }
}

/* =========================================================
   7) TEXT
   ========================================================= */
.qp-plat-pro .tile-text{
  position:relative;
  z-index:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}

.qp-plat-pro .label{
  max-width:13ch;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin:0;
  font-size:.96rem;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.022em;
  color:#0a1024;
}

.qp-plat-pro .sub{
  margin:0;
  font-size:.79rem;
  font-weight:780;
  line-height:1.05;
  letter-spacing:.01em;
  white-space:nowrap;
  color:color-mix(in srgb, rgb(var(--brand-rgb)) 74%, #526072);
}

/* =========================================================
   8) RESPONSIVE
   ========================================================= */
@media (max-width:1200px){
  .qp-plat-pro .grid{
    grid-template-columns:repeat(6, minmax(0,1fr));
  }
}

@media (max-width:1024px){
  .qp-plat-pro{
    padding:26px 0 30px;
  }

  .qp-plat-pro .grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
  }

  .qp-plat-pro .tile{
    min-height:122px;
    border-radius:20px;
  }

  .qp-plat-pro .tile::before{
    border-radius:19px;
  }
}

@media (max-width:768px){
  .qp-plat-pro{
    padding:20px 0 24px;
  }

  .qp-plat-head{
    margin-bottom:14px;
  }

  .qp-plat-pro h2{
    font-size:clamp(1.18rem,1.04rem + 1.24vw,1.58rem);
  }

  .qp-plat-pro p{
    font-size:.91rem;
    margin-top:7px;
  }

  .qp-plat-pro .grid{
    width:100%;
    padding:0 12px;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:10px;
  }

  .qp-plat-pro .tile{
    min-height:108px;
    padding:12px 8px 11px;
    gap:7px;
    border-radius:18px;
  }

  .qp-plat-pro .tile::before{
    inset:1px;
    border-radius:17px;
  }

  .qp-plat-pro .ico{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  .qp-plat-pro .label{
    max-width:11ch;
    font-size:.83rem;
  }

  .qp-plat-pro .sub{
    font-size:.67rem;
  }

  .qp-plat-pro .tile-glow{
    left:12px;
    right:12px;
    bottom:7px;
  }
}

/* =========================================================
   9) OVERLAY
   ========================================================= */
.blur-cover{
  position:fixed;
  inset:0;
  z-index:9990;
  opacity:0 !important;
  background:transparent !important;
  pointer-events:none;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

body.q-blur-lock .blur-cover,
body.q-scroll-lock .blur-cover{
  opacity:0 !important;
  pointer-events:auto !important;
}

body.q-blur-lock,
body.q-scroll-lock{
  overflow:hidden !important;
  touch-action:none;
  overscroll-behavior:contain;
}

/* =========================================================
   10) MOBILE SHEET
   - Global tona daha yakın
   - Sabit item yüksekliği
   - Uzun başlıkta kart boyu bozulmaz
   - 2 satıra kontrollü izin verilir
   ========================================================= */
.q-sheet{
  display:none;
}

@media (max-width:768px){
  .q-sheet{
    --accent-rgb:106,126,255;

    display:flex;
    flex-direction:column;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10000;

    height:67vh;
    max-height:540px;
    min-height:360px;

    border-radius:22px 22px 0 0;
    overflow:hidden;

    background:
      linear-gradient(180deg, rgba(243,247,252,.97), rgba(235,241,248,.97));

    box-shadow:
      0 -16px 42px rgba(15,23,42,.18),
      0 -1px 0 rgba(255,255,255,.78) inset,
      0 0 0 1px rgba(226,232,240,.66) inset;

    transform:translate3d(0,105%,0);
    transition:transform .22s cubic-bezier(.23,1,.32,1);
  }

  .q-sheet.active{
    transform:translate3d(0,0,0);
  }

  .q-sheet::before{
    content:"";
    position:absolute;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    width:44px;
    height:5px;
    border-radius:999px;
    background:rgba(15,23,42,.14);
  }

  .q-sheet-title{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    padding:22px 18px 12px;
    text-align:center;
    font-size:1.02rem;
    font-weight:950;
    letter-spacing:-.022em;
    color:#0f172a;
    background:rgba(255,255,255,.40);
    box-shadow:0 1px 0 rgba(226,232,240,.66);
  }

  .q-sheet-title::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    width:64px;
    height:3px;
    border-radius:4px;
    background:linear-gradient(
      90deg,
      transparent,
      rgba(var(--accent-rgb),.34),
      transparent
    );
  }

  .q-list{
    flex:1 1 auto;
    overflow-y:auto;
    padding:12px 12px calc(88px + env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    gap:9px;
    background:transparent;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }

  .q-list::-webkit-scrollbar{
    display:none;
  }

  .q-sheet :where(a,a:visited,a:hover,a:active,a:focus){
    color:inherit !important;
    text-decoration:none !important;
    border-bottom:0 !important;
    outline:0;
  }

  .q-item{
    min-width:0;
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:10px minmax(0,1fr) 36px;
    align-items:center;
    column-gap:12px;

    min-height:68px;
    padding:0 14px;
    border-radius:16px;

    color:#243041;
    background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.91));
    border:1px solid rgba(226,232,240,.84);
    box-shadow:
      0 6px 14px -12px rgba(15,23,42,.12),
      0 1px 2px rgba(15,23,42,.02);

    transform:translateZ(0);
    transition:
      transform .10s ease,
      box-shadow .10s ease,
      border-color .10s ease;
  }

  .q-item::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:999px;
    background:rgb(var(--accent-rgb));
    box-shadow:0 0 0 5px rgba(var(--accent-rgb), .10);
    justify-self:start;
  }

  .q-item::after{
    content:"›";
    width:36px;
    height:36px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:end;

    font-size:1.05rem;
    font-weight:950;
    line-height:1;
    color:rgb(var(--accent-rgb));
    background:rgba(var(--accent-rgb), .10);
  }

  .q-item > span,
  .q-item > strong,
  .q-item > b,
  .q-item .q-item__label{
    min-width:0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;

    font-size:.95rem;
    line-height:1.14;
    font-weight:900;
    letter-spacing:-.02em;
    color:#111827;
    text-align:left;
  }

  .q-item:active{
    transform:scale(.992);
    box-shadow:
      0 4px 10px -10px rgba(15,23,42,.10),
      0 1px 2px rgba(15,23,42,.02);
  }

  .q-back{
    position:absolute;
    left:50%;
    bottom:calc(16px + env(safe-area-inset-bottom));
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:150px;
    padding:12px 28px;
    border:0;
    border-radius:999px;
    cursor:pointer;

    font-size:.95rem;
    font-weight:900;
    letter-spacing:.01em;
    color:#fff;

    background:linear-gradient(
      135deg,
      rgb(var(--accent-rgb)),
      rgba(var(--accent-rgb), .88)
    );
    box-shadow:
      0 10px 22px -8px rgba(var(--accent-rgb), .34),
      0 0 0 1px rgba(255,255,255,.18) inset;

    transition:transform .10s ease, box-shadow .10s ease;
  }

  .q-back:active{
    transform:translateX(-50%) scale(.975);
    box-shadow:0 6px 14px rgba(var(--accent-rgb), .24);
  }
}

/* =========================================================
   11) REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  .qp-plat-pro *,
  .q-sheet,
  .blur-cover{
    transition:none !important;
  }
}