/* =========================================================
   Casa de Rezo — Design System Premium 2025
   Paleta Espiritual: Vinho, Dourado, Bege, Creme
   Tipografia: Playfair Display (títulos) + Inter (corpo)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ── Variáveis de Design ─────────────────────────────────── */
:root {
  /* Paleta Principal (Vinho Lighter / Creme Rose Premium) */
  --cr-vinho:       #8B2A3E; /* Vinho Médio / Rosé Escuro */
  --cr-vinho-dark:  #5C1A29; /* Vinho Tinto / Bordô */
  --cr-vinho-med:   #9D354B; /* Vinho Rosado */
  --cr-vinho-light: #FDF4F5; /* Creme Rosé Ultra Suave */
  --cr-vinho-glass: rgba(139, 42, 62, 0.08);

  /* Dourado */
  --cr-ouro:        #C9A84C;
  --cr-ouro-dark:   #A88530;
  --cr-ouro-light:  #F7EFD9;
  --cr-ouro-glass:  rgba(201, 168, 76, 0.15);

  /* Neutros Quentes */
  --cr-bege:        #F5EFE6; /* Bege Suave */
  --cr-creme:       #FDF9F3; /* Creme Claro Original */
  --cr-areia:       #EDE3D4; /* Areia */

  /* Texto */
  --cr-chumbo:      #2C2225; /* Grafite Rosé */
  --cr-cinza:       #6B585C; /* Cinza Rosé */
  --cr-cinza-light: #A39396; /* Cinza Muted Rosé */
  --cr-branco:      #FFFFFF;

  /* Feedback */
  --cr-success:     #166534;
  --cr-success-bg:  #DCFCE7;
  --cr-danger:      #DC2626;
  --cr-danger-bg:   #FEE2E2;
  --cr-warning:     #92400E;
  --cr-warning-bg:  #FEF3C7;

  /* Sombras */
  --shadow-xs:    0 1px 3px rgba(0,0,0,.06);
  --shadow-sm:    0 2px 8px rgba(0,0,0,.08);
  --shadow-md:    0 4px 16px rgba(0,0,0,.10);
  --shadow-lg:    0 8px 32px rgba(0,0,0,.12);
  --shadow-ouro:  0 4px 20px rgba(201,168,76,.25);
  --shadow-vinho: 0 4px 20px rgba(107,26,46,.20);

  /* Bordas */
  --border:       #E5DDD5;
  --border-light: #F0EAE2;
  --radius-sm:    6px;
  --radius:       10px;
  --radius-lg:    14px;
  --radius-xl:    20px;
  --radius-full:  9999px;

  /* Aliases para compatibilidade com código existente */
  --primary:       var(--cr-vinho);
  --primary-dark:  var(--cr-vinho-dark);
  --primary-light: var(--cr-vinho-light);
  --accent:        var(--cr-ouro);
  --accent-dark:   var(--cr-ouro-dark);
  --success:       var(--cr-success);
  --warning:       #F39C12;
  --danger:        var(--cr-danger);
  --bg:            var(--cr-creme);
  --bg-gray:       var(--cr-bege);
  --bg-light:      var(--cr-creme);
  --border-light:  #F0EAE2;
  --text-primary:  var(--cr-chumbo);
  --text-secondary:var(--cr-cinza);
  --text-muted:    var(--cr-cinza-light);
  --text-white:    var(--cr-branco);
  --shadow-blue:   var(--shadow-vinho);
}

/* ── Reset & Base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 15px;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: var(--cr-bege);
  color: var(--cr-chumbo);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

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

h1, h2, h3 { font-family: 'Playfair Display', Georgia, serif; }

/* ── Utilities ───────────────────────────────────────────── */
.container { max-width: 1280px; margin: 0 auto; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.scrollbar-hide { -ms-overflow-style:none; scrollbar-width:none; }
.scrollbar-hide::-webkit-scrollbar { display:none; }

/* ── Animações Globais ───────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes slideInLeft {
  from { opacity:0; transform:translateX(-30px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes slideDown {
  from { opacity:0; transform:translateY(-10px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse-ring {
  0%   { transform:scale(1);   opacity:1; }
  100% { transform:scale(1.6); opacity:0; }
}
@keyframes shimmer {
  0%   { background-position:-200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes spin { 100% { transform:rotate(360deg); } }
@keyframes float {
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-8px); }
}

.animate-fadeInUp  { animation: fadeInUp  .6s ease both; }
.animate-fadeIn    { animation: fadeIn    .5s ease both; }
.animate-float     { animation: float     3s ease-in-out infinite; }

.loading-shimmer {
  background: linear-gradient(90deg, #f0ebe4 25%, #e4ddd4 50%, #f0ebe4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* ── Loading Screen ──────────────────────────────────────── */
.loading-screen {
  position:fixed; inset:0;
  background: linear-gradient(135deg, var(--cr-vinho) 0%, var(--cr-vinho-dark) 60%, #2D0B15 100%);
  display:flex; align-items:center; justify-content:center;
  z-index:9999; opacity:1; transition:opacity .8s ease;
}
.loading-screen.hide { opacity:0; pointer-events:none; }
.loading-content { text-align:center; animation:fadeInUp .8s ease-out; }
.logo-glow {
  position:absolute; inset:-10px;
  background: radial-gradient(circle, rgba(201,168,76,.5) 0%, transparent 70%);
  border-radius:50%; filter:blur(20px);
  animation: float 3s ease-in-out infinite;
}
.logo-image { position:relative; z-index:2; width:180px; height:auto; filter:drop-shadow(0 8px 24px rgba(0,0,0,.4)); }
.logo-container { position:relative; margin-bottom:2rem; display:inline-block; }
.spinner { width:44px; height:44px; border:3px solid rgba(255,255,255,.2); border-top:3px solid var(--cr-ouro); border-radius:50%; animation:spin .9s linear infinite; margin:0 auto; }

/* ═══════════════════════════════════════════════════════════
   TOP BAR PROMOCIONAL (mensagens rotativas)
═══════════════════════════════════════════════════════════ */
.cr-topbar {
  background: linear-gradient(90deg, var(--cr-vinho-dark) 0%, var(--cr-vinho) 50%, var(--cr-vinho-dark) 100%);
  color: var(--cr-branco);
  height: 36px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
}

.cr-topbar__track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: topbar-scroll 28s linear infinite;
}

.cr-topbar__track:hover { animation-play-state: paused; }

@keyframes topbar-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.cr-topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .3px;
  padding: 0 32px;
  border-right: 1px solid rgba(255,255,255,.15);
  height: 36px;
}

