/* public_html/assets/css/global.css */

/* =========================================================
   RESET BASE (controlado)
   ========================================================= */

*,
*::before,
*::after{
  box-sizing: border-box;
}

html, body{
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6,
p,
ul, ol,
figure,
blockquote{
  margin: 0;
  padding: 0;
}

ul, ol{
  list-style: none;
}

button,
input,
select,
textarea{
  font: inherit;
  margin: 0;
}

/* =========================================================
   0) TOKENS (CORES / EFEITOS / LAYOUT)
   ========================================================= */
:root{
  /* Brand (Pitanga) */
  --pitanga-wine: #6f1020;
  --pitanga-wine-2: #8b1a2f;
  --pitanga-orange: #e7771f;
  --pitanga-orange-2: #c85c17;
  --pitanga-olive: #6f7b45;
  --pitanga-cream: #fbf3ea;
  --pitanga-sand: #f4e6d7;

  /* Neutros (quentes) */
  --bg: #ede7e1;
  --surface: #ffffff;
  --text: #1b1412;
  --muted: rgba(27, 20, 18, 0.68);
  --line: rgba(27, 20, 18, 0.12);

  /* Accent */
  --accent: #1ea4b5;
  --accent-2: #168a98;
  --accent-soft: rgba(30,164,181,.12);

  /* Fundos clean */
  --bg-clean: #ffffff;
  --surface-clean: #ffffff;

  /* Efeitos */
  --shadow: 0 14px 34px rgba(27, 20, 18, 0.08);
  --shadow-soft: 0 10px 24px rgba(27, 20, 18, 0.06);

  /* Radius */
  --radius: 20px;
  --radius-sm: 14px;

  /* Layout */
  --container: 1180px;

  /* Gradientes */
  --grad-brand: linear-gradient(135deg, var(--pitanga-wine), var(--pitanga-orange));
  --grad-warm: linear-gradient(180deg, rgba(255,255,255,0), rgba(231,119,31,0.08));
}


/* =========================================================
   1) RESET / BASE
   ========================================================= */
*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(900px 380px at 18% -10%, rgba(231,119,31,0.14), transparent 60%),
    radial-gradient(900px 380px at 85% 0%, rgba(111,16,32,0.12), transparent 55%),
    var(--bg);
}

img{ max-width: 100%; display: block; }

a{
  color: inherit;
}

a.no-underline{
  text-decoration: none;
}


button, input{ font: inherit; }


/* =========================================================
   2) LAYOUT
   ========================================================= */
.container{
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
}


/* =========================================================
   3) GRID (BASE)
   ========================================================= */
.grid{
  display: grid;
  gap: 18px;
}

.grid--4{
  grid-template-columns: repeat(4, 1fr);
}


/* =========================================================
   4) BOTÕES
   ========================================================= */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid transparent;

  cursor: pointer;
  user-select: none;
  white-space: nowrap;

  transition:
    transform 0.12s ease,
    opacity 0.12s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.btn:active{ transform: translateY(1px); }

.btn:focus-visible,
.input:focus-visible{
  outline: 3px solid rgba(231,119,31,0.35);
  outline-offset: 2px;
}

/* Primary */
.btn--primary{
  background: var(--grad-brand);
  color: #fff;
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 10px 22px rgba(111,16,32,0.18);
}
.btn--primary:hover{
  opacity: 0.96;
  box-shadow: 0 12px 26px rgba(111,16,32,0.22);
}

/* Dark */
.btn--dark{
  background: var(--pitanga-wine);
  color: #fff;
  border-color: rgba(255,255,255,0.12);
}
.btn--dark:hover{ opacity: 0.95; }

/* Ghost */
.btn--ghost{
  background: rgba(255,255,255,0.70);
  border-color: var(--line);
  color: var(--text);
}
.btn--ghost:hover{
  background: rgba(255,255,255,0.92);
  border-color: rgba(27,20,18,0.18);
}

/* Accent */
.btn--accent{
  background: var(--accent);
  color: #fff;
}
.btn--accent:hover{ background: var(--accent-2); }

/* Small */
.btn--small{
  padding: 9px 12px;
  font-size: 13px;
}


/* =========================================================
   5) INPUT (BASE)
   ========================================================= */
.input{
  width: 100%;
  padding: 12px 14px;

  border: 1px solid var(--line);
  border-radius: 12px;

  outline: none;
  background: rgba(255,255,255,0.9);

  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.input:focus{
  border-color: rgba(111,16,32,0.35);
  box-shadow: 0 0 0 4px rgba(231,119,31,0.14);
  background: #fff;
}


/* =========================================================
   6) RESPONSIVO (BASE)
   ========================================================= */
@media (max-width: 1000px){
  .grid--4{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px){
  .btn{ width: 100%; }
}
.flash{
  margin: 12px auto;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}

.flash--success{
  background: #eef9f1;
  color: #1f5a2e;
  border: 1px solid rgba(31, 90, 46, .18);
}

.flash--error{
  background: #fff1f1;
  color: #7a1c1c;
  border: 1px solid rgba(122, 28, 28, .18);
}
/* =========================================================
   7) WHATSAPP FLOAT BUTTON
   ========================================================= */ 

   /* WhatsApp Float (fix alinhamento + corte) */
.whatsapp-float{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease;

  animation: pulse 2.5s infinite;
}

.whatsapp-float svg{
  width: 28px;
  height: 28px;
  display: block;
}

/* Hover */
.whatsapp-float:hover{
  transform: scale(1.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  animation-play-state: paused;
}

/* Mobile: um pouco menor */
@media (max-width: 520px){
  .whatsapp-float{
    width: 52px;
    height: 52px;
    right: 14px;
    bottom: 14px;
  }
  .whatsapp-float svg{
    width: 26px;
    height: 26px;
  }
}

/* Pulse */
@keyframes pulse{
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); }
  70%  { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
