:root {
  --sa-forest: #163f35;
  --sa-forest-dark: #0d2d26;
  --sa-green: #0aae68;
  --sa-green-dark: #07824f;
  --sa-gold: #f2bd2f;
  --sa-red: #ed4250;
  --sa-blue: #1483a8;
  --sa-ink: #1b2723;
  --sa-muted: #6d7975;
  --sa-line: #dfe6e2;
  --sa-cream: #f6f3eb;
  --sa-soft: #f3f7f5;
  --sa-white: #fff;
  --sa-radius: 20px;
  --sa-shadow: 0 22px 60px rgba(20, 63, 53, .10);
}

html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  padding-top: 100px;
  background: var(--sa-cream);
  color: var(--sa-ink);
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.7;
  overflow-x: hidden;
}
body *, body *::before, body *::after { box-sizing: border-box; }
body a { color: var(--sa-forest); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
body a:hover, body a:focus { color: var(--sa-green-dark); text-decoration: none; }
body img { max-width: 100%; height: auto; }
body .container { width: calc(100% - 48px); max-width: 1240px; padding-right: 0; padding-left: 0; }

/* Header */
.site-navbar.navbar {
  min-height: 100px;
  border: 0 !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 35px rgba(22,63,53,.08);
  backdrop-filter: blur(15px);
}
.site-navbar > .container { min-height: 100px; display: flex; align-items: center; }
.site-navbar .navbar-brand { display: flex; align-items: center; margin: 0; padding: 0; }
.site-navbar .navbar-brand img { width: 270px; height: auto; }
.site-navigation { margin-left: auto; flex-grow: 0 !important; }
.site-navbar .navbar-nav { align-items: center; gap: 8px; }
.navbar-default.navbar-trans .nav-item,
.navbar-default.navbar-reduce .nav-item { margin: 0; padding: 0 0 0 9px; }
.navbar-default.navbar-trans .nav-link,
.navbar-default.navbar-reduce .nav-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 12px;
  padding: 0 12px !important;
  color: #33423d;
  font: 800 12px/1 "Manrope", Arial, sans-serif;
  letter-spacing: .055em;
}
.navbar-default.navbar-trans .btn-link::before,
.navbar-default.navbar-reduce .btn-link::before { display: none !important; }
.navbar-default.navbar-trans .nav-link:hover,
.navbar-default.navbar-reduce .nav-link:hover { background: var(--sa-soft); color: var(--sa-green-dark); }
.btn-login,
.btn-login:hover,
.btn-login:focus,
.btn-login:active {
  min-height: 44px !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  background: var(--sa-forest) !important;
  color: #fff !important;
}
.nav-promo { background: #fff5d4 !important; color: #8c6500 !important; }
.navbar-default .dropdown .dropdown-menu {
  top: calc(100% + 8px);
  min-width: 205px;
  border: 1px solid var(--sa-line);
  border-radius: 14px;
  padding: 8px;
  background: #fff;
  box-shadow: var(--sa-shadow);
}
.navbar-default .dropdown .dropdown-menu .dropdown-item { border-radius: 9px; padding: 10px 12px; color: #45534e; font: 700 12px "Manrope", Arial, sans-serif; }
.navbar-default .dropdown .dropdown-menu .dropdown-item:hover { background: var(--sa-soft); color: var(--sa-green-dark); }
.btn-carrinho { min-width: 48px; justify-content: center; }
.cart-quantity i { color: var(--sa-forest) !important; font-size: 19px; }
.cart-quantity .badge {
  top: -3px;
  left: 31px;
  min-width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 99px;
  background: var(--sa-red);
  color: #fff !important;
  font-size: 10px;
}

/* Shared typography and page shells */
.section-header-page { height: 0; margin: 0 !important; overflow: hidden; }
.section-header-sec,
.section-about { min-height: calc(100vh - 430px); margin: 0 !important; padding: 72px 0 96px !important; }
.title-wrap { margin-bottom: 42px; }
.title-box { position: relative; }
.title-a,
.title-a2 {
  margin: 0 !important;
  color: var(--sa-forest) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(32px, 4vw, 50px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em;
  text-align: left !important;
  text-transform: none !important;
}
.title-a2::before {
  content: "Shopping do Artesanato";
  display: block;
  margin-bottom: 9px;
  color: var(--sa-green-dark);
  font: 800 11px/1.2 "Manrope", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.title-box > .fas.fa-caret-right { display: none; }
.title-box h6 { margin-top: 12px; color: var(--sa-muted); font-size: 13px; font-weight: 600; letter-spacing: .02em; text-align: left !important; }
.green { color: var(--sa-green-dark) !important; }
.black { color: var(--sa-ink) !important; }

/* Hero */
.page-inicio { padding-top: 100px; }
.intro {
  width: calc(100% - 48px);
  max-width: 1460px;
  height: 610px !important;
  margin: 24px auto 0;
  border-radius: 30px;
  overflow: hidden;
  background: var(--sa-forest);
  box-shadow: var(--sa-shadow);
}
.intro .owl-carousel,
.intro .owl-stage-outer,
.intro .owl-stage,
.intro .owl-item,
.intro .carousel-item-a,
.intro .intro-item { height: 610px !important; }
.intro .carousel-item-a.bg-image { background-position: center; background-size: cover; }
.intro .carousel-item-a::before {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  background: linear-gradient(90deg, rgba(8,35,29,.88) 0%, rgba(8,35,29,.68) 47%, rgba(8,35,29,.18) 100%);
}
.intro .intro-content { inset: 0; z-index: 2; }
.intro .table-cell { display: flex; align-items: center; }
.intro .intro-body { max-width: 720px; padding: 0; }
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 23px;
  color: #c9f6df;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--sa-gold); }
.intro .intro-title.hero-kicker {
  margin: 0 0 10px !important;
  color: #d9eee6;
  font: 700 16px/1.4 "Manrope", Arial, sans-serif !important;
  letter-spacing: .03em;
  text-align: left !important;
  text-transform: none;
}
.intro .intro-title.hero-title {
  max-width: 690px;
  margin: 0 !important;
  color: #fff;
  font: 700 clamp(42px, 5.2vw, 72px)/1.04 "Fraunces", Georgia, serif !important;
  letter-spacing: -.035em;
  text-align: left !important;
  text-wrap: balance;
}
.hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 34px; }
.hero-actions a { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 13px; padding: 0 20px; font-size: 12px; font-weight: 800; }
.hero-primary { background: var(--sa-gold); color: #342805 !important; }
.hero-primary:hover { background: #ffd35a; transform: translateY(-2px); }
.hero-secondary { border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.09); color: #fff !important; backdrop-filter: blur(8px); }
.hero-secondary:hover { background: #fff; color: var(--sa-forest) !important; }
.intro .owl-theme .owl-dots { right: 30px; bottom: 25px; left: auto; width: auto; }
.intro .owl-theme .owl-dots .owl-dot span { width: 8px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.55); }
.intro .owl-theme .owl-dots .owl-dot.active span { width: 28px; background: var(--sa-gold); }

/* Buttons and fields */
body .btn,
body button,
body input,
body select,
body textarea { font-family: "Manrope", Arial, sans-serif; }
body .btn,
body .btn:hover,
body .btn:focus,
body .btn:active {
  min-height: 48px;
  border-radius: 12px !important;
  outline: 0 !important;
  padding: 0 18px !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: none !important;
}
body .btn:hover { transform: translateY(-2px); }
.btn-padrao,
.btn-adicionar,
.btn-prod {
  border: 1px solid var(--sa-green) !important;
  background: var(--sa-green) !important;
  color: #fff !important;
}
.btn-padrao:hover,
.btn-padrao:focus,
.btn-padrao:active,
.btn-adicionar:hover,
.btn-adicionar:focus,
.btn-adicionar:active,
.btn-prod:hover,
.btn-prod:focus,
.btn-prod:active { border-color: var(--sa-green-dark) !important; background: var(--sa-green-dark) !important; color: #fff !important; }
.btn-gray { border: 1px solid #dfe6e2 !important; background: #edf2ef; color: var(--sa-forest) !important; }
.btn-dark, .btn-dark:focus { border: 1px solid var(--sa-forest) !important; border-radius: 12px !important; background: var(--sa-forest) !important; color: #fff; }
.btn-outline2 { border: 1px solid var(--sa-line); border-radius: 13px; background: #fff; color: var(--sa-forest); }
.btn-outline2:hover { border-color: var(--sa-green); background: var(--sa-soft); color: var(--sa-green-dark); }
.form-st,
body .form-control,
body .form-control-lg {
  width: 100%;
  height: 52px !important;
  min-height: 52px;
  border: 1px solid #d7e0dc !important;
  border-radius: 12px !important;
  outline: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 0 15px !important;
  color: var(--sa-ink);
  font-size: 13px !important;
  font-weight: 600;
}
body textarea.form-control { height: auto !important; min-height: 170px; padding-top: 14px !important; resize: vertical; }
.form-st:focus,
body .form-control:focus { border-color: var(--sa-green) !important; box-shadow: 0 0 0 4px rgba(10,174,104,.11) !important; }
body .form-control::placeholder { color: #8a9691; opacity: 1; }
body .form-group { margin-bottom: 16px; }
.notForm, .notPass { display: block; min-height: 20px; padding: 4px 4px 0; color: #c93846; font-size: 11px; font-weight: 700; }

/* Home product showcase */
.page-inicio #produto.section-services { padding: 105px 0 115px; }
.page-inicio #produto .title-wrap { margin-bottom: 38px; }
.page-inicio #produto .title-a { max-width: 560px; font-size: clamp(38px, 4vw, 55px) !important; }
.page-inicio #produto .title-a::before { content: "Seleção em destaque"; display: block; margin-bottom: 10px; color: var(--sa-green-dark); font: 800 11px "Manrope", Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
#produto .row { row-gap: 28px; }
.dvproduto { height: auto; min-height: 0; margin-bottom: 8px; }
.dvproduto .card-box-d {
  position: relative;
  border: 1px solid var(--sa-line);
  border-radius: 18px;
  margin: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 28px rgba(22,63,53,.05);
  transition: transform .25s ease, box-shadow .25s ease;
}
.dvproduto .card-box-d:hover { transform: translateY(-6px); box-shadow: var(--sa-shadow); }
.card-img-d { height: 275px; padding: 22px; background: linear-gradient(145deg, #fff, #f0f4f1); }
.card-img-d img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dvproduto .card-overlay-hover {
  inset: auto 12px 12px;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  padding: 11px 12px;
  background: rgba(22,63,53,.94);
  opacity: 0;
  transform: translateY(8px);
  transition: .25s ease;
  backdrop-filter: blur(8px);
}
.dvproduto .card-box-d:hover .card-overlay-hover { opacity: 1; transform: translateY(0); }
.dvproduto .card-body-d { padding: 0; }
.dvproduto .produto-detalhe { margin: 0; color: rgba(255,255,255,.8); font-size: 10px; line-height: 1.45; }
.dvproduto .card-footer-d { position: static; padding: 0; }
.dvproduto .list-inline { display: flex; gap: 6px; }
.dvproduto .link-one { width: 37px; height: 37px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255,255,255,.12); color: #fff !important; font-size: 13px; }
.dvproduto .link-one:hover { background: var(--sa-gold); color: var(--sa-forest) !important; }
.produto-titulo { margin: 14px 5px 0; color: #27342f; font-size: 13px; font-weight: 800; line-height: 1.45; text-align: left; }
.bg-promo { top: 15px; left: 15px; border-radius: 8px; background: var(--sa-gold) !important; color: #4a3700 !important; padding: 6px 9px; font-size: 9px; font-weight: 800; text-transform: uppercase; }

/* Catalog and product detail */
.page-produto #produto.section-header-sec { padding-top: 66px !important; }
.page-produto #produto > .container > .row:nth-child(2) { align-items: flex-start; }
.page-produto #produto > .container > .row:nth-child(2) > .col-md-2 {
  position: sticky;
  top: 125px;
  border: 1px solid var(--sa-line);
  border-radius: 18px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(22,63,53,.05);
}
.form-search { position: relative; }
.form-search .btn-buscar { top: 5px; right: 5px; width: 42px; height: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; background: var(--sa-soft); color: var(--sa-green-dark); }
.page-produto #produto h4.green { margin: 22px 0 10px; color: var(--sa-forest) !important; font: 700 22px "Fraunces", Georgia, serif; }
.btn-categoria { display: flex; align-items: center; gap: 8px; border: 0; border-radius: 9px; margin: 2px 0; padding: 9px 10px; color: #4f5d58; font-size: 11px; line-height: 1.4; }
.btn-categoria:hover { background: var(--sa-soft); color: var(--sa-green-dark); }
.page-produto #produto > .container > .row:nth-child(2) > .col-md-10 { padding-left: 28px; }
.page-produto .dvproduto { width: 25%; max-width: 25%; flex: 0 0 25%; }
.page-produto .card-img-d { height: 235px; }
.pagination { display: flex; justify-content: center; margin-top: 35px; }
.pagination ul { display: flex; flex-wrap: wrap; gap: 5px; }
.pagination li a { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sa-line); border-radius: 9px; background: #fff; color: var(--sa-forest); padding: 0; font-size: 11px; font-weight: 800; }
.pagination li.active a { border-color: var(--sa-green); background: var(--sa-green); color: #fff !important; }
#produto-details { display: flex; align-items: center; padding: 5px 0 20px; }
.dvImagemProduto { border: 1px solid var(--sa-line); border-radius: 22px; padding: 30px; background: #fff; }
.dvImagemProduto img { width: 100%; height: 490px; border: 0; object-fit: contain; mix-blend-mode: multiply; }
.dvDetalheProduto { padding: 25px 0 25px 45px; }
#produto-details .dvDetalheProduto h4 { margin: 0 0 15px; color: var(--sa-forest) !important; font: 700 clamp(30px, 4vw, 48px)/1.1 "Fraunces", Georgia, serif !important; text-transform: none !important; }
#produto-details .dvDetalheProduto h5 { color: var(--sa-muted); font-size: 13px; line-height: 1.6; }
#produto-details .btn-adicionar { margin-top: 22px; }

/* Forms */
#login-form,
#reenviasenha-form,
#novasenha #cadastro-form,
.contato #contato-form,
#conta form {
  border: 1px solid var(--sa-line);
  border-radius: 22px;
  padding: 30px;
  background: #fff;
  box-shadow: var(--sa-shadow);
}
#login-form { margin-top: 30px !important; }
.page-reenviarsenha #carrinho > .container,
.page-acesso #carrinho > .container,
.page-cadastro #novasenha > .container,
.page-carrinho #conta > .container { max-width: 1120px; }
.page-reenviarsenha #carrinho .row:nth-child(2) > .col-md-6,
.page-acesso #carrinho .row:nth-child(2) > .col-md-6 { max-width: 580px; flex: 0 0 580px; margin: 0 auto; }
#cadastro-form > .row { margin-right: -8px; margin-left: -8px; }
#cadastro-form > .row > [class*="col-"] { padding-right: 8px; padding-left: 8px; }
#cadastro-form h4 { position: relative; margin: 20px 0 4px !important; color: var(--sa-forest) !important; font: 700 19px "Fraunces", Georgia, serif !important; text-align: left !important; }
#cadastro-form h4::after { content: ""; position: absolute; right: 0; bottom: 7px; left: 215px; height: 1px; background: var(--sa-line); }
#cadastro-form .btn-gray,
#cadastro-form .btn-padrao { width: 100%; }

/* About */
.page-sobre #sobre { padding-top: 72px !important; }
#sobre > .container > .row:last-child { align-items: stretch; }
#sobre > .container > .row:last-child > .col-md-5,
#sobre > .container > .row:last-child > .row.col-md-5 {
  border: 1px solid var(--sa-line);
  border-radius: 22px;
  padding: 38px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(22,63,53,.06);
}
#sobre > .container > .row:last-child > .row.col-md-5 { margin-left: 8.333333%; }
#sobre h4 { color: var(--sa-forest); font: 700 30px "Fraunces", Georgia, serif; text-transform: none; }
#sobre p { color: #53615c; font: 500 14px/1.8 "Manrope", Arial, sans-serif; }
#sobre ul li { margin-top: 14px !important; border-bottom: 1px solid var(--sa-line); padding: 0 0 12px; }
#sobre ul li:last-child { border-bottom: 0; }
#sobre ul i { color: var(--sa-green); }

/* Contact */
.contato { padding: 72px 0 35px; }
.contato .title-wrap { margin-bottom: 36px; }
.contato > .container > .row:nth-child(2) > .col-md-12 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.contato .icon-box {
  width: auto;
  max-width: none;
  float: none;
  border: 1px solid var(--sa-line);
  border-radius: 18px;
  padding: 25px;
  background: #fff;
  text-align: left !important;
}
.contato .icon-title { margin: 0 0 12px; color: var(--sa-forest) !important; font: 700 22px "Fraunces", Georgia, serif; }
.contato .icon-box p,
.contato .icon-box a { color: var(--sa-muted) !important; font-size: 13px; line-height: 1.65; }
.contato .icon-box .link-one { font-size: 17px; }
.contato #contato-form { margin-top: 10px; }
.contato #contato-form .row { align-items: flex-end; }
.contato #contato-form .col-md-4.mb-6 { display: flex; gap: 10px; }
.contato #contato-form .col-md-4.mb-6 .btn { height: 52px; flex: 1; display: inline-flex; align-items: center; justify-content: center; }
#gmap { width: calc(100% - 48px); max-width: 1240px; height: 390px; margin: 0 auto 90px; border-radius: 24px; overflow: hidden; box-shadow: var(--sa-shadow); }

/* Customer account, orders and cart */
#conta .list-group,
#carrinho .list-group { border: 1px solid var(--sa-line); border-radius: 20px; padding: 0; overflow: hidden; background: #fff; box-shadow: var(--sa-shadow); }
#conta .list-group-item,
#carrinho .list-group-item { min-height: 104px; border: 0; border-bottom: 1px solid var(--sa-line); padding: 22px 24px !important; background: #fff; }
#conta .list-group-item:last-child,
#carrinho .list-group-item:last-child { border-bottom: 0; }
#conta .list-group-item .title h5 { color: var(--sa-green-dark); font: 700 20px "Fraunces", Georgia, serif; }
#conta .list-group-item h6,
#carrinho .list-group-item h6 { color: var(--sa-ink); font-size: 13px; font-weight: 800; }
.cart-img { width: 76px; height: 76px; border-radius: 13px; overflow: hidden; background: var(--sa-soft); padding: 6px; }
.cart-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
#carrinho .qtd .form-search { display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; gap: 4px; }
#carrinho .qtd .btnMinus,
#carrinho .qtd .btnPlus { width: 38px; height: 38px; min-height: 38px; float: none; padding: 0 !important; background: var(--sa-soft); }
#carrinho .qtd .btnMinus { grid-column: 1; grid-row: 1; }
#carrinho .qtd .form-control { grid-column: 2; grid-row: 1; height: 38px !important; min-height: 38px; padding: 0 !important; }
#carrinho .qtd .btnPlus { grid-column: 3; grid-row: 1; }
.dvButtonsCarrinho a,
.dvButtonsCarrinho a:hover,
.dvButtonsCarrinho a:focus { min-height: 48px; display: inline-flex; align-items: center; border: 1px solid var(--sa-green); border-radius: 12px; padding: 0 18px !important; color: var(--sa-green-dark); font-size: 11px; font-weight: 800; }
.dvButtonsCarrinho a:last-child { background: var(--sa-green); color: #fff; }
#conta .btn-outline2 { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 5px; padding: 16px !important; text-align: left; }
.btn-status { border-radius: 7px; padding: 4px 7px; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.modal-content { border: 0; border-radius: 22px; box-shadow: 0 28px 80px rgba(9,34,28,.25); overflow: hidden; }
.modal-body { padding: 28px; }

/* Footer */
.site-footer { margin: 0; padding: 0; background: var(--sa-forest-dark); color: rgba(255,255,255,.72); text-align: left; }
.site-footer-grid { display: grid; grid-template-columns: 1.55fr .7fr .8fr 1fr; gap: 65px; padding-top: 66px; padding-bottom: 60px; }
.site-footer-brand img { width: 260px; margin-bottom: 22px; }
.site-footer-brand p { max-width: 390px; margin: 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.8; }
.site-footer h3 { margin: 4px 0 18px; color: #fff; font: 700 18px "Fraunces", Georgia, serif; }
.site-footer-column { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer-column a,
.site-footer-column p { margin: 0 0 9px; color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.75; }
.site-footer-column a:hover { color: #fff; }
.site-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.site-footer-bottom .container { min-height: 58px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.43); font-size: 10px; }
.site-footer-bottom a { color: rgba(255,255,255,.65); }

/* Floating actions */
.back-to-top { width: 42px; height: 42px; right: 20px; bottom: 20px; border-radius: 13px; background: var(--sa-forest); }
.ak-BtnFloating { z-index: 1030; }
.ak-BtnFloating-btn { right: 20px; bottom: 20px; width: 50px; height: 50px; border-radius: 15px; box-shadow: 0 12px 30px rgba(10,75,43,.25) !important; }
.ak-BtnFloating-content { right: 72px; bottom: 15px; }
.ak-BtnFloating-title { border-radius: 14px; }
.ak-BtnFloating-body { border-radius: 14px; }
#preloader { background: rgba(246,243,235,.96); }

@media (max-width: 991px) {
  body { padding-top: 78px; }
  body .container { width: calc(100% - 32px); }
  .site-navbar.navbar, .site-navbar > .container { min-height: 78px; }
  .site-navbar .navbar-brand img { width: 220px; }
  .navbar-toggler { width: 44px; height: 44px; border: 1px solid var(--sa-line); border-radius: 12px; padding: 10px; }
  .site-navigation { position: absolute; top: 68px; right: 16px; left: 16px; border: 1px solid var(--sa-line); border-radius: 18px; padding: 12px; background: #fff; box-shadow: var(--sa-shadow); }
  .site-navbar .navbar-nav { align-items: stretch; }
  .navbar-default.navbar-trans .nav-item, .navbar-default.navbar-reduce .nav-item { padding: 0; }
  .navbar-default.navbar-trans .nav-link, .navbar-default.navbar-reduce .nav-link { width: 100%; justify-content: flex-start; }
  .page-inicio { padding-top: 78px; }
  .intro { width: calc(100% - 32px); height: 540px !important; margin-top: 16px; }
  .intro .owl-carousel, .intro .owl-stage-outer, .intro .owl-stage, .intro .owl-item, .intro .carousel-item-a, .intro .intro-item { height: 540px !important; }
  .intro .intro-body { max-width: 650px; padding-right: 30px; }
  .page-produto #produto > .container > .row:nth-child(2) > .col-md-2 { position: static; }
  .page-produto #produto > .container > .row:nth-child(2) > .col-md-10 { padding-top: 30px; padding-left: 15px; }
  .page-produto .dvproduto { width: 33.333%; max-width: 33.333%; flex-basis: 33.333%; }
  .site-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
  .site-footer-contact { grid-column: 2 / -1; }
}

@media (max-width: 767px) {
  .section-header-sec, .section-about { padding: 52px 0 65px !important; }
  .title-wrap { margin-bottom: 30px; }
  .title-a, .title-a2 { font-size: 34px !important; }
  .intro { border-radius: 22px; }
  .intro .carousel-item-a::before { background: linear-gradient(90deg, rgba(8,35,29,.9), rgba(8,35,29,.55)); }
  .intro .intro-title.hero-title { font-size: 43px !important; }
  .hero-actions { align-items: stretch; flex-direction: column; max-width: 290px; }
  .page-inicio #produto.section-services { padding: 70px 0 80px; }
  .dvproduto, .page-produto .dvproduto { width: 50%; max-width: 50%; flex-basis: 50%; }
  .card-img-d, .page-produto .card-img-d { height: 230px; }
  .dvproduto .card-overlay-hover { opacity: 1; transform: none; }
  #produto-details { flex-direction: column; }
  .dvImagemProduto img { height: 330px; }
  .dvDetalheProduto { padding: 30px 0 0; }
  #cadastro-form { padding: 20px !important; }
  #cadastro-form h4::after { display: none; }
  #sobre > .container > .row:last-child > .col-md-5,
  #sobre > .container > .row:last-child > .row.col-md-5 { margin: 0 0 16px; padding: 26px; }
  .contato > .container > .row:nth-child(2) > .col-md-12 { grid-template-columns: 1fr; }
  .contato .icon-box { padding: 21px; }
  .contato #contato-form { padding: 20px; }
  .contato #contato-form .col-md-4.mb-6 { flex-direction: column; }
  #gmap { width: calc(100% - 32px); height: 330px; margin-bottom: 60px; }
  .dvButtonsCarrinho { gap: 10px; }
  .dvButtonsCarrinho a { width: 100%; justify-content: center; }
  .site-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding-top: 48px; padding-bottom: 45px; }
  .site-footer-brand { grid-column: 1 / -1; }
  .site-footer-contact { grid-column: 1 / -1; }
  .site-footer-bottom .container { min-height: 72px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
}

@media (max-width: 520px) {
  body .container { width: calc(100% - 24px); }
  .site-navbar .navbar-brand img { width: 185px; }
  .intro { width: calc(100% - 20px); height: 500px !important; }
  .intro .owl-carousel, .intro .owl-stage-outer, .intro .owl-stage, .intro .owl-item, .intro .carousel-item-a, .intro .intro-item { height: 500px !important; }
  .intro .intro-body { padding-right: 0; }
  .intro .intro-title.hero-title { font-size: 37px !important; }
  .hero-eyebrow { font-size: 9px; }
  .dvproduto, .page-produto .dvproduto { width: 100%; max-width: 100%; flex-basis: 100%; }
  .card-img-d, .page-produto .card-img-d { height: 300px; }
  .site-footer-grid { grid-template-columns: 1fr; }
  .site-footer-brand, .site-footer-contact { grid-column: auto; }
}