.cr-topbar__item i {
  color: var(--cr-ouro);
  font-size: 12px;
}

.cr-topbar__close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: rgba(255,255,255,.6);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 4px;
  transition: color .2s;
  z-index: 5;
}
.cr-topbar__close:hover { color: var(--cr-branco); }

/* ═══════════════════════════════════════════════════════════
   HEADER PRINCIPAL
═══════════════════════════════════════════════════════════ */
#main-header {
  background: var(--cr-branco);
  border-bottom: 1px solid var(--border);
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 12px rgba(107,26,46,.08);
  transition: box-shadow .3s;
}

#main-header.scrolled {
  box-shadow: 0 4px 24px rgba(107,26,46,.14);
}

/* Logo */
.cr-header__logo img {
  height: 62px;
  width: auto;
  object-fit: contain;
  transition: transform .3s;
}
.cr-header__logo:hover img { transform: scale(1.03); }

/* Busca */
.cr-search {
  flex: 1;
  max-width: 580px;
}

.cr-search form {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}

.cr-search__input {
  width: 100%;
  height: 46px;
  border: 2px solid var(--border);
  border-radius: var(--radius-full);
  padding: 0 52px 0 20px;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  color: var(--cr-chumbo);
  background: var(--cr-creme);
  outline: none;
  transition: border-color .25s, box-shadow .25s;
}

.cr-search__input:focus {
  border-color: var(--cr-vinho);
  box-shadow: 0 0 0 3px var(--cr-vinho-glass);
  background: var(--cr-branco);
}

.cr-search__input::placeholder { color: var(--cr-cinza-light); }

.cr-search__btn {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: var(--cr-creme);
  border: none;
  border-radius: var(--radius-full);
  color: var(--cr-vinho);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background .2s, transform .15s;
}
.cr-search__btn:hover { background: var(--cr-vinho-light); transform: translateY(-50%) scale(1.05); }

/* Ícones de ação do header */
.cr-header__actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.cr-header__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 10px;
  border-radius: var(--radius);
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--cr-chumbo);
  text-decoration: none;
  transition: background .2s, color .2s;
  position: relative;
  white-space: nowrap;
}
.cr-header__action:hover {
  background: var(--cr-vinho-light);
  color: var(--cr-vinho);
}
.cr-header__action i { font-size: 20px; }
.cr-header__action span { font-size: 10px; font-weight: 500; }

.cr-header__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  background: var(--cr-ouro);
  color: var(--cr-vinho-dark);
  font-size: 10px;
  font-weight: 800;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}

/* Ícones sociais */
.cr-header__social {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cr-header__social a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cr-cinza);
  font-size: 13px;
  transition: background .2s, color .2s, border-color .2s;
}
.cr-header__social a:hover {
  background: var(--cr-vinho);
  color: var(--cr-branco);
  border-color: var(--cr-vinho);
}

/* Dropdown de conta */
.cr-header__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 260px;
  background: var(--cr-branco);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .2s, visibility .2s, transform .2s;
}

.cr-header__action-wrap:hover .cr-header__dropdown,
.cr-header__action-wrap:focus-within .cr-header__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cr-header__action-wrap { position: relative; }

.cr-dropdown__body { padding: 20px; }

/* ═══════════════════════════════════════════════════════════
   NAVIGATION / MEGA MENU
═══════════════════════════════════════════════════════════ */
.cr-nav {
  background: var(--cr-vinho);
  border-top: 1px solid rgba(255,255,255,.1);
}

.cr-nav__inner {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 48px;
  overflow: hidden;
}

.cr-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 14px;
  height: 48px;
  color: rgba(255,255,255,.9);
  font-size: 13.5px;
  font-weight: 500;
  white-space: nowrap;
  border: none;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
  position: relative;
}
.cr-nav__link:hover, .cr-nav__link.active {
  background: rgba(255,255,255,.12);
  color: var(--cr-branco);
}
.cr-nav__link--ouro {
  background: var(--cr-ouro);
  color: var(--cr-vinho-dark) !important;
  font-weight: 700;
  border-radius: var(--radius-sm);
  margin-left: auto;
}
.cr-nav__link--ouro:hover {
  background: var(--cr-ouro-dark) !important;
  color: var(--cr-branco) !important;
}
.cr-nav__link--hot {
  color: #FFD700 !important;
  font-weight: 700;
}

/* Mega Menu */
.cr-nav__item {
  position: relative;
  height: 48px;
  display: flex;
  align-items: center;
}

.cr-megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 700px;
  background: var(--cr-branco);
  border: 1px solid var(--border);
  border-top: 3px solid var(--cr-ouro);
  border-radius: 0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-lg);
  z-index: 500;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .25s, visibility .25s, transform .25s;
  padding: 24px;
}

.cr-nav__item:hover .cr-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cr-megamenu__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.cr-megamenu__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--radius);
  color: var(--cr-chumbo);
  font-size: 13px;
  font-weight: 500;
  transition: background .18s, color .18s;
  border-left: 3px solid transparent;
}
.cr-megamenu__link:hover {
  background: var(--cr-vinho-light);
  color: var(--cr-vinho);
  border-left-color: var(--cr-vinho);
}
.cr-megamenu__link-icon {
  width: 34px;
  height: 34px;
  background: var(--cr-bege);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--cr-vinho);
  flex-shrink: 0;
  transition: background .18s;
}
.cr-megamenu__link:hover .cr-megamenu__link-icon {
  background: var(--cr-vinho);
  color: var(--cr-branco);
}
.cr-megamenu__link-desc { font-size: 11px; color: var(--cr-cinza-light); margin-top: 1px; }

