/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}



/********************************************************************
******************************************************************** 
MEU ESTILO 
********************************************************************/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

/* LINKS */
a,
a:visited {
    color: #476772;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {

    letter-spacing: -1px;
    color: #3e5962;
    font-weight: normal;
}

h1 {
    text-transform: uppercase;
}

a:hover,
a:active {
    color: #000;
    text-decoration: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}
button,
input {
    /* 1 */
    overflow: visible;
}
	fieldset {
    padding: 0.35em 0.75em 0.625em;
}


@font-face {
    font-family: 'Gill Sans MT';
    src: url(gill-sans-mt.ttf) format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: -apple-system, 'Helvetica Neue', Helvetica, sans-serif;
	overflow-x: hidden;
	height: 100vh;
	position: relative;
	-webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    color: #252525;
    padding: 0;
    margin: 0;
    background: rgba(255, 255, 255, 1.0);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1.0), rgba(255, 248, 231, 1.0));
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 1.0), rgba(255, 248, 231, 1.0));
    background: linear-gradient(to right, rgba(255, 255, 255, 1.0), rgba(255, 248, 231, 1.0));
}

.botao {
	display: inline-block;
	padding: 8px 15px;
	background: #347d56;
	color: white;
	text-decoration: none;
	border-radius: 6px;
	font-size: 14px;
	margin:0;
	cursor: pointer;
	box-shadow: 0px 14px 56px -11px #23553a;
}
.botao:hover {
	background: #23553a;
}

.botaoproduto {
	border-width: 0;
	display: inline-block;
	padding: 8px 15px;
	background: #347d56;
	color: white;
	text-decoration: none;
	border-radius: 4px;
	font-size: 24px;
	margin:0;
	cursor: pointer;
	box-shadow: 0px 14px 56px -11px #23553a;
}
.botaoproduto:hover {
	background: #23553a;
}
.botaoproduto img {vertical-align:top;}


/*container principal*/
.ibooks-container {
	width: 100%;
	min-height: 100vh;
	padding: 10px 20px 10px;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Estante de livros */
    .bookshelf {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 35px 25px;
	padding: 20px 0;
	margin-top: 10px;
}

/* Livro individual */

    .book {
	width: 160px;
	height: 230px;
	position: relative;
	transform-style: preserve-3d;
	transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
	cursor: pointer;
	perspective: 1000px;
	transform-origin: center bottom;
}

.book-cover {
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-color: #333;
	border-radius: 2px 4px 4px 2px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.3),
                0 0 0 1px rgba(255,255,255,0.05),
                inset 0 1px 0 rgba(255,255,255,0.1),
                inset 0 0 20px rgba(0,0,0,0.2);
	transform: rotateY(0deg) translateZ(8px);
	transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
	backface-visibility: hidden;
	z-index: 2;
}

