/*
Theme Name: Elos com Você
Theme URI: https://eloscomvoce.com.br
Author: Elos com Você
Description: Tema da loja Elos com Você – Moda Íntima e Semi Joias (Joinville/SC). Tema de blocos feito para WooCommerce, com as cores, fontes e o símbolo da marca.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elos-com-voce
Tags: e-commerce, block-patterns, full-site-editing, custom-colors
*/

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; max-width: 100%; }
:where(a):focus-visible,
:where(button):focus-visible {
	outline: 2px solid var(--wp--preset--color--dourado);
	outline-offset: 3px;
}
h1 em, h2 em, h3 em {
	font-family: var(--wp--preset--font-family--destaque);
	font-style: italic;
	color: var(--wp--preset--color--dourado);
	letter-spacing: 0;
}

.elos-sobretitulo,
.elos-sobretitulo a {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--vinho);
	text-decoration: none;
	margin-bottom: 0.5rem;
}
.elos-centro { display: flex; justify-content: center; }

/* Botão contornado */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--vinho);
	border: 1px solid var(--wp--preset--color--vinho);
	padding: calc(0.95rem - 1px) calc(1.9rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--vinho);
	color: var(--wp--preset--color--rose);
}

/* ---------- Marca (logo em texto + símbolo) ---------- */
.elos-marca {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	text-decoration: none;
	color: var(--wp--preset--color--vinho);
	flex-shrink: 0;
}
.elos-marca__texto { display: flex; flex-direction: column; line-height: 1; }
.elos-marca__nome {
	font-family: var(--wp--preset--font-family--titulo);
	font-weight: 500;
	font-size: 1.85rem;
	letter-spacing: 0.14em;
}
.elos-marca__sub {
	font-family: var(--wp--preset--font-family--destaque);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--wp--preset--color--dourado);
	margin-top: 0.2rem;
}
.elos-marca--clara { color: var(--wp--preset--color--rose); }
.elos-marca--clara .elos-marca__sub { color: var(--wp--preset--color--dourado-claro); }

/* ---------- Cabeçalho ---------- */
.elos-topo p { margin: 0; letter-spacing: 0.04em; }
.elos-topo a { color: inherit; font-weight: 500; text-decoration: none; }
.elos-topo a:hover { text-decoration: underline; }

.elos-cabecalho { position: sticky; top: 0; z-index: 50; }
.admin-bar .elos-cabecalho { top: 32px; }
@media (max-width: 782px) { .admin-bar .elos-cabecalho { top: 0; } }

.elos-menu .wp-block-navigation-item__content { color: var(--wp--preset--color--grafite); padding: 0.35rem 0; }
.elos-menu .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--vinho); }
.elos-acoes { color: var(--wp--preset--color--vinho); }
.elos-acoes .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--vinho);
	padding: 0.4rem;
	border: 0;
}
.elos-acoes .wp-block-search__button svg { width: 26px; height: 26px; fill: currentColor; }
.elos-acoes .wc-block-mini-cart__button,
.elos-acoes .wc-block-customer-account__account-icon { color: var(--wp--preset--color--vinho); }
.elos-acoes .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--dourado);
	color: #fff;
}
.elos-acoes .wc-block-mini-cart__amount { display: none; }

/* Menu do celular */
.elos-menu .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--vinho); }
.elos-menu .wp-block-navigation__responsive-container-open svg,
.elos-menu .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.elos-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3rem;
	gap: 1.25rem;
}
.elos-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titulo);
	font-size: 1.75rem;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--wp--preset--color--vinho);
}

@media (max-width: 599px) {
	.elos-cabecalho > .alignwide { gap: 0.5rem; }
	.elos-marca { gap: 0.5rem; }
	.elos-marca .elos-simbolo { width: 34px; height: auto; }
	.elos-marca__nome { font-size: 1.4rem; }
	.elos-marca__sub { font-size: 0.8rem; }
	.elos-acoes { gap: 0.15rem !important; }
	.elos-cabecalho .elos-menu { order: -1; }
	.elos-topo p { font-size: 0.75rem; }
	.elos-topo__extra { display: none; }
}

