/* ==========================================================================
   Pura - Torta & Cia — Overrides de tema consolidados
   Migrado dos snippets individuais (Code Snippets plugin) para cá.
   Os malformados encontrados no original (chave sobrando em "Checkout -
   Tipologia" e chave duplicada em "Todo o Custom CSS do tema") foram
   corrigidos aqui.
   ========================================================================== */

/* --- Checkout --- */
.edgtf-woocommerce-page .woocommerce-checkout .col-1 h3,
.edgtf-woocommerce-page .woocommerce-checkout .col-2 h3 {
	font-size: 18px !important;
	text-transform: uppercase;
	margin: 8px 0 25px;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	font-size: 24px;
	text-align: center;
	font-weight: 600;
	letter-spacing: .1em;
	color: #000000;
	text-transform: uppercase;
}

.edgtf-woocommerce-page .woocommerce-checkout h3#order_review_heading {
	font-size: 14px;
	text-transform: uppercase;
	margin: 53px 0 18px;
}

.edgtf-woocommerce-page .cart-collaterals tr.shipping #shipping_method li > * {
	display: inline-block;
	vertical-align: middle;
	margin: 3px;
	padding: 10px;
}

.edgtf-woocommerce-page .woocommerce-error,
.edgtf-woocommerce-page .woocommerce-info,
.edgtf-woocommerce-page .woocommerce-message {
	font-weight: 600;
	color: #000000;
}

/* --- Minha Conta --- */
.edgtf-woocommerce-page.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	font-family: "Open Sans", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 26px;
}

.edgtf-woocommerce-page.woocommerce-account .woocommerce .col2-set.addresses h3 {
	font-family: "Open Sans", sans-serif;
	font-size: 24px;
}

.edgtf-woocommerce-page.woocommerce-account .woocommerce-MyAccount-content {
	width: 70%;
	padding: 0 0 0 30px;
	font-size: 14px;
	font-weight: 400;
}

/* --- Resultado da busca --- */
.edgtf-search-page-holder article .edgtf-post-title-area .edgtf-post-title-area-inner .edgtf-post-excerpt {
	font-weight: 500;
	font-size: 14px;
	color: #000;
}

.edgtf-search-title {
	font-weight: 500;
	font-size: 16px;
	color: #000;
}

.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #000;
}

/* --- Dropdown do carrinho (escondido) --- */
.edgtf-shopping-cart-holder .edgtf-header-cart .edgtf-cart-icon {
	display: none;
}

.edgtf-shopping-cart-dropdown {
	display: none;
}

.edgtf-shopping-cart-dropdown .edgtf-item-info-holder .edgtf-product-title a {
	font-size: 14px;
}

/* --- Vitrine: lista de preços por tamanho ---
   Grade de 2 colunas: ícone numa coluna fixa (centralizado, todos alinhados no
   mesmo eixo vertical) + preço alinhado à esquerda. Linhas com altura igual.
   Ajuste fino só nas variáveis abaixo. */
.pura-precos {
	--pura-icone-caixa: 28px;  /* largura/altura da coluna do ícone */
	--pura-icone-p: 22px;      /* P, M, fatia (icon-preco) */
	--pura-icone-g: 26px;      /* G, unidades, embalagem (icon-preco-1) */
	--pura-linha-gap: 8px;     /* espaço entre linhas */
	--pura-coluna-gap: 14px;   /* espaço entre ícone e preço */
	display: inline-grid;
	grid-template-columns: var(--pura-icone-caixa) auto;
	grid-auto-rows: var(--pura-icone-caixa);
	row-gap: var(--pura-linha-gap);
	column-gap: var(--pura-coluna-gap);
	align-items: center;
	margin: 10px auto 0;
	text-align: left;
	line-height: 1;
}

.pura-precos .pura-preco-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--pura-icone-caixa);
	height: var(--pura-icone-caixa);
}

.pura-precos .pura-preco-icone img {
	display: block;
	height: auto;
	margin: 0;
}

.pura-precos img.icon-preco {
	width: var(--pura-icone-p);
}

.pura-precos img.icon-preco-1 {
	width: var(--pura-icone-g);
}

.pura-precos .pura-preco-valor {
	white-space: nowrap;
	font-size: 14px;
}

/* --- Interna do produto: margens e informações --- */
.entry-summary > .product-all-prices,
.entry-summary > .price {
	display: none !important;
}

