:root {
  --vinho: #5d1718;
  --vinho-2: #7b2020;
  --vinho-3: #3f1011;
  --marrom: #7d432a;
  --caramelo: #d7a451;
  --bege: #ead8ae;
  --bege-2: #f6e5c2;
  --papel: #fff9ef;
  --papel-2: #fbf1df;
  --texto: #321815;
  --muted: #71574a;
  --borda: rgba(93, 23, 24, .15);
  --sucesso: #2e7257;
  --erro: #a33724;
  --sombra: 0 26px 70px rgba(45, 17, 12, .16);
  --sombra-card: 0 16px 44px rgba(45, 17, 12, .10);
  --raio: 12px;
  --raio-sm: 8px;
  --max: 1180px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--texto);
  background:
    linear-gradient(180deg, rgba(255,249,239,.97), rgba(251,241,223,.94)),
    url("assets/pattern-rect.webp") center top / min(1400px, 100vw) auto repeat-y;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; }
button, input, select { font: inherit; }

.skip-link {
  position: fixed; top: .75rem; left: 1rem; z-index: 999;
  transform: translateY(-150%);
  padding: .7rem .9rem; background: var(--papel); color: var(--vinho);
  border: 1px solid var(--borda); transition: transform .2s var(--ease);
}
.skip-link:focus { transform: translateY(0); }

.read-progress { position: fixed; inset: 0 0 auto; height: 4px; background: rgba(255,255,255,.28); z-index: 200; }
.read-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--bege), var(--caramelo)); }

.section-shell { width: min(100% - 2rem, var(--max)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 120;
  background: rgba(255,249,239,.9); border-bottom: 1px solid rgba(93,23,24,.1);
  backdrop-filter: blur(16px);
}
.nav { min-height: 74px; width: min(100% - 2rem, var(--max)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--vinho); font-weight: 900; letter-spacing: -.03em; }
.brand-mark { width: 46px; height: 42px; display: grid; place-items: center; color: var(--bege); background: var(--vinho); border-radius: 10px; box-shadow: 0 10px 24px rgba(93,23,24,.18); font-size: .9rem; }
.brand-text { font-size: 1rem; }
.nav-actions { display: none; align-items: center; gap: 1.05rem; }
.nav-link { text-decoration: none; color: var(--muted); font-weight: 800; font-size: .92rem; }
.nav-link:hover { color: var(--vinho); }

.hero {
  position: relative; isolation: isolate;
  display: grid; gap: 2rem; align-items: center;
  min-height: calc(100vh - 74px);
  padding-block: clamp(2.5rem, 6vw, 5rem);
}
.hero::before {
  content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 34px;
  background: repeating-linear-gradient(90deg, var(--bege) 0 70px, var(--marrom) 70px 140px);
  transform: translateY(-1px); z-index: -1;
}
.hero-bg {
  position: absolute; inset: 34px 0 0; z-index: -2; overflow: hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(215,164,81,.2), transparent 28rem),
    linear-gradient(135deg, rgba(70,17,19,.97), rgba(93,23,24,.93)),
    url("assets/pattern-square.webp") center / 880px repeat;
  border: 1px solid rgba(234,216,174,.18);
  box-shadow: var(--sombra);
}
.hero-bg::before {
  content: ""; position: absolute; right: 3%; bottom: -7%; width: min(42vw, 560px); height: min(54vw, 680px);
  background: url("assets/final-brand.webp") center bottom / contain no-repeat; opacity: .28;
  animation: floatBrand 8s ease-in-out infinite;
}
.hero-bg::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(70,17,19,.18), rgba(70,17,19,.55));
}
.hero-content { color: var(--papel); padding-top: 2rem; }
.eyebrow { margin: 0 0 .7rem; color: var(--vinho); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero .eyebrow, .eyebrow-light { color: var(--bege); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 11ch; margin-bottom: 1rem; font-size: clamp(3rem, 9.5vw, 6.3rem); line-height: .9; letter-spacing: -.075em; }
h2 { margin-bottom: 1rem; font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -.055em; }
h3 { margin-bottom: .7rem; font-size: clamp(1.25rem, 2.4vw, 1.55rem); line-height: 1.12; letter-spacing: -.035em; }
.hero-subtitle { max-width: 620px; color: rgba(255,249,239,.87); font-size: clamp(1.1rem, 2.2vw, 1.38rem); }
.hero-highlight { width: fit-content; margin: 1.5rem 0; padding: 1rem 1.15rem; border: 1px solid rgba(234,216,174,.34); background: rgba(255,249,239,.08); box-shadow: 0 18px 42px rgba(0,0,0,.14); }
.hero-highlight span { display: block; color: rgba(255,249,239,.72); font-weight: 800; }
.hero-highlight strong { display: block; color: var(--bege); font-size: clamp(2rem, 5.6vw, 3.3rem); line-height: 1; letter-spacing: -.055em; }
.hero-points { display: grid; gap: .6rem; margin: 0 0 1.6rem; padding: 0; list-style: none; color: rgba(255,249,239,.84); font-weight: 760; }
.hero-points li { display: flex; align-items: center; gap: .65rem; }
.hero-points li::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; background: var(--caramelo); transform: rotate(45deg); }
.hero-ctas { display: flex; flex-wrap: wrap; gap: .9rem; }

.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .84rem 1.15rem; border: 1px solid transparent; border-radius: 8px; cursor: pointer; text-decoration: none; font-weight: 900; transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(215,164,81,.95); outline-offset: 3px; }
.btn-primary { background: var(--bege); color: var(--vinho); box-shadow: 0 14px 30px rgba(0,0,0,.16); }
.btn-primary:hover { background: #f2dfb6; }
.btn-secondary { color: var(--papel); background: rgba(255,249,239,.08); border-color: rgba(234,216,174,.34); }
.btn-secondary:hover { background: rgba(255,249,239,.15); }
.btn-small { min-height: 40px; padding: .6rem .9rem; font-size: .9rem; }
.btn-full { width: 100%; }

.lead-card { position: relative; overflow: hidden; padding: clamp(1.1rem, 3vw, 1.6rem); background: rgba(255,249,239,.96); border: 1px solid rgba(234,216,174,.46); box-shadow: var(--sombra); }
.lead-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 14px; background: repeating-linear-gradient(90deg, var(--bege) 0 36px, var(--marrom) 36px 72px); }
.lead-card::after, .profile-card::after, .expansion-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(220px circle at var(--glow-x, 50%) var(--glow-y, 0%), rgba(215,164,81,.16), transparent 58%); opacity: .9; }
.lead-card-header { padding-top: .8rem; }
.lead-card h2 { font-size: clamp(1.45rem, 3.6vw, 2rem); letter-spacing: -.045em; }
.lead-card-header p:last-child { color: var(--muted); margin-bottom: 1.4rem; }
.lead-form { display: grid; gap: 1rem; }
.form-field { display: grid; gap: .38rem; border: 0; padding: 0; margin: 0; }
label, legend { font-size: .92rem; color: var(--texto); font-weight: 850; }
input[type="text"], input[type="email"], input[type="tel"], select { width: 100%; min-height: 48px; padding: .72rem .86rem; color: var(--texto); background: #fffdf8; border: 1px solid var(--borda); border-radius: 8px; transition: border-color .18s var(--ease), box-shadow .18s var(--ease); }
input:hover, select:hover { border-color: rgba(93,23,24,.36); }
input[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--erro); background: #fff6f2; }
.form-hint { color: var(--muted); font-size: .78rem; }
.field-error { min-height: 1rem; color: var(--erro); font-size: .8rem; font-weight: 800; }
.capital-field { gap: .55rem; }
.capital-field label, .privacy-check { display: flex; gap: .65rem; align-items: flex-start; padding: .7rem .75rem; border: 1px solid var(--borda); border-radius: 8px; background: rgba(246,229,194,.45); color: var(--muted); font-weight: 760; }
.capital-field input, .privacy-check input { width: 1rem; height: 1rem; margin-top: .18rem; accent-color: var(--vinho); }
.autosave-status { min-height: 1rem; margin: -.2rem 0 0; color: var(--sucesso); font-size: .8rem; font-weight: 850; opacity: 0; transition: opacity .18s var(--ease); }
.autosave-status.is-visible { opacity: 1; }
.form-feedback { min-height: 1.2rem; margin-bottom: 0; color: var(--sucesso); font-weight: 850; text-align: center; }
.form-feedback.is-error { color: var(--erro); }

.split-section, .story-section, .support-section, .steps-section, .profile-section, .faq-section { padding-block: clamp(4rem, 7vw, 6rem); }
.section-copy { max-width: 720px; }
.section-copy.center { margin-inline: auto; text-align: center; }
.section-copy p, .section-lead { color: var(--muted); font-size: 1.06rem; }
.benefit-grid { display: grid; gap: 1rem; margin-top: 2.2rem; }
.benefit-card, .mix-panel, .profile-card, .expansion-card, .faq-list details { border: 1px solid var(--borda); background: rgba(255,249,239,.92); box-shadow: var(--sombra-card); }
.benefit-card { position: relative; overflow: hidden; padding: 1.5rem; transform-style: preserve-3d; }
.benefit-card.is-tilting, .product-card.is-tilting, .showcase-card.is-tilting, .instagram-card.is-tilting { transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-2px); }
.benefit-card p, .profile-card p, .expansion-card li, .faq-list p { color: var(--muted); }
.icon { width: 46px; height: 40px; margin-bottom: 1rem; display: grid; place-items: center; border: 1px solid rgba(93,23,24,.16); background: var(--bege-2); color: var(--vinho); font-weight: 950; }
.mix-panel { display: grid; gap: 1.2rem; align-items: center; margin-top: 1rem; padding: 1.5rem; background: linear-gradient(135deg, rgba(255,249,239,.94), rgba(246,229,194,.78)); }
.tag-list { display: flex; flex-wrap: wrap; gap: .7rem; padding: 0; margin: 0; list-style: none; }
.tag-list li { padding: .55rem .8rem; color: var(--vinho); background: rgba(93,23,24,.08); border: 1px solid rgba(93,23,24,.13); border-radius: 999px; font-weight: 850; }

