@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Playfair+Display:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&family=Lora:wght@400;500;600&family=Inter:wght@300;400;500;600&family=DM+Sans:wght@400;500;600&family=Nunito:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap');

:root {
  --bg: #faf8f5;
  --bg2: #f0ebe0;
  --ouro: #b8973e;
  --ouro-cl: #d4af5a;
  --ouro-dk: #8a6e28;
  --preto: #1a1410;
  --txt: #2c2118;
  --txt2: #7a6045;
  --branco: #ffffff;
  --borda: #e0d5c0;
  --perigo: #c0392b;
  --perigo-bg: #fbe9e7;
  --perigo-borda: #e6b0a8;

  --fd: 'Cormorant Garamond', Georgia, serif;
  --fb: 'Inter', Arial, sans-serif;
}

[data-tema="rose"] { --ouro: #c0546a; --ouro-cl: #d97b8d; --ouro-dk: #8f3a4c; }
[data-tema="sage"] { --ouro: #6a8c5e; --ouro-cl: #8caf80; --ouro-dk: #4c6642; }
[data-tema="slate"] { --ouro: #4a6080; --ouro-cl: #6c85a8; --ouro-dk: #33455e; }
[data-tema="lavanda"] { --ouro: #9b7bb8; --ouro-cl: #b49bcf; --ouro-dk: #6f5686; }
[data-tema="terracota"] { --ouro: #c4614a; --ouro-cl: #d68670; --ouro-dk: #8f4433; }
[data-tema="nude"] { --ouro: #c4a882; --ouro-cl: #d6c1a0; --ouro-dk: #8f7a5c; }
[data-tema="menta"] { --ouro: #6aab8e; --ouro-cl: #8ac4a9; --ouro-dk: #4a7d66; }
[data-tema="cereja"] { --ouro: #b84a6a; --ouro-cl: #cf7089; --ouro-dk: #85354c; }
[data-tema="noir"] {
  --bg: #1a1a1a; --bg2: #242424; --preto: #0d0d0d;
  --txt: #f0ebe0; --txt2: #b8a98c; --branco: #232323; --borda: #3a3530;
  --ouro: #d4af5a; --ouro-cl: #e6c878; --ouro-dk: #b8973e;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--txt);
  font-family: var(--fb);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--fd); font-weight: 500; margin: 0; color: var(--preto); }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
button { cursor: pointer; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-family: var(--fb);
  font-weight: 500;
  font-size: 15px;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:active { transform: scale(0.98); }
.btn-ouro {
  background: linear-gradient(135deg, var(--ouro-cl), var(--ouro));
  color: #fff;
  box-shadow: 0 4px 14px rgba(184, 151, 62, 0.35);
}
.btn-ouro:hover { box-shadow: 0 6px 18px rgba(184, 151, 62, 0.45); }
.btn-outline {
  background: transparent;
  border-color: var(--borda);
  color: var(--txt);
}
.btn-outline:hover { border-color: var(--ouro); color: var(--ouro-dk); }
.btn-cinza {
  background: var(--bg2);
  color: var(--txt);
  border-color: var(--bg2);
}
.btn-cinza:hover { background: var(--borda); }
.btn-perigo {
  background: var(--perigo-bg);
  color: var(--perigo);
  border-color: var(--perigo-borda);
}
.btn-perigo:hover { background: var(--perigo-borda); }
.btn:disabled { opacity: 0.55; cursor: not-allowed; box-shadow: none; }

.campo { display: flex; flex-direction: column; gap: 6px; }
.campo label { font-size: 13px; color: var(--txt2); font-weight: 500; }
.campo input, .campo select, .campo textarea {
  padding: 12px 14px;
  border: 1px solid var(--borda);
  border-radius: 8px;
  background: var(--branco);
  color: var(--txt);
  outline: none;
  transition: border-color .15s ease;
}
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--ouro); }
.campo input[type="color"] {
  padding: 4px; background: var(--branco); width: 60px; height: 44px; cursor: pointer;
}

.logo { display: inline-flex; align-items: center; gap: 8px; }
