/*
Theme Name: Gestão Criativa Storefront
Theme URI: https://gestaocriativapro.com.br
Author: Gestão Criativa Pro
Description: Tema oficial das lojas integradas ao ERP Gestão Criativa Pro.
Version: 1.6.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: gc-storefront
*/

:root {
	--gc-ink: #172033;
	--gc-muted: #69758a;
	--gc-line: #e7eaf0;
	--gc-soft: #faf8fc;
	--gc-surface: #ffffff;
	--gc-primary: #7138dc;
	--gc-primary-dark: #5522b8;
	--gc-accent: #eb276d;
	--gc-orange: #ff7943;
	--gc-cyan: #16b9e8;
	--gc-success: #167c5b;
	--gc-radius-sm: 12px;
	--gc-radius: 18px;
	--gc-radius-lg: 28px;
	--gc-shadow: 0 18px 50px rgba(29, 37, 60, .09);
	--gc-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: #fff;
	color: var(--gc-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
body.admin-bar .gc-site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.gc-container { width: min(calc(100% - 40px), var(--gc-container)); margin-inline: auto; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Header */
.gc-announcement {
	border-top: 4px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(90deg, var(--gc-orange), var(--gc-accent), var(--gc-primary), var(--gc-cyan)) border-box;
	color: #5a6476;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .015em;
}
.gc-announcement__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
	gap: 24px;
}
.gc-announcement__item { display: inline-flex; align-items: center; gap: 7px; }
.gc-announcement__dot { width: 7px; height: 7px; border-radius: 999px; background: var(--gc-accent); box-shadow: 0 0 0 4px rgba(235,39,109,.1); }
.gc-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.95);
	border-bottom: 1px solid rgba(225,228,236,.9);
	backdrop-filter: blur(16px);
}
.gc-header-main {
	display: grid;
	grid-template-columns: minmax(190px, 260px) minmax(280px, 1fr) auto;
	align-items: center;
	gap: 28px;
	min-height: 82px;
}
.gc-brand { display: flex; align-items: center; min-width: 0; gap: 12px; }
.gc-brand__logo { max-width: 210px; max-height: 56px; width: auto; object-fit: contain; }
.gc-brand__mark {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: linear-gradient(145deg, var(--gc-primary), #8b7cf4);
	color: #fff;
	font-size: 19px;
	font-weight: 850;
	box-shadow: 0 9px 22px rgba(101,84,232,.24);
}
.gc-brand__text { min-width: 0; }
.gc-brand__name { display: block; overflow: hidden; color: var(--gc-ink); font-size: 16px; font-weight: 820; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.gc-brand__tagline { display: block; overflow: hidden; margin-top: 2px; color: var(--gc-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.gc-product-search { position: relative; }
.gc-product-search input[type="search"] {
	width: 100%;
	height: 48px;
	padding: 0 52px 0 18px;
	border: 1px solid var(--gc-line);
	border-radius: 15px;
	outline: none;
	background: var(--gc-soft);
	color: var(--gc-ink);
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.gc-product-search input[type="search"]:focus { border-color: rgba(101,84,232,.55); background: #fff; box-shadow: 0 0 0 4px rgba(101,84,232,.1); }
.gc-product-search button {
	position: absolute;
	right: 6px;
	top: 6px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 11px;
	background: var(--gc-primary);
	color: #fff;
	cursor: pointer;
}
.gc-header-actions { display: flex; align-items: center; gap: 8px; }
.gc-header-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	padding: 0 13px;
	border: 1px solid transparent;
	border-radius: 13px;
	color: #364155;
	font-size: 13px;
	font-weight: 750;
	transition: .2s ease;
}
.gc-header-action:hover { border-color: var(--gc-line); background: var(--gc-soft); color: var(--gc-primary-dark); }
.gc-header-action svg { width: 20px; height: 20px; }
.gc-cart-count {
	position: absolute;
	top: 0;
	right: 2px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--gc-accent);
	color: #fff;
	font-size: 9px;
	font-weight: 850;
}
.gc-category-bar { border-top: 1px solid #f0edf5; background: #fffcfe; }
.gc-category-bar__inner { display: flex; align-items: center; gap: 4px; min-height: 44px; overflow-x: auto; scrollbar-width: none; }
.gc-category-bar__inner::-webkit-scrollbar { display: none; }
.gc-category-link { flex: 0 0 auto; padding: 8px 12px; border-radius: 10px; color: #596378; font-size: 13px; font-weight: 720; white-space: nowrap; }
.gc-category-link:hover, .gc-category-link.is-home { background: #f1ebff; color: var(--gc-primary-dark); }
.gc-category-link:nth-child(3n+2):hover { background: #fff0f5; color: #b61851; }
.gc-category-link:nth-child(3n+3):hover { background: #fff4ec; color: #bf5428; }

/* Main and hero */
.gc-main { min-height: 62vh; }
.gc-main > .gc-container { padding-block: 34px 72px; }
.gc-shop-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
	align-items: center;
	gap: 32px;
	min-height: 360px;
	margin: 0 0 34px;
	padding: 50px 56px;
	border-radius: var(--gc-radius-lg);
	background: linear-gradient(118deg, #1b2233 0%, #292b4d 56%, #5a46c9 100%);
	box-shadow: var(--gc-shadow);
	color: #fff;
}
.gc-shop-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(100deg, rgba(19,24,39,.96) 0%, rgba(27,30,53,.9) 49%, rgba(50,38,119,.62) 100%), var(--gc-banner, none);
	background-position: center;
	background-size: cover;
}
.gc-shop-hero::after {
	content: "";
	position: absolute;
	right: -90px;
	top: -120px;
	z-index: -1;
	width: 360px;
	height: 360px;
	border: 74px solid rgba(255,255,255,.08);
	border-radius: 50%;
}
.gc-hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: #dcd8ff; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.gc-hero__eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: #ff8ab1; }
.gc-shop-hero h1 { max-width: 690px; margin: 0; color: #fff; font-size: clamp(34px, 4.2vw, 57px); font-weight: 850; letter-spacing: -.045em; line-height: 1.02; }
.gc-shop-hero p { max-width: 610px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.65; }
.gc-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.gc-hero__button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 13px; background: #fff; color: #20273a; font-size: 13px; font-weight: 800; }
.gc-hero__button--ghost { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; }
.gc-hero__side { display: grid; gap: 12px; justify-self: end; width: min(100%, 330px); }
.gc-hero__benefit { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.gc-hero__benefit-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.13); color: #fff; }
.gc-hero__benefit strong { display: block; font-size: 13px; }
.gc-hero__benefit small { display: block; margin-top: 2px; color: rgba(255,255,255,.63); font-size: 11px; }
.gc-shop-intro { margin-bottom: 24px; }
.gc-shop-intro h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.035em; }
.gc-shop-intro p { margin: 6px 0 0; color: var(--gc-muted); font-size: 14px; }

/* Slider principal: faixa inteira, sem aparência de cartão */
.gc-home-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: clamp(290px, 22.5vw, 360px);
	background: #f7f2f8;
	border-block: 1px solid #eee8f0;
}
.gc-slider__track { position: relative; width: 100%; height: 100%; }
.gc-slider__slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateX(2%);
	transition: opacity .65s ease, transform .65s ease, visibility .65s;
}
.gc-slider__slide.is-active { z-index: 1; opacity: 1; visibility: visible; transform: translateX(0); }
.gc-slider__slide--banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gc-slider__slide--creative { background: linear-gradient(112deg, #fff3f7 0%, #fbf6ff 52%, #eefbff 100%); }
.gc-slider__slide--creative::before,
.gc-slider__slide--creative::after,
.gc-slider__slide--tracking::before {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}
.gc-slider__slide--creative::before { right: 10%; top: -190px; width: 410px; height: 410px; border: 82px solid rgba(113,56,220,.09); }
.gc-slider__slide--creative::after { left: 43%; bottom: -120px; width: 220px; height: 220px; background: rgba(255,121,67,.1); }
.gc-slider__slide--tracking { background: linear-gradient(115deg, #f0fbff 0%, #f7f4ff 54%, #fff5f8 100%); }
.gc-slider__slide--tracking::before { right: -100px; bottom: -180px; width: 430px; height: 430px; border: 86px solid rgba(22,185,232,.09); }
.gc-slider__content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); align-items: center; gap: 60px; height: 100%; }
.gc-slider__copy { max-width: 680px; }
.gc-slider__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 9px; color: var(--gc-accent); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gc-slider__eyebrow::before { content: ""; width: 25px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--gc-orange), var(--gc-accent)); }
.gc-slider__copy h2 { margin: 0; max-width: 650px; color: #282137; font-size: clamp(34px, 4vw, 57px); font-weight: 880; letter-spacing: -.055em; line-height: 1.01; }
.gc-slider__copy p { max-width: 620px; margin: 14px 0 0; color: #6c6477; font-size: 14px; line-height: 1.6; }
.gc-slider__cta { display: inline-flex; align-items: center; gap: 12px; min-height: 43px; margin-top: 18px; padding: 0 17px; border-radius: 11px; background: var(--gc-primary); color: #fff; font-size: 12px; font-weight: 850; box-shadow: 0 10px 23px rgba(113,56,220,.2); }
.gc-slider__cta span { font-size: 17px; transition: transform .2s; }
.gc-slider__cta:hover span { transform: translateX(3px); }
.gc-slider__products { position: relative; justify-self: end; width: 390px; height: 260px; }
.gc-slider-product { position: absolute; overflow: hidden; width: 184px; height: 220px; padding: 8px; border: 1px solid rgba(108,80,123,.13); border-radius: 20px; background: #fff; box-shadow: 0 20px 45px rgba(71,45,87,.16); }
.gc-slider-product img { width: 100%; height: 100%; border-radius: 14px; object-fit: cover; }
.gc-slider-product:nth-child(1) { left: 0; top: 22px; transform: rotate(-7deg); }
.gc-slider-product:nth-child(2) { left: 104px; top: 0; z-index: 2; transform: rotate(2deg); }
.gc-slider-product:nth-child(3) { right: 0; top: 30px; transform: rotate(8deg); }
.gc-slider__content--tracking { grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); }
.gc-slider__timeline { display: flex; align-items: center; justify-content: center; padding: 38px 30px; border: 1px solid rgba(103,82,121,.11); border-radius: 24px; background: rgba(255,255,255,.72); box-shadow: 0 20px 44px rgba(58,50,87,.09); backdrop-filter: blur(8px); }
.gc-timeline-step { display: flex; align-items: center; flex-direction: column; flex: 0 0 95px; gap: 9px; color: #8c8497; text-align: center; }
.gc-timeline-step span { display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid #dfd9e6; border-radius: 999px; background: #fff; font-size: 12px; font-weight: 900; }
.gc-timeline-step strong { font-size: 10px; line-height: 1.2; }
.gc-timeline-step.is-done span { border-color: #56c59a; background: #e7f9f1; color: #147755; }
.gc-timeline-step.is-done strong { color: #27775e; }
.gc-timeline-step.is-active span { border-color: var(--gc-primary); background: #f0eaff; color: var(--gc-primary); box-shadow: 0 0 0 6px rgba(113,56,220,.08); }
.gc-timeline-step.is-active strong { color: var(--gc-primary-dark); }
.gc-timeline-line { flex: 1 1 auto; min-width: 55px; height: 2px; margin: 0 -17px 25px; background: #ded8e5; }
.gc-timeline-line.is-done { background: #56c59a; }
.gc-slider__arrow { position: absolute; top: 50%; z-index: 5; display: grid; place-items: center; width: 42px; height: 42px; margin-top: -21px; padding: 0 0 4px; border: 1px solid rgba(33,29,44,.12); border-radius: 999px; background: rgba(255,255,255,.88); color: #3e354a; font-size: 31px; line-height: 1; box-shadow: 0 8px 22px rgba(24,20,31,.12); cursor: pointer; backdrop-filter: blur(8px); transition: transform .2s, background .2s; }
.gc-slider__arrow:hover { transform: scale(1.06); background: #fff; }
.gc-slider__arrow--prev { left: max(18px, calc((100vw - var(--gc-container)) / 2 - 58px)); }
.gc-slider__arrow--next { right: max(18px, calc((100vw - var(--gc-container)) / 2 - 58px)); }
.gc-slider__dots { position: absolute; z-index: 5; left: 50%; bottom: 13px; display: flex; align-items: center; gap: 7px; transform: translateX(-50%); }
.gc-slider__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: rgba(47,40,58,.3); box-shadow: 0 0 0 3px rgba(255,255,255,.58); cursor: pointer; transition: width .25s, background .25s; }
.gc-slider__dots button.is-active { width: 24px; background: var(--gc-primary); }
.gc-home-slider.has-single-slide .gc-slider__arrow,
.gc-home-slider.has-single-slide .gc-slider__dots { display: none; }

/* Direção visual para gráficas e personalizados */
.gc-graphic-hero { position: relative; margin: 0 0 18px; }
.gc-graphic-hero__banner {
	position: relative;
	overflow: hidden;
	border: 1px solid #eee8f0;
	border-radius: 27px;
	background: #fff8fa;
	box-shadow: 0 18px 45px rgba(88,44,104,.12);
}
.gc-graphic-hero__banner::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 1;
	height: 5px;
	background: linear-gradient(90deg, var(--gc-orange), var(--gc-accent), var(--gc-primary), var(--gc-cyan));
}
.gc-graphic-hero__banner img { width: 100%; height: auto; object-fit: contain; }
.gc-graphic-hero__mobile {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: none;
	padding: 48px;
	border: 1px solid #efe8f7;
	border-radius: 27px;
	background: linear-gradient(135deg, #fff6f9 0%, #f8f1ff 54%, #edfaff 100%);
}
.gc-graphic-hero.no-banner .gc-graphic-hero__mobile { display: block; }
.gc-graphic-hero__mobile::before,
.gc-graphic-hero__mobile::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 999px;
	filter: blur(1px);
}
.gc-graphic-hero__mobile::before { width: 250px; height: 250px; right: -70px; top: -95px; border: 52px solid rgba(113,56,220,.11); }
.gc-graphic-hero__mobile::after { width: 130px; height: 130px; right: 150px; bottom: -85px; background: rgba(255,121,67,.14); }
.gc-graphic-hero__mobile .gc-hero__eyebrow { color: var(--gc-accent); }
.gc-graphic-hero__mobile .gc-hero__eyebrow::before { background: var(--gc-orange); }
.gc-graphic-hero__mobile h1 { max-width: 760px; margin: 0; color: #27203d; font-size: clamp(38px, 5vw, 64px); font-weight: 880; letter-spacing: -.055em; line-height: 1.01; }
.gc-graphic-hero__mobile p { max-width: 650px; margin: 18px 0 0; color: #6e637b; }
.gc-graphic-hero__mobile .gc-hero__button { background: var(--gc-primary); color: #fff; box-shadow: 0 10px 24px rgba(113,56,220,.2); }
.gc-graphic-hero__mobile .gc-hero__button--ghost { border-color: #dfd5eb; background: #fff; color: #4d4260; box-shadow: none; }
.gc-service-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 42px; }
.gc-service-item { display: flex; align-items: center; gap: 13px; min-height: 76px; padding: 14px 18px; border: 1px solid #eee9f2; border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(49,31,63,.055); }
.gc-service-item__icon { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 13px; background: #f1ebff; color: var(--gc-primary); font-size: 15px; font-weight: 900; }
.gc-service-item:nth-child(2) .gc-service-item__icon { background: #fff0f5; color: var(--gc-accent); }
.gc-service-item:nth-child(3) .gc-service-item__icon { background: #ecfaff; color: #0687ad; }
.gc-service-item strong { display: block; color: #2a2535; font-size: 13px; }
.gc-service-item small { display: block; margin-top: 1px; color: #858092; font-size: 11px; }
.gc-category-showcase { margin: 0 0 48px; }
.gc-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.gc-section-heading span, .gc-shop-intro__eyebrow { display: block; margin-bottom: 4px; color: var(--gc-accent); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.gc-section-heading h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.035em; }
.gc-section-heading > a { color: var(--gc-primary-dark); font-size: 12px; font-weight: 800; }
.gc-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 11px; }
.gc-category-card { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 86px; padding: 12px; border: 1px solid #eee9f2; border-radius: 17px; background: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.gc-category-card:hover { transform: translateY(-3px); border-color: #ded3ec; box-shadow: 0 13px 28px rgba(52,31,68,.09); }
.gc-category-card__mark { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 47px; border-radius: 12px 12px 16px 12px; background: #f1ebff; color: var(--gc-primary); font-size: 15px; font-weight: 900; }
.gc-category-card--1 .gc-category-card__mark { background: #fff0f5; color: #c51d5a; }
.gc-category-card--2 .gc-category-card__mark { background: #fff2e9; color: #c35427; }
.gc-category-card--3 .gc-category-card__mark { background: #eafaff; color: #087f9f; }
.gc-category-card--4 .gc-category-card__mark { background: #eef8ef; color: #2f8042; }
.gc-category-card--5 .gc-category-card__mark { background: #fff8df; color: #a57500; }
.gc-category-card strong { display: -webkit-box; overflow: hidden; color: #342e40; font-size: 12px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gc-category-card small { display: block; margin-top: 3px; color: #9993a2; font-size: 9px; }
.gc-shop-intro { padding-top: 2px; }

/* WooCommerce catalog */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 22px; color: #8490a4; font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: #566176; font-weight: 700; }
.woocommerce-products-header { display: none; }
.woocommerce-shop h1.page-title { display: none; }
.woocommerce .woocommerce-result-count { margin: 10px 0 26px; color: var(--gc-muted); font-size: 13px; }
.woocommerce .woocommerce-ordering { margin: 0 0 26px; }
.woocommerce .woocommerce-ordering select {
	height: 42px;
	padding: 0 40px 0 13px;
	border: 1px solid var(--gc-line);
	border-radius: 12px;
	background: var(--gc-surface);
	color: #4b566a;
	font-size: 13px;
	font-weight: 650;
}
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	clear: both;
	margin: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-4 li.product {
	position: relative;
	display: flex;
	float: none !important;
	flex-direction: column;
	width: 100% !important;
	margin: 0 !important;
	padding: 11px 11px 14px;
	border: 1px solid var(--gc-line);
	border-radius: 20px;
	background: #fff;
	transition: border-color .22s, box-shadow .22s, transform .22s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); border-color: rgba(101,84,232,.28); box-shadow: 0 18px 38px rgba(32,42,69,.1); }
.woocommerce ul.products li.product::before { content: ""; position: absolute; z-index: 2; top: -1px; left: 26px; right: 26px; height: 3px; border-radius: 0 0 5px 5px; background: linear-gradient(90deg, var(--gc-orange), var(--gc-accent), var(--gc-primary), var(--gc-cyan)); opacity: .78; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 14px;
	border-radius: 14px;
	background: #f3f4f7;
	object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 45px; padding: 0 4px; color: var(--gc-ink); font-size: 15px; font-weight: 790; line-height: 1.42; }
.woocommerce ul.products li.product .price { margin: auto 0 12px; padding: 8px 4px 0; color: var(--gc-primary-dark); font-size: 16px; font-weight: 830; }
.woocommerce ul.products li.product .price del { margin-right: 4px; color: #98a1b2; font-size: 12px; font-weight: 600; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: #f1efff;
	color: var(--gc-primary-dark);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	transition: .2s;
}
.woocommerce ul.products li.product .button:hover { background: var(--gc-primary); color: #fff; }
.woocommerce span.onsale { top: 20px; left: 20px; min-width: auto; min-height: auto; padding: 6px 10px; border-radius: 999px; background: var(--gc-accent); font-size: 10px; font-weight: 850; line-height: 1.2; }
.woocommerce nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { overflow: visible; display: inline-flex; gap: 7px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--gc-line); border-radius: 11px; color: #566176; font-size: 13px; font-weight: 750; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: var(--gc-primary); background: var(--gc-primary); color: #fff; }

/* Product page */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 56px; }
.woocommerce div.product div.images img { border-radius: 20px; background: var(--gc-soft); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 2px solid transparent; border-radius: 10px; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--gc-primary); }
.woocommerce div.product .product_title { margin: 0 0 12px; font-size: clamp(29px, 4vw, 46px); letter-spacing: -.04em; line-height: 1.1; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gc-primary-dark); font-size: 25px; font-weight: 850; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--gc-muted); font-size: 15px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.woocommerce .quantity .qty { width: 72px; height: 48px; border: 1px solid var(--gc-line); border-radius: 12px; }
.woocommerce div.product form.cart .button { min-height: 48px; padding-inline: 24px; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .variations th { padding: 8px 15px 8px 0; text-align: left; }
.woocommerce div.product form.cart .variations select { min-width: 260px; height: 46px; padding: 0 13px; border: 1px solid var(--gc-line); border-radius: 12px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 8px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 8px; padding: 0; border-bottom: 1px solid var(--gc-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 16px; color: var(--gc-muted); font-size: 13px; font-weight: 750; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-bottom: 2px solid var(--gc-primary); color: var(--gc-primary-dark); }

/* Forms, cart, checkout and account */
.woocommerce h1, .woocommerce h2, .woocommerce h3 { color: var(--gc-ink); letter-spacing: -.025em; }
.woocommerce h1 { margin-top: 0; font-size: clamp(29px, 4vw, 44px); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 12px;
	background: var(--gc-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	transition: .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--gc-primary-dark); color: #fff; }
.woocommerce form .form-row label { margin-bottom: 5px; color: #4c586c; font-size: 12px; font-weight: 750; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single {
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--gc-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gc-ink);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 24px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { top: 9px; right: 8px; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { outline: 0; border-color: rgba(101,84,232,.55); box-shadow: 0 0 0 4px rgba(101,84,232,.09); }
.woocommerce table.shop_table { overflow: hidden; border: 1px solid var(--gc-line); border-radius: 16px; border-collapse: separate; }
.woocommerce table.shop_table th { color: #536075; font-size: 12px; }
.woocommerce table.shop_table td { border-color: var(--gc-line); }
.woocommerce-cart table.cart img { width: 72px; border-radius: 10px; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals { padding: 24px; border: 1px solid var(--gc-line); border-radius: 18px; background: var(--gc-soft); }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { padding: 24px; border: 1px solid var(--gc-line); border-radius: 18px; }
.woocommerce-checkout #customer_details { margin-bottom: 24px; }
.woocommerce-checkout #order_review_heading { margin: 0; border-bottom: 0; border-radius: 18px 18px 0 0; }
.woocommerce-checkout #order_review { border-radius: 0 0 18px 18px; }
.woocommerce-checkout #payment { background: #f4f5f8; border-radius: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 71%; padding: 25px; border: 1px solid var(--gc-line); border-radius: 18px; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; border: 1px solid var(--gc-line); border-radius: 16px; list-style: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 13px; border-radius: 10px; color: #566176; font-size: 13px; font-weight: 720; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: #f1efff; color: var(--gc-primary-dark); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border: 1px solid var(--gc-line); border-top: 0; border-radius: 13px; background: var(--gc-soft); box-shadow: inset 4px 0 0 var(--gc-primary); }
.woocommerce-error { box-shadow: inset 4px 0 0 #d94d61; }
.woocommerce-message { box-shadow: inset 4px 0 0 var(--gc-success); }

/* Acesso e cadastro completo do cliente */
.gc-main--account {
	position: relative;
	background: linear-gradient(180deg, #f8f6fb 0, #fbfafc 310px, #fff 680px);
}
.gc-main--account::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 310px;
	pointer-events: none;
	background: radial-gradient(circle at 12% 0, rgba(235,39,109,.065), transparent 34%), radial-gradient(circle at 88% 0, rgba(113,56,220,.08), transparent 36%);
}
.gc-main--account > .gc-container { position: relative; padding-block: 26px 72px; }
.gc-account-page { width: 100%; }
.gc-account-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(430px, .85fr);
	align-items: center;
	gap: 52px;
	min-height: 170px;
	padding: 13px 4px 31px;
	border-bottom: 1px solid #e5e1e9;
}
.gc-account-hero__eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; color: var(--gc-primary); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.gc-account-hero__eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--gc-accent); }
.gc-account-hero h1 { margin: 0; color: #252033; font-size: clamp(31px, 3.5vw, 46px); font-weight: 850; letter-spacing: -.045em; line-height: 1.06; }
.gc-account-hero p { max-width: 650px; margin: 10px 0 0; color: #706a79; font-size: 14px; }
.gc-account-hero__features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.gc-account-hero__features > div { min-width: 0; padding: 13px 12px; border-left: 1px solid #ded9e3; }
.gc-account-hero__features span { display: block; margin-bottom: 6px; color: var(--gc-primary); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.gc-account-hero__features strong { display: block; color: #3d3647; font-size: 10px; line-height: 1.3; }
.gc-account-hero__features small { display: block; margin-top: 3px; color: #938c99; font-size: 8px; line-height: 1.35; }
.gc-account-content { padding-top: 30px; }
.gc-account-content article > .woocommerce { display: flow-root; }
.gc-account-content .woocommerce-MyAccount-navigation { float: left; width: 228px; }
.gc-account-content .woocommerce-MyAccount-navigation ul { position: sticky; top: 124px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; }
.gc-account-content .woocommerce-MyAccount-navigation li { margin: 3px 0; }
.gc-account-content .woocommerce-MyAccount-navigation li a {
	position: relative;
	padding: 12px 14px 12px 38px;
	border: 1px solid transparent;
	border-radius: 11px;
	background: transparent;
	color: #625b6c;
	font-size: 12px;
}
.gc-account-content .woocommerce-MyAccount-navigation li a::before { content: ""; position: absolute; left: 15px; top: 50%; width: 8px; height: 8px; border: 2px solid #aaa3b0; border-radius: 3px; transform: translateY(-50%); }
.gc-account-content .woocommerce-MyAccount-navigation li.is-active a,
.gc-account-content .woocommerce-MyAccount-navigation li a:hover { border-color: #e3d9f3; background: #f2edfb; color: var(--gc-primary-dark); }
.gc-account-content .woocommerce-MyAccount-navigation li.is-active a::before { border-color: var(--gc-primary); background: var(--gc-primary); box-shadow: 0 0 0 3px rgba(113,56,220,.1); }
.gc-account-content .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { margin-top: 12px; color: #9d5266; }
.gc-account-content .woocommerce-MyAccount-content {
	float: right;
	width: calc(100% - 260px);
	min-height: 360px;
	padding: 29px 32px;
	border: 1px solid #e7e3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(44,35,57,.055);
}
.gc-account-content .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.gc-account-content .woocommerce-MyAccount-content p { color: #625c6b; font-size: 13px; line-height: 1.7; }
.gc-account-content .woocommerce-MyAccount-content p a { color: var(--gc-primary-dark); font-weight: 750; }
.gc-account-content .woocommerce-info,
.gc-account-content .woocommerce-message { margin-bottom: 22px; background: #f7f4fc; }
.gc-account-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 27px; }
.gc-account-actions a { position: relative; min-height: 120px; padding: 18px; border: 1px solid #e7e2eb; border-radius: 15px; background: #fcfbfd; transition: transform .2s, border-color .2s, box-shadow .2s; }
.gc-account-actions a:hover { transform: translateY(-2px); border-color: #d9cbed; box-shadow: 0 10px 24px rgba(55,39,70,.08); }
.gc-account-actions span { display: block; margin-bottom: 17px; color: var(--gc-primary); font-size: 9px; font-weight: 900; }
.gc-account-actions strong { display: block; color: #342e3d; font-size: 12px; }
.gc-account-actions small { display: block; margin-top: 4px; color: #8a8390; font-size: 9px; line-height: 1.4; }
.woocommerce-account:not(.logged-in) .gc-account-content { max-width: 1160px; margin-inline: auto; }
.woocommerce-account:not(.logged-in) #customer_login { display: grid; grid-template-columns: minmax(290px, .78fr) minmax(0, 1.42fr); gap: 24px; }
.woocommerce-account:not(.logged-in) #customer_login::before,
.woocommerce-account:not(.logged-in) #customer_login::after { display: none; }
.woocommerce-account:not(.logged-in) #customer_login .col-1,
.woocommerce-account:not(.logged-in) #customer_login .col-2 {
	float: none;
	width: 100%;
	padding: 25px;
	border: 1px solid #e7e3eb;
	border-radius: 18px;
	background: #fff;
}
.woocommerce-account:not(.logged-in) #customer_login h2 { margin: 0 0 19px; font-size: 22px; }
.woocommerce-account:not(.logged-in) #customer_login form { margin: 0; padding: 0; border: 0; }
.woocommerce-account:not(.logged-in) form.register { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
.woocommerce-account:not(.logged-in) form.register .form-row { float: none; width: 100%; margin: 0 0 14px; }
.woocommerce-account:not(.logged-in) form.register .form-row-wide,
.woocommerce-account:not(.logged-in) form.register > p:not(.form-row-first):not(.form-row-last),
.woocommerce-account:not(.logged-in) form.register > wc-order-attribution-inputs,
.woocommerce-account:not(.logged-in) form.register > .woocommerce-privacy-policy-text { grid-column: 1 / -1; }
.woocommerce-account:not(.logged-in) form.register select {
	width: 100%;
	min-height: 46px;
	padding: 10px 38px 10px 13px;
	border: 1px solid var(--gc-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gc-ink);
}
.woocommerce-account:not(.logged-in) form.register .woocommerce-form-register__submit { width: 100%; min-height: 48px; }
.woocommerce-account:not(.logged-in) form.login .woocommerce-form-login__submit { min-width: 120px; }
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword { margin-bottom: 0; }

/* Carrinho e finalização: páginas completas, leves e responsivas */
.gc-main--commerce {
	position: relative;
	background: linear-gradient(180deg, #f8f6fb 0, #fbfafc 300px, #fff 620px);
}
.gc-main--commerce::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 300px;
	pointer-events: none;
	background:
		radial-gradient(circle at 10% 0, rgba(235,39,109,.07), transparent 33%),
		radial-gradient(circle at 90% 5%, rgba(113,56,220,.08), transparent 34%);
}
.gc-main--commerce > .gc-container { position: relative; padding-block: 26px 72px; }
.gc-commerce-page { width: 100%; }
.gc-commerce-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(430px, .8fr);
	align-items: center;
	gap: 54px;
	min-height: 154px;
	padding: 12px 4px 30px;
	border-bottom: 1px solid #e5e1e9;
}
.gc-commerce-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 7px;
	color: var(--gc-primary);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.gc-commerce-hero__eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--gc-accent); }
.gc-commerce-hero h1 { margin: 0; color: #252033; font-size: clamp(31px, 3.5vw, 46px); font-weight: 850; letter-spacing: -.045em; line-height: 1.05; }
.gc-commerce-hero p { margin: 10px 0 0; color: #706a79; font-size: 14px; }
.gc-checkout-steps { display: grid; grid-template-columns: auto minmax(22px, 1fr) auto minmax(22px, 1fr) auto; align-items: start; width: 100%; }
.gc-checkout-step { display: grid; justify-items: center; gap: 7px; min-width: 72px; color: #9892a1; }
.gc-checkout-step > span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid #ddd8e2;
	border-radius: 50%;
	background: rgba(255,255,255,.75);
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
}
.gc-checkout-step small { font-size: 10px; font-weight: 760; white-space: nowrap; }
.gc-checkout-steps > i { height: 1px; margin-top: 17px; background: #dcd7e1; }
.gc-checkout-step.is-active { color: var(--gc-primary-dark); }
.gc-checkout-step.is-active > span { border-color: var(--gc-primary); background: var(--gc-primary); box-shadow: 0 7px 18px rgba(113,56,220,.2); color: #fff; }
.gc-checkout-step.is-complete { color: var(--gc-success); }
.gc-checkout-step.is-complete > span { border-color: #cceade; background: #eaf8f2; color: var(--gc-success); }
.gc-checkout-step.is-complete + i { background: #bcded1; }
.gc-commerce-content { padding-top: 30px; }
.gc-commerce-content article > .wp-block-woocommerce-cart,
.gc-commerce-content article > .wp-block-woocommerce-checkout { max-width: none; margin: 0; }
.gc-commerce-content .wc-block-components-sidebar-layout { align-items: flex-start; gap: 28px; }
.gc-commerce-content .wc-block-components-main { width: calc(67% - 14px); padding-right: 0; }
.gc-commerce-content .wc-block-components-sidebar { width: calc(33% - 14px); margin-left: 0; }

/* Itens do carrinho */
.gc-commerce-page--cart .wc-block-cart__main {
	overflow: hidden;
	padding: 2px 25px 0;
	border: 1px solid #e7e3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(44,35,57,.055);
}
.gc-commerce-page--cart table.wc-block-cart-items { margin: 0; border-spacing: 0; }
.gc-commerce-page--cart .wc-block-cart-items__header th { padding: 17px 0 13px; color: #817a89; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.gc-commerce-page--cart .wc-block-cart-items__row td { padding-top: 22px; padding-bottom: 22px; border-color: #ece8ef; vertical-align: middle; }
.gc-commerce-page--cart .wc-block-cart-item__image { width: 112px; padding-right: 18px; }
.gc-commerce-page--cart .wc-block-cart-item__image img { width: 94px; aspect-ratio: 1; border-radius: 14px; background: #f4f2f6; object-fit: cover; }
.gc-commerce-page--cart .wc-block-components-product-name { color: #2d2738; font-size: 15px; font-weight: 820; line-height: 1.35; }
.gc-commerce-page--cart .wc-block-cart-item__prices { margin: 4px 0 7px; color: var(--gc-primary-dark); font-size: 12px; font-weight: 760; }
.gc-commerce-page--cart .wc-block-components-product-metadata { margin: 0 0 11px; color: #777181; font-size: 11px; line-height: 1.55; }
.gc-commerce-page--cart .wc-block-components-product-metadata p { margin: 0; }
.gc-commerce-page--cart .wc-block-components-quantity-selector { height: 34px; border-color: #ded9e2; border-radius: 10px; }
.gc-commerce-page--cart .wc-block-components-quantity-selector input { min-width: 36px; font-size: 12px; font-weight: 750; }
.gc-commerce-page--cart .wc-block-cart-item__remove-link { margin-left: 8px; color: #a65d6f; font-size: 10px; font-weight: 760; text-decoration: none; }
.gc-commerce-page--cart .wc-block-cart-item__total { color: #302a3b; font-size: 14px; font-weight: 830; }

/* Resumo lateral compartilhado */
.gc-commerce-content .wc-block-cart__sidebar,
.gc-commerce-content .wp-block-woocommerce-checkout-order-summary-block {
	position: sticky;
	top: 124px;
	padding: 24px;
	border: 1px solid #e5e0e9;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(45,35,58,.085);
}
.gc-commerce-page--checkout .wc-block-checkout__sidebar { position: sticky; top: 124px; padding-left: 0; }
.gc-commerce-page--checkout .wp-block-woocommerce-checkout-order-summary-block { position: static; width: 100%; }
.gc-commerce-content .wc-block-cart__totals-title,
.gc-commerce-content .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading { margin: 0 0 15px; padding: 0 0 15px; border-bottom: 1px solid #ece8ef; color: #2b2536; font-size: 16px; font-weight: 830; text-align: left; }
.gc-commerce-content .wc-block-components-totals-wrapper { padding: 13px 0; border-color: #ece8ef; }
.gc-commerce-content .wc-block-components-totals-item { font-size: 12px; }
.gc-commerce-content .wc-block-components-totals-item__label { color: #676071; }
.gc-commerce-content .wc-block-components-totals-item__value { color: #2d2738; font-weight: 800; }
.gc-commerce-content .wc-block-components-totals-footer-item { color: #282231; font-size: 17px; }
.gc-commerce-content .wc-block-cart__submit { margin: 18px 0 0; }
.gc-commerce-content .wc-block-cart__submit-button,
.gc-commerce-content .wc-block-components-checkout-place-order-button {
	min-height: 52px;
	border: 0;
	border-radius: 13px;
	background: linear-gradient(115deg, var(--gc-primary-dark), var(--gc-primary));
	box-shadow: 0 11px 24px rgba(113,56,220,.2);
	color: #fff;
	font-size: 13px;
	font-weight: 820;
	transition: transform .2s, box-shadow .2s, background .2s;
}
.gc-commerce-content .wc-block-cart__submit-button:hover,
.gc-commerce-content .wc-block-components-checkout-place-order-button:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(113,56,220,.25); background: var(--gc-primary-dark); color: #fff; }
.gc-commerce-content .wc-block-components-panel__button { color: #5e5667; font-size: 12px; font-weight: 740; }

/* Formulário da finalização */
.gc-commerce-page--checkout .wc-block-checkout__main {
	padding: 8px 30px 4px;
	border: 1px solid #e7e3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(44,35,57,.055);
}
.gc-commerce-page--checkout .wc-block-components-checkout-step { margin: 0; padding: 25px 0 28px; border: 0; border-bottom: 1px solid #ece8ef; }
.gc-commerce-page--checkout .wc-block-components-checkout-step:last-of-type { border-bottom: 0; }
.gc-commerce-page--checkout .wc-block-components-checkout-step__heading { margin: 0 0 17px; }
.gc-commerce-page--checkout .wc-block-components-checkout-step__title { color: #2c2637; font-size: 17px; font-weight: 830; letter-spacing: -.02em; }
.gc-commerce-page--checkout .wc-block-components-checkout-step__description { color: #817a89; font-size: 11px; }
.gc-commerce-page--checkout .wc-block-components-text-input input,
.gc-commerce-page--checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.gc-commerce-page--checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	min-height: 49px;
	border: 1px solid #ded9e2;
	border-radius: 11px;
	background: #fff;
	box-shadow: none;
	color: #2d2738;
	font-size: 13px;
}
.gc-commerce-page--checkout .wc-block-components-text-input input:focus,
.gc-commerce-page--checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: rgba(113,56,220,.65); box-shadow: 0 0 0 3px rgba(113,56,220,.08); outline: 0; }
.gc-commerce-page--checkout .wc-block-components-radio-control-accordion-option,
.gc-commerce-page--checkout .wc-block-components-radio-control__option { border-color: #e4dfe8; background: #fbfafc; }
.gc-commerce-page--checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.gc-commerce-page--checkout .wc-block-components-radio-control__option--checked { border-color: rgba(113,56,220,.4); background: #f8f4ff; box-shadow: inset 3px 0 0 var(--gc-primary); }
.gc-commerce-page--checkout .wc-block-components-checkout-return-to-cart-button { color: var(--gc-primary-dark); font-size: 12px; font-weight: 780; }

/* Estados clássicos e carrinho vazio */
.gc-commerce-content .wp-block-woocommerce-empty-cart-block { padding: 34px 0 0; text-align: center; }
.gc-commerce-content .wp-block-woocommerce-empty-cart-block > h2:first-child { margin: 0; color: #2d2738; font-size: 26px; }
.gc-commerce-content .wp-block-woocommerce-empty-cart-block .wp-block-separator { width: 56px; margin: 24px auto 40px; border-color: var(--gc-primary); }
.gc-commerce-content .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center { margin-bottom: 22px; color: #595263; font-size: 20px; }
.gc-commerce-page--cart .woocommerce-cart-form { float: left; width: calc(67% - 14px); padding: 24px; border: 1px solid #e7e3eb; border-radius: 18px; background: #fff; }
.gc-commerce-page--cart .cart-collaterals { float: right; width: calc(33% - 14px); }
.gc-commerce-page--checkout form.checkout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(310px, 1fr); gap: 28px; }
.gc-commerce-page--checkout form.checkout #customer_details { grid-row: span 2; margin: 0; background: #fff; }
.gc-commerce-page--checkout form.checkout #order_review_heading,
.gc-commerce-page--checkout form.checkout #order_review { margin: 0; background: #fff; }

.gc-commerce-assurance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 34px; padding: 21px 0; border-block: 1px solid #ece8ef; }
.gc-commerce-assurance > div { display: flex; align-items: center; justify-content: center; gap: 11px; padding: 0 24px; border-right: 1px solid #ece8ef; }
.gc-commerce-assurance > div:last-child { border-right: 0; }
.gc-commerce-assurance span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; background: #f0ebf9; color: var(--gc-primary); font-size: 13px; font-weight: 900; }
.gc-commerce-assurance p { margin: 0; }
.gc-commerce-assurance strong { display: block; color: #393241; font-size: 11px; }
.gc-commerce-assurance small { display: block; margin-top: 1px; color: #898290; font-size: 9px; }

/* Identificação obrigatória antes da finalização */
.gc-checkout-auth { max-width: 940px; margin: 0 auto; padding: 34px 38px 27px; border: 1px solid #e5e0e9; border-radius: 19px; background: #fff; box-shadow: 0 16px 42px rgba(45,35,58,.075); }
.gc-checkout-auth__intro { max-width: 680px; margin: 0 auto 26px; text-align: center; }
.gc-checkout-auth__intro > span { color: var(--gc-primary); font-size: 9px; font-weight: 880; letter-spacing: .12em; text-transform: uppercase; }
.gc-checkout-auth__intro h2 { margin: 6px 0 9px; color: #2a2434; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.035em; }
.gc-checkout-auth__intro p { margin: 0; color: #77707e; font-size: 12px; line-height: 1.65; }
.gc-checkout-auth__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gc-checkout-auth__option { position: relative; min-height: 178px; padding: 21px; border: 1px solid #e5e0e9; border-radius: 16px; background: #fcfbfd; transition: transform .2s, border-color .2s, box-shadow .2s; }
.gc-checkout-auth__option:hover { transform: translateY(-2px); border-color: #d6c6eb; box-shadow: 0 12px 28px rgba(52,37,67,.09); }
.gc-checkout-auth__option > span { display: block; margin-bottom: 21px; color: var(--gc-primary); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.gc-checkout-auth__option strong { display: block; color: #342d3e; font-size: 15px; }
.gc-checkout-auth__option small { display: block; margin-top: 5px; color: #857e8b; font-size: 10px; }
.gc-checkout-auth__option b { position: absolute; left: 21px; bottom: 19px; color: var(--gc-primary-dark); font-size: 11px; }
.gc-checkout-auth__option b i { margin-left: 5px; font-style: normal; font-size: 15px; }
.gc-checkout-auth__option--primary { border-color: #ddd1ef; background: linear-gradient(140deg, #f5f0ff, #fff8fb); }
.gc-checkout-auth__security { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 23px 0 0; color: #77707e; font-size: 10px; text-align: center; }
.gc-checkout-auth__security span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #e9f7f1; color: var(--gc-success); font-size: 10px; font-weight: 900; }
.gc-account-form-anchor { position: relative; top: -150px; display: block; visibility: hidden; }

/* Generic content */
.gc-page { max-width: 900px; margin-inline: auto; }
.gc-page__card { padding: clamp(24px, 5vw, 52px); border: 1px solid var(--gc-line); border-radius: var(--gc-radius-lg); background: #fff; box-shadow: var(--gc-shadow); }
.gc-page__title { margin: 0 0 24px; font-size: clamp(30px, 5vw, 48px); letter-spacing: -.04em; }

/* Footer */
.gc-site-footer { border-top: 5px solid transparent; background: linear-gradient(#faf8fc, #faf8fc) padding-box, linear-gradient(90deg, var(--gc-orange), var(--gc-accent), var(--gc-primary), var(--gc-cyan)) border-box; }
.gc-footer-main { display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(150px, .6fr)); gap: 50px; padding-block: 52px 38px; }
.gc-footer-brand { max-width: 420px; }
.gc-footer-brand .gc-brand { margin-bottom: 15px; }
.gc-footer-brand p { margin: 0; color: var(--gc-muted); font-size: 13px; line-height: 1.65; }
.gc-footer-column h3 { margin: 0 0 14px; font-size: 12px; font-weight: 830; letter-spacing: .07em; text-transform: uppercase; }
.gc-footer-column a { display: block; width: fit-content; margin: 9px 0; color: var(--gc-muted); font-size: 13px; }
.gc-footer-column a:hover { color: var(--gc-primary-dark); }
.gc-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 62px; border-top: 1px solid var(--gc-line); color: #7a8496; font-size: 11px; }
.gc-footer-platform { display: inline-flex; align-items: center; gap: 7px; }
.gc-footer-platform::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: #45b98d; }

@media (max-width: 1024px) {
	.gc-header-main { grid-template-columns: minmax(180px, 230px) 1fr auto; gap: 16px; }
	.gc-header-action span:not(.gc-cart-count) { display: none; }
	.gc-header-action { width: 44px; justify-content: center; padding: 0; }
	.gc-shop-hero { grid-template-columns: 1fr; min-height: auto; padding: 45px; }
	.gc-hero__side { grid-template-columns: repeat(3, 1fr); justify-self: stretch; width: 100%; }
	.gc-hero__benefit { align-items: flex-start; padding: 13px; }
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gc-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gc-slider__content { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
	.gc-slider__products { transform: scale(.82); transform-origin: right center; }
	.gc-slider__content--tracking { grid-template-columns: 1fr 400px; }
	.gc-commerce-hero { grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); gap: 30px; }
	.gc-commerce-content .wc-block-components-sidebar-layout { gap: 20px; }
	.gc-commerce-content .wc-block-components-main { width: calc(64% - 10px); }
	.gc-commerce-content .wc-block-components-sidebar { width: calc(36% - 10px); }
	.gc-account-hero { grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); gap: 30px; }
}

@media (max-width: 782px) {
	body.admin-bar .gc-site-header { top: 46px; }
	.gc-container { width: min(calc(100% - 28px), var(--gc-container)); }
	.gc-announcement__inner { justify-content: center; }
	.gc-announcement__item:last-child { display: none; }
	.gc-header-main { grid-template-columns: 1fr auto; min-height: 70px; }
	.gc-brand__tagline { display: none; }
	.gc-product-search { grid-column: 1 / -1; grid-row: 2; margin-bottom: 13px; }
	.gc-category-bar__inner { min-height: 42px; }
	.gc-main > .gc-container { padding-block: 22px 52px; }
	.gc-home-slider { height: 330px; }
	.gc-slider__content { grid-template-columns: 1fr; }
	.gc-slider__copy { max-width: calc(100% - 76px); }
	.gc-slider__copy h2 { font-size: 39px; }
	.gc-slider__products, .gc-slider__timeline { display: none; }
	.gc-slider__arrow { width: 37px; height: 37px; margin-top: -18px; font-size: 28px; }
	.gc-slider__arrow--prev { left: 12px; }
	.gc-slider__arrow--next { right: 12px; }
	.gc-graphic-hero__banner { border-radius: 21px; }
	.gc-service-strip { grid-template-columns: 1fr; gap: 8px; margin-bottom: 34px; }
	.gc-service-item { min-height: 65px; }
	.gc-shop-hero { gap: 26px; margin-bottom: 27px; padding: 34px 28px; border-radius: 23px; }
	.gc-shop-hero h1 { font-size: clamp(32px, 10vw, 45px); }
	.gc-hero__side { grid-template-columns: 1fr; }
	.gc-hero__benefit:nth-child(3) { display: none; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 42px; font-size: 14px; }
	.woocommerce ul.products li.product .price { font-size: 14px; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 18px; }
	.gc-footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
	.gc-footer-brand { grid-column: 1 / -1; }
	.gc-main--commerce > .gc-container { padding-block: 18px 50px; }
	.gc-commerce-hero { grid-template-columns: 1fr; gap: 24px; padding: 10px 2px 26px; }
	.gc-commerce-hero p { max-width: 540px; }
	.gc-checkout-steps { max-width: 540px; }
	.gc-commerce-content { padding-top: 22px; }
	.gc-commerce-content .wc-block-components-sidebar-layout { display: block; }
	.gc-commerce-content .wc-block-components-main,
	.gc-commerce-content .wc-block-components-sidebar { width: 100%; }
	.gc-commerce-content .wc-block-components-sidebar { margin-top: 20px; }
	.gc-commerce-content .wc-block-cart__sidebar,
	.gc-commerce-content .wp-block-woocommerce-checkout-order-summary-block { position: static; padding: 21px; }
	.gc-commerce-page--checkout .wc-block-checkout__sidebar { position: static; padding-left: 0; }
	.gc-commerce-page--checkout .wc-block-checkout__main { padding-inline: 22px; }
	.gc-commerce-assurance > div { padding-inline: 12px; }
	.gc-commerce-assurance small { display: none; }
	.gc-commerce-page--cart .woocommerce-cart-form,
	.gc-commerce-page--cart .cart-collaterals { float: none; width: 100%; }
	.gc-commerce-page--cart .cart-collaterals { margin-top: 20px; }
	.gc-commerce-page--checkout form.checkout { display: block; }
	.gc-commerce-page--checkout form.checkout #order_review_heading { margin-top: 20px; }
	.woocommerce-account:not(.logged-in) #customer_login { grid-template-columns: 1fr; }
	.gc-main--account > .gc-container { padding-block: 18px 50px; }
	.gc-account-hero { grid-template-columns: 1fr; gap: 23px; padding: 10px 2px 26px; }
	.gc-account-hero__features { max-width: 560px; }
	.gc-account-content { padding-top: 22px; }
	.gc-account-content .woocommerce-MyAccount-navigation,
	.gc-account-content .woocommerce-MyAccount-content { float: none; width: 100%; }
	.gc-account-content .woocommerce-MyAccount-navigation { margin-bottom: 18px; }
	.gc-account-content .woocommerce-MyAccount-navigation ul { position: static; display: flex; overflow-x: auto; gap: 5px; padding: 2px 0 8px; scrollbar-width: none; }
	.gc-account-content .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.gc-account-content .woocommerce-MyAccount-navigation li { flex: 0 0 auto; margin: 0; }
	.gc-account-content .woocommerce-MyAccount-navigation li a { padding: 10px 13px; white-space: nowrap; }
	.gc-account-content .woocommerce-MyAccount-navigation li a::before { display: none; }
	.gc-account-content .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { margin-top: 0; }
	.gc-account-actions { grid-template-columns: 1fr; }
	.gc-account-actions a { min-height: auto; }
	.gc-checkout-auth { padding: 28px 24px 23px; }
}

@media (max-width: 480px) {
	.gc-brand__logo { max-width: 150px; max-height: 45px; }
	.gc-header-actions { gap: 2px; }
	.gc-home-slider { height: 360px; }
	.gc-slider__slide--banner img { object-position: center; }
	.gc-slider__content { width: min(calc(100% - 44px), var(--gc-container)); }
	.gc-slider__copy { max-width: calc(100% - 28px); }
	.gc-slider__copy h2 { font-size: 36px; }
	.gc-slider__copy p { display: -webkit-box; overflow: hidden; font-size: 13px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
	.gc-slider__cta { margin-top: 15px; }
	.gc-shop-hero { padding: 30px 22px; }
	.gc-shop-hero p { font-size: 14px; }
	.gc-hero__side { display: none; }
	.gc-hero__button { width: 100%; }
	.gc-graphic-hero.has-banner .gc-graphic-hero__banner { display: none; }
	.gc-graphic-hero.has-banner .gc-graphic-hero__mobile { display: block; }
	.gc-graphic-hero__mobile { padding: 32px 22px; border-radius: 21px; }
	.gc-graphic-hero__mobile h1 { font-size: 39px; }
	.gc-graphic-hero__mobile p { font-size: 14px; }
	.gc-service-strip { margin-bottom: 36px; }
	.gc-service-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.gc-service-item { flex-direction: column; justify-content: center; gap: 7px; min-height: 106px; padding: 9px 5px; text-align: center; }
	.gc-service-item__icon { flex-basis: 34px; width: 34px; height: 34px; }
	.gc-service-item strong { font-size: 10px; line-height: 1.25; }
	.gc-service-item small { display: none; }
	.gc-category-showcase { margin-bottom: 42px; }
	.gc-section-heading { align-items: flex-start; }
	.gc-section-heading > a { display: none; }
	.gc-category-grid { display: flex; overflow-x: auto; gap: 9px; margin-right: -14px; padding: 2px 14px 12px 0; scrollbar-width: none; }
	.gc-category-grid::-webkit-scrollbar { display: none; }
	.gc-category-card { flex: 0 0 158px; }
	.woocommerce .woocommerce-result-count { float: none; margin-bottom: 10px; }
	.woocommerce .woocommerce-ordering { float: none; width: 100%; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce ul.products { gap: 10px; }
	.woocommerce ul.products li.product { padding: 8px 8px 11px; border-radius: 16px; }
	.woocommerce ul.products li.product a img { margin-bottom: 10px; border-radius: 11px; }
	.woocommerce ul.products li.product .button { padding: 10px 7px; font-size: 11px; }
	.woocommerce div.product form.cart .variations select { min-width: 100%; }
	.gc-footer-main { grid-template-columns: 1fr; }
	.gc-footer-brand { grid-column: auto; }
	.gc-footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 17px; }
	.gc-main--commerce { background: linear-gradient(180deg, #f8f6fb 0, #fff 430px); }
	.gc-commerce-hero { min-height: auto; }
	.gc-commerce-hero h1 { font-size: 33px; }
	.gc-commerce-hero p { font-size: 12px; }
	.gc-checkout-step { min-width: 52px; }
	.gc-checkout-step > span { width: 30px; height: 30px; }
	.gc-checkout-step small { max-width: 68px; font-size: 8px; line-height: 1.25; text-align: center; white-space: normal; }
	.gc-checkout-steps > i { margin-top: 15px; }
	.gc-commerce-page--cart .wc-block-cart__main { padding-inline: 14px; }
	.gc-commerce-page--cart .wc-block-cart-items__header { display: none; }
	.gc-commerce-page--cart .wc-block-cart-items__row { display: grid; grid-template-columns: 76px minmax(0, 1fr); padding-block: 18px; }
	.gc-commerce-page--cart .wc-block-cart-items__row td { padding: 0; border: 0; }
	.gc-commerce-page--cart .wc-block-cart-item__image { display: block; width: 76px; padding-right: 12px; }
	.gc-commerce-page--cart .wc-block-cart-item__image img { width: 64px; border-radius: 11px; }
	.gc-commerce-page--cart .wc-block-cart-item__product { grid-column: 2; }
	.gc-commerce-page--cart .wc-block-cart-item__total { grid-column: 2; margin-top: -28px; padding-left: 145px; text-align: right; }
	.gc-commerce-page--cart .wc-block-cart-item__remove-link { margin-left: 4px; }
	.gc-commerce-page--checkout .wc-block-checkout__main { padding: 4px 16px; }
	.gc-commerce-page--checkout .wc-block-components-checkout-step { padding-block: 22px; }
	.gc-commerce-assurance { grid-template-columns: 1fr; gap: 12px; padding-block: 18px; }
	.gc-commerce-assurance > div { justify-content: flex-start; width: 210px; margin: 0 auto; padding: 0; border-right: 0; }
	.woocommerce-account:not(.logged-in) .gc-page__card { padding: 14px; border-radius: 20px; }
	.woocommerce-account:not(.logged-in) #customer_login .col-1,
	.woocommerce-account:not(.logged-in) #customer_login .col-2 { padding: 19px 16px; }
	.woocommerce-account:not(.logged-in) form.register { grid-template-columns: 1fr; }
	.woocommerce-account:not(.logged-in) form.register > * { grid-column: 1; }
	.gc-main--account { background: linear-gradient(180deg, #f8f6fb 0, #fff 480px); }
	.gc-account-hero h1 { font-size: 33px; }
	.gc-account-hero p { font-size: 12px; }
	.gc-account-hero__features { grid-template-columns: 1fr; gap: 7px; }
	.gc-account-hero__features > div { display: grid; grid-template-columns: 25px 1fr; padding: 8px 10px; }
	.gc-account-hero__features span { grid-row: span 2; margin: 1px 0 0; }
	.gc-account-hero__features small { margin-top: 1px; }
	.gc-account-content .woocommerce-MyAccount-content { min-height: 0; padding: 21px 17px; border-radius: 15px; }
	.gc-checkout-auth { padding: 24px 15px 20px; border-radius: 16px; }
	.gc-checkout-auth__options { grid-template-columns: 1fr; }
	.gc-checkout-auth__option { min-height: 158px; }
	.gc-checkout-auth__intro p { font-size: 11px; }
}