/* ---------- Página inicial ---------- */
.elos-hero { overflow: hidden; }
.elos-hero__titulo {
	font-size: clamp(2.6rem, 6vw, 4.75rem);
	line-height: 1.05;
	margin-top: 0.5rem;
}
.elos-hero__titulo em { display: inline-block; }
.elos-hero__texto { max-width: 32rem; line-height: 1.55; font-size: clamp(1.0625rem, 1.6vw, 1.25rem) !important; }
.elos-hero__arte { align-self: stretch !important; display: flex; }
.elos-hero__painel {
	flex: 1;
	min-height: 480px;
	background:
		radial-gradient(circle at 70% 25%, rgba(201,162,103,0.18), transparent 55%),
		var(--wp--preset--color--vinho);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--rose);
	padding: 3rem 1.5rem;
	margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px));
}
.elos-hero__painel .elos-simbolo { width: min(260px, 60%); height: auto; }
.elos-hero__painel-nome {
	font-family: var(--wp--preset--font-family--titulo);
	font-size: clamp(2.5rem, 5vw, 4rem);
	letter-spacing: 0.16em;
	padding-left: 0.16em;
	margin-top: 1.75rem;
	line-height: 1;
}
.elos-hero__painel-sub {
	font-family: var(--wp--preset--font-family--destaque);
	font-style: italic;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	color: var(--wp--preset--color--dourado-claro);
	margin-top: 0.5rem;
}
@media (max-width: 781px) {
	.elos-hero .wp-block-columns { gap: 0; }
	.elos-hero .wp-block-column:first-child { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
	.elos-hero__painel { min-height: 260px; margin: 0 calc(-1 * var(--wp--style--root--padding-left, 1rem)) 0; padding: 2.5rem 1rem; }
	.elos-hero__painel .elos-simbolo { width: 150px; }
}

/* Vantagens */
.elos-vantagens__lista {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}
.elos-vantagens__lista li { display: flex; align-items: center; gap: 0.9rem; color: var(--wp--preset--color--vinho); }
.elos-vantagens__lista svg { flex-shrink: 0; }
.elos-vantagens__lista span { display: flex; flex-direction: column; font-size: 0.875rem; color: var(--wp--preset--color--cinza); line-height: 1.35; }
.elos-vantagens__lista strong { color: var(--wp--preset--color--grafite); font-weight: 500; font-size: 0.95rem; }
@media (max-width: 900px) { .elos-vantagens__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .elos-vantagens__lista { grid-template-columns: 1fr; gap: 1rem; } }

/* Categorias */
.elos-categorias {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}
.elos-categoria {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 340px;
	padding: clamp(1.5rem, 4vw, 3rem);
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: transform .25s ease;
}
.elos-categoria:hover { transform: translateY(-3px); }
.elos-categoria::before {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	border: 6px solid currentColor;
	opacity: .14;
}
.elos-categoria::after {
	content: "";
	position: absolute;
	right: 40px;
	top: -60px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	border: 6px solid currentColor;
	opacity: .14;
}
.elos-categoria--intima { background: var(--wp--preset--color--vinho); color: var(--wp--preset--color--rose); }
.elos-categoria--joias { background: var(--wp--preset--color--rose-escuro); color: var(--wp--preset--color--vinho); }
.elos-categoria__rotulo { font-size: 0.8125rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 500; opacity: .85; }
.elos-categoria__nome {
	font-family: var(--wp--preset--font-family--titulo);
	font-size: clamp(2.2rem, 4.5vw, 3.25rem);
	line-height: 1.05;
	margin: 0.5rem 0 0.75rem;
}
.elos-categoria__texto { max-width: 24rem; line-height: 1.5; opacity: .92; }
.elos-categoria__link { margin-top: 1.5rem; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; }
.elos-categoria--joias .elos-categoria__texto { color: var(--wp--preset--color--grafite); }
@media (max-width: 700px) {
	.elos-categorias { grid-template-columns: 1fr; }
	.elos-categoria { min-height: 240px; }
}

.elos-subcategorias ul {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
}
.elos-subcategorias a {
	display: inline-block;
	padding: 0.6rem 1.1rem;
	border: 1px solid var(--wp--preset--color--rose-escuro);
	border-radius: 999px;
	text-decoration: none;
	color: var(--wp--preset--color--grafite);
	font-size: 0.9375rem;
	min-height: 44px;
	box-sizing: border-box;
	line-height: 1.6;
}
.elos-subcategorias a:hover { border-color: var(--wp--preset--color--vinho); color: var(--wp--preset--color--vinho); }

/* ---------- Grade de produtos ---------- */
.elos-produtos .wc-block-product-template__responsive {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2.25rem clamp(0.75rem, 2vw, 1.75rem) !important;
}
@media (max-width: 1000px) { .elos-produtos .wc-block-product-template__responsive { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 700px) { .elos-produtos .wc-block-product-template__responsive { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.75rem 0.75rem !important; } }
.elos-produtos .wc-block-product-template__responsive > li { width: auto !important; margin: 0 !important; }
.elos-produtos .wc-block-components-product-image,
.elos-produtos .wc-block-components-product-image img { background: var(--wp--preset--color--rose); }
.elos-produtos .wc-block-components-product-image { margin-bottom: 0.9rem !important; }
.elos-produto__nome { margin: 0 0 0.25rem !important; line-height: 1.35; font-family: var(--wp--preset--font-family--texto) !important; font-weight: 400 !important; }
.elos-produto__nome a { color: var(--wp--preset--color--grafite); }
.elos-produtos .wc-block-components-product-price { margin-bottom: 0.75rem !important; }
.elos-produtos .wp-block-button__link,
.elos-produtos .wc-block-components-product-button__button {
	background: transparent !important;
	color: var(--wp--preset--color--vinho) !important;
	border: 1px solid var(--wp--preset--color--vinho) !important;
	font-size: 0.8125rem !important;
	padding: 0.75rem 1.25rem !important;
	min-height: 44px;
	width: 100%;
}
.elos-produtos .wp-block-button__link:hover,
.elos-produtos .wc-block-components-product-button__button:hover {
	background: var(--wp--preset--color--vinho) !important;
	color: var(--wp--preset--color--rose) !important;
}
.wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--dourado) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 2px !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.elos-arquivo .wp-block-query-title { margin-bottom: 0.25rem; }
.elos-arquivo__barra { border-top: 1px solid var(--wp--preset--color--rose-escuro); border-bottom: 1px solid var(--wp--preset--color--rose-escuro); padding: 0.75rem 0; font-size: 0.9375rem; }
.elos-arquivo__barra select { font-family: inherit; padding: 0.5rem; border: 1px solid var(--wp--preset--color--rose-escuro); background: #fff; min-height: 44px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 0.4rem 0.75rem; }
@media (max-width: 600px) {
	.elos-produtos .wp-block-button__link,
	.elos-produtos .wc-block-components-product-button__button { padding: 0.7rem 0.5rem !important; letter-spacing: 0.08em; }
	.elos-produto__nome { font-size: 0.9375rem !important; }
}

/* ---------- Página de produto ---------- */
.elos-produto__info .wp-block-post-terms { margin-bottom: 0; }
.elos-produto__info .wp-block-post-title { margin-top: 0.25rem; }
.elos-produto__info .wc-block-components-product-price { font-size: 1.6rem !important; }
.elos-produto .single_add_to_cart_button,
.elos-produto .wc-block-components-product-button__button {
	background: var(--wp--preset--color--vinho) !important;
	color: var(--wp--preset--color--rose) !important;
	min-height: 52px;
	padding: 0.9rem 2rem !important;
	font-family: var(--wp--preset--font-family--texto);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: 0.875rem !important;
	border: 0;
	border-radius: 2px;
}
.elos-produto .quantity .qty { min-height: 52px; border: 1px solid var(--wp--preset--color--rose-escuro); }
.elos-produto table.variations select { min-height: 44px; padding: 0.5rem; border: 1px solid var(--wp--preset--color--rose-escuro); font-family: inherit; }
.elos-ajuda {
	background: var(--wp--preset--color--rose);
	padding: 1rem 1.25rem;
	margin-top: 1.25rem;
	font-size: 0.9375rem;
}
.elos-ajuda p { margin: 0; }
.wp-block-woocommerce-product-details .wc-tabs li a { font-family: var(--wp--preset--font-family--texto); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.875rem; }

/* ---------- Faixa WhatsApp ---------- */
.elos-faixa-whats a { color: var(--wp--preset--color--rose); }
.elos-botao-whats .wp-block-button__link:hover { background: #fff !important; }

/* ---------- Rodapé ---------- */
.elos-rodape__titulo {
	font-family: var(--wp--preset--font-family--texto) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--dourado-claro) !important;
	margin-bottom: 1rem;
}
.elos-lista-limpa { list-style: none; padding: 0; margin: 0; }
.elos-lista-limpa li { margin: 0 0 0.6rem; }
.elos-rodape a { text-decoration: none; }
.elos-rodape a:hover { text-decoration: underline; }
.elos-contatos a { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 32px; }

/* ---------- Páginas de texto ---------- */
.wp-block-post-content table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.wp-block-post-content th, .wp-block-post-content td { border: 1px solid var(--wp--preset--color--rose-escuro); padding: 0.6rem 0.75rem; text-align: center; }
.wp-block-post-content th { background: var(--wp--preset--color--rose); color: var(--wp--preset--color--vinho); font-weight: 500; }
.wp-block-table { overflow-x: auto; }

/* ---------- Carrinho / checkout ---------- */
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--wp--preset--color--vinho) !important;
	color: var(--wp--preset--color--rose) !important;
	border-radius: 2px !important;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 500;
}

/* Ajustes finos */
.elos-produto .wp-block-woocommerce-product-image-gallery,
.elos-produto .woocommerce-product-gallery { width: 100% !important; max-width: none !important; float: none !important; }
.elos-produto .woocommerce-product-gallery img { width: 100%; }
.elos-rodape .elos-lista-limpa { font-size: 0.9375rem; }