.cr-megamenu__footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-light);
  display: flex;
  justify-content: flex-end;
}
.cr-megamenu__all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cr-vinho);
  transition: gap .2s;
}
.cr-megamenu__all:hover { gap: 10px; }

/* Simple dropdown */
.cr-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--cr-branco);
  border: 1px solid var(--border);
  border-top: 3px solid var(--cr-ouro);
  border-radius: 0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-lg);
  z-index: 500;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .2s, visibility .2s, transform .2s;
  padding: 8px;
}
.cr-nav__item:hover .cr-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cr-nav__dropdown a {
  display: block;
  padding: 9px 12px;
  font-size: 13px;
  color: var(--cr-chumbo);
  border-radius: var(--radius-sm);
  transition: background .15s, color .15s;
}
.cr-nav__dropdown a:hover {
  background: var(--cr-vinho-light);
  color: var(--cr-vinho);
}

/* Mobile search bar */
.cr-mobile-search {
  display: none;
  padding: 10px 16px;
  background: var(--cr-bege);
  border-bottom: 1px solid var(--border);
}
.cr-mobile-search.open { display: block; }
.cr-mobile-search form { display: flex; gap: 8px; }
.cr-mobile-search input {
  flex: 1;
  height: 40px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-full);
  padding: 0 16px;
  font-size: 14px;
  background: var(--cr-branco);
  outline: none;
}
.cr-mobile-search input:focus { border-color: var(--cr-vinho); }
.cr-mobile-search button {
  height: 40px;
  width: 40px;
  background: var(--cr-creme);
  border: none;
  border-radius: var(--radius-full);
  color: var(--cr-vinho);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE DRAWER MENU
═══════════════════════════════════════════════════════════ */
#mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.5);
}
#mobile-menu.open { display: block; }

.cr-drawer {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(320px, 88vw);
  background: var(--cr-branco);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
}
#mobile-menu.open .cr-drawer { transform: translateX(0); }

.cr-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid var(--border-light);
  background: var(--cr-vinho);
  color: var(--cr-branco);
}
.cr-drawer__close {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.8);
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}

.cr-drawer__section-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--cr-cinza-light);
  padding: 16px 16px 6px;
}

.cr-drawer__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  font-size: 14px;
  color: var(--cr-chumbo);
  border-bottom: 1px solid var(--border-light);
  transition: background .15s, color .15s;
}
.cr-drawer__link:hover { background: var(--cr-bege); color: var(--cr-vinho); }
.cr-drawer__link i { width: 20px; text-align: center; color: var(--cr-vinho); font-size: 14px; }

.cr-drawer__accord-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-light);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--cr-chumbo);
  font-family: inherit;
  transition: background .15s, color .15s;
}
.cr-drawer__accord-btn:hover { background: var(--cr-bege); color: var(--cr-vinho); }
.cr-drawer__accord-btn i { transition: transform .25s; }
.cr-drawer__accord-btn.open i { transform: rotate(180deg); }

.cr-drawer__accord-body {
  display: none;
  background: var(--cr-bege);
}
.cr-drawer__accord-body.open { display: block; }
.cr-drawer__accord-body a {
  display: block;
  padding: 10px 16px 10px 44px;
  font-size: 13px;
  color: var(--cr-cinza);
  border-bottom: 1px solid rgba(0,0,0,.04);
  transition: color .15s;
}
.cr-drawer__accord-body a:hover { color: var(--cr-vinho); }

.cr-drawer__actions {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  border-bottom: 1px solid var(--border-light);
}
.cr-drawer__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  transition: all .2s;
}
.cr-drawer__btn--primary { background: var(--cr-vinho); color: var(--cr-branco); }
.cr-drawer__btn--primary:hover { background: var(--cr-vinho-dark); }
.cr-drawer__btn--outline { border: 2px solid var(--cr-vinho); color: var(--cr-vinho); }
.cr-drawer__btn--outline:hover { background: var(--cr-vinho); color: var(--cr-branco); }
.cr-drawer__btn--ouro { background: var(--cr-ouro); color: var(--cr-vinho-dark); grid-column: 1/-1; }
.cr-drawer__btn--ouro:hover { background: var(--cr-ouro-dark); color: var(--cr-branco); }

/* ═══════════════════════════════════════════════════════════
   HERO BANNER CARROSSEL
═══════════════════════════════════════════════════════════ */
.cr-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--cr-chumbo);
}

.cr-hero .carousel-wrapper {
  display: flex;
  width: 100%;
  transition: transform .7s cubic-bezier(.4,0,.2,1);
}

.cr-hero__slide {
  flex-shrink: 0;
  width: 100%;
  min-width: 100%;
  position: relative;
  display: block;
  height: 480px;
  overflow: hidden;
}

@media (max-width: 768px) { .cr-hero__slide { height: 260px; } }

.cr-hero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.cr-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(28,10,20,.7) 0%, rgba(28,10,20,.2) 60%, transparent 100%);
  display: flex;
  align-items: center;
}

.cr-hero__content {
  padding: 0 5%;
  color: var(--cr-branco);
  max-width: 500px;
}

.cr-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--cr-ouro);
  color: var(--cr-vinho-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  margin-bottom: 12px;
}

.cr-hero__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 4vw, 2.8rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 12px;
  text-shadow: 0 2px 8px rgba(0,0,0,.3);
}

.cr-hero__subtitle {
  font-size: 14px;
  opacity: .9;
  margin-bottom: 24px;
  line-height: 1.5;
}

.cr-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--cr-ouro);
  color: var(--cr-vinho-dark);
  font-weight: 700;
  font-size: 14px;
  padding: 12px 28px;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: var(--shadow-ouro);
}
.cr-hero__cta:hover {
  background: var(--cr-ouro-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(201,168,76,.4);
  color: var(--cr-branco);
}

/* Controles do carrossel hero */
.cr-hero__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: var(--cr-branco);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: background .2s, transform .2s;
  z-index: 10;
}
.cr-hero__nav:hover { background: rgba(255,255,255,.3); }
.cr-hero__nav--prev { left: 16px; }
.cr-hero__nav--next { right: 16px; }

