/* Ajustes da marca Brownie Dulipinho sobre o tema original (carregado depois de base.css).
   "html body" dá especificidade maior que os <style> inline das seções do tema. */

/* Os recortes dos pacotes têm brigadeiros e avelãs em volta, então o pacote
   em si ocupa menos da imagem do que os sacos de café originais. */
html body .rs__bag,
html body .hero-m__bag {
  width: calc(var(--bag-w) * 1.7);
}

/* setas do hero mais baixas, na altura do meio dos pacotes ampliados */
html body .rs__arrow {
  bottom: calc(4px + var(--bag-w) * 0.55 - var(--arrow) / 2) !important;
}

html body .ufo__bag img {
  transform: scale(1.12);
  transform-origin: 50% 100%;
}

/* Logo oficial solto no header, sem círculo nem contorno */
html body .site-nav__seal img {
  height: 104px;
  width: auto;
  filter: none;
  transition: filter 0.25s ease;
}

/* dulipinho.js liga esta classe quando o fundo atrás do logo é escuro */
html body.logo-on-dark .site-nav__seal img {
  filter: invert(1);
}

/* "do doce sem graça." tem 18 caracteres contra 14 de "of bad coffee.":
   o título do desktop (sem quebra de linha) invadia as setas do carrossel */
html body .hero__title {
  font-size: clamp(46px, 5.05vw, 92px);
}

/* "do doce sem graça." tem 18 caracteres contra 14 de "of bad coffee." */
html body .hero-m__display {
  font-size: min(64px, calc((100vw - 40px) / 7));
}

/* Botão "Adicionar" da página de produto: o tema reservava 30% da linha,
   pouco para "+ ADICIONAR" */
html body .pdp.pdp--2col .pdp-addbtn {
  flex: 0 0 calc((100% - 10px) * 0.42);
}

html body .pdp-addbtn {
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  padding-right: 12px;
  white-space: nowrap;
  overflow: hidden;
}

html body .pdp-addbtn__label {
  letter-spacing: 0.04em;
}

/* Mascote na seção Encomendas: à direita do título no desktop */
/* a coluna reserva a faixa da direita para o mascote; o título do tema
   usa unidades de container (cqw), então encolhe junto e não fica por baixo */
html body .dp-has-mascote {
  position: relative;
  padding-right: 48%;
}

html body .dp-mascote {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: calc(clamp(260px, 30vw, 440px) / -2);
  height: clamp(260px, 30vw, 440px);
  max-width: 46%;
  object-fit: contain;
  width: auto;
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(8px 8px 0 rgba(13, 13, 13, 0.35));
  animation: dp-mascote-float 4.5s ease-in-out infinite;
}

@keyframes dp-mascote-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}

@media (prefers-reduced-motion: reduce) {
  html body .dp-mascote {
    animation: none;
  }
}

/* Cortina escura de transição entre páginas: deixava uma faixa rasgada
   e uma linha no topo durante a troca de página. Desligada. */
html body .pt {
  display: none !important;
}

/* Logo branco no footer, no lugar do nome escrito */
html body .dp-footer-logo {
  display: inline-block;
  margin-bottom: 12px;
}

html body .dp-footer-logo img {
  display: block;
  width: 150px;
  height: auto;
}

/* Páginas institucionais (Nossa História, Contato, Revenda, políticas) */
html body .dp-page {
  max-width: 760px;
}

html body .dp-page .dp-lead {
  font-size: clamp(19px, 2.2vw, 24px);
  line-height: 1.45;
}

html body .dp-page .dp-figs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 28px 0;
}

html body .dp-page .dp-figs--one {
  grid-template-columns: 1fr;
}

html body .dp-page .dp-figs img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 18px;
  border: 3px solid #0d0d0d;
  box-shadow: 6px 6px 0 #0d0d0d;
  background: #e7e1d7;
}

html body .dp-page .dp-figs img[src$=".png"] {
  object-fit: contain;
  padding: 12px;
}

/* fotos de pessoas: corta por baixo, nunca a cabeça */
html body .dp-page .dp-figs img {
  object-position: 50% 15%;
}

/* ilustração do rosto: solta, sem moldura */
html body .dp-page .dp-figs--ilustra {
  justify-items: center;
}

html body .dp-page .dp-figs--ilustra img {
  width: auto;
  max-width: 100%;
  height: clamp(260px, 40vw, 420px);
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  filter: drop-shadow(8px 8px 0 rgba(0, 176, 237, 0.55));
}

html body .dp-page .dp-cta {
  margin-top: 32px;
}

html body .dp-page .dp-cta .button-039 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 28px;
  border-radius: 14px;
  background: var(--ac);
  color: #0d0d0d;
  text-decoration: none;
  border: 3px solid #0d0d0d;
  box-shadow: 5px 5px 0 #0d0d0d;
}

@media (max-width: 767px) {
  /* no celular o mascote fica em cima do título, centralizado */
  html body .dp-has-mascote {
    padding-right: 0;
  }

  /* "Sua Encomenda." é mais longo que o "Schedule." original */
  html body #encomendas .subcta__script {
    font-size: 0.86em;
  }

  html body .dp-mascote {
    position: static;
    display: block;
    height: 260px;
    max-width: 100%;
    margin: 0 auto 18px;
  }

  html body .dp-page .dp-figs {
    grid-template-columns: 1fr;
  }

  html body .rs__bag,
  html body .hero-m__bag {
    width: calc(var(--bag-w) * 1.9);
  }

  /* pacotes maiores encostavam no selo do header: desce o carrossel */
  html body .hero-m__susan {
    margin-top: 56px;
  }

  html body .site-nav__seal img {
    height: 80px;
    width: auto;
  }
}
