/*
 Theme Name: Cocoon Child
 Theme URI: https://loja.clubeporno.com.br/
 Template: cocoon
 Description: Child theme personalizado para a Clube Porno.
 Author: Clube Porno
Version: 1.1.8
 Text Domain: cocoon-child
*/

:root {
	--cp-ink: #120b16;
	--cp-paper: #fffafd;
	--cp-muted: #746879;
	--cp-line: #eadfea;
	--cp-pink: #ed00dc;
	--cp-pink-dark: #ed00dc;
	--cp-violet: #ed00dc;
	--cp-radius: 22px;
	--cp-shadow: 0 20px 55px rgba(36, 10, 41, .11);
}

html { scroll-behavior: smooth; }
body {
	background: var(--cp-paper);
	color: var(--cp-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}
a { transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.cp-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.header1,
.header1.header-static {
	background: rgba(18, 11, 22, .97);
	box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.header1 .navbar { min-height: 82px; }
.header1 .navbar-brand img.logo,
.header1 .navbar-brand img.logo-white { width: 177px !important; height: 45px !important; object-fit: contain; }
.header1 #main-nav .navbar-nav > li > a,
.header1.header-dark-text #main-nav .navbar-nav > li > a { color: #fff !important; font-weight: 700; letter-spacing: .01em; }
.header1 #main-nav .navbar-nav > li > a:hover,
.header1 #main-nav .navbar-nav > .current-menu-item > a { color: #ed00dc !important; }
.header1 .header-btn-wrapper a,
.header1 .header-btn-wrapper i,
.header1 .mobile-cart,
.header1 #mobile-nav-toggler { color: #fff !important; }
.header1 .notification-count { background: var(--cp-pink) !important; }
.general-search-wrapper { background: var(--cp-ink); }

.cp-home { overflow: hidden; }
.cp-hero {
	position: relative;
	background: radial-gradient(circle at 82% 18%, rgba(237,0,220,.24), transparent 28%), radial-gradient(circle at 16% 78%, rgba(124,60,255,.20), transparent 30%), linear-gradient(135deg, #120b16 0%, #231229 55%, #120b16 100%);
	color: #fff;
	padding: 108px 0 92px;
}
.cp-hero::after {
	content: "";
	position: absolute; inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 42px 42px;
	pointer-events: none;
}
.cp-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 70px; }
.cp-eyebrow { margin: 0 0 16px; color: var(--cp-pink); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.cp-hero .cp-eyebrow { color: #ff7cf4; }
.cp-hero h1 { margin: 0; color: #fff; font-size: clamp(52px, 7vw, 92px); line-height: .94; letter-spacing: -.055em; }
.cp-hero h1 span { color: rgba(255,255,255,.12); -webkit-text-stroke: 1px rgba(255,255,255,.55); }
.cp-hero-lead { max-width: 650px; margin: 30px 0 0; color: #d9cedd; font-size: clamp(18px, 2vw, 22px); line-height: 1.6; }
.cp-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.cp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 25px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 800; text-decoration: none !important; }
.cp-button:hover { transform: translateY(-2px); }
.cp-button-primary { background: linear-gradient(135deg, var(--cp-pink), var(--cp-violet)); color: #fff !important; box-shadow: 0 14px 35px rgba(237,0,220,.26); }
.cp-button-primary:hover { background: linear-gradient(135deg, #ff36ef, #9362ff); }
.cp-button-ghost { border-color: rgba(255,255,255,.28); color: #fff !important; }
.cp-button-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.cp-button-light { background: #fff; color: var(--cp-ink) !important; }
.cp-hero-card { position: relative; aspect-ratio: 1; max-width: 390px; justify-self: end; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: rgba(255,255,255,.035); box-shadow: inset 0 0 80px rgba(237,0,220,.08); }
.cp-orbit { position: absolute; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.cp-orbit-one { inset: 12%; }
.cp-orbit-two { inset: 28%; background: linear-gradient(135deg, rgba(237,0,220,.78), rgba(124,60,255,.68)); box-shadow: 0 0 70px rgba(237,0,220,.25); }
.cp-hero-stat { position: absolute; top: 48%; left: 50%; z-index: 2; width: 180px; transform: translate(-50%,-50%); text-align: center; }
.cp-hero-stat strong { display: block; color: #fff; font-size: 48px; line-height: 1; }
.cp-hero-stat span { display: block; margin-top: 8px; color: rgba(255,255,255,.82); font-size: 13px; }
.cp-hero-badge { position: absolute; right: 4%; bottom: 12%; display: grid; width: 74px; height: 74px; place-items: center; border-radius: 50%; background: #fff; color: var(--cp-pink-dark); font-size: 24px; font-weight: 900; box-shadow: var(--cp-shadow); }

.cp-trust { position: relative; z-index: 2; margin-top: -34px; }
.cp-trust-grid { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border-radius: var(--cp-radius); background: #fff; box-shadow: var(--cp-shadow); }
.cp-trust-grid > div { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 2px 16px; padding: 30px 34px; }
.cp-trust-grid > div + div { border-left: 1px solid var(--cp-line); }
.cp-trust-grid span { grid-row: 1 / 3; align-self: center; color: var(--cp-pink); font-size: 12px; font-weight: 900; }
.cp-trust-grid strong { color: var(--cp-ink); font-size: 16px; }
.cp-trust-grid small { color: var(--cp-muted); font-size: 13px; }

.cp-section { padding: 96px 0; }
.cp-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.cp-section-heading h2, .cp-contact h2 { margin: 0; color: var(--cp-ink); font-size: clamp(34px, 4vw, 52px); letter-spacing: -.04em; }
.cp-section-heading > a { border-bottom: 1px solid var(--cp-ink); color: var(--cp-ink); font-size: 14px; font-weight: 800; text-decoration: none; }
.cp-section-heading > a:hover { border-color: var(--cp-pink); color: var(--cp-pink-dark); }
.cp-category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.cp-category-card { position: relative; min-height: 220px; overflow: hidden; padding: 28px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--cp-radius); color: #fff !important; text-decoration: none !important; box-shadow: 0 12px 32px rgba(30,12,34,.08); }
.cp-category-card::before { content: ""; position: absolute; right: -35px; bottom: -55px; width: 150px; height: 150px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.cp-category-card:hover { transform: translateY(-5px); box-shadow: 0 22px 45px rgba(30,12,34,.16); }
.cp-category-1 { background: linear-gradient(145deg,#201124,#ed00dc); }
.cp-category-2 { background: linear-gradient(145deg,#16102a,#7c3cff); }
.cp-category-3 { background: linear-gradient(145deg,#311123,#d92765); }
.cp-category-4 { background: linear-gradient(145deg,#111a28,#167da3); }
.cp-category-index { color: rgba(255,255,255,.65); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.cp-category-card strong { position: absolute; left: 28px; bottom: 54px; color: #fff; font-size: 23px; line-height: 1.1; }
.cp-category-card small { position: absolute; left: 28px; bottom: 28px; color: rgba(255,255,255,.72); }
.cp-category-arrow { position: absolute; top: 23px; right: 26px; font-size: 25px; }

.cp-products { background: #f7f0f6; }
.cp-products .woocommerce .cocoon-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 0; }
.cp-products .woocommerce .cocoon-products::before,
.cp-products .woocommerce .cocoon-products::after { display: none; }
.cp-products .woocommerce .cocoon-products > .product { float: none !important; flex: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid #eadfea; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(40,10,43,.05); }
.cp-products .woocommerce .cocoon-products > .product:hover { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(40,10,43,.11); }
.cp-products .product-thumb { aspect-ratio: 3/4; overflow: hidden; background: #eee5ed; }
.cp-products .product-thumb .loop-thumbnail { display: block; width: 100%; height: 100%; }
.cp-products .product-thumb .loop-thumbnail > img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.cp-products .product-info { padding: 18px 20px 22px; }
.cp-products .product-info .product-categories { min-height: 18px; color: var(--cp-muted); font-size: 11px; }
.cp-products .product-info .product-title { min-height: 48px; margin: 8px 0 10px; color: var(--cp-ink); font-size: 15px; line-height: 1.5; }
.cp-products .product-info .price { color: var(--cp-pink-dark); font-size: 17px; font-weight: 800; }

.cp-contact { background: var(--cp-ink); }
.cp-contact-card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 54px 60px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: linear-gradient(135deg,rgba(237,0,220,.12),rgba(124,60,255,.12)); }
.cp-contact h2 { color: #fff; }
.cp-contact p:not(.cp-eyebrow) { max-width: 640px; margin: 16px 0 0; color: #cabdce; }
.cp-contact-actions { display: flex; flex: 0 0 auto; gap: 12px; }
.cp-age-note { padding: 23px 0; background: #08060a; color: #bdaec2; }
.cp-age-note .cp-shell { display: flex; align-items: center; gap: 15px; }
.cp-age-note strong { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; }
.cp-age-note p { margin: 0; font-size: 13px; }

.page-header { background-color: var(--cp-ink) !important; }
.woocommerce .products .product { transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce .products .product .product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--cp-ink); }
.woocommerce .products .product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--cp-pink-dark); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { border-radius: 999px; background: var(--cp-ink); color: #fff; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--cp-pink-dark); color: #fff; }
.woocommerce span.onsale { background: var(--cp-pink) !important; }
.woocommerce-cart .woocommerce .coupon { margin-bottom: 0; }
.woocommerce-cart .woocommerce-cart-form .actions { vertical-align: middle; }
.woocommerce-cart .woocommerce-cart-form .actions .coupon { display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text { min-height: 44px; }
.woocommerce .product-images-content .woocommerce-product-gallery { opacity: 1; }
.woocommerce .product-images-content .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.footer1.dark-skin { background: #120b16; }
.footer1 .footer-widget-area { border-bottom-color: rgba(255,255,255,.08); }
.footer1 .widget-title { color: #fff; }
.footer1 a:hover { color: #ff58f1; }
.footer1 .copyright { color: #a99caf; }

@media (max-width: 991px) {
	.cp-hero { padding: 84px 0 74px; }
	.cp-hero-grid { grid-template-columns: 1fr; gap: 44px; }
	.cp-hero-card { width: min(360px,85vw); justify-self: center; }
	.cp-category-grid { grid-template-columns: repeat(2,1fr); }
	.cp-products .woocommerce .cocoon-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.cp-contact-card { align-items: flex-start; flex-direction: column; }
	.header1 .navbar-brand img.logo,
	.header1 .navbar-brand img.logo-white { width: 142px !important; height: 36px !important; }
}

@media (min-width: 992px) and (max-width: 1280px) {
	.cp-hero-grid { grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 36px; }
	.cp-hero-card { width: 330px; }
	.cp-hero-stat strong { font-size: 42px; }
}

@media (max-width: 767px) {
	.cp-shell { width: min(100% - 28px,1180px); }
	.cp-hero { padding: 68px 0 62px; }
	.cp-hero h1 { font-size: 49px; }
	.cp-hero-card { display: none; }
	.cp-trust { margin-top: 0; background: #fff; }
	.cp-trust-grid { grid-template-columns: 1fr; box-shadow: none; }
	.cp-trust-grid > div { padding: 22px 4px; }
	.cp-trust-grid > div + div { border-top: 1px solid var(--cp-line); border-left: 0; }
	.cp-section { padding: 68px 0; }
	.cp-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
	.cp-category-grid { grid-template-columns: 1fr; }
	.cp-category-card { min-height: 170px; }
	.cp-products .woocommerce .cocoon-products { gap: 12px; }
	.cp-products .product-info { padding: 14px 12px 18px; }
	.cp-products .product-info .product-title { min-height: 62px; font-size: 13px; }
	.cp-contact-card { padding: 34px 24px; }
	.cp-contact-actions { width: 100%; flex-direction: column; }
	.woocommerce-cart .woocommerce-cart-form .actions .coupon { width: 100%; margin-bottom: 16px; }
	.woocommerce-cart .woocommerce-cart-form .actions .coupon .input-text { flex: 1 1 auto; min-width: 0; }
}

/* Paleta clara definitiva: branco, texto grafite e destaque pink da marca. */
:root {
	--cp-ink: #252128;
	--cp-paper: #fff;
	--cp-muted: #66606a;
	--cp-line: #ece7ec;
	--cp-shadow: 0 12px 32px rgba(38, 25, 39, .08);
}

html,
body,
body > .wrapper,
main,
.page-content,
.woocommerce-page-content,
.cp-home,
.cp-products,
.cp-contact,
.cp-age-note { background: #fff !important; }

body { color: #403a43 !important; }
p,
label,
.woocommerce .woocommerce-result-count,
.woocommerce .product-categories,
.woocommerce form .form-row,
.woocommerce table.shop_table { color: #56505a; }
h1,
h2,
h3,
h4,
h5,
h6,
.woocommerce .products .product .product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--cp-ink) !important; }
a { color: var(--cp-pink-dark); }
a:hover { color: var(--cp-pink); }

main.ptb100 { padding-top: 56px !important; padding-bottom: 72px !important; }

/* Vitrine uniforme em qualquer resolução, sem deformar as capas. */
.woocommerce .products.cocoon-products.grid-products {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	height: auto !important;
}
.woocommerce .products.cocoon-products.grid-products > .product {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
}
.woocommerce .products.cocoon-products > .product {
	display: flex;
	align-self: stretch;
	flex-direction: column;
}
.woocommerce .products.cocoon-products > .product .product-thumb {
	width: 100%;
	aspect-ratio: 5 / 7;
	overflow: hidden;
	background: #f7f4f7;
}
.woocommerce .products.cocoon-products > .product .product-thumb .loop-thumbnail {
	display: block;
	width: 100%;
	height: 100%;
}

/* O tema oferece grade/lista; o catálogo desta loja usa exclusivamente a grade. */
.woocommerce .grid_list_nav {
	display: none !important;
}

/* Preserva a proporção vertical das capas também no carrinho. */
.woocommerce-cart table.cart img,
.woocommerce-cart .mobile-cart-thumb img {
	height: auto !important;
	object-fit: contain;
	background: #fff;
}

.woocommerce-product-details__short-description a.clube-catalog-term {
	color: var(--cp-pink-dark);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(180, 0, 171, .25);
	text-underline-offset: 2px;
}
.woocommerce-product-details__short-description a.clube-catalog-term:hover {
	color: var(--cp-pink);
	text-decoration-color: currentColor;
}
.woocommerce .products.cocoon-products > .product .product-thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
}
.woocommerce .products.cocoon-products > .product .product-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 132px;
}
.woocommerce .products.cocoon-products > .product .product-info .product-categories {
	min-height: 20px;
}
.woocommerce .products.cocoon-products > .product .product-info .product-title {
	min-height: 48px;
}
.woocommerce .products.cocoon-products > .product .product-info .price {
	margin-top: auto;
}

@media (min-width: 576px) and (max-width: 991px) {
	.woocommerce .products.cocoon-products > .product .product-info { min-height: 162px; }
}

header.header1,
header.header1.header-static,
header.header1.header-fixed {
	background: #fff !important;
	border-bottom: 1px solid var(--cp-line) !important;
	box-shadow: 0 4px 18px rgba(38, 25, 39, .05);
}
header.header1 #main-nav .navbar-nav > li > a,
header.header1.header-dark-text #main-nav .navbar-nav > li > a {
	color: var(--cp-ink) !important;
}
header.header1 #main-nav .navbar-nav > li > a:hover,
header.header1 #main-nav .navbar-nav > .current-menu-item > a,
header.header1 #main-nav .navbar-nav > .current-menu-ancestor > a {
	color: var(--cp-pink-dark) !important;
}
header.header1 .header-btn-wrapper a,
header.header1 .header-btn-wrapper i,
header.header1 .mobile-cart,
header.header1 #mobile-nav-toggler,
header.header1 .hamburger,
header.header1 .hamburger-inner,
header.header1 .hamburger-inner::before,
header.header1 .hamburger-inner::after { color: var(--cp-ink) !important; }
header.header1 .hamburger-inner,
header.header1 .hamburger-inner::before,
header.header1 .hamburger-inner::after { background-color: var(--cp-ink) !important; }
header.header1 .dropdown-menu,
header.header1 .general-search-wrapper,
.general-search-wrapper,
.general-search-wrapper .woocommerce { background: #fff !important; }
header.header1 .dropdown-menu a,
header.header1 .general-search-wrapper input { color: var(--cp-ink) !important; }

section.page-header { display: none !important; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.btn.btn-main {
	background: var(--cp-pink-dark) !important;
	border-color: var(--cp-pink-dark) !important;
	color: #fff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.btn.btn-main:hover { background: var(--cp-pink) !important; }

.cp-hero {
	background: radial-gradient(circle at 85% 18%, rgba(237, 0, 220, .10), transparent 30%), #fff;
	color: var(--cp-ink);
}
.cp-hero::after { background-image: linear-gradient(rgba(180,0,171,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(180,0,171,.035) 1px,transparent 1px); }
.cp-hero h1,
.cp-hero-stat strong { color: var(--cp-ink); }
.cp-hero h1 span { color: transparent; -webkit-text-stroke: 1px var(--cp-pink-dark); }
.cp-hero-lead,
.cp-hero-stat span { color: var(--cp-muted); }
.cp-button-ghost { border-color: var(--cp-pink-dark); color: var(--cp-pink-dark) !important; }
.cp-button-ghost:hover { border-color: var(--cp-pink); background: #fff5fe; }
.cp-hero-card { border-color: #f0d8ee; background: #fff; box-shadow: inset 0 0 80px rgba(237,0,220,.06); }
.cp-orbit { border-color: #edcdea; }
.cp-hero-badge { border: 1px solid var(--cp-line); }

.cp-category-card,
.cp-category-1,
.cp-category-2,
.cp-category-3,
.cp-category-4 {
	border-color: var(--cp-line);
	background: #fff;
	color: var(--cp-ink) !important;
}
.cp-category-card::before { border-color: rgba(180,0,171,.14); }
.cp-category-card strong { color: var(--cp-ink); }
.cp-category-card small,
.cp-category-index { color: var(--cp-muted); }
.cp-category-arrow { color: var(--cp-pink-dark); }

.cp-contact-card {
	border-color: #f0d8ee;
	background: linear-gradient(135deg, #fff, #fff5fe);
}
.cp-contact h2 { color: var(--cp-ink); }
.cp-contact p:not(.cp-eyebrow),
.cp-age-note { color: var(--cp-muted); }
.cp-age-note strong { border-color: var(--cp-pink-dark); color: var(--cp-pink-dark); }

footer.footer1.dark-skin,
footer.footer1.dark-skin .footer-widget-area,
footer.footer1.dark-skin .footer-copyright-area {
	background: #fff !important;
	border-color: var(--cp-line) !important;
}
footer.footer1.dark-skin,
footer.footer1.dark-skin p,
footer.footer1.dark-skin .copyright { color: var(--cp-muted) !important; }
footer.footer1.dark-skin .widget-title { color: var(--cp-ink) !important; }
footer.footer1.dark-skin a { color: var(--cp-pink-dark) !important; }
footer.footer1.dark-skin a:hover { color: var(--cp-pink) !important; }

/* Identidade cromática única da marca. O tema pai usa roxo como cor primária
 * em alguns componentes; todos os destaques comerciais passam a usar o pink. */
:root {
	--cp-pink: #ed00dc;
	--cp-pink-dark: #ed00dc;
	--cp-violet: #ed00dc;
}

a,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.woocommerce-Price-amount,
.amount {
	color: #ed00dc;
}

body a,
.header1 #main-nav .navbar-nav > li > a,
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce div.product p.price,
.woocommerce div.product p.price .amount,
.woocommerce div.product span.price,
.woocommerce div.product span.price .amount,
.woocommerce-cart-form .product-price .amount,
.woocommerce-cart-form .product-subtotal .amount,
.cart_totals .amount {
	color: #ed00dc !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.btn.btn-main,
button.single_add_to_cart_button,
.single_add_to_cart_button {
	border-color: #ed00dc !important;
	background: #ed00dc !important;
	color: #fff !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.btn.btn-main:hover,
button.single_add_to_cart_button:hover,
.single_add_to_cart_button:hover {
	border-color: #ed00dc !important;
	background: #ed00dc !important;
	color: #fff !important;
	filter: brightness(.9);
}

/* The parent theme initializes jquery.zoom even when WooCommerce zoom support is off.
 * Imported catalog images are smaller than their rendered area, so that clone looks
 * like a misplaced duplicate instead of a useful magnifier. Keep the clickable
 * Photoswipe gallery and thumbnails, but suppress only the hover clone. */
.single-product #product-images img.zoomImg,
.single-product .woocommerce-product-gallery img.zoomImg {
	display: none !important;
}

@media (max-width: 767px) {
	main.ptb100 { padding-top: 42px !important; padding-bottom: 56px !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Cart coupon: readable proportions on desktop and mobile. */
.woocommerce-cart-form .coupon {
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-cart-form .coupon input#coupon_code {
    box-sizing: border-box;
    width: 260px;
    min-width: 220px;
    margin: 0;
}

.woocommerce-cart-form .coupon button {
    width: auto;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .woocommerce-cart-form .coupon {
        flex-wrap: wrap;
    }

    .woocommerce-cart-form .coupon input#coupon_code,
    .woocommerce-cart-form .coupon button {
        width: 100%;
    }
}

/* O link global da marca usa pink; no botão pink de voltar ao topo a seta deve
 * permanecer branca para manter contraste e acessibilidade. */
#backtotop a,
#backtotop a:hover,
#backtotop a:focus {
	color: #fff !important;
}

/* Notificação compacta de produto adicionado, sem cortar título ou mensagem. */
.added-to-cart-notification {
	box-sizing: border-box;
	width: 360px !important;
	max-width: calc(100vw - 24px) !important;
	min-height: 76px !important;
	max-height: none !important;
	overflow: visible !important;
}

.added-to-cart-notification .product_message_wrapper {
	display: flex;
	align-items: stretch;
	min-height: 76px;
}

.added-to-cart-notification .product_message_image {
	display: flex;
	flex: 0 0 72px !important;
	align-items: center;
	justify-content: center;
	width: 72px !important;
	padding: 7px;
	background: #fff;
}

.added-to-cart-notification .product_message_image img {
	display: block;
	width: 58px !important;
	height: 58px !important;
	object-fit: contain;
}

.added-to-cart-notification .product_notification_text {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 10px 14px !important;
	line-height: 1.4;
	text-align: left !important;
	overflow-wrap: anywhere;
}

/* Avisos no topo: ícone e texto centralizados, inclusive para mensagens longas. */
.woocommerce-notices-wrapper {
	clear: both;
	width: 100%;
}

.woocommerce-notices-wrapper ul.woocommerce-error {
	display: flex !important;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 0 30px !important;
	padding: 18px 24px !important;
	text-align: center !important;
}

.woocommerce-notices-wrapper ul.woocommerce-error::before {
	position: static !important;
	top: auto !important;
	left: auto !important;
	flex: 0 0 auto;
	margin: 0 12px 0 0 !important;
	transform: none !important;
}

.woocommerce-notices-wrapper ul.woocommerce-error li {
	margin: 0;
	text-align: center;
}

@media (max-width: 480px) {
	.added-to-cart-notification {
		right: 12px !important;
		left: 12px !important;
		width: auto !important;
	}
}
