/*
 * Livraria - Lista de Espera: CSS do front-end.
 * Sem !important: cada seletor do card tem uma classe a mais que a regra do tema Diza que ele ajusta.
 */

/* ---------------------------------------------------------------- card da vitrine (.product-block, grade .v1 e lista .list) */

/* Selo "Esgotado" / "Somente digital" no canto inferior da capa, no lugar do véu .out-stock do tema.
   Embaixo para não disputar o canto superior com "Destaque"/promoção (esquerda) e a lista de desejos (direita). */
.product-block .image .lv-selo {
	position: absolute;
	left: 8px;
	bottom: 8px;
	z-index: 10;
	padding: 4px 8px;
	border-radius: 4px;
	background: #3D4C56;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	pointer-events: none;
}
.product-block .image .lv-selo--digital {
	background: #003B78;
}

.product-block .caption .lv-preco-digital {
	color: #003B78;
	font-weight: 600;
}
/* No card estreito (2 colunas no celular) o complemento quebraria a linha e desalinharia o botão;
   continua para o leitor de tela, e o selo "Somente digital" já diz o mesmo na capa. */
@media (max-width: 575px) {
	.product-block .lv-preco-digital__extra {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* Alinhamento pela base no celular (6.1.9): o tema só deixa a legenda em flex coluna a partir de 768px
   (@media(min-width:768px) .product-block.v1 .caption). Abaixo disso ela fica block e não estica até a base do card,
   então um título de 2 linhas desce avaliação, preço e botão em relação ao vizinho. Com a mesma regra do computador,
   a avaliação (flex:1 no tema, em todas as larguras) ocupa a sobra e preço e botão ficam na base, na mesma altura. */
@media (max-width: 767px) {
	.product-block.v1 .caption {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
	}
}

/* Botão do tema ("Adicionar ao carrinho", "Ler mais"), na grade e no modo lista: altura por min-height (o
   line-height:40px/38px do tema dobra a altura quando o rótulo quebra em 2 linhas). a.button passa a regra do
   modo lista no celular, .tbay-show-cart-mobile .products-list .product-block div.add-cart a (0,4,2). */
.product-block .caption .add-cart a.button:not(.lv-card-acao) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 44px;
	line-height: 1.2;
}
.product-block .caption .add-cart a.button .title-cart {
	line-height: inherit;
}
/* O hover do tema (branco sobre --tb-theme-color-second, #52d5e6) tem contraste 1,75:1; no card usa o
   mesmo azul das ações do plugin (6,9:1), na grade e no modo lista. As ações do plugin têm regras próprias,
   por isso o :not(). */
.product-block .caption .add-cart a.button:not(.lv-card-acao):hover,
.product-block .caption .add-cart a.button:not(.lv-card-acao):focus {
	background: #005B9E;
}
.product-block .caption .add-cart a.button:not(.lv-card-acao):focus-visible {
	outline: 2px solid #005B9E;
	outline-offset: 2px;
}

/* Lista de desejos na home (widgets Elementor .tbay-element-products): fixa no canto superior direito da capa,
   visível sem hover. Veio do CSS Adicional (bloco LV-WISHLIST-ALIGN-FIX), para o card ter uma fonte só.
   A partir de 768px o .group-buttons deixa de ser o overlay de hover do tema; margin-top:0 desfaz o -20px
   que o tema usa para centralizar o overlay e que puxaria a legenda para cima da capa. */
.tbay-element-products .product-block.v1 .block-inner .button-wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	bottom: auto;
	z-index: 5;
	width: auto;
	margin: 0;
}
.tbay-element-products .product-block.v1 .group-buttons .button-wishlist a.yith-wcwl-add-to-wishlist-button--anchor {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
@media (min-width: 768px) {
	.tbay-element-products .product-block.v1 .block-inner .group-buttons {
		position: static;
		display: block;
		margin-top: 0;
		visibility: visible;
		opacity: 1;
		transform: none;
	}
}

/* Ações do plugin (somente digital e "Avise-me"), na grade (.v1) e no modo lista do tema (.list). Visíveis também
   no celular, onde o tema pode esconder o .add-cart. O seletor das ações passa a regra mais forte do tema para
   .add-cart a, a do modo lista no celular: .tbay-show-cart-mobile .products-list .product-block div.add-cart a (0,4,2). */
.product-block .add-cart:has(.lv-card-acoes) {
	display: block;
}
.product-block .lv-card-acoes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 11px 0 12px;
}
.product-block.list .lv-card-acoes {
	justify-content: flex-start;
}
/* No celular o tema zera a margem do próprio botão (.tbay-show-cart-mobile .product-block div.add-cart a, até 767px);
   o bloco de ações segue a mesma regra para o botão ficar na mesma linha que o do vizinho (6.1.9). */
