:root {
	--wiggly-ink: #30253a;
	--wiggly-paper: #fff;
	--wiggly-active: var(--wkb-active-color, #8fcb8a);
	--wiggly-header-height: 152px;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; }
body {
	background: color-mix(in srgb, var(--wiggly-active) 12%, #fff);
	color: var(--wiggly-ink);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
	overflow-x: clip;
}
img { height: auto; max-width: 100%; }
a { color: inherit; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; width:1px; }
.screen-reader-text:focus { background:#fff; border-radius:8px; clip:auto; clip-path:none; height:auto; left:12px; padding:12px 16px; top:12px; width:auto; z-index:1001; }

/* Cabeçalho fixo e sobreposto */
body > .wkb-exclusive-header {
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
	background: color-mix(in srgb, var(--wkb-active-color, #8fcb8a) 40%, transparent);
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.28);
	box-shadow: none;
	display: grid;
	gap: 8px 24px;
	grid-template-columns: minmax(190px, 1fr) auto;
	grid-template-rows: auto auto;
	left: 50%;
	margin: 0;
	max-width: 1240px;
	min-height: var(--wiggly-header-height);
	padding: 20px 24px 10px;
	right: auto;
	top: 0;
	transform: translateX(-50%);
	transition: background-color .55s ease, box-shadow .25s ease;
	width: min(100%, 1240px);
	z-index: 999;
}
body > .wkb-exclusive-header.is-scrolled {
	background: color-mix(in srgb, var(--wkb-active-color, #8fcb8a) 68%, rgba(255,255,255,.35));
	box-shadow: 0 12px 34px rgba(48,37,58,.10);
}
.wkb-header-brand {
	align-items: center;
	display: flex;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	min-width: 0;
}
.wkb-exclusive-logo-image { display:block; height:auto; max-height:58px; max-width:240px; object-fit:contain; width:auto; }
.wkb-header-navigation {
	background: color-mix(in srgb, var(--wkb-active-color, #8fcb8a) 62%, rgba(48,37,58,.18));
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	grid-column: 1 / -1;
	grid-row: 2;
	justify-self: center;
	max-width: 100%;
	padding: 4px 12px;
}
.wkb-header-menu-list, .wkb-header-menu-list ul { list-style:none; margin:0; padding:0; }
.wkb-header-menu-list { align-items:center; display:flex; justify-content:center; white-space:nowrap; }
.wkb-header-menu-list > li { margin:0; position:relative; }
.wkb-header-menu-list > li > a { border-radius:999px; color:#fff; display:block; font-size:13px; font-weight:800; padding:9px 15px; text-decoration:none; text-shadow:0 1px 2px rgba(48,37,58,.18); transition:background .2s, transform .2s; }
.wkb-header-menu-list > li > a:hover, .wkb-header-menu-list > li > a:focus-visible { background:rgba(255,255,255,.2); outline:0; transform:translateY(-1px); }
.wkb-header-menu-list .sub-menu { background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.7); border-radius:14px; box-shadow:0 18px 38px rgba(48,37,58,.16); display:none; left:0; min-width:230px; padding:8px; position:absolute; top:calc(100% + 5px); }
.wkb-header-menu-list li:hover > .sub-menu, .wkb-header-menu-list li:focus-within > .sub-menu { display:block; }
.wkb-header-menu-list .sub-menu a { border-radius:9px; display:block; font-size:12px; font-weight:700; padding:9px 10px; text-decoration:none; }
.wkb-header-menu-list .sub-menu a:hover { background:color-mix(in srgb, var(--wkb-active-color) 18%, #fff); }
.wkb-header-actions { align-items:center; background:transparent; border:0; display:flex; gap:12px; grid-column:2; grid-row:1; justify-content:flex-end; }
.wkb-header-action { align-items:center; background:rgba(255,255,255,.66); border:1px solid rgba(255,255,255,.76); border-radius:999px; box-shadow:0 5px 16px rgba(48,37,58,.06); color:var(--wiggly-ink); display:flex; font-size:12px; font-weight:800; gap:10px; min-height:44px; padding:8px 14px; text-decoration:none; text-transform:uppercase; transition:background .2s, transform .2s; }
.wkb-header-action:hover, .wkb-header-action:focus-visible { background:rgba(255,255,255,.88); outline:0; transform:translateY(-2px); }
.wkb-header-account-icon { border:2px solid currentColor; border-radius:50%; display:block; height:13px; margin-bottom:9px; position:relative; width:13px; }
.wkb-header-account-icon::after { border:2px solid currentColor; border-bottom:0; border-radius:12px 12px 0 0; content:''; height:9px; left:50%; position:absolute; top:13px; transform:translateX(-50%); width:20px; }
.wkb-header-cart-icon { border:2px solid currentColor; border-radius:3px 3px 7px 7px; display:block; height:20px; position:relative; width:21px; }
.wkb-header-cart-icon::before { border-left:2px solid currentColor; border-top:2px solid currentColor; content:''; height:7px; left:3px; position:absolute; top:-8px; transform:skewX(-13deg); width:7px; }
.wkb-header-cart-count { align-items:center; background:var(--wkb-active-color,#8fcb8a); border:2px solid #fff; border-radius:50%; display:flex; font-size:9px; font-weight:900; height:19px; justify-content:center; position:absolute; right:-10px; top:-11px; width:19px; }
.wkb-header-cart-copy { display:flex; flex-direction:column; line-height:1.15; }
.wkb-header-cart-copy strong { color:color-mix(in srgb, var(--wkb-active-color,#8fcb8a) 70%, #30253a); font-size:12px; margin-top:3px; text-transform:none; }

/* Largura real de tela, inclusive dentro do Elementor novo */
.wiggly-home-main,
.wiggly-front-page .elementor,
.wiggly-front-page .elementor-section,
.wiggly-front-page .elementor-container,
.wiggly-front-page .e-con,
.wiggly-front-page .e-con-inner { margin:0 !important; max-width:none !important; padding-left:0 !important; padding-right:0 !important; width:100% !important; }
.wiggly-front-page .wkb-home { margin:0; max-width:none; width:100%; }
.wiggly-content-main, .wiggly-commerce-main { margin:0 auto; max-width:1240px; min-height:60vh; padding:calc(var(--wiggly-header-height) + 36px) 24px 70px; }
body.wkb-builder-page .wiggly-content-main, body.wkb-scene-builder-page .wiggly-content-main { max-width:none; padding:0; }
.wiggly-page-entry { min-width:0; }

/* WooCommerce: visual limpo e grade responsiva */
.woocommerce .products ul, .woocommerce ul.products { display:grid; gap:24px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:24px 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.85); border-radius:20px; box-shadow:0 14px 36px rgba(48,37,58,.08); float:none; margin:0; overflow:hidden; padding:10px 10px 18px; width:auto; }
.woocommerce ul.products li.product img { aspect-ratio:1/1; border-radius:14px; margin:0 0 14px; object-fit:cover; width:100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; line-height:1.35; padding:0 5px; }
.woocommerce ul.products li.product .price { color:color-mix(in srgb,var(--wkb-active-color,#8fcb8a) 70%,#30253a); font-weight:800; padding:0 5px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wiggly-not-found .button { background:var(--wkb-active-color,#8fcb8a); border-radius:999px; color:#fff; font-weight:800; padding:13px 20px; }
.woocommerce span.onsale { background:#c97b5e; }
.wiggly-footer { background:color-mix(in srgb,var(--wkb-active-color,#8fcb8a) 24%,#fff); padding:30px 20px; }
.wiggly-footer-inner { margin:0 auto; max-width:1240px; }
.wiggly-front-page .wiggly-footer { display:none; }

@media (max-width:1100px) {
	:root { --wiggly-header-height: 154px; }
	body > .wkb-exclusive-header { padding-left:16px; padding-right:16px; }
	.wkb-header-menu-list > li > a { font-size:11px; padding:8px 10px; }
	.woocommerce .products ul, .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {
	:root { --wiggly-header-height: 146px; }
	body > .wkb-exclusive-header { gap:7px 9px; grid-template-columns:minmax(100px,1fr) auto; min-height:var(--wiggly-header-height); padding:20px 9px 8px; }
	.wkb-exclusive-logo-image { max-height:42px; max-width:150px; }
	.wkb-header-actions { gap:6px; }
	.wkb-header-action { font-size:9px; gap:6px; min-height:38px; padding:6px 8px; }
	.wkb-header-account > span:last-child { font-size:0; }
	.wkb-header-account > span:last-child::after { content:'Conta'; font-size:9px; }
	.wkb-header-cart-copy > span:first-child, .wkb-header-cart-copy strong { display:none; }
	.wkb-header-navigation { justify-self:stretch; overflow-x:auto; padding:3px 6px; scrollbar-width:none; }
	.wkb-header-navigation::-webkit-scrollbar { display:none; }
	.wkb-header-menu-list { justify-content:flex-start; width:max-content; }
	.wkb-header-menu-list > li > a { font-size:10px; padding:8px 9px; }
	.wkb-header-menu-list .sub-menu { display:none !important; }
	.wiggly-content-main, .wiggly-commerce-main { padding-left:12px; padding-right:12px; }
	.woocommerce .products ul, .woocommerce ul.products { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
	.woocommerce ul.products li.product { border-radius:14px; padding:6px 6px 13px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; }
}

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

/* Wiggly Theme 0.1.1 — header flutuante, full-bleed e comércio nativo */
.wiggly-global-header {
	background: transparent !important;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
}
.admin-bar .wiggly-global-header { top: 32px; }
.wiggly-global-header .wkb-exclusive-header {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: grid !important;
	left: auto !important;
	margin: 0 auto !important;
	max-width: 1240px !important;
	pointer-events: auto;
	position: relative !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
}
.wiggly-global-header .wkb-exclusive-header.is-scrolled { background: transparent !important; box-shadow: none !important; }
.wiggly-global-header .wkb-header-navigation {
	-webkit-backdrop-filter: blur(13px) saturate(125%);
	backdrop-filter: blur(13px) saturate(125%);
	background: color-mix(in srgb, var(--wkb-active-color, #8fcb8a) 70%, rgba(48,37,58,.2));
	box-shadow: 0 8px 26px rgba(48,37,58,.08);
	transition: background-color .55s ease;
}
.wiggly-global-header .wkb-header-action {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	background: rgba(255,255,255,.68);
}

/* Fundos ocupam a viewport; o conteúdo continua limitado a 1240px. */
.wiggly-theme .wkb-category-shell {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	width: 100vw !important;
}
.wiggly-theme .wkb-category-hero { margin: 0 auto; max-width: 1240px; }
.wiggly-theme.wkb-themed-category .wiggly-commerce-main { max-width: none; padding-left: 0; padding-right: 0; padding-top: 0; }
.wiggly-theme.wkb-themed-category .woocommerce { margin: 0 auto; max-width: 1240px; padding: 0 24px 70px; }

.wiggly-theme.wkb-builder-page .wiggly-content-main,
.wiggly-theme.wkb-builder-page .wiggly-page-entry,
.wiggly-theme.wkb-builder-page .elementor,
.wiggly-theme.wkb-builder-page .elementor-section,
.wiggly-theme.wkb-builder-page .elementor-container,
.wiggly-theme.wkb-builder-page .elementor-widget-shortcode,
.wiggly-theme.wkb-builder-page .elementor-shortcode,
.wiggly-theme.wkb-builder-page .e-con,
.wiggly-theme.wkb-builder-page .e-con-inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}
.wiggly-theme .wkb-builder {
	margin: 0 !important;
	max-width: none !important;
	overflow: clip;
	width: 100% !important;
}
.wiggly-theme .wkb-builder > .wkb-step { border-radius: 0 !important; }

.wiggly-theme .wkb-step-scenes,
.wiggly-theme .wkb-step-kits {
	background:
		radial-gradient(circle at 79% 29%, color-mix(in srgb, var(--wkb-page-accent, #8fcb8a) 24%, #fff) 0 9%, transparent 32%),
		linear-gradient(100deg,
			color-mix(in srgb, var(--wkb-page-accent, #8fcb8a) 68%, #3b2a45) 0%,
			color-mix(in srgb, var(--wkb-page-accent, #8fcb8a) 72%, #fff) 54%,
			color-mix(in srgb, var(--wkb-page-accent, #8fcb8a) 18%, #fff) 100%) !important;
	isolation: isolate;
	min-height: max(700px, 100svh);
	overflow: hidden;
	padding: calc(var(--wiggly-header-height) + 70px) max(24px, calc((100vw - 1240px) / 2 + 24px)) 70px !important;
	position: relative;
}
.wiggly-theme .wkb-step-scenes { --wkb-page-accent: #8fcb8a; }
.wiggly-theme .wkb-step-kits { --wkb-page-accent: #c97b5e; }
.wiggly-theme .wkb-step-scenes::before,
.wiggly-theme .wkb-step-kits::before {
	color: rgba(255,255,255,.22);
	font-size: clamp(92px, 13vw, 205px);
	font-weight: 950;
	left: 2%;
	letter-spacing: -.07em;
	line-height: .8;
	pointer-events: none;
	position: absolute;
	top: calc(var(--wiggly-header-height) + 18px);
	white-space: nowrap;
	z-index: -1;
}
.wiggly-theme .wkb-step-scenes::before { content: 'CENÁRIOS'; }
.wiggly-theme .wkb-step-kits::before { content: 'MONTE SEU KIT'; }
.wiggly-theme .wkb-step-scenes::after,
.wiggly-theme .wkb-step-kits::after {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 48% 52% 44% 56% / 58% 43% 57% 42%;
	content: '';
	height: min(43vw, 520px);
	position: absolute;
	right: 5%;
	top: 27%;
	width: min(43vw, 520px);
	z-index: -1;
}
.wiggly-theme .wkb-step-scenes .wkb-hero,
.wiggly-theme .wkb-step-kits .wkb-hero {
	margin: 0 auto 42px;
	max-width: 1240px;
	position: relative;
	text-align: left;
	z-index: 2;
}
.wiggly-theme .wkb-step-scenes .wkb-eyebrow,
.wiggly-theme .wkb-step-kits .wkb-eyebrow { color: rgba(255,255,255,.78); }
.wiggly-theme .wkb-step-scenes .wkb-hero h2,
.wiggly-theme .wkb-step-kits .wkb-hero h2,
.wiggly-theme .wkb-step-scenes .wkb-hero p,
.wiggly-theme .wkb-step-kits .wkb-hero p { color: #fff; max-width: 720px; text-shadow: 0 2px 18px rgba(48,37,58,.12); }
.wiggly-theme .wkb-step-scenes .wkb-hero h2,
.wiggly-theme .wkb-step-kits .wkb-hero h2 { font-size: clamp(48px, 6.6vw, 86px); letter-spacing: -.045em; line-height: .96; }
.wiggly-theme .wkb-scene-options,
.wiggly-theme .wkb-kit-options { margin-left: auto; margin-right: auto; max-width: 1240px; position: relative; z-index: 3; }

/* Etapas internas também usam toda a largura, com leitura limitada a 1240px. */
.wiggly-theme .wkb-step-products,
.wiggly-theme .wkb-step-scene-products { margin: 0; padding-left: max(16px, calc((100vw - 1240px) / 2 + 16px)); padding-right: max(16px, calc((100vw - 1240px) / 2 + 16px)); }

/* Carrinho, checkout e conta independentes do WoodMart. */
.wiggly-theme.woocommerce-cart .wiggly-content-main,
.wiggly-theme.woocommerce-checkout .wiggly-content-main,
.wiggly-theme.woocommerce-account .wiggly-content-main { max-width: 1240px; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(255,255,255,.88);
	border-radius: 22px;
	box-shadow: 0 14px 38px rgba(48,37,58,.08);
	padding: 22px;
}
.woocommerce-cart .cart-collaterals { margin-top: 24px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: right; width: min(100%, 480px); }
.woocommerce table.shop_table { border-color: color-mix(in srgb, var(--wkb-active-color,#8fcb8a) 28%, #ddd); border-radius: 14px; }

/* Controles flutuantes: subir fica acima do WhatsApp. */
.wiggly-floating-actions { align-items:center; bottom:22px; display:flex; flex-direction:column; gap:12px; position:fixed; right:22px; z-index:9998; }
.wiggly-whatsapp, .wiggly-back-to-top { align-items:center; border:0; border-radius:50%; box-shadow:0 10px 28px rgba(48,37,58,.2); cursor:pointer; display:flex; height:58px; justify-content:center; text-decoration:none; width:58px; }
.wiggly-whatsapp { background:#55c968; color:#fff; order:2; }
.wiggly-whatsapp svg { height:34px; width:34px; }
.wiggly-back-to-top { background:color-mix(in srgb,var(--wkb-active-color,#8fcb8a) 72%,#30253a); color:#fff; opacity:0; order:1; pointer-events:none; transform:translateY(12px); transition:opacity .25s, transform .25s, background-color .55s; }
.wiggly-back-to-top span { font-size:27px; line-height:1; transform:translateY(-1px); }
.wiggly-back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.wiggly-whatsapp:hover, .wiggly-back-to-top:hover { color:#fff; transform:translateY(-3px); }

@media (max-width:782px) { .admin-bar .wiggly-global-header { top:46px; } }
@media (max-width:767px) {
	.wiggly-theme .wkb-category-shell { margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
	.wiggly-theme.wkb-themed-category .woocommerce { padding-left:10px; padding-right:10px; }
	.wiggly-theme .wkb-step-scenes,
	.wiggly-theme .wkb-step-kits { min-height:100svh; padding:calc(var(--wiggly-header-height) + 44px) 12px 42px !important; }
	.wiggly-theme .wkb-step-scenes::before,
	.wiggly-theme .wkb-step-kits::before { font-size:64px; top:calc(var(--wiggly-header-height) + 15px); }
	.wiggly-theme .wkb-step-scenes::after,
	.wiggly-theme .wkb-step-kits::after { height:260px; right:-80px; top:31%; width:260px; }
	.wiggly-theme .wkb-step-scenes .wkb-hero h2,
	.wiggly-theme .wkb-step-kits .wkb-hero h2 { font-size:clamp(40px,12vw,56px); }
	.wiggly-theme .wkb-step-products,
	.wiggly-theme .wkb-step-scene-products { padding-left:8px; padding-right:8px; }
	.woocommerce-cart-form, .cart_totals, .woocommerce-checkout, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { border-radius:15px; padding:12px; }
	.wiggly-floating-actions { bottom:16px; gap:9px; right:14px; }
	.wiggly-whatsapp, .wiggly-back-to-top { height:52px; width:52px; }
}
