/* ai-chat-plus-upload.css */

/* =========================
   + button (inside pill)
   ========================= */
.plus-button{
  position: absolute;
  left: 7px;
  bottom: 7px;

  width: 36px;
  height: 36px;
  box-sizing: border-box;
  border-radius: 999px;
  corner-shape: round;

  border: 1px solid var(--color-border);
  background: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  transition: opacity .2s ease, border-color .2s ease, background-color .2s ease;
  padding: 0;
  margin: 0;

  z-index: 20;
}

.plus-icon{
  display: block;
  width: 20px;
  height: 20px;
  color: #111;
  line-height: 0;
  font-size: 0;
}
.plus-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
html:not([data-input="touch"]) .plus-button:hover{
  background: rgba(0, 0, 0, 0.05);
}

/* =========================
   + menu dropdown (Desktop only)
   ========================= */
.plus-menu{
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);

  box-sizing: border-box;
  width: fit-content;
  min-width: 180px;

  background: var(--color-bg-panel);
  border-radius: calc(12px * var(--corner-k));
  box-shadow: var(--menu-shadow);

  padding: 6px;

  display: none;
  flex-direction: column;
  gap: 2px;

  overflow: hidden;
  z-index: 30;
}

.plus-menu.show{
  display: flex;
}

/* Default: hide mobile-only button */
.plus-menu__item--mobile {
  display: none;
}

/* Mobile: show menu with merged Attachment button */
@media (hover: none) and (pointer: coarse) {
  .plus-menu__item--desktop {
    display: none !important;
  }
  .plus-menu__item--mobile {
    display: flex !important;
  }
}

/* Desktop: show separate buttons, hide mobile merged button */
@media (hover: hover) and (pointer: fine) {
  .plus-menu__item--desktop {
    display: flex;
  }
  .plus-menu__item--mobile {
    display: none !important;
  }
}

/* 拍照:桌面端也藏掉(WebRTC 自拍摄像头对珠宝设计无用,电脑用户上传文件即可;手机端本就走合并的 Attachment)。
   复合选择器 0,2,0 压过桌面的 .plus-menu__item--desktop{display:flex}(0,1,0),不用 !important */
.plus-menu__item--desktop.plus-menu__item--camera {
  display: none;
}

/* Attachment option buttons */
.plus-menu__item{
  width: 100%;
  height: 44px;

  display: flex;
  align-items: center;
  gap: 10px;

  padding: 0 12px;
  border: 0;
  background: transparent;
  border-radius: calc(12px * var(--corner-k) - 6px);   /* concentric: .plus-menu radius 12 - padding 6 (same rule as every other popup menu row) */

  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  text-align: left;
}

.plus-menu__icon {
  width: var(--icon-size);
  height: var(--icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.6);
}

/* The plus menu is a menu like any other: its icons take the app's regular size (owner 2026-09-15) */
.plus-menu__icon svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
.plus-menu__check svg { width: var(--icon-size-sm); height: var(--icon-size-sm); }

.plus-menu__label {
  color: #1a1a1a;
}
/* Ungated + token: :hover fires only on real hovering (media flags misreport
   on some machines); --color-bg-hover adapts to dark, no override needed */
html:not([data-input="touch"]) .plus-menu__item:hover,
html:not([data-input="touch"]) .plus-menu__item:active{
  background-color: var(--color-bg-hover);
}

/* === Fine-tune: + button 34x34 === */
.composer-row .plus-button{
  width: 34px;
  height: 34px;
  left: 7px;
}
