﻿/* =============================================================
   Divalore Business — Fase 8C.2 Visual Final
   Logo, hero, leitura, responsividade e fallback visual.
   ============================================================= */

:root {
  --dv-black: #080704;
  --dv-graphite: #171511;
  --dv-gold: #d6b14a;
  --dv-gold-strong: #e2bf55;
  --dv-text: #18150f;
  --dv-muted: #5d574d;
  --dv-bg: #f6f1e8;
}

/* Header */
header,
.site-header,
.main-header,
.navbar,
.dv-header {
  min-height: 82px !important;
}

header .brand,
header .logo,
nav .brand,
nav .logo,
.site-logo,
.dv-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-width: 180px !important;
  min-height: 62px !important;
}

.dv-header-logo-img,
header img[src*="divalore"],
nav img[src*="divalore"],
.logo img,
.brand img,
.site-logo img,
.dv-brand img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 210px !important;
  max-height: 62px !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Remove aparência de imagem quebrada */
img.dv-logo-data-uri {
  image-rendering: auto;
}

/* Hero */
.dv-hero-fixed,
.hero-visual,
.dv-hero-visual,
.hero-media,
.dv-hero-media,
.hero-image,
.dv-visual-card,
.visual-card,
.hero-card {
  position: relative !important;
  min-height: 400px !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  background-color: #090806 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 32px 90px -55px rgba(0,0,0,.8) !important;
}

.dv-hero-fixed::after,
.hero-visual::after,
.dv-hero-visual::after,
.hero-media::after,
.dv-hero-media::after,
.hero-image::after,
.dv-visual-card::after,
.visual-card::after,
.hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 28% 22%, rgba(218,177,65,.24), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 42%);
}

.dv-hero-img-fixed,
.hero-visual img,
.dv-hero-visual img,
.hero-media img,
.dv-hero-media img,
.hero-image img,
.dv-visual-card img,
.visual-card img,
.hero-card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 400px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Caso alguma imagem falhe */
.dv-missing-image-clean {
  background:
    radial-gradient(circle at 35% 20%, rgba(226,191,85,.18), transparent 30%),
    linear-gradient(135deg, rgba(214,177,74,.10), rgba(10,10,10,.92)),
    #0b0a08 !important;
}

/* Cookie menos invasivo */
.cookie-banner,
.cookie-consent,
.dv-cookie,
#cookie-banner,
.dv-cookie-compact {
  max-width: 620px !important;
  border-radius: 16px !important;
  z-index: 9999 !important;
}

/* Ajuste de legibilidade */
body {
  text-rendering: optimizeLegibility;
}

main p,
section p {
  line-height: 1.65;
}

/* Mobile */
@media (max-width: 900px) {
  header,
  .site-header,
  .main-header,
  .navbar,
  .dv-header {
    min-height: 74px !important;
  }

  .dv-header-logo-img,
  header img[src*="divalore"],
  nav img[src*="divalore"],
  .logo img,
  .brand img,
  .site-logo img,
  .dv-brand img {
    max-width: 160px !important;
    max-height: 50px !important;
  }

  .dv-hero-fixed,
  .hero-visual,
  .dv-hero-visual,
  .hero-media,
  .dv-hero-media,
  .hero-image,
  .dv-visual-card,
  .visual-card,
  .hero-card,
  .dv-hero-img-fixed {
    min-height: 280px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 600px) {
  .cookie-banner,
  .cookie-consent,
  .dv-cookie,
  #cookie-banner,
  .dv-cookie-compact {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    max-width: none !important;
  }

  .dv-hero-fixed,
  .hero-visual,
  .dv-hero-visual,
  .hero-media,
  .dv-hero-media,
  .hero-image,
  .dv-visual-card,
  .visual-card,
  .hero-card,
  .dv-hero-img-fixed {
    min-height: 220px !important;
  }
}