@media (max-width: 767px) {
	.tbay-show-cart-mobile .product-block .lv-card-acoes {
		margin: 0;
	}
}
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: auto;
	max-width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #003B78;
	border-radius: 4px;
	background: #003B78;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao:hover,
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao:focus {
	background: #005B9E;
	border-color: #005B9E;
	color: #fff;
}
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao--secundaria {
	background: #fff;
	color: #003B78;
}
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao--secundaria:hover,
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao--secundaria:focus {
	background: #EEF3F8;
	border-color: #003B78;
	color: #003B78;
}
.product-block .caption .add-cart .lv-card-acoes .lv-card-acao:focus-visible {
	outline: 2px solid #005B9E;
	outline-offset: 2px;
}
.product-block .caption .add-cart .lv-card-acoes--par .lv-card-acao {
	flex: 1 1 0;
	padding: 0 8px;
}
/* Card estreito (2 colunas no celular): o par PDF/EPUB fica lado a lado, sem o ícone, para o bloco de ações ter
   a mesma altura (44 px) dos vizinhos e o botão ficar na mesma linha da grade (6.1.9). */
@media (max-width: 575px) {
	.product-block.v1 .caption .add-cart .lv-card-acoes--par {
		flex-wrap: nowrap;
		gap: 6px;
	}
	.product-block.v1 .caption .add-cart .lv-card-acoes--par .lv-card-acao {
		min-width: 0;
		padding: 0 6px;
	}
	.product-block.v1 .caption .add-cart .lv-card-acoes--par .lv-card-acao svg {
		display: none;
	}
}
.product-block.list .caption .add-cart .lv-card-acoes--par .lv-card-acao {
	flex: 0 0 auto;
	padding: 0 14px;
}
.product-block .lv-card-acao svg {
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
}
@media (prefers-reduced-motion: reduce) {
	.product-block .caption .add-cart .lv-card-acoes .lv-card-acao {
		transition: none;
	}
}

/* ---------------------------------------------------------------- página do produto */
.summary .lv-digital{margin:14px 0 18px;padding:14px 16px 16px;border:1px solid #D9E3EA;border-left:4px solid #005B9E;border-radius:6px;background:#EEF3F8;color:#2B3540}
.summary .lv-digital__head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;font-size:14px}
.summary .lv-digital__head strong{color:#003B78;font-size:16px}
.summary .lv-digital__row{display:flex;flex-wrap:wrap;gap:10px}
.summary .lv-dl-drop{position:relative}
.summary .lv-dl-btn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border:1.5px solid #005B9E;border-radius:4px;background:#fff;color:#005B9E;font-size:13px;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1}
.summary .lv-dl-btn::before{content:"";width:14px;height:14px;flex:0 0 14px;background:currentColor;-webkit-mask:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><path d=%27M12 3v12m0 0 4-4m-4 4-4-4M4 21h16%27/></svg>");mask:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><path d=%27M12 3v12m0 0 4-4m-4 4-4-4M4 21h16%27/></svg>")}
.summary .lv-dl-btn:hover,.summary .lv-dl-btn:focus-visible,.summary .lv-dl-btn.is-open{background:#005B9E;color:#fff}
.summary .lv-dl-btn:focus-visible{outline:2px solid #005B9E;outline-offset:2px}
.summary .lv-dl-seta{font-size:10px;margin-left:2px}
.summary .lv-dl-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:180px;display:flex;flex-direction:column;background:#fff;border:1.5px solid #005B9E;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.12);padding:6px 0}
.summary .lv-dl-menu a{display:flex;align-items:center;min-height:44px;padding:0 14px;font-size:13px;font-weight:600;color:#2B3540;text-decoration:none}
.summary .lv-dl-menu a:hover,.summary .lv-dl-menu a:focus-visible{background:#EEF3F8;color:#005B9E}
.summary .lv-dl-menu a:focus-visible{outline:2px solid #005B9E;outline-offset:-2px}
.summary p.price:empty{display:none}
.summary .tbay-wishlist{clear:both}
.wc-waitlist--secundario{background:#fff;border-left-color:#B9CBDD}
.wc-waitlist--secundario .wc-waitlist__title{font-size:15px;color:#2B3540}
.wc-waitlist--secundario .wc-waitlist__form button{background:#EEF3F8;color:#003B78;border:1px solid #B9CBDD}
.wc-waitlist--secundario .wc-waitlist__form button:hover,.wc-waitlist--secundario .wc-waitlist__form button:focus-visible{background:#003B78;color:#fff}
.wc-waitlist{margin:18px 0;padding:16px 18px;border:1px solid #D9E3EA;border-left:4px solid #003B78;border-radius:6px;background:#F7FAFC}
.wc-waitlist__title{font-size:16px;color:#003B78;margin-bottom:4px}
.wc-waitlist__desc{font-size:14px;color:#3D4C56;margin-bottom:10px}
.wc-waitlist__form{display:flex;gap:8px;flex-wrap:wrap}
.wc-waitlist__form input[type=email]{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid #B9C7D1;border-radius:4px;font-size:14px}
.wc-waitlist__form button{padding:10px 18px;border:0;border-radius:4px;background:#003B78;color:#fff;font-weight:600;cursor:pointer}
.wc-waitlist__form button:hover,.wc-waitlist__form button:focus-visible{background:#005B9E}
.wc-waitlist__msg{margin:0 0 10px;padding:10px 12px;border:1px solid;border-radius:6px;font-size:13px}
.wc-waitlist__msg--success{background:#ECFDF5;border-color:#6EE7B7;color:#065F46}
.wc-waitlist__msg--notice{background:#EFF6FF;border-color:#93C5FD;color:#1E3A8A}
.wc-waitlist__msg--error{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B}
