/* ============================================================================
   SUR KEBAP — QR Menü sayfası (menu.html) özel stilleri
   style.css içindeki ortak tasarım sistemi (renkler, fontlar) üzerine kurulur.
   ============================================================================ */

.menuPage{min-height:100vh}
.menuTop{position:sticky;top:0;z-index:40;background:rgba(8,8,8,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--soft)}
.menuTopInner{width:min(calc(100% - 32px),720px);margin:auto;padding:16px 0}
.menuTopRow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.menuBrand{display:flex;align-items:center;gap:10px}
.menuBrand .mark{width:38px;height:38px}
.menuBrand .mark span{font-size:14px}
.menuBrand b{font-family:var(--serif);font-size:15px;letter-spacing:.1em}
.backHome{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:8px 12px}
.searchRow{margin-top:14px}
.searchInput{width:100%;background:#131211;border:1px solid var(--soft);color:var(--paper);padding:12px 14px;font-size:13px;font-family:var(--sans)}
.searchInput:focus{outline:none;border-color:var(--gold)}
.menuTabsRow{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding-bottom:2px;scrollbar-width:none}
.menuTabsRow::-webkit-scrollbar{display:none}
.menuTabsRow .tab{white-space:nowrap;flex:none}
.menuBody{width:min(calc(100% - 32px),720px);margin:auto;padding:28px 0 100px}
.menuCatBlock{border-bottom:1px solid var(--soft)}
.menuCatBlock:last-child{border-bottom:0}
.menuCatHead{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.menuCatHead h2{font-family:var(--serif);font-size:22px;color:var(--gold);letter-spacing:.02em;margin:0}
.menuCatMeta{display:flex;align-items:center;gap:10px;flex:none}
.menuCatCount{min-width:22px;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:2px 8px;font-size:11.5px;color:#b9b2a5;font-variant-numeric:tabular-nums}
.menuCatChevron{display:inline-block;font-size:18px;line-height:1;color:var(--gold);transition:transform .2s ease}
.menuCatBlock.open .menuCatChevron{transform:rotate(90deg)}
.menuCatBlock .menuList{display:none;padding:2px 0 26px}
.menuCatBlock.open .menuList{display:grid;gap:12px}
.menuCard{display:grid;grid-template-columns:88px 1fr;gap:14px;background:#121110;border:1px solid rgba(255,255,255,.07);padding:12px}
.menuCard .thumb{width:88px;height:88px;background-size:cover;background-position:center;background-color:#1a1816}
.menuCardBody{min-width:0}
.menuCardTop{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.menuCardTop h3{font-family:var(--serif);font-size:18px;margin:0;line-height:1.2}
.menuCardTop .price{font-size:14px;color:var(--gold);white-space:nowrap;font-weight:600}
.menuTag{display:inline-block;color:var(--gold);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px}
.menuCard p{margin:4px 0 0;color:#8f887d;font-size:12.5px;line-height:1.45}
.menuEmpty{text-align:center;color:#847d72;font-size:13px;padding:50px 0}
.menuFooterCard{border:1px solid var(--line);padding:22px;display:grid;gap:10px;text-align:center;margin-top:20px}
.menuFooterCard b{font-family:var(--serif);font-size:18px;letter-spacing:.05em}
.menuFooterActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}
@media(max-width:420px){.menuCard{grid-template-columns:72px 1fr}.menuCard .thumb{width:72px;height:72px}}

/* ---------------------------------------------------------------------------
   Sepet / Sipariş Verme
   --------------------------------------------------------------------------- */
.addBtn{margin-top:10px;border:1px solid var(--line);background:transparent;color:var(--gold);padding:8px 12px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.addBtn:hover{background:var(--gold);color:#1a130a}
.addBtn:disabled{opacity:.7;cursor:default}

.cartBar{position:fixed;left:50%;bottom:18px;transform:translate(-50%,120%);z-index:60;display:flex;align-items:center;gap:14px;background:var(--gold);color:#17110a;border:none;padding:14px 20px;box-shadow:0 12px 40px rgba(0,0,0,.4);cursor:pointer;transition:transform .25s;font-family:var(--sans);width:min(92%,420px)}
.cartBar.show{transform:translate(-50%,0)}
.cartBarIcon{font-size:16px}
.cartBarText{font-size:12.5px;flex:1;text-align:left}
.cartBarCta{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}

.cartOverlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:70;opacity:0;pointer-events:none;transition:opacity .2s}
.cartOverlay.show{opacity:1;pointer-events:auto}
.cartPanel{position:fixed;right:0;top:0;bottom:0;width:min(420px,100%);background:#100f0d;border-left:1px solid var(--line);z-index:71;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column}
.cartPanel.show{transform:translateX(0)}
.cartPanelHead{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--soft);font-family:var(--serif);font-size:19px}
.cartClose{background:none;border:1px solid var(--soft);color:var(--paper);width:32px;height:32px;cursor:pointer}
.cartPanelBody{padding:20px;overflow-y:auto;flex:1}
.cartEmpty{color:#847d72;text-align:center;padding:40px 0;font-size:13px}

.cartRows{display:grid;gap:12px;margin-bottom:16px}
.cartRow{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.07);padding:10px;background:#141312}
.cartRowThumb{width:52px;height:52px;background-size:cover;background-position:center;background-color:#1e1c19}
.cartRowBody b{display:block;font-size:13.5px}
.cartRowBody span{display:block;color:#8f887d;font-size:11.5px;margin-top:2px}
.qtyStepper{display:flex;align-items:center;gap:8px}
.qtyStepper button{width:26px;height:26px;border:1px solid var(--soft);background:transparent;color:var(--paper);cursor:pointer;font-size:14px}
.qtyStepper span{min-width:16px;text-align:center;font-size:13px}
.cartWarn{color:#e0b366;font-size:12px;background:rgba(224,179,102,.1);border-left:2px solid var(--gold);padding:10px 12px;margin-bottom:14px}
.cartTotalRow{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--soft);font-size:14px;margin-bottom:14px}
.cartTotalRow b{color:var(--gold)}

.checkoutForm{display:grid;gap:16px}
.fieldGroup label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.fieldGroup input,.fieldGroup textarea{width:100%;background:#161513;border:1px solid var(--soft);color:var(--paper);padding:10px 12px;font-size:13.5px;font-family:var(--sans)}
.fieldGroup textarea{min-height:60px;resize:vertical}
.fieldGroup input:focus,.fieldGroup textarea:focus{outline:none;border-color:var(--gold)}
.radioRow{display:flex;gap:8px;flex-wrap:wrap}
.radioChip{border:1px solid var(--soft);padding:9px 13px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px}
.radioChip:has(input:checked){border-color:var(--gold);color:var(--gold)}
.radioChip input{accent-color:var(--gold)}
.checkoutSummary{display:flex;justify-content:space-between;font-size:13px;color:#a29a8b}
.checkoutSummary.total{border-top:1px solid var(--soft);padding-top:10px;font-size:15px;color:var(--paper)}
.checkoutSummary.total b{color:var(--gold)}
/* Onay kutusu — telefon ve adres doğrulama */
.confirmBox{display:flex;align-items:flex-start;gap:10px;background:rgba(197,160,90,.07);border:1px solid rgba(197,160,90,.25);border-radius:2px;padding:11px 13px;margin:6px 0 14px;cursor:pointer;font-size:12px;color:#c8bfb0;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:400}
.confirmBox input[type=checkbox]{width:16px;height:16px;flex:none;margin-top:1px;accent-color:var(--gold);cursor:pointer}
.confirmBox:has(input:checked){border-color:rgba(197,160,90,.6);background:rgba(197,160,90,.12);color:#e4ddd2}
.confirmBox b{color:var(--paper)}
@media(max-width:480px){.cartPanel{width:100%}}

