
:root{
  --bg-start:#f4e7ff; --bg-end:#ffe6f3; --text:#2a2533; --muted:#5a4d6f;
  --primary:#b07cff; --primary-2:#ffb3d1; --border:#eadff5; --accent:#cdb8ff;
  --shadow: 0 12px 28px rgba(139, 92, 246, .16);
}
html, body{ min-height:100%; background:linear-gradient(180deg, var(--bg-start) 0%, var(--bg-end) 100%);
  background-attachment:fixed; background-repeat:no-repeat; color:var(--text); }
.brand-icons{ display:flex; align-items:center; gap:.6rem; }
.brand-icons img{ width:50px; height:50px; border-radius:12px; object-fit:cover; box-shadow:0 6px 14px rgba(0,0,0,.08); }
.brand-title{ font-weight:800; letter-spacing:.2px; color:#3a2f4f; }
.box.pastel-card{ background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow); }
.pastel-label{ color:#3a2f4f; font-weight:700; font-size:.95rem; letter-spacing:.2px; }
.pastel-hint{ color:var(--muted); font-size:.85rem; }
.pastel-input, .pastel-textarea, .pastel-select select{ background:#fff; border:1px solid var(--border); color:var(--text); border-radius:12px; }
.pastel-input:focus, .pastel-textarea:focus, .pastel-select select:focus{ border-color:var(--primary); box-shadow:0 0 0 .25rem rgba(176,124,255,.15); }
.button.is-primary{ background:linear-gradient(180deg, var(--primary), #a46bff); border:1px solid #bfa3ff; }
.button.is-primary:hover{ filter:saturate(1.05) brightness(1.02); }
.button.is-light-rose{ background:linear-gradient(180deg, #ffd0e4, var(--primary-2)); border:1px solid #ffd6e8; color:#6b3250; }
.button.is-light-rose:hover{ filter:saturate(1.05) brightness(1.03); }
.button.is-light-gray{ background:linear-gradient(180deg, #f5f5f5, #e8e8e8); border:1px solid #dedede; color:#4a4a4a; }
.button.is-light-gray:hover{ filter:saturate(1.05) brightness(1.03); }
.image-box{ border:1px dashed var(--accent); border-radius:12px; display:grid; place-items:center; background:#fff; position:relative; overflow:hidden; }
.image-actions{ position:absolute; top:10px; right:10px; display:flex; gap:.5rem; }
.image-actions .button{ font-size:.95rem; padding:.5rem .7rem; }
.rest{ overflow:hidden; max-height:0; opacity:0; transform:translateY(8px); transition: opacity 220ms ease, max-height 320ms ease, transform 220ms ease; }
.rest.visible{ max-height: 3000px; opacity:1; transform: translateY(0); }
.overlay{ position:fixed; inset:0; display:none; place-items:center; z-index:50; background:rgba(0,0,0,.15); backdrop-filter:blur(2px); }
.overlay.show{ display:grid; }
.loader{ background:#fff; border:1px solid var(--border, #eadff5); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.15); padding:20px; display:flex; justify-content:center; align-items:center; min-width:100px; min-height:100px; transform:none !important; animation:none !important; }
.spinner{ width:34px; height:34px; border-radius:50%; border:3px solid #e8defc; border-top-color:#b07cff; animation:spin 900ms linear infinite; }
@keyframes spin{ to{ transform: rotate(360deg); } }
.toasts{ position:fixed; bottom:16px; left:50%; transform:translateX(-50%); z-index:60; display:grid; gap:10px; width:min(92vw,520px); }
.toast{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:12px 14px; box-shadow:var(--shadow); color:var(--text); font-weight:600; }
.toast.success{ border-color:#c7f2d8; }
.toast.error{ border-color:#ffd3d8; }
.disabled-area{ opacity:.55; pointer-events:none; filter:grayscale(.05); }
.chip{ display:inline-flex; align-items:center; gap:.4rem; font-size:.85rem; color:#6d5b8b; border:1px solid var(--border); background:#fff; padding:.25rem .6rem; border-radius:999px; }
.switch-wrap{ display:flex; align-items:center; gap:.75rem; }
.switch-toggle{ --h:28px; position:relative; width:56px; height:var(--h); background:#efe7ff; border:1px solid var(--accent); border-radius:var(--h); cursor:pointer; transition:all .18s ease; }
.switch-toggle .knob{ position:absolute; top:2px; left:2px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.08); transition:left .18s ease; }
.switch-toggle.on{ background:#e7fff1; border-color:#c7f2d8; }
.switch-toggle.on .knob{ left: calc(100% - 26px); }
.coupon-panel{ border:1px solid var(--border); background:#fff7fb; border-radius:12px; padding:.85rem; }
.actions-spaced{ margin-top:1.75rem; }

.range-panel{ border:1px solid var(--border, #eadff5); background:#fff7fb; padding:.5rem .7rem; border-radius:12px; display:flex; gap:16px; align-items:center; flex-wrap:nowrap; color: #555555 !important; }

.range-info{ margin-top:0.6rem !important; }

.level.actions-spaced{
  display: block !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}
.level.actions-spaced .level-left,
.level.actions-spaced .level-right{
  flex: 1 1 0 !important;
  display: flex !important;
}
/* Força alinhamentos nas pontas */
.level.actions-spaced .level-left{ justify-content: flex-start !important; float: left !important; }
.level.actions-spaced .level-right{ justify-content: flex-end !important; float: right !important; }

/* Evita que os botões se estiquem ou quebrem linha */
.level.actions-spaced .button{
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}
input::placeholder {
  color: gray !important;
  opacity: 1; /* For consistent appearance in Firefox */
}
@media (max-width: 768px) {
  .column {
    margin-top: -10px !important;
  }
  .variation-panel {
	margin-top: -35px !important;
  }
  .level.actions-spaced{
	  display: block !important;
	  justify-content: space-between !important;
	  align-items: center !important;
	  flex-wrap: nowrap !important;
	  width: 100% !important;
	}
	.level.actions-spaced .level-left,
	.level.actions-spaced .level-right{
	  flex: 1 1 0 !important;
	  display: flex !important;
	}
	/* Força alinhamentos nas pontas */
	.level.actions-spaced .level-left{ justify-content: flex-start !important; float: left !important; }
	.level.actions-spaced .level-right{ justify-content: flex-end !important; float: right !important; }

	/* Evita que os botões se estiquem ou quebrem linha */
	.level.actions-spaced .button{
	  white-space: nowrap !important;
	  flex: 0 0 auto !important;
	}
}