.story-section { display: grid; gap: 2rem; align-items: center; }
.story-media { position: relative; min-height: 380px; overflow: hidden; border: 1px solid var(--borda); box-shadow: var(--sombra); background: url("assets/brand-board.webp") center / cover no-repeat; }
.story-media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(93,23,24,.12), rgba(93,23,24,.34)); }
.video-placeholder { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; padding: 1rem; background: rgba(255,249,239,.92); border: 1px solid rgba(93,23,24,.12); backdrop-filter: blur(10px); }
.video-placeholder span { width: 48px; height: 48px; display: grid; place-items: center; background: var(--vinho); color: var(--bege); }
.video-placeholder p, .video-placeholder small { margin: 0; }
.video-placeholder p { color: var(--vinho); font-weight: 900; }
.video-placeholder small { color: var(--muted); }

.support-section { position: relative; color: var(--papel); background: linear-gradient(135deg, var(--vinho-3), var(--vinho)); width: 100%; max-width: none; padding-inline: max(1rem, calc((100vw - var(--max)) / 2)); }
.support-section .eyebrow, .support-section h2 { color: var(--bege); }
.support-section .section-lead { color: rgba(255,249,239,.78); }
.support-layout { display: grid; gap: 2rem; margin-top: 2.2rem; align-items: center; }
.support-list { display: grid; gap: 1rem; }
.support-list article { padding: 1rem; border-left: 4px solid var(--caramelo); background: rgba(255,249,239,.08); box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.support-list strong, .support-list span { display: block; }
.support-list span { margin-top: .3rem; color: rgba(255,249,239,.74); }
.photo-mosaic { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; gap: 1rem; }
.photo-slot { display: grid; place-items: center; padding: 1rem; color: var(--vinho); background: linear-gradient(180deg, rgba(234,216,174,.94), rgba(246,229,194,.78)), url("assets/pattern-square.webp") center / 400px; border: 1px solid rgba(234,216,174,.3); font-weight: 900; text-align: center; box-shadow: 0 18px 42px rgba(0,0,0,.16); }
.photo-slot.large { grid-row: span 2; }

.instagram-section { padding-block: clamp(4rem, 7vw, 6rem); color: var(--papel); background: linear-gradient(135deg, rgba(70,17,19,.97), rgba(93,23,24,.95)), url("assets/pattern-square.webp") center / 1000px repeat; }
.instagram-section h2, .instagram-section .eyebrow { color: var(--bege); }
.instagram-section .section-lead { color: rgba(255,249,239,.78); }
.instagram-status { color: rgba(255,249,239,.74); font-size: .92rem; font-weight: 800; }
.instagram-grid { display: grid; gap: 1rem; margin-top: 2.2rem; }
.instagram-card { position: relative; overflow: hidden; min-height: 260px; text-decoration: none; color: var(--papel); border: 1px solid rgba(234,216,174,.24); background: rgba(255,249,239,.08); box-shadow: 0 18px 48px rgba(0,0,0,.18); transform-style: preserve-3d; }
.instagram-card img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .45s var(--ease); }
.instagram-card:hover img { transform: scale(1.05); }
.instagram-card span { position: absolute; left: 1rem; bottom: 1rem; padding: .55rem .75rem; background: rgba(93,23,24,.86); border: 1px solid rgba(234,216,174,.28); font-weight: 900; }

.flow-section { position: relative; }
.steps-list { position: relative; display: grid; gap: 1rem; margin: 2.2rem 0 0; padding: 0; list-style: none; }
.steps-list::before { content: ""; position: absolute; left: 1.25rem; top: 1.4rem; bottom: 1.4rem; width: 2px; background: linear-gradient(180deg, var(--vinho), var(--caramelo)); opacity: .35; }
.steps-list li { position: relative; z-index: 1; padding: 1.35rem; border: 1px solid var(--borda); background: rgba(255,249,239,.93); box-shadow: var(--sombra-card); }
.steps-list span { width: 42px; height: 40px; margin-bottom: 1rem; display: grid; place-items: center; background: var(--vinho); color: var(--bege); font-weight: 950; box-shadow: 0 12px 24px rgba(93,23,24,.18); }
.steps-list strong { display: block; font-size: 1.06rem; }
.steps-list p { margin-bottom: 0; color: var(--muted); }
.steps-list li.is-visible span { animation: stepPulse .7s var(--ease) both; }

