/* Ulu Sipariş — public stiller (menü, sipariş, masa paneli) */

.ulu-menu-wrap, .ulu-siparis-wrap, .ulu-table-panel {
	--ulu-bg:#0f172a;
	--ulu-card:#1e293b;
	--ulu-fg:#f8fafc;
	--ulu-muted:#94a3b8;
	--ulu-accent:#f59e0b;
	--ulu-border:#334155;
	--ulu-safe:#10b981;
	--ulu-warn:#f97316;
	--ulu-red:#ef4444;
	--ulu-wa:#25D366;
	font-family:'Plus Jakarta Sans', system-ui, sans-serif;
	background: var(--ulu-bg);
	color: var(--ulu-fg);
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px;
	border-radius: 20px;
	box-sizing: border-box;
}

/* Dijital menü için tam siyah arka plan — kart ve etiket renkleri korunur. */
.ulu-menu-wrap { --ulu-bg:#000; background:#000; }
.ulu-menu-wrap *, .ulu-siparis-wrap *, .ulu-table-panel *,
.ulu-menu-wrap *::before, .ulu-siparis-wrap *::before, .ulu-table-panel *::before,
.ulu-menu-wrap *::after, .ulu-siparis-wrap *::after, .ulu-table-panel *::after { box-sizing: border-box; }

.ulu-warn { padding:18px; background:#fff3cd; border:1px solid #ffc107; border-radius:8px; color:#856404; }
.ulu-error { padding:18px; background:#f8d7da; border:1px solid #f5c6cb; border-radius:8px; color:#721c24; text-align:center; }

/* ---- Menu header ---- */
.ulu-m-header { display:flex; justify-content:space-between; align-items:center; background:var(--ulu-card); padding:15px 25px; border-radius:20px; margin-bottom:20px; border:1px solid var(--ulu-border); }
.ulu-m-brand { display:flex; align-items:center; gap:12px; }
.ulu-m-brand i { background:var(--ulu-accent); color:#fff; padding:10px; border-radius:12px; font-size:20px; }
.ulu-m-brand-name { font-weight:800; font-size:18px; line-height:1; }
.ulu-m-brand small { display:block; font-size:10px; opacity:.5; text-transform:uppercase; margin-top:4px; }

.ulu-btn-call { background:var(--ulu-safe); color:#fff; text-decoration:none; padding:10px 20px; border-radius:30px; font-weight:600; font-size:13px; display:inline-flex; align-items:center; gap:8px; }
.ulu-btn-call:hover { transform:scale(1.05); box-shadow:0 5px 15px rgba(16,185,129,.3); color:#fff; }

/* ---- Tabs ---- */
.ulu-tabs { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding-bottom:20px; margin-bottom:10px; }
@media (max-width:768px) {
	/* Mobil/tablet: tüm kategoriler tek bakışta — düzenli ızgara, eşit genişlik, ortalı. */
	.ulu-tabs { display:grid !important; grid-template-columns:repeat(auto-fill, minmax(104px, 1fr)) !important; overflow:visible !important; gap:7px !important; padding:4px 4px 10px !important; margin-bottom:8px !important; }
	.ulu-tab { display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; white-space:normal !important; min-height:40px !important; padding:8px 8px !important; font-size:11px !important; gap:5px !important; border-radius:14px !important; border:2px solid rgba(245,158,11,.6) !important; letter-spacing:0 !important; line-height:1.2 !important; font-weight:600 !important; }
	.ulu-tab.active { border-color:var(--ulu-accent) !important; }
	.ulu-tab i { display:inline-block !important; font-size:10px !important; opacity:.8; flex:0 0 auto; }
	/* Brand header çok kompakt */
	.ulu-m-header { padding:6px 10px; margin-bottom:4px; border-radius:10px; }
	.ulu-m-brand i { font-size:14px; }
	.ulu-m-brand-name { font-size:12px; }
	.ulu-m-brand small { font-size:9.5px; }
	.ulu-btn-call { padding:5px 9px; font-size:10px; }
	/* Kategori section başlığı */
	.ulu-cat-title { font-size:.85rem; padding:4px 8px; gap:5px; border-radius:6px; }
	.ulu-cat-title i { width:20px; height:20px; font-size:10px; border-radius:5px; }
	.ulu-cat-section { margin-bottom:6px; }
}
.ulu-tab { background:linear-gradient(160deg, rgba(30,41,59,.95), rgba(15,23,42,.95)); border:2px solid rgba(245,158,11,.55); color:#e2e8f0; padding:10px 18px; border-radius:30px; white-space:nowrap; cursor:pointer; font-weight:600; transition:all .2s ease; font-size:13px; font-family:inherit; display:inline-flex; align-items:center; gap:7px; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.ulu-tab i { color:var(--ulu-accent); transition:color .2s ease; }
.ulu-tab:hover { border-color:var(--ulu-accent); color:#fff; transform:translateY(-2px); box-shadow:0 6px 16px rgba(245,158,11,.25); }
.ulu-tab.active { background:linear-gradient(135deg, #fbbf24, #f59e0b 55%, #d97706); color:#fff; border-color:#fcd34d; box-shadow:0 6px 22px rgba(245,158,11,.5); transform:translateY(-1px); }
.ulu-tab.active i { color:#fff; }

/* ---- Menu cards ---- */
.ulu-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; }
.ulu-grid.ulu-grouped { display:flex; flex-direction:column; gap:30px; }
.ulu-cat-section { display:flex; flex-direction:column; gap:16px; }
.ulu-cat-title { display:flex; align-items:center; gap:12px; font-size:1.3rem; font-weight:800; color:var(--ulu-fg); margin:0; padding:14px 20px; background:linear-gradient(90deg, rgba(245,158,11,.15), rgba(245,158,11,0)); border-left:4px solid var(--ulu-accent); border-radius:12px; letter-spacing:.04em; text-transform:uppercase; }
.ulu-cat-title i { background:var(--ulu-accent); color:#fff; width:42px; height:42px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 4px 12px rgba(245,158,11,.35); }
.ulu-cat-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; }
.ulu-card { position:relative; background:var(--ulu-card); border-radius:24px; padding:25px; border:1px solid var(--ulu-border); display:flex; flex-direction:column; gap:12px; transition:all .3s; overflow:hidden; }

/* Kart üzerinde admin düzenle/sil butonları */
.ulu-card-actions {
	position:absolute; top:10px; right:10px; z-index:5;
	display:flex; gap:6px;
	opacity:0; transition:opacity .2s;
}
.ulu-card:hover .ulu-card-actions,
.ulu-card:focus-within .ulu-card-actions { opacity:1; }
.ulu-card-act {
	width:32px; height:32px; border-radius:8px; border:0; cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center;
	font-size:12px; color:#fff;
	box-shadow:0 4px 12px rgba(0,0,0,0.25);
	transition:transform .15s, filter .15s;
}
.ulu-card-act:hover { transform:scale(1.08); filter:brightness(1.1); }
.ulu-card-act-edit { background:linear-gradient(135deg, #f59e0b, #d97706); }
.ulu-card-act-del  { background:linear-gradient(135deg, #ef4444, #b91c1c); }
/* Mobilde her zaman görünsün (hover yok) */
@media (max-width: 768px) { .ulu-card-actions { opacity:1; } }

/* Ürün arama çubuğu (admin) */
.ulu-search-wrap {
	display:flex; align-items:center; gap:10px;
	background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:10px;
	padding:8px 14px; margin:18px 0 8px;
}
.ulu-search-wrap i { color:var(--ulu-muted); font-size:14px; }
.ulu-search-wrap input {
	flex:1; min-width:0;
	background:transparent; border:0; outline:none;
	color:var(--ulu-fg); font-size:14px; font-family:inherit;
	padding:6px 0;
}
.ulu-search-wrap input::placeholder { color:var(--ulu-muted); }
.ulu-search-count { font-size:11px; color:var(--ulu-muted); font-weight:700; white-space:nowrap; }
.ulu-card:hover { border-color:var(--ulu-accent); transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,.3); }

/* Ürün resmi — kartın üst kısmında. iOS Safari uyumlu (aspect-ratio + padding fallback) */
.ulu-card-img {
	position:relative;
	margin:-25px -25px 12px;
	width:calc(100% + 50px);
	height:200px;            /* sabit yükseklik — aspect-ratio desteklemeyen tarayıcılar için */
	aspect-ratio:4 / 3;      /* destekleyenler için (yüksekliği override eder) */
	background:linear-gradient(135deg, rgba(245,158,11,0.08), rgba(217,119,6,0.04));
	border-bottom:1px solid var(--ulu-border);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
	flex-shrink:0;           /* flex parent içinde küçülmesini engelle (mobilde 0 olabiliyor) */
}
.ulu-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.ulu-card-img i { position:absolute; font-size:64px; color:rgba(245,158,11,0.25); }
.ulu-card-img img + i { display:none; }
.ulu-card-img-fallback img { display:none; }
.ulu-card-img-fallback i { display:block; }

/* Mobilde kartın padding'i değişirse margin negatifi de değişmeli */
@media (max-width: 768px) {
	.ulu-card { padding:18px; }
	.ulu-card-img { margin:-18px -18px 10px; width:calc(100% + 36px); height:170px; }
}
@media (max-width: 480px) {
	.ulu-card { padding:14px; }
	.ulu-card-img { margin:-14px -14px 8px; width:calc(100% + 28px); height:150px; }
	.ulu-card-img i { font-size:48px; }
}

.ulu-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.ulu-card-name { font-size:1.1rem; font-weight:800; color:#fff; line-height:1.3; flex:1; }
.ulu-card-price { font-size:1.1rem; font-weight:800; color:var(--ulu-accent); white-space:nowrap; }
.ulu-badge-safe { background:rgba(16,185,129,.1); color:#10b981; padding:6px 12px; border-radius:100px; font-size:11px; font-weight:700; display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(16,185,129,.2); }
.ulu-badge-row { display:flex; flex-wrap:wrap; gap:6px; }
.ulu-allergen { background:rgba(249,115,22,.08); border:1px solid rgba(249,115,22,.2); color:#fb923c; padding:12px 15px; border-radius:16px; font-size:11px; line-height:1.4; }
.ulu-allergen b { color:var(--ulu-warn); margin-right:5px; }
.ulu-empty-state { text-align:center; padding:60px 20px; color:var(--ulu-muted); grid-column:1 / -1; }
.ulu-empty-state i { font-size:48px; margin-bottom:15px; opacity:.3; display:block; }

/* ---- Admin controls / brand settings ---- */
.ulu-brand-settings, .ulu-admin-controls, .ulu-cat-box { background:var(--ulu-card); padding:20px; border-radius:15px; margin-bottom:20px; border:1px solid var(--ulu-border); }
.ulu-brand-settings h4, .ulu-cat-box-h { color:var(--ulu-accent); margin:0 0 12px 0; font-size:14px; letter-spacing:.05em; text-transform:uppercase; font-weight:700; }
.ulu-brand-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; align-items:end; }
.ulu-brand-grid label { font-size:11px; color:var(--ulu-muted); display:block; margin-bottom:4px; text-transform:uppercase; letter-spacing:.08em; }
.ulu-brand-grid input { width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--ulu-border); background:var(--ulu-bg); color:var(--ulu-fg); font-family:inherit; }
.ulu-admin-controls { display:flex; gap:15px; align-items:center; flex-wrap:wrap; }
.ulu-qr-wrap { display:flex; gap:8px; align-items:center; }
.ulu-qr-wrap input { padding:8px 12px; border-radius:8px; border:1px solid var(--ulu-border); background:var(--ulu-bg); color:var(--ulu-fg); font-family:inherit; min-width:240px; }
.ulu-cat-hint { color:var(--ulu-muted); font-size:11px; margin:4px 0 8px; }
.ulu-cat-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
/* "wide" sınıfı admin'de sidebar'ı bozmasın diye sadece konteyner içinde kalır — taşma yok. */
.ulu-cat-box-wide { width:100%; padding:14px 16px; }
.ulu-cat-list-wide { gap:6px; }
.ulu-cat-chip {
	background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.3);
	color:#c4b5fd; padding:3px 4px; border-radius:16px;
	font-size:11px; font-weight:600; display:inline-flex; align-items:center; gap:3px;
}
.ulu-cat-chip .ulu-cat-idx {
	background:#1e293b; color:#fcd34d; font-weight:800;
	padding:1px 5px; border-radius:8px; font-size:9.5px; min-width:18px; text-align:center;
}
.ulu-cat-chip .ulu-cat-name { padding:0 4px; color:#e9d5ff; letter-spacing:.02em; font-size:11px; }
.ulu-cat-chip .ulu-cat-move {
	background:#8b5cf6; border:none; color:#fff; cursor:pointer;
	font-size:9px; padding:0; border-radius:50%; line-height:1;
	width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center;
	transition:background .15s;
	font-family:inherit;
}
.ulu-cat-chip .ulu-cat-move:hover:not([disabled]) { background:#7c3aed; }
.ulu-cat-chip .ulu-cat-move[disabled] { background:#475569; opacity:.4; cursor:not-allowed; }
.ulu-cat-chip .ulu-cat-del {
	background:#ef4444; border:none; color:#fff; cursor:pointer;
	font-size:12px; padding:0; line-height:1;
	width:18px; height:18px; border-radius:50%;
	display:inline-flex; align-items:center; justify-content:center; font-weight:800;
	margin-left:1px;
	font-family:inherit;
}
.ulu-cat-chip .ulu-cat-del:hover { background:#dc2626; }

/* Her ürün kartına enjekte edilen AKTİF/PASİF toggle butonu (admin) */
.ulu-card { position:relative; }
.ulu-card-status-btn {
	position:absolute; top:8px; left:8px; z-index:4;
	background:#0f172a; border:1px solid #334155; cursor:pointer; padding:4px 6px;
	font-family:inherit; border-radius:18px;
	display:inline-flex; align-items:center; gap:6px;
	box-shadow:0 4px 12px rgba(0,0,0,.55);
	transition:transform .15s, border-color .15s;
}
.ulu-card-status-btn:hover { transform:scale(1.05); border-color:#f59e0b; }
.ulu-card-status-btn:disabled { opacity:.5; cursor:wait; }
.ulu-pill-on  { background:#10b981; color:#fff; padding:3px 9px; border-radius:12px; font-size:10px; font-weight:800; letter-spacing:.05em; display:inline-flex; align-items:center; gap:4px; }
.ulu-pill-off { background:#ef4444; color:#fff; padding:3px 9px; border-radius:12px; font-size:10px; font-weight:800; letter-spacing:.05em; display:inline-flex; align-items:center; gap:4px; }
.ulu-pill-action { color:#fcd34d; font-size:9.5px; font-weight:700; padding-right:4px; letter-spacing:.04em; }
.ulu-pill-action-on { color:#86efac; }
.ulu-card-passive { opacity:.55; filter:grayscale(.55); }
.ulu-card-passive:hover { opacity:.9; }
.ulu-card-passive::after {
	content:"PASİF — MÜŞTERİDE GİZLİ";
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-12deg);
	background:rgba(239,68,68,.92); color:#fff;
	padding:6px 14px; border-radius:6px; font-size:11px; font-weight:900; letter-spacing:.1em;
	box-shadow:0 4px 12px rgba(0,0,0,.4); pointer-events:none; z-index:2;
}

/* Pasif ürün kartı (sadece admin görür) */
.ulu-card-passive { opacity:.55; position:relative; }
.ulu-card-passive:hover { opacity:.85; }
.ulu-passive-badge { position:absolute; top:8px; left:8px; z-index:3; background:#475569; color:#fff; padding:3px 9px; border-radius:6px; font-size:10px; font-weight:800; letter-spacing:.06em; display:inline-flex; align-items:center; gap:5px; }
.ulu-card-act-toggle { color:#94a3b8 !important; }
.ulu-card-act-toggle:hover { color:#fff !important; background:#475569 !important; }

.ulu-btn { padding:8px 15px; border-radius:8px; border:none; cursor:pointer; font-weight:600; font-family:inherit; font-size:13px; transition:all .2s; display:inline-flex; align-items:center; gap:6px; color:#fff; }
.ulu-btn:hover { opacity:.85; transform:scale(1.02); }
.ulu-btn-add  { background:var(--ulu-safe); }
.ulu-btn-edit { background:var(--ulu-accent); }
.ulu-btn-del  { background:#ef4444; }
.ulu-btn-cat  { background:#8b5cf6; }
.ulu-btn-save { background:var(--ulu-safe) !important; }
.ulu-btn-cancel { background:#475569 !important; }
.ulu-hidden { display:none !important; }

/* ---- Admin table ---- */
.ulu-table { width:100%; border-collapse:collapse; background:var(--ulu-card); border-radius:15px; overflow:hidden; margin-top:20px; }
.ulu-table th { background:var(--ulu-border); color:var(--ulu-muted); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.ulu-table th, .ulu-table td { padding:15px; text-align:left; border-bottom:1px solid var(--ulu-border); }

/* ---- QR section ---- */
.ulu-qr-section { margin-top:40px; text-align:center; padding:30px; background:var(--ulu-card); border-radius:20px; border:1px solid var(--ulu-border); }
.ulu-qr-section h3 { color:var(--ulu-accent); margin-bottom:10px; }
.ulu-qr-box { background:#fff; padding:20px; border-radius:15px; display:inline-block; margin-top:10px; position:relative; }
.ulu-qr-box .ulu-qr-logo { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:22%; height:22%; background:#fff; padding:6px; border-radius:8px; box-shadow:0 0 0 3px #fff; object-fit:contain; pointer-events:none; }
.ulu-qr-link { margin-top:10px; word-break:break-all; color:var(--ulu-accent); font-weight:600; }
.ulu-qr-buttons { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; }
.ulu-chk-line { display:inline-flex; align-items:center; gap:8px; color:var(--ulu-fg); background:var(--ulu-bg); padding:10px 16px; border-radius:10px; border:1px solid var(--ulu-border); margin-top:8px; cursor:pointer; font-size:14px; }
.ulu-chk-line input { width:18px; height:18px; accent-color:var(--ulu-safe); }

/* ---- Modal ---- */
.ulu-modal { position:fixed !important; inset:0 !important; background:rgba(2,6,23,.92) !important; z-index:2147483646 !important; display:none; align-items:flex-start; justify-content:center; padding:20px; overflow-y:auto; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ulu-modal.open { display:flex !important; }
.ulu-modal-inner { background:#1e293b; color:#f8fafc; padding:26px; border-radius:20px; width:100%; max-width:560px; margin:auto; border:1px solid #334155; box-shadow:0 25px 60px rgba(0,0,0,.55); }
.ulu-modal-inner h2, .ulu-modal-inner h3 { margin:0 0 14px; color:#f8fafc; font-size:20px; font-weight:800; }
.ulu-modal-inner label { display:block; font-size:12px; color:#cbd5e1; margin:14px 0 6px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ulu-modal-inner input[type="text"], .ulu-modal-inner input[type="email"], .ulu-modal-inner input[type="tel"], .ulu-modal-inner select, .ulu-modal-inner textarea { width:100%; padding:12px 14px; background:#0f172a; color:#f8fafc; border:1px solid #334155; border-radius:10px; font-family:inherit; font-size:14px; }
.ulu-modal-inner textarea { resize:vertical; min-height:80px; }
/* Açılan <select> seçenekleri: bazı tarayıcı/işletim sistemi (Windows Chrome,
   koyu mod) option rengini koyu zeminde koyu basıp okunmaz yapıyor. Renkleri
   açıkça vererek her yerde okunur kıl. */
.ulu-modal-inner select option { background:#0f172a; color:#f8fafc; }
.ulu-modal-inner select option:checked,
.ulu-modal-inner select option:hover { background:#f59e0b; color:#0f172a; }
.ulu-modal-inner input:focus, .ulu-modal-inner textarea:focus, .ulu-modal-inner select:focus { outline:none; border-color:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.25); }
.ulu-modal-btns { display:flex; gap:10px; margin-top:18px; }
.ulu-modal-btns .ulu-btn { flex:1; padding:14px; border-radius:12px; font-weight:800; font-size:14px; justify-content:center; }
.ulu-error-msg { color:#ef4444; font-size:13px; font-weight:700; min-height:18px; margin-top:10px; text-align:center; }
.ulu-summary { background:#0f172a; border:1px solid #334155; border-radius:12px; padding:12px 14px; font-size:13px; max-height:180px; overflow-y:auto; margin:4px 0 10px; }
.ulu-summary div { display:flex; justify-content:space-between; padding:4px 0; color:#cbd5e1; }
.ulu-summary .ulu-tot { font-weight:800; color:#f59e0b; border-top:1px solid #334155; padding-top:8px; margin-top:6px; font-size:15px; }

.ulu-success-check { width:64px; height:64px; background:#10b981; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-size:30px; color:#fff; }
.ulu-success-info { color:#94a3b8; font-size:12px; margin-top:6px; }
.ulu-success-wa { background:#25D366; color:#fff; padding:14px; border-radius:12px; text-decoration:none; display:block; text-align:center; font-weight:800; font-size:15px; margin-top:14px; }
.ulu-success-wa:hover { filter:brightness(1.1); color:#fff; }

/* ---- Order page (sipariş) ---- */
.ulu-s-head { display:flex; align-items:center; gap:12px; background:var(--ulu-card); padding:14px 18px; border-radius:16px; border:1px solid var(--ulu-border); margin-bottom:14px; }
.ulu-s-head i { background:var(--ulu-accent); color:#fff; padding:10px; border-radius:10px; }
.ulu-s-head h2 { margin:0; font-size:18px; }
.ulu-s-head small { display:block; color:var(--ulu-muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; margin-top:2px; }
.ulu-s-tabs {
	/* Sabit DEĞİL — sayfayla birlikte yukarı kayar, ürünleri kapatmaz */
	position:static;
	padding:10px 4px 14px;
	margin-bottom:14px;
}
.ulu-s-tabs .ulu-tab.active {
	/* Aktif kategori — daha belirgin: kalın yazı, gradient, daha güçlü gölge */
	background:linear-gradient(135deg, var(--ulu-accent), #d97706);
	color:#fff;
	border-color:transparent;
	box-shadow:0 8px 24px rgba(245,158,11,0.45), inset 0 1px 0 rgba(255,255,255,0.2);
	font-weight:800;
	transform:scale(1.05);
}

/* Aktif kategori büyük başlığı — ürün listesinin üstünde, müşteri net görsün */
.ulu-s-cat-title {
	grid-column:1 / -1;
	display:flex; align-items:center; gap:10px;
	background:linear-gradient(135deg, rgba(245,158,11,0.12), rgba(217,119,6,0.04));
	border:1px solid rgba(245,158,11,0.25);
	border-left:4px solid var(--ulu-accent);
	color:var(--ulu-fg);
	font-size:16px; font-weight:800; letter-spacing:0.02em;
	padding:14px 18px;
	border-radius:12px;
	margin-bottom:4px;
}
.ulu-s-cat-title i { color:var(--ulu-accent); font-size:18px; }
.ulu-s-cat-count {
	color:var(--ulu-muted); font-size:12px; font-weight:600; margin-left:auto; white-space:nowrap;
}

@media (max-width: 480px) {
	.ulu-s-cat-title { font-size:15px; padding:12px 14px; gap:8px; }
	.ulu-s-cat-title i { font-size:16px; }
	.ulu-s-cat-count { font-size:11px; }
	.ulu-s-tabs .ulu-tab { padding:9px 14px; font-size:12.5px; }
	.ulu-s-tabs .ulu-tab.active { transform:scale(1.04); }
}
.ulu-s-layout { display:grid; grid-template-columns:1fr 340px; gap:18px; }
@media (max-width:900px) { .ulu-s-layout { grid-template-columns:1fr; } }
.ulu-s-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:12px; }
.ulu-s-item { background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px; overflow:hidden; }

/* Sipariş kartı içindeki ürün resmi — mobil-uyumlu */
.ulu-s-item-img {
	position:relative;
	margin:-14px -14px 4px;
	width:calc(100% + 28px);
	height:140px;                /* aspect-ratio destekleyen tarayıcılarda override edilir */
	aspect-ratio:16 / 10;
	background:linear-gradient(135deg, rgba(245,158,11,0.08), rgba(217,119,6,0.04));
	border-bottom:1px solid var(--ulu-border);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
	flex-shrink:0;
}
.ulu-s-item-img img { width:100%; height:100%; object-fit:cover; display:block; }
.ulu-s-item-img i { position:absolute; font-size:42px; color:rgba(245,158,11,0.3); }
.ulu-s-item-img img + i { display:none; }
.ulu-s-item-img-fallback img { display:none; }
.ulu-s-item-img-fallback i { display:block; }

.ulu-s-item-top { display:flex; justify-content:space-between; gap:8px; }
.ulu-s-item-name { font-weight:700; font-size:14px; line-height:1.25; flex:1; }
.ulu-s-item-price { color:var(--ulu-accent); font-weight:800; white-space:nowrap; }
.ulu-s-item-allergen { font-size:10px; color:#fb923c; background:rgba(249,115,22,.08); border:1px solid rgba(249,115,22,.2); padding:6px 8px; border-radius:8px; }

/* Mobilde daha kompakt resim */
@media (max-width: 480px) {
	.ulu-s-item-img { height:110px; }
	.ulu-s-item-img i { font-size:36px; }
}
.ulu-s-qty { display:flex; align-items:center; gap:8px; margin-top:auto; }
.ulu-s-qty button { width:32px; height:32px; border-radius:50%; border:1px solid var(--ulu-border); background:var(--ulu-bg); color:var(--ulu-fg); font:inherit; font-weight:800; cursor:pointer; }
.ulu-s-qty button:hover { background:var(--ulu-accent); border-color:var(--ulu-accent); }
.ulu-s-qty .ulu-s-qty-val { font-weight:800; min-width:18px; text-align:center; }
.ulu-s-add { flex:1; padding:8px 12px; background:var(--ulu-safe); color:#fff; border:none; border-radius:100px; font:inherit; font-weight:700; font-size:12px; cursor:pointer; }
.ulu-s-add:hover { filter:brightness(1.1); }

.ulu-cart { background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:16px; padding:16px; position:sticky; top:16px; align-self:start; }
@media (max-width:900px) { .ulu-cart { position:static; } }
.ulu-cart h3 { margin:0 0 12px; font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--ulu-muted); display:flex; align-items:center; gap:8px; }
.ulu-cart-count { margin-left:auto; background:var(--ulu-accent); color:#fff; padding:2px 10px; border-radius:100px; font-size:11px; }
.ulu-cart-list { max-height:280px; overflow-y:auto; margin:0 -4px 10px; padding:0 4px; }
.ulu-cart-row { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid var(--ulu-border); font-size:13px; }
.ulu-cart-row:last-child { border-bottom:none; }
.ulu-cart-row-name { font-weight:600; }
.ulu-cart-row-meta { font-size:11px; color:var(--ulu-muted); }
.ulu-cart-row-controls { display:flex; align-items:center; gap:4px; }
.ulu-cart-row-controls button { width:24px; height:24px; border-radius:50%; border:1px solid var(--ulu-border); background:var(--ulu-bg); color:var(--ulu-fg); cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
.ulu-cart-row-controls .ulu-qty-v { min-width:18px; text-align:center; font-weight:700; }
.ulu-cart-row-line { font-weight:800; color:var(--ulu-accent); text-align:right; min-width:64px; }
.ulu-totals { border-top:1px dashed var(--ulu-border); padding-top:10px; margin-bottom:12px; font-size:13px; }
.ulu-totals div { display:flex; justify-content:space-between; padding:3px 0; color:var(--ulu-muted); }
.ulu-totals .ulu-grand { color:var(--ulu-fg); font-weight:800; font-size:16px; border-top:1px solid var(--ulu-border); padding-top:8px; margin-top:4px; }
.ulu-totals .ulu-grand span:last-child { color:var(--ulu-accent); }
.ulu-ckbtn { width:100%; padding:14px; background:var(--ulu-accent); color:#fff; border:none; border-radius:12px; font:inherit; font-weight:800; font-size:14px; cursor:pointer; }
.ulu-ckbtn[disabled] { opacity:.4; cursor:not-allowed; }
.ulu-empty { text-align:center; color:var(--ulu-muted); font-size:12px; padding:20px 0; }

/* ---- Table panel (QR masa görünümü) ---- */
.ulu-table-main { background:#0f172a; min-height:80vh; padding:30px 16px 60px; }
.ulu-table-container { max-width:1100px; margin:0 auto; }
.ulu-table-hero { text-align:center; padding:30px 20px; background:linear-gradient(135deg, #0f172a, #1e293b); border:1px solid var(--ulu-border); border-radius:20px; margin-bottom:20px; }
.ulu-table-brand { color:var(--ulu-accent); text-transform:uppercase; letter-spacing:.2em; font-size:12px; font-weight:700; margin-bottom:6px; }
.ulu-table-no { font-size:32px; font-weight:800; color:var(--ulu-fg); display:flex; align-items:center; justify-content:center; gap:12px; }
.ulu-table-no i { color:var(--ulu-accent); }
.ulu-table-sub { color:var(--ulu-muted); margin-top:6px; font-size:13px; }

.ulu-table-actions { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-bottom:24px; transition:opacity .25s ease, transform .25s ease; }
.ulu-table-actions.ulu-actions-collapsed { opacity:.55; transform:scale(.96); }

/* Her buton kendi --ulu-btn-color CSS değişkenini taşır (PHP inline style ile gelir). */
.ulu-action-btn {
	--ulu-btn-color: var(--ulu-accent);
	background:var(--ulu-card);
	border:2px solid var(--ulu-border);
	border-radius:18px;
	padding:22px 18px;
	display:flex; flex-direction:column; align-items:center; gap:8px;
	color:var(--ulu-fg);
	cursor:pointer;
	font-family:inherit;
	transition:all .2s ease;
	position:relative;
	overflow:hidden;
}
.ulu-action-btn::before {
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(180deg, color-mix(in srgb, var(--ulu-btn-color) 20%, transparent), transparent 70%);
	pointer-events:none;
	opacity:.65;
}
@supports not (color: color-mix(in srgb, red, blue)) {
	.ulu-action-btn::before { background:linear-gradient(180deg, rgba(245,158,11,.15), transparent 70%); }
}
.ulu-action-btn:hover  { border-color:var(--ulu-btn-color); transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.25); }
.ulu-action-btn:active { transform:translateY(0); }

.ulu-action-btn i, .ulu-action-btn .ulu-action-label { position:relative; }
.ulu-action-btn i { font-size:34px; color:var(--ulu-btn-color); margin-bottom:4px; filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
.ulu-action-icon { width:54px; height:54px; object-fit:contain; position:relative; }
.ulu-action-label { font-weight:800; font-size:16px; color:#fff; }
.ulu-action-hint { font-size:11px; color:var(--ulu-muted); text-align:center; line-height:1.4; position:relative; }

.ulu-action-btn.ulu-loading { opacity:.6; pointer-events:none; }

/* "Menü Gör" butonu öne çıksın — geniş kolon, daha büyük gradient */
.ulu-action-btn.ulu-action-show_menu {
	grid-column: 1 / -1;
	padding:30px 22px;
}
.ulu-action-btn.ulu-action-show_menu i { font-size:42px; }
.ulu-action-btn.ulu-action-show_menu .ulu-action-label { font-size:20px; }

.ulu-table-feedback { text-align:center; padding:0 20px 20px; min-height:24px; color:var(--ulu-safe); font-weight:700; }

.ulu-table-back-row { margin:8px 0 18px; }
.ulu-back-btn { background:var(--ulu-card); border:1px solid var(--ulu-border); color:var(--ulu-fg); padding:10px 16px; border-radius:100px; font-family:inherit; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.ulu-back-btn:hover { border-color:var(--ulu-accent); color:var(--ulu-accent); }

/* Footer note */
.ulu-footer-note { text-align:center; margin-top:40px; padding:20px; color:var(--ulu-muted); font-size:12px; border-top:1px solid var(--ulu-border); }

/* HUB — [uluimza-qr] kombi shortcode (kayıt + giriş + menü + sipariş) */
.ulu-hub {
	--ulu-bg:#0f172a;
	--ulu-card:#1e293b;
	--ulu-fg:#f8fafc;
	--ulu-muted:#94a3b8;
	--ulu-accent:#f59e0b;
	--ulu-border:#334155;
	--ulu-safe:#10b981;
	font-family:'Plus Jakarta Sans', system-ui, sans-serif;
	background:var(--ulu-bg); color:var(--ulu-fg);
	max-width:1100px; margin:0 auto; padding:20px;
	border-radius:20px; box-sizing:border-box;
}
.ulu-hub *, .ulu-hub *::before, .ulu-hub *::after { box-sizing:border-box; }

.ulu-hub-head { display:flex; align-items:center; gap:16px; padding:16px 22px; background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:16px; margin-bottom:18px; flex-wrap:wrap; }
.ulu-hub-brand { display:flex; align-items:center; gap:12px; flex:1; min-width:200px; }
.ulu-hub-brand i { background:var(--ulu-accent); color:#fff; padding:14px 16px; border-radius:14px; font-size:20px; }
.ulu-hub-brand h2 { margin:0; font-size:18px; }
.ulu-hub-brand small { display:block; color:var(--ulu-muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-top:2px; }

.ulu-hub-tabs { display:flex; gap:6px; background:var(--ulu-bg); padding:4px; border-radius:100px; border:1px solid var(--ulu-border); }
.ulu-htab { background:transparent; border:none; color:var(--ulu-muted); padding:8px 18px; border-radius:100px; cursor:pointer; font-family:inherit; font-weight:700; font-size:13px; }
.ulu-htab.active { background:var(--ulu-accent); color:#fff; }

.ulu-hub-user { display:flex; align-items:center; gap:10px; }
.ulu-hub-user i { color:var(--ulu-safe); font-size:18px; }
.ulu-hub-user span { font-weight:700; color:var(--ulu-accent); }

/* Ana butonlar (tiles) */
.ulu-hub-tiles { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin-top:8px; }
.ulu-hub-tile {
	--ulu-tile-color: var(--ulu-accent);
	background:var(--ulu-card);
	border:2px solid var(--ulu-border);
	border-radius:20px;
	padding:30px 22px;
	display:flex; flex-direction:column; align-items:center; gap:10px;
	color:var(--ulu-fg);
	cursor:pointer;
	font-family:inherit;
	transition:all .2s ease;
	position:relative;
	overflow:hidden;
	min-height:170px;
}
.ulu-hub-tile::before {
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg, color-mix(in srgb, var(--ulu-tile-color) 22%, transparent), transparent 70%);
	pointer-events:none; opacity:.7;
}
@supports not (color: color-mix(in srgb, red, blue)) {
	.ulu-hub-tile::before { background:linear-gradient(180deg, rgba(245,158,11,.15), transparent 70%); }
}
.ulu-hub-tile:hover { border-color:var(--ulu-tile-color); transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,0,0,.28); }
.ulu-hub-tile i { font-size:46px; color:var(--ulu-tile-color); position:relative; filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
.ulu-hub-tile-label { font-size:18px; font-weight:800; color:#fff; position:relative; }
.ulu-hub-tile-hint { font-size:12px; color:var(--ulu-muted); text-align:center; line-height:1.4; position:relative; }

/* Geri (Ana Menü) butonu */
.ulu-hub-back { background:var(--ulu-card); border:1px solid var(--ulu-border); color:var(--ulu-fg); padding:10px 16px; border-radius:100px; font-family:inherit; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.ulu-hub-back:hover { border-color:var(--ulu-accent); color:var(--ulu-accent); }

/* Logout butonu */
.ulu-hub-logout { background:transparent; border:1px solid var(--ulu-border); color:var(--ulu-muted); padding:6px 14px; border-radius:100px; cursor:pointer; font-family:inherit; font-size:12px; margin-left:6px; }
.ulu-hub-logout:hover { border-color:#ef4444; color:#ef4444; }

/* Hesap pane içinde sekmeler */
.ulu-hub-acc-tabs { display:flex; gap:6px; background:var(--ulu-bg); padding:4px; border-radius:100px; border:1px solid var(--ulu-border); max-width:300px; margin:0 auto 18px; }
.ulu-hub-acc-pane { display:none; }
.ulu-hub-acc-pane.active { display:block; }

.ulu-hub-account-card { max-width:480px; margin:20px auto; padding:30px; background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:18px; text-align:center; }
.ulu-hub-account-card i { font-size:60px; color:var(--ulu-safe); }
.ulu-hub-account-card h3 { margin:14px 0 18px; font-size:18px; }
.ulu-hub-account-card p { margin:6px 0; color:var(--ulu-muted); }
.ulu-hub-account-card p strong { color:var(--ulu-fg); }
.ulu-hub-account-card button { margin-top:18px; padding:12px 24px; }

.ulu-hub-pane { display:block; }
.ulu-hub-pane[hidden] { display:none !important; }
.ulu-hub-form { max-width:460px; margin:10px auto 28px; padding:26px; background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:18px; }
.ulu-hub-form h3 { margin:0 0 14px; color:var(--ulu-fg); font-size:18px; display:flex; align-items:center; gap:8px; }
.ulu-hub-form h3 i { color:var(--ulu-accent); }
.ulu-hub-form label { display:block; margin:12px 0 6px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#cbd5e1; font-weight:700; }
.ulu-hub-form input { width:100%; padding:12px 14px; background:var(--ulu-bg); color:var(--ulu-fg); border:1px solid var(--ulu-border); border-radius:10px; font-family:inherit; font-size:14px; }
.ulu-hub-form input:focus { outline:none; border-color:var(--ulu-accent); box-shadow:0 0 0 3px rgba(245,158,11,.25); }
.ulu-hub-form button[type="submit"] { width:100%; margin-top:14px; padding:14px; font-size:14px; font-weight:800; justify-content:center; }
.ulu-hub-mini { font-size:11px; color:var(--ulu-muted); margin-top:10px; line-height:1.5; }

/* Garson paneli (frontend) */
.ulu-garson-panel {
	--ulu-bg:#0f172a;
	--ulu-card:#1e293b;
	--ulu-fg:#f8fafc;
	--ulu-muted:#94a3b8;
	--ulu-accent:#f59e0b;
	--ulu-border:#334155;
	--ulu-safe:#10b981;
	font-family:'Plus Jakarta Sans', system-ui, sans-serif;
	background:var(--ulu-bg); color:var(--ulu-fg);
	max-width:1100px; margin:0 auto; padding:22px;
	border-radius:20px; box-sizing:border-box;
}
.ulu-garson-panel *, .ulu-garson-panel *::before, .ulu-garson-panel *::after { box-sizing:border-box; }
.ulu-garson-head { display:flex; align-items:center; gap:14px; padding:16px 20px; background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:16px; margin-bottom:18px; }
.ulu-garson-head i { background:var(--ulu-accent); color:#fff; padding:12px 14px; border-radius:12px; font-size:20px; }
.ulu-garson-head h2 { margin:0; font-size:18px; }
.ulu-garson-head small { color:var(--ulu-muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.ulu-garson-user { margin-left:auto; display:flex; align-items:center; gap:10px; }
.ulu-garson-user span { font-weight:700; color:var(--ulu-accent); }

.ulu-garson-login { max-width:460px; margin:30px auto; padding:30px; background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:18px; }
.ulu-garson-login label { display:block; margin:14px 0 6px; font-size:12px; color:#cbd5e1; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ulu-garson-login input { width:100%; padding:12px 14px; background:var(--ulu-bg); color:var(--ulu-fg); border:1px solid var(--ulu-border); border-radius:10px; font-family:inherit; font-size:14px; }
.ulu-garson-login input:focus { outline:none; border-color:var(--ulu-accent); box-shadow:0 0 0 3px rgba(245,158,11,.25); }
.ulu-garson-login button { width:100%; margin-top:18px; padding:14px; font-size:14px; font-weight:800; justify-content:center; }

.ulu-garson-dash { display:flex; flex-direction:column; gap:20px; }
.ulu-garson-tables, .ulu-garson-reqs { background:var(--ulu-card); border:1px solid var(--ulu-border); border-radius:16px; padding:18px; }
.ulu-garson-tables h3, .ulu-garson-reqs h3 { margin:0 0 14px; font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--ulu-muted); display:flex; align-items:center; gap:8px; }
.ulu-garson-tables h3 i, .ulu-garson-reqs h3 i { color:var(--ulu-accent); }
.ulu-garson-tables-list { display:flex; flex-direction:column; gap:10px; }
.ulu-garson-table { display:flex; align-items:center; gap:10px 12px; flex-wrap:wrap; padding:12px 14px; background:var(--ulu-bg); border:1px solid var(--ulu-border); border-left-width:4px; border-radius:12px; font-size:14px; }
.ulu-garson-table i { color:var(--ulu-accent); }
.ulu-garson-table strong { font-size:17px; }
/* Dolu/boş sol kenar rengi */
.ulu-garson-table.ulu-gt-busy { border-left-color:#dc2626; }
.ulu-garson-table.ulu-gt-free { border-left-color:#16a34a; }
.ulu-garson-table.ulu-gt-passive { opacity:.55; }
/* Sol blok: ikon + ad + durum + doluluk (kendi içinde sarabilir) */
.ulu-gt-info { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; flex:1 1 auto; min-width:0; }
.ulu-gt-name { white-space:nowrap; }
.ulu-gt-occ { font-size:12px; font-weight:800; border-radius:999px; padding:3px 10px; white-space:nowrap; display:inline-flex; align-items:center; gap:5px; }
.ulu-gt-occ i { font-size:8px; }
.ulu-gt-occ-busy { color:#dc2626; background:#fef2f2; }
.ulu-gt-occ-busy i { color:#dc2626; }
.ulu-gt-occ-free { color:#16a34a; background:#f0fdf4; }
.ulu-gt-occ-free i { color:#16a34a; }
/* Sipariş Al butonu */
.ulu-gt-btn { margin-left:auto; background:#0891b2; color:#fff; white-space:nowrap; display:inline-flex; align-items:center; gap:6px; }
.ulu-gt-btn i { color:#fff; }
/* Mobil: buton tam genişlik alta insin, kart ferah dursun */
@media (max-width:560px) {
	.ulu-garson-table { padding:12px; }
	.ulu-gt-info { flex:1 1 100%; }
	.ulu-gt-btn { margin-left:0; width:100%; justify-content:center; padding:12px; font-size:15px; }
}

.ulu-garson-reqs-h { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:14px; }
.ulu-garson-reqs-h h3 { margin:0; }
.ulu-garson-reqs-h .ulu-toggle { color:var(--ulu-muted); font-size:12px; font-weight:600; display:flex; align-items:center; gap:6px; cursor:pointer; }

.ulu-garson-req-list, .ulu-garson-order-list { display:flex; flex-direction:column; gap:10px; max-height:60vh; overflow-y:auto; }
.ulu-garson-req { display:grid; grid-template-columns:auto 1fr auto auto; gap:14px; align-items:center; padding:14px 16px; background:var(--ulu-bg); border:1px solid var(--ulu-border); border-radius:12px; }
.ulu-garson-req.ulu-pending { border-color:var(--ulu-accent); background:linear-gradient(180deg, rgba(245,158,11,0.08), var(--ulu-bg)); animation:uluGarsonPulse 1.4s ease-in-out 1; }
.ulu-garson-req.ulu-completed { opacity:.55; }
.ulu-greq-table { font-size:14px; font-weight:800; color:var(--ulu-accent); min-width:78px; }
.ulu-greq-type { font-weight:700; color:var(--ulu-fg); font-size:13px; line-height:1.3; word-break:break-word; }
.ulu-greq-time { color:var(--ulu-muted); font-size:11px; }
.ulu-greq-done { padding:8px 14px; font-size:12px; }
@keyframes uluGarsonPulse {
	0% { transform:scale(1); }
	50% { transform:scale(1.01); box-shadow:0 0 0 6px rgba(245,158,11,.18); }
	100% { transform:scale(1); }
}

/* Hızlı Garson (müşteri hub'ı içinde) */
.ulu-quick-waiter { padding:10px 0; }
.ulu-quick-waiter-head { text-align:center; margin-bottom:22px; }
.ulu-quick-waiter-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 18px; border-radius:100px; background:linear-gradient(135deg, rgba(245,158,11,.18), rgba(245,158,11,.04)); border:1px solid rgba(245,158,11,.35); color:var(--ulu-accent); font-weight:800; letter-spacing:.04em; }
.ulu-quick-waiter-head p { margin:12px 0 0; font-size:13px; }
.ulu-quick-waiter-empty { text-align:center; padding:50px 20px; max-width:520px; margin:0 auto; background:var(--ulu-card); border:1px dashed var(--ulu-border); border-radius:18px; }
.ulu-quick-waiter-empty i { font-size:54px; color:var(--ulu-muted); margin-bottom:14px; display:inline-block; }
.ulu-quick-waiter-empty h3 { margin:0 0 10px; color:var(--ulu-fg); font-size:18px; }
.ulu-quick-waiter-empty p { margin:0; color:var(--ulu-muted); font-size:13px; line-height:1.6; }

/* Hızlı Garson — masa seçici */
.ulu-quick-waiter-picker { max-width:360px; margin:0 auto 20px; display:flex; flex-direction:column; gap:6px; }
.ulu-quick-waiter-picker label { font-size:11px; color:var(--ulu-muted); text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.ulu-quick-waiter-picker select { width:100%; background:var(--ulu-bg); color:var(--ulu-fg); border:1px solid var(--ulu-border); border-radius:12px; padding:12px 14px; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:border-color .15s; }
.ulu-quick-waiter-picker select:hover,
.ulu-quick-waiter-picker select:focus { border-color:var(--ulu-accent); outline:none; }
.ulu-table-actions.ulu-actions-disabled { opacity:.5; pointer-events:none; filter:saturate(.6); }

/* QR doğrulama modalı */
.ulu-no-scroll { overflow:hidden; }
.ulu-qrv-overlay { position:fixed; inset:0; background:rgba(2,6,23,.85); z-index:99999; display:flex; align-items:center; justify-content:center; padding:16px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ulu-qrv-modal { background:var(--ulu-card,#0f172a); color:var(--ulu-fg,#e2e8f0); border:1px solid var(--ulu-border,#1e293b); border-radius:18px; max-width:420px; width:100%; padding:22px; box-shadow:0 24px 60px rgba(0,0,0,.5); }
.ulu-qrv-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; gap:12px; }
.ulu-qrv-head h3 { margin:0; font-size:18px; display:flex; align-items:center; gap:10px; color:var(--ulu-accent,#f59e0b); }
.ulu-qrv-close { background:transparent; color:var(--ulu-muted,#94a3b8); border:none; font-size:28px; line-height:1; cursor:pointer; padding:0 6px; }
.ulu-qrv-close:hover { color:#ef4444; }
.ulu-qrv-note { margin:0 0 14px; color:var(--ulu-muted,#94a3b8); font-size:13px; line-height:1.55; }
.ulu-qrv-reader { width:100%; aspect-ratio:1/1; max-width:340px; margin:0 auto 12px; border-radius:14px; overflow:hidden; background:#000; border:2px solid var(--ulu-border,#1e293b); }
.ulu-qrv-reader video { width:100% !important; height:100% !important; object-fit:cover; }
.ulu-qrv-status { min-height:22px; text-align:center; font-size:13px; font-weight:600; color:var(--ulu-muted,#94a3b8); margin-bottom:10px; }
.ulu-qrv-actions { display:flex; justify-content:center; }

/* WhatsApp doğrulama kartı (talep sonrası) */
.ulu-wa-confirm { margin:18px auto 0; max-width:520px; padding:18px 20px; background:linear-gradient(135deg, rgba(37,211,102,.12), rgba(37,211,102,.04)); border:1px solid rgba(37,211,102,.4); border-radius:16px; text-align:center; }
.ulu-wa-confirm-head { font-weight:800; color:#25D366; font-size:15px; display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:6px; }
.ulu-wa-confirm p { color:var(--ulu-muted,#94a3b8); font-size:13px; margin:6px 0 14px; line-height:1.5; }
.ulu-btn-wa { background:#25D366 !important; color:#fff !important; border:none !important; padding:11px 20px; border-radius:100px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; margin-right:8px; }
.ulu-btn-wa:hover { background:#1ebe57 !important; }

/* Alarm durdur + bildirim izni butonları (garson paneli) */
.ulu-stop-alarm { background:#ef4444 !important; color:#fff !important; border:none; padding:8px 14px; border-radius:100px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-size:12px; animation:uluPulseStop 1.2s ease-in-out infinite; }
.ulu-stop-alarm:hover { background:#dc2626 !important; }
@keyframes uluPulseStop {
	0%, 100% { box-shadow:0 0 0 0 rgba(239,68,68,.55); }
	50%       { box-shadow:0 0 0 12px rgba(239,68,68,0); }
}
.ulu-perm-btn { padding:8px 14px; border-radius:100px; font-weight:700; font-size:12px; display:inline-flex; align-items:center; gap:6px; }

/* "Sesi aktive et" banner — autoplay unlock için */
.ulu-sound-activate {
	position:fixed; bottom:16px; left:50%; transform:translateX(-50%);
	background:linear-gradient(135deg,#f59e0b,#d97706);
	color:#fff; padding:12px 22px; border-radius:100px;
	font-weight:800; font-size:14px;
	box-shadow:0 12px 32px rgba(245,158,11,.4);
	z-index:99998; cursor:pointer;
	display:inline-flex; align-items:center; gap:10px;
	animation:uluSoundPulse 1.6s ease-in-out infinite;
}
.ulu-sound-activate:hover { transform:translateX(-50%) translateY(-2px); }
@keyframes uluSoundPulse {
	0%,100% { box-shadow:0 0 0 0 rgba(245,158,11,.55), 0 12px 32px rgba(245,158,11,.4); }
	50%      { box-shadow:0 0 0 16px rgba(245,158,11,0), 0 12px 32px rgba(245,158,11,.4); }
}

/* === MOBİL RESPONSİVE === */
@media (max-width: 768px) {
	.ulu-table-actions { grid-template-columns:1fr 1fr; gap:10px; }
	.ulu-action-btn { padding:18px 12px; min-height:120px; }
	.ulu-action-btn i { font-size:28px; }
	.ulu-action-btn .ulu-action-label { font-size:14px; }
	.ulu-action-btn .ulu-action-hint { font-size:10px; }

	.ulu-table-hero { padding:24px 16px; }
	.ulu-table-no { font-size:28px; }
	.ulu-table-brand { font-size:13px; letter-spacing:.15em; }

	.ulu-hub-tiles { grid-template-columns:1fr 1fr; gap:10px; }
	.ulu-hub-tile { padding:20px 12px; min-height:140px; }
	.ulu-hub-tile i { font-size:34px; }
	.ulu-hub-tile-label { font-size:14px; }
	.ulu-hub-tile-hint { font-size:11px; }

	.ulu-hub-head { flex-direction:column; align-items:stretch; gap:12px; padding:14px; }
	.ulu-hub-brand h2 { font-size:18px; }
	.ulu-hub-brand small { font-size:11px; }

	.ulu-s-layout { grid-template-columns:1fr; }
	/* Sepet çok kompakt — boşken neredeyse görünmesin, doluyken sadece ihtiyaç kadar yer alsın. */
	/* Sepet mobilde ekran altına sabit — kullanıcı en aşağı inmeden Sipariş Ver'e ulaşır. */
	.ulu-cart { position:sticky; bottom:0; z-index:40; padding:8px 12px; border-radius:14px 14px 0 0; background:var(--ulu-card); border:1px solid var(--ulu-border); box-shadow:0 -6px 20px rgba(0,0,0,.45); margin-top:10px; }
	.ulu-cart h3 { margin:0 0 3px; font-size:10px; gap:4px; letter-spacing:.05em; }
	.ulu-cart-count { padding:0 6px; font-size:9px; }
	.ulu-cart-list { max-height:90px; margin:0 -2px 3px; padding:0 2px; }
	.ulu-cart-list:empty { display:none; }
	.ulu-cart-row { padding:3px 0; font-size:10.5px; gap:4px; }
	.ulu-cart-row-name { font-size:11px; }
	.ulu-cart-row-meta { font-size:9px; }
	.ulu-cart-row-controls button { width:18px; height:18px; font-size:9px; }
	.ulu-cart-row-line { font-size:10.5px; min-width:44px; }
	.ulu-cart-empty { padding:4px 0; font-size:10px; color:var(--ulu-muted); text-align:center; }
	.ulu-cart-total, .ulu-cart-sub, .ulu-cart-tax { font-size:11px; padding:2px 0; }
	.ulu-s-grid { grid-template-columns:1fr 1fr; gap:8px; }
	.ulu-s-item { padding:10px; }
	.ulu-s-item-name { font-size:13px; }
	.ulu-s-item-price { font-size:12px; }

	/* Mobil tabs — düzenli ızgara, eşit genişlik, ortalı */
	.ulu-tabs { display:grid !important; grid-template-columns:repeat(auto-fill, minmax(104px, 1fr)) !important; overflow:visible !important; padding:4px 4px 10px !important; gap:7px !important; margin-bottom:8px !important; }
	.ulu-tab { display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; white-space:normal !important; min-height:40px !important; flex:0 0 auto !important; padding:8px 8px !important; font-size:11px !important; gap:5px !important; border-radius:14px !important; border:2px solid rgba(245,158,11,.6) !important; line-height:1.2 !important; font-weight:600 !important; }
	.ulu-tab.active { border-color:var(--ulu-accent) !important; }
	.ulu-tab i { display:inline-block !important; font-size:10px !important; opacity:.8; flex:0 0 auto; }

	.ulu-modal-inner { padding:18px; max-height:92vh; overflow-y:auto; }
	.ulu-modal-btns { flex-direction:column; gap:8px; }
	.ulu-modal-btns .ulu-btn { width:100%; }

	.ulu-garson-panel { padding:14px; }
	.ulu-garson-head { flex-direction:column; align-items:flex-start; gap:8px; }
	.ulu-garson-head h2 { font-size:16px; }
	.ulu-garson-reqs-h { flex-wrap:wrap; gap:6px; }
	.ulu-garson-reqs-h h3 { font-size:14px; }
	.ulu-garson-req { grid-template-columns:1fr; gap:5px; padding:10px 12px; }
	.ulu-greq-table { font-size:13px; }
	.ulu-greq-type { font-size:12px; }
	.ulu-greq-time { font-size:10px; }
	.ulu-garson-req .ulu-btn { padding:8px 10px; font-size:12px; }
	.ulu-garson-req-list, .ulu-garson-order-list { max-height:42vh; }

	.ulu-quick-waiter-empty { padding:30px 16px; }
	.ulu-quick-waiter-empty i { font-size:42px; }
	.ulu-quick-waiter-empty h3 { font-size:16px; }

	.ulu-qrv-modal { padding:16px; max-width:96vw; }
	.ulu-qrv-reader { max-width:100%; }
}

@media (max-width: 480px) {
	.ulu-table-actions { grid-template-columns:1fr; }
	.ulu-hub-tiles { grid-template-columns:1fr; }
	.ulu-s-grid { grid-template-columns:1fr; }

	/* QR / admin kontrol satırı — input 240px min-width yüzünden taşıyordu */
	.ulu-qr-wrap { flex-wrap:wrap; width:100%; }
	.ulu-qr-wrap input { min-width:0 !important; flex:1 1 100%; }
	.ulu-admin-controls { gap:8px; }
	.ulu-admin-controls .ulu-btn { flex:1 1 auto; justify-content:center; }
	/* iOS Safari auto-zoom önle — eklenti form input'ları font-size:16px alt sınır */
	[class*="ulu-"] input[type="text"],
	[class*="ulu-"] input[type="email"],
	[class*="ulu-"] input[type="tel"],
	[class*="ulu-"] input[type="password"],
	[class*="ulu-"] input[type="number"],
	[class*="ulu-"] input[type="search"],
	[class*="ulu-"] input[type="date"],
	[class*="ulu-"] input[type="time"],
	[class*="ulu-"] input[type="datetime-local"],
	[class*="ulu-"] input:not([type]),
	[class*="ulu-"] textarea,
	[class*="ulu-"] select {
		font-size: 16px !important;
	}
	/* Genel mobil — kompakt başlık ve form alanı */
	.ulu-hub-form { padding:18px; margin:8px auto 22px; }
	.ulu-hub-account-card { padding:22px; margin:14px auto; }
	.ulu-garson-login { padding:22px; margin:18px auto; }
	.ulu-modal-inner { padding:14px; }
}

/* iOS Safari address-bar / notch fix — full-screen elementler */
@supports (height: 100dvh) {
	.ulu-modal { min-height: 100dvh; }
	.ulu-qrv-overlay { min-height: 100dvh; }
}
@supports (padding: max(0px)) {
	body.ulu-fullbleed-takeover .ulu-fullbleed-host {
		padding-bottom: env(safe-area-inset-bottom);
	}
}

/* === FULL-BLEED ===
 * CSS-only breakout (50vw trick) bazı temalarda offset sorunu yapar.
 * Bunun yerine JS ile wrapper <body>'ye taşınıyor (ulu-bootstrap.js) →
 * tema container'ı bypass edilir, garantili tam genişlik.
 */
.ulu-fullbleed-host {
	width:100%; max-width:100%; margin:0 auto;
	box-sizing:border-box;
	background:transparent;
}
.ulu-fullbleed-host * { box-sizing:border-box; }
.ulu-fullbleed-host img, .ulu-fullbleed-host video { max-width:100%; height:auto; }

/* JS body-move başarılı olduğunda body'e işaret */
body.ulu-has-fullbleed { overflow-x:hidden; }

/* === Takeover modu: tema kabuğunu sıfırla, header/footer dışındaki boşlukları kaldır === */
body.ulu-fullbleed-takeover { margin:0 !important; }
body.ulu-fullbleed-takeover .wp-site-blocks {
	margin:0 !important; padding:0 !important; gap:0 !important; row-gap:0 !important;
}
body.ulu-fullbleed-takeover .ulu-fullbleed-host {
	margin:0 !important; padding:0 !important;
}

/* Sayfa başlığı / featured image / breadcrumb gibi her şeyi gizle (block + classic temalar) */
body.ulu-fullbleed-takeover .wp-block-post-title,
body.ulu-fullbleed-takeover .wp-block-post-featured-image,
body.ulu-fullbleed-takeover .wp-block-post-excerpt,
body.ulu-fullbleed-takeover .wp-block-post-author,
body.ulu-fullbleed-takeover .wp-block-post-date,
body.ulu-fullbleed-takeover .wp-block-breadcrumbs,
body.ulu-fullbleed-takeover .breadcrumbs,
body.ulu-fullbleed-takeover .entry-title,
body.ulu-fullbleed-takeover .page-title,
body.ulu-fullbleed-takeover .entry-header,
body.ulu-fullbleed-takeover .page-header,
body.ulu-fullbleed-takeover article > header,
body.ulu-fullbleed-takeover .post-thumbnail { display:none !important; }

/* Tema'nın boş içerik kapsayıcılarındaki padding'i sıfırla */
body.ulu-fullbleed-takeover .entry-content,
body.ulu-fullbleed-takeover .wp-block-post-content,
body.ulu-fullbleed-takeover .post-content,
body.ulu-fullbleed-takeover .page-content,
body.ulu-fullbleed-takeover .e-con-inner,
body.ulu-fullbleed-takeover .elementor-widget-container { padding:0 !important; margin:0 !important; }

/* Tema header'ının altındaki margin'i sıfırla — bizim wrapper hemen yanına yapışsın */
body.ulu-fullbleed-takeover .wp-block-template-part,
body.ulu-fullbleed-takeover header.wp-block-template-part > .wp-block-group {
	margin:0 !important;
}
body.ulu-fullbleed-takeover header.wp-block-template-part {
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}
/* Site footer kendi spacing'ini koruyabilir, sadece content-area sıfırlansın */
body.ulu-fullbleed-takeover main,
body.ulu-fullbleed-takeover .site-main,
body.ulu-fullbleed-takeover .content-area,
body.ulu-fullbleed-takeover #content,
body.ulu-fullbleed-takeover #main { margin:0 !important; padding:0 !important; }

/* Elementor wrapper'ları */
body.ulu-fullbleed-takeover .elementor,
body.ulu-fullbleed-takeover .elementor-section,
body.ulu-fullbleed-takeover .elementor-container,
body.ulu-fullbleed-takeover .e-con,
body.ulu-fullbleed-takeover .e-con > .e-con-inner { margin:0 !important; padding:0 !important; }

/* Tema content-area'daki ek wrapper'lar — sadece content alanı,
 * header/footer içindeki blok grupları etkilenmez. */
body.ulu-fullbleed-takeover main .wp-block-post-content,
body.ulu-fullbleed-takeover main .wp-block-group {
	padding:0 !important; margin:0 !important; gap:0 !important;
}
/* host'un kendisinde de hiç boşluk olmasın */
body.ulu-fullbleed-takeover > .ulu-fullbleed-host,
body.ulu-fullbleed-takeover .wp-site-blocks > .ulu-fullbleed-host {
	margin:0 !important; padding:0 !important;
}

/* ============================================================
   Dondurma Çeşidi Seçici — müşteri en fazla N çeşit seçer.
   Çentikli (checkmark) estetik kartlar; limit dolunca diğerleri kilitlenir.
   ============================================================ */
.ulu-ice-pick {
	background:linear-gradient(135deg, rgba(244,114,182,0.10), rgba(168,85,247,0.05));
	border:1px solid rgba(244,114,182,0.30);
	border-radius:16px;
	padding:16px 18px;
	margin-bottom:16px;
}
/* Başlık = tıkla-aç düğmesi (varsayılan KAPALI) */
.ulu-ice-head {
	width:100%;
	display:flex; align-items:center; gap:10px; flex-wrap:wrap;
	background:transparent; border:0; cursor:pointer; text-align:left;
	color:inherit; padding:0; font:inherit;
}
.ulu-ice-head > i.fa-ice-cream { color:#ec4899; font-size:20px; }
.ulu-ice-title { font-size:16px; font-weight:800; color:var(--ulu-fg); letter-spacing:0.02em; }
.ulu-ice-counter {
	margin-left:auto;
	display:inline-flex; align-items:center; gap:6px;
	background:#ec4899; color:#fff;
	font-size:12.5px; font-weight:800;
	padding:5px 12px; border-radius:999px;
	white-space:nowrap;
}
.ulu-ice-counter.is-full { background:#16a34a; }
.ulu-ice-caret { color:var(--ulu-muted); font-size:13px; transition:transform .2s; margin-left:4px; }
.ulu-ice-pick.is-open .ulu-ice-caret { transform:rotate(180deg); }
/* Gövde — görünürlük yalnızca .is-open ile (tema [hidden]'ı ezse bile sağlam) */
.ulu-ice-body { display:none; margin-top:14px; }
.ulu-ice-pick.is-open .ulu-ice-body { display:block; }
.ulu-ice-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
	gap:10px;
}
.ulu-ice-chip {
	position:relative;
	display:flex; align-items:center; gap:8px;
	background:var(--ulu-card);
	border:2px solid var(--ulu-border);
	border-radius:12px;
	padding:12px 14px;
	font-size:14px; font-weight:600; color:var(--ulu-fg);
	cursor:pointer;
	user-select:none;
	transition:border-color .15s, background .15s, transform .08s, box-shadow .15s;
}
.ulu-ice-chip:hover { border-color:#f9a8d4; transform:translateY(-1px); }
.ulu-ice-chip:active { transform:translateY(0); }
.ulu-ice-chip .ulu-ice-tick {
	flex:0 0 auto;
	width:22px; height:22px; border-radius:50%;
	border:2px solid var(--ulu-border);
	display:inline-flex; align-items:center; justify-content:center;
	color:transparent; font-size:12px;
	transition:background .15s, border-color .15s, color .15s, transform .15s;
}
.ulu-ice-chip .ulu-ice-name { line-height:1.2; }
.ulu-ice-chip.is-selected {
	border-color:#ec4899;
	background:linear-gradient(135deg, rgba(236,72,153,0.14), rgba(168,85,247,0.08));
	box-shadow:0 2px 10px rgba(236,72,153,0.18);
}
.ulu-ice-chip.is-selected .ulu-ice-tick {
	background:#ec4899; border-color:#ec4899; color:#fff;
	transform:scale(1.06);
}
.ulu-ice-chip.is-disabled {
	opacity:.42; cursor:not-allowed; filter:grayscale(.3);
}
.ulu-ice-chip.is-disabled:hover { border-color:var(--ulu-border); transform:none; }
.ulu-ice-hint { margin-top:12px; font-size:12.5px; color:var(--ulu-muted); }
@media (max-width:480px) {
	.ulu-ice-grid { grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:8px; }
	.ulu-ice-chip { padding:10px 12px; font-size:13px; }
	.ulu-ice-title { font-size:15px; }
}

/* ---- Dijital menü kartlarında dondurma çeşit seçici (tıkla-aç) ---- */
.ulu-mflavor { margin-top:10px; border-top:1px dashed var(--ulu-border); padding-top:10px; }
.ulu-mflavor-toggle {
	width:100%;
	display:flex; align-items:center; gap:8px;
	background:linear-gradient(135deg, rgba(236,72,153,0.12), rgba(168,85,247,0.06));
	border:1px solid rgba(236,72,153,0.30);
	color:var(--ulu-fg);
	font-size:13.5px; font-weight:800;
	padding:10px 12px; border-radius:10px;
	cursor:pointer; text-align:left;
	transition:background .15s, border-color .15s;
}
.ulu-mflavor-toggle:hover { border-color:#ec4899; }
.ulu-mflavor-toggle i.fa-ice-cream { color:#ec4899; }
.ulu-mflavor-count {
	margin-left:auto;
	background:#ec4899; color:#fff;
	font-size:11.5px; font-weight:800;
	padding:3px 9px; border-radius:999px; white-space:nowrap;
}
.ulu-mflavor.is-full .ulu-mflavor-count { background:#16a34a; }
.ulu-mflavor-caret { transition:transform .2s; color:var(--ulu-muted); font-size:12px; }
.ulu-mflavor.is-open .ulu-mflavor-caret { transform:rotate(180deg); }
/* Varsayılan KAPALI — görünürlük yalnızca .is-open sınıfıyla; tema CSS'i [hidden]'ı
   ezse bile bu kural geçerli kalır (mobilde "direk açık geliyor" sorununun çözümü). */
.ulu-mflavor-body { display:none; margin-top:10px; }
.ulu-mflavor.is-open .ulu-mflavor-body { display:block; }
.ulu-mflavor-grid {
	display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:8px;
}
.ulu-mflavor-chip {
	display:flex; align-items:center; gap:7px;
	background:var(--ulu-card);
	border:2px solid var(--ulu-border);
	border-radius:10px;
	padding:9px 10px;
	font-size:13px; font-weight:600; color:var(--ulu-fg);
	cursor:pointer; text-align:left;
	transition:border-color .15s, background .15s, transform .08s, box-shadow .15s;
}
.ulu-mflavor-chip:hover { border-color:#f9a8d4; transform:translateY(-1px); }
.ulu-mflavor-tick {
	flex:0 0 auto;
	width:20px; height:20px; border-radius:50%;
	border:2px solid var(--ulu-border);
	display:inline-flex; align-items:center; justify-content:center;
	color:transparent; font-size:11px;
	transition:background .15s, border-color .15s, color .15s, transform .15s;
}
.ulu-mflavor-chip.is-selected {
	border-color:#ec4899;
	background:linear-gradient(135deg, rgba(236,72,153,0.14), rgba(168,85,247,0.08));
	box-shadow:0 2px 8px rgba(236,72,153,0.18);
}
.ulu-mflavor-chip.is-selected .ulu-mflavor-tick {
	background:#ec4899; border-color:#ec4899; color:#fff; transform:scale(1.06);
}
.ulu-mflavor-chip.is-disabled { opacity:.4; cursor:not-allowed; filter:grayscale(.3); }
.ulu-mflavor-chip.is-disabled:hover { border-color:var(--ulu-border); transform:none; }
.ulu-mflavor-hint { margin-top:9px; font-size:12px; color:var(--ulu-muted); }
@media (max-width:480px) {
	.ulu-mflavor-grid { grid-template-columns:repeat(auto-fill, minmax(108px, 1fr)); gap:6px; }
	.ulu-mflavor-chip { padding:8px; font-size:12px; }
}

/* ---- Admin menü yönetimi: dondurma çeşitleri ekle/sil kutusu ---- */
.ulu-flavor-box .ulu-flavor-add {
	display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:10px 0 14px;
}
.ulu-flavor-box .ulu-flavor-add input[type="text"] {
	flex:1 1 220px; min-width:160px;
	padding:9px 12px; border:1px solid var(--ulu-border); border-radius:9px;
	background:var(--ulu-card); color:var(--ulu-fg); font-size:14px;
}
.ulu-flavor-box .ulu-flavor-msg { font-size:12.5px; font-weight:700; }
.ulu-flavor-tags { display:flex; flex-wrap:wrap; gap:8px; }
.ulu-flavor-tag {
	display:inline-flex; align-items:center; gap:7px;
	background:linear-gradient(135deg, rgba(236,72,153,0.12), rgba(168,85,247,0.06));
	border:1px solid rgba(236,72,153,0.30);
	border-radius:999px;
	padding:6px 8px 6px 13px;
	font-size:13px; font-weight:600; color:var(--ulu-fg);
}
.ulu-flavor-tag .ulu-flavor-del {
	width:20px; height:20px; border:0; border-radius:50%;
	background:rgba(220,38,38,0.12); color:#dc2626;
	font-size:15px; line-height:1; cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center;
	transition:background .15s, color .15s;
}
.ulu-flavor-tag .ulu-flavor-del:hover { background:#dc2626; color:#fff; }

/* Sepet satırında seçilen dondurma çeşitleri */
.ulu-cart-row-ice {
	margin-top:3px; font-size:12px; font-weight:600; color:#ec4899;
	display:flex; align-items:center; gap:5px; line-height:1.3;
}
.ulu-cart-row-ice i { font-size:11px; }
/* Sipariş kartı içindeki picker biraz daha derli toplu dursun */
.ulu-s-item .ulu-mflavor { margin-top:12px; }
