﻿/* === Fontes Google === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Great+Vibes&family=Pinyon+Script&family=Lato:wght@300;400;700&display=swap');

/* === Fontes locais === */
@font-face {
  font-family: 'Augustus';
  src: url('assets/fonts/AUGUSTUS.TTF') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Didot';
  src: url('assets/fonts/Didot.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Didot';
  src: url('assets/fonts/Didot-Italic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TrajanPro';
  src: url('assets/fonts/TrajanPro.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* === Reset básico === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  color: #5C3D2E;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}

/* Textura de papel via SVG ruído como pseudo-elemento global */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.05;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.36, 0 0 0 0 0.24, 0 0 0 0 0.18, 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

#root { position: relative; z-index: 1; }

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
img { max-width: 100%; display: block; }

/* === Tipografia utilitária === */
.f-display { font-family: 'Cormorant Garamond', serif; }
.f-script { font-family: 'Great Vibes', cursive; }
.f-body { font-family: 'Lato', sans-serif; }

/* === Animações globais === */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bounce {
  0%, 100% { transform: translateY(0); opacity: 0.7; }
  50% { transform: translateY(8px); opacity: 1; }
}
@keyframes flipDown {
  0% { transform: perspective(400px) rotateX(0deg); opacity: 1; }
  50% { transform: perspective(400px) rotateX(-90deg); opacity: 0.2; }
  100% { transform: perspective(400px) rotateX(0deg); opacity: 1; }
}
@keyframes drawerIn {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

[data-animate] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
[data-animate].visible {
  opacity: 1;
  transform: translateY(0);
}

/* === Separador ornamental === */
.ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ADADAD;
  margin: 16px auto;
}
.ornament svg { display: block; }

/* === Botões base === */
.btn-outline-gold {
  border: 1px solid #711312;
  background: transparent;
  color: #711312;
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 14px 32px;
  border-radius: 4px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-outline-gold:hover,
.btn-outline-gold:active {
  background: #711312;
  color: #ffffff;
  border-color: #711312;
}

.btn-outline-marsala {
  border: 1px solid #711312;
  background: transparent;
  color: #711312;
  font-family: 'Lato', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 10px 18px;
  border-radius: 4px;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  justify-content: center;
}
.btn-outline-marsala:hover {
  background: #711312;
  color: #ffffff;
}

/* === Container === */
.container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* === Section header === */
.section-header {
  text-align: center;
  margin-bottom: 48px;
}
.section-header h2 {
  font-family: 'Augustus', 'Cormorant Garamond', serif;
  font-size: 36px;
  font-weight: normal;
  color: #711312;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.section-header .sub {
  font-family: 'Lato', sans-serif;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #ADADAD;
  margin-bottom: 8px;
}

@media (max-width: 640px) {
  .section-header h2 { font-size: 28px; }
}

/* === Scrollbar discreta === */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #ffffff; }
::-webkit-scrollbar-thumb { background: #711312; border-radius: 8px; border: 2px solid #ffffff; }