.profile-section { display: grid; gap: 1rem; }
.profile-card, .expansion-card { position: relative; overflow: hidden; padding: clamp(1.5rem, 4vw, 2.2rem); }
.expansion-card ul { padding-left: 1.2rem; }
.expansion-card strong { display: block; margin-top: 1rem; color: var(--vinho); font-size: 1.2rem; }
.faq-list { display: grid; gap: 1rem; max-width: 860px; margin: 2.2rem auto 0; }
.faq-list details { padding: 1rem 1.3rem; }
.faq-list summary { cursor: pointer; font-weight: 900; }
.faq-list p { margin: 1rem 0 0; }
.final-cta { position: relative; overflow: hidden; padding-block: clamp(4rem, 7vw, 6rem); color: var(--papel); background: linear-gradient(90deg, rgba(70,17,19,.94), rgba(93,23,24,.92)), url("assets/final-brand.webp") right bottom / auto 100% no-repeat; }
.final-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(70,17,19,.88) 0 62%, rgba(70,17,19,.45)); }
.final-cta .section-shell { position: relative; max-width: 780px; }
.final-cta p { color: rgba(255,249,239,.82); }
.footer { padding-block: 2rem 6rem; background: #24100f; color: var(--papel); }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.footer a { color: var(--bege); font-weight: 900; }
.floating-cta { position: fixed; left: 50%; bottom: 1rem; z-index: 90; width: min(100% - 2rem, 420px); transform: translate(-50%, 125%); transition: transform .22s var(--ease); }
.floating-cta.is-visible { transform: translate(-50%, 0); }
.floating-cta .btn { width: 100%; }

.admin-body { background: var(--papel-2); }
.admin-main { padding-block: 2rem 5rem; }
.admin-panel, .admin-table-card, .admin-stat { background: rgba(255,249,239,.95); border: 1px solid var(--borda); box-shadow: var(--sombra-card); }
.admin-panel { padding: 1.4rem; margin-bottom: 1rem; }
.admin-login { display: grid; gap: 1rem; max-width: 460px; }
.admin-toolbar { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.admin-stats { display: grid; gap: .8rem; margin: 1rem 0; }
.admin-stat { padding: 1rem; }
.admin-stat strong { display: block; font-size: 1.8rem; color: var(--vinho); line-height: 1; }
.admin-stat span { color: var(--muted); font-weight: 800; }
.admin-table-card { overflow: auto; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.admin-table th, .admin-table td { padding: .85rem; border-bottom: 1px solid var(--borda); text-align: left; vertical-align: top; }
.admin-table th { color: var(--vinho); background: rgba(246,229,194,.6); font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.admin-empty { padding: 1rem; color: var(--muted); }
.admin-note { color: var(--muted); font-size: .9rem; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .62s var(--ease), transform .62s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes floatBrand { 0%,100%{ transform: translateY(0) rotate(-1deg); } 50%{ transform: translateY(-14px) rotate(1deg); } }
@keyframes stepPulse { 0%{ transform: scale(.84); } 60%{ transform: scale(1.08); } 100%{ transform: scale(1); } }

@media (min-width: 640px) {
  .instagram-grid, .admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 760px) {
  .nav-actions { display: flex; }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr); }
  .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mix-panel { grid-template-columns: 1fr 1.2fr auto; }
  .story-section { grid-template-columns: .95fr 1fr; }
  .support-layout { grid-template-columns: 1fr .9fr; }
  .profile-section { grid-template-columns: 1.15fr .85fr; }
}
@media (min-width: 1020px) {
  .benefit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .steps-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .steps-list::before { left: 4%; right: 4%; top: 2.4rem; bottom: auto; width: auto; height: 2px; }
}
@media (max-width: 759px) {
  .section-shell, .nav { width: min(100% - 1.2rem, var(--max)); }
  .hero { padding-top: 3rem; }
  .hero-ctas .btn { width: 100%; }
  .support-section { padding-inline: .6rem; }
  .photo-mosaic { grid-template-columns: 1fr; grid-auto-rows: 130px; }
  .photo-slot.large { grid-row: span 1; }
  .final-cta::before { background: rgba(70,17,19,.88); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
.btn-large { min-height: 56px; padding-inline: 1.45rem; }
.final-cta .eyebrow { color: var(--bege); }
.lead-card > *, .profile-card > *, .expansion-card > * { position: relative; z-index: 1; }
[hidden] { display: none !important; }
code { padding: .15rem .3rem; border-radius: 4px; background: rgba(93,23,24,.08); color: var(--vinho); }

/* Ajustes v3: Instagram real, admin com funil e mobile-first refinado */
select#city { cursor: pointer; }
.instagram-grid.is-loading .instagram-card { animation: cardBreath 1.4s ease-in-out infinite; }
.instagram-card { border-radius: 14px; min-height: 0; }
.instagram-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(35, 12, 10, .58));
  pointer-events: none;
}
.instagram-card img { aspect-ratio: 1 / 1; min-height: 0; }
.instagram-card span { z-index: 2; border-radius: 999px; backdrop-filter: blur(8px); }

.admin-actions .btn { min-width: 140px; }
.admin-controls {
  display: grid;
  gap: .85rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--borda);
  background: rgba(255, 249, 239, .82);
  box-shadow: var(--sombra-card);
}
.admin-controls label { display: grid; gap: .4rem; color: var(--texto); font-weight: 850; }
.admin-controls input,
.admin-controls select,
.interest-select {
  min-height: 44px;
  border: 1px solid var(--borda);
  border-radius: 10px;
  background: #fffdf8;
  color: var(--texto);
  padding: .65rem .75rem;
}
.interest-select {
  width: 100%;
  min-width: 116px;
  font-weight: 900;
  cursor: pointer;
}
.interest-quente { color: #6c1d12; background: #ffe4d8; border-color: rgba(163, 55, 36, .26); }
.interest-morno { color: #755016; background: #fff0c8; border-color: rgba(215, 164, 81, .35); }
.interest-frio { color: #255f4a; background: #e5f4ec; border-color: rgba(46, 114, 87, .25); }
.admin-stat.interest-hot strong { color: #a33724; }
.admin-stat.interest-warm strong { color: #a67322; }
.admin-stat.interest-cold strong { color: #2e7257; }
.admin-table a { color: var(--vinho); font-weight: 760; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes cardBreath {
  0%, 100% { opacity: .92; transform: translateY(0); }
  50% { opacity: .72; transform: translateY(-3px); }
}

@media (min-width: 640px) {
  .admin-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .admin-controls { grid-template-columns: 1fr 220px; align-items: end; }
}

@media (max-width: 759px) {
  body { overflow-x: hidden; }
  .site-header { position: sticky; }
  .nav { min-height: 62px; }
  .brand-mark { width: 40px; height: 38px; border-radius: 9px; }
  .brand-text { font-size: .94rem; }
  .hero { min-height: auto; padding-top: 3.4rem; padding-bottom: 2.8rem; }
  .hero-bg { inset: 24px 0 0; }
  .hero-bg::before { width: 76vw; height: 78vw; opacity: .16; right: -18%; bottom: 3%; }
  h1 { font-size: clamp(2.55rem, 13.5vw, 4.1rem); letter-spacing: -.065em; }
  h2 { font-size: clamp(1.9rem, 9vw, 2.65rem); }
  .hero-subtitle { font-size: 1.02rem; }
  .hero-highlight { width: 100%; }
  .hero-highlight strong { font-size: clamp(2.15rem, 11vw, 3rem); }
  .lead-card { padding: 1rem; border-radius: 14px; }
  input[type="text"], input[type="email"], input[type="tel"], select { min-height: 50px; font-size: 16px; }
  .capital-field label, .privacy-check { padding: .85rem; }
  .instagram-grid { grid-template-columns: 1fr; gap: .85rem; }
  .instagram-card img { aspect-ratio: 4 / 3; }
  .instagram-card span { left: .8rem; bottom: .8rem; font-size: .88rem; }
  .steps-list li { padding-left: 1.15rem; }
  .admin-main { padding-block: 1rem 4rem; }
  .admin-panel { padding: 1rem; }
  .admin-toolbar { display: grid; align-items: stretch; }
  .admin-actions { display: grid; gap: .7rem; }
  .admin-actions .btn { width: 100%; }
  .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-stat { padding: .9rem; }
  .admin-stat strong { font-size: 1.55rem; }
  .admin-table-card { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .admin-table { min-width: 0; border-collapse: separate; border-spacing: 0 .85rem; }
  .admin-table thead { display: none; }
  .admin-table, .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; }
  .admin-table tr {
    padding: .85rem;
    border: 1px solid var(--borda);
    border-radius: 14px;
    background: rgba(255,249,239,.95);
    box-shadow: var(--sombra-card);
  }
  .admin-table td {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: .7rem;
    padding: .55rem 0;
    border-bottom: 1px solid rgba(93,23,24,.08);
  }
  .admin-table td:last-child { border-bottom: 0; }
  .admin-table td::before {
    content: attr(data-label);
    color: var(--vinho);
    font-weight: 900;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .05em;
  }
}

@media (max-width: 430px) {
  .section-shell, .nav { width: min(100% - 1rem, var(--max)); }
  .btn { min-height: 50px; }
  .hero-points { font-size: .94rem; }
  .instagram-section { padding-block: 3.2rem; }
  .admin-stats { grid-template-columns: 1fr; }
  .admin-table td { grid-template-columns: 1fr; gap: .25rem; }
}
.admin-panel h1 { max-width: 100%; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1; }
.admin-dashboard h2 { font-size: clamp(1.7rem, 4vw, 2.6rem); }

/* Ajustes de composição com proporção áurea */
:root {
  --phi: 1.618;
  --golden-major: 61.8%;
  --golden-minor: 38.2%;
  --max: 1168px;
}

@media (min-width: 760px) {
  .hero {
    grid-template-columns: minmax(0, 1.618fr) minmax(360px, 1fr);
    column-gap: clamp(2rem, 4.8vw, 4.2rem);
  }
  .story-section,
  .support-layout,
  .profile-section {
    grid-template-columns: minmax(0, 1fr) minmax(0, .618fr);
    column-gap: clamp(2rem, 4.4vw, 4rem);
  }
  .mix-panel {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .618fr) auto;
  }
  .benefit-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.catalog-inline-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: center;
}
.btn-dark {
  color: var(--vinho);
  background: rgba(93, 23, 24, .06);
  border-color: rgba(93, 23, 24, .16);
}
.btn-dark:hover { background: rgba(93, 23, 24, .1); }

/* Página de catálogo */
.catalog-body {
  background:
    linear-gradient(180deg, rgba(255,249,239,.98), rgba(251,241,223,.94)),
    url("assets/pattern-rect.webp") center top / min(1320px, 100vw) auto repeat-y;
}
.catalog-hero {
  position: relative;
  display: grid;
  gap: clamp(1.4rem, 4vw, 3rem);
  align-items: center;
  padding-block: clamp(3rem, 7vw, 6.4rem);
}
.catalog-hero::before {
  content: "";
  position: absolute;
  inset: 1.2rem 0 auto 0;
  height: 30px;
  background: repeating-linear-gradient(90deg, var(--bege) 0 70px, var(--marrom) 70px 140px);
  box-shadow: 0 12px 30px rgba(45, 17, 12, .08);
  z-index: -1;
}
.catalog-hero-copy {
  padding-top: 2rem;
}
.catalog-hero h1 {
  max-width: 10.2ch;
  color: var(--vinho);
}
.catalog-hero .hero-subtitle {
  color: var(--muted);
  max-width: 620px;
}
.catalog-hero-photo,
.catalog-feature-photo,
.catalog-card {
  border: 1px solid var(--borda);
  box-shadow: var(--sombra-card);
  background: rgba(255,249,239,.94);
  overflow: hidden;
}
.catalog-hero-photo {
  position: relative;
  transform-style: preserve-3d;
}
.catalog-hero-photo img {
  width: 100%;
  aspect-ratio: 1 / 1.236;
  object-fit: cover;
}
.catalog-hero-photo figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: .65rem .85rem;
  color: var(--bege);
  background: rgba(93, 23, 24, .88);
  border: 1px solid rgba(234,216,174,.28);
  font-weight: 900;
  backdrop-filter: blur(8px);
}
.catalog-feature {
  display: grid;
  gap: clamp(1.4rem, 4vw, 3rem);
  align-items: center;
  padding-block: clamp(3rem, 6vw, 5.6rem);
}
.catalog-feature-photo img {
  width: 100%;
  aspect-ratio: 1.618 / 1;
  object-fit: cover;
}
.catalog-feature-copy {
  padding: clamp(1.1rem, 3vw, 2rem);
  border-left: 4px solid var(--caramelo);
  background: rgba(255,249,239,.86);
  box-shadow: var(--sombra-card);
}
.catalog-section {
  padding-block: clamp(3rem, 7vw, 6rem);
}
.catalog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(.9rem, 2vw, 1.2rem);
  margin-top: clamp(2rem, 4vw, 3rem);
}
.catalog-card {
  position: relative;
  display: grid;
  transform-style: preserve-3d;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.catalog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(93, 23, 24, .28);
  box-shadow: var(--sombra);
}
.catalog-card > a {
  display: block;
  overflow: hidden;
}
.catalog-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .45s var(--ease);
}
.catalog-card:hover img { transform: scale(1.055); }
.catalog-card > div {
  padding: clamp(1rem, 2.2vw, 1.35rem);
}
.catalog-card h3 {
  color: var(--vinho);
  margin-bottom: .4rem;
}
.catalog-card p {
  color: var(--muted);
  margin-bottom: 0;
}
.catalog-number {
  display: inline-grid;
  place-items: center;
  min-width: 2.6rem;
  height: 2rem;
  margin-bottom: .8rem;
  color: var(--vinho);
  background: rgba(234,216,174,.76);
  border: 1px solid rgba(93,23,24,.12);
  font-size: .8rem;
  font-weight: 950;
  letter-spacing: .08em;
}
.catalog-final-cta {
  padding-block: clamp(4rem, 7vw, 6rem);
  color: var(--papel);
  background:
    linear-gradient(135deg, rgba(63,16,17,.98), rgba(93,23,24,.94)),
    url("assets/pattern-square.webp") center / 920px repeat;
}
.catalog-final-inner {
  max-width: 760px;
}
.catalog-final-inner .eyebrow,
.catalog-final-inner h2 { color: var(--bege); }
.catalog-final-inner p { color: rgba(255,249,239,.82); }

@media (min-width: 760px) {
  .catalog-hero {
    grid-template-columns: minmax(0, 1.618fr) minmax(320px, 1fr);
  }
  .catalog-feature {
    grid-template-columns: minmax(0, 1.618fr) minmax(320px, 1fr);
  }
  .catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .catalog-card-large {
    grid-column: span 2;
    grid-template-columns: 1.618fr 1fr;
    align-items: stretch;
  }
  .catalog-card-large img {
    height: 100%;
    aspect-ratio: auto;
  }
  .catalog-card-wide {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 759px) {
  .catalog-hero { padding-top: 2.2rem; }
  .catalog-hero::before { height: 24px; background-size: 112px 24px; }
  .catalog-hero-copy { padding-top: 2.2rem; }
  .catalog-hero .hero-ctas .btn,
  .catalog-final-cta .btn,
  .catalog-inline-cta .btn { width: 100%; }
  .catalog-feature-copy { border-left: 0; border-top: 4px solid var(--caramelo); }
  .catalog-card img { aspect-ratio: 4 / 3; }
  .catalog-card > div { padding: 1rem; }
}

/* Ajustes finais: hero em tela cheia, fundo transparente da marca e remoção dos placeholders visuais */
body,
.catalog-body,
.admin-body {
  background:
    linear-gradient(180deg, rgba(255, 249, 239, .78), rgba(251, 241, 223, .82)),
    url("assets/background-retangulo.webp") center top / min(1600px, 100vw) auto repeat-y;
}

.site-header {
  background: rgba(255, 249, 239, .82);
}

.hero {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  display: block;
  min-height: auto;
  padding: 0;
  overflow: hidden;
}

.hero::before {
  inset: 0 0 auto 0;
  width: 100%;
}

.hero-bg {
  inset: 34px 0 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
}

.hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.6rem, 4vw, 3.2rem);
  align-items: center;
  min-height: calc(100vh - 74px);
  padding-block: clamp(3.2rem, 7vw, 5.6rem);
}

.hero-content {
  padding-top: 2rem;
}

.benefit-card,
.mix-panel,
.profile-card,
.expansion-card,
.faq-list details,
.lead-card,
.admin-panel,
.admin-table-card,
.admin-stat,
.catalog-card,
.catalog-feature-copy,
.catalog-hero-photo,
.catalog-feature-photo {
  background-color: rgba(255, 249, 239, .78);
  backdrop-filter: blur(4px);
}

.mix-panel {
  background:
    linear-gradient(135deg, rgba(255,249,239,.84), rgba(246,229,194,.62));
}

.support-layout-clean {
  display: block;
  margin-top: 2.2rem;
}

.support-list-clean {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 1rem;
}

.photo-mosaic,
.photo-slot {
  display: none !important;
}

.story-media {
  min-height: 400px;
}

.instagram-section {
  background:
    linear-gradient(135deg, rgba(70,17,19,.96), rgba(93,23,24,.94)),
    url("assets/pattern-square.webp") center / 1000px repeat;
}

.catalog-hero::before {
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
}

.catalog-hero,
.catalog-feature,
.catalog-section {
  position: relative;
}

@media (min-width: 760px) {
  .hero {
    display: block;
  }
  .hero-inner {
    grid-template-columns: minmax(0, 1.618fr) minmax(360px, 1fr);
    column-gap: clamp(2rem, 4.8vw, 4.2rem);
  }
  .support-layout-clean,
  .support-list-clean {
    width: 100%;
  }
}

@media (max-width: 759px) {
  .hero {
    padding: 0;
  }
  .hero-inner {
    min-height: auto;
    padding-top: 3.4rem;
    padding-bottom: 2.8rem;
  }
  .hero-bg {
    inset: 24px 0 0;
  }
  .support-list-clean {
    grid-template-columns: 1fr;
  }
}

/* Ajustes solicitados: topo vinho em largura total, ícone oficial, catálogo padronizado e admin manual */
.brand-icon-small {
  width: 48px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(93,23,24,.14));
}

.hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(215,164,81,.22), transparent 31rem),
    linear-gradient(135deg, rgba(63,16,17,.99), rgba(93,23,24,.98)),
    url("assets/pattern-square.webp") center / 920px repeat;
  color: var(--papel);
}
.hero-bg {
  inset: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.hero-bg::after {
  background: linear-gradient(90deg, rgba(70,17,19,.08), rgba(70,17,19,.42));
}
.hero::before {
  z-index: 0;
}
.hero-inner {
  z-index: 2;
}
.hero-brand-logo {
  width: min(260px, 74vw);
  margin: 0 0 1.25rem;
  opacity: .96;
}

.icon-cake {
  background: rgba(234,216,174,.68);
}
.icon-cake img {
  width: 34px;
  height: 30px;
  object-fit: contain;
}
.mix-icon-row {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
}
.mix-icon-row span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 42px;
  padding: .58rem .78rem;
  color: var(--vinho);
  background: rgba(234,216,174,.68);
  border: 1px solid rgba(93,23,24,.14);
  border-radius: 999px;
  font-weight: 900;
}
.mix-icon-row img {
  width: 28px;
  height: 24px;
  object-fit: contain;
}

.instagram-section {
  display: none !important;
}

.catalog-page-icon {
  width: 58px;
  height: 50px;
  object-fit: contain;
  margin-bottom: 1rem;
}
.catalog-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  align-items: stretch;
}
.catalog-card,
.catalog-card-large,
.catalog-card-wide {
  display: grid !important;
  grid-column: auto !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr;
  height: 100%;
}
.catalog-card > a {
  display: block;
  width: 100%;
}
.catalog-card img,
.catalog-card-large img,
.catalog-card-wide img {
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover;
}
.catalog-card > div {
  min-height: 172px;
  display: grid;
  align-content: start;
}
.catalog-card h3 {
  min-height: 2.4em;
}
.catalog-hero-photo img,
.catalog-feature-photo img {
  aspect-ratio: 1.618 / 1 !important;
  object-fit: cover;
}