.cr-hero__dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.cr-hero__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  border: none;
  cursor: pointer;
  transition: background .2s, transform .2s;
  padding: 0;
}
.cr-hero__dot.active { background: var(--cr-ouro); transform: scale(1.3); }

/* Carrosséis de categoria (existentes) */
.carousel-wrapper-tabacaria, .carousel-wrapper-imagens {
  display: flex; width: 100%; overflow: hidden;
}
.carousel-slide-item-tabacaria, .carousel-slide-item-imagens {
  flex-shrink: 0; width: 100%; position: relative;
}
#tabacaria-carousel, #imagens-carousel {
  position: relative; overflow: hidden; border-radius: var(--radius-lg);
}

/* ═══════════════════════════════════════════════════════════
   SECTION TITLES (estilo premium)
═══════════════════════════════════════════════════════════ */
.cr-section {
  padding: 60px 0;
}
.cr-section--bege { background: var(--cr-bege); }
.cr-section--creme { background: var(--cr-creme); }
.cr-section--branco { background: var(--cr-branco); }
.cr-section--vinho { background: var(--cr-vinho); }

.cr-section-title {
  text-align: center;
  margin-bottom: 40px;
}
.cr-section-title__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--cr-ouro);
  margin-bottom: 8px;
}
.cr-section-title h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--cr-chumbo);
  line-height: 1.3;
}
.cr-section-title__line {
  width: 48px;
  height: 3px;
  background: var(--cr-ouro);
  border-radius: 2px;
  margin: 12px auto 0;
}
.cr-section-title p {
  margin-top: 10px;
  color: var(--cr-cinza);
  font-size: 14px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* Inline section header (título + link "Ver todos") */
.section-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.section-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--cr-chumbo);
  position: relative;
  padding-left: 16px;
}
.section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 4px;
  background: linear-gradient(180deg, var(--cr-ouro), var(--cr-vinho));
  border-radius: 2px;
}
.section-link {
  font-size: 13px;
  color: var(--cr-vinho);
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: gap .2s;
}
.section-link:hover { gap: 9px; }

/* ═══════════════════════════════════════════════════════════
   TRUST BADGES / BENEFITS
═══════════════════════════════════════════════════════════ */
.cr-benefits {
  background: var(--cr-branco);
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  padding: 20px 0;
}
.cr-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 768px) { .cr-benefits__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px) { .cr-benefits__grid { grid-template-columns: 1fr; } }

.cr-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: var(--cr-creme);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  transition: box-shadow .25s, transform .25s;
}
.cr-benefit:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.cr-benefit__icon {
  width: 48px;
  height: 48px;
  background: var(--cr-vinho-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 18px;
  color: var(--cr-vinho);
}
.cr-benefit__title { font-size: 13px; font-weight: 700; color: var(--cr-chumbo); }
.cr-benefit__desc  { font-size: 11px; color: var(--cr-cinza); margin-top: 2px; }

/* Trust (alias) */
.trust-card {
  background: var(--cr-creme);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  text-align: center;
  box-shadow: var(--shadow-xs);
  border: 1px solid var(--border-light);
  transition: box-shadow .25s, transform .25s;
}
.trust-card:hover { box-shadow: var(--shadow-vinho); transform: translateY(-3px); }
.trust-icon { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto .75rem; font-size:1.4rem; }

/* ═══════════════════════════════════════════════════════════
   PRODUCT CARDS (pc2) — REDESIGN PREMIUM
═══════════════════════════════════════════════════════════ */
.pc2 {
  background: var(--cr-branco);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow .25s, transform .25s, border-color .25s;
  cursor: pointer;
}
.pc2:hover {
  box-shadow: var(--shadow-vinho);
  transform: translateY(-5px);
  border-color: var(--cr-vinho);
}
.pc2--out { opacity: .72; }

/* Imagem */
.pc2-img-wrap {
  position: relative;
  background: var(--cr-creme);
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pc2-img-link {
  display: flex; align-items: center; justify-content: center;
  position: absolute; inset: 0; overflow: hidden;
}
.pc2-img-link img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.pc2:hover .pc2-img-link img { transform: scale(1.07); }

/* Overlay de ações */
.pc2-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(107,26,46,.6) 0%, transparent 50%);
  display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 14px; gap: 8px;
  opacity: 0; transition: opacity .25s;
  pointer-events: none; z-index: 3;
}
.pc2:hover .pc2-overlay { opacity: 1; pointer-events: auto; }

.pc2-quick-add {
  background: var(--cr-ouro);
  color: var(--cr-vinho-dark);
  border: none;
  border-radius: var(--radius-full);
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  transform: translateY(10px);
  transition: transform .25s, background .2s;
  display: flex; align-items: center; gap: 5px;
  pointer-events: auto;
}
.pc2:hover .pc2-quick-add { transform: translateY(0); }
.pc2-quick-add:hover { background: var(--cr-ouro-dark); color: var(--cr-branco); }

/* Wishlist */
.pc2-wish {
  position: absolute; top: 8px; right: 8px;
  width: 34px; height: 34px;
  background: rgba(255,255,255,.95);
  border-radius: 50%; border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #ccc; font-size: 14px;
  box-shadow: 0 1px 5px rgba(0,0,0,.12);
  transition: color .2s, transform .2s, box-shadow .2s;
  z-index: 4;
}
.pc2-wish:hover { color: var(--cr-vinho); transform: scale(1.18); box-shadow: var(--shadow-vinho); }
.pc2-wish.active { color: var(--cr-vinho); }
.pc2-wish.active i::before { content: "\f004"; font-weight: 900; } /* filled heart */

