@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

:root {
   /* Colors */
   --primary-blue: #00aeee;
   --primary-blue-opacity: rgb(0, 174, 238, 0.3);
   --secondary-blue: #17469f;
   --primary-red: #c0191f;
   --secondary-red: #c4161c;
   --white: #ffffff;
   --black: #333333;
   --primary-gray: #545454;
   --secondary-gray: #bcbcbc;
   --tertiary-gray: #e3e3e3;
   --green: #2a8352;

   /* Typography */
   --ff-roboto: "Roboto", sans-serif;
   --ff-poppins: "Poppins", sans-serif;

   --fs-1: 0.875rem;
   --fs-2: 1rem;
   --fs-3: 1.25rem;
   --fs-4: 1.5rem;
   --fs-5: 1.75rem;
   --fs-6: 2rem;
   --fs-7: 2.5rem;

   --fw-400: 400;
   --fw-500: 500;
   --fw-600: 600;
   --fw-700: 700;

   /* Transitions */
   --transition-1: 0.25s ease-in-out;

   /* Spacing */
   --section-padding: 80px;

   /* Radius */
   --radius-4: 4px;
   --radius-5: 5px;
   --radius-8: 8px;
   --radius-10: 10px;
   --radius-15: 15px;

   /* Default Theme Colors */
   --bg-primary: hsl(0, 0%, 100%);
   --bg-secondary: hsl(0, 0%, 100%);
   --color-primary: hsl(0, 0%, 34%);
   --color-secondary: hsl(0, 0%, 37%);
   --card-shadow: hsla(0, 0%, 0%, 0.1);
   --input-bg: hsl(0, 0%, 93%);
   --shadow-1: 10px 10px 40px var(--card-shadow);
}

/* Dark Theme */
body.dark_theme {
   --bg-primary: hsl(0, 0%, 12%);
   --bg-secondary: hsl(0, 0%, 19%);
   --color-primary: hsl(0, 0%, 100%);
   --color-secondary: hsl(0, 0%, 62%);
   --card-shadow: hsla(0, 0%, 0%, 0.4);
   --input-bg: hsl(0, 0%, 16%);
   --shadow-1: 10px 10px 40px var(--card-shadow);
}

body.light_theme {
   --bg-primary: hsl(0, 0%, 100%);
   --bg-secondary: hsl(0, 0%, 100%);
   --color-primary: hsl(0, 0%, 12%);
   --color-secondary: hsl(0, 0%, 37%);
   --card-shadow: hsla(0, 0%, 0%, 0.1);
   --input-bg: hsl(0, 0%, 93%);

   --shadow-1: 10px 10px 40px var(--card-shadow);
}

/* Reset */
*,
*::before,
*::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

li {
   list-style: none;
}

a {
   text-decoration: none;
   color: inherit;
}

input,
button,
select,
textarea {
   background: none;
   border: 1px var(--secondary-gray) solid;
   font: inherit;
}

button,
select {
   cursor: pointer;
}

input,
textarea {
   width: 100%;
}

:is(a, button, select):focus {
   outline-color: var(--primary-red);
   outline-offset: 3px;
}

html,
body {
   height: 100%;
   display: flex;
   flex-direction: column;
}

html {
   font-family: var(--ff-roboto);
   scroll-behavior: smooth;
}

body {
   background: var(--bg-primary);
   color: var(--color-primary);
   transition: var(--transition-1);
}

.main-content {
   flex: 1 !important;
}

body.active {
   overflow: hidden;
}

.bg-newpharma {
   background: url("../img/bg_3.jpg") center repeat, rgba(255, 255, 255, 0.5);
   background-blend-mode: lighten;
}

/* Reusable Styles */
.container {
   display: flex;
   padding-inline: 10px;
   justify-content: center;
}

.container-construction {
   margin-top: 100px;
   justify-items: center;
}

.container-construction img {
   width: 400px;
   margin-bottom: 50px;
}

.container-construction h5 {
   color: var(--secondary-blue);
   font-weight: bold;
}

h1 {
   font-size: var(--fs-7);
   font-weight: var(--fw-700); /* Bold */
}

h2 {
   font-size: var(--fs-6);
   font-weight: var(--fw-700); /* Bold */
}

h3 {
   font-size: var(--fs-5);
   font-weight: var(--fw-600); /* Semibold */
}

h4 {
   font-size: var(--fs-4);
   font-weight: var(--fw-600); /* Semibold */
}