.interest-empty {
  color: var(--muted);
  background: rgba(255,249,239,.92);
  border-color: rgba(93,23,24,.18);
}

@media (min-width: 760px) {
  .hero-inner {
    min-height: calc(100vh - 74px);
  }
  .catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .hero {
    background:
      radial-gradient(circle at 20% 8%, rgba(215,164,81,.18), transparent 20rem),
      linear-gradient(135deg, rgba(63,16,17,.99), rgba(93,23,24,.98)),
      url("assets/pattern-square.webp") center / 760px repeat;
  }
  .hero-brand-logo {
    width: min(220px, 74vw);
  }
  .catalog-card > div {
    min-height: auto;
  }
  .catalog-card h3 {
    min-height: auto;
  }
  .mix-icon-row span {
    width: 100%;
    justify-content: center;
  }
}


/* Catálogo: cards somente com nome do item, sem descrição */
.catalog-card > div {
  min-height: auto !important;
  padding: 1rem 1.05rem 1.1rem !important;
}
.catalog-card p {
  display: none !important;
}
.catalog-card h3 {
  margin-bottom: 0 !important;
}


/* Ajustes finais solicitados */
.hero-brand-logo {
  width: min(330px, 78vw) !important;
}

@media (max-width: 759px) {
  .hero-brand-logo {
    width: min(270px, 78vw) !important;
  }
}