/* Badges */
.pc2-badges {
  position: absolute; top: 8px; left: 8px;
  z-index: 4; display: flex; flex-direction: column; gap: 3px;
}
.pc2-badge {
  font-size: 10px; font-weight: 800;
  border-radius: var(--radius-sm);
  padding: 3px 8px; display: inline-block;
  letter-spacing: .4px; text-transform: uppercase;
}
.pc2-badge--disc  { background: var(--cr-vinho); color: #fff; }
.pc2-badge--new   { background: var(--cr-ouro); color: var(--cr-vinho-dark); }
.pc2-badge--tag   { background: #6a1b9a; color: #fff; }
.pc2-badge--offer { background: #D97706; color: #fff; }
.pc2-badge--feat  { background: var(--cr-ouro); color: var(--cr-vinho-dark); }

/* Corpo do card */
.pc2-body { padding: 12px; display: flex; flex-direction: column; flex: 1; }

.pc2-frete {
  background: var(--cr-success-bg);
  color: var(--cr-success);
  font-size: 11px; font-weight: 700;
  padding: 4px 10px;
  margin: -12px -12px 10px;
  display: flex; align-items: center; gap: 5px;
}

.pc2-cat {
  font-size: 10px; color: var(--cr-ouro-dark);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 3px; font-weight: 600;
}

.pc2-name {
  font-size: 13px; font-weight: 500;
  color: var(--cr-chumbo); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.6em;
  margin-bottom: 8px; text-decoration: none;
  transition: color .15s;
}
.pc2-name:hover { color: var(--cr-vinho); }

.pc2-stars { display: flex; align-items: center; gap: 2px; margin-bottom: 8px; }
.pc2-stars .fas { font-size: 10px; color: var(--cr-ouro); }
.pc2-stars-n { font-size: 10px; color: var(--cr-cinza-light); margin-left: 4px; }

.pc2-prices { margin-bottom: 10px; display: flex; flex-direction: column; gap: 2px; }
.pc2-old {
  font-size: 11px; color: var(--cr-cinza-light);
  text-decoration: line-through; display: flex; align-items: center; gap: 6px;
}
.pc2-disc-label {
  font-size: 10px; font-weight: 700;
  color: var(--cr-success); background: var(--cr-success-bg);
  padding: 1px 5px; border-radius: 3px;
}
.pc2-price {
  font-size: 20px; font-weight: 800;
  color: var(--cr-vinho); line-height: 1.15;
}
.pc2-inst { font-size: 11px; color: var(--cr-cinza); }
.pc2-inst strong { font-weight: 600; color: var(--cr-chumbo); }

/* Botão comprar */
.pc2-buy {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: 100%; background: var(--cr-vinho);
  color: var(--cr-branco); border: none;
  border-radius: var(--radius); padding: 10px 0;
  font-size: 13px; font-weight: 700;
  cursor: pointer; transition: background .2s, transform .15s;
  margin-top: auto; letter-spacing: .2px;
}
.pc2-buy:hover { background: var(--cr-vinho-dark); transform: translateY(-1px); }
.pc2-buy:active { transform: translateY(0); }
.pc2-buy--off { background: #ddd; color: #999; cursor: not-allowed; }
.pc2-buy--off:hover { background: #ddd; transform: none; }

/* Grid de produtos */
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (min-width: 640px)  { .products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px)  { .products-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1280px) { .products-grid { grid-template-columns: repeat(5, 1fr); } }

@media (max-width: 639px) {
  .pc2-body  { padding: 10px; }
  .pc2-price { font-size: 17px; }
  .pc2-frete { margin: -10px -10px 8px; }
  .pc2-buy   { font-size: 12px; padding: 9px 0; }
}

/* ═══════════════════════════════════════════════════════════
   CATEGORIAS GRID (home)
═══════════════════════════════════════════════════════════ */
.cr-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (min-width: 640px)  { .cr-cat-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 900px)  { .cr-cat-grid { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1200px) { .cr-cat-grid { grid-template-columns: repeat(8, 1fr); } }

.cr-cat-card {
  display: flex; flex-direction: column; align-items: center;
  gap: 10px; padding: 18px 10px;
  background: var(--cr-branco);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  text-align: center;
  text-decoration: none;
  color: var(--cr-chumbo);
  transition: border-color .25s, box-shadow .25s, transform .25s, background .25s;
}
.cr-cat-card:hover {
  border-color: var(--cr-ouro);
  box-shadow: var(--shadow-ouro);
  transform: translateY(-4px);
  background: var(--cr-ouro-light);
  color: var(--cr-vinho);
}
.cr-cat-card__icon {
  width: 52px; height: 52px;
  background: var(--cr-bege);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: var(--cr-vinho);
  transition: background .25s, color .25s;
}
.cr-cat-card:hover .cr-cat-card__icon { background: var(--cr-vinho); color: var(--cr-branco); }
.cr-cat-card__name { font-size: 12px; font-weight: 600; line-height: 1.3; }
.cr-cat-card__count { font-size: 10px; color: var(--cr-cinza-light); }

/* ═══════════════════════════════════════════════════════════
   FINALIDADE CARDS (compre por finalidade)
═══════════════════════════════════════════════════════════ */
.cr-finalidade-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (min-width: 640px)  { .cr-finalidade-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .cr-finalidade-grid { grid-template-columns: repeat(7, 1fr); } }

.cr-finalidade-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  aspect-ratio: 1/1.2;
  display: flex; align-items: flex-end;
  text-decoration: none;
  transition: transform .3s;
}
.cr-finalidade-card:hover { transform: scale(1.03); }

.cr-finalidade-card__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .4s;
}
.cr-finalidade-card:hover .cr-finalidade-card__bg { transform: scale(1.08); }
.cr-finalidade-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.2) 50%, transparent 100%);
}
.cr-finalidade-card__label {
  position: relative; z-index: 2;
  padding: 12px 10px;
  color: var(--cr-branco);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  line-height: 1.3;
}

/* ═══════════════════════════════════════════════════════════
   BANNERS / CTAs
═══════════════════════════════════════════════════════════ */
.cr-banner-kit {
  background: linear-gradient(135deg, var(--cr-vinho-dark) 0%, var(--cr-vinho) 50%, var(--cr-vinho-med) 100%);
  border-radius: var(--radius-xl);
  padding: 48px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: var(--cr-branco);
  position: relative;
  overflow: hidden;
}
.cr-banner-kit::before {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(201,168,76,.2), transparent 70%);
  border-radius: 50%;
}
.cr-banner-kit__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem; font-weight: 700;
  margin-bottom: 10px; line-height: 1.2;
}
.cr-banner-kit__sub { font-size: 14px; opacity: .85; max-width: 400px; }
.cr-banner-kit__btn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--cr-ouro); color: var(--cr-vinho-dark);
  font-weight: 700; font-size: 15px;
  padding: 14px 32px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: var(--shadow-ouro);
  border: none; cursor: pointer;
}
.cr-banner-kit__btn:hover { background: var(--cr-ouro-dark); transform: translateY(-2px); color: var(--cr-branco); }

