/* Checkbox/botão em cada card */
.sgb-add{
  display:inline-flex; align-items:center; gap:.5rem;
  margin-top:.6rem; padding:.35rem .6rem;
  border:1px solid #ddd; border-radius:10px; background:#fff; font-size:.95rem;
}
.sgb-add input{ accent-color:#222; }
.sgb-add.is-added{ border-color:#ffd32a; background:#fffbea; }
.sgb-add.is-disabled{ opacity:.6; pointer-events:none; }

/* Card inativo */
.gift--inactive{
  position: relative;
  filter: grayscale(1) brightness(.9);
  opacity:.75;
}
.gift--inactive::after{
  content:"УЖЕ ДАРЯТ";
  position:absolute; inset:8px; display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.45); color:#fff; font-weight:700; letter-spacing:.04em; border-radius:12px; text-transform:uppercase;
  pointer-events:none;
}

/* Botão flutuante */
.sgb-floating{
  position:fixed; right:16px; bottom:16px; z-index:9999;
}
.sgb-btn{
  width:56px; height:56px; border-radius:999px; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center; position:relative;
  background:#b5b5b5; color:#fff; box-shadow:0 6px 20px rgba(0,0,0,.12);
}
.sgb-btn .sgb-count{
  position:absolute; top:-6px; right:-6px; min-width:22px; height:22px; padding:0 6px;
  background:#333; color:#fff; border-radius:999px; font-size:.8rem; display:flex; align-items:center; justify-content:center;
}
.sgb-btn.is-active{ background:#ffdd2d; color:#222; animation:sgb-pulse 1.4s ease-in-out infinite; }
@keyframes sgb-pulse{
  0%{ box-shadow:0 0 0 0 rgba(255,221,45,.7); }
  70%{ box-shadow:0 0 0 14px rgba(255,221,45,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,221,45,0); }
}

/* Modal */
.sgb-modal[hidden]{ display:none !important; }
.sgb-modal .sgb-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.4);
}
.sgb-panel{
  position:fixed; right:0; top:0; bottom:0; width:min(380px, 92vw);
  background:#fff; z-index:10000; padding:18px; overflow:auto; box-shadow:-12px 0 30px rgba(0,0,0,.12);
}
.sgb-close{
  position:absolute; top:10px; right:10px; border:0; background:transparent; font-size:24px; cursor:pointer;
}
.sgb-tip{ color:#555; font-size:.95rem; }
.sgb-list{ margin:10px 0 16px; padding-left:16px; }
.sgb-list li{ margin:6px 0; }
.sgb-list code{ background:#f4f4f4; border-radius:6px; padding:2px 6px; margin-left:6px; font-size:.8rem; }

.sgb-form .sgb-row{ margin:.5rem 0; }
.sgb-form input{ width:100%; padding:.6rem .75rem; border:1px solid #ddd; border-radius:10px; }
.sgb-submit{
  width:100%; padding:.7rem 1rem; border:0; border-radius:12px; background:#222; color:#fff; cursor:pointer; margin-top:.5rem;
}
.sgb-msg{ min-height:1.2em; margin-top:.5rem; font-size:.95rem; }
.sgb-msg.ok{ color:#2f9e44; }
.sgb-msg.err{ color:#d63939; }

/* evita o stretch do flex container da coluna */
.elementor-column .sgb-add { 
  align-self: flex-start;   /* não esticar */
  flex: 0 0 auto;           /* não crescer */
  width: auto;              /* só o necessário */
  max-width: 100%;
}

.sgb-msg-header{
  margin-top: .6rem;
  font-weight: 700;
  font-size: 1.05rem;
  color: #2f9e44; /* mesmo tom de sucesso */
}
/* botão maior */
.sgb-btn{
  width: 64px;   /* padrão 56px */
  height: 64px;
}

/* ícone acompanha */
.sgb-btn .sgb-icon{
  font-size: 32px;   /* ajuste a gosto */
  line-height: 1;
}

/* badge do contador: reposiciona um pouquinho */
.sgb-btn .sgb-count{
  top: -8px;    /* era -6px */
  right: -8px;  /* era -6px */
}

/* centraliza o "Add to giftbox" dentro da coluna */
.elementor-column .sgb-add{
  align-self: center;       /* em vez de flex-start */
  margin: .6rem auto 0;     /* joga pro centro e dá um respiro em cima */
  flex: 0 0 auto;           /* garante que não estique */
}
.elementor-column .sgb-add{
  margin-left: auto;
  margin-right: auto;
}
/* Novo começa aqui */
.sgb-add.is-disabled{
  opacity: .6;
  pointer-events: none;
}
.sgb-add.is-disabled .sgb-check{
  cursor: not-allowed;
}
/* Novo termina aqui */