.lead-card-header .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  padding: .42rem .68rem;
  color: var(--bege) !important;
  background: linear-gradient(135deg, var(--vinho), var(--vinho-2));
  border: 1px solid rgba(234,216,174,.32);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(93,23,24,.18);
}

.lead-card-header .eyebrow::before {
  content: "";
  width: 18px;
  height: 16px;
  display: inline-block;
  background: url("assets/brand-icon.webp") center / contain no-repeat;
}

.hero-highlight {
  margin: .75rem 0 1rem !important;
  padding: .9rem 1rem !important;
}

.hero-points {
  margin-top: .7rem;
}

.mix-panel {
  grid-template-columns: minmax(0, .9fr) minmax(300px, 1.55fr) auto !important;
  gap: clamp(1rem, 3vw, 1.7rem) !important;
}

.mix-photo-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.mix-photo-row figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(93,23,24,.14);
  background: rgba(255,249,239,.72);
  box-shadow: 0 12px 26px rgba(45,17,12,.10);
}

.mix-photo-row img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.mix-photo-row figcaption {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .75rem .8rem;
  color: var(--vinho);
  font-weight: 950;
  line-height: 1.15;
}

.mix-photo-row figcaption img {
  width: 24px;
  height: 20px;
  object-fit: contain;
  aspect-ratio: auto;
  flex: 0 0 auto;
}

.story-bold {
  font-weight: 900;
  color: var(--vinho);
}

.profile-section {
  display: block !important;
}

.profile-card {
  max-width: 780px;
  margin-inline: auto;
}

.btn-spark {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.btn-spark::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -75%;
  width: 60%;
  transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  animation: btnShine 2.8s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}

.btn-spark::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: .55rem;
  border-radius: 50%;
  background: currentColor;
  opacity: .35;
  box-shadow: 0 0 0 0 currentColor;
  animation: btnPulse 1.8s ease-in-out infinite;
}

@keyframes btnShine {
  0% { left: -80%; }
  45%, 100% { left: 135%; }
}

@keyframes btnPulse {
  0%, 100% { transform: scale(.82); opacity: .28; box-shadow: 0 0 0 0 currentColor; }
  50% { transform: scale(1); opacity: .56; box-shadow: 0 0 0 7px rgba(93,23,24,.10); }
}

.success-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: grid;
  place-items: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity .22s var(--ease), visibility .22s var(--ease);
}

.success-modal.is-visible {
  visibility: visible;
  opacity: 1;
}

.success-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(36,16,15,.58);
  backdrop-filter: blur(6px);
}

.success-modal-card {
  position: relative;
  width: min(100%, 420px);
  padding: clamp(1.4rem, 5vw, 2rem);
  text-align: center;
  border: 1px solid rgba(234,216,174,.5);
  background:
    radial-gradient(circle at 50% 0%, rgba(215,164,81,.18), transparent 15rem),
    rgba(255,249,239,.98);
  box-shadow: 0 34px 90px rgba(28,10,8,.32);
  transform: translateY(16px) scale(.96);
  transition: transform .26s var(--ease);
}

.success-modal.is-visible .success-modal-card {
  transform: translateY(0) scale(1);
}

.success-modal-card img {
  margin: 0 auto .65rem;
}

.success-modal-card h2 {
  margin-bottom: .35rem;
  color: var(--vinho);
  font-size: clamp(2.1rem, 8vw, 3.1rem);
}

.success-modal-card p {
  color: var(--muted);
  font-weight: 800;
}

.success-confetti span {
  position: absolute;
  top: 14%;
  left: 50%;
  width: 8px;
  height: 14px;
  background: var(--caramelo);
  opacity: 0;
  animation: confettiDrop 1.1s ease-out forwards;
}

.success-confetti span:nth-child(1) { transform: translate(-120px, -20px) rotate(12deg); animation-delay: .05s; background: var(--vinho); }
.success-confetti span:nth-child(2) { transform: translate(-78px, -32px) rotate(42deg); animation-delay: .11s; background: var(--bege); }
.success-confetti span:nth-child(3) { transform: translate(-36px, -18px) rotate(-20deg); animation-delay: .03s; background: var(--marrom); }
.success-confetti span:nth-child(4) { transform: translate(12px, -30px) rotate(66deg); animation-delay: .08s; background: var(--caramelo); }
.success-confetti span:nth-child(5) { transform: translate(48px, -18px) rotate(-45deg); animation-delay: .13s; background: var(--vinho); }
.success-confetti span:nth-child(6) { transform: translate(86px, -28px) rotate(28deg); animation-delay: .06s; background: var(--bege); }
.success-confetti span:nth-child(7) { transform: translate(118px, -16px) rotate(-12deg); animation-delay: .16s; background: var(--marrom); }
.success-confetti span:nth-child(8) { transform: translate(0, -42px) rotate(90deg); animation-delay: .02s; background: var(--caramelo); }

@keyframes confettiDrop {
  0% { opacity: 0; margin-top: -12px; }
  20% { opacity: 1; }
  100% { opacity: 0; margin-top: 132px; }
}

body.modal-open {
  overflow: hidden;
}

/* Catálogo mais limpo: sem produto em destaque e sem subtítulo no título principal */
.catalog-hero {
  grid-template-columns: minmax(0, 1fr) minmax(300px, .618fr);
}

.catalog-section .section-copy {
  margin-bottom: 1.6rem;
}

.catalog-card > div {
  text-align: center;
}

.catalog-card h3 {
  font-size: clamp(1.05rem, 2vw, 1.32rem);
}

/* Admin com aparência mais humana e menos genérica */
.admin-body {
  background:
    linear-gradient(180deg, rgba(255,249,239,.97), rgba(251,241,223,.93)),
    url("assets/background-retangulo.webp") center top / min(1500px, 100vw) auto repeat-y;
}

.admin-main {
  padding-block: clamp(1.5rem, 5vw, 3.5rem) 5rem;
}

.admin-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(1.3rem, 4vw, 2rem);
  border-left: 6px solid var(--vinho);
  background:
    linear-gradient(135deg, rgba(255,249,239,.96), rgba(246,229,194,.74));
}

.admin-panel::after {
  content: "";
  position: absolute;
  right: 1.2rem;
  top: 1.2rem;
  width: 58px;
  height: 46px;
  opacity: .16;
  background: url("assets/brand-icon.webp") center / contain no-repeat;
}

.admin-note {
  max-width: 680px;
  font-size: 1rem !important;
}

.admin-dashboard {
  background: rgba(255,249,239,.56);
  border: 1px solid rgba(93,23,24,.08);
  padding: clamp(1rem, 3vw, 1.4rem);
  box-shadow: 0 18px 48px rgba(45,17,12,.08);
}

.admin-stat {
  border-radius: 0;
  border-left: 4px solid rgba(93,23,24,.18);
}