h5 {
   font-size: var(--fs-3);
   font-weight: var(--fw-500); /* Medium */
}

h6 {
   font-size: var(--fs-2);
   font-weight: var(--fw-500); /* Medium */
}

.w-100 {
   width: 100%;
}

/* Buttons */
.btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   max-width: max-content;
   color: var(--color-primary);
   font-weight: var(--fw-600);
   text-transform: uppercase;
   letter-spacing: 0.5px;
   padding: 10px 25px;
   border: 1px solid transparent;
   border-radius: var(--radius-4);
   transition: var(--transition-1);
}

.btn-primary {
   border-color: var(--color-primary);
}

.btn-primary:is(:hover, :focus) {
   background: var(--color-primary);
   color: var(--bg-primary);
}

.btn-secondary {
   background: var(--primary-red);
   border-color: var(--primary-red);
   color: var(--white);
}

.btn-secondary:is(:hover, :focus) {
   background: hsl(0, 80%, 50%);
}

/* Slider */

.banner {
   margin-top: 100px;
   position: relative;
   height: 350px;
   padding-bottom: 40px;
}

.banner img {
   height: 300px !important;
}

.swiper {
   width: 85%;
   height: 350px;
   border-radius: 20px;
}

.swiper-slide {
   text-align: center;
   font-size: 18px;
   background: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
}

.swiper-slide img {
   display: flex;
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 20px;
   position: absolute;
}

.swiper-pagination {
   bottom: -20px !important;
   height: 45px;
}

.swiper-button-prev {
   display: none;
}

.swiper-button-next,
.swiper-button-prev {
   opacity: 0;
   transition: opacity 0.3s ease-in-out;
}

.banner:hover .swiper-button-next,
.banner:hover .swiper-button-prev {
   opacity: 1;
}

/* Slider Destaques */

.destaques {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   margin-top: 70px;
}

.destaques h2 {
   margin-bottom: 20px;
   font-size: var(--fs-4);
}

.title-destaques {
   display: flex;
   width: 85%;
   text-align: left;
}

.produtos-destaques {
   display: flex;
   flex-direction: row;
   justify-content: center;
   width: 85%;
   height: 400px;
}

.item-destaque {
   padding: 16px;
   height: 400px;
}

.img-destaque {
   border-radius: 16px;
   border: 1px var(--secondary-gray) solid;
   height: 380px;
   padding: 15px 10px;
   position: relative;
   cursor: pointer;
}

.img-destaque:hover {
   box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.13);
}

.img-photo {
   display: flex;
   flex-direction: column;
   justify-items: center;
   align-items: center;
   position: relative;
   margin-bottom: 15px;
}

.img-destaque img {
   height: 180px;
   width: 180px;
}

.add-cart {
   position: absolute;
   width: 100%;
   text-align: right;
   bottom: 0;
}

.item-discount {
   display: flex;
   position: absolute;
   text-align: right;
   background-color: var(--green);
   color: #fff;
   border-radius: 10px;
   padding: 4px 8px;
   float: right;
   font-size: 12px;
   height: 24px;
   justify-items: center;
   align-items: center;
}

.discount {
   display: flex;
   width: 100%;
   justify-content: right;
}

.item-discount i {
   font-size: var(--fs-1);
   margin-left: -2px;
}

.add-cart i {
   color: var(--primary-blue);
   cursor: pointer;
   font-size: var(--fs-7);
}

.add-cart i:hover {
   color: var(--secondary-blue);
   transition: 0.3s ease-in;
}

.item-price {
   display: flex;
   flex-direction: column;
   position: absolute;
   bottom: 10px;
   right: 15px;
   text-align: right;
}

.item-price p {
   font-weight: bold;
}

.price-old {
   padding: 5px 0;
}

.price-old s {
   font-size: 12px;
   font-weight: normal;
}

.slick-prev:before,
.slick-next:before {
   color: var(--black) !important;
}

.item-description h6 {
   font-size: var(--fs-1);
   font-weight: normal;
   margin-bottom: 2px;
}

.item-description span {
   font-size: 12px;
}

/* Side Bar Login */

aside {
   background: #fff;
   width: 360px;
   height: 95vh;
   position: fixed;
   transition: 0.6s ease-in-out;
   right: -360px;
   top: 15px;
   transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);

   z-index: 5;
   padding: 24px;
   border-radius: 20px;
}

aside.close {
   right: 25px;
   transition: 0.6s ease-in-out;
   transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
}

.btn-close {
   display: flex;
   justify-content: right;
}

