/*********************************************************/
/*CSS MODE - MRPSTUDIO 2026
/*********************************************************/
/*CORES*/
:root {
  --cor_1: #d9e473;
  --cor_2: #5a585a;
}
/*********************************************************/
.botao {padding: 10px 30px; color: var(--cor_2); background-color: var(--cor_1); border-radius: 10px; font-weight: 600; text-transform: uppercase; cursor: pointer;}
.botao:hover {background-color: var(--cor_2); color: #fff;}
/*********************************************************/
/*HEADER DO SITE*/
header {width: 100%; position: absolute; z-index: 99999; background-color: rgba(0, 0, 0, 0.6); top: 0; left: 0;}
header .inicio {width: 100%; padding: 5px 0; border-bottom: 1px solid var(--cor_1); display: table;}
header .social {display: flex; justify-content: flex-end; gap: 10px;}
header .social a {color: #fff;}
header .social a:hover {color: var(--cor_1);}
header .topo {display: flex; align-items: center; justify-content: space-between; padding-bottom: 5px; }
header .logo {width: 260px; height: 60px; background-position: center center;}
/*********************************************************/
.categorias {width: 100%; max-width: 100%; text-align: center; position: absolute; left: 0; right: 0; z-index: 999; bottom: 30px; display: block; overflow: hidden;}
.categorias h2 {font-size: 1em; color: #fff; font-weight: 500;}
.categorias a {color: #fff;}
.categorias .quadro:hover a {color: var(--cor_1);}
.categorias .quadro {width: 90%; margin: auto; padding-top: 10px;}
.categorias .icon {width: 70%; height: 90px; background-position: center center; margin: 0 auto 10px auto; max-width: 130px; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.categorias .quadro:hover .icon {transform: scale(1.08); filter: drop-shadow(0 0 8px var(--cor_2)); filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(471%) hue-rotate(29deg) brightness(96%) contrast(90%);}
.categorias .content {overflow: hidden;}
.categorias .cats-slider {width: 100%; max-width: 100%;}
.categorias .cats-slide {display: block !important; padding: 0 10px; box-sizing: border-box;}
.categorias .slick-list {overflow: hidden !important; margin: 0;}
.categorias .slick-slide {height: auto;}
.categorias .slick-slide > div {width: 100%;}
/*********************************************************/
.destaques-home {background: #eee; padding: 60px 0; width: 100%; position: relative;}
.destaques-home h1 {text-align: center; font-size: 2rem; color: var(--cor_2); font-weight: 600; margin-bottom: 30px; text-transform: uppercase;}

.destaques-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}

.destaque-card {position: relative; display: block; background-color: #fff; background-size: 85%; background-repeat: no-repeat; background-position: center; aspect-ratio: 1/1; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.destaque-card::before {content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.45), rgba(0,0,0,0) 55%); opacity: 0; transition: opacity 0.25s ease;}
.destaque-card:hover {transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.14);}
.destaque-card:hover::before {opacity: 1;}
.destaque-card:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
.destaque-card:focus-visible::before {opacity: 1;}

.destaque-overlay {position: absolute; top: 12px; left: 12px; right: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; opacity: 0; transform: translateY(-6px); transition: opacity 0.25s ease, transform 0.25s ease; pointer-events: none;}
.destaque-nome {background: rgba(255,255,255,0.92); padding: 8px 10px; border-radius: 10px; font-size: 0.95rem; color: var(--cor_2); font-weight: 600; line-height: 1.15; max-width: calc(100% - 44px);}
.destaque-icone {width: 34px; height: 34px; border-radius: 50%; background: var(--cor_2); color: #fff; display: grid; place-items: center; flex: 0 0 34px;}
.destaque-icone i {font-size: 14px;}
.destaque-card:hover .destaque-overlay {opacity: 1; transform: translateY(0);}
.destaque-card:focus-visible .destaque-overlay {opacity: 1; transform: translateY(0);}
/*********************************************************/
.categorias-quadros {padding: 0;}
.cats-grid-4 {display: flex; gap: 0;}
.categoria-card {position: relative; flex: 1; height: 500px; background-size: cover; background-position: center; overflow: hidden; transition: flex 0.35s ease, box-shadow 0.35s ease;}
.categoria-overlay {position: absolute; inset: 0; background: rgba(0,0,0,0.45);}
.categoria-center {position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #fff; text-align: center;}
.categoria-icone img {width: 80px; object-fit: contain;}
.categoria-nome {font-size: 1em; font-weight: 700; letter-spacing: 0.02em;}
.categoria-card:hover .categoria-icone {transform: scale(1.08); filter: drop-shadow(0 0 8px var(--cor_2)); filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(471%) hue-rotate(29deg) brightness(96%) contrast(90%);}
.categoria-card:hover .categoria-nome {color: var(--cor_1);}
.cats-grid-4:hover .categoria-card {flex: 0.9;}
.cats-grid-4 .categoria-card:hover {flex: 1.3; box-shadow: 0 12px 28px rgba(0,0,0,0.14);}
.categoria-card:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
/*********************************************************/
.blog-home {background: #eee; padding: 60px 0;}
.blog-home-titulo {text-align: center; font-size: 2rem; color: var(--cor_2); font-weight: 600; margin-bottom: 30px; text-transform: uppercase;}
.blog-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px;}
.blog-grid-3 {grid-template-columns: repeat(3, 1fr);}
.blog-card {display: block; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.blog-card:hover {transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.14);}
.blog-card:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
.blog-img {width: 100%; height: 220px; object-fit: cover; display: block;}
.blog-img-empty {display: grid; place-items: center; background: #f2f2f2; color: rgba(0,0,0,0.55); font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.9rem;}
.blog-body {display: grid; grid-template-columns: 70px 14px 1fr; gap: 12px; align-items: center; padding: 16px;}
.blog-data {text-align: center; color: var(--cor_2); line-height: 15px;}
.blog-mes {display: block; font-weight: 400; letter-spacing: 0.08em; font-size: 0.9rem;}
.blog-dia {display: block; font-weight: 800; font-size: 1.6rem; margin-top: 6px;}
.blog-ano {display: block; font-weight: 700; font-size: 0.95rem; margin-top: 6px;}
.blog-barra {color: var(--cor_1); font-weight: 400; opacity: 0.7; font-size: 3em; justify-self: center;}
.blog-nome {color: var(--cor_2); font-size: 1em; font-weight: 500; line-height: 1.2;}
.blog-nome:hover {color: var(--cor_1);}
.blog-ver-todos {display: flex; justify-content: center; margin-top: 40px;}

.blog-paginacao {display: flex; justify-content: center; gap: 8px; margin-top: 24px; flex-wrap: wrap;}
.blog-paginacao .pag-item {display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; background: #fff; color: var(--cor_2); border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); font-weight: 600;}
.blog-paginacao .pag-item:hover {background: var(--cor_1); color: #fff;}
.blog-paginacao .pag-item.active {background: var(--cor_1); color: #fff;}
.blog-paginacao .pag-item.disabled {pointer-events: none; opacity: 0.5;}
/*********************************************************/
.parallax-banner {position: relative; background-size: cover; background-position: center center; background-attachment: fixed; min-height: 420px; display: grid; place-items: center;}
.parallax-banner::before {content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.45);}
.parallax-content {position: relative; text-align: center; color: #fff; padding: 20px; max-width: 920px;}
.parallax-title {font-size: 2.2rem; font-weight: 800; letter-spacing: 0.02em; margin-bottom: 10px;}
.parallax-text {font-size: 1.05rem; line-height: 1.5; margin-bottom: 18px; opacity: 0.95;}
/*********************************************************/
.produto-parallax {min-height: 400px; height: 400px;}
.site-footer {background: #111; color: #fff;}
.site-footer a {color: #fff;}
.site-footer a:hover {color: var(--cor_1);}
.footer-grid {display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; padding: 60px 0 40px; border-top: 4px solid var(--cor_1);}
.footer-logo img {max-width: 220px; height: auto; display: block;}
.footer-logo-text {font-size: 1.4rem; font-weight: 800; letter-spacing: 0.02em;}
.footer-desc {margin-top: 14px; color: rgba(255,255,255,0.8); line-height: 1.5;}
.footer-title {font-size: 1.05rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 14px;}
.footer-list li {display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; color: rgba(255,255,255,0.86);}
.footer-list i {color: var(--cor_1); margin-top: 3px;}
.footer-links li {margin-bottom: 10px;}
.footer-links a {color: rgba(255,255,255,0.86);}
.footer-social {display: flex; flex-wrap: wrap; gap: 10px;}
.footer-social a {width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,0.08); color: #fff; transition: background 0.25s ease, transform 0.25s ease;}
.footer-social a:hover {background: var(--cor_1); transform: translateY(-2px); color: #111;}
.footer-bottom {border-top: 1px solid rgba(255,255,255,0.12); padding: 18px 0; font-size: 0.92rem; color: rgba(255,255,255,0.78); text-align: center;}
.footer-bottom .dev a {color: var(--cor_1);}
/*********************************************************/
.page-breadcrumb {background: var(--cor_2); padding: 14px 0;}
.breadcrumb {display: flex; align-items: center; gap: 10px; font-size: 0.95rem; color: #fff;}
.breadcrumb a {color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em;}
.breadcrumb a:hover {color: var(--cor_1);}
.breadcrumb-sep {opacity: 0.45;}
.breadcrumb [aria-current="page"] {color: #fff; font-weight: 600;}
/*********************************************************/
.quem-somos-page {background: #fff; padding: 60px 0;}
.qs-header {text-align: center; margin-bottom: 30px;}
.qs-title {font-size: 2rem; color: var(--cor_2); font-weight: 700; text-transform: uppercase;}

.qs-subtitle {margin-top: 8px; color: rgba(0,0,0,0.65); font-weight: 500;}
.qs-grid {display: grid; grid-template-columns: 1.4fr 0.8fr; gap: 60px; align-items: start;}

.qs-text h3 {font-size: 1.2rem; color: var(--cor_2); font-weight: 800; margin-bottom: 10px; text-transform: uppercase;}
.qs-text p {color: var(--cor_2); line-height: 30px; margin-bottom: 20px; text-align: justify;}

.qs-card {background: #f7f7f7; border-radius: 14px; padding: 18px; box-shadow: 0 8px 20px rgba(0,0,0,0.06); margin-bottom: 45px; border-left: 4px solid var(--cor_1);}
.qs-card h4 {font-size: 1rem; color: var(--cor_2); font-weight: 800; margin-bottom: 10px; text-transform: uppercase;}
.qs-card p {color: rgba(0,0,0,0.72); line-height: 1.55; text-align: justify;}
.qs-list {margin-left: 18px;}
.qs-list li {color: rgba(0,0,0,0.72); line-height: 1.55; margin-bottom: 8px; text-align: justify;}

.qs-gallery-wrap {margin-top: 30px;}
.qs-gallery-title {font-size: 1.2rem; color: var(--cor_2); font-weight: 800; text-transform: uppercase; text-align: center; margin-bottom: 40px ;}
.qs-gallery {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 18px;}
.qs-gallery-item {display: block; position: relative; border-radius: 14px; overflow: hidden; background: #eee; aspect-ratio: 5/3; box-shadow: 0 8px 20px rgba(0,0,0,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.qs-gallery-item img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.25s ease;}
.qs-gallery-overlay {position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,0.55); opacity: 0; transition: opacity 0.25s ease;}
.qs-gallery-overlay i {width: 60px; height: 60px; border-radius: 50%; background: rgba(255,255,255,0.92); color: #111; display: grid; place-items: center; font-size: 22px; box-shadow: 0 10px 30px rgba(0,0,0,0.25); transform: scale(0.96); transition: transform 0.25s ease, background 0.25s ease;}
.qs-gallery-item:hover {transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,0.12);}
.qs-gallery-item:hover img {transform: scale(1.04);}
.qs-gallery-item:hover .qs-gallery-overlay {opacity: 1;}
.qs-gallery-item:hover .qs-gallery-overlay i {transform: scale(1.00); background: var(--cor_1);}
.qs-gallery-item:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
.qs-gallery-item:focus-visible .qs-gallery-overlay {opacity: 1;}
.qs-gallery-item:focus-visible .qs-gallery-overlay i {transform: scale(1.00); background: var(--cor_1);}

.qs-lightbox {position: fixed; inset: 0; display: none; place-items: center; background: rgba(0,0,0,0.78); z-index: 999999;}
.qs-lightbox.open {display: grid;}
.qs-lightbox-inner {position: relative; display: inline-block; max-width: min(1100px, 92vw); max-height: 86vh;}
.qs-lightbox-img {max-width: 100%; max-height: 86vh; display: block; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,0.45);}
.qs-lightbox-caption {position: absolute; left: 16px; right: 16px; bottom: 16px; margin: 0; text-align: center; color: #fff; font-weight: 600; line-height: 1.5; background: rgba(0,0,0,0.55); padding: 10px 16px; border-radius: 12px; pointer-events: none;}
.qs-lb-close {position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; color: #111; font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center;}
.qs-lb-prev, .qs-lb-next {position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.9); color: #111; font-size: 22px; cursor: pointer; display: grid; place-items: center;}
.qs-lb-prev {left: -56px;}
.qs-lb-next {right: -56px;}
.qs-lb-close:hover, .qs-lb-prev:hover, .qs-lb-next:hover {background: var(--cor_1);}
/*********************************************************/
.contato-page {background: #fff; padding: 60px 0;}
.ct-header {text-align: center; margin-bottom: 40px;}
.ct-title {font-size: 2rem; color: var(--cor_2); font-weight: 700; text-transform: uppercase;}
.ct-subtitle {margin-top: 8px; color: rgba(0,0,0,0.65); font-weight: 500;}
.contato-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch;}
.form-col {background: #f7f7f7; border-radius: 14px; padding: 22px; box-shadow: 0 8px 20px rgba(0,0,0,0.06); border-left: 4px solid var(--cor_1);}

.form-contato .form-row {display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 16px;}
.form-contato .form-group {display: flex; flex-direction: column; gap: 6px; flex: 1;}
.form-contato label {font-weight: 700; color: var(--cor_2); font-size: 0.9em; text-transform: uppercase; padding-left: 5px;}
.form-contato input, .form-contato textarea {border: 1px solid #ddd; border-radius: 10px; padding: 12px 14px; font: inherit; color: #333; background: #fff;}
.form-contato input:focus, .form-contato textarea:focus {outline: 2px solid var(--cor_1); border-color: transparent;}
.form-contato .form-actions {margin-top: 10px;}
.form-contato button {border: 0;}

.contato-info {background: #f7f7f7; border-radius: 14px; padding: 18px; box-shadow: 0 8px 20px rgba(0,0,0,0.06); border-left: 4px solid var(--cor_1);}
.ct-info-title {font-size: 1rem; color: var(--cor_2); font-weight: 800; margin-bottom: 10px; text-transform: uppercase;}
.ct-info-list li {display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; color: var(--cor_2);}
.ct-info-list i {color: var(--cor_2); margin-top: 3px;}
.ct-info-list a {color: var(--cor_2); margin-top: 3px;}
.ct-info-list a:hover {color: var(--cor_1);}
.contato-social .footer-social a {background: var(--cor_2); color: #fff;}
.contato-social .footer-social a:hover {background: var(--cor_1); color: #111;}
.contato-mapa {margin-top: 45px; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.06);}
.alert-success, .alert-error {border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px;}
.alert-success {background: #e8f5e9; color: #256029;}
.alert-error {background: #fdecea; color: #611a15;}
/*********************************************************/
.post-page {background: #eee; padding: 60px 0;}
.post-empty {background: #f7f7f7; border-radius: 14px; padding: 26px; border-left: 4px solid var(--cor_1); box-shadow: 0 8px 20px rgba(0,0,0,0.06); text-align: center; max-width: 820px; margin: 0 auto;}
.post-empty-title {margin: 0 0 8px; font-size: 1.6rem; color: var(--cor_2); font-weight: 800; text-transform: uppercase;}
.post-empty-text {margin: 0 0 18px; color: rgba(0,0,0,0.7); line-height: 1.6;}

.post-article {max-width: 80%; margin: 0 auto;}
.post-hero {border-radius: 16px; overflow: hidden; box-shadow: 0 12px 28px rgba(0,0,0,0.12); margin-bottom: 18px;}
.post-hero img {width: 100%; height: auto; display: block; aspect-ratio: 16/9; object-fit: cover;}
.post-title {margin: 0 0 10px; font-size: 1.6em; color: var(--cor_2); font-weight: 700; line-height: 1.15;}
.post-meta {display: flex; gap: 14px; flex-wrap: wrap; align-items: center; color: rgba(0,0,0,0.65); font-weight: 600; margin-bottom: 14px;}
.post-meta i {color: var(--cor_2);}
.post-share {display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px;}
.post-share-label {font-weight: 800; color: var(--cor_2); text-transform: uppercase; letter-spacing: 0.02em;}
.post-share a {width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f2f2f2; color: var(--cor_2); transition: background 0.25s ease, transform 0.25s ease;}
.post-share a:hover {background: var(--cor_1); transform: translateY(-2px); color: #111;}

.post-resumo {background: #f7f7f7; border-radius: 14px; padding: 18px; border-left: 4px solid var(--cor_1); box-shadow: 0 8px 20px rgba(0,0,0,0.06); color: rgba(0,0,0,0.72); line-height: 1.65; font-weight: 600; margin: 0 0 18px;}

.post-content {background: #fff; border-radius: 16px; padding: 30px; border-left: 4px solid var(--cor_1); box-shadow: 0 10px 26px rgba(0,0,0,0.08); color: rgba(0,0,0,0.74); line-height: 1.75; font-size: 1.02rem;}
.post-content p {text-align: justify;}
.post-content h2, .post-content h3, .post-content h4 {color: var(--cor_2); font-weight: 900; text-transform: uppercase; margin: 20px 0 10px;}
.post-content ul, .post-content ol {margin: 0 0 14px 18px;}
.post-content li {margin-bottom: 8px;}
.post-content a {color: var(--cor_2); font-weight: 800; text-decoration: underline;}
.post-content a:hover {color: var(--cor_1);}
.post-content blockquote {margin: 18px 0; padding: 14px 18px; background: #f7f7f7; border-left: 4px solid var(--cor_1); border-radius: 12px; color: rgba(0,0,0,0.72);}

.post-video {margin-top: 18px;}

.post-related {margin-top: 36px; padding-top: 22px; border-top: 1px solid rgba(0,0,0,0.08);}
.post-related-title {text-align: center; font-size: 1.25rem; color: var(--cor_2); font-weight: 900; text-transform: uppercase; margin: 0 0 16px;}
.post-related-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}
.post-rel-card {display: block; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.post-rel-card:hover {transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.14);}
.post-rel-card:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
.post-rel-img {height: 170px; background: #eee; background-size: cover; background-position: center;}
.post-rel-body {padding: 14px;}
.post-rel-body h4 {margin: 0; color: var(--cor_2); font-weight: 800; line-height: 1.25;}
.post-rel-card:hover .post-rel-body h4 {color: var(--cor_1);}
/*********************************************************/
.vitrine-page {background: #fff; padding: 60px 0;}
.vitrine-header {text-align: center; margin-bottom: 26px;}
.vitrine-title {font-size: 2rem; color: var(--cor_2); font-weight: 900; text-transform: uppercase; margin: 0;}
.vitrine-subtitle {margin: 10px auto 0; color: rgba(0,0,0,0.66); font-weight: 600; line-height: 1.5; max-width: 820px;}

.vitrine-empty {background: #f7f7f7; border-radius: 14px; padding: 26px; border-left: 4px solid var(--cor_1); box-shadow: 0 8px 20px rgba(0,0,0,0.06); text-align: center; max-width: 860px; margin: 0 auto;}
.vitrine-empty h3 {margin: 0 0 8px; color: var(--cor_2); font-weight: 900; text-transform: uppercase;}
.vitrine-empty p {margin: 0 0 18px; color: rgba(0,0,0,0.7); line-height: 1.6;}

.vitrine-grid {display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 74px; gap: 40px;}
.vitrine-item {position: relative; display: block; border-radius: 16px; overflow: hidden; background: #eee; box-shadow: 0 10px 26px rgba(0,0,0,0.10); transition: transform 0.25s ease, box-shadow 0.25s ease;}
.vitrine-item:hover {transform: translateY(-3px); box-shadow: 0 14px 32px rgba(0,0,0,0.14);}
.vitrine-item:focus-visible {outline: 3px solid var(--cor_1); outline-offset: 3px;}
.vitrine-media {position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat;}
.vitrine-overlay {position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.68) 78%);}
.vitrine-info {position: absolute; left: 16px; right: 16px; bottom: 14px; display: flex; flex-direction: column; gap: 10px;}
.vitrine-name {margin: 0; color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.12; font-size: 1.05rem; text-shadow: 0 10px 25px rgba(0,0,0,0.35);}
.vitrine-cta {display: inline-flex; align-items: center; gap: 8px; width: fit-content; background: rgba(255,255,255,0.92); color: #111; padding: 10px 12px; border-radius: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.78rem; transition: background 0.25s ease, transform 0.25s ease;}
.vitrine-item:hover .vitrine-cta {background: var(--cor_1); transform: translateY(-1px);}

.vitrine-size-full {grid-column: 1 / -1; grid-row: span 6;}
.vitrine-size-third {grid-column: span 4; grid-row: span 4;}
.vitrine-size-half {grid-column: span 6; grid-row: span 5;}

.vitrine-cta-box {margin-top: 26px; background: #eee; color: #fff; border-radius: 16px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; box-shadow: 0 10px 26px rgba(0,0,0,0.12); border-left: 4px solid var(--cor_1);}
.vitrine-cta-text h3 {margin: 0 0 6px; font-weight: 900; text-transform: uppercase; color: var(--cor_2);}
.vitrine-cta-text p {margin: 0; color: rgba(255,255,255,0.85); line-height: 1.5; font-weight: 600; color: var(--cor_2);}
.vitrine-cta-actions {display: flex; gap: 10px; align-items: center;}
/*********************************************************/
.categoria-hero {position: relative; width: 100%; height: 300px; max-height: 300px; border-radius: 16px; overflow: hidden; background-color: #111; background-size: cover; background-position: center; box-shadow: 0 12px 28px rgba(0,0,0,0.12); margin: 0 0 26px;}
.categoria-hero h1 {color: #fff !important;}
.categoria-hero-overlay {position: absolute; inset: 0; background: rgba(0,0,0,0.65);}
.categoria-hero-center {position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; text-align: center;}
.categoria-hero-icon {width: 120px; object-fit: contain; }
.categoria-hero-title {margin: 0; color: #fff; font-weight: 900; text-transform: uppercase; letter-spacing: 0.03em; font-size: 1.9rem; line-height: 1.15; text-shadow: 0 14px 30px rgba(0,0,0,0.35);}
.categoria-hero-subtitle {margin: 0; color: rgba(255,255,255,0.85); font-weight: 700;}
/*********************************************************/
.produtos-layout {display: grid; grid-template-columns: 280px 1fr; gap: 22px; align-items: start;}
.produtos-side-card {background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 10px 26px rgba(0,0,0,0.08); border-left: 4px solid var(--cor_1);}
.produtos-side-title {margin: 0 0 12px; font-size: 1rem; color: var(--cor_2); font-weight: 900; text-transform: uppercase;}
.produtos-cats {display: flex; flex-direction: column; gap: 8px;}
.produtos-cat {display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: #f7f7f7; color: var(--cor_2); font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; font-size: 0.82rem;}
.produtos-cat:hover {background: var(--cor_1); color: #111;}
.produtos-cat.active {background: var(--cor_2); color: #fff;}

.produtos-top {display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px;}
.produtos-title {margin: 0; text-align: left; font-size: 2rem; color: var(--cor_2); font-weight: 800; text-transform: uppercase;}
.produtos-meta {margin: 6px 0 0; color: rgba(0,0,0,0.65); font-weight: 600;}
.produtos-search {display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
.produtos-search input[type="text"] {min-width: 260px; border: 1px solid #ddd; border-radius: 10px; padding: 12px 14px; font: inherit; color: #333; background: #fff;}
.produtos-search input[type="text"]:focus {outline: 2px solid var(--cor_1); border-color: transparent;}
/*********************************************************/
.produto-hero { width: 100%; height: 500px; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center;  }
.produto-hero-no-bg { justify-content: center; text-align: center; }
.produto-hero-text { max-width: 45%; }
.produto-hero-no-bg .produto-hero-text { max-width: 100%; }
.produto-hero-title { font-size: 3em; line-height: 1.05; font-weight: 400; margin: 0; color:var(--cor_2); }
.produto-hero-cat { margin-top: 30px; font-size: 1.1em ; font-weight: 700; color: var(--cor_2); opacity: 0.8; }
.produto-hero-cat-btn { display: inline-flex; align-items: center; justify-content: center; margin-top: 40px; padding: 10px 30px; background: #fff; border: 1px solid var(--cor_2); color: var(--cor_2);  font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; font-size: 1em; text-decoration: none; }
.produto-hero-cat-btn:hover { background: var(--cor_2); color: #fff; }

.produto-desc { background: #fff; border-top: 40px solid #838383; }
.produto-desc-inner { display: grid; grid-template-columns: 40% 40%; gap: 20%; padding: 60px 0; align-items: center; }
.produto-desc-title { margin: 0 0 18px; font-size: 1.4rem; font-weight: 900; color: var(--cor_2); text-transform: uppercase; letter-spacing: 0.02em; }
.produto-desc-texto { color: var(--cor_2); line-height: 1.8; }
.produto-desc-texto h2, .produto-desc-texto h3, .produto-desc-texto h4 { color: var(--cor_2); font-weight: 900; text-transform: uppercase; margin: 22px 0 10px; }
.produto-desc-texto a { color: var(--cor_2); font-weight: 800; text-decoration: underline; }
.produto-desc-img { width: 100%; height: auto; border-radius: 14px; display: block; }
/*********************************************************/
.produto-galeria {margin-bottom: 60px;}
.produto-galeria .qs-gallery {display: grid; grid-template-columns: repeat(5, 180px); gap: 16px; justify-content: center;}
.produto-galeria .qs-gallery-item {aspect-ratio: 1/1;}

.produto-video {background: #fff; padding: 60px 0;}
.produto-video-card {max-width: 1000px; margin: 0 auto; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 26px rgba(0,0,0,0.10); border-left: 4px solid var(--cor_1);}
.produto-video-head {padding: 18px 22px; border-bottom: 1px solid rgba(0,0,0,0.08);}
.produto-video-title {margin: 0; font-size: 1.25rem; color: var(--cor_2); font-weight: 900; text-transform: uppercase; letter-spacing: 0.02em;}
.produto-video-frame {position: relative; width: 100%; aspect-ratio: 16/9; background: #000;}
.produto-video-media {position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block;}




