/* PizzaBell footer/modal runtime static CSS — performance phase v12.
   Extracted from _index_parts/view_footer_js.php to reduce inline HTML size. */
.pz-toast, .pz-toast *{
    font-family: Dana,IRANYekan,Vazirmatn,Noto Naskh Arabic,Segoe UI,Arial,sans-serif;
    box-sizing:border-box;
  }
  .pz-toast{
    position:fixed;
    inset:16px 0 auto 0;
    z-index:9997;
    display:none;
    justify-content:center;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
    pointer-events:none;
  }
  .pz-toast.on{ display:flex; }
  .pz-toast .inner{
    pointer-events:auto;
    width:min(560px, calc(100% - 24px));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.10);
    background:#fafafa;
    box-shadow:0 14px 44px rgba(0,0,0,.12);
  }
  .pz-toast .t{ font-weight:999; font-size:13.2px; line-height:1.5; }
  .pz-toast .s{
    margin-top:2px;
    font-weight:850;
    font-size:12.2px;
    color:rgba(0,0,0,.62);
    line-height:1.7;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:360px;
  }

  .pz-modal, .pz-modal *{
    font-family: Dana,IRANYekan,Vazirmatn,Noto Naskh Arabic,Segoe UI,Arial,sans-serif;
    box-sizing:border-box;
  }
  .pz-modal{
    position:fixed;
    inset:0;
    z-index:9998;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px 14px;
    background:rgba(0,0,0,.34);
    backdrop-filter: blur(8px);
  }
  .pz-modal.on{ display:flex; }

  .pz-modal-card{
    width:min(560px, calc(100% - 16px));
    max-height:min(82vh, 760px);
    display:flex;
    flex-direction:column;
    border-radius:22px;
    border:1px solid rgba(0,0,0,.10);
    background:#fafafa;
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    overflow:hidden;
  }

  .pz-modal-head{
    padding:12px 12px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-bottom:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.65);
  }
  .pz-modal-head .t{ font-weight:999; font-size:14px; }

  .pz-x{
    width:38px;height:38px;
    border-radius:14px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.75);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px; line-height:1;
    appearance:none; -webkit-appearance:none;
  }
  .pz-x:focus{ outline:none; box-shadow:0 0 0 3px rgba(0,0,0,.06); }

  .pz-modal-body{ padding:14px; overflow:auto; }

  .pz-branch-report{
    white-space:pre-wrap;
    line-height:2;
    font-weight:900;
    font-size:13px;
    max-height:min(56vh, 460px);
    overflow:auto;
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    padding:12px;
  }
  .pz-branch-actions{
    display:flex;
    gap:10px;
    margin-top:12px;
    flex-wrap:wrap;
  }
  .pz-branch-actions > *{ flex:1 1 180px; }

  .pz-muted{
    color:var(--site-muted, rgba(0,0,0,.62));
    font-size:12.6px;
    font-weight:800;
    line-height:1.9;
  }

  .pz-row{ display:flex; gap:10px; align-items:center; }
  .pz-row>*{ flex:1; }

  .pz-inp{
    width:100%;
    font-weight:900;
    font-size:13px;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.70);
    padding:11px 12px;
    outline:none;
  }
  .pz-inp:focus{ box-shadow:0 0 0 3px rgba(0,0,0,.06); }

  .pz-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 12px;
    height:44px;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.65);
    font-weight:950;
    cursor:pointer;
    text-decoration:none;
    color:inherit;
    user-select:none;
    white-space:nowrap;
    appearance:none; -webkit-appearance:none;
  }
  .pz-btn:focus{ outline:none; box-shadow:0 0 0 3px rgba(0,0,0,.06); }
  .pz-btn.primary{
    background:var(--site-primary, #111);
    border-color:rgba(0,0,0,.10);
    color:var(--site-on-primary, #fff);
  }

  @media(max-width:720px){
    .app-wrap{padding-bottom:calc(80px + 74px + env(safe-area-inset-bottom)) !important;}

    .bottom-bar{
      position:fixed !important;
      inset:auto 0 0 0 !important;
      z-index:98 !important;
      display:block !important;
      padding:0 10px calc(10px + env(safe-area-inset-bottom)) !important;
      background:transparent !important;
      box-sizing:border-box !important;
      transition:transform .24s ease, opacity .22s ease !important;
      will-change:transform,opacity !important;
    }
    .bottom-bar.is-hidden{
      transform:translateY(calc(100% + env(safe-area-inset-bottom) + 18px)) !important;
      opacity:0 !important;
      visibility:hidden !important;
      pointer-events:none !important;
    }
    .bottom-bar-in{
      width:100% !important;
      max-width:560px !important;
      margin:0 auto !important;
      display:grid !important;
      grid-template-columns:repeat(4,minmax(0,1fr)) !important;
      gap:10px !important;
      align-items:stretch !important;
      direction:rtl !important;
    }
    .bottom-bar .bb{
      min-width:0 !important;
      min-height:60px !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:center !important;
      justify-content:center !important;
      gap:4px !important;
      padding:9px 7px 8px !important;
      border-radius:18px !important;
      border:1px solid rgba(125,39,55,.12) !important;
      background:rgba(255,250,244,.97) !important;
      box-shadow:0 6px 14px rgba(90,38,32,.07) !important;
      text-decoration:none !important;
      color:#472126 !important;
      position:relative !important;
      overflow:hidden !important;
      box-sizing:border-box !important;
      transform:none !important;
      transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease !important;
    }
    .bottom-bar .bb .i{
      font-size:18px !important;
      line-height:1 !important;
      display:block !important;
    }
    .bottom-bar .bb .l{
      width:100% !important;
      font-size:11.4px !important;
      font-weight:900 !important;
      line-height:1.25 !important;
      text-align:center !important;
      white-space:nowrap !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
    }
    .bottom-bar .bb.on{
      background:linear-gradient(180deg,#fff7f5,#fffaf8) !important;
      border:2px solid rgba(154,24,42,.42) !important;
      color:#761321 !important;
      box-shadow:0 10px 22px rgba(130,22,38,.16), 0 0 0 3px rgba(154,24,42,.10) !important;
      transform:translateY(-2px) scale(1.01) !important;
    }
    .bottom-bar .bb.on .i{
      color:#af0f29 !important;
      transform:scale(1.06) !important;
    }
    .bottom-bar .bb.on .l{
      color:#761321 !important;
      font-weight:950 !important;
    }

    .sticky-cart{
      inset:auto 0 calc(94px + env(safe-area-inset-bottom)) 0 !important;
      z-index:97 !important;
      padding-left:10px !important;
      padding-right:10px !important;
      box-sizing:border-box !important;
      transition:bottom .24s ease, transform .24s ease, opacity .22s ease !important;
    }
    .sticky-cart.nav-hidden{
      inset:auto 0 calc(12px + env(safe-area-inset-bottom)) 0 !important;
    }
    .sticky-cart .inner{
      max-width:560px !important;
      width:100% !important;
      margin:0 auto !important;
      display:grid !important;
      grid-template-columns:minmax(0,1fr) auto !important;
      gap:8px !important;
      align-items:center !important;
      padding:5px 6px 5px 8px !important;
      border-radius:16px !important;
      background:rgba(255,250,244,.96) !important;
      box-shadow:0 10px 18px rgba(90,38,32,.08) !important;
      backdrop-filter:blur(10px) !important;
    }
    .sticky-cart .inner .meta{min-width:0 !important;}
    .sticky-cart .inner .meta .t{font-size:11.8px !important;line-height:1.15 !important;}
    .sticky-cart .inner .meta .s{font-size:10.2px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
    .sticky-cart .inner a,
    .sticky-cart .inner .btn,
    .sticky-cart .inner .pz-btn{
      min-width:90px !important;
      height:34px !important;
      border-radius:14px !important;
      padding:0 10px !important;
      font-size:11.8px !important;
    }

    #menu .plist{
      grid-template-columns:1fr !important;
      gap:12px !important;
    }
    #menu .pcard{border-radius:22px !important;}
    #menu .pimg{aspect-ratio:1 / .82 !important;}
    #menu .pbody{padding:10px 10px 6px !important;}
    #menu .ps{-webkit-line-clamp:2 !important;min-height:auto !important;}
  }

  @media(min-width:721px){
    .bottom-bar{display:none !important;}
  }

  .pz-method-card{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
  .pz-method-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.70);
    cursor:pointer;
    text-align:right;
    appearance:none; -webkit-appearance:none;
  }
  .pz-method-btn:focus{ outline:none; box-shadow:0 0 0 3px rgba(0,0,0,.06); }
  .pz-method-btn .l{ display:flex; flex-direction:column; gap:4px; min-width:0; }
  .pz-method-btn .l b{ font-weight:999; font-size:14px; }
  .pz-method-btn .l span{ font-weight:850; font-size:12.2px; color:var(--site-muted, rgba(0,0,0,.62)); line-height:1.8; }
  .pz-method-btn .r{ font-size:22px; flex:0 0 auto; }

  .pz-list{ display:flex; flex-direction:column; gap:10px; }
  .pz-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.70);
  }
  .pz-item .txt{ min-width:0; flex:1 1 auto; }
  .pz-item .txt .addr{
    font-weight:950;
    font-size:13.2px;
    line-height:1.7;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .pz-item .txt .sub{
    margin-top:2px;
    font-weight:850;
    font-size:12px;
    color:var(--site-muted, rgba(0,0,0,.62));
    line-height:1.7;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .pz-item .act{ display:flex; gap:8px; flex:0 0 auto; }

  .pz-icon{
    width:42px;
    height:42px;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.75);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    appearance:none; -webkit-appearance:none;
  }
  .pz-icon:focus{ outline:none; box-shadow:0 0 0 3px rgba(0,0,0,.06); }

  .pz-map-wrap{
    margin-top:10px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.10);
    overflow:hidden;
    background:rgba(255,255,255,.70);
  }

  .pz-modal-open,
  .pz-modal-open body{
    overflow:hidden;
  }

  @media(max-width:720px){
    .pz-modal{
      align-items:flex-end;
      justify-content:stretch;
      padding:10px 0 0;
      background:rgba(0,0,0,.28);
    }
    .pz-modal-card{
      width:100%;
      max-width:100%;
      border-radius:24px 24px 0 0;
      border-bottom-left-radius:0;
      border-bottom-right-radius:0;
      max-height:min(88vh, 760px);
      box-shadow:0 -12px 44px rgba(0,0,0,.18);
    }
    .pz-modal-head{
      position:sticky;
      top:0;
      z-index:2;
      padding:14px 14px 10px;
      background:#fafafa;
    }
    .pz-modal-head::before{
      content:"";
      position:absolute;
      right:50%;
      top:8px;
      transform:translateX(50%);
      width:44px;
      height:5px;
      border-radius:999px;
      background:rgba(0,0,0,.12);
    }
    .pz-modal-body{
      padding:12px 12px calc(16px + env(safe-area-inset-bottom));
      overflow:auto;
      max-height:calc(88vh - 66px);
    }
    .pz-branch-report{
      max-height:calc(56vh - 20px);
      font-size:12.6px;
      line-height:1.95;
      padding:12px 10px;
    }
    .pz-branch-actions{
      flex-direction:column;
    }
    .pz-branch-actions > *{
      width:100%;
      flex:0 0 auto;
    }
    .pz-row{
      flex-direction:column;
      align-items:stretch;
    }
    .pz-row > *{
      width:100%;
      flex:0 0 auto;
    }
    .pz-method-card{gap:8px}
    .pz-method-btn{padding:13px 12px;border-radius:16px}
    .pz-list{gap:8px}
    .pz-item{
      padding:12px;
      border-radius:16px;
      align-items:flex-start;
      cursor:pointer;
    }
    .pz-item .txt .addr{
      white-space:normal;
      line-height:1.6;
    }
    .pz-item .txt .sub{
      white-space:normal;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .pz-item .act{
      flex-direction:column;
      gap:6px;
    }
    .pz-icon{
      width:38px;
      height:38px;
      border-radius:14px;
      font-size:15px;
    }
    .pz-inp{
      min-height:46px;
      font-size:13px;
    }
    #pzMap{
      height:220px;
    }
    .pz-toast{
      inset:12px 0 auto 0;
    }
  }
  #pzMap{
    width:100%;
    height:260px;
  }
  @media(max-width:420px){
    #pzMap{ height:240px; }
  }
  .pz-map-hint{
    padding:10px 10px 0;
    font-size:12.2px;
    font-weight:850;
    color:rgba(0,0,0,.62);
    line-height:1.8;
  }

  .pz-quick-box{margin-top:12px;padding:12px;border-radius:18px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.72)}
  .pz-quick-box .l1{font-weight:999;font-size:13.4px;line-height:1.7}
  .pz-quick-box .l2{margin-top:4px;font-weight:850;font-size:12.2px;line-height:1.8;color:var(--site-muted, rgba(0,0,0,.62))}
  .pz-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
  .pz-quick-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:16px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.72);text-decoration:none;color:inherit;font-weight:950}
  .pz-select-wrap{margin-top:12px}
  .pz-select-wrap label{display:block;font-size:12.4px;font-weight:900;margin-bottom:6px;color:var(--site-muted, rgba(0,0,0,.62))}
  .pz-select-box{display:flex;align-items:center;gap:8px;padding:0 12px;height:46px;border-radius:16px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.78)}
  .pz-select-box select{width:100%;border:0;background:transparent;outline:none;font:inherit;font-weight:900;color:inherit;direction:rtl;appearance:none;-webkit-appearance:none}
  #pzQuickAddrBlock[hidden], #pzQuickGuestBlock[hidden], #pzQuickAuthLinks[hidden]{display:none!important}
  @media(max-width:720px){
    #pzQuickMenuModal{align-items:flex-end;padding:0;background:rgba(0,0,0,.24)}
    #pzQuickMenuModal .pz-modal-card{width:100%;max-width:560px;border-radius:22px 22px 0 0;max-height:min(84vh, 720px);overflow:auto;padding-bottom:calc(14px + env(safe-area-inset-bottom));}
    #pzQuickMenuModal .pz-modal-body{padding:12px 12px 18px}
  }

/* Footer shell moved from _index_parts/settings_ui.php in performance phase v13. */
.pz-footer{margin-top:14px}
.pz-footer-card{
  border:1px solid var(--site-border);
  border-radius:18px;
  background:rgba(255,255,255,.70);
  backdrop-filter:blur(10px);
  box-shadow:var(--site-shadow);
  overflow:hidden;
}
.pz-footer-top{padding:14px 14px 12px; display:flex; flex-direction:column; gap:10px}
.pz-footer-text{font-weight:900; font-size:13px; color:var(--site-text)}
.pz-footer-spacer{height:0}
@media(max-width:720px){ .pz-footer-spacer{height:130px} }