.edgtf-woo-single-page .edgtf-single-product-summary .product_meta {
	display: none;
	margin: -10px 0 0;
}

.woovr-variations {
	padding-top: 10px;
	padding-bottom: 5px;
}

.edgtf-woocommerce-page .edgtf-content .single_variation_wrap {
	margin: 15px 0 0;
}

.edgtf-woocommerce-page .edgtf-content .single_variation_wrap .single_variation {
	margin: 0 0 15px;
}

.edgtf-woo-single-page .edgtf-single-product-summary form.cart {
	position: relative;
	display: inline-block;
	width: 100%;
	vertical-align: middle;
	margin: 0;
}

.edgtf-woo-single-page .edgtf-single-product-summary {
	font-weight: 600;
	color: #000;
}

.edgtf-woo-single-page .edgtf-single-product-content .images.woocommerce-product-gallery--columns-3 .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}

/* NOTA UX (pendente de decisão): esconde o texto nativo "esgotado" na página
   interna do produto. Ver includes/produto-sazonal.php — agora que sazonal e
   estoque real são campos separados, vale revisar se ainda queremos esconder
   isso ou substituir por uma mensagem própria (sazonal vs. sem estoque). */
.edgtf-single-product-summary p.stock.out-of-stock {
	display: none;
}

/* --- Menu mobile --- */
.edgtf-mobile-header .edgtf-mobile-menu-opener {
	float: right;
}

.edgtf-mobile-header .edgtf-mobile-nav ul li {
	text-align: right;
}

.edgtf-container {
	background-color: #fff;
	padding: 0;
	margin-top: 0;
}

/* --- Colunas mobile / banners --- */
#versao-desktop { display: block; }
#versao-mobile { display: none; }

@media screen and (max-width: 768px) {
	#versao-desktop { display: none; }
	#versao-mobile { display: block; }
}

/* --- Efeitos de imagem (home) --- */
img.vc_single_image-img.attachment-large {
	transition: transform .5s ease-out;
}

img.vc_single_image-img.attachment-large:hover {
	transform: scale(1.1) !important;
	transition: transform .5s ease-out;
}

.wpb_single_image a:after {
	content: "";
	position: absolute;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: opacity .45s cubic-bezier(.34, .52, .57, 1.04);
	opacity: 0;
	background: #000;
}

/* --- Form newsletter --- */
input[type="submit"] {
	text-align: center;
	background: 0 0;
	text-decoration: none;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
	font-family: inherit;
	position: relative;
	width: auto;
	outline: 0;
	line-height: 21px;
	letter-spacing: .2em;
	text-transform: uppercase;
	box-sizing: border-box;
	transition: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out;
	font-size: 11px;
	padding: 12px 32px;
	border: 1px solid transparent;
	color: #fff;
	background-color: #000;
	border-color: rgba(255, 255, 255, .01);
	font-weight: 600;
	margin: 30px 5px;
}

input[type="text"],
input[type="email"] {
	padding: 10px;
}

/* --- Logo --- */
.edgtf-mobile-logo-wrapper { width: 90px; }
.edgtf-mobile-header .edgtf-mobile-logo-wrapper a { max-height: none; }
.edgtf-mobile-header .edgtf-mobile-logo-wrapper img { height: auto; width: 100%; }
.edgtf-logo-wrapper a img.edgtf-light-logo { margin-top: 5px; }
img.edgtf-light-logo { margin-top: 145px; }
.edgtf-page-header .edgtf-menu-area .edgtf-logo-wrapper a { height: auto !important; }

.logo-footer { position: absolute; left: 0; }
.logo-pura-footer { float: right; margin-right: 56px; margin-top: -50px; }
ul.lista-footer { margin-top: 0; margin-bottom: 10px; }
i.fas.fa-map-marker, i.fas.fa-phone { font-size: 24px; margin-right: 10px; }

.edgtf-woo-single-page .edgtf-single-product-summary .product_meta > span { display: none; }
.related.products { display: none; }

