:root {
  color-scheme: light;
  --bg: #f5f1e8;
  --surface: #fffdf8;
  --surface-alt: #f8efe1;
  --ink: #22201c;
  --muted: #756d61;
  --line: #dfd4c4;
  --primary: #0d665f;
  --primary-dark: #07433f;
  --accent: #b8872d;
  --coral: #d55343;
  --green-soft: #dcefeb;
  --shadow: 0 18px 40px rgba(48, 38, 22, 0.11);
  --radius: 8px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --site-primary: #111111;
  --site-accent: #b98b2f;
  --site-bg: #fffaf1;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--font);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

[hidden] {
  display: none !important;
}

.eyebrow {
  margin: 0 0 7px;
  color: var(--primary-dark);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.login-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(24px, 6vw, 80px);
  align-items: center;
  padding: clamp(20px, 5vw, 64px);
  background:
    linear-gradient(100deg, rgba(18, 14, 9, 0.85) 0%, rgba(18, 14, 9, 0.6) 48%, rgba(18, 14, 9, 0.35) 100%),
    url("/img/login-admin.webp") center / cover no-repeat fixed,
    var(--bg);
}
/* sobre a foto, o texto é sempre claro e a logo é sempre a versão clara */
.login-screen .login-brand h1 { color: #f6efe0; }
.login-screen .eyebrow { color: var(--gold-soft, #d8b568); }
.login-screen .logo-on-light { display: none; }
.login-screen .logo-on-dark { display: block; }

.login-brand h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2.4rem, 8vw, 5.8rem);
  line-height: 0.94;
  letter-spacing: 0;
}

.login-box,
.panel,
.summary-grid > div,
.sidebar {
  background: rgba(255, 253, 248, 0.97);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.login-box {
  display: grid;
  gap: 16px;
  padding: 22px;
}

label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

input,
select {
  min-height: 42px;
  padding: 0 11px;
}

input[type="color"] {
  min-height: 44px;
  padding: 4px;
}

textarea {
  min-height: 78px;
  padding: 10px 11px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(13, 102, 95, 0.15);
}

.primary-button,
.ghost-button,
.small-button,
.icon-button,
.site-button,
.nav-whatsapp,
.hero-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 0 14px;
  font-weight: 900;
  letter-spacing: 0;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.primary-button {
  background: var(--primary);
  color: #fff;
}

.primary-button:hover {
  background: var(--primary-dark);
}

.ghost-button {
  background: rgba(255, 255, 255, 0.75);
  border-color: var(--line);
  color: var(--ink);
}

.ghost-button:hover,
.small-button:hover,
.icon-button:hover {
  border-color: var(--primary);
  color: var(--primary-dark);
}

.small-button {
  min-height: 34px;
  background: var(--surface-alt);
  border-color: var(--line);
  color: var(--ink);
  padding: 0 11px;
  font-size: 0.82rem;
}

.icon-button {
  width: 40px;
  min-width: 40px;
  padding: 0;
  background: var(--green-soft);
  border-color: rgba(13, 102, 95, 0.17);
  color: var(--primary-dark);
  font-size: 1.22rem;
}

.primary-button:active,
.ghost-button:active,
.small-button:active,
.icon-button:active,
.site-button:active {
  transform: translateY(1px);
}

.admin-shell {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 18px;
  align-content: start;
  padding: 22px;
  border-radius: 0;
  border-width: 0 1px 0 0;
  box-shadow: none;
}

.sidebar h1 {
  margin: 0;
  font-size: 1.7rem;
  line-height: 1;
}

.store-picker {
  min-width: 0;
}

.side-nav {
  display: grid;
  gap: 7px;
  align-content: start;
}

.side-nav a {
  display: flex;
  align-items: center;
  min-height: 38px;
  border-radius: 7px;
  padding: 0 11px;
  color: var(--muted);
  font-weight: 900;
}

.side-nav a.active,
.side-nav a:hover {
  background: var(--green-soft);
  color: var(--primary-dark);
}

.side-footer {
  display: grid;
  gap: 10px;
}

.admin-workspace {
  min-width: 0;
  display: grid;
  gap: 18px;
  align-content: start;
  padding: 22px clamp(16px, 3vw, 36px) 36px;
}

.workspace-top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.workspace-top h2,
.section-heading h3 {
  margin: 0;
  line-height: 1.05;
  letter-spacing: 0;
}

.workspace-top h2 {
  font-size: clamp(1.6rem, 3vw, 2.5rem);
}

.scan-box {
  width: min(100%, 620px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 8px;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.summary-grid > div {
  min-height: 86px;
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 14px;
}

.summary-grid span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.summary-grid strong {
  font-size: 1.35rem;
  line-height: 1.1;
}

.insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mini-panel {
  display: grid;
  gap: 12px;
}

.mini-panel h3 {
  margin: 0;
  font-size: 1.04rem;
}

.mini-panel ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mini-panel li {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 7px;
  background: var(--surface-alt);
}

.mini-panel li span {
  color: var(--muted);
  font-size: 0.84rem;
}

.grid-layout {
  display: grid;
  grid-template-columns: minmax(320px, 410px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.panel {
  padding: 18px;
}

.section-heading,
.table-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.product-form {
  display: grid;
  gap: 13px;
}

.field-with-button {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.field-with-button > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.two-columns,
.settings-grid,
.brand-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.toggle-row,
.form-actions,
.table-actions,
.row-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 800;
}

.inline-check input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--primary);
}

.field-check {
  align-content: end;
  min-height: 68px;
  padding-bottom: 9px;
}

.barcode-preview {
  min-height: 108px;
  padding: 13px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: #fff;
}

.barcode-preview svg {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
}

.thumb-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.thumb-button,
.mini-photo {
  width: 54px;
  height: 54px;
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
  background: var(--surface-alt);
}

.thumb-button {
  padding: 0;
}

.thumb-button img,
.mini-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mini-photo {
  display: grid;
  place-items: center;
  color: var(--primary-dark);
  font-weight: 900;
}

.table-panel {
  min-width: 0;
  padding-bottom: 0;
  overflow: hidden;
}

.table-actions {
  justify-content: flex-end;
}

.table-actions input {
  width: min(360px, 100%);
}

.found-box {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid rgba(13, 102, 95, 0.18);
  border-radius: 7px;
  background: rgba(220, 239, 235, 0.72);
}

.found-box.error {
  border-color: rgba(213, 83, 67, 0.25);
  background: #fae5df;
}

.found-box span {
  color: var(--muted);
  font-size: 0.9rem;
}

.table-wrap {
  width: calc(100% + 36px);
  margin: 0 -18px;
  overflow-x: auto;
}

table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

th,
td {
  padding: 13px 18px;
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

th {
  background: var(--surface-alt);
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

td {
  background: rgba(255, 253, 248, 0.78);
}

tbody tr:hover td {
  background: #fff8ed;
}

.product-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.detail-cell {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.82rem;
}

.code-cell {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86rem;
  font-weight: 900;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  margin: 2px 4px 2px 0;
  border-radius: 999px;
  padding: 0 9px;
  font-size: 0.74rem;
  font-weight: 900;
}

.badge.green {
  background: var(--green-soft);
  color: var(--primary-dark);
}

.badge.gray {
  background: #ebe6dc;
  color: #675f54;
}

.badge.gold {
  background: #f5e2b6;
  color: #7b5514;
}

.empty-state {
  display: none;
  padding: 34px 18px 38px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
}

.empty-state strong,
.empty-state span {
  display: block;
}

.empty-state strong {
  margin-bottom: 5px;
  color: var(--ink);
}

.settings-panel,
.templates-panel {
  scroll-margin-top: 20px;
}

.brand-grid {
  margin-top: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.price-toggle {
  align-content: end;
  min-height: 69px;
  padding-top: 24px;
}

.media-preview {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.logo-preview,
.hero-preview {
  min-height: 128px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
  background: #fff;
  color: var(--muted);
  font-weight: 900;
}

.logo-preview img,
.hero-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.template-card {
  min-height: 138px;
  display: grid;
  align-content: end;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.template-card:nth-child(1) {
  background: linear-gradient(135deg, #1c1714, #7b5a20);
  color: #fff;
}

.template-card:nth-child(2) {
  background: linear-gradient(135deg, #f9fffd, #cfe4e2);
}

.template-card:nth-child(3) {
  background: linear-gradient(135deg, #fff6f7, #e7c0c9 55%, #bfe6e1);
}

.template-card span {
  font-size: 1.08rem;
  font-weight: 950;
}

.template-card strong {
  font-size: 0.86rem;
  line-height: 1.32;
}

.template-card.active {
  outline: 3px solid rgba(13, 102, 95, 0.28);
  border-color: var(--primary);
}

.toast {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 96px;
  z-index: 10001;
  max-width: min(420px, calc(100vw - 36px));
  padding: 12px 18px;
  border-radius: 9px;
  background: #22201c;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  font-weight: 900;
  text-align: center;
}

#printArea {
  display: none;
}

.landing-page {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.94), rgba(245, 241, 232, 0.98)),
    repeating-linear-gradient(90deg, rgba(184, 135, 45, 0.06) 0 1px, transparent 1px 96px);
}

.landing-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px clamp(16px, 4vw, 54px);
  border-bottom: 1px solid rgba(223, 212, 196, 0.8);
  background: rgba(255, 253, 248, 0.88);
  backdrop-filter: blur(18px);
}

.landing-logo,
.landing-logo span,
.landing-nav > div,
.hero-actions,
.landing-cta > div {
  display: flex;
  align-items: center;
}

.landing-logo {
  gap: 10px;
  font-weight: 950;
}

.landing-logo span {
  width: 42px;
  height: 42px;
  justify-content: center;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-size: 0.82rem;
}

.landing-nav > div,
.hero-actions,
.landing-cta > div {
  gap: 12px;
  flex-wrap: wrap;
}

.landing-nav a {
  color: var(--muted);
  font-weight: 900;
}

.landing-nav a:hover {
  color: var(--primary-dark);
}

.landing-nav-cta {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--primary);
  color: #fff !important;
  padding: 0 13px;
}

.landing-hero {
  position: relative;
  min-height: calc(100vh - 72px);
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(38px, 8vw, 84px) clamp(16px, 5vw, 72px);
  background:
    linear-gradient(105deg, rgba(25, 23, 18, 0.92) 0%, rgba(25, 23, 18, 0.78) 45%, rgba(25, 23, 18, 0.44) 100%),
    linear-gradient(135deg, #1f1a15, #0d665f 48%, #b8872d);
  color: #fff;
}

.landing-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 26%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.22), transparent);
  pointer-events: none;
}

.landing-hero-copy {
  position: relative;
  z-index: 2;
  width: min(850px, 100%);
}

.landing-hero-copy .eyebrow {
  color: #f3d99a;
}

.landing-hero-copy h1 {
  margin: 0;
  max-width: 900px;
  font-size: clamp(2.6rem, 8vw, 6.7rem);
  line-height: 0.91;
  letter-spacing: 0;
}

.landing-hero-copy > span {
  display: block;
  max-width: 650px;
  margin: 20px 0 24px;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1rem, 2vw, 1.22rem);
  line-height: 1.58;
}

.landing-hero .ghost-button {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.24);
  color: #fff;
}

.landing-visual {
  position: absolute;
  right: clamp(-120px, -5vw, -40px);
  bottom: clamp(24px, 7vw, 70px);
  z-index: 1;
  width: min(48vw, 680px);
  min-width: 420px;
  min-height: 420px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255, 253, 248, 0.13);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.3);
  transform: rotate(-3deg);
}

.landing-visual-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 388px;
  object-fit: cover;
  border-radius: 16px;
}

.visual-top {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.visual-top span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.62);
}

.visual-dashboard {
  display: grid;
  grid-template-columns: 110px 1fr;
  min-height: 280px;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.94);
}

.visual-sidebar {
  background:
    linear-gradient(#0d665f 0 32px, transparent 32px 48px, #dcefeb 48px 62px, transparent 62px 78px, #f3e4c5 78px 92px, transparent 92px),
    #f8efe1;
}

.visual-main {
  padding: 18px;
}

.visual-metric {
  width: 72%;
  height: 38px;
  margin-bottom: 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, #0d665f, #b8872d);
}

.visual-metric.small {
  width: 46%;
  height: 18px;
  background: #e8dccb;
}

.visual-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.visual-grid div {
  min-height: 82px;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(184, 135, 45, 0.22), rgba(13, 102, 95, 0.12)),
    #fff;
  border: 1px solid #eadfce;
}

.visual-tags {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}

.visual-tags span {
  height: 42px;
  border-radius: 6px;
  background:
    repeating-linear-gradient(90deg, #111 0 3px, transparent 3px 7px),
    #fff;
  opacity: 0.86;
}

.landing-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--line);
}

.landing-strip > div {
  display: grid;
  gap: 7px;
  padding: 22px clamp(16px, 4vw, 42px);
  background: rgba(255, 253, 248, 0.88);
}

.landing-strip strong {
  font-size: 1.05rem;
}

.landing-strip span,
.landing-heading p,
.feature-list p {
  color: var(--muted);
  line-height: 1.55;
}

.landing-section {
  padding: clamp(34px, 6vw, 76px) clamp(16px, 5vw, 72px);
}

.landing-heading,
.positioning {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
  gap: clamp(20px, 5vw, 56px);
  align-items: start;
}

