/*
    Author: Leandro Zambelli
*/ 

:root {

  --brand-color-primary-dark: #330000;
  --brand-color-primary-default: #62162F;
  --brand-color-primary-light: #96305a;
  --brand-color-primary-lighter: #ca678e;
  --brand-color-primary-lightest: #ff9fc5;
  --color-bg: #FFE1ED;

  --font-family-dm: 'DM Serif Display', serif;
  --font-family-inter: 'Inter', sans-serif;

  --regular: 400;
  --bold: 700;
  
}

body { font-family: var(--font-family-inter); color: var(--brand-color-primary-default); }

.hidden { display: none}

/* Bootstrap reset
*/

.card { border: none; background: #FFF3F3; border-radius: 24px; color: var(--brand-color-primary-default); min-height: 260px; }
.card-img-top { border-radius: 24px 24px 0 0; }
.card-body { padding: 32px 48px }
.card-title { margin-bottom: 32px; }

@media (max-width: 767px) {
  .card-body { padding: 32px }
}


/* Carousel
*/

.carousel-item { height: 100%; }
.carousel-control-prev, .carousel-control-next { position: relative; float: left; margin-top: 10px; margin-bottom: 24px; background: var(--brandcolor-pacman); height: 50px; width: 50px; opacity: 1; }

.carousel-indicators { justify-content: start;margin: 0; }
.carousel-indicators [data-bs-target] { width: 10px; height: 10px; background-color: var(--brand-color-primary-dark); }


/* Helper - Utilities
*/

.spacing-128 { padding-top: 128px; }
.spacing-y-128 { padding-top: 128px; padding-bottom: 128px; }
.spacing-64 { padding-top: 64px; }
.spacin-y-64 { padding-top: 64px; padding-bottom: 64px; }
.radius-24 { border-radius: 24px; }

@media (max-width: 767px) {
  .spacing-128 { padding-top: 64px; }
  .spacing-y-128 { padding-top: 64px; padding-bottom: 64px; }
}

.font-weight-regular { font-weight: var(--regular); }
.font-weight-bold { font-weight: var(--bold); }

.button { display: inline-block; padding: 10px 24px; font-weight: var(--bold); text-decoration: none; }
.button.button-sm { padding: 4px 12px 6px 12px; font-weight: var(--regular); }

.button-primary { background: var(--brand-color-primary-default); color: #fff;  }
.button-primary:hover { background: var(--brand-color-primary-light); color: white;}

.button-primary-outline { border: 2px solid var(--brand-color-primary-default); color: var(--brand-color-primary-default); }

.bg-color-primary-default { background-color: var(--brand-color-primary-default); }
.bg-color-default { background-color: var(--color-bg); }

@media (max-width:991px) {
  .bg-mobile { background: var(--color-bg); }
  }

.whatsapp { position: fixed; bottom: 32px; right: 32px; width: 88px; height: 88px; padding: 16px; background: #fff; border-radius: 100px; box-shadow: 0 4px 24px rgba(0,0,0,0.25); z-index: 999 }

.gradient-border { position: absolute; top: -128px; z-index: 0; }


/* =Typography Selectors
*/

h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-dm); margin: 0; }

p { line-height: 150%; }

b, strong { font-weight: var(--bold); }
a { color: var(--brand-color-primary-default); font-weight: var(--regular); text-decoration: none; transition: all 0.3s ease; }
a:hover { color: var(--brandcolor-primary-default); text-decoration: none; }


/* =Header e Nav
*/

header { padding: 16px 0; background: #fff; border-bottom: 1px solid var(--color-bg); }

nav a { padding-right: 16px; }
nav a:hover { color: var(--brand-color-primary-default); }
nav a:hover:not(.button) { opacity: 0.5; }


@media (max-width:991px){

  nav { transition: 150ms ease; top: 0; width: 100%; max-height: 0; overflow: hidden; background: var(--color-white); z-index: 3; }

  nav a:not(.button) { display: block!important; width: 100%; height: 40px; padding: 0; }
  nav a:first-child { margin-top: 32px }

  .btn-toggle-nav { position: absolute; top: -32px; right: 16px; z-index: 4; padding: 10px }

  .bar { display: block; margin: 5px 0; width: 30px; height: 4px; background: var(--brand-color-primary-light); transition: ease 0.2s; }

  .bar-close .bar:nth-child(1) { transform: rotate(45deg) translateY(5px) translateX(-1px); background: var(--brand-color-primary-light); width: 24px }
  .bar-close .bar:nth-child(2) { transform: rotate(-45deg) translateY(-7px) translateX(1px); background: var(--brand-color-primary-light); width: 24px }

}


/* =Hero
*/ 

.hero { padding-top: 24px; padding-bottom: 64px; }

.hero h1 { margin-bottom: 32px; font-size: 64px; font-size: clamp(56px, 10vw, 64px); line-height: 100%; }
.hero p  { font-size: 24px; margin-bottom: 24px; }
.hero img { position: relative; z-index: 1; } 

@media (max-width: 767px) { 
  .hero { padding-top: 96px; padding-bottom: 0; }
  .hero p  { font-size: 18px; }
}


/* =Main
*/

main { padding: 128px 0; }
main h2 { font-size: 64px; }
main h3 { font-size: 48px; }
main h4 { font-size: 36px; }
main p { font-size: 24px; }

@media (max-width: 767px) { 
  main h2, main h3  { font-size: 40px; }
  main p { font-size: 20px; }
}

.fotos img { border-radius: 16px; }

main section { padding-top: 128px; }

#depoimentos a:not(.button) { font-weight: var(--bold); text-decoration: underline; }
#depoimentos a:not(.button):hover { opacity: 0.6; }


/* =Contato
*/

#contato a:hover { opacity: 0.6; }