.welcome {
   display: flex;
   flex-direction: column;
   margin-top: 30px;
   margin-bottom: 90px;
}

.welcome img {
   width: 40px;
   margin-bottom: 20px;
}

.welcome h3 {
   margin-bottom: 10px;
}

.welcome p {
   font-size: var(--fs-1);
}

.btn-actions {
   display: flex;
   flex-direction: column;
   gap: 10px;
   margin-bottom: 110px;
}

.btn-actions button {
   border-radius: 20px;
   font-weight: bold;
   height: 48px;
}

.btn-login {
   background-color: var(--primary-blue);
   color: var(--white);
   border: 1px var(--primary-blue) solid;
}

.btn-register {
   color: var(--black);
   border: 1px var(--black) solid;
}

.login-help a {
   font-weight: bold;
}

.contacts {
   display: flex;
   flex-direction: row;
   gap: 10px;
   margin-top: 10px;
}

.login-contact {
   border: 1px var(--secondary-gray) solid;
   border-radius: 10px;
   width: 50%;
   padding: 10px;
   color: var(--primary-gray);
}

.login-contact i {
   font-size: 24px;
   margin-bottom: 10px;
}

.central,
.message {
   display: flex;
   flex-direction: column;
   gap: 5px;
   font-weight: bold;
   font-size: var(--fs-1);
}

.login-bar i {
   font-size: 24px;
   font-weight: 500;
   cursor: pointer;
}

#overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0); /* Começa transparente */
   z-index: 4;
   opacity: 0;
   transition: opacity 0.6s ease-in-out;
   pointer-events: none;
}

#overlay.active {
   background: rgba(0, 0, 0, 0.5);
   opacity: 1;
   pointer-events: all;
}

/* Cart */

.cart {
   width: 20px;
}

.cart-empty {
   display: none;
}

.labelflutua {
   position: absolute;
   top: 32px;
   font-size: 11px;
   font-weight: 500;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   margin: 7px 0 0 18px;
   background-color: var(--primary-blue);
   border: 1px white solid;
   text-align: center;
   color: white;
   align-content: center;
}

@media screen and (max-width: 1280px) {
   /*Poderia usar: @media screen and (max-height: 600px) { */
   .welcome {
      margin-top: 1.8rem;
      margin-bottom: 2rem;
   }

   .welcome img {
      margin-bottom: 1.25rem;
   }

   .welcome h3 {
      margin-bottom: 0.6rem;
   }

   .btn-actions {
      margin-bottom: 2.5rem;
   }

   .login-help a {
      font-weight: bold;
   }

   .contacts {
      margin-top: 0.7rem;
   }

   .login-contact i {
      margin-bottom: 0.6rem;
   }

   .search {
      padding: 14px 98px 14px 16px;
      width: 520px !important;
   }

   .navbar {
      display: flex !important;
      flex-direction: row !important;
      max-width: 1280px !important;
      justify-content: center !important;
   }

   .construction {
      display: flex;
      justify-content: space-between;
      width: 1150px;
      max-width: 1150px !important;
   }

   .navbar img {
      height: 40px !important;
   }
}

/* Remover depois */

.status-bar {
   position: fixed;
   bottom: 0;
   left: 0;
   width: 100%;
   background: #333;
   color: #fff;
   padding: 5px 10px;
   font-size: 14px;
   text-align: left;
}

/* Footer */

footer {
   display: flex !important;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.container-footer {
   width: 90vw;
   margin-top: 30px;
}

.footer-construction {
   display: flex;
   position: relative;
   bottom: 0;
}

.footer-construction img {
   width: 100vw;
}

.footer-contacts {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   padding: 16px 24px;
   /* border: 1px red solid; */
}

.central-atendimento {
   display: flex;
   flex-direction: row;
}

.details-store {
   padding: 16px 24px;
}

.details-store p {
   font-size: 12px;
}

.footer-rodape {
   display: flex;
   flex-direction: row;
   font-size: 12px;
   padding: 16px 24px;
   align-items: center;
}

.footer-rodape img {
   margin-left: 5px;
   width: 120px;
}


@media screen and (max-width: 576px) {
   .container-construction {
      display: flex;
      flex-direction: column;
      margin-top: 200px;
      justify-items: center;
      justify-content: center;
      align-items: center;
   }

   .container-construction img {
      width: 200px;
      margin-bottom: 35px;
   }

   .container-construction h5 {
      font-size: 18px;
      text-align: center;
      padding: 0 30px;
   }
}