.dgv-cart-mini{position:fixed;right:18px;top:112px;width:285px;z-index:50;padding:16px;border:1px solid #d8e2ef;border-radius:22px;background:#fff;box-shadow:0 22px 70px rgba(16,35,63,.16);display:grid;gap:10px}.dgv-cart-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6;padding-bottom:10px}.dgv-cart-head strong{color:#10233f;font-size:17px}.dgv-cart-head span{color:#667085;font-weight:800}.dgv-cart-sum,.dgv-cart-grand{display:flex;justify-content:space-between;gap:8px;align-items:center}.dgv-cart-sum span{color:#667085;font-weight:800}.dgv-cart-sum b{color:#145bd7}.dgv-cart-grand{background:linear-gradient(135deg,#145bd7,#08c7b8);color:#fff;border-radius:16px;padding:12px;margin-top:4px}.dgv-cart-grand b{font-size:18px}.dgv-cart-mini a,.dgv-cart-mini button,.dgv-add-btn{border:0;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer;text-decoration:none;text-align:center}.dgv-cart-mini a,.dgv-add-btn{background:linear-gradient(135deg,#145bd7,#08c7b8);color:#fff}.dgv-cart-mini button{background:#fff1f2;color:#be123c}.dgv-add-btn{margin-top:12px;display:inline-flex}.dgv-hotel-box{margin:18px 0;padding:18px;border:1px solid #d8e2ef;border-radius:22px;background:#f8fbff}.dgv-hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dgv-hotel-card{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:14px}.dgv-hotel-card label{font-weight:900;display:block;margin-bottom:8px}.dgv-hotel-card input{width:100%;padding:10px;border:1px solid #ccd8ea;border-radius:12px;margin-top:8px}@media(min-width:1120px){body:has(#dogavia-cart-mini) main.page,body:has(#dogavia-cart-mini) main.home-wrap{padding-right:320px}}@media(max-width:1119px){.dgv-cart-mini{position:sticky;top:10px;width:auto;right:auto;margin:12px 10px}.dgv-hotel-grid{grid-template-columns:1fr}.dgv-cart-mini{display:grid}}

.dgv-cart-mini a.dgv-cart-go{background:#f2f7ff!important;color:#145bd7!important;border:1px solid #cfe0ff!important}
.dgv-cart-mini a.dgv-cart-print{background:linear-gradient(135deg,#145bd7,#08c7b8)!important;color:#fff!important}

/* === Dogavia mobil uyumluluk düzeltmesi - 28.08.2026 === */
@media (max-width: 768px){
  html,body{max-width:100%;overflow-x:hidden;}
  .dgv-cart-mini{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    width:auto!important;
    max-height:72vh;
    overflow:auto;
    border-radius:20px;
    padding:14px;
    z-index:9999;
  }
  .dgv-cart-head strong{font-size:16px;}
  .dgv-cart-sum,.dgv-cart-grand{font-size:14px;}
  .dgv-cart-grand b{font-size:16px;}
  .dgv-cart-mini a,.dgv-cart-mini button{width:100%;min-height:44px;}
  .dgv-add-btn{width:100%;justify-content:center;margin-top:10px;}
  body:has(#dogavia-cart-mini){padding-bottom:245px;}
  .dgv-hotel-box{padding:14px;border-radius:18px;}
  .dgv-hotel-grid{grid-template-columns:1fr!important;gap:10px;}
  .dgv-hotel-card{padding:12px;}
}

/* === Dogavia mobile bottom-sheet cart - 28.08.2026 === */
.dgv-cart-fab,.dgv-cart-close{display:none}
@media (max-width: 768px){
  body:has(#dogavia-cart-mini){padding-bottom:84px!important;}
  .dgv-cart-fab{
    display:flex;position:fixed;right:16px;bottom:16px;z-index:9998;
    align-items:center;justify-content:center;gap:8px;min-width:148px;min-height:54px;
    border:0;border-radius:999px;padding:12px 18px;font-weight:1000;font-size:16px;
    color:#fff;background:linear-gradient(135deg,#145bd7,#08c7b8);
    box-shadow:0 18px 45px rgba(20,91,215,.28);cursor:pointer;
  }
  .dgv-cart-mini{
    display:none!important;position:fixed!important;left:12px!important;right:12px!important;
    bottom:82px!important;top:auto!important;width:auto!important;max-height:68vh;overflow:auto;
    border-radius:24px!important;padding:18px!important;z-index:9999;
    box-shadow:0 24px 70px rgba(16,35,63,.28)!important;
  }
  .dgv-cart-mini.open{display:grid!important;animation:dgvSheetUp .18s ease-out;}
  .dgv-cart-close{
    display:grid;place-items:center;position:absolute;right:12px;top:10px;width:34px;height:34px;
    border:0;border-radius:999px;background:#f2f4f7!important;color:#10233f!important;
    font-size:22px;font-weight:900;padding:0!important;min-height:0!important;
  }
  .dgv-cart-head{padding-right:38px;}
  .dgv-cart-mini a,.dgv-cart-mini button:not(.dgv-cart-close){width:100%;min-height:48px;font-size:16px;}
  .home-hero{margin-bottom:18px!important;}
}
@keyframes dgvSheetUp{from{transform:translateY(14px);opacity:.7}to{transform:translateY(0);opacity:1}}

/* === Dogavia strict mobile layout fix - 28.08.2026 === */
@media (max-width: 768px){
  html, body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  *, *::before, *::after{box-sizing:border-box!important;}
  main, .page, .home-wrap, .report-wrap, .report-body, .report-cover, section, .hero-card, .home-hero, .common-banner{max-width:100%!important;overflow-x:hidden!important;}

  /* Cart page toolbar */
  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding-left:14px!important;padding-right:14px!important;}
  .toolbar select,.toolbar button,.toolbar a{width:100%!important;min-height:48px!important;justify-content:center!important;}

  /* Hotel service area: force single-column mobile cards */
  .hotel-panel,.dgv-hotel-box{padding:14px!important;border-radius:20px!important;margin-left:0!important;margin-right:0!important;max-width:100%!important;overflow:hidden!important;}
  .hotel-panel-title{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-bottom:12px!important;}
  .hotel-panel-title h3{font-size:22px!important;line-height:1.12!important;margin:0!important;}
  .hotel-panel-title small{display:block!important;font-size:14px!important;line-height:1.35!important;}
  .hotel-add-btn{width:100%!important;min-height:48px!important;white-space:normal!important;margin:0!important;}
  .dgv-hotel-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
  .dgv-hotel-card{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px!important;border-radius:16px!important;display:grid!important;gap:8px!important;}
  .dgv-hotel-card label{font-size:16px!important;line-height:1.2!important;margin:0!important;}
  .dgv-hotel-card b{font-size:16px!important;}
  .dgv-hotel-card input{width:100%!important;max-width:100%!important;min-height:48px!important;font-size:16px!important;margin:0!important;}

  /* Mini cart: only FAB until opened */
  .dgv-cart-fab{right:16px!important;bottom:16px!important;left:auto!important;max-width:calc(100vw - 32px)!important;}
  .dgv-cart-mini{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;}

  /* Cart report table turns into cards */
  .table-shell{overflow:visible!important;width:100%!important;max-width:100%!important;}
  .table-report{min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0 12px!important;}
  .table-report thead{display:none!important;}
  .table-report tbody,.table-report tr,.table-report td{display:block!important;width:100%!important;}
  .table-report tr{border:1px solid #d8e2ef!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important;padding:10px!important;box-shadow:0 8px 22px rgba(16,35,63,.06)!important;}
  .table-report td{border:0!important;padding:7px 4px!important;text-align:left!important;}
  .table-report td:nth-child(1)::before{content:'No: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(2)::before{content:'Modül: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(3)::before{content:'Kod: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(5)::before{content:'İşlem Tutarı: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(6)::before{content:'İlave/Ücret: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(7)::before{content:'Adet: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(8)::before{content:'Toplam: ';font-weight:900;color:#667085;}
  .table-report td:nth-child(4)::before{content:'İşlem / Hizmet';display:block;font-weight:900;color:#667085;margin-bottom:3px;}
  .table-report .num{text-align:left!important;white-space:normal!important;}
  .mini-input{width:100%!important;max-width:120px!important;min-height:44px!important;}
  .row-actions button{width:100%!important;min-height:44px!important;}

  .total-box{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .note-box,.summary-box{border-radius:18px!important;padding:16px!important;}
  .summary-row{font-size:15px!important;}
  .summary-row.grand{font-size:20px!important;}
  .summary-row.grand b{font-size:22px!important;}
  .report-title h1{font-size:26px!important;line-height:1.1!important;}
  .brand-report img{max-width:240px!important;width:100%!important;height:auto!important;}
}

/* === DOGAVIA V24 MOBILE CART SAFE AREA FIX - 31.08.2026 === */
@media (max-width: 768px){
  :root{--dgv-cart-fab-h:58px;--dgv-cart-gap:16px;}
  body:has(#dogavia-cart-mini){
    padding-bottom:calc(var(--dgv-cart-fab-h) + 48px + env(safe-area-inset-bottom, 0px))!important;
  }
  main.home-wrap,
  main.page{
    padding-bottom:calc(var(--dgv-cart-fab-h) + 56px + env(safe-area-inset-bottom, 0px))!important;
  }
  .dgv-cart-fab{
    left:16px!important;
    right:16px!important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;
    max-width:none!important;
    min-height:var(--dgv-cart-fab-h)!important;
    border-radius:18px!important;
    padding:12px 18px!important;
  }
  .dgv-cart-mini{
    left:12px!important;
    right:12px!important;
    bottom:calc(var(--dgv-cart-fab-h) + 28px + env(safe-area-inset-bottom, 0px))!important;
    max-height:calc(100dvh - 150px - env(safe-area-inset-bottom, 0px))!important;
  }
  .home-grid{padding-bottom:12px!important;}
  .home-card:last-child{margin-bottom:14px!important;}
}

/* === DOGAVIA V25 MOBILE NO-OVERLAP FIX - 01.09.2026 === */
/* Mobilde sepet tetikleyicisi içerik üzerinde yüzmez; normal belge akışında kalır. */
@media (max-width: 900px){
  body:has(#dogavia-cart-mini){
    padding-bottom:0!important;
  }
  main.home-wrap,
  main.page,
  main.ilac-page{
    padding-bottom:24px!important;
  }
  #dogavia-cart-mini{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    z-index:20!important;
  }
  .dgv-cart-fab{
    position:static!important;
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-height:50px!important;
    margin:0!important;
    padding:10px 16px!important;
    border-radius:14px!important;
    box-shadow:0 10px 24px rgba(20,91,215,.18)!important;
  }
  /* Sepet ayrıntısı sadece kullanıcı açtığında modal/bottom-sheet olarak görünür. */
  .dgv-cart-mini{
    display:none!important;
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;
    top:auto!important;
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 100px - env(safe-area-inset-bottom, 0px))!important;
    overflow:auto!important;
    z-index:10001!important;
  }
  .dgv-cart-mini.open{
    display:grid!important;
  }
  /* Ana sayfa kart ve işlem butonları kesinlikle normal akışta kalsın. */
  .home-card,
  .home-card > div,
  .home-card > a,
  .search-form,
  .search-form button,
  .form,
  .form button,
  .dgv-add-btn,
  .nav-buttons,
  .nav-btn{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
  }
  .home-card > a,
  .search-form button,
  .form button,
  .dgv-add-btn,
  .nav-btn{
    z-index:1!important;
  }
}

/* === DOGAVIA V26 MOBILE CARD ICON FIX - 01.09.2026 === */
@media (max-width: 900px){
  /* V25'teki genel akış kuralı ikonun containing-block'unu kart içeriğine taşımıştı.
     İç sarmalayıcı static kalır; ikon yeniden .home-card'a göre konumlanır. */
  .home-card > div{
    position:static!important;
  }
  .home-card{
    position:relative!important;
    padding-top:82px!important;
    margin-top:30px!important;
    overflow:visible!important;
  }
  .home-grid{
    gap:34px!important;
  }
  .home-card .module-icon{
    position:absolute!important;
    left:50%!important;
    top:-28px!important;
    right:auto!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    z-index:3!important;
  }
  .home-card h2{
    position:relative!important;
    z-index:1!important;
    margin-top:0!important;
  }
}