.landing-heading h2,
.positioning h2,
.feature-list h2,
.landing-cta h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3.6rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.comparison-grid article,
.demo-grid article,
.price-card,
.launch-offer,
.service-table,
.landing-cta {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 248, 0.9);
  box-shadow: var(--shadow);
}

.comparison-grid article {
  min-height: 128px;
  padding: 16px;
}

.comparison-grid article.highlight {
  background: var(--green-soft);
  border-color: rgba(13, 102, 95, 0.22);
}

.comparison-grid span,
.demo-grid h3,
.plan-label {
  font-weight: 950;
}

.comparison-grid p,
.demo-grid p,
.price-card p,
.price-card li {
  color: var(--muted);
  line-height: 1.46;
}

.demo-grid,
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.demo-grid article {
  overflow: hidden;
}

.demo-preview {
  height: 210px;
  border-bottom: 1px solid var(--line);
}

.classic-demo {
  background-image:
    linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05)),
    url('/img/aura-dourada.jpg');
  background-size: cover;
  background-position: center;
}

.minimal-demo {
  background-image: url('/img/mila-folheados.jpg');
  background-size: cover;
  background-position: center;
}

.boutique-demo {
  background-image: url('/img/bella-colecao.jpg');
  background-size: cover;
  background-position: center;
}

.demo-grid h3,
.demo-grid p,
.demo-grid a {
  margin-left: 16px;
  margin-right: 16px;
}

.demo-grid h3 {
  margin-top: 16px;
  margin-bottom: 8px;
}

.demo-grid a {
  display: inline-flex;
  margin-bottom: 16px;
  color: var(--primary-dark);
  font-weight: 950;
}

.pricing-section {
  background: rgba(255, 248, 237, 0.78);
}

.price-card {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.price-card.featured-plan {
  position: relative;
  border-color: rgba(13, 102, 95, 0.38);
  background:
    linear-gradient(180deg, rgba(220, 239, 235, 0.92), rgba(255, 253, 248, 0.96));
  transform: translateY(-10px);
}

.price-card h3 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1;
  letter-spacing: 0;
}

.price-card h3 span {
  font-size: 1rem;
  color: var(--muted);
}

.setup {
  margin: -6px 0 0;
  color: var(--primary-dark) !important;
  font-weight: 950;
}

.price-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.price-card li {
  position: relative;
  padding-left: 18px;
}

.price-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.price-card .primary-button,
.price-card .ghost-button {
  margin-top: auto;
}

.launch-offer {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  padding: 16px;
  background: #1f1c17;
  color: #fff;
}

.launch-offer span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.52;
}

.feature-list {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1fr);
  gap: clamp(20px, 5vw, 56px);
  align-items: start;
}

.feature-list > div:first-child p {
  max-width: 560px;
}

.service-table {
  display: grid;
  overflow: hidden;
}

.service-table div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 16px;
  border-top: 1px solid var(--line);
}

.service-table div:first-child {
  border-top: 0;
}

.service-table span {
  color: var(--muted);
}

.service-table strong {
  white-space: nowrap;
}

.landing-cta {
  margin: 0 clamp(16px, 5vw, 72px) clamp(34px, 6vw, 76px);
  padding: clamp(24px, 5vw, 48px);
  background:
    linear-gradient(135deg, rgba(13, 102, 95, 0.94), rgba(31, 28, 23, 0.96));
  color: #fff;
}

.landing-cta .eyebrow {
  color: #f3d99a;
}

.landing-cta h2 {
  max-width: 760px;
  margin-bottom: 18px;
}

.landing-cta .ghost-button {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff;
}

.site-page {
  background: var(--site-bg);
}

.public-nav {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px clamp(16px, 4vw, 48px);
  color: var(--site-primary);
}

.public-nav.classic {
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  color: #fff;
}

.public-nav > div {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.public-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-weight: 950;
}

.public-brand img,
.public-brand span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  color: var(--site-primary);
}

.public-brand span {
  display: grid;
  place-items: center;
}

.nav-whatsapp,
.site-button,
.hero-whatsapp {
  background: var(--site-accent);
  color: #fff;
}

.public-hero {
  min-height: 74vh;
  display: flex;
  align-items: center;
  padding: 96px clamp(18px, 5vw, 72px) 68px;
  background-size: cover;
  background-position: center;
}

.public-hero.no-photo {
  background:
    linear-gradient(105deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.2)),
    linear-gradient(135deg, var(--site-primary), var(--site-accent));
}

.hero-copy {
  width: min(760px, 100%);
  color: #fff;
}

.hero-copy p,
.boutique-copy p {
  margin: 0 0 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.hero-copy h1,
.minimal-header h1,
.boutique-copy h1 {
  margin: 0;
  max-width: 920px;
  font-size: clamp(2.4rem, 7vw, 6rem);
  line-height: 0.93;
  letter-spacing: 0;
}

.hero-copy span,
.boutique-copy span {
  display: block;
  max-width: 620px;
  margin: 18px 0 22px;
  font-size: clamp(1rem, 2vw, 1.22rem);
  line-height: 1.55;
}

.catalog-section {
  padding: clamp(28px, 5vw, 58px) clamp(16px, 4vw, 48px) 56px;
  background: var(--site-bg);
}

.catalog-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.catalog-heading h2 {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  letter-spacing: 0;
}

.catalog-note {
  max-width: 520px;
  margin: 0;
  color: color-mix(in srgb, var(--site-primary) 66%, #777);
  line-height: 1.5;
}

.filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.catalog-filter {
  color: color-mix(in srgb, var(--site-primary) 70%, #777);
}

.catalog-filter select {
  border-color: color-mix(in srgb, var(--site-primary) 16%, transparent);
}

.filter-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.filter-button {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--site-primary) 18%, transparent);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: var(--site-primary);
  padding: 0 12px;
  font-weight: 900;
}

.filter-button.active,
.filter-button:hover {
  background: var(--site-primary);
  color: #fff;
}

.public-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.public-card {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--site-primary) 14%, transparent);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.82);
}

.card-photo,
.feature-photo {
  width: 100%;
  object-fit: cover;
}

.card-photo {
  height: 265px;
}

.fallback-photo {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--site-accent) 24%, #fff), color-mix(in srgb, var(--site-primary) 18%, #fff));
  color: var(--site-primary);
  font-weight: 950;
}

.card-body {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.card-body span {
  color: var(--site-accent);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.card-body h3 {
  min-height: 48px;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.15;
}

.card-body p {
  min-height: 42px;
  margin: 0;
  color: color-mix(in srgb, var(--site-primary) 68%, #666);
  font-size: 0.9rem;
  line-height: 1.45;
}

.availability-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.availability-row small {
  color: color-mix(in srgb, var(--site-primary) 62%, #777);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 800;
}

.availability {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  border-radius: 999px;
  padding: 0 9px;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 950;
}

.availability.available {
  background: #0f766e;
}

.availability.reserved {
  background: #a66a00;
}

.availability.sold {
  background: #777;
}

.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

.card-footer strong {
  white-space: nowrap;
}

.card-footer a,
.card-footer button {
  min-height: 34px;
  border: 0;
  display: inline-flex;
  align-items: center;
  border-radius: 7px;
  background: var(--site-primary);
  color: #fff;
  padding: 0 11px;
  font-weight: 900;
  white-space: nowrap;
}

.product-modal[hidden] {
  display: none;
}

.product-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.54);
}

.modal-card {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  max-height: min(760px, calc(100vh - 40px));
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1fr);
  overflow: auto;
  border-radius: var(--radius);
  background: var(--site-bg);
  color: var(--site-primary);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: var(--site-primary);
  font-size: 1.45rem;
  line-height: 1;
}

.modal-photo,
.modal-media .fallback-photo {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.modal-copy {
  display: grid;
  gap: 12px;
  align-content: center;
  padding: clamp(20px, 4vw, 38px);
}

.modal-copy > span {
  color: var(--site-accent);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.modal-copy h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: 0;
}

.modal-copy p {
  margin: 0;
  color: color-mix(in srgb, var(--site-primary) 70%, #777);
  line-height: 1.55;
}

.modal-copy > strong {
  font-size: 1.35rem;
}

.modal-copy dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.modal-copy dl div {
  padding: 10px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.68);
}

.modal-copy dt {
  color: color-mix(in srgb, var(--site-primary) 56%, #888);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.modal-copy dd {
  margin: 4px 0 0;
  font-weight: 850;
}

.modal-open {
  overflow: hidden;
}

.minimal-header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr) auto;
  gap: 22px;
  align-items: end;
  padding: 42px clamp(16px, 4vw, 48px) 30px;
  border-top: 1px solid color-mix(in srgb, var(--site-primary) 16%, transparent);
}

.minimal-header p {
  margin: 0;
  color: color-mix(in srgb, var(--site-primary) 72%, #777);
  line-height: 1.55;
}

.minimal-header.has-photo {
  margin: clamp(16px, 3vw, 28px) clamp(16px, 4vw, 48px) 0;
  padding: clamp(60px, 11vw, 150px) clamp(24px, 4vw, 48px) clamp(28px, 4vw, 44px);
  border-top: none;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  color: #fff;
}

.minimal-header.has-photo p,
.minimal-header.has-photo .eyebrow {
  color: rgba(255, 255, 255, 0.92);
}

.boutique-hero {
  min-height: 70vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: clamp(18px, 4vw, 48px);
  align-items: center;
  padding: 34px clamp(16px, 4vw, 48px) 44px;
  color: var(--site-primary);
}

.boutique-copy span {
  color: color-mix(in srgb, var(--site-primary) 72%, #666);
}

.boutique-feature {
  display: grid;
  gap: 12px;
}

.feature-photo {
  height: min(56vh, 520px);
  border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--site-primary) 14%, transparent);
}

.boutique-feature strong {
  font-size: 1rem;
}

.public-empty,
.site-error {
  padding: 36px;
  border: 1px solid color-mix(in srgb, var(--site-primary) 14%, transparent);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.72);
}

.site-error {
  min-height: 100vh;
  display: grid;
  place-content: center;
  text-align: center;
}

.site-error h1 {
  margin: 0;
  font-size: clamp(2rem, 6vw, 4rem);
}

@media (max-width: 1200px) {
  .grid-layout,
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    min-height: auto;
    grid-template-columns: minmax(190px, 1fr) minmax(240px, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: end;
    border-width: 0 0 1px;
  }

  .side-nav {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
  }

  .side-footer {
    grid-template-columns: 1fr 1fr;
  }

  .public-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-grid .price-card:last-child {
    grid-column: 1 / -1;
  }

  .landing-visual {
    right: -210px;
    opacity: 0.82;
  }
}