.admin-stat.interest-hot { border-left-color: #9e2f1d; }
.admin-stat.interest-warm { border-left-color: #c98934; }
.admin-stat.interest-cold { border-left-color: #69808a; }

.admin-controls {
  background: rgba(255,249,239,.72);
  border: 1px solid rgba(93,23,24,.10);
}

.admin-table-card {
  border-radius: 0;
}

.admin-table tbody tr:hover {
  background: rgba(246,229,194,.32);
}

@media (max-width: 759px) {
  .mix-panel {
    grid-template-columns: 1fr !important;
  }
  .mix-photo-row {
    grid-template-columns: 1fr;
  }
  .catalog-hero {
    grid-template-columns: 1fr;
  }
  .success-modal-card {
    width: min(100%, 360px);
  }
}


/* Correção final: Contato comercial na mesma cor do fundo escuro */
.lead-card-header .eyebrow {
  color: var(--bege) !important;
  background: var(--vinho-3) !important;
  border-color: rgba(234, 216, 174, .38) !important;
  box-shadow: 0 12px 26px rgba(70, 17, 19, .26) !important;
}

.lead-card-header .eyebrow::before {
  background-image: url("assets/brand-icon.webp") !important;
}

/* Pop-up de confirmação exibido somente após envio válido do formulário */
.success-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: grid;
  place-items: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s var(--ease), visibility .24s var(--ease);
}

.success-modal.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.success-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(36, 16, 15, .62);
  backdrop-filter: blur(7px);
}

.success-modal-card {
  position: relative;
  width: min(100%, 430px);
  overflow: hidden;
  padding: clamp(1.45rem, 5vw, 2.1rem);
  text-align: center;
  border: 1px solid rgba(234, 216, 174, .52);
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 164, 81, .22), transparent 15rem),
    rgba(255, 249, 239, .98);
  box-shadow: 0 36px 96px rgba(28, 10, 8, .36);
  transform: translateY(18px) scale(.96);
  transition: transform .28s var(--ease);
}

.success-modal.is-visible .success-modal-card {
  transform: translateY(0) scale(1);
}

.success-modal-card > img {
  margin: 0 auto .7rem;
}

.success-modal-card h2 {
  margin-bottom: .35rem;
  color: var(--vinho-3);
  font-size: clamp(2.15rem, 8vw, 3.2rem);
}

.success-modal-card p {
  color: var(--muted);
  font-weight: 850;
}

.success-confetti span {
  position: absolute;
  top: 12%;
  left: 50%;
  width: 8px;
  height: 14px;
  opacity: 0;
  background: var(--caramelo);
  animation: confettiDrop 1.15s ease-out forwards;
}

.success-confetti span:nth-child(1) { transform: translate(-138px, -18px) rotate(12deg); animation-delay: .03s; background: var(--vinho-3); }
.success-confetti span:nth-child(2) { transform: translate(-104px, -36px) rotate(42deg); animation-delay: .10s; background: var(--bege); }
.success-confetti span:nth-child(3) { transform: translate(-72px, -20px) rotate(-20deg); animation-delay: .06s; background: var(--marrom); }
.success-confetti span:nth-child(4) { transform: translate(-34px, -38px) rotate(66deg); animation-delay: .13s; background: var(--caramelo); }
.success-confetti span:nth-child(5) { transform: translate(8px, -28px) rotate(-45deg); animation-delay: .04s; background: var(--vinho); }
.success-confetti span:nth-child(6) { transform: translate(48px, -36px) rotate(28deg); animation-delay: .08s; background: var(--bege); }
.success-confetti span:nth-child(7) { transform: translate(86px, -20px) rotate(-12deg); animation-delay: .15s; background: var(--marrom); }
.success-confetti span:nth-child(8) { transform: translate(124px, -34px) rotate(90deg); animation-delay: .02s; background: var(--caramelo); }
.success-confetti span:nth-child(9) { transform: translate(-118px, 2px) rotate(-55deg); animation-delay: .18s; background: var(--caramelo); }
.success-confetti span:nth-child(10) { transform: translate(-12px, -48px) rotate(33deg); animation-delay: .07s; background: var(--bege); }
.success-confetti span:nth-child(11) { transform: translate(24px, 2px) rotate(-18deg); animation-delay: .19s; background: var(--vinho-3); }
.success-confetti span:nth-child(12) { transform: translate(112px, 6px) rotate(48deg); animation-delay: .12s; background: var(--marrom); }

@keyframes confettiDrop {
  0% { opacity: 0; margin-top: -18px; }
  18% { opacity: 1; }
  100% { opacity: 0; margin-top: 145px; }
}

body.modal-open {
  overflow: hidden;
}


/* Ajustes finais: catálogo ampliado, história sem vídeo e admin com WhatsApp */
.story-section {
  display: block !important;
}
.story-section .section-copy {
  max-width: 880px;
  margin-inline: auto;
}
.story-media,
.video-placeholder {
  display: none !important;
}
.catalog-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
}
.catalog-card img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}
.catalog-card > div {
  min-height: auto !important;
  text-align: center;
}
.admin-stats {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}
.interest-select option[value="morno"] {
  display: none;
}
.whatsapp-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: .52rem .78rem;
  border: 1px solid rgba(46, 114, 87, .28);
  background: #e5f4ec;
  color: #255f4a !important;
  text-decoration: none;
  font-weight: 900 !important;
  white-space: nowrap;
}
.whatsapp-link::before {
  content: "↗";
  margin-right: .35rem;
  font-weight: 900;
}
.admin-table {
  min-width: 980px;
}
@media (max-width: 759px) {
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
  }
  .catalog-card h3 {
    font-size: .98rem !important;
  }
  .catalog-card > div {
    padding: .82rem .7rem !important;
  }
}

/* Admin analytics e docs */
.admin-stats-wide {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}

.admin-login-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.admin-remember {
  max-width: 460px;
}

.admin-insights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.chart-card {
  min-height: 230px;
  padding: 1rem;
  border: 1px solid var(--borda);
  background: rgba(255,249,239,.82);
  box-shadow: var(--sombra-card);
}

.chart-card h3 {
  margin-bottom: .85rem;
  color: var(--vinho);
  font-size: 1.05rem;
  letter-spacing: 0;
}

.bar-list {
  display: grid;
  gap: .7rem;
}

.bar-row {
  display: grid;
  grid-template-columns: minmax(82px, 1fr) minmax(92px, 1.4fr) auto;
  gap: .6rem;
  align-items: center;
  font-size: .86rem;
}

.bar-row span {
  min-width: 0;
  color: var(--muted);
  font-weight: 850;
  overflow-wrap: anywhere;
}

.bar-row strong {
  color: var(--vinho);
  font-size: .9rem;
}

.bar-track {
  height: 10px;
  overflow: hidden;
  background: rgba(93,23,24,.10);
  border: 1px solid rgba(93,23,24,.08);
}

.bar-track i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--vinho), var(--caramelo));
}

.funnel-chart {
  display: grid;
  gap: .7rem;
}

.funnel-step {
  width: var(--funnel);
  min-width: min(100%, 150px);
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .85rem;
  color: var(--papel);
  background: linear-gradient(135deg, var(--vinho), var(--vinho-2));
  font-weight: 900;
}

.funnel-step strong {
  color: var(--bege);
}

.chart-empty {
  color: var(--muted);
  font-weight: 800;
}

.admin-table small {
  color: var(--muted);
  font-weight: 760;
}

.docs-body {
  background:
    linear-gradient(180deg, rgba(255,249,239,.96), rgba(251,241,223,.9)),
    url("assets/background-retangulo.webp") center top / min(1500px, 100vw) auto repeat-y;
}

.docs-hero {
  color: var(--papel);
  background:
    linear-gradient(135deg, rgba(63,16,17,.98), rgba(93,23,24,.94)),
    url("assets/pattern-square.webp") center / 920px repeat;
}

.docs-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

.docs-hero h1 {
  max-width: 12ch;
}

.docs-mark {
  width: min(138px, 28vw);
  opacity: .9;
  filter: drop-shadow(0 18px 32px rgba(0,0,0,.24));
}

.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1rem;
  padding-block: clamp(3rem, 6vw, 5rem);
}

.docs-card,
.docs-route-list article {
  border: 1px solid var(--borda);
  background: rgba(255,249,239,.86);
  box-shadow: var(--sombra-card);
}

.docs-card {
  padding: 1.2rem;
}

.docs-card > span {
  width: 40px;
  height: 38px;
  display: grid;
  place-items: center;
  margin-bottom: .9rem;
  color: var(--bege);
  background: var(--vinho);
  font-weight: 950;
}

.docs-card h2 {
  font-size: 1.35rem;
  letter-spacing: 0;
}

.docs-card p,
.docs-route-list span {
  color: var(--muted);
}

.docs-card pre {
  overflow: auto;
  padding: .9rem;
  background: rgba(93,23,24,.08);
  border: 1px solid rgba(93,23,24,.10);
}