@media (max-width: 768px) {
  .cr-banner-kit { flex-direction: column; text-align: center; padding: 32px 24px; }
  .cr-banner-kit__sub { margin: 0 auto; }
}

/* Banner Revendedor */
.cr-banner-rev {
  background: linear-gradient(90deg, var(--cr-ouro-light) 0%, #FEF3C7 100%);
  border: 1.5px solid var(--cr-ouro);
  border-radius: var(--radius-xl);
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.cr-banner-rev__icon { font-size: 48px; color: var(--cr-ouro-dark); }
.cr-banner-rev__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem; color: var(--cr-vinho);
  margin-bottom: 6px;
}
.cr-banner-rev__sub { font-size: 14px; color: var(--cr-cinza); max-width: 400px; }
.cr-banner-rev__btn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--cr-vinho); color: var(--cr-branco);
  font-weight: 700; font-size: 14px;
  padding: 12px 28px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.cr-banner-rev__btn:hover { background: var(--cr-vinho-dark); transform: translateY(-2px); }

@media (max-width: 768px) {
  .cr-banner-rev { flex-direction: column; text-align: center; padding: 28px 20px; }
}

/* Banner WhatsApp */
.cr-banner-wa {
  background: linear-gradient(90deg, #065f46 0%, #047857 100%);
  border-radius: var(--radius-xl);
  padding: 36px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: var(--cr-branco);
}
.cr-banner-wa__icon { font-size: 48px; }
.cr-banner-wa__title { font-family: 'Playfair Display', serif; font-size: 1.4rem; margin-bottom: 6px; }
.cr-banner-wa__sub { font-size: 14px; opacity: .9; }
.cr-banner-wa__btn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--cr-branco); color: #065f46;
  font-weight: 700; font-size: 14px;
  padding: 12px 28px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.cr-banner-wa__btn:hover { background: #dcfce7; transform: translateY(-2px); }
@media (max-width: 768px) {
  .cr-banner-wa { flex-direction: column; text-align: center; padding: 28px 20px; }
}

/* ═══════════════════════════════════════════════════════════
   NOSSA HISTÓRIA
═══════════════════════════════════════════════════════════ */
.cr-historia {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 768px) { .cr-historia { grid-template-columns: 1fr; gap: 28px; } }

.cr-historia__img {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/3;
}
.cr-historia__img img { width: 100%; height: 100%; object-fit: cover; }

.cr-historia__tag {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--cr-ouro); margin-bottom: 10px;
}
.cr-historia__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem; line-height: 1.3;
  color: var(--cr-chumbo); margin-bottom: 16px;
}
.cr-historia__body { color: var(--cr-cinza); line-height: 1.8; font-size: 14px; margin-bottom: 24px; }
.cr-historia__link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--cr-vinho); font-weight: 600; font-size: 14px;
  text-decoration: none; border-bottom: 2px solid var(--cr-ouro);
  padding-bottom: 2px; transition: border-color .2s, gap .2s;
}
.cr-historia__link:hover { gap: 12px; border-color: var(--cr-vinho); }

/* ═══════════════════════════════════════════════════════════
   RASTREAR PEDIDO (bloco)
═══════════════════════════════════════════════════════════ */
.cr-rastrear {
  background: var(--cr-creme);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 40px;
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}
.cr-rastrear__icon { font-size: 40px; color: var(--cr-vinho); margin-bottom: 12px; }
.cr-rastrear__title { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--cr-chumbo); margin-bottom: 8px; }
.cr-rastrear__sub { font-size: 13px; color: var(--cr-cinza); margin-bottom: 20px; }
.cr-rastrear__form { display: flex; gap: 8px; }
.cr-rastrear__input {
  flex: 1; height: 46px;
  border: 2px solid var(--border);
  border-radius: var(--radius-full);
  padding: 0 20px;
  font-size: 14px; font-family: inherit;
  outline: none; transition: border-color .2s;
  background: var(--cr-branco);
}
.cr-rastrear__input:focus { border-color: var(--cr-vinho); }
.cr-rastrear__btn {
  height: 46px; padding: 0 24px;
  background: var(--cr-vinho); color: var(--cr-branco);
  border: none; border-radius: var(--radius-full);
  font-weight: 700; font-size: 14px; font-family: inherit;
  cursor: pointer; transition: background .2s;
  display: flex; align-items: center; gap: 6px;
}
.cr-rastrear__btn:hover { background: var(--cr-vinho-dark); }

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════════════════════ */
.cr-newsletter {
  background: linear-gradient(135deg, var(--cr-vinho-dark) 0%, var(--cr-vinho) 100%);
  padding: 60px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cr-newsletter::before {
  content: '✦';
  position: absolute;
  font-size: 200px;
  opacity: .04;
  color: var(--cr-ouro);
  top: -40px; left: 10%;
  line-height: 1;
}
.cr-newsletter::after {
  content: '✦';
  position: absolute;
  font-size: 200px;
  opacity: .04;
  color: var(--cr-ouro);
  bottom: -60px; right: 10%;
  line-height: 1;
}
.cr-newsletter__tag {
  font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: var(--cr-ouro); margin-bottom: 10px;
}
.cr-newsletter__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  color: var(--cr-branco);
  margin-bottom: 8px;
}
.cr-newsletter__sub { font-size: 14px; color: rgba(255,255,255,.75); margin-bottom: 28px; }
.cr-newsletter__coupon {
  display: inline-block;
  background: var(--cr-ouro); color: var(--cr-vinho-dark);
  font-weight: 800; font-size: 13px;
  padding: 6px 20px; border-radius: var(--radius-full);
  letter-spacing: 2px; text-transform: uppercase;
  margin-bottom: 24px;
}
.cr-newsletter__form {
  display: flex;
  max-width: 480px; margin: 0 auto;
  gap: 8px;
}
.cr-newsletter__input {
  flex: 1; height: 50px;
  border: 2px solid rgba(255,255,255,.25);
  border-radius: var(--radius-full);
  padding: 0 22px;
  font-size: 14px; font-family: inherit;
  background: rgba(255,255,255,.12);
  color: var(--cr-branco);
  outline: none;
  transition: border-color .2s, background .2s;
}
.cr-newsletter__input::placeholder { color: rgba(255,255,255,.5); }
.cr-newsletter__input:focus { border-color: var(--cr-ouro); background: rgba(255,255,255,.18); }
.cr-newsletter__btn {
  height: 50px; padding: 0 28px;
  background: var(--cr-ouro); color: var(--cr-vinho-dark);
  border: none; border-radius: var(--radius-full);
  font-weight: 700; font-size: 14px; font-family: inherit;
  cursor: pointer; transition: background .2s, transform .15s;
  white-space: nowrap;
}
.cr-newsletter__btn:hover { background: var(--cr-ouro-dark); transform: translateY(-2px); color: var(--cr-branco); }
.cr-newsletter__note { font-size: 11px; color: rgba(255,255,255,.5); margin-top: 12px; }