.edgtf-page-footer .edgtf-footer-top-holder .edgtf-footer-top-inner.edgtf-full-width { padding: 10px 0 0; }
.edgtf-page-footer .edgtf-footer-bottom-holder .edgtf-footer-bottom-inner .widget { font-size: 12px; color: #999; width: 100%; }
.edgtf-page-footer .edgtf-footer-bottom-holder .edgtf-footer-bottom-inner.edgtf-full-width { padding: 0 50px !important; }
.edgtf-content { margin-bottom: 110px !important; }

a.edgtf-social-icon-widget-holder.edgtf-icon-has-hover {
	margin-top: -100px;
	top: 0;
	z-index: 900;
	position: absolute;
	right: 80px;
}
footer .widget { color: #fff !important; margin-bottom: 25px !important; }

/* --- Categorias / listagem de produtos --- */
.edgtf-pl-category { display: none; }

.edgtf-pl-holder .edgtf-pli-inner .edgtf-pli-image .edgtf-pli-onsale,
.edgtf-pl-holder .edgtf-pli-inner .edgtf-pli-image .edgtf-pli-out-of-stock {
	position: absolute;
	display: inline-block;
	vertical-align: middle;
	top: 0;
	width: auto;
	padding: 0 18px;
	margin: 0;
	color: #fff;
	font-size: 9px;
	line-height: 26px;
	font-weight: 600;
	letter-spacing: 2px;
	background-color: #BCA07C;
	text-align: center;
	z-index: 100;
	box-sizing: border-box;
	transform: translateZ(0);
}
/* NOTA: esta badge é a mesma usada hoje pro rótulo "SAZONAL" (é o texto nativo
   de "fora de estoque" reescrito). Ver includes/produto-sazonal.php — revisar
   se a exibição deve diferenciar visualmente sazonal x sem-estoque agora que
   são campos separados. */

/* --- Submenu --- */
.edgtf-drop-down .narrow .second .inner ul {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	background-color: #000;
	padding: 23px 0;
	width: 180px;
}

.botao_subcategorias {
	color: #fff;
	background-color: #bca07c;
	border-color: rgba(0, 0, 0, .01);
	margin: 10px 0;
	width: 220px;
}

/* --- Variações de produto --- */
.woovr-variation-radio .woovr-variation-name { font-weight: 700; color: #000; }
.woovr-variation-radio .woovr-variation-info .woovr-variation-price,
.woovr-variation-radio .woovr-variation-info .woovr-variation-availability {
	display: inline-block;
	margin-right: 10px;
	font-size: 16px;
	font-weight: 500;
	color: #000;
}
.woovr-variation-image img { width: 50px; height: 50px; max-width: 50px; display: block; }
.woovr-variations .woovr-variation[data-id="0"] { display: none !important; }

/* --- Lightbox (PhotoSwipe/prettyPhoto legado) --- */
body .pp_overlay { position: absolute; top: 0; left: 0; width: 100%; display: none !important; background-color: #333; z-index: 10000 !important; }
body .pp_pic_holder .pp_content { position: relative; background: 0 0; margin: 0 auto; height: 40px; min-width: 40px; width: 100%; display: none; }

/* --- Botões gerais --- */
.woocommerce-page .edgtf-content .wc-forward:not(.added_to_cart):not(.checkout-button),
.woocommerce-page .edgtf-content a.added_to_cart,
.woocommerce-page .edgtf-content a.button,
.woocommerce-page .edgtf-content button[type="submit"],
.woocommerce-page .edgtf-content input[type="submit"],
div.woocommerce .wc-forward:not(.added_to_cart):not(.checkout-button),
div.woocommerce a.added_to_cart,
div.woocommerce a.button,
div.woocommerce button[type="submit"],
div.woocommerce input[type="submit"] {
	margin: 0 15px;
}

/* --- Responsivo --- */
@media (max-width: 415px) {
	a.edgtf-social-icon-widget-holder.edgtf-icon-has-hover { display: none; }
	.edgtf-mobile-menu-icon > .fa {
		/* mantido como URL absoluta original — são imagens hospedadas na
		   biblioteca de mídia do site, não assets do plugin */
		background: url(https://www.tortaecia.com.br/wp-content/uploads/2020/08/icone_mobile.png) no-repeat;
		display: inline-block;
		width: 61px;
		height: 31px;
		color: transparent;
		text-align: center;
		background-position: center;
		margin-left: 45%;
	}
	.edgtf-mobile-menu-icon > .fa:hover {
		background: url(https://www.tortaecia.com.br/wp-content/uploads/2020/08/icone_mobile_hover.png) no-repeat;
		background-position: center;
	}
	.edgtf-position-center-inner { float: left; }
	.edgtf-content-inner { margin-top: -50px !important; }
	.logo-footer { margin: 0 auto; width: 22.5%; margin-left: 13.5%; margin-top: -100px !important; }
	footer .widget { margin-top: 0 !important; margin-bottom: 25px !important; }
	a.edgtf-social-icon-widget-holder.edgtf-icon-has-hover { float: none; position: relative; right: 0; }
	.logo-pura-footer { float: right; margin: 0 auto; width: 22.5%; margin-left: 13.5%; margin-top: 0; margin-right: 0; }
	.edgtf-page-footer .edgtf-footer-top-holder .edgtf-footer-top-inner.edgtf-grid { padding: 50px 0 0; width: auto; }
}

@media (max-width: 375px) {
	.logo-footer { margin-top: -100px !important; margin: 0 auto; width: 23%; margin-left: 10.5%; }
}

/* ==========================================================================
   Checkout — blocos de entrega/retirada e agendamento (pura-tortaecia-core)
   NOTA: os campos "Loja para retirada" e "Data desejada" ainda ficam sempre
   visíveis (o JS de mostrar/esconder por seleção do radio é um TODO
   pendente em checkout-fields.php) — este CSS assume esse estado atual.
   ========================================================================== */

#pura-tipo-atendimento,
#pura-agendamento {
	margin: 0 0 35px;
	padding-top: 25px;
	border-top: 1px solid #e5e5e5;
	/* CORREÇÃO: algo no tema/checkout estava colocando esses dois blocos
	   lado a lado como duas colunas (causando o título "Quando você quer
	   receber?" quebrar em 2 linhas e o select ficar deslocado). Forçamos
	   empilhamento em largura total independente da causa exata. */
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
}

#pura-tipo-atendimento h3,
#pura-agendamento h3 {
	font-size: 14px !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin: 0 0 16px !important;
}

/* Grupo de radios vira um segmented control (botões pill) */
#pura_tipo_atendimento_field,
#pura_agendamento_tipo_field {
	margin: 0 0 18px !important;
}

#pura_tipo_atendimento_field .woocommerce-input-wrapper,
#pura_agendamento_tipo_field .woocommerce-input-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#pura_tipo_atendimento_field input[type="radio"],
#pura_agendamento_tipo_field input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

#pura_tipo_atendimento_field label,
#pura_agendamento_tipo_field label {
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 12px 24px;
	border: 1px solid #d6d6d6;
	border-radius: 30px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #333;
	background-color: #fff;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

/* O asterisco de campo obrigatório não faz sentido dentro do botão pill */
#pura_tipo_atendimento_field label .required,
#pura_agendamento_tipo_field label .required {
	display: none;
}

#pura_tipo_atendimento_field input[type="radio"]:checked + label,
#pura_agendamento_tipo_field input[type="radio"]:checked + label {
	background-color: #000;
	border-color: #000;
	color: #fff;
}

#pura_tipo_atendimento_field input[type="radio"]:hover + label,
#pura_agendamento_tipo_field input[type="radio"]:hover + label {
	border-color: #000;
}