.book-spine {
	position: absolute;
	width: 12px;
	height: 100%;
	left: 0;
	background: linear-gradient(to right, 
                #1e1e1e 0%, 
                #333 50%, 
                #1e1e1e 100%);
	border-radius: 2px 0 0 2px;
	transform: rotateY(-90deg) translateZ(6px) translateX(-6px);
	box-shadow: inset -3px 0 5px rgba(0,0,0,0.5),
                inset 1px 0 0 rgba(255,255,255,0.1);
	z-index: 1;
}

.book-shadow {
	position: absolute;
	width: 90%;
	height: 20px;
	bottom: -15px;
	left: 5%;
	background: radial-gradient(ellipse at center, 
                rgba(0,0,0,0.6) 0%, 
                rgba(0,0,0,0) 70%);
	filter: blur(5px);
	transform: rotateX(-85deg) translateZ(-10px);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 0;
}

.infoproduto {
	margin:18px 0px 18px 0px;
	border: none; 
	height: 1px; 
	background: linear-gradient(to right, #ff7e5f, #feb47b);
}

/* Efeitos de hover */

    book:hover {
	transform: translateY(-10px);
}

.book:hover .book-cover {
	box-shadow: 0 15px 25px rgba(0,0,0,0.4),
                0 0 0 1px rgba(255,255,255,0.1),
                inset 0 1px 0 rgba(255,255,255,0.15),
                inset 0 0 20px rgba(0,0,0,0.2);
}

.book:hover .book-shadow {
	opacity: 1;
}

/* Livro selecionado */

    .book.selected {
	transform: translateY(-10px) scale(1.05);
	z-index: 10;
}

.book.selected .book-cover {
	box-shadow: 0 20px 30px rgba(0,0,0,0.5),
                0 0 0 1px rgba(255,255,255,0.1),
                inset 0 1px 0 rgba(255,255,255,0.2),
                inset 0 0 30px rgba(0,0,0,0.3);
}

.book.selected .book-shadow {
	opacity: 1;
	filter: blur(8px);
	height: 30px;
	bottom: -20px;
}

/* Informações do livro */

    .book-info {
	position: absolute;
	bottom: -18px;/*-30px*/
	width: 100%;
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	color: rgba(0,0,0,0.8);
	text-shadow: 0 1px 2px #f5f5f5;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 5px;
	transition: all 0.3s;
}

.book.selected .book-info {
	font-weight: 600;
	color: rgba(0,0,0,0.9);
	color: #fff;
	text-shadow: 0 1px 3px #fff;
}

/* rodapé */
    .footer {
	background: #3e5962;
	border-top: 1px solid #000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 10px;
	font-size: 11px;
	color: azure;
	z-index: 50;
}

.footer a {
	color: azure;
	text-decoration: none;
}

/* Barra de ferramentas */

    .toolbar {
	position: fixed;
	bottom: 20px;
	left: 0;
	width: 100%;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	background: rgba(45,45,45,0.9);
	border-top: 1px solid #000;
	border-bottom: 1px solid #333;
	box-shadow: 0 -1px 0 rgba(255,255,255,0.05);
	z-index: 60;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.toolbar-button {
	color: #aaa;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: color 0.2s;
	padding: 5px 10px;
	border-radius: 4px;
}

.toolbar-button.active {
	color: #0a84ff;
	background: rgba(10,132,255,0.1);
}

.toolbar-button:hover {
	color: #fff;
}

/* Paginação */
    .pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	padding: 15px 0;
	margin: 20px 0;
	flex-wrap: wrap;
}

.pagination-link, .pagination-disabled, .pagination-active {
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 14px;
	text-decoration: none;
	transition: all 0.2s;
}

.pagination-link {
	color: #0a84ff;
	background: rgba(10,132,255,0.1);
}

.pagination-link:hover {
	background: rgba(10,132,255,0.2);
	color: #fff;
}

.pagination-disabled {
	color: #666;
	cursor: not-allowed;
}

.pagination-active {
	color: #fff;
	background: rgba(10,132,255,0.3);
	font-weight: 500;
}

/* Contador de registros */
    .pagination-info {
	text-align: center;
	color: #999;
	font-size: 13px;
	margin-top: -10px;
	margin-bottom: 10px;
}

nav.breadcrumb {color: rgb(168, 168, 168);margin-left:10px;}
nav.breadcrumb a {color: rgb(168, 168, 168);}

/* Estilos específicos para a página de item */

    .item-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 10px 20px 10px 20px;
}

.item-header {
	text-align: center;
	margin-bottom: 30px;
}

.item-cover {
	max-width: 300px;
	margin: 0 auto 20px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.item-cover img {
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.item-title {
	font-size: 24px;
	margin-bottom: 5px;
	color: #3e5962;
	text-transform: uppercase;
}

.item-author {
	font-size: 18px;
	color: #3e5962;
	margin-bottom: 20px;
}

.item-details {
	background: rgb(255, 240, 157);
	border-radius: 10px;
	border: 1px solid gray;
	padding: 20px;
	margin-bottom: 30px;
}

.detail-row {
	display: flex;
	margin-bottom: 10px;
}

.detail-row-condicao {
	font-size:1.15em;
	margin-bottom: 10px;
}

.detail-label {
	font-weight: 500;
	min-width: 120px;
	color: #959595;
}

.detail-value {
	flex: 1;
    color: #252525;
}

.detail-row-condicao a:link, .detail-value a:link {color: #005512;text-decoration: underline;}

.item-description {
    font-family: "Georgia", "Palatino", "serif";
	margin-top: 30px;
    font-size:115%;
    hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    line-height: 1.31;
    letter-spacing: normal;
    margin: 0.8em 0;
    font-kerning: normal;
    font-variant-ligatures: common-ligatures no-discretionary-ligatures historical-ligatures contextual;
    text-wrap: pretty;
}
.item-description div p {margin: 0.6em 0;}

.back-link {
	display: inline-block;
	margin-top: 20px;
	color: azure;
	text-decoration: none;
}

.back-link:hover {
	text-decoration: underline;
	color: rgb(163, 255, 255);
}

/* Estilos para arquivos relacionados */
    .related-files {
	margin-top: 40px;
	border-top: 1px solid #bfbfbd;
	padding-top: 20px;
}

.files-section {
	margin-bottom: 30px;
}

.files-section h4 {
	margin-bottom: 15px;
	color: #1c1c1e;
}

.video-player, .audio-player {
	margin-bottom: 20px;
	padding: 15px;
	background: #444444;
	border-radius: 8px;
}

.document-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.file-link, .file-download {
	display: inline-block;
	padding: 8px 15px;
	background: rgb(255, 240, 157);	
	text-decoration: none;
	border-radius: 6px;
	font-size: 14px;
}

.file-link:hover, .file-download:hover {
	background: rgb(217, 201, 111);	
}

/* Estilos adicionais para resultados de busca */

    .resultado-busca {
	background: rgba(10, 132, 255, 0.1);
	padding: 10px 15px;
	margin: 10px 0;
	border-radius: 5px;
}

.resultado-busca span {
	color: #0a84ff;
	font-weight: 500;
}

.remover-filtro {
	color: #ff453a;
	text-decoration: none;
	font-size: 13px;
	cursor: pointer;
	position: relative;
	z-index: 1000;
	padding: 5px;
	margin-left: 10px;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 3px;
}

.remover-filtro:hover {
	text-decoration: underline;
	background: rgba(255, 255, 255, 0.9);
}

/* Estilos adicionais para filtros */

    .filtro-ativo {
	background: rgba(10, 132, 255, 0.1);
	padding: 10px 15px;
	margin: 10px 0;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.filtro-ativo span {
	color: #0a84ff;
	font-weight: 500;
}

.remover-filtro {
	color: #ff453a;
	text-decoration: none;
	font-size: 13px;
	cursor: pointer;
	z-index: 10;
	position: relative;
}

.remover-filtro:hover {
	text-decoration: underline;
}

/* Garante que o link não seja sobreposto por outros elementos */
    .book, .list-item {
	position: relative;
	z-index: 1;
}

/* Acessibilidade */
    a:focus, .toolbar-button:focus {
	outline: 2px solid #0a84ff;
	outline-offset: 2px;
}
        
/*paginas sobre e policy*/
.texto {
    font-family: "Georgia", "Palatino", "serif";
	margin-top: 30px;
    font-size:115%;
    hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    line-height: 1.31;
    letter-spacing: normal;
    margin: 0.8em 0;
    font-kerning: normal;
    font-variant-ligatures: common-ligatures no-discretionary-ligatures historical-ligatures contextual;
    text-wrap: pretty;
}
.texto h1,.texto h2,.texto h3,.texto h4,.texto h5,.texto h6 {margin:15px 0px;font-family: -apple-system, 'Helvetica Neue', Helvetica, sans-serif;}

.texto p {margin:10px 0px;}

/* CARRINHO */

table.tabelacarrinho {
    width: 100%;
}

.tabelacarrinho,
.tabelacarrinho td {
    font-size: 13px;
    border-bottom-width: 1px;
    border-bottom-color: lightgray;
    border-bottom-style: solid;
}

.tabelacarrinho th {
    background-color: #347d56;
    color: rgb(255, 255, 255);
}

.tabelacheckout,
.tabelacheckout td {
    border: 1px solid lightgray;
    font-size: 16px;
}

.hideThis {
    visibility: hidden;
    display: none;
}

.showThis {
    visibility: visible;
}

/* FORMULARIO CARRINHO */

.pedido {
    font-family: -apple-system, 'Helvetica Neue', Helvetica, sans-serif;
}

.pedido input,
.pedido select {
    
    border: 1px solid rgb(233, 233, 233);
    padding: 2px;
    background-color: rgb(233, 233, 233)
}

.pedido legend {
    color: rgb(138, 138, 138)
}

.pedido label {
    padding: 0;
    display: inline-block;
}


/*mostra ajuda sobre estado*/

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.modal-conteudo {
  background: white;
  width: 85%;
  max-width: 600px;
  max-height: 80vh; /* Altura máxima (80% da tela) */
  overflow-y: auto; /* Habilita scroll vertical se necessário */
  padding: 0;
  border-radius: 8px;
  position: relative;
}

#conteudoModal{padding:30px;line-height: 1.2;}

/* Opcional: Estilizar a barra de scroll */
.modal-conteudo::-webkit-scrollbar {
  width: 8px;
}
.modal-conteudo::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.fechar {
float:right;
cursor:pointer;
font-size: 32px;
font-weight: bold;
color:red;
padding-right:10px;}

/* Responsividade */


@media (max-width:1120px){
.ibooks-container {padding-top:0px;}

}

@media (max-width: 768px) {

.bookshelf {
         grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 25px 15px;
	
}

.book {
	width: 140px;
	height: 210px;
}

.pagination-link, .pagination-disabled, .pagination-active {
	padding: 6px 10px;
	font-size: 13px;
}
        }


@media (max-width: 600px) {
	.detail-row,.detail-row-condicao {
		flex-direction: column;
	}

	.detail-label {
		margin-bottom: 5px;
	}

	.document-links {
		gap: 8px;
	}

	.file-link, .file-download {
		padding: 6px 12px;
		font-size: 13px;
	}
}

/* ==========================================================
   HEADER V2
   ========================================================== */

.site-header{
     background:#347d56;
    border-bottom:1px solid #23553a;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

/* ---------- primeira linha ---------- */

.header-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 20px;

}

/* ---------- logo ---------- */

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    color:white !important;

}

.logo:hover{

    text-decoration:none;

}

.logo img{

    width:34px;

    height:auto;

}

.logo-text{

    display:flex;

    flex-direction:column;

}

.logo-title{

    font-size:1.35rem;

    font-weight:700;

    letter-spacing:-.5px;

    line-height:1;

    font-variant: small-caps;

}

.logo-subtitle{

    font-size:.78rem;

    opacity:.75;

    margin-top:3px;

}

/* ---------- ações ---------- */

.header-actions{

    display:flex;

    align-items:center;

    gap:12px;

}

/* ---------- carrinho ---------- */

.cart-button{

    display:flex;

    align-items:center;

    gap:8px;

    color:white !important;

    background:rgba(255,255,255,.10);

    border-radius:8px;

    padding:9px 14px;

    transition:.25s;

}

.cart-button:hover{

    background:rgba(255,255,255,.18);

}

/* ---------- botão menu ---------- */

.menu-toggle{

    display:none;

    background:none;

    color:white;

    border:none;

    font-size:30px;

    cursor:pointer;

}

/* ---------- busca ---------- */

.header-search{

    padding:0 20px 18px;

}

.formbusca{

    display:flex;

    width:100%;

}

.formbusca input{

    flex:1;

    border:none;

    border-radius:10px 0 0 10px;

    padding:13px 16px;

    font-size:16px;

}

.formbusca button{

    width:56px;

    border:none;

    cursor:pointer;

    background:#ffe878;

    border-radius:0 10px 10px 0;

}

/* ---------- menu ---------- */

.main-menu{

    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:30px;

    background:#2d6f4b;

    padding:12px 20px;

}

.main-menu a{

    color:#fff;

    text-decoration:none;

    padding:8px 6px;

    transition:.2s;

}

.main-menu a:hover{

    border-bottom:2px solid #fff;

}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width:900px){

.logo-subtitle{

    display:none;

}

.menu-toggle{

    display:block;

}

.main-menu{

    position:fixed;

    top:0;

    right:-320px;

    width:280px;

    height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    align-items:stretch;

    gap:0;

    background:#fff;

    transition:right .30s ease;

    z-index:3000;

    padding:0;

    overflow-y:auto;

}

.main-menu.open{

    right:0;

}

.menu-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:#347d56;

    color:white;

    padding:18px;

    font-size:20px;

    font-weight:bold;

}

.menu-close{

    background:none;

    border:none;

    color:#fff;

    font-size:30px;

    cursor:pointer;

}

.main-menu a{

    display:block;

    padding:18px 22px;

    color:#333 !important;

    border-bottom:1px solid #ececec;

    font-size:16px;

}

.main-menu a:hover{

    background:#f5f5f5;

    color:#347d56;

}

.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:2500;

}

.menu-overlay.open{

    opacity:1;

    visibility:visible;

}

.header-search{

    padding:15px;

}

.cart-button span{

    display:none;

}

}

/* ==========================================================
   DESKTOP GRANDE
   ========================================================== */

@media (min-width:1200px){

.header-top{

    max-width:1300px;

    margin:auto;

}

.header-search{

    max-width:1300px;

    margin:auto;

}

.main-menu{

    padding-left:40px;

    padding-right:40px;

}

}


body.menu-open{

    overflow:hidden;

}

.menu-toggle{

    transition:.25s;

}

.menu-toggle:hover{

    transform:scale(1.08);

}

.main-menu{

    transition:all .30s ease;

}

.main-menu.open{

    animation:slideMenu .25s ease;

}

@keyframes slideMenu{

    from{

        opacity:0;

        transform:translateY(-12px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

.menu-header{

    display:none;

}

@media (max-width:900px){

    .menu-header{

        display:flex;

    }

}