.docs-flow {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.docs-route-list {
  display: grid;
  gap: .9rem;
  max-width: 880px;
  margin: 1.6rem auto 0;
}

.docs-route-list article {
  padding: 1rem;
  border-left: 5px solid var(--caramelo);
}

.docs-route-list strong,
.docs-route-list span {
  display: block;
}

.docs-route-list strong {
  color: var(--vinho);
}

@media (max-width: 759px) {
  .docs-hero-inner {
    grid-template-columns: 1fr;
  }
  .bar-row {
    grid-template-columns: 1fr auto;
  }
  .bar-track {
    grid-column: 1 / -1;
  }
}

/* Ajustes solicitados: rodape publico, cidade inteligente, catalogo modal e dashboard ampliado */
.hero-brand-logo {
  margin-inline: auto !important;
}

.typewriter-text::after {
  content: "";
  display: inline-block;
  width: .08em;
  height: .78em;
  margin-left: .06em;
  background: var(--bege);
  animation: caretBlink .72s steps(2, start) infinite;
}

.counting-value {
  text-shadow: 0 0 22px rgba(234,216,174,.28);
}

@keyframes caretBlink {
  50% { opacity: 0; }
}

.city-suggestion {
  width: fit-content;
  min-height: 34px;
  padding: .45rem .68rem;
  border: 1px solid rgba(46,114,87,.24);
  border-radius: 999px;
  color: #255f4a;
  background: #e5f4ec;
  font-weight: 900;
  cursor: pointer;
}

.city-suggestion:hover {
  border-color: rgba(46,114,87,.44);
}

.footer {
  padding-block: 2rem 7rem;
  background:
    linear-gradient(135deg, rgba(36,16,15,.98), rgba(63,16,17,.96)),
    url("assets/pattern-square.webp") center / 720px repeat;
}

.footer-inner {
  align-items: stretch;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: min(100%, 280px);
}

.footer-brand img {
  width: 52px;
  height: 45px;
  object-fit: contain;
}

.footer-brand strong,
.footer-brand span {
  display: block;
}

.footer-brand strong {
  color: var(--bege);
  font-size: 1.08rem;
}

.footer-brand span {
  color: rgba(255,249,239,.72);
  font-size: .9rem;
  font-weight: 760;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
  justify-content: flex-end;
}

.footer-links a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .58rem .82rem;
  border: 1px solid rgba(234,216,174,.22);
  border-radius: 8px;
  background: rgba(255,249,239,.08);
  color: var(--bege);
  text-decoration: none;
  transition: transform .18s var(--ease), background .18s var(--ease);
}

.footer-links a:hover {
  transform: translateY(-2px);
  background: rgba(255,249,239,.14);
}

.page-confetti {
  position: fixed;
  inset: 0;
  z-index: 650;
  pointer-events: none;
  overflow: hidden;
}

.confetti-piece {
  position: absolute;
  top: -30px;
  left: var(--x);
  width: var(--size);
  height: calc(var(--size) * 1.55);
  background: var(--caramelo);
  animation: pageConfettiFall 1.55s ease-out var(--delay) forwards;
}

.confetti-piece[data-variant="1"] { background: var(--vinho); }
.confetti-piece[data-variant="2"] { background: var(--bege); }
.confetti-piece[data-variant="3"] { background: var(--sucesso); }
.confetti-piece[data-variant="4"] { background: var(--marrom); }

@keyframes pageConfettiFall {
  0% { opacity: 0; transform: translate3d(0, -20px, 0) rotate(0); }
  12% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(var(--drift), 108vh, 0) rotate(calc(var(--spin) + 420deg)); }
}

.catalog-modal {
  position: fixed;
  inset: 0;
  z-index: 520;
  display: grid;
  place-items: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity .22s var(--ease), visibility .22s var(--ease);
}

.catalog-modal.is-visible {
  visibility: visible;
  opacity: 1;
}

.catalog-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(36,16,15,.76);
  backdrop-filter: blur(8px);
}

.catalog-modal-card {
  position: relative;
  width: min(100%, 960px);
  max-height: min(92vh, 820px);
  display: grid;
  align-items: center;
  padding: clamp(.8rem, 3vw, 1.15rem);
  border: 1px solid rgba(234,216,174,.36);
  background: rgba(255,249,239,.98);
  box-shadow: 0 36px 100px rgba(28,10,8,.38);
}

.catalog-modal-card figure {
  margin: 0;
  display: grid;
  gap: .85rem;
}

.catalog-modal-card img {
  width: 100%;
  max-height: min(72vh, 650px);
  object-fit: contain;
  background: rgba(246,229,194,.45);
}

.catalog-modal-card figcaption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  color: var(--vinho);
  font-weight: 950;
}

.catalog-modal-card figcaption span {
  color: var(--muted);
  font-weight: 850;
}

.catalog-modal-close,
.catalog-modal-arrow {
  border: 1px solid rgba(93,23,24,.16);
  border-radius: 8px;
  color: var(--vinho);
  background: var(--bege);
  font-weight: 950;
  cursor: pointer;
}

.catalog-modal-close {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 2;
  width: 42px;
  height: 42px;
  font-size: 1.45rem;
}

.catalog-modal-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 46px;
  height: 54px;
  transform: translateY(-50%);
  font-size: 2rem;
}

.catalog-modal-prev { left: .8rem; }
.catalog-modal-next { right: .8rem; }

.chart-card-feature {
  background:
    radial-gradient(circle at 20% 0%, rgba(215,164,81,.2), transparent 14rem),
    rgba(255,249,239,.9);
}

.donut-chart {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
}

.donut {
  width: 138px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--donut));
  position: relative;
}

.donut::after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  background: var(--papel);
}

.donut strong,
.donut span {
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
}

.donut strong {
  color: var(--vinho);
  font-size: 1.8rem;
  line-height: 1;
}

.donut span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
}

.donut-legend {
  display: grid;
  gap: .45rem;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 850;
}

.donut-legend span {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.donut-legend i {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
}

@media (max-width: 759px) {
  .footer-inner,
  .footer-links {
    justify-content: center;
  }

  .footer-brand {
    justify-content: center;
    text-align: left;
  }

  .catalog-modal-arrow {
    top: auto;
    bottom: .8rem;
    transform: none;
  }

  .catalog-modal-card {
    padding-bottom: 4.4rem;
  }

  .donut-chart {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

/* Ajustes mobile e interacoes finais */
.typewriter-text.typewriter-complete::after {
  display: none;
}

.final-cta {
  padding-block: clamp(3rem, 5vw, 4.25rem) !important;
}

.footer {
  padding-block: 1.8rem 3rem !important;
}

.admin-chart-tabs {
  display: flex;
  gap: .55rem;
  overflow-x: auto;
  padding: .2rem .05rem .75rem;
  scrollbar-width: thin;
}

.admin-chart-tabs button,
.bar-row {
  border: 1px solid rgba(93,23,24,.14);
  background: rgba(255,249,239,.9);
  color: var(--texto);
  cursor: pointer;
}

.admin-chart-tabs button {
  min-height: 38px;
  flex: 0 0 auto;
  padding: .52rem .85rem;
  border-radius: 999px;
  font-weight: 900;
}

.admin-chart-tabs button.is-active,
.bar-row.is-active {
  border-color: rgba(93,23,24,.48);
  background: rgba(246,229,194,.95);
  box-shadow: 0 10px 22px rgba(93,23,24,.10);
}

.bar-row {
  width: 100%;
  padding: 0;
  text-align: left;
  transition: transform .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease);
}

.bar-row:hover {
  transform: translateY(-1px);
  border-color: rgba(93,23,24,.32);
}

.btn-filter-clear {
  min-height: 49px;
  align-self: end;
}

.lead-card-list {
  display: none;
}

.lead-contact-card {
  display: grid;
  gap: .85rem;
  padding: .95rem;
  border: 1px solid rgba(93,23,24,.12);
  background: rgba(255,249,239,.96);
  box-shadow: 0 14px 34px rgba(45,17,12,.10);
  overflow: hidden;
}

.lead-contact-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: start;
}

.lead-contact-top strong,
.lead-contact-top span,
.lead-contact-top small {
  display: block;
}

.lead-contact-top strong {
  color: var(--vinho);
  font-size: 1.02rem;
  overflow-wrap: anywhere;
}

.lead-contact-top span,
.lead-contact-top small {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 820;
}

.lead-contact-top em {
  padding: .35rem .5rem;
  border-radius: 999px;
  font-size: .72rem;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.lead-contact-top em.interest-quente,
.interest-select.interest-quente {
  background: #f9dfd7;
  color: #8e281a;
}

.lead-contact-top em.interest-frio,
.interest-select.interest-frio {
  background: #e5f4ec;
  color: #255f4a;
}

.lead-contact-top em.interest-empty,
.interest-select.interest-empty {
  background: rgba(93,23,24,.08);
  color: var(--muted);
}

.lead-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}

.lead-contact-actions a,
.lead-contact-actions span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: .84rem;
  font-weight: 900;
}

.lead-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin: 0;
}

.lead-meta-grid div {
  min-width: 0;
  padding: .58rem;
  background: rgba(246,229,194,.45);
  border: 1px solid rgba(93,23,24,.08);
}