#pura_tipo_atendimento_field input[type="radio"]:focus-visible + label,
#pura_agendamento_tipo_field input[type="radio"]:focus-visible + label {
	outline: 2px solid #bca07c;
	outline-offset: 2px;
}

/* Campos secundários (loja de retirada / data desejada) */
#pura_loja_retirada_field,
#pura_data_agendada_field {
	max-width: 380px;
	margin-bottom: 20px !important;
}

#pura_loja_retirada_field label,
#pura_data_agendada_field label {
	font-size: 13px;
	font-weight: 600;
	display: block;
	margin-bottom: 6px;
}

/* Uniformiza o select nativo (estava sem o mesmo tratamento visual dos
   outros campos de texto — borda, altura e fonte diferentes) */
#pura_loja_retirada {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #d6d6d6;
	border-radius: 3px;
	font-size: 14px;
	font-family: inherit;
	background-color: #fff;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23555'%3E%3Cpath d='M5.5 7l4.5 5 4.5-5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
}

#pura_data_agendada_field input[type="date"] {
	max-width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #d6d6d6;
	border-radius: 3px;
	font-size: 14px;
	font-family: inherit;
}

/* Aviso de loja resolvida por CEP / fora de área (preenchido via JS, ainda TODO) */
#pura-aviso-loja-entrega {
	font-size: 13px;
	padding: 10px 15px;
	margin: -8px 0 20px;
	background-color: #f7f5f2;
	border-left: 3px solid #bca07c;
}