@media (max-width: 640px) {
  .cr-newsletter__form { flex-direction: column; }
  .cr-newsletter__btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.cr-footer {
  background: var(--cr-vinho-dark);
  color: rgba(255,255,255,.75);
  padding: 56px 0 0;
}
.cr-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
}
@media (max-width: 900px)  { .cr-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 500px)  { .cr-footer__grid { grid-template-columns: 1fr; } }

.cr-footer__logo img { height: 64px; width: auto; filter: brightness(1.1); margin-bottom: 14px; }
.cr-footer__desc { font-size: 13px; line-height: 1.7; max-width: 280px; }

.cr-footer__col h4 {
  font-family: 'Playfair Display', serif;
  font-size: 1rem; color: var(--cr-branco);
  margin-bottom: 16px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,.3);
}
.cr-footer__col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.cr-footer__col ul li a {
  font-size: 13px; color: rgba(255,255,255,.65);
  text-decoration: none; transition: color .15s;
  display: flex; align-items: center; gap: 6px;
}
.cr-footer__col ul li a:hover { color: var(--cr-ouro); }
.cr-footer__col ul li a i { font-size: 10px; color: var(--cr-ouro); }

.cr-footer__social { display: flex; gap: 8px; margin-top: 16px; }
.cr-footer__social a {
  width: 36px; height: 36px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.65); font-size: 14px;
  transition: background .2s, color .2s, border-color .2s;
}
.cr-footer__social a:hover { background: var(--cr-ouro); color: var(--cr-vinho-dark); border-color: var(--cr-ouro); }

.cr-footer__contact-item {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 12.5px; margin-bottom: 12px;
}
.cr-footer__contact-item i { color: var(--cr-ouro); margin-top: 2px; width: 14px; text-align: center; }
.cr-footer__contact-item a { color: rgba(255,255,255,.75); text-decoration: none; transition: color .15s; }
.cr-footer__contact-item a:hover { color: var(--cr-ouro); }

/* Pagamentos */
.cr-footer__payments { margin-top: 20px; }
.cr-footer__payments span { display: block; font-size: 11px; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .8px; }
.cr-footer__payment-icons { display: flex; flex-wrap: wrap; gap: 6px; }
.cr-footer__payment-icon {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-sm);
  padding: 4px 10px;
  font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,.75);
  display: flex; align-items: center; gap: 4px;
}
.cr-footer__payment-icon i { font-size: 14px; }

/* Footer bottom */
.cr-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 18px 0;
}
.cr-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.cr-footer__copy { font-size: 12px; color: rgba(255,255,255,.4); }
.cr-footer__policies { display: flex; gap: 16px; flex-wrap: wrap; }
.cr-footer__policies a { font-size: 12px; color: rgba(255,255,255,.4); text-decoration: none; transition: color .15s; }
.cr-footer__policies a:hover { color: var(--cr-ouro); }

/* Selos de segurança */
.cr-footer__seals { display: flex; gap: 10px; align-items: center; }
.cr-footer__seal {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-sm);
  padding: 5px 10px;
  font-size: 10px; font-weight: 700;
  color: rgba(255,255,255,.5);
  display: flex; align-items: center; gap: 4px;
}
.cr-footer__seal i { color: var(--cr-ouro); }

/* ═══════════════════════════════════════════════════════════
   WHATSAPP FLUTUANTE
═══════════════════════════════════════════════════════════ */
.cr-wa-btn {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 800;
  display: flex; align-items: center; gap: 10px;
}
.cr-wa-btn__icon {
  width: 58px; height: 58px;
  background: #25D366;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; color: var(--cr-branco);
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
  position: relative;
}
.cr-wa-btn__icon::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 2px solid #25D366;
  animation: pulse-ring 2s ease-out infinite;
}
.cr-wa-btn__icon:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 28px rgba(37,211,102,.5);
}
.cr-wa-btn__tooltip {
  background: var(--cr-branco);
  color: var(--cr-chumbo);
  font-size: 12px; font-weight: 600;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-md);
  white-space: nowrap;
  opacity: 0; transform: translateX(6px);
  transition: opacity .2s, transform .2s;
  pointer-events: none;
}
.cr-wa-btn:hover .cr-wa-btn__tooltip { opacity: 1; transform: translateX(0); }

/* ═══════════════════════════════════════════════════════════
   POP-UP NEWSLETTER / CUPOM
═══════════════════════════════════════════════════════════ */
.cr-popup-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity .3s, visibility .3s;
  padding: 16px;
}
.cr-popup-overlay.open { opacity: 1; visibility: visible; }

.cr-popup {
  background: var(--cr-branco);
  border-radius: var(--radius-xl);
  overflow: hidden;
  max-width: 460px; width: 100%;
  position: relative;
  animation: fadeInUp .4s ease both;
  box-shadow: var(--shadow-lg);
}
.cr-popup__close {
  position: absolute; top: 12px; right: 12px;
  width: 32px; height: 32px;
  background: rgba(255,255,255,.8);
  border: none; border-radius: 50%;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--cr-cinza);
  z-index: 5; transition: background .2s, color .2s;
}
.cr-popup__close:hover { background: var(--cr-branco); color: var(--cr-chumbo); }