@media (max-width: 860px) {
  .login-screen,
  .summary-grid,
  .insight-grid,
  .settings-grid,
  .brand-grid,
  .media-preview,
  .template-grid,
  .landing-strip,
  .landing-heading,
  .positioning,
  .demo-grid,
  .pricing-grid,
  .feature-list,
  .filter-panel,
  .minimal-header,
  .boutique-hero {
    grid-template-columns: 1fr;
  }

  .workspace-top,
  .section-heading,
  .table-heading,
  .catalog-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .field-with-button > div {
    grid-template-columns: 1fr;
  }

  .scan-box {
    grid-template-columns: 1fr auto;
  }
  .scan-box > #scanInput {
    grid-column: 1 / -1;
  }

  .public-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-nav {
    align-items: flex-start;
    flex-direction: column;
  }

  .landing-hero {
    min-height: auto;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .landing-visual {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    min-width: 0;
    min-height: 300px;
    margin-top: 26px;
    transform: none;
  }

  .visual-dashboard {
    grid-template-columns: 72px 1fr;
    min-height: 220px;
  }

  .comparison-grid {
    grid-template-columns: 1fr;
  }

  .price-card.featured-plan {
    transform: none;
  }

  .modal-card {
    grid-template-columns: 1fr;
  }

  .modal-photo,
  .modal-media .fallback-photo {
    min-height: 340px;
  }

  .pricing-grid .price-card:last-child {
    grid-column: auto;
  }

  .public-nav {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-nav.classic {
    position: relative;
    color: var(--site-primary);
  }

  .public-hero {
    min-height: 64vh;
    padding-top: 46px;
  }
}

@media (max-width: 620px) {
  .sidebar {
    grid-template-columns: 1fr;
  }

  .two-columns,
  .public-grid {
    grid-template-columns: 1fr;
  }

  .landing-nav > div,
  .hero-actions,
  .landing-cta > div,
  .service-table div,
  .modal-copy dl {
    display: grid;
    grid-template-columns: 1fr;
  }

  .landing-nav > div {
    width: 100%;
  }

  .landing-nav > div a,
  .landing-nav-cta {
    width: 100%;
    min-height: 38px;
  }

  .topbar-actions,
  .table-actions,
  .form-actions,
  .side-footer {
    display: grid;
    grid-template-columns: 1fr;
  }

  .card-photo {
    height: 300px;
  }
}

@page {
  size: A4;
  margin: 7mm;
}

@media print {
  body {
    background: #fff;
  }

  body > :not(#printArea) {
    display: none !important;
  }

  #printArea {
    display: grid;
    grid-template-columns: repeat(3, 62mm);
    gap: 3mm;
    align-content: start;
  }

  .print-label {
    width: 62mm;
    height: 29mm;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1mm;
    padding: 2.4mm 3mm;
    border: 0.2mm solid #c7c7c7;
    color: #000;
    break-inside: avoid;
    page-break-inside: avoid;
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
  }

  .print-label strong {
    display: block;
    max-width: 100%;
    font-size: 8.5pt;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .print-label svg {
    width: 100%;
    height: 12mm;
  }

  .label-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3mm;
    align-items: end;
    font-size: 7.2pt;
    line-height: 1;
  }

  .label-code {
    overflow: hidden;
    font-family: "Courier New", monospace;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .label-price {
    font-weight: 800;
    white-space: nowrap;
  }
}

/* ===== Template 1: Essencia Premium (estilo Monte Carlo) ===== */
.tpl-essencia{--ink:#14110c;--gold:var(--site-accent,#b98b2f);--gold-soft:#d9b86a;--cream:var(--site-bg,#fffaf1);--eline:rgba(20,17,12,.12);font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
.tpl-essencia *{box-sizing:border-box}
.tpl-essencia a{color:inherit;text-decoration:none}
.tpl-essencia .ess-wrap{max-width:1220px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.ess-brand,.ess-section-title,.ess-band-copy h3,.ess-card h4,.ess-foot-brand{font-family:'Cormorant Garamond',serif;font-weight:600}
.ess-topbar{background:var(--ink);color:#f4ead2;font-size:12.5px;letter-spacing:.05em}
.ess-topbar .ess-wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:16px}
.ess-topbar a{color:var(--gold-soft)}
.ess-nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--cream) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--eline)}
.ess-nav .ess-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:78px}
.ess-menu{display:flex;gap:26px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.ess-menu a:hover{color:var(--gold)}
.ess-brand{text-align:center;font-size:1.7rem;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.ess-icons{display:flex;gap:18px;justify-content:flex-end}
.ess-icons a:hover{color:var(--gold)}
.ess-hero{position:relative;min-height:80vh;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center}
.ess-hero.no-photo{background:linear-gradient(105deg,rgba(10,8,5,.92),rgba(10,8,5,.5)),linear-gradient(135deg,var(--ink),var(--gold))}
.ess-hero .ess-wrap{width:100%;padding-top:40px;padding-bottom:40px}
.ess-eyebrow{letter-spacing:.34em;text-transform:uppercase;font-size:.72rem;color:var(--gold-soft);margin:0}
.ess-hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.6rem,5.2vw,4.6rem);line-height:1.04;max-width:15ch;margin:16px 0 0}
.ess-sub{margin:20px 0 30px;max-width:48ch;font-weight:300;font-size:1.06rem;color:rgba(255,255,255,.87)}
.ess-btn{display:inline-block;padding:15px 32px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.ess-btn-gold{background:var(--gold);color:#1a1408;font-weight:500}
.ess-btn-gold:hover{background:var(--gold-soft)}
.ess-btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;margin-left:10px}
.ess-btn-ghost:hover{background:rgba(255,255,255,.12)}
.ess-section-eyebrow{letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin:0}
.ess-section-title{font-size:clamp(2rem,4vw,2.9rem);margin:8px 0 0}
.ess-cats{padding:70px 0 6px;text-align:center}
.ess-cat-row{display:flex;justify-content:center;gap:clamp(14px,4vw,50px);flex-wrap:wrap;margin-top:38px}
.ess-cat{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:14px;width:112px;color:var(--ink);font-family:inherit}
.ess-disc{width:92px;height:92px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;background:#fff;transition:.2s}
.ess-cat:hover .ess-disc{background:var(--ink)}
.ess-cat:hover .ess-disc svg{stroke:var(--gold-soft)}
.ess-disc svg{width:36px;height:36px;stroke:var(--gold);fill:none}
.ess-cat>span:last-child{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.ess-band{margin:72px 0;display:grid;grid-template-columns:1.05fr .95fr;min-height:440px}
.ess-band-copy{background:var(--ink);color:var(--cream);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,5vw,74px)}
.ess-band-copy .ess-section-eyebrow{color:var(--gold-soft)}
.ess-band-copy h3{font-size:clamp(2.1rem,3.6vw,3rem);margin:12px 0 16px}
.ess-band-copy p{max-width:42ch;font-weight:300;color:rgba(255,250,241,.82);margin:0 0 28px}
.ess-band-pic{background-size:cover;background-position:center}
.ess-catalog{padding:30px 0 84px;text-align:center}
.ess-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:30px 0 8px}
.ess-filters .catalog-filter{display:flex;flex-direction:column;gap:5px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-align:left}
.ess-filters select{border:none;border-bottom:1px solid var(--eline);background:transparent;padding:6px 20px 6px 2px;font-family:inherit;font-size:.95rem;color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer}
.ess-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:28px;margin-top:38px;text-align:left}
.ess-card{background:#fff;border:1px solid var(--eline);cursor:pointer;transition:.2s}
.ess-card:hover{border-color:var(--gold)}
.ess-card-pic{aspect-ratio:1/1;position:relative;overflow:hidden;background:linear-gradient(135deg,#f5ecd8,#e6d2a4);display:flex;align-items:center;justify-content:center}
.ess-card-pic img{width:100%;height:100%;object-fit:cover}
.ess-card-mono{font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--gold);opacity:.55}
.ess-card-tag{position:absolute;top:14px;left:14px;z-index:2;background:var(--ink);color:var(--gold-soft);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px}
.ess-card-body{padding:18px 20px 22px;text-align:center}
.ess-card-kicker{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0}
.ess-card h4{font-size:1.5rem;margin:6px 0 2px}
.ess-card-price{font-size:1.05rem;margin:8px 0 14px}
.ess-card-consult{display:block;border:1px solid var(--ink);padding:11px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.ess-card:hover .ess-card-consult{background:var(--ink);color:var(--cream)}
.ess-empty{grid-column:1/-1;padding:40px;color:color-mix(in srgb,var(--ink) 60%,#777)}
.ess-trust{background:#fff;border-top:1px solid var(--eline);border-bottom:1px solid var(--eline)}
.ess-trust .ess-wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;padding:34px 0}
.ess-t{display:flex;align-items:center;gap:12px;font-size:.85rem;letter-spacing:.05em}
.ess-t svg{width:26px;height:26px;stroke:var(--gold);fill:none;flex-shrink:0}
.ess-footer{background:var(--ink);color:rgba(255,250,241,.72);padding:64px 0 30px}
.ess-foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid rgba(255,250,241,.13)}
.ess-foot-brand{color:var(--cream);font-size:1.5rem;letter-spacing:.16em;text-transform:uppercase}
.ess-foot-tagline{font-weight:300;margin:14px 0 0;max-width:34ch;font-size:.92rem}
.ess-footer h5{color:var(--gold-soft);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.ess-footer a{display:block;padding:5px 0;font-size:.9rem}
.ess-footer a:hover{color:var(--gold-soft)}
.ess-foot-copy{padding-top:22px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:820px){.ess-nav .ess-wrap{grid-template-columns:auto 1fr;gap:14px}.ess-menu{display:none}.ess-brand{text-align:left}.ess-band{grid-template-columns:1fr}.ess-band-pic{min-height:280px}.ess-foot-cols{grid-template-columns:1fr;gap:28px}}

/* ===== Template 2: Minimal Chic (estilo LUMIERE) ===== */
.tpl-minimal{--ink:#3a322a;--gold:#b08a3e;--taupe:#a3946a;--cream:#f4ece1;--soft:#faf5ec;--mline:#e7ddcd;font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--soft);line-height:1.6}
.tpl-minimal *{box-sizing:border-box}
.tpl-minimal a{color:inherit;text-decoration:none}
.tpl-minimal .lux-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.tpl-minimal .lux-hero{position:relative;min-height:100vh;background-size:cover;background-position:right center;display:flex;flex-direction:column;color:var(--ink)}
.tpl-minimal .lux-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,236,225,.72) 0%,rgba(244,236,225,.28) 38%,transparent 60%)}
.tpl-minimal .lux-hero.no-photo{background:linear-gradient(135deg,var(--cream),#e6d8c4)}
.tpl-minimal .lux-hero>*{position:relative;z-index:2}
.tpl-minimal .lux-nav{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,64px);background:rgba(250,246,239,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.45)}
.tpl-minimal .lux-logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.14em;font-weight:600;text-transform:uppercase}
.tpl-minimal .lux-menu{display:flex;gap:30px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}
.tpl-minimal .lux-menu a:hover{color:var(--gold)}
.tpl-minimal .lux-icons{display:flex;gap:18px;color:var(--ink)}
.tpl-minimal .lux-icons svg{width:21px;height:21px}
.tpl-minimal .lux-icons a:hover{color:var(--gold)}
.tpl-minimal .lux-body{flex:1;display:flex;align-items:center;padding:10px clamp(20px,5vw,64px)}
.tpl-minimal .lux-text{max-width:540px}
.tpl-minimal .lux-eyebrow{letter-spacing:.3em;text-transform:uppercase;font-size:.78rem;color:var(--gold);font-weight:500;margin:0}
.tpl-minimal .lux-text h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.6rem,4.4vw,4.3rem);line-height:1.08;margin:18px 0 0}
.tpl-minimal .lux-div{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--gold)}
.tpl-minimal .lux-div span{height:1px;width:60px;background:var(--gold);opacity:.55}
.tpl-minimal .lux-lead{max-width:40ch;color:#6a6055;font-weight:300;font-size:1.06rem;margin:0}
.tpl-minimal .lux-btn{display:inline-block;margin-top:30px;padding:16px 38px;background:var(--taupe);color:#fff;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.tpl-minimal .lux-btn:hover{background:var(--gold)}
.tpl-minimal .lux-benefits{display:flex;justify-content:flex-end;gap:clamp(20px,4vw,56px);padding:0 clamp(20px,5vw,64px) 40px;flex-wrap:wrap}
.tpl-minimal .lux-b{display:flex;align-items:center;gap:12px}
.tpl-minimal .lux-b svg{width:30px;height:30px;stroke:var(--gold);fill:none;flex-shrink:0}
.tpl-minimal .lux-b b{display:block;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.tpl-minimal .lux-b em{display:block;font-style:normal;font-size:.82rem;color:#6a6055}
.tpl-minimal .lux-sec{padding:80px 0}
.tpl-minimal .lux-head{text-align:center;margin-bottom:30px}
.tpl-minimal .lux-head .lux-eyebrow{display:block;margin-bottom:8px}
.tpl-minimal .lux-head h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2rem,3.6vw,2.9rem)}
.tpl-minimal .lux-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-bottom:34px}
.tpl-minimal .lux-filters .catalog-filter{display:flex;flex-direction:column;gap:5px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-align:left}
.tpl-minimal .lux-filters select{border:none;border-bottom:1px solid var(--mline);background:transparent;padding:6px 18px 6px 2px;font-family:inherit;font-size:.92rem;color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer;min-height:auto;border-radius:0}
.tpl-minimal .lux-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:26px}
.tpl-minimal .lux-card{background:#fff;border:1px solid var(--mline);text-align:center;cursor:pointer;transition:.2s}
.tpl-minimal .lux-card:hover{box-shadow:0 16px 36px rgba(80,62,34,.09)}
.tpl-minimal .lux-card-pic{aspect-ratio:1/1;position:relative;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center}
.tpl-minimal .lux-card-pic img{width:100%;height:100%;object-fit:cover}
.tpl-minimal .lux-card-pic .mono{font-family:'Cormorant Garamond';font-size:2.4rem;color:var(--gold);opacity:.5}
.tpl-minimal .lux-tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--gold);color:#fff;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px}
.tpl-minimal .lux-card-body{padding:18px}
.tpl-minimal .lux-card-body .c{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin:0}
.tpl-minimal .lux-card-body h3{font-size:.95rem;font-weight:500;margin:7px 0 9px;min-height:2.3em}
.tpl-minimal .lux-price{font-size:1.15rem;color:var(--gold);font-weight:500;margin:0}
.tpl-minimal .lux-consult{display:block;margin-top:13px;border:1px solid var(--ink);padding:11px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.tpl-minimal .lux-card:hover .lux-consult{background:var(--ink);color:#fff}
.tpl-minimal .lux-empty{grid-column:1/-1;padding:40px;color:#8a8175;text-align:center}
.tpl-minimal .lux-foot{background:var(--ink);color:rgba(255,255,255,.72);padding:60px 0 28px}
.tpl-minimal .lux-foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.tpl-minimal .lux-foot .b{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.5rem;letter-spacing:.14em;text-transform:uppercase}
.tpl-minimal .lux-foot p{font-weight:300;margin:14px 0 0;max-width:32ch;font-size:.9rem}
.tpl-minimal .lux-foot h5{color:var(--gold);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 13px}
.tpl-minimal .lux-foot a{display:block;padding:5px 0;font-size:.9rem}
.tpl-minimal .lux-foot a:hover{color:#fff}
.tpl-minimal .lux-foot .cr{padding-top:22px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:880px){.tpl-minimal .lux-menu,.tpl-minimal .lux-icons{display:none}.tpl-minimal .lux-hero::before{background:linear-gradient(180deg,rgba(244,236,225,.86),rgba(244,236,225,.42))}.tpl-minimal .lux-benefits{justify-content:center}.tpl-minimal .lux-foot .cols{grid-template-columns:1fr}}

/* ===== Template 3: Colecao Boutique (estilo Mave) ===== */
.tpl-boutique{--ink:#2a2520;--gold:#bf8a3e;--orange:#d4802e;--cream:#faf6ef;--bgray:#f4f1ea;--bline:#e7e1d4;font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
.tpl-boutique *{box-sizing:border-box}
.tpl-boutique a{color:inherit;text-decoration:none}
.tpl-boutique .bo-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.tpl-boutique .bo-top{background:var(--bgray);font-size:12.5px;border-bottom:1px solid var(--bline)}
.tpl-boutique .bo-top .bo-wrap{display:flex;align-items:center;gap:26px;min-height:40px;flex-wrap:wrap;justify-content:center}
.tpl-boutique .bo-top .soc{margin-left:auto;display:flex;gap:10px;color:var(--ink)}
.tpl-boutique .bo-top .soc svg{width:16px;height:16px}
.tpl-boutique .bo-head{padding:18px 0}
.tpl-boutique .bo-head .bo-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,4vw,48px)}
.tpl-boutique .bo-logo{display:flex;align-items:center;gap:9px;font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700}
.tpl-boutique .bo-logo svg{width:32px;height:32px;color:var(--gold);flex-shrink:0}
.tpl-boutique .bo-search{display:flex;border:1px solid var(--bline);border-radius:6px;overflow:hidden;max-width:560px;width:100%}
.tpl-boutique .bo-search input{flex:1;border:none;border-radius:0;outline:none;padding:0 16px;font:inherit;font-size:.92rem;background:#fff;min-height:44px}
.tpl-boutique .bo-search-btn{display:flex;align-items:center;background:var(--bgray);padding:0 20px;font-size:.82rem}
.tpl-boutique .bo-act{display:flex;align-items:center;gap:20px;font-size:.82rem}
.tpl-boutique .bo-act a{display:flex;align-items:center;gap:7px}
.tpl-boutique .bo-act svg{width:20px;height:20px;fill:currentColor}
.tpl-boutique .bo-nav{border-top:1px solid var(--bline);border-bottom:1px solid var(--bline);background:#fff;position:sticky;top:0;z-index:20}
.tpl-boutique .bo-nav .bo-wrap{display:flex;gap:clamp(12px,2.2vw,30px);justify-content:center;flex-wrap:wrap;min-height:52px;align-items:center}
.tpl-boutique .bo-nav a{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.tpl-boutique .bo-nav a:hover{color:var(--gold)}
.tpl-boutique .bo-hero{position:relative;display:flex;align-items:center;min-height:60vh;background-size:cover;background-position:center}
.tpl-boutique .bo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,241,.95) 0%,rgba(255,250,241,.82) 36%,rgba(255,250,241,.25) 66%,rgba(255,250,241,0) 100%)}
.tpl-boutique .bo-hero.no-photo::before{background:none}
.tpl-boutique .bo-hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px);max-width:680px}
.tpl-boutique .bo-hero-copy h1{font-size:clamp(2.3rem,4vw,3.7rem);font-weight:600;line-height:1.06;margin:0}
.tpl-boutique .bo-hr{width:70px;height:2px;background:var(--ink);margin:22px 0}
.tpl-boutique .bo-hero-copy p{max-width:40ch;color:#6b6258;font-size:1.04rem;font-weight:300;margin:0}
.tpl-boutique .bo-hero-cta{margin-top:24px}
.tpl-boutique .bo-link{font-weight:600;border-bottom:2px solid var(--gold);padding-bottom:3px;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em}
.tpl-boutique .bo-hero.no-photo{background:linear-gradient(135deg,var(--cream),#ead9bf)}
.tpl-boutique .bo-cats{padding:50px 0 14px}
.tpl-boutique .bo-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tpl-boutique .bo-cat{position:relative;border:1px solid var(--bline);border-radius:6px;overflow:hidden;min-height:160px;background:linear-gradient(160deg,#fbf6ee,#f0e6d4);display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit}
.tpl-boutique .bo-cat span{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:600;color:var(--gold);letter-spacing:.08em}
.tpl-boutique .bo-cat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--orange)}
.tpl-boutique .bo-cat:hover{box-shadow:0 10px 26px rgba(60,45,20,.1)}
.tpl-boutique .bo-sec{padding:44px 0}
.tpl-boutique .bo-sec-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.tpl-boutique .bo-sec-head h2{font-family:'Jost';font-size:1.5rem;font-weight:600;text-transform:lowercase}
.tpl-boutique .bo-sec-head .ln{flex:1;height:1px;background:var(--bline)}
.tpl-boutique .bo-filters{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:26px}
.tpl-boutique .bo-filters .catalog-filter{display:flex;flex-direction:column;gap:4px;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.tpl-boutique .bo-filters select{border:1px solid var(--bline);border-radius:5px;background:#fff;padding:8px 12px;font-family:inherit;font-size:.9rem;color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer;min-height:40px}
.tpl-boutique .bo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:18px}
.tpl-boutique .bo-card{border:1px solid var(--bline);border-radius:6px;overflow:hidden;background:#fff;cursor:pointer;transition:.2s}
.tpl-boutique .bo-card:hover{box-shadow:0 12px 30px rgba(60,45,20,.1)}
.tpl-boutique .bo-card-pic{aspect-ratio:1/1;position:relative;overflow:hidden;background:#fbfaf7;display:flex;align-items:center;justify-content:center}
.tpl-boutique .bo-card-pic img{width:100%;height:100%;object-fit:cover}
.tpl-boutique .bo-card-pic .mono{font-family:'Cormorant Garamond';font-size:2.2rem;color:var(--gold);opacity:.4}
.tpl-boutique .bo-disc{position:absolute;top:10px;left:10px;z-index:2;background:var(--gold);color:#fff;font-size:.62rem;font-weight:600;padding:5px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}
.tpl-boutique .bo-fav{position:absolute;top:10px;right:10px;z-index:2;width:28px;height:28px;border:1px solid var(--bline);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff}
.tpl-boutique .bo-fav svg{width:15px;height:15px;stroke:#9a9186;fill:none}
.tpl-boutique .bo-card-body{padding:14px 14px 16px;text-align:center}
.tpl-boutique .bo-card-body h3{font-size:.84rem;font-weight:400;color:#4a443c;min-height:2.5em;margin:0 0 8px}
.tpl-boutique .bo-price{font-size:1.2rem;font-weight:600;color:var(--orange);margin:0}
.tpl-boutique .bo-consult{display:block;margin-top:12px;background:var(--gold);color:#fff;padding:11px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:4px}
.tpl-boutique .bo-card:hover .bo-consult{background:#a9762f}
.tpl-boutique .bo-empty{grid-column:1/-1;padding:40px;text-align:center;color:#8a8175}
.tpl-boutique .bo-testi{background:var(--bgray);padding:54px 0}
.tpl-boutique .bo-testi h2{text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:600;margin:0 0 32px;color:#5a5249}
.tpl-boutique .bo-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tpl-boutique .bo-tcard{background:#fff;border:1px solid var(--bline);border-radius:8px;padding:24px}
.tpl-boutique .bo-tcard .who{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.tpl-boutique .bo-av{width:46px;height:46px;border-radius:50%;background:var(--cream);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:600;font-family:'Cormorant Garamond';font-size:1.2rem}
.tpl-boutique .bo-tcard .nm{font-weight:600;font-size:.92rem;margin:0}
.tpl-boutique .bo-stars{color:var(--orange);font-size:.85rem;margin:0}
.tpl-boutique .bo-tcard>p{font-size:.88rem;color:#6b6258;font-weight:300;margin:0}
.tpl-boutique .bo-foot{background:var(--ink);color:rgba(255,255,255,.72);padding:54px 0 26px}
.tpl-boutique .bo-foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}
.tpl-boutique .bo-foot .b{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700}
.tpl-boutique .bo-foot p{font-weight:300;margin:12px 0 0;max-width:32ch;font-size:.9rem}
.tpl-boutique .bo-foot h5{color:var(--gold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.tpl-boutique .bo-foot a{display:block;padding:5px 0;font-size:.9rem}
.tpl-boutique .bo-foot a:hover{color:#fff}
.tpl-boutique .bo-cr{padding-top:20px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:880px){.tpl-boutique .bo-head .bo-wrap{grid-template-columns:1fr}.tpl-boutique .bo-search{order:3}.tpl-boutique .bo-hero{min-height:56vh}.tpl-boutique .bo-hero::before{background:linear-gradient(180deg,rgba(255,250,241,.9),rgba(255,250,241,.55))}.tpl-boutique .bo-cat-grid,.tpl-boutique .bo-testi-grid{grid-template-columns:1fr}.tpl-boutique .bo-foot .cols{grid-template-columns:1fr}}

/* ===== Landing premium (carrossel + animacoes) ===== */
.lp{--ink:#14110c;--gold:#b98b2f;--gold-soft:#d9b86a;--cream:#fffaf1;--soft:#f7f1e6;--lline:rgba(20,17,12,.1);font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
.lp *{box-sizing:border-box}
.lp a{color:inherit;text-decoration:none}
.lp-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.lp h1,.lp h2,.lp h3{font-family:'Cormorant Garamond',serif;font-weight:600}
.lp-eyebrow,.lp-kicker{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:500;margin:0}
.lp-kicker{color:var(--gold)}
.lp-h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:600;line-height:1.08;margin:10px 0 0;color:var(--ink)}
.lp-lead{color:#6a6055;font-weight:300;font-size:1.06rem;margin:18px 0 0;max-width:48ch}
.lp-gold,.lp-ghost,.lp-outline{display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:13px 26px;transition:.2s;border-radius:0;cursor:pointer}
.lp-gold{background:var(--gold);color:#1a1408}.lp-gold:hover{background:var(--gold-soft)}
.lp-ghost{color:var(--ink)}.lp-ghost:hover{color:var(--gold)}
.lp-outline{border:1px solid var(--ink);color:var(--ink)}.lp-outline:hover{background:var(--ink);color:var(--cream)}
.lp-big{padding:16px 36px}
.lp-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px clamp(18px,4vw,56px);background:rgba(255,250,241,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.2s}
.lp-nav.is-scrolled{box-shadow:0 6px 24px rgba(20,17,12,.08)}
.lp-brand{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.lp-brand img{height:38px;width:auto;display:block}
.lp-foot .lp-brand img{height:32px}
.lp-nav-links{display:flex;gap:26px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.lp-nav-links a:hover{color:var(--gold)}
.lp-nav-cta{display:flex;align-items:center;gap:8px}
.lp-hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;padding:90px clamp(18px,5vw,56px) 70px}
.lp-carousel{position:relative;width:min(900px,100%);min-height:320px;display:grid}
.lp-slide{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
.lp-slide.is-active{opacity:1;transform:none;pointer-events:auto}
.lp-hero .lp-eyebrow{color:var(--gold-soft)}
.lp-h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.05;margin:16px 0 0}
.lp-sub{max-width:54ch;margin:20px auto 0;color:rgba(255,255,255,.86);font-weight:300;font-size:1.08rem}
.lp-hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.lp-hero .lp-outline{border-color:rgba(255,255,255,.55);color:#fff}.lp-hero .lp-outline:hover{background:rgba(255,255,255,.14)}
.lp-dots{display:flex;gap:10px;margin-top:30px}
.lp-dot{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.2s}
.lp-dot.is-active{background:var(--gold-soft);width:26px;border-radius:5px}
.lp-js .lp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.lp-js .lp-reveal.is-in{opacity:1;transform:none}
.lp-strip{background:var(--ink);color:var(--cream)}
.lp-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:46px 0}
.lp-strip strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold-soft);margin-bottom:6px}
.lp-strip span{font-weight:300;font-size:.95rem;color:rgba(255,250,241,.78)}
.lp-sec{padding:clamp(56px,9vw,110px) 0}
.lp-head{margin-bottom:50px;max-width:32ch}
.lp-pain-grid,.lp-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.lp-checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lp-checklist li{position:relative;padding:16px 18px 16px 50px;background:#fff;border:1px solid var(--lline);font-size:.98rem}
.lp-checklist li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:15px;height:15px;border:2px solid var(--gold);border-radius:50%}
.lp-benefit{background:var(--soft)}
.lp-benefit-pic{min-height:380px;background-size:cover;background-position:center;border-radius:2px}
.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.lp-step{border-top:2px solid var(--gold);padding-top:20px}
.lp-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--gold);font-weight:600}
.lp-step h3{font-size:1.45rem;margin:6px 0 8px}
.lp-step p{color:#6a6055;font-weight:300;font-size:.95rem}
.lp-features{background:var(--ink)}
.lp-features .lp-kicker{color:var(--gold-soft)}
.lp-features .lp-h2{color:var(--cream)}
.lp-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,250,241,.12);border:1px solid rgba(255,250,241,.12)}
.lp-feat{background:var(--ink);padding:34px 30px}
.lp-feat h3{font-size:1.4rem;color:var(--gold-soft);margin:0 0 8px}
.lp-feat p{color:rgba(255,250,241,.78);font-weight:300;font-size:.95rem;margin:0}
.lp-tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.lp-tpl-pic{display:block;height:300px;background-size:cover;background-position:center;border-radius:2px;transition:.3s}
.lp-tpl-pic:hover{filter:brightness(1.06)}
.lp-tpl h3{font-size:1.6rem;margin:18px 0 6px}
.lp-tpl p{color:#6a6055;font-weight:300;font-size:.95rem;margin:0 0 12px}
.lp-tpl-link{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500}
.lp-quote{background:var(--soft);padding:clamp(50px,8vw,90px) 0;text-align:center}
.lp-quote-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:500;line-height:1.3;max-width:26ch;margin:0 auto;color:var(--ink)}
.lp-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.lp-price{background:#fff;border:1px solid var(--lline);padding:34px 30px;display:flex;flex-direction:column;gap:4px}
.lp-price.lp-featured{border:2px solid var(--gold)}
.lp-badge{display:inline-block;background:var(--gold);color:#1a1408;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;font-weight:500;align-self:flex-start;margin-bottom:8px}
.lp-plan{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lp-amount{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:600;line-height:1;color:var(--ink)}.lp-amount small{font-size:.9rem;color:#8a8175;font-family:'Jost';font-weight:400}
.lp-goal{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--ink);margin:6px 0 2px}
.bulk-progress{margin:6px 0 0;font-size:.85rem;color:#8a8175;font-style:italic}
.cost-hint{font-weight:400;color:#8a8175;font-size:.72rem}
.trash-panel{margin:10px 0;border:1px dashed var(--line);border-radius:10px;padding:12px 14px}
.hist-panel{margin:10px 0;border:1px dashed var(--line);border-radius:10px;padding:12px 14px;max-height:260px;overflow-y:auto}
.install-chip{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:9500;display:flex;align-items:center;gap:12px;background:#22201c;color:#f4ead2;border-radius:16px;padding:12px 14px;box-shadow:0 18px 50px rgba(0,0,0,.4);max-width:min(480px,calc(100vw - 24px))}
.install-chip img{width:42px;height:42px;border-radius:10px;flex:none}
.install-txt{flex:1;min-width:0}
.install-txt b{display:block;font-size:.9rem}
.install-txt span{font-size:.78rem;color:#c9bfa8;line-height:1.35;display:block}
.install-go{flex:none;background:#b98b2f;color:#fff;border:none;border-radius:99px;padding:9px 18px;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}
.install-x{flex:none;background:none;border:none;color:#8f8570;font-size:1.3rem;cursor:pointer;padding:4px 6px;line-height:1}
.print-under-barcode{width:100%;margin-top:8px}
.hist-row{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.hist-row:last-child{border-bottom:none}
.hist-when{flex:none;color:var(--muted);font-size:.75rem;min-width:96px}
.trash-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.trash-item:last-child{border-bottom:none}
.trash-item img,.trash-ph{width:42px;height:42px;border-radius:8px;object-fit:cover;flex:none}
.trash-ph{display:grid;place-items:center;background:var(--surface-alt);color:var(--muted);font-weight:700}
.trash-info{flex:1;min-width:0}
.trash-info b{display:block;font-size:.9rem}
.trash-info span{font-size:.78rem;color:var(--muted)}
.danger-button{font:inherit;font-weight:600;cursor:pointer;border:1.5px solid #a3322c;color:#a3322c;background:#fff;border-radius:10px;padding:10px 16px}
.danger-button:hover{background:#a3322c;color:#fff}
.danger-button:disabled{opacity:.6;cursor:wait}

/* ===== Modo escuro do painel (/admin) ===== */
body.admin-page.theme-dark {
  color-scheme: dark;
  --bg: #15120e;
  --surface: #1f1b15;
  --surface-alt: #29231a;
  --ink: #efe8da;
  --muted: #a89e8c;
  --line: #3b3529;
  --primary: #2ea79a;
  --primary-dark: #4cc4b4;
  --accent: #d8b568;
  --coral: #e0685a;
  --green-soft: #213230;
  --shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
}
body.admin-page.theme-dark textarea,
body.admin-page.theme-dark .hero-preview,
body.admin-page.theme-dark .template-card,
body.admin-page.theme-dark .public-brand span,
body.admin-page.theme-dark .depo-admin-item,
body.admin-page.theme-dark .label-modal-card,
body.admin-page.theme-dark .cust-modal-card,
body.admin-page.theme-dark .tour-tip {
  background: var(--surface);
  color: var(--ink);
}
body.admin-page.theme-dark .found-box { background: var(--surface-alt); }
body.admin-page.theme-dark .danger-button { background: transparent; }
body.admin-page.theme-dark .sidebar,
body.admin-page.theme-dark .panel,
body.admin-page.theme-dark .login-box,
body.admin-page.theme-dark .summary-grid > div { background: rgba(31, 27, 21, 0.97); }
body.admin-page.theme-dark .ghost-button { background: rgba(255, 255, 255, 0.07); color: var(--ink); }
body.admin-page.theme-dark .primary-button { color: #fff; }
body.admin-page.theme-dark .primary-button:hover { background: #0d665f; }
body.admin-page.theme-dark .icon-button { border-color: rgba(76, 196, 180, 0.3); }
body.admin-page.theme-dark td { background: rgba(31, 27, 21, 0.85); }
body.admin-page.theme-dark tbody tr:hover td { background: #29231a; }
body.admin-page.theme-dark .filter-button { background: rgba(255, 255, 255, 0.07); color: var(--ink); }
body.admin-page.theme-dark .found-box.error { background: #3a221d; color: #f0c4bc; }

/* logo: versão clara no fundo escuro */
.logo-on-dark { display: none; }
body.admin-page.theme-dark .logo-on-light { display: none; }
body.admin-page.theme-dark .logo-on-dark { display: block; }

/* campos de formulário escuros */
body.admin-page.theme-dark input,
body.admin-page.theme-dark select { background: var(--surface-alt); color: var(--ink); }
body.admin-page.theme-dark input::placeholder,
body.admin-page.theme-dark textarea::placeholder { color: #7d7466; }
body.admin-page.theme-dark .input-disabled { background: #241f18; color: var(--muted); }
body.admin-page.theme-dark .textarea-auto { background: var(--surface-alt); }

/* superfícies que estavam com branco fixo */
body.admin-page.theme-dark .ns-card,
body.admin-page.theme-dark .notif-panel,
body.admin-page.theme-dark .notif-interest,
body.admin-page.theme-dark .report-col,
body.admin-page.theme-dark .cust-card,
body.admin-page.theme-dark .cust-stage-pill,
body.admin-page.theme-dark .camp-card,
body.admin-page.theme-dark .qr-card,
body.admin-page.theme-dark .share-card,
body.admin-page.theme-dark .dash-sound,
body.admin-page.theme-dark .dash-progress,
body.admin-page.theme-dark .bell-button,
body.admin-page.theme-dark .dq-tab { background: var(--surface); color: var(--ink); }
body.admin-page.theme-dark .bell-button:hover { background: var(--surface-alt); }
body.admin-page.theme-dark .mais-detalhes,
body.admin-page.theme-dark .camp-link,
body.admin-page.theme-dark .camp-stats div,
body.admin-page.theme-dark .cust-hist-row,
body.admin-page.theme-dark .cust-msg,
body.admin-page.theme-dark .dash-summary,
body.admin-page.theme-dark .tour-prev { background: var(--surface-alt); color: var(--ink); }
body.admin-page.theme-dark .funnel-step { background: var(--surface-alt); color: var(--muted); }
body.admin-page.theme-dark .funnel-step.done { background: #2e2a1a; color: #d9c98e; }

/* cartões do "Sua vitrine hoje" e resumos */
body.admin-page.theme-dark .dash-card { background: linear-gradient(180deg, #24201a, #1c1913); border-color: #3b3529; }
body.admin-page.theme-dark .dash-card:hover { border-color: #4a4232; box-shadow: 0 16px 34px rgba(0, 0, 0, 0.5); }
body.admin-page.theme-dark .dash-card.done .dash-body { background: #1c2a22; }
body.admin-page.theme-dark .share-card.copied { background: #1c2a22; }

/* faixas e selos */
body.admin-page.theme-dark .trial-banner { background: linear-gradient(90deg, #34301d, #2a2517); color: var(--ink); }
body.admin-page.theme-dark .trial-banner.plan { background: linear-gradient(90deg, #22282f, #1c2127); color: var(--ink); }
body.admin-page.theme-dark .trial-banner.expired { background: #3a221d; color: #f0c4bc; }
body.admin-page.theme-dark .plan-lock-badge,
body.admin-page.theme-dark .badge-best,
body.admin-page.theme-dark .badge.st-gold,
body.admin-page.theme-dark .badge.gold,
body.admin-page.theme-dark .dash-icon,
body.admin-page.theme-dark .dash-points { background: #3a3018; color: #e8d9ae; }
body.admin-page.theme-dark .badge-low { background: #3a221d; color: #f0c4bc; }
body.admin-page.theme-dark .badge.gray { background: #33302a; color: #b6ab97; }
body.admin-page.theme-dark .badge.st-neutral { background: #2a3230; color: #a7cfc4; }
body.admin-page.theme-dark .notif-best { background: #2b2718; }
body.admin-page.theme-dark .notif-low { background: #33211e; }

/* textos que tinham cor escura fixa (títulos, números e rótulos) */
body.admin-page.theme-dark .notif-head strong,
body.admin-page.theme-dark .notif-prod,
body.admin-page.theme-dark .report-col h4,
body.admin-page.theme-dark .report-name,
body.admin-page.theme-dark .cust-stage-pill strong,
body.admin-page.theme-dark .cust-card-top strong,
body.admin-page.theme-dark .funnel-step.done,
body.admin-page.theme-dark .share-links h4,
body.admin-page.theme-dark .share-info strong,
body.admin-page.theme-dark .share-card strong,
body.admin-page.theme-dark .camp-top strong,
body.admin-page.theme-dark .camp-stats strong,
body.admin-page.theme-dark .dash-info strong,
body.admin-page.theme-dark .dash-prog-top strong,
body.admin-page.theme-dark .dash-summary h4,
body.admin-page.theme-dark .cust-msgs h4 { color: var(--ink); }
body.admin-page.theme-dark .notif-interest,
body.admin-page.theme-dark .cust-modal-card > label,
body.admin-page.theme-dark .cust-modal-card .two-columns label,
body.admin-page.theme-dark .mais-detalhes > summary,
body.admin-page.theme-dark .dash-summary li,
body.admin-page.theme-dark .cust-msg p,
body.admin-page.theme-dark .report-leads,
body.admin-page.theme-dark .dash-sound,
body.admin-page.theme-dark .dq-tab,
body.admin-page.theme-dark .bell-button { color: var(--muted); }
body.admin-page.theme-dark .cust-wa,
body.admin-page.theme-dark .dash-check,
body.admin-page.theme-dark .dash-card.done .dash-icon,
body.admin-page.theme-dark .share-card.copied .share-hint,
body.admin-page.theme-dark .margin-hint { color: #4bc98b; }
body.admin-page.theme-dark .margin-hint.margin-bad { color: #e0685a; }
body.admin-page.theme-dark .tour-skip:hover { color: var(--muted); }

/* fotos de prévia dos templates */
.template-card { overflow: hidden; }
.tpl-thumb { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 8px; margin-bottom: 12px; display: block; }
/* etiqueta/código de barras SEMPRE em fundo branco (leitura do scanner e impressão) */
body.admin-page.theme-dark .barcode-preview,
body.admin-page.theme-dark #printArea { background: #fff; color: #22201c; }
.theme-toggle svg { width: 20px; height: 20px; }

/* ===== Depoimentos (aba do admin) ===== */
.depo-form{display:grid;gap:14px;margin-bottom:20px}
.depo-admin-list{display:grid;gap:10px}
.depo-admin-item{display:flex;align-items:flex-start;gap:12px;border:1px solid #e6ddcd;border-radius:12px;padding:12px 14px;background:#fff}
.depo-admin-item img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.depo-admin-av{width:44px;height:44px;border-radius:50%;background:#b98b2f;color:#fff;display:grid;place-items:center;font-weight:600;flex:none}
.depo-admin-body{flex:1;min-width:0}
.depo-admin-body b{font-size:.92rem}
.depo-admin-body p{margin:2px 0 0;font-size:.88rem;color:#5a5249}

/* ===== Estabilidade mobile: sacolinha ===== */
.bag-x{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;background:none;border:none;cursor:pointer;color:inherit;touch-action:manipulation;margin:-8px -10px -8px 0}
.bag-fab,.bag-panel button,.bag-send{touch-action:manipulation}
body.has-rev-bar .bag-fab{bottom:66px}
body.has-rev-bar .bag-panel{bottom:134px}
body.has-rev-bar .site-toast{bottom:150px}
@media(max-width:560px){
  .bag-panel{left:12px;right:12px;width:auto;max-height:72vh}
  .bag-qty button{min-width:38px;min-height:38px}
}
.login-forgot{margin:10px 0 0;text-align:center;font-size:.86rem}
.login-forgot a{color:var(--primary-dark);text-decoration:underline}

/* ===== Estabilidade mobile: painel e modais ===== */
.modal-close{min-width:44px;min-height:44px;touch-action:manipulation}
@media (max-width: 860px){
  .workspace-top{flex-direction:column;align-items:stretch;gap:12px}
  .scan-box{width:100%}
}

/* ===== Modo revendedora ===== */
.rev-bar{position:fixed;left:0;right:0;bottom:0;z-index:3100;background:#14110c;color:#f4ead2;text-align:center;font-size:.85rem;padding:9px 14px;letter-spacing:.02em}
.rev-bar b{color:var(--gold-soft,#d8b568)}
body.has-rev-bar{padding-bottom:40px}
.rev-form{display:grid;gap:14px;margin-bottom:18px}
.rev-list{display:grid;gap:10px}
.rev-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;flex-wrap:wrap}
.rev-item.inactive{opacity:.55}
.rev-who{flex:1;min-width:180px}
.rev-who b{display:block;font-size:.92rem}
.rev-who span{font-size:.78rem;color:var(--muted)}
.rev-stats{font-size:.8rem;color:var(--muted);white-space:nowrap}

/* ===== Depoimentos (carrossel dos catálogos) ===== */
.depo-sec{padding:clamp(48px,7vw,90px) 0;background:var(--site-bg,#fffaf1)}
.depo-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.depo-kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--site-accent,#b98b2f);margin:0 0 10px;text-align:center;font-weight:500}
.depo-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:600;text-align:center;margin:0 0 34px;color:var(--site-primary,#111)}
.depo-shell{display:flex;align-items:center;gap:10px}
.depo-arrow{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.14);background:#fff;color:var(--site-primary,#111);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.15s}
.depo-arrow:hover{background:var(--site-accent,#b98b2f);color:#fff;border-color:var(--site-accent,#b98b2f)}
.depo-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none;flex:1}
.depo-track::-webkit-scrollbar{display:none}
.depo-card{flex:0 0 min(330px,82vw);scroll-snap-align:start;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:22px;margin:0;box-shadow:0 10px 26px -20px rgba(0,0,0,.25)}
.depo-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.depo-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.depo-av{width:48px;height:48px;border-radius:50%;background:var(--site-accent,#b98b2f);color:#fff;display:grid;place-items:center;font-weight:600;font-size:1.1rem;flex:none}
.depo-head b{display:block;font-size:.94rem;color:var(--site-primary,#111)}
.depo-stars{color:var(--site-accent,#b98b2f);font-size:.78rem;letter-spacing:.12em}
.depo-card blockquote{margin:0;font-size:.95rem;line-height:1.55;color:#5a5249;font-weight:300}
@media(max-width:640px){.depo-arrow{display:none}}
.margin-hint{margin:2px 0 6px;font-size:.82rem;color:#2e7d4f;font-weight:500}
.margin-hint.margin-bad{color:#a3322c}
.lp-setup{color:#8a8175;font-size:.88rem;margin-bottom:10px}
.lp-price ul{list-style:none;margin:8px 0 22px;padding:0;display:grid;gap:9px}
.lp-price li{position:relative;padding-left:20px;font-size:.92rem;color:#5a5249}
.lp-price li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--gold);border-radius:50%}
.lp-price a{margin-top:auto}
.lp-offer{margin-top:30px;background:var(--ink);color:var(--cream);padding:22px 28px;font-size:.95rem;font-weight:300}
.lp-offer strong{color:var(--gold-soft);font-weight:500}
.lp-final{background:var(--ink);color:var(--cream);text-align:center;padding:clamp(56px,9vw,110px) 0}
.lp-kicker-light{color:var(--gold-soft)}
.lp-final-h{color:var(--cream);max-width:20ch;margin:10px auto 0}
.lp-final-sub{color:rgba(255,250,241,.8);font-weight:300;margin:16px auto 30px;max-width:46ch}
.lp-foot{background:#0f0c08;color:rgba(255,250,241,.66);padding:56px 0 28px}
.lp-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;padding-bottom:34px;border-bottom:1px solid rgba(255,250,241,.1)}
.lp-foot .lp-brand{color:var(--cream)}
.lp-foot p{font-weight:300;margin-top:14px;max-width:36ch;font-size:.92rem}
.lp-foot h5{color:var(--gold-soft);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
.lp-foot a{display:block;padding:5px 0;font-size:.92rem}.lp-foot a:hover{color:var(--cream)}
.lp-foot-cr{padding-top:22px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:920px){.lp-nav-links{display:none}.lp-strip-grid,.lp-pain-grid,.lp-benefit-grid,.lp-steps,.lp-feat-grid,.lp-tpl-grid,.lp-price-grid,.lp-foot-grid{grid-template-columns:1fr}.lp-steps{gap:30px}.lp-benefit-pic{min-height:260px}}

/* Hero landing: fundo diferente por slide */
.lp-hero{overflow:hidden}
.lp-bgs{position:absolute;inset:0;z-index:0}
.lp-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}
.lp-bg.is-active{opacity:1}
.lp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,9,5,.82),rgba(12,9,5,.42))}
.lp-carousel,.lp-hero-actions,.lp-dots{position:relative;z-index:2}

/* ===== Tour guiado do painel ===== */
.tour-mask{position:fixed;inset:0;z-index:9998;background:transparent}
.tour-spot{position:fixed;z-index:9999;border-radius:10px;border:2px solid var(--accent,#b8872d);box-shadow:0 0 0 9999px rgba(15,12,8,.64);pointer-events:none;transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease}
.tour-tip{position:fixed;z-index:10000;width:330px;max-width:calc(100vw - 20px);background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.tour-step{margin:0 0 6px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent,#b8872d);font-weight:900}
.tour-title{margin:0 0 8px;font-size:1.18rem;color:var(--ink,#22201c);line-height:1.2}
.tour-text{margin:0;font-size:.94rem;color:var(--muted,#5f5e5a);line-height:1.5}
.tour-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:10px}
.tour-nav{display:flex;gap:8px}
.tour-tip button{font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;font-size:.85rem;font-weight:800;border:1px solid transparent;transition:.15s}
.tour-skip{background:none;color:#9a958c;padding-left:0;padding-right:0}
.tour-skip:hover{color:#5f5e5a}
.tour-prev{background:#f1efe8;color:var(--ink,#22201c)}
.tour-prev:hover{background:#e6e3da}
.tour-next{background:var(--accent,#b8872d);color:#fff}
.tour-next:hover{background:#a3782a}
.tour-fab{display:none;position:fixed;right:22px;bottom:22px;z-index:9000;align-items:center;gap:8px;background:#14110c;color:#f4ead2;border:none;border-radius:30px;padding:13px 22px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.26)}
.tour-fab:hover{background:var(--accent,#b8872d);color:#1a1408}
.tour-ready .tour-fab{display:inline-flex}

/* ===== Modal de impressão de etiquetas ===== */
.label-modal[hidden]{display:none}
.label-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px}
.label-modal-backdrop{position:absolute;inset:0;background:rgba(20,17,12,.5)}
.label-modal-card{position:relative;z-index:2;background:#fff;border-radius:12px;width:min(560px,100%);max-height:88vh;overflow:auto;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.label-modal-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:6px}
.label-modal-head h3{margin:0}
.label-modal-hint{color:var(--muted,#5f5e5a);font-size:.9rem;margin:0 0 16px}
.label-modal-body{display:grid;gap:12px}
.label-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line,#dfd4c4);border-radius:8px;padding:12px}
.label-prev{flex:1;min-width:0}
.label-prev .print-label{border:1px dashed var(--line,#dfd4c4);border-radius:6px;padding:8px 10px;display:grid;gap:4px;margin:0}
.label-prev .print-label strong{font-size:.82rem}
.label-prev svg{display:block;width:100%;height:38px}
.label-prev .label-bottom{display:flex;justify-content:space-between;gap:8px;font-size:.72rem}
.label-qty{display:grid;gap:5px;font-size:.76rem;font-weight:800;color:var(--muted,#5f5e5a);width:86px;flex-shrink:0;text-align:center}
.label-qty input{width:100%;text-align:center;min-height:40px}
.label-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

.sell-button{background:var(--green-soft,#dcefeb);border-color:rgba(13,102,95,.22);color:var(--primary-dark,#07433f);font-weight:900}
.sell-button:hover{background:#cfe7e1;border-color:var(--primary,#0d665f)}

/* ===== Modal Nova marca + bandeira de interesse ===== */
.ns-modal[hidden]{display:none}
.ns-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px}
.ns-backdrop{position:absolute;inset:0;background:rgba(20,17,12,.5)}
.ns-card{position:relative;z-index:2;background:#fff;border-radius:12px;width:min(460px,100%);padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.ns-head{display:flex;align-items:start;justify-content:space-between;gap:14px}
.ns-head h3{margin:0}
.ns-hint{color:var(--muted,#5f5e5a);font-size:.9rem;margin:6px 0 18px}
.ns-form{display:grid;gap:14px}
.ns-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.interest-flag{display:inline-block;margin-top:5px;background:var(--green-soft,#dcefeb);color:var(--primary-dark,#07433f);font-size:.74rem;font-weight:800;padding:3px 9px;border-radius:20px}

/* ===== Sininho de interesses + relatório ===== */
.notif-bell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.notif-count {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #c0392b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.notif-panel {
  position: fixed;
  top: 76px;
  left: 24px;
  width: 340px;
  max-width: calc(100vw - 40px);
  max-height: 72vh;
  overflow: auto;
  background: #fff;
  border: 1px solid #e7ded2;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(40, 30, 15, 0.22);
  z-index: 1200;
}
.notif-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px 10px;
  border-bottom: 1px solid #efe7da;
}
.notif-head strong { font-size: 15px; color: #2c2419; }
.notif-list { display: flex; flex-direction: column; }
.notif-item {
  padding: 12px 14px;
  border-bottom: 1px solid #f2ece1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.notif-item:last-child { border-bottom: none; }
.notif-prod {
  text-align: left;
  background: none;
  border: none;
  padding: 0;
  font-weight: 700;
  color: #2c2419;
  cursor: pointer;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.notif-time { font-size: 12px; color: #9b8c75; }
.notif-acts { display: flex; gap: 8px; margin-top: 4px; }
.notif-btn {
  flex: 1;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: filter 0.15s ease;
}
.notif-btn:hover { filter: brightness(0.96); }
.notif-sold { background: #1f7a4d; color: #fff; }
.notif-interest { background: #fff; color: #5a4f3f; border-color: #d8cdbb; }
.notif-empty { padding: 16px 14px; color: #9b8c75; font-size: 13px; margin: 0; }
.icon-button {
  background: none;
  border: none;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #8a7a63;
}

.report-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.report-col {
  background: #fff;
  border: 1px solid #ece3d6;
  border-radius: 16px;
  padding: 16px 18px;
}
.report-col h4 { margin: 0 0 12px; font-size: 15px; color: #2c2419; }
.report-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #f1ebe1;
  font-size: 14px;
}
.report-row:last-child { border-bottom: none; }
.report-name { color: #3a3128; }
.report-val { color: #8a7a63; white-space: nowrap; font-variant-numeric: tabular-nums; }
.report-empty { color: #b3a695; font-size: 13px; margin: 4px 0; }
@media (max-width: 860px) {
  .report-grid { grid-template-columns: 1fr; }
}

.row-highlight { animation: rowGlow 2.4s ease; }
@keyframes rowGlow {
  0%, 100% { background: transparent; }
  20%, 60% { background: #fff6e2; }
}

/* ===== Sininho no topo (estilo Instagram) ===== */
.scan-box { align-items: center; }
.bell-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 12px;
  border: 1px solid #e6ddcf;
  background: #fff;
  color: #4a4030;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}
.bell-button:hover { background: #faf6ef; }
.bell-button:active { transform: scale(0.94); }
.bell-button svg { width: 22px; height: 22px; }
.bell-button .notif-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  border: 2px solid #fff;
}
/* reposiciona o painel pro lado do sininho (canto superior direito) */
.notif-panel { left: auto; right: 24px; top: 88px; }

/* badges dentro de cada notificação */
.notif-badge {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 999px;
}
.badge-interest { background: #eaf2ff; color: #1a49c0; }
.badge-low { background: #ffe2e0; color: #c01a1a; }
.badge-best { background: #f6ecd2; color: #8a6a1a; }
.notif-x {
  position: absolute;
  top: 8px;
  right: 10px;
  border: none;
  background: none;
  font-size: 18px;
  line-height: 1;
  color: #b3a695;
  cursor: pointer;
}
.notif-item { position: relative; }
.notif-best { background: #fffdf6; }
.notif-low { background: #fff8f7; }

/* ===== Etiquetas coloridas no estoque ===== */
.badge.st-red { background: #ff3040; color: #fff; }
.badge.st-blue { background: #2f6fed; color: #fff; }
.badge.st-green { background: #1f9d55; color: #fff; }
.badge.st-gray { background: #ececec; color: #6a6a6a; }
.badge.st-gold { background: #f3e6c8; color: #8a6a1a; }
.badge.st-neutral { background: #eef1f4; color: #4a5560; }

/* ===== Campos novos do formulário ===== */
.field-hint { display: block; margin-top: 5px; font-size: 12px; color: #9a8d78; font-weight: 400; }
.model-thumb { margin-top: 8px; position: relative; width: 84px; }
.model-thumb:empty { display: none; }
.model-thumb img { width: 84px; height: 84px; object-fit: cover; border-radius: 10px; display: block; }
.model-thumb-x {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: none;
  background: #c0392b;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

/* ===== Catálogo: desconto, mais vendida, foto na modelo, preço ===== */
.ess-card-pic, .lux-card-pic, .bo-card-pic { position: relative; overflow: hidden; }
.disc-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  background: #e0162b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  letter-spacing: 0.02em;
}
.best-tag, .feat-tag {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.best-tag { background: linear-gradient(135deg, #c9962f, #ead08a); color: #3a2c08; }
.feat-tag { background: rgba(20, 16, 10, 0.78); color: #fff; }
.card-model {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.45s ease;
  z-index: 1;
}
.ess-card:hover .card-model,
.lux-card:hover .card-model,
.bo-card:hover .card-model { opacity: 1; }
.price-was { text-decoration: line-through; opacity: 0.55; font-size: 0.82em; margin-right: 5px; }
.price-now { font-weight: 600; }

/* ===== Vitrine "Mais vendidas" ===== */
.bestsellers { padding: 50px 0; background: linear-gradient(180deg, rgba(201, 150, 47, 0.08), rgba(201, 150, 47, 0)); }
.bs-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bs-head { text-align: center; margin-bottom: 28px; }
.bs-eyebrow { display: inline-block; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: #b08a2e; font-weight: 700; }
.bs-head h2 { font-size: clamp(26px, 4vw, 40px); margin: 10px 0 6px; font-family: "Cormorant Garamond", "Playfair Display", serif; }
.bs-head p { color: #7a6d59; margin: 0; }
.bs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bs-slot { position: relative; }
.bs-slot > article { height: 100%; transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease; }
.bs-slot > article:hover { transform: translateY(-8px) scale(1.025); box-shadow: 0 28px 54px rgba(40, 28, 10, 0.22); z-index: 2; }
.bs-rank {
  position: absolute;
  top: -12px;
  left: -12px;
  z-index: 5;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c9962f, #ead08a);
  color: #3a2c08;
  font-weight: 800;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(150, 110, 30, 0.4);
}
@media (max-width: 820px) { .bs-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .bs-grid { grid-template-columns: 1fr; } }

.modal-model { margin-top: 10px; }

/* ===== Toggle (chave) + reserva + exportar relatório ===== */
.label-with-switch { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.switch { position: relative; display: inline-flex; width: 38px; height: 22px; flex: 0 0 auto; }
.switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.switch .slider { position: absolute; inset: 0; background: #cfc6b6; border-radius: 999px; cursor: pointer; transition: background 0.2s ease; }
.switch .slider::before { content: ""; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); transition: transform 0.2s ease; }
.switch input:checked + .slider { background: #1f9d55; }
.switch input:checked + .slider::before { transform: translateX(16px); }
.switch-text { font-size: 12px; color: #8a7c63; font-weight: 600; }
.input-disabled { color: #b3a99a !important; background: #f4f0e9 !important; cursor: not-allowed; }
.textarea-auto { background: #f8f5ef; color: #6a5f4d; }
.report-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.badge-reserved { display: inline-flex; align-items: center; gap: 6px; }
.rdot { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: rdotPulse 1.6s infinite; }
@keyframes rdotPulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.65); }
  70% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

/* ===== Pop-up de e-mail no catálogo ===== */
.email-pop { position: fixed; inset: 0; z-index: 4000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(20, 15, 8, 0.55); animation: popFade 0.3s ease; }
.email-pop[hidden] { display: none; }
@keyframes popFade { from { opacity: 0; } to { opacity: 1; } }
.email-pop-card { position: relative; width: 100%; max-width: 420px; background: #fff; border-radius: 20px; padding: 34px 30px 26px; box-shadow: 0 30px 80px rgba(20, 15, 8, 0.4); text-align: center; animation: popUp 0.38s cubic-bezier(0.2, 0.9, 0.2, 1); }
@keyframes popUp { from { transform: translateY(18px) scale(0.97); opacity: 0; } to { transform: none; opacity: 1; } }
.email-pop-x { position: absolute; top: 12px; right: 14px; border: none; background: none; font-size: 24px; line-height: 1; color: #b3a695; cursor: pointer; }
.email-pop-badge { display: inline-block; background: linear-gradient(135deg, #c9962f, #ead08a); color: #3a2c08; font-weight: 800; font-size: 13px; letter-spacing: 0.04em; padding: 5px 12px; border-radius: 999px; margin-bottom: 12px; }
.email-pop-card h3 { font-size: 24px; margin: 4px 0 10px; font-family: "Cormorant Garamond", "Playfair Display", serif; color: #221b10; }
.email-pop-card p { color: #6a5f4d; margin: 0 0 18px; line-height: 1.5; font-size: 15px; }
#emailPopForm { display: flex; flex-direction: column; gap: 10px; }
#emailPopInput { padding: 13px 14px; border: 1px solid #ddd2bf; border-radius: 12px; font-size: 15px; }
#emailPopForm .site-button { width: 100%; cursor: pointer; border: none; }
.email-pop-skip { margin-top: 12px; background: none; border: none; color: #a99a82; font-size: 13px; cursor: pointer; text-decoration: underline; }

/* admin: bloco do pop-up + leads */
.popup-settings { margin-top: 22px; padding-top: 20px; border-top: 1px dashed #e3d9c8; }
.popup-head { font-weight: 600; }
.report-leads { margin: 4px 0 18px; color: #6a5f4d; font-weight: 600; }

/* ===== Banner de teste grátis (admin) ===== */
.trial-banner { background: linear-gradient(90deg, #f6ecd2, #fbf5e6); color: #6a531a; padding: 11px 18px; border-radius: 12px; margin-bottom: 16px; font-weight: 600; font-size: 14px; border: 1px solid #ecdcb6; }
.trial-banner a { color: #8a6a1a; font-weight: 700; text-decoration: underline; margin-left: 6px; }
.trial-banner.expired { background: #fdecea; color: #b3261e; border-color: #f6c9c4; }
.trial-banner.expired a { color: #b3261e; }

/* ===== Modal de cadastro (teste grátis) na landing ===== */
.lp-signup { position: fixed; inset: 0; z-index: 5000; display: flex; align-items: flex-start; justify-content: center; padding: 40px 18px; overflow-y: auto; background: rgba(20, 15, 8, 0.6); animation: popFade 0.3s ease; }
.lp-signup[hidden] { display: none; }
.lp-signup-card { position: relative; width: 100%; max-width: 440px; background: #fff; border-radius: 22px; padding: 36px 34px 26px; box-shadow: 0 40px 90px rgba(20, 15, 8, 0.45); animation: popUp 0.4s cubic-bezier(0.2, 0.9, 0.2, 1); }
.lp-signup-x { position: absolute; top: 14px; right: 16px; border: none; background: none; font-size: 26px; line-height: 1; color: #b3a695; cursor: pointer; }
.lp-signup-head { text-align: center; margin-bottom: 20px; }
.lp-signup-badge { display: inline-block; background: linear-gradient(135deg, #c9962f, #ead08a); color: #3a2c08; font-weight: 800; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
.lp-signup-head h3 { font-size: 26px; margin: 12px 0 6px; font-family: "Cormorant Garamond", "Playfair Display", serif; color: #211a0f; }
.lp-signup-head p { color: #7a6d59; margin: 0; font-size: 14px; }
.lp-signup-form { display: flex; flex-direction: column; gap: 12px; }
.lp-signup-form label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; color: #5a4f3f; }
.lp-signup-form input, .lp-signup-form select { padding: 12px 13px; border: 1px solid #ddd2bf; border-radius: 11px; font-size: 15px; font-weight: 400; background: #fff; }
.lp-signup-form .lp-big { margin-top: 6px; width: 100%; cursor: pointer; border: none; }
.lp-signup-form .lp-big:disabled { opacity: 0.7; cursor: default; }
.lp-signup-error { background: #fdecea; color: #b3261e; padding: 9px 12px; border-radius: 9px; font-size: 13px; font-weight: 600; margin: 0; }
.lp-signup-foot { text-align: center; margin: 16px 0 0; font-size: 13px; color: #9a8d78; }
.lp-signup-foot a { color: #8a6a1a; font-weight: 700; }

/* ===== Clientes + pós-venda ===== */
.cust-stagebar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 18px; }
.cust-stage-pill { background: #fff; border: 1px solid #ece3d6; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; border-left-width: 4px; }
.cust-stage-pill span { font-size: 12px; color: #7a6d59; }
.cust-stage-pill strong { font-size: 20px; color: #2c2419; }
.cust-stage-pill.stage-0 { border-left-color: #2f6fed; }
.cust-stage-pill.stage-1 { border-left-color: #19a3a3; }
.cust-stage-pill.stage-2 { border-left-color: #c9962f; }
.cust-stage-pill.stage-3 { border-left-color: #8a5cd1; }
.cust-stage-pill.stage-4 { border-left-color: #1f9d55; }
@media (max-width: 720px) { .cust-stagebar { grid-template-columns: repeat(2, 1fr); } }

.customers-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.cust-card { text-align: left; background: #fff; border: 1px solid #ece3d6; border-radius: 14px; padding: 14px 16px; cursor: pointer; transition: box-shadow 0.2s ease, transform 0.15s ease; display: flex; flex-direction: column; gap: 8px; }
.cust-card:hover { box-shadow: 0 12px 28px rgba(40, 30, 15, 0.12); transform: translateY(-2px); }
.cust-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cust-card-top strong { color: #2c2419; font-size: 15px; }
.cust-card-meta { color: #8a7c63; font-size: 13px; }
.cust-empty { color: #9a8d78; font-size: 14px; }
.cust-stage-badge { font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.cust-stage-badge.stage-0 { background: #e7efff; color: #1a49c0; }
.cust-stage-badge.stage-1 { background: #def3f3; color: #0f7a7a; }
.cust-stage-badge.stage-2 { background: #f6ecd2; color: #8a6a1a; }
.cust-stage-badge.stage-3 { background: #efe6fb; color: #6a3db5; }
.cust-stage-badge.stage-4 { background: #dcf5e6; color: #137a44; }

.cust-modal { position: fixed; inset: 0; z-index: 1400; display: flex; align-items: flex-start; justify-content: center; padding: 32px 16px; overflow-y: auto; background: rgba(20, 15, 8, 0.5); }
.cust-modal[hidden] { display: none; }
.cust-modal-card { position: relative; width: 100%; max-width: 520px; background: #fff; border-radius: 18px; padding: 28px 26px 22px; box-shadow: 0 30px 70px rgba(20, 15, 8, 0.35); }
.cust-modal-card h3 { margin: 0 0 16px; font-size: 20px; }
.cust-modal-card > label, .cust-modal-card .two-columns label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; color: #5a4f3f; margin-bottom: 12px; }
.cust-modal-card input, .cust-modal-card select, .cust-modal-card textarea { padding: 11px 12px; border: 1px solid #ddd2bf; border-radius: 10px; font-size: 14px; font-weight: 400; }
.cust-x { position: absolute; top: 12px; right: 14px; border: none; background: none; font-size: 24px; color: #b3a695; cursor: pointer; }
.cust-funnel { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 18px; }
.funnel-step { display: flex; align-items: center; gap: 6px; border: 1px solid #e0d6c4; background: #faf6ef; color: #9a8d78; border-radius: 999px; padding: 6px 11px 6px 6px; font-size: 12px; font-weight: 600; cursor: pointer; }
.funnel-step .funnel-dot { width: 20px; height: 20px; border-radius: 50%; background: #e0d6c4; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.funnel-step.done { color: #2c2419; border-color: #c9962f; background: #fbf3df; }
.funnel-step.done .funnel-dot { background: #c9962f; }
.funnel-step.current { box-shadow: 0 0 0 2px rgba(201, 150, 47, 0.3); }
.cust-history-block { border-top: 1px solid #efe7da; padding-top: 14px; margin-top: 4px; }
.cust-history-block h4 { margin: 0 0 10px; font-size: 14px; }
.cust-history { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.cust-hist-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #faf6ef; border-radius: 10px; padding: 9px 12px; font-size: 13px; }
.cust-hist-date { display: block; font-size: 11px; color: #9a8d78; }
.cust-hist-x { border: none; background: none; font-size: 17px; color: #b3a695; cursor: pointer; }
.cust-hist-empty { color: #9a8d78; font-size: 13px; margin: 0 0 12px; }
.cust-add-buy { display: grid; grid-template-columns: 1fr 110px auto; gap: 8px; }
.cust-add-buy input { padding: 10px 11px; border: 1px solid #ddd2bf; border-radius: 10px; font-size: 13px; }
.cust-wa { display: inline-block; margin: 6px 0 14px; color: #137a44; font-weight: 700; font-size: 14px; text-decoration: none; }
.cust-modal-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.cust-modal-right { display: flex; gap: 10px; }
.ghost-button.danger { color: #b3261e; }
@media (max-width: 540px) { .cust-add-buy { grid-template-columns: 1fr; } }

/* ===== Template travado por plano ===== */
.template-card.tpl-locked { opacity: 0.5; position: relative; }
.template-card.tpl-locked::after {
  content: "Plano Profissional";
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(20, 16, 10, 0.82);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
}
.trial-banner.plan { background: linear-gradient(90deg, #eef2f7, #f6f9fc); color: #3a4654; border-color: #dde6f0; }
.trial-banner.plan a { color: #2f6fed; }

/* ===== Gating de recursos por plano (mostra travado) ===== */
.plan-locked { opacity: 0.55; pointer-events: none; position: relative; }
.plan-locked .plan-lock-badge { pointer-events: auto; opacity: 1; }
.plan-lock-badge { background: #f6ecd2; color: #6a531a; border: 1px solid #ecdcb6; border-radius: 10px; padding: 8px 12px; font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.plan-lock-badge a { color: #8a6a1a; font-weight: 700; text-decoration: underline; margin-left: 4px; }

/* tabela de preços com 4 planos */
.lp-pricing .lp-price-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }

/* ===== Importar clientes ===== */
.cust-head-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* ===== Bandas com parallax (landing) ===== */
.lp-band {
  position: relative;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.lp-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(20, 15, 8, 0.42), rgba(20, 15, 8, 0.55));
}
.lp-band-inner {
  position: relative;
  z-index: 1;
  max-width: 780px;
  text-align: center;
  padding: 0 24px;
}
.lp-band-inner p {
  color: #fff;
  font-family: "Cormorant Garamond", "Playfair Display", serif;
  font-size: clamp(24px, 3.6vw, 42px);
  line-height: 1.25;
  margin: 0;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.3);
}
@media (max-width: 820px) {
  .lp-band { background-attachment: scroll; min-height: 280px; }
}

/* ===== Selo de escassez ===== */
.scarce-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 3;
  background: rgba(20, 16, 10, 0.82);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 9px;
  border-radius: 999px;
}
.scarce-badge.scarce-last { background: #c0162b; }

/* ===== Sacolinha de interesse ===== */
.bag-add { position: absolute; bottom: 10px; right: 10px; z-index: 4; width: 34px; height: 34px; border-radius: 50%; border: none; background: var(--site-accent, #b98b2f); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; }
.bag-add:hover { filter: brightness(1.06); }
.bag-add-modal { background: #fff !important; color: var(--site-primary, #222) !important; border: 1px solid #ddd2bf !important; }
.bag-fab { position: fixed; bottom: 22px; right: 22px; z-index: 3000; width: 58px; height: 58px; border-radius: 50%; border: none; background: var(--site-accent, #b98b2f); color: #fff; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,.28); display: flex; align-items: center; justify-content: center; }
.bag-fab[hidden] { display: none; }
.bag-fab svg { width: 26px; height: 26px; }
.bag-count { position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #c0162b; color: #fff; font-size: 12px; font-weight: 700; border: 2px solid #fff; display: flex; align-items: center; justify-content: center; }
.bag-panel { position: fixed; bottom: 90px; right: 22px; z-index: 3000; width: 340px; max-width: calc(100vw - 32px); max-height: 66vh; overflow-y: auto; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(20,15,8,.32); }
.bag-panel[hidden] { display: none; }
.bag-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #efe7da; }
.bag-head strong { font-size: 16px; }
.bag-x { border: none; background: none; font-size: 22px; color: #b3a695; cursor: pointer; }
.bag-list { padding: 6px 0; }
.bag-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-bottom: 1px solid #f4efe6; }
.bag-info { display: flex; flex-direction: column; gap: 2px; }
.bag-info strong { font-size: 14px; color: #2c2419; }
.bag-info span { font-size: 13px; color: #8a7c63; }
.bag-qty { display: flex; align-items: center; gap: 6px; }
.bag-qty button { width: 26px; height: 26px; border-radius: 8px; border: 1px solid #ddd2bf; background: #fff; cursor: pointer; font-size: 15px; line-height: 1; color: #5a4f3f; }
.bag-qty span { min-width: 18px; text-align: center; font-weight: 600; }
.bag-remove { border: none !important; color: #c0392b !important; font-size: 18px !important; }
.bag-foot { padding: 14px 16px; }
.bag-send { width: 100%; text-align: center; }
.site-toast { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%) translateY(10px); z-index: 3200; background: rgba(20,16,10,.92); color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 14px; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.site-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ===== Destaques automáticos (abas) ===== */
.destaques { padding: 46px 0; background: linear-gradient(180deg, rgba(201, 150, 47, 0.06), rgba(201, 150, 47, 0)); }
.dq-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.dq-head { text-align: center; margin-bottom: 16px; }
.dq-eyebrow { display: inline-block; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: #b08a2e; font-weight: 700; }
.dq-head h2 { font-size: clamp(24px, 3.6vw, 38px); margin: 8px 0 0; font-family: "Cormorant Garamond", "Playfair Display", serif; }
.dq-tabs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 22px; }
.dq-tab { border: 1px solid #e0d6c4; background: #fff; color: #6a5f4d; border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.dq-tab:hover { border-color: #c9962f; }
.dq-tab.active { background: var(--site-accent, #b98b2f); color: #fff; border-color: transparent; }
.dq-grid { display: none; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 20px; }
.dq-grid.active { display: grid; animation: dqFade 0.35s ease; }
@keyframes dqFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .dq-grid { grid-template-columns: 1fr 1fr; gap: 12px; } }

/* ===== Links de coleção (painel) ===== */
.share-links { margin-top: 22px; padding-top: 20px; border-top: 1px dashed #e3d9c8; }
.share-links h4 { margin: 0 0 4px; font-size: 15px; color: #2c2419; }
.share-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f1ebe1; }
.share-row:last-child { border-bottom: none; }
.share-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.share-info strong { font-size: 14px; color: #3a3128; }
.share-info span { font-size: 12px; color: #9a8d78; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60vw; }
.share-copy { flex: 0 0 auto; padding: 7px 14px; font-size: 13px; }

/* ===== Campanhas + QR (painel) ===== */
.campaign-form { margin-bottom: 20px; }
.campaigns-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.camp-card { background: #fff; border: 1px solid #ece3d6; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.camp-card.paused { opacity: 0.62; }
.camp-top { display: flex; flex-direction: column; gap: 2px; }
.camp-top strong { font-size: 15px; color: #2c2419; }
.camp-type { font-size: 12px; color: #8a7c63; }
.camp-link { display: flex; align-items: center; gap: 8px; background: #faf6ef; border-radius: 10px; padding: 8px 10px; }
.camp-link span { font-size: 11px; color: #7a6d59; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }
.camp-link .camp-copy { flex: 0 0 auto; padding: 5px 12px; font-size: 12px; }
.camp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.camp-stats div { background: #f7f2ea; border-radius: 10px; padding: 8px 4px; }
.camp-stats strong { display: block; font-size: 18px; color: #2c2419; }
.camp-stats span { font-size: 11px; color: #8a7c63; }
.camp-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.camp-actions button { padding: 7px 12px; font-size: 13px; }

.qr-modal { position: fixed; inset: 0; z-index: 1500; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(20, 15, 8, 0.55); }
.qr-modal[hidden] { display: none; }
.qr-card { position: relative; background: #fff; border-radius: 18px; padding: 28px; text-align: center; max-width: 320px; width: 100%; box-shadow: 0 30px 70px rgba(20, 15, 8, 0.35); }
.qr-card h3 { margin: 0 0 16px; font-size: 17px; }
.qr-box { display: flex; justify-content: center; margin-bottom: 14px; min-height: 220px; align-items: center; }
.qr-url { font-size: 11px; color: #9a8d78; word-break: break-all; margin: 0 0 16px; }
.qr-x { position: absolute; top: 12px; right: 14px; border: none; background: none; font-size: 22px; color: #b3a695; cursor: pointer; }

/* ===== Status de otimização de imagem ===== */
.img-status { display: inline-block; color: #8a6a1a; font-weight: 600; margin-top: 6px; }

/* ===== Cadastro enxuto: "Mais detalhes" ===== */
.mais-detalhes { border: 1px solid #ece3d6; border-radius: 12px; margin: 6px 0 10px; background: #fdfbf7; }
.mais-detalhes > summary { cursor: pointer; padding: 12px 14px; font-weight: 600; color: #5a4f3f; list-style: none; display: flex; align-items: center; justify-content: space-between; }
.mais-detalhes > summary::-webkit-details-marker { display: none; }
.mais-detalhes > summary::after { content: "+"; color: #b08a2e; font-size: 20px; font-weight: 700; }
.mais-detalhes[open] > summary::after { content: "\2013"; }
.mais-detalhes-body { padding: 2px 14px 14px; }

/* ===== Minha Loja Hoje ===== */
.dash-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.dash-card { position: relative; display: flex; flex-direction: column; background: linear-gradient(180deg, #ffffff, #fcfaf5); border: 1px solid #ece3d6; border-radius: 18px; overflow: hidden; transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.22s ease, border-color 0.22s ease; }
.dash-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(40, 30, 15, 0.14); border-color: #e0d4bf; }
.dash-band { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #fff; padding: 8px 16px; }
.dash-band-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.95); animation: dashPulse 2s infinite; }
@keyframes dashPulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6); } 70% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
.prio-alta .dash-band { background: linear-gradient(90deg, #e0402f, #f4694a); }
.prio-media .dash-band { background: linear-gradient(90deg, #c98a1c, #e6b53d); }
.prio-baixa .dash-band { background: linear-gradient(90deg, #4a6a86, #6f93b0); }
.dash-body { display: flex; align-items: center; gap: 14px; padding: 16px; }
.dash-icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 13px; background: #f6ecd2; color: #8a6a1a; display: flex; align-items: center; justify-content: center; transition: transform 0.22s ease; }
.dash-card:hover .dash-icon { transform: scale(1.08) rotate(-3deg); }
.dash-icon svg { width: 24px; height: 24px; }
.dash-info { flex: 1; min-width: 0; }
.dash-info strong { display: block; font-size: 15.5px; color: #2c2419; }
.dash-info p { margin: 3px 0 0; font-size: 13px; color: #7a6d59; line-height: 1.35; }
.dash-btn { flex: 0 0 auto; padding: 9px 16px; font-size: 13px; }
.dash-empty { color: #8a7c63; font-size: 14px; padding: 8px 0; }
@media (max-width: 560px) { .dash-body { flex-wrap: wrap; } .dash-btn { width: 100%; } }

/* ===== Minha Loja Hoje — gamificação ===== */
.dash-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.dash-head-right { display: flex; align-items: center; gap: 10px; }
.dash-points { background: #f6ecd2; color: #8a6a1a; font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 999px; white-space: nowrap; }
.dash-sound { width: 38px; height: 38px; border-radius: 10px; border: 1px solid #e6ddcf; background: #fff; color: #6a5f4d; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.dash-sound.muted { color: #b3a695; }
.dash-sound svg { width: 20px; height: 20px; }
.dash-progress { background: #fff; border: 1px solid #ece3d6; border-radius: 14px; padding: 14px 16px; margin-bottom: 16px; }
.dash-progress:empty { display: none; }
.dash-prog-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.dash-prog-top strong { color: #2c2419; font-size: 15px; }
.dash-prog-top span { color: #8a7c63; font-size: 13px; }
.dash-prog-bar { height: 10px; background: #efe7da; border-radius: 999px; overflow: hidden; }
.dash-prog-fill { height: 100%; background: linear-gradient(90deg, #c9962f, #ead08a); border-radius: 999px; transition: width 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); }
.dash-prog-msg { margin: 8px 0 0; font-size: 13px; color: #7a6d59; }
.dash-card.done { border-color: #bfe6cf; }
.dash-card.done .dash-band { background: linear-gradient(90deg, #1f9d55, #46c07d); }
.dash-card.done .dash-body { background: #f6fcf8; }
.dash-card.done .dash-icon { background: #dcf5e6; color: #137a44; }
.dash-check { color: #137a44; font-weight: 700; font-size: 14px; white-space: nowrap; }
.confetti { position: fixed; width: 8px; height: 8px; border-radius: 2px; z-index: 6000; pointer-events: none; animation: confettiFly 0.9s ease-out forwards; }
@keyframes confettiFly { 0% { transform: translate(0, 0) rotate(0deg); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) rotate(320deg); opacity: 0; } }
.dash-summary { margin-top: 18px; background: #faf6ef; border: 1px solid #efe7da; border-radius: 14px; padding: 14px 18px; }
.dash-summary:empty { display: none; }
.dash-summary h4 { margin: 0 0 8px; font-size: 14px; color: #2c2419; }
.dash-summary ul { margin: 0; padding-left: 18px; }
.dash-summary li { font-size: 13px; color: #5a4f3f; margin: 3px 0; }
.dash-sum-msg { margin: 10px 0 0; font-weight: 600; color: #8a6a1a; font-size: 13px; }

/* ===== Links para compartilhar (cards clica-e-copia) ===== */
#shareLinksList { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin-top: 8px; }
.share-card { text-align: left; background: #fff; border: 1px solid #e6ddcf; border-radius: 12px; padding: 12px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.share-card:hover { border-color: #c9962f; box-shadow: 0 6px 16px rgba(40, 30, 15, 0.1); }
.share-copyicon { color: #b08a2e; margin-bottom: 4px; }
.share-copyicon svg { width: 18px; height: 18px; }
.share-card strong { font-size: 14px; color: #2c2419; }
.share-hint { font-size: 12px; color: #9a8d78; }
.share-card.copied { border-color: #1f9d55; background: #f6fcf8; }
.share-card.copied .share-hint { color: #137a44; font-weight: 600; }
.share-card.copied .share-copyicon { color: #1f9d55; }
.report-col-hint { font-size: 12px; color: #9a8d78; margin: -6px 0 10px; }

/* ===== Mensagens prontas por cliente ===== */
.cust-msgs { margin-top: 14px; }
.cust-msgs:empty { display: none; }
.cust-msgs h4 { margin: 0 0 8px; font-size: 14px; color: #2c2419; }
.cust-msgs-hint { font-weight: 400; font-size: 12px; color: #9a8d78; }
.cust-msg { background: #faf6ef; border: 1px solid #efe7da; border-radius: 12px; padding: 11px 13px; margin-bottom: 8px; }
.cust-msg p { margin: 0 0 8px; font-size: 13px; color: #4f4535; line-height: 1.4; }
.cust-msg-actions { display: flex; gap: 8px; }
.cust-msg-actions .ghost-button, .cust-msg-actions .primary-button { padding: 6px 14px; font-size: 12px; }
.cust-msg-send { text-decoration: none; display: inline-flex; align-items: center; }
