.dokidoki-runtime-announcement {
  display:flex; align-items:center; gap:12px; width:100%; margin:0 0 16px; padding:11px 14px;
  border:1px solid #dbe5f2; border-radius:6px; background:#f7faff; color:#344054; font-size:12px;
}
.dokidoki-runtime-announcement__label { flex:none; padding:3px 8px; border-radius:4px; background:#155eef; color:#fff; font-size:10px; font-weight:700; }
.dokidoki-runtime-announcement__track { min-width:0; display:flex; gap:10px; align-items:center; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.dokidoki-runtime-announcement__track i { color:#98a2b3; font-style:normal; }
.dokidoki-runtime-upload { margin-top:8px; }
.dokidoki-runtime-upload button {
  min-height:38px; padding:0 14px; border:1px solid #cfd5dc; border-radius:6px; background:#fff; color:#344054; cursor:pointer; font-size:12px; font-weight:600;
}
.dokidoki-runtime-upload button:hover { border-color:#155eef; color:#155eef; }
.dokidoki-runtime-upload button:disabled { opacity:.6; cursor:wait; }
.dokidoki-runtime-notice { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; padding:20px; background:rgba(15,23,42,.48); backdrop-filter:blur(5px); }
.dokidoki-runtime-notice__card { position:relative; width:min(480px,100%); padding:28px; border-radius:10px; background:#fff; color:#101828; box-shadow:0 24px 60px rgba(15,23,42,.24); }
.dokidoki-runtime-notice__close { position:absolute; top:12px; right:12px; width:34px; height:34px; border:0; border-radius:6px; background:#f2f4f7; color:#475467; cursor:pointer; font-size:22px; }
.dokidoki-runtime-notice__kicker { display:block; margin-bottom:10px; color:#155eef; font-size:10px; font-weight:800; letter-spacing:.14em; }
.dokidoki-runtime-notice h3 { margin:0; padding-right:34px; font-size:20px; line-height:1.45; }
.dokidoki-runtime-notice p { margin:12px 0 0; color:#667085; font-size:13px; line-height:1.8; }
.dokidoki-runtime-notice a { display:inline-flex; margin-top:18px; color:#155eef; text-decoration:none; font-size:13px; font-weight:700; }
@media (max-width:640px) { .dokidoki-runtime-announcement__track span:nth-of-type(n+2){display:none;} }

.dokidoki-site-closed {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #111827;
  color: #eef2ff;
}
.dokidoki-site-closed__card {
  width: min(560px, 100%);
  text-align: center;
  padding: 44px 32px;
}
.dokidoki-site-closed__mark {
  width: 56px;
  height: 56px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #2563eb;
  color: #fff;
  font-size: 30px;
  font-weight: 800;
}
.dokidoki-site-closed__card h2 { margin: 0 0 12px; font-size: 28px; }
.dokidoki-site-closed__card p { margin: 0; color: #9fb0c9; line-height: 1.85; }

/* 20260912-logo2: complete site branding support */
.dokidoki-runtime-upload { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dokidoki-runtime-upload__clear { color:#667085 !important; }
.dokidoki-site-closed__mark img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.sider-brand .brand-logo img,
.drawer-brand .brand-logo img,
.seller-logo .logo-badge img { display:block; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; }
.seller-logo.doki-has-merchant-logo .logo-badge { width:auto !important; min-width:34px; max-width:150px; padding:2px 4px; background:transparent !important; }
.seller-logo.doki-has-merchant-logo .logo-badge img { max-width:142px; max-height:30px; }


/* 20260913: purchase agreement gate */
html.dokidoki-protocol-open, html.dokidoki-protocol-open body { overflow: hidden !important; }
.dokidoki-protocol {
  position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center;
  padding: 20px; background: rgba(5, 10, 20, .68); backdrop-filter: blur(7px);
}
.dokidoki-protocol__card {
  width: min(620px, 100%); max-height: min(760px, calc(100vh - 40px)); display: flex; flex-direction: column;
  padding: 26px; border: 1px solid rgba(148, 163, 184, .18); border-radius: 14px;
  background: #111c2d; color: #eef4ff; box-shadow: 0 30px 80px rgba(0,0,0,.38);
}
.dokidoki-protocol__card h3 { margin: 0; font-size: 20px; }
.dokidoki-protocol__intro { margin: 8px 0 16px; color: #9fb0c9; font-size: 13px; line-height: 1.75; }
.dokidoki-protocol__content {
  min-height: 150px; overflow: auto; padding: 17px 18px; border: 1px solid rgba(148,163,184,.16); border-radius: 9px;
  background: #0d1726; color: #d7e3f6; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.9;
}
.dokidoki-protocol__wait { margin: 12px 0 0; color: #93c5fd; font-size: 12px; line-height: 1.65; }
.dokidoki-protocol__consent.is-waiting { opacity: .55; cursor: not-allowed; }
.dokidoki-protocol__consent input:disabled { cursor: not-allowed; }
.dokidoki-protocol__consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 16px; color: #cbd8eb; font-size: 13px; cursor: pointer; }
.dokidoki-protocol__consent input { margin-top: 2px; accent-color: #3b82f6; }
.dokidoki-protocol__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.dokidoki-protocol__actions button { min-height: 42px; padding: 0 18px; border-radius: 8px; font-weight: 700; cursor: pointer; }
.dokidoki-protocol__cancel { border: 1px solid rgba(148,163,184,.22); background: transparent; color: #c6d3e6; }
.dokidoki-protocol__accept { border: 1px solid #3b82f6; background: #2563eb; color: #fff; }
.dokidoki-protocol__accept:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 640px) {
  .dokidoki-protocol { padding: 12px; }
  .dokidoki-protocol__card { max-height: calc(100vh - 24px); padding: 20px 16px; }
  .dokidoki-protocol__actions { display: grid; grid-template-columns: 1fr 1fr; }
}