.lead-meta-grid dt,
.lead-meta-grid dd {
  margin: 0;
}

.lead-meta-grid dt {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.lead-meta-grid dd {
  color: var(--texto);
  font-size: .82rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.lead-card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(128px, auto);
  gap: .6rem;
  align-items: center;
}

.lead-card-footer span {
  min-width: 0;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.lead-card-footer .interest-select {
  width: 100%;
  min-height: 40px;
}

.docs-card-feature {
  background:
    radial-gradient(circle at 20% 0%, rgba(215,164,81,.18), transparent 12rem),
    rgba(255,249,239,.9);
}

.docs-public-link {
  display: inline-flex;
  max-width: 100%;
  margin-top: .75rem;
  color: var(--vinho);
  font-weight: 950;
  overflow-wrap: anywhere;
}

.docs-health-section {
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.docs-health-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: clamp(1.1rem, 3vw, 1.45rem);
  border: 1px solid var(--borda);
  background: rgba(255,249,239,.9);
  box-shadow: var(--sombra-card);
}

.docs-health-action {
  display: grid;
  gap: .65rem;
  justify-items: end;
}

.sweet-confetti {
  position: fixed;
  inset: 0;
  z-index: 700;
  overflow: hidden;
  pointer-events: none;
}

.sweet-confetti span {
  position: absolute;
  top: -32px;
  left: var(--x);
  font-size: 1.3rem;
  animation: sweetConfettiFall 1.8s ease-out var(--delay) forwards;
}

@keyframes sweetConfettiFall {
  0% { opacity: 0; transform: translate3d(0, -18px, 0) rotate(0); }
  12% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(var(--drift), 108vh, 0) rotate(calc(var(--spin) + 380deg)); }
}

@media (max-width: 759px) {
  .admin-main {
    padding-block: 1rem 2.5rem !important;
  }

  .admin-dashboard {
    padding: .75rem !important;
    border: 0;
    box-shadow: none;
  }

  .admin-toolbar {
    gap: .65rem;
  }

  .admin-stats-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem;
  }

  .admin-stat {
    padding: .72rem !important;
  }

  .admin-stat strong {
    font-size: 1.35rem !important;
  }

  .admin-stat span {
    font-size: .78rem;
  }

  .admin-insights-grid {
    grid-template-columns: 1fr !important;
    gap: .7rem;
  }

  .chart-card {
    min-height: 0;
    padding: .85rem;
  }

  .chart-card h3 {
    font-size: .95rem;
  }

  .admin-controls {
    grid-template-columns: 1fr !important;
    gap: .65rem;
    padding: .75rem;
    position: sticky;
    top: .5rem;
    z-index: 20;
    backdrop-filter: blur(10px);
  }

  .btn-filter-clear {
    width: 100%;
  }

  .lead-card-list {
    display: grid;
    gap: .75rem;
    margin-top: .85rem;
  }

  .admin-table-card {
    display: none;
  }

  .lead-meta-grid {
    grid-template-columns: 1fr;
  }

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

  .bar-row {
    padding: .55rem;
  }

  .footer {
    padding-block: 1.4rem 2.2rem !important;
  }

  .docs-grid {
    padding-block: 2.2rem;
  }

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

  .docs-health-action {
    justify-items: stretch;
  }
}

/* Redesign do bloco de contatos do admin */
.lead-search-panel {
  display: grid;
  gap: .85rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(93,23,24,.12);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,249,239,.96), rgba(246,229,194,.62));
  box-shadow: 0 16px 38px rgba(45,17,12,.10);
}

.lead-search-header {
  display: flex;
  gap: .8rem;
  align-items: center;
  justify-content: space-between;
}

.lead-search-header .eyebrow {
  margin-bottom: .12rem;
}

.lead-search-header h3 {
  margin: 0;
  color: var(--vinho-3);
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
  letter-spacing: 0;
}

.lead-count-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .38rem .7rem;
  border: 1px solid rgba(93,23,24,.16);
  border-radius: 8px;
  color: var(--vinho);
  background: rgba(255,249,239,.9);
  font-size: .82rem;
  font-weight: 950;
  white-space: nowrap;
}

.lead-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 190px) auto;
  gap: .65rem;
  align-items: end;
}

.lead-search-field,
.lead-filter-field {
  display: grid;
  gap: .35rem;
  min-width: 0;
  color: var(--texto);
  font-size: .82rem;
  font-weight: 900;
}

.lead-search-field input,
.lead-filter-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(93,23,24,.16);
  border-radius: 8px;
  background: #fffdf8;
  color: var(--texto);
  font: inherit;
  font-weight: 850;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.lead-search-field input {
  padding: .72rem .9rem;
}

.lead-filter-field select {
  padding: .68rem .75rem;
}

.lead-search-field input:focus,
.lead-filter-field select:focus {
  outline: 3px solid rgba(215,164,81,.26);
  border-color: rgba(93,23,24,.36);
}

.lead-active-filter {
  margin: 0;
  padding: .58rem .72rem;
  border-left: 4px solid var(--caramelo);
  border-radius: 8px;
  color: var(--vinho);
  background: rgba(255,249,239,.78);
  font-size: .84rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.lead-search-panel .btn-filter-clear {
  min-height: 46px;
  padding-inline: .95rem;
  border-radius: 8px;
  white-space: nowrap;
}

.lead-contact-card {
  border-radius: 8px;
  border-color: rgba(93,23,24,.14);
  background:
    linear-gradient(180deg, rgba(255,249,239,.98), rgba(255,249,239,.9));
}

.lead-contact-card[data-interest="quente"] {
  border-left: 5px solid #9e2f1d;
}

.lead-contact-card[data-interest="frio"] {
  border-left: 5px solid #2e7257;
}

.lead-card-tags {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .48rem;
}

.lead-card-tags span {
  min-width: 0;
  display: grid;
  gap: .14rem;
  padding: .5rem .56rem;
  border: 1px solid rgba(93,23,24,.08);
  border-radius: 8px;
  background: rgba(246,229,194,.42);
  color: var(--texto);
  font-size: .78rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.lead-card-tags b {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 950;
  text-transform: uppercase;
}

.lead-card-more {
  border-top: 1px solid rgba(93,23,24,.10);
  padding-top: .2rem;
}

.lead-card-more summary {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: .3rem .55rem;
  border-radius: 8px;
  color: var(--vinho);
  background: rgba(93,23,24,.06);
  cursor: pointer;
  font-size: .78rem;
  font-weight: 950;
}

.lead-card-more[open] summary {
  margin-bottom: .55rem;
  background: rgba(215,164,81,.20);
}

.lead-card-more .lead-meta-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-table-card {
  margin-top: 1rem;
  border-radius: 8px !important;
  background: rgba(255,249,239,.94);
}

.admin-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.admin-table td {
  font-size: .9rem;
}

@media (max-width: 759px) {
  .lead-search-panel {
    position: sticky;
    top: .45rem;
    z-index: 30;
    gap: .62rem;
    margin: .75rem 0;
    padding: .72rem;
    box-shadow: 0 12px 30px rgba(45,17,12,.14);
  }

  .lead-search-header {
    align-items: start;
  }

  .lead-search-header h3 {
    font-size: 1.08rem;
  }

  .lead-count-pill {
    min-height: 30px;
    padding: .28rem .52rem;
    font-size: .75rem;
  }

  .lead-search-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
  }

  .lead-search-field {
    grid-column: 1 / -1;
  }

  .lead-search-field input,
  .lead-filter-field select,
  .lead-search-panel .btn-filter-clear {
    min-height: 42px;
  }

  .lead-search-field input {
    padding: .62rem .72rem;
  }

  .lead-search-panel .btn-filter-clear {
    width: auto;
    min-width: 78px;
    padding-inline: .72rem;
  }

  .lead-active-filter {
    padding: .48rem .58rem;
    font-size: .76rem;
  }

  .lead-card-list {
    gap: .62rem !important;
    margin-top: .65rem !important;
  }

  .lead-contact-card {
    gap: .68rem;
    padding: .78rem;
    box-shadow: 0 10px 24px rgba(45,17,12,.10);
  }

  .lead-contact-top {
    grid-template-columns: minmax(0, 1fr);
    gap: .45rem;
  }

  .lead-contact-top em {
    width: fit-content;
  }

  .lead-contact-actions {
    gap: .45rem;
  }

  .lead-contact-actions .whatsapp-link {
    min-height: 34px;
    padding: .45rem .64rem;
  }

  .lead-card-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .42rem;
  }

  .lead-card-tags span {
    padding: .45rem .48rem;
    font-size: .74rem;
  }

  .lead-card-more .lead-meta-grid {
    grid-template-columns: 1fr;
  }

  .lead-card-footer .interest-select {
    min-height: 38px;
  }
}
