/* =====================================================================
   รอบ 34: โลโก้ร้าน (Tenant.LogoKey → MediaUrl.For)
   - .brand-logo        : แถบเมนูซ้าย/หัวมือถือของหลังร้าน (MainLayout) แทน .brand-mark
   - .shop-logo-img     : หัวหน้าร้านออนไลน์ (ShopLayout) แทนตัวอักษรแรก
   - .doc-logo          : หัวเอกสารที่พิมพ์ (ใบเสร็จ/บิลค้าง .receipt-logo, เอกสาร A4 .dph-logo, กำไรขาดทุน .pl-logo)
   - .logo-*            : การ์ดโลโก้ในหน้าตั้งค่า + ชิปจำนวนวันของใบเสนอราคา
   ไม่มีโลโก้ = ไม่มี element เหล่านี้ → หน้าตาเดิมทุกอย่าง
   ===================================================================== */

/* ---------- หลังร้าน: แถบเมนู ----------
   แถบเมนูเป็นสีเข้มทั้งโหมดสว่าง/มืด → วางโลโก้บนพื้นสว่างขอบมน ให้โลโก้พื้นใสสีเข้มยังมองเห็น */
.brand-logo {
  flex: none; display: block; width: auto; height: 34px; max-width: 104px; object-fit: contain;
  padding: 3px; border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.mobile-bar .brand-logo.mobile-logo { height: 32px; max-width: 76px; border-radius: 8px; }
@media screen {
  html[data-theme="dark"] .brand-logo { background: #EDE4DC; box-shadow: none; }
}

/* ---------- หน้าร้านออนไลน์ ---------- */
.shop .shop-logo.shop-logo-img { display: block; object-fit: contain; padding: 3px; background: #fff; }
@media (max-width: 360px) {
  .shop .shop-logo.shop-logo-img { display: block; width: 30px; height: 30px; border-radius: 9px; }
}

/* ---------- เอกสารพิมพ์ (ร่วม) ---------- */
.doc-logo {
  display: block; flex: none; width: auto; height: auto; object-fit: contain;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}

/* ใบเสร็จ/บิลค้าง สลิป 80mm (.receipt-shop เป็นคอลัมน์กลาง): โลโก้กลางบนชื่อร้าน */
.receipt-logo { align-self: center; max-width: 60%; max-height: 56px; margin: 0 auto 4px; }
@media print {
  /* เครื่องพิมพ์ความร้อน: ขาวดำ คอนทราสต์ชัด */
  html:not([data-print="a4"]) .receipt-logo { filter: grayscale(1) contrast(1.15); }

  /* A4: โลโก้ซ้ายของชื่อร้าน ชื่อเอกสารชิดขวาเหมือนเดิม */
  html[data-print="a4"] .receipt-shop:has(.receipt-logo) { justify-content: flex-start; gap: 5mm; }
  html[data-print="a4"] .receipt-logo { align-self: flex-start; max-width: 45mm; max-height: 70px; margin: 0; }
  html[data-print="a4"] .receipt-shop:has(.receipt-logo) .receipt-doc { margin-left: auto; }
}

/* เอกสาร A4/สลิปของร้าน (ใบสั่งซื้อ ใบเสนอราคา เอกสารลูกหนี้ ฯลฯ): หัวกระดาษชุดเดียว <DocPaperHeader> → .dph-* ใน credit.css (รอบ 104) */

/* รายงานกำไรขาดทุน (หัวรายงานแสดงเฉพาะตอนพิมพ์) */
.pl-print-shop { display: block; }
@media print {
  html[data-print="pl"] .pl-print-head.has-logo { display: flex; align-items: center; gap: 5mm; }
  html[data-print="pl"] .pl-logo { max-width: 45mm; max-height: 70px; }
  html[data-print="pl"] .pl-print-title { min-width: 0; }
  html[data-print="pl"] .pl-print-shop { margin: 0 0 1mm; font-size: 11pt; font-weight: 700; color: #333; }
}

/* ---------- หน้าตั้งค่า: การ์ดโลโก้ ---------- */
@media screen {
  .logo-set { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-bottom: 10px; }
  .logo-preview {
    position: relative; flex: none; width: 132px; height: 132px; display: grid; place-items: center; overflow: hidden;
    border: 1px solid var(--line); border-radius: 16px;
    /* ตารางหมากรุก: เห็นส่วนที่โปร่งใสของโลโก้ */
    background-color: #fff;
    background-image: conic-gradient(#E8E4DF 25%, #fff 0 50%, #E8E4DF 0 75%, #fff 0);
    background-size: 16px 16px;
  }
  .logo-preview img { display: block; max-width: 86%; max-height: 86%; object-fit: contain; }
  .logo-preview.is-empty { background: var(--chip); border-style: dashed; border-width: 1.5px; }
  .logo-preview-empty {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px;
    color: var(--muted); font-size: .8rem; line-height: 1.3; text-align: center;
  }
  .logo-preview-busy { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(255,255,255,.65); }
  .logo-preview-busy::after {
    content: ""; width: 28px; height: 28px; border-radius: 50%;
    border: 3px solid rgba(var(--brand-rgb), .25); border-top-color: var(--brand); animation: logo-spin .8s linear infinite;
  }
  @keyframes logo-spin { to { transform: rotate(360deg); } }

  .logo-actions { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .logo-upload { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
  .logo-upload input[type="file"] {
    position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0;
  }
  .logo-upload:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
  .logo-upload.is-busy { opacity: .7; pointer-events: none; }
  .logo-remove { color: var(--danger); }
  .logo-confirm { display: flex; flex-wrap: wrap; gap: 6px; }
  .fitf-card .logo-actions > .logo-hint { margin: 0; }

  /* ใบเสนอราคา: ชิปจำนวนวันลัด */
  .logo-days { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -4px; }
  .logo-days .chip { font: inherit; padding: 4px 12px; font-size: .85rem; cursor: pointer; }

  html[data-theme="dark"] .logo-preview { border-color: var(--line); }
  html[data-theme="dark"] .logo-preview-busy { background: rgba(0,0,0,.45); }
}
@media screen and (max-width: 420px) {
  .logo-preview { width: 108px; height: 108px; }
}