.cr-popup__img {
  width: 100%; height: 160px;
  background: linear-gradient(135deg, var(--cr-vinho-dark), var(--cr-vinho));
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.cr-popup__img::before {
  content: '✦';
  font-size: 160px; opacity: .06; color: var(--cr-ouro);
  position: absolute; top: -20px; right: -10px;
}
.cr-popup__img i { font-size: 60px; color: var(--cr-ouro); position: relative; z-index: 2; }

.cr-popup__body { padding: 28px; text-align: center; }
.cr-popup__tag {
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--cr-ouro);
  margin-bottom: 8px;
}
.cr-popup__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem; color: var(--cr-chumbo);
  margin-bottom: 6px;
}
.cr-popup__sub { font-size: 13px; color: var(--cr-cinza); margin-bottom: 16px; }
.cr-popup__coupon {
  display: inline-block;
  border: 2px dashed var(--cr-ouro);
  color: var(--cr-vinho); font-weight: 800; font-size: 22px;
  padding: 8px 24px; border-radius: var(--radius);
  letter-spacing: 3px; margin-bottom: 20px;
  background: var(--cr-ouro-light);
}
.cr-popup__form { display: flex; flex-direction: column; gap: 10px; }
.cr-popup__input {
  height: 46px; width: 100%;
  border: 2px solid var(--border);
  border-radius: var(--radius-full);
  padding: 0 20px;
  font-size: 14px; font-family: inherit;
  outline: none; transition: border-color .2s;
  background: var(--cr-creme);
}
.cr-popup__input:focus { border-color: var(--cr-vinho); }
.cr-popup__submit {
  height: 46px; background: var(--cr-vinho);
  color: var(--cr-branco); border: none;
  border-radius: var(--radius-full);
  font-weight: 700; font-size: 14px; font-family: inherit;
  cursor: pointer; transition: background .2s;
}
.cr-popup__submit:hover { background: var(--cr-vinho-dark); }
.cr-popup__skip { font-size: 11px; color: var(--cr-cinza-light); cursor: pointer; margin-top: 4px; }
.cr-popup__skip:hover { color: var(--cr-cinza); text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════
   BANNER COOKIES LGPD
═══════════════════════════════════════════════════════════ */
.cr-cookies {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 8000;
  background: var(--cr-chumbo);
  color: rgba(255,255,255,.85);
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 -4px 20px rgba(0,0,0,.2);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  flex-wrap: wrap;
}
.cr-cookies.show { transform: translateY(0); }
.cr-cookies__text { font-size: 12.5px; line-height: 1.5; flex: 1; min-width: 200px; }
.cr-cookies__text a { color: var(--cr-ouro); text-decoration: underline; }
.cr-cookies__btns { display: flex; gap: 8px; flex-shrink: 0; }
.cr-cookies__btn {
  padding: 7px 18px;
  border-radius: var(--radius-full);
  font-size: 12px; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: all .2s;
  border: none;
}
.cr-cookies__btn--accept { background: var(--cr-ouro); color: var(--cr-vinho-dark); }
.cr-cookies__btn--accept:hover { background: var(--cr-ouro-dark); }
.cr-cookies__btn--decline { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.cr-cookies__btn--decline:hover { background: rgba(255,255,255,.15); }

/* ═══════════════════════════════════════════════════════════
   BOTÕES GLOBAIS
═══════════════════════════════════════════════════════════ */
.cr-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 28px;
  border-radius: var(--radius-full);
  font-size: 14px; font-weight: 700;
  font-family: inherit; cursor: pointer;
  border: none; text-decoration: none;
  transition: all .2s; letter-spacing: .2px;
}
.cr-btn--primary { background: var(--cr-vinho); color: var(--cr-branco); }
.cr-btn--primary:hover { background: var(--cr-vinho-dark); transform: translateY(-2px); box-shadow: var(--shadow-vinho); }
.cr-btn--ouro { background: var(--cr-ouro); color: var(--cr-vinho-dark); }
.cr-btn--ouro:hover { background: var(--cr-ouro-dark); transform: translateY(-2px); box-shadow: var(--shadow-ouro); color: var(--cr-branco); }
.cr-btn--outline { background: transparent; color: var(--cr-vinho); border: 2px solid var(--cr-vinho); }
.cr-btn--outline:hover { background: var(--cr-vinho); color: var(--cr-branco); }
.cr-btn--ghost { background: rgba(255,255,255,.15); color: var(--cr-branco); }
.cr-btn--ghost:hover { background: rgba(255,255,255,.25); }

/* Aliases legados */
.btn-primary { @extend .cr-btn--primary; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO
═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  body { background-color: var(--cr-bege); }
  .cr-section { padding: 40px 0; }
  .cr-section-title { margin-bottom: 24px; }
  .container { padding-left: 1rem; padding-right: 1rem; }

  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.25rem; }

  button, .cr-btn, [role="button"] {
    min-height: 44px;
    -webkit-tap-highlight-color: transparent;
  }

  input[type="text"], input[type="email"],
  input[type="tel"], input[type="password"],
  textarea, select { min-height: 44px; font-size: 16px; }

  .cr-wa-btn { bottom: 80px; right: 16px; }
  .cr-hero__nav { display: none; }
}

@media (max-width: 480px) {
  .cr-newsletter__form { flex-direction: column; }
  .cr-rastrear__form { flex-direction: column; }
  .cr-rastrear__btn { width: 100%; justify-content: center; }
}

/* Product grid (aliases legados) */
.product-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.product-card { transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-vinho); }
.loading-shimmer { background: linear-gradient(90deg,#f0ebe4 25%,#e4ddd4 50%,#f0ebe4 75%); background-size:200% 100%; animation: shimmer 1.5s infinite; }
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Scroll reveal */
.cr-reveal { opacity:0; transform:translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.cr-reveal.visible { opacity:1; transform:translateY(0